Kategorie: Objekte
/ Darstellung
Ab Engineversion: 1.0 OC
SetObjectBlitMode
Beschreibung
Ändert den Zeichenmodus für das aufrufende Objekt. Die möglichen Werte entsprechen denen des DefCore-Flags BlitMode (siehe Anmerkung). Die Funktion gibt jeweils den vorher gesetzten Blitmodus zurück.
Syntax
int SetObjectBlitMode(int dwNewBlitMod, int overlay_id);
Parameter
- dwNewBlitMod:
- [opt] Neuer Zeichenmodus (mögliche Werte siehe unten) - bei 0 oder nicht angegeben wird das Objekt auf seinen Definitions-Blitmodus zurückgesetzt. Ansonsten wird Bit 8 (benutzerdefinierter Farbwert) implizit gesetzt.
- overlay_id:
- [opt] Wenn angegeben, wird stattdessen der Blitmodus dieses Grafikoverlays gesetzt. Das Overlay muss vorher mit SetGraphics erstellt worden sein.
Anmerkungen
Der Blitmodus beeinflusst keine zusätzlichen Overlay-Grafiken. Die Blitmodi dieser müssen jeweils in SetGraphics gesetzt werden.
Konstante | Wert | Bedeutung |
---|---|---|
GFX_BLIT_Additive | 1 | Additiv (Immer Basissurface und Overlay) |
GFX_BLIT_Mod2 | 2 | Additive Modulation: Die Farbe des Modulationswertes wird zur jeweiligen Objektfarbe hinzuaddiert, und anschließend RGB(128,128,128) abgezogen. Nur Basisgrafik. |
GFX_BLIT_ClrSfc_OwnClr | 4 | Die über SetClrModulation() gesetzte Farbmodulation gilt nur für die Basisgrafik, und das Overlay wird weiterhin nach Besitzerfarbe (siehe SetColor())gefärbt. |
GFX_BLIT_ClrSfc_Mod2 | 8 | Die Besitzergrafik (Overlay) wird mit additiver Modulation gezeichnet. Dieses Flag muss gegebenenfalls unabhängig von Bit 2 gesetzt werden. |
GFX_BLIT_Wireframe | 16 | Zeichnet das Modell als Drahtgitter. Funktioniert nur mit Modellen! |
5-7 | 32, 64 | reserviert |
GFX_BLIT_Custom | 128 | Benutzerdefinierter Farbwert. Dieser Wert kann angegeben werden, wenn kein spezieller Farbmodus gewünscht ist, und damit eine DefCore-Einstellung überschrieben werden soll. Außerdem ist dieses Bit im Rückgabewert dieser Funktion und von GetObjectBlitMode() gesetzt, wenn der Blitmodus des Objekts nicht dem Definitionswert entspricht. |
GFX_BLIT_Parent | 256 | Nur für Overlays: Es wird der Blitmodus verwendet, den auch das Basisobjekt benutzt, auf das dieses Overlay gezeichnet wird. |
Beispiel
static g_cursor, g_prev_blit_mode, g_prev_mod; func Script100() { g_cursor = GetCursor(); // save previous values g_prev_blit_mode = g_cursor->GetObjectBlitMode(); g_prev_mod = g_cursor->GetClrModulation(); // color the no-ColorByOwner-parts of the clonk in a glowing green g_cursor->SetObjectBlitMode(6); g_cursor->SetClrModulation(RGB(100, 255, 110)); // message g_cursor->Message("Look, I can glow!"); } func Script200() { // reset color g_cursor->SetObjectBlitMode(g_prev_blit_mode); g_cursor->SetClrModulation(g_prev_mod); // Nachricht g_cursor->Message("Over already!"); }
Teil eines Szenarioscripts: Färbt den ausgewählten Clonk des ersten Spielers für eine Weile teilweise leuchtend grün.
Für einen solchen Effekt in aufwändigeren Szenarien oder in allgemein verwendbaren Objekten sollte an solcher Stelle natürlich ein Effekt verwendet werden, um beispielsweise Komplikationen mit verfärbenden Zaubern zu vermeiden.
Für einen solchen Effekt in aufwändigeren Szenarien oder in allgemein verwendbaren Objekten sollte an solcher Stelle natürlich ein Effekt verwendet werden, um beispielsweise Komplikationen mit verfärbenden Zaubern zu vermeiden.
Siehe auch: GetObjectBlitMode, SetClrModulation