watched
Zu Debugging-Zwecken kann eine Entity permanent beobachtet werden, indem
dieser vordefinierte Pointer auf die Entity gesetzt wird. Die Parameter
dieser Entity werden dann permanent in den vordefinierten String watch_str kopiert und können per TEXT-Objekt am Bildschirm sichtbar gemacht werden.
Typ:
ENTITY*
Bemerkungen:
Die wichtigsten Parameter der beobachteten Entity sind auf dem Bildschirm in
folgenden Zeilen sichtbar:
- Typ, Handle-Nummer, Name
- Position, Winkel, Skalierung , PRV-Farbwerte
- Ambient, Albedo, Alpha, RGB, Frame, Next_frame, Skin
- Flags
- Funktionen, die gerade von der Entity ausgeführt werden
- Event-Funktion
und Material
- Untergrund unter der Entity, Flächennummer, Texturname,
Objekt in Kontakt mit der Kollisionserkennung.
Um die Parameteranzeige abzuschalten,
kann der watched-Pointer wieder auf NULL gesetzt werden.
Beispiel:
Der [Shift-F11]-Entity-Debugger verwendet den watched-Pointer
und wurde auf folgende Weise im default.c Skript realisiert:
TEXT* def_dtxt = {
pos_x = 2; pos_y = 2; layer = 999;
string = watch_str;
flags = SHOW;
}
function _def_debug()
{
...
if(key_shift)
{
freeze_mode = (freeze_mode == 0); // toggle freeze mode
while(freeze_mode)
{
mouse_mode = 2;
mouse_pointer = 2;
mouse_pos.x = mouse_cursor.x; // move the mouse pointer
mouse_pos.y = mouse_cursor.y;
if(mouse_left)
watched = mouse_ent; // set entity to debug
wait(1);
}
}
...
}
Siehe auch:
Debugging, debug_external, debug_mode ► latest version online
► Aktuelle Version Online