Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 1 | GESCHUETZT |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 2 | SYNOPSIS |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 3 | #include <objectinfo.h> |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 5 | mixed * object_info(object ob, int what) |
| 6 | mixed * object_info(object ob, int what, int index) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 7 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 8 | BESCHREIBUNG |
| 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 12 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 13 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 16 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 17 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 21 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 22 | <what> == OINFO_BASIC: |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 23 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 24 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 59 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 60 | <what> == OINFO_POSITION: |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 61 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 62 | Dieser Aufruf liefert Informationen ueber die Position von <ob> in der |
| 63 | globalen Objektliste: |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 64 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 65 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 69 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 70 | Dieser Aufruf kann aufwendig an Rechenzeit sein. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 71 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 72 | <what> == OINFO_MEMORY: |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 73 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 74 | Dieser Aufruf liefert Informationen ueber Speichernutzung von <ob>. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 75 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 76 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 105 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 106 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 110 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 111 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 112 | GESCHICHTE |
| 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 124 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 125 | SIEHE AUCH |
| 126 | debug_info(E) |