summaryrefslogtreecommitdiff
path: root/include/script.h
diff options
context:
space:
mode:
authorwho-knows-who <j.williams97@outlook.com>2021-04-17 12:48:19 +0100
committerwho-knows-who <j.williams97@outlook.com>2021-04-17 12:48:19 +0100
commit996d9d78106cf4ab601815550ba77a92ab678328 (patch)
tree9a92b4f792a11466cdee719b18ed449dee2e27fc /include/script.h
parent267cb812e827604d4829d3afe28a82b0970d3706 (diff)
parent85a8a2bd43633e11af094d66a35f3c32dc7c8bfe (diff)
Merge branch 'master' into 0202A1E0
Diffstat (limited to 'include/script.h')
-rw-r--r--include/script.h44
1 files changed, 37 insertions, 7 deletions
diff --git a/include/script.h b/include/script.h
index 8fd7696f..9a7270c2 100644
--- a/include/script.h
+++ b/include/script.h
@@ -10,30 +10,60 @@ struct ScriptContext;
typedef u8 (*ScrCmdFunc)(struct ScriptContext *);
typedef u8 Script[];
+
+struct UnkStruct_020464D4
+{
+ u16 unk0[4];
+ u8 padding[0x108];
+};
+
+struct UnkStruct_02046444
+{
+ u8 padding[0x90];
+ struct UnkStruct_020464D4 unk90[1]; //todo find size
+};
+
+struct UnkSavStruct80
+{
+ u8 padding[0x8];
+ u32 unk08;
+ struct SaveBlock2 *saveBlock2; //0xC
+ u8 padding2[0xC];
+ u32 *mapId; //0x1C
+ u8 padding3[0x18];
+ u32 unk38;
+ u8 padding4[0x24];
+ u32 unk60;
+ u8 padding5[0x14];
+ u32 unk78;
+ u8 padding6[0x2C];
+ struct UnkStruct_02046444 * unkA8;
+};
+
struct ScriptContext
{
u8 stackDepth;
u8 mode;
u8 comparisonResult;
- u8 (*nativePtr)(struct ScriptContext *);
+ BOOL (*nativePtr)(struct ScriptContext *);
const u8 *scriptPtr;
const u8 *stack[20];
ScrCmdFunc *cmdTable;
u32 cmdCount;
u32 data[4];
- u32 unk74;
- struct MsgData * unk78;
- u8 *unk7C;
- struct UnkStruct_0204639C * unk80;
+ struct UnkStruct_0204639C *unk74;
+ struct MsgData *msgData;
+ u8 *unk7C;
+ struct UnkSavStruct80 *unk80;
};
#define ScriptReadByte(ctx) (*(ctx->scriptPtr++))
void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, u32 cmdCount);
u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr);
-void SetupNativeScript(struct ScriptContext *ctx, u8 (*ptr)(struct ScriptContext *));
+void SetupNativeScript(struct ScriptContext *ctx, BOOL (*ptr)(struct ScriptContext *));
void StopScript(struct ScriptContext *ctx);
-void FUN_02038B6C(struct ScriptContext *ctx, s32 r1);
+void FUN_02038B6C(struct ScriptContext *ctx, struct UnkStruct_0204639C *r1);
u8 RunScriptCommand(struct ScriptContext *ctx);
u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr);
const u8 *ScriptPop(struct ScriptContext *ctx);