summaryrefslogtreecommitdiff
path: root/include/script.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/script.h')
-rw-r--r--include/script.h33
1 files changed, 19 insertions, 14 deletions
diff --git a/include/script.h b/include/script.h
index 9abc5291..cfc2c180 100644
--- a/include/script.h
+++ b/include/script.h
@@ -3,34 +3,39 @@
#include "global.h"
-typedef struct {
- u16* unk_00;
- u32 unk_04;
- u32 unk_08;
+typedef struct ScriptExecutionContext {
+ u16* scriptInstructionPointer;
+ u32 intVariable;
+ u32 postScriptActions;
u8 unk_0C[0x4]; // unused
- u16 unk_10;
+ u16 wait;
u16 unk_12;
- u32 unk_14;
+ u32 condition;
u8 unk_18;
u8 unk_19;
u8 unk_1A;
u8 unk_1B; // unused
- union SplitWord unk_1C;
- union SplitWord unk_20;
+ union SplitWord x;
+ union SplitWord y;
} ScriptExecutionContext;
-extern void ExecuteScriptCommandSet(Entity*, ScriptExecutionContext*);
+void ExecuteScript(Entity* entity, ScriptExecutionContext* context);
extern u32 GetNextScriptCommandHalfword(u16*);
extern u32 GetNextScriptCommandWord(u16*);
extern u32 GetNextScriptCommandWordAfterCommandMetadata(u16*);
extern u32 GetNextScriptCommandHalfwordAfterCommandMetadata(u16*);
-extern void StartPlayerScript(u16*);
+void UnloadCutsceneData(Entity* entity);
+void StartPlayerScript(u16*);
-extern void sub_0807DEDC(Entity*, ScriptExecutionContext*, u32, u32);
+void sub_0807DD50(Entity* entity);
+void sub_0807DD64(Entity* entity);
+void sub_0807DD80(Entity* entity, u16* script);
+void sub_0807DEDC(Entity*, ScriptExecutionContext*, u32, u32);
-extern ScriptExecutionContext* StartCutscene(Entity*, u16*);
-extern void sub_0807DDAC(Entity*, void (*function)(Entity*, ScriptExecutionContext*));
-extern void sub_0807DD94(Entity*, void (*function)(Entity*, ScriptExecutionContext*));
+ScriptExecutionContext* StartCutscene(Entity* entity, u16* script);
+void ExecuteScriptForEntity(Entity* entity, void (*postScriptCallback)(Entity*, ScriptExecutionContext*));
+void HandleEntity0x82Actions(Entity* entity);
+void sub_0807DD94(Entity*, void (*function)(Entity*, ScriptExecutionContext*));
#endif