diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/script.h | 14 | ||||
| -rw-r--r-- | include/structures.h | 8 |
2 files changed, 18 insertions, 4 deletions
diff --git a/include/script.h b/include/script.h index 9abc5291..416485b5 100644 --- a/include/script.h +++ b/include/script.h @@ -3,14 +3,24 @@ #include "global.h" +typedef struct +{ + u16 command; + u16 metadata; +} ScriptCommand; + + typedef struct { - u16* unk_00; + union { + u16* raw; + ScriptCommand* commands; // list of commands to execute + } unk_00; u32 unk_04; u32 unk_08; u8 unk_0C[0x4]; // unused u16 unk_10; u16 unk_12; - u32 unk_14; + u32 compareResult; // result of a compare script command u8 unk_18; u8 unk_19; u8 unk_1A; diff --git a/include/structures.h b/include/structures.h index 59811d6f..f6108ad6 100644 --- a/include/structures.h +++ b/include/structures.h @@ -119,11 +119,15 @@ typedef struct { extern struct_02024490 gUnk_02024490; + +// Some kind of ScriptInterpreter state? typedef struct { u32 unk_00; - u16 unk_04; + u16 operationId; u8 unk_06; - u8 unk_07; + // bit 0 is reset before each script execution + // execution is continued if bit 0 or bit 1 are true, so bit 1 can be set to execute until someone unsets bit 1 + u8 continueScriptExecutionFlags; u8 unk_08; } struct_02033280; |
