blob: 89263f050bbf9222998b01140e255f41b1202a29 [file] [log] [blame]
Zesstrad59c3892019-11-28 20:53:39 +01001GESCHUETZT
MG Mud User88f12472016-06-24 23:31:02 +02002SYNOPSIS
Zesstrad59c3892019-11-28 20:53:39 +01003 #include <objectinfo.h>
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstrad59c3892019-11-28 20:53:39 +01005 mixed * object_info(object ob, int what)
6 mixed * object_info(object ob, int what, int index)
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstrad59c3892019-11-28 20:53:39 +01008BESCHREIBUNG
9 Liefert einige interne Informationen ueber das Objekt <ob> in Form
10 eines Arrays. Das Argument <what> gibt an, welche Informationen
11 geliefert werden.
MG Mud User88f12472016-06-24 23:31:02 +020012
Zesstrad59c3892019-11-28 20:53:39 +010013 Das Resultat ist normalerweise ein Array. Wird jedoch <index>
14 spezifiziert, wird nur der Wert geliefert, der im Array an der
15 Position <index> stehen wuerde.
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstrad59c3892019-11-28 20:53:39 +010017 Die moeglichen Werte fuer <what> und die Indizes des gelieferten
18 Arrays sind in <objectinfo.h> definiert und muessen eingebunden
19 werden. Diese Definitionen koennen sich in zukuenftigen Versionen
20 des Drivers aendern!
MG Mud User88f12472016-06-24 23:31:02 +020021
Zesstrad59c3892019-11-28 20:53:39 +010022 <what> == OINFO_BASIC:
MG Mud User88f12472016-06-24 23:31:02 +020023
Zesstrad59c3892019-11-28 20:53:39 +010024 Dieser Aufruf liefert grundlegende Informationen ueber <ob>:
25 int [OIB_HEART_BEAT]: 1, wenn <ob> einen heart_beat() hat,
26 sonst 0.
27 int [OIB_IS_WIZARD]: 1, wenn <ob> ein Gott ist (das
28 Wizard Flag gesetzt hat), sonst 0. Der
29 Eintrag ist immer 0, wenn set_is_wizard()
30 nicht verfuegbar ist.
31 int [OIB_ENABLE_COMMANDS]: 1, wenn <ob> Kommandos geben darf, sonst 0.
32 int [OIB_CLONE]: 1, wenn <ob> ein Clon ist, sonst 0.
33 int [OIB_DESTRUCTED]: 1, wenn <ob> zerstoert wurde, sonst 0.
34 int [OIB_SWAPPED]: 1, wenn <ob> geswapt wurde, sonst 0.
35 int [OIB_ONCE_INTERACTIVE]: 1, wenn <ob> einmal interaktiv war,
36 sonst 0.
37 int [OIB_RESET_STATE]: 1, wenn <ob> im gleichen Zustand wie nach
38 einem reset() ist, sonst 0.
39 int [OIB_WILL_CLEAN_UP]: 1, wenn <ob> clean_up() aufruft, sonst 0.
40 int [OIB_LAMBDA_REFERENCED]:1, wenn <ob> Lambdas beinhaltet, sonst 0.
41 int [OIB_SHADOW]: 1, wenn <ob> ein Schatten uebergeworfen
42 wurde, sonst 0.
43 int [OIB_REPLACED]: 1, wenn das Programm von <ob> ersetzt
44 wurde (mit replace_program()), sonst 0.
45 int [OIB_NEXT_RESET]: Zeit bis zum naechsten Reset.
46 int [OIB_TIME_OF_REF]: Zeit des letzen Aufrufs von <ob>.
47 int [OIB_REF]: Anzahl Aufrufe von <ob>.
48 int [OIB_GIGATICKS]: GIGATICKS und TICKS liefern die summierten
49 int [OIB_TICKS]: Evalkosten von <ob>.
50 int [OIB_SWAP_NUM]: Die Swap-Nummer von <ob>s Programm, oder
51 -1, wenn <ob> nicht geswapt wurde.
52 int [OIB_PROG_SWAPPED]: 1, wenn <ob>'s Programm geswapt wurde,
53 sonst 0.
54 int [OIB_VAR_SWAPPED]: 1, wenn <ob>'s Variablen geswapt wurden,
55 sonst 0.
56 int [OIB_NAME]: der Objektname von <ob>.
57 object [OIB_NEXT_ALL]: das naechste Objekt in der Objektliste.
58 object [OIB_PREV_ALL]: das vorherige Objekt in der Objektliste.
MG Mud User88f12472016-06-24 23:31:02 +020059
Zesstrad59c3892019-11-28 20:53:39 +010060 <what> == OINFO_POSITION:
MG Mud User88f12472016-06-24 23:31:02 +020061
Zesstrad59c3892019-11-28 20:53:39 +010062 Dieser Aufruf liefert Informationen ueber die Position von <ob> in der
63 globalen Objektliste:
MG Mud User88f12472016-06-24 23:31:02 +020064
Zesstrad59c3892019-11-28 20:53:39 +010065 object [OIP_NEXT]: naechstes Objekt in der Objektliste.
66 object [OIP_PREV]: vorheriges Objekt in der Objektliste.
67 int [OIP_POS]: die Position von <ob> in der Objektliste,
68 beginnend von 0 aufwaerts.
MG Mud User88f12472016-06-24 23:31:02 +020069
Zesstrad59c3892019-11-28 20:53:39 +010070 Dieser Aufruf kann aufwendig an Rechenzeit sein.
MG Mud User88f12472016-06-24 23:31:02 +020071
Zesstrad59c3892019-11-28 20:53:39 +010072 <what> == OINFO_MEMORY:
MG Mud User88f12472016-06-24 23:31:02 +020073
Zesstrad59c3892019-11-28 20:53:39 +010074 Dieser Aufruf liefert Informationen ueber Speichernutzung von <ob>.
MG Mud User88f12472016-06-24 23:31:02 +020075
Zesstrad59c3892019-11-28 20:53:39 +010076 int [OIM_REF]: Anzahl Referenzierungen von <ob>.
77 string [OIM_NAME]: Name von <ob>.
78 int [OIM_PROG_SIZE]: Programmgroesse.
79 int [OIM_NUM_FUNCTIONS]: Anzahl Funktionen in <ob>.
80 int [OIM_SIZE_FUNCTIONS]: Speicherbedarf der Funktionen
81 int [OIM_NUM_VARIABLES]: Anzahl Variablen im Programm.
82 int [OIM_SIZE_VARIABLES]: Speicherbedarf der Variablen.
83 int [OIM_NUM_STRINGS]: Anzahl Strings im Programm.
84 int [OIM_SIZE_STRINGS]: Speicherbedarf der String-Pointer.
85 int [OIM_SIZE_STRINGS_DATA]: Speicherbedarf der String-Daten,
86 korrigiert um das Ausmass des Daten-
87 Sharing.
88 int [OIM_SIZE_STRINGS_TOTAL]: unkorrigierter Speicherbedarf der
89 String-Daten.
90 int [OIM_NUM_INCLUDES]: Anzahl Includefiles im Programm.
91 int [OIM_NUM_INHERITED]: Anzahl inheriter Programme.
92 int [OIM_SIZE_INHERITED]: Speicherbedarf der Inherits.
93 int [OIM_TOTAL_SIZE]: Gesamter Speicherbedarf des Programms.
94 int [OIM_DATA_SIZE]: Gesamte Speicherbedarf der Variablenwerte
95 des Objekts <ob>, korrigiert um das
96 Ausmass des Daten-Sharings.
97 int [OIM_DATA_SIZE_TOTAL]: unkorrigierter Gesamter Speicherbedarf
98 der Variablenwerte des Objekts.
99 int [OIM_NO_INHERIT]: 1, wenn das Programm nicht inheritet
100 werden kann.
101 int [OIM_NO_CLONE]: 1, wenn das Programm / der Blueprint
102 nicht geclont werden kann.
103 int [OIM_NO_SHADOW]: 1, wenn dem Objekt kein Shadow
104 uebergeworfen werden darf.
MG Mud User88f12472016-06-24 23:31:02 +0200105
Zesstrad59c3892019-11-28 20:53:39 +0100106 Dieser Aufruf holt das Programm aus dem Swap, falls notwendig.
107 Die OIM_SIZE_xxx-Eintraege zeigen nur den Speicherbedarf der
108 Strukturen / Pointer an, nicht aber den Speicherbedarf von
109 Variablenwerten, Funktionscode oder der Strings selbst.
MG Mud User88f12472016-06-24 23:31:02 +0200110
MG Mud User88f12472016-06-24 23:31:02 +0200111
Zesstrad59c3892019-11-28 20:53:39 +0100112GESCHICHTE
113 Eingefuehrt in LDMud 3.2.6.
114 Aenderungen in LDMud 3.2.7:
115 - neues Kriterium OIB_REPLACED.
116 - das Kriterium OIB_IS_WIZARD ist immer 0, wenn set_is_wizard()
117 nicht verfuegbar ist.
118 - das Kriterium OIB_APPROVED wurde entfernt.
119 LDMud 3.2.8 fuehrte neu OIM_DATA_SIZE im Resultat von OINFO_MEMORY ein.
120 LDMud 3.2.9 erweiterte OINFO_MEMORY um den Index Mechanismus,
121 OIM_NUM_INCLUDES, OIM_NO_INHERIT, OIM_NO_SHADOW, OIM_NO_CLONE,
122 OIM_SIZE_STRINGS_DATA, OIM_SIZE_STRINGS_TOTAL, und
123 OIM_DATA_SIZE_TOTAL
MG Mud User88f12472016-06-24 23:31:02 +0200124
Zesstrad59c3892019-11-28 20:53:39 +0100125SIEHE AUCH
126 debug_info(E)