mirror of https://github.com/zeldaret/tmc.git
37 lines
1.0 KiB
C
37 lines
1.0 KiB
C
#ifndef SCRIPT_H
|
|
#define SCRIPT_H
|
|
|
|
#include "global.h"
|
|
|
|
typedef struct ScriptExecutionContext {
|
|
u16* scriptInstructionPointer;
|
|
u32 unk_04;
|
|
u32 unk_08;
|
|
u8 unk_0C[0x4]; // unused
|
|
u16 wait;
|
|
u16 unk_12;
|
|
u32 unk_14;
|
|
u8 unk_18;
|
|
u8 unk_19;
|
|
u8 unk_1A;
|
|
u8 unk_1B; // unused
|
|
union SplitWord unk_1C;
|
|
union SplitWord unk_20;
|
|
} ScriptExecutionContext;
|
|
|
|
extern void ExecuteScriptCommandSet(Entity*, ScriptExecutionContext*);
|
|
|
|
extern u32 GetNextScriptCommandHalfword(u16*);
|
|
extern u32 GetNextScriptCommandWord(u16*);
|
|
extern u32 GetNextScriptCommandWordAfterCommandMetadata(u16*);
|
|
extern u32 GetNextScriptCommandHalfwordAfterCommandMetadata(u16*);
|
|
|
|
extern void StartPlayerScript(u16*);
|
|
|
|
extern 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*));
|
|
#endif
|