diff options
author | YamaArashi <shadow962@live.com> | 2016-09-19 23:49:22 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-09-19 23:49:22 -0700 |
commit | 0b2a61e5d84e8a9950004c8d76ad8556e334f6c4 (patch) | |
tree | 9c6c31de37ba0dbcee99b8093f07d127d1de81e6 /include/script.h | |
parent | 573fa4cd845aae6d95719812e0fa39de2ffb07a9 (diff) |
WIP decompilation of script functions
Diffstat (limited to 'include/script.h')
-rw-r--r-- | include/script.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/include/script.h b/include/script.h new file mode 100644 index 000000000..d38d176f1 --- /dev/null +++ b/include/script.h @@ -0,0 +1,43 @@ +#ifndef GUARD_SCRIPT_H +#define GUARD_SCRIPT_H + +struct ScriptContext; + +typedef bool8 (*ScrCmdFunc)(struct ScriptContext *); + +struct ScriptContext +{ + u8 stackDepth; + u8 mode; + u8 comparisonResult; + u8 (*nativePtr)(void); + u8 *scriptPtr; + u8 *stack[20]; + ScrCmdFunc *cmdTable; + ScrCmdFunc *cmdTableEnd; + u32 data[4]; +}; + +void script_env_init(struct ScriptContext *ctx, void *cmdTable, void *cmdTableEnd); +u8 script_setup_bytecode_script(struct ScriptContext *ctx, void *ptr); +void script_setup_asm_script(struct ScriptContext *ctx, void *ptr); +void script_stop(struct ScriptContext *ctx); +u8 sub_80653EC(struct ScriptContext *ctx); +u8 script_stack_push(struct ScriptContext *ctx, u8 *ptr); +u8 *script_stack_pop(struct ScriptContext *ctx); +void script_jump(struct ScriptContext *ctx, u8 *ptr); +void script_call(struct ScriptContext *ctx, u8 *ptr); +void script_return(struct ScriptContext *ctx); +u16 script_read_halfword(struct ScriptContext *ctx); +u32 script_read_word(struct ScriptContext *ctx); +void script_env_2_enable(void); +void script_env_2_disable(void); +bool8 script_env_2_is_enabled(void); +void script_env_1_init(void); +bool8 script_env_2_run_current_script(void); +void script_env_1_execute_new_script(u8 *ptr); +void sub_80655F0(void); +void script_env_2_enable_and_set_ctx_running(); +void script_env_2_execute_new_script(u8 *ptr); + +#endif // GUARD_SCRIPT_H |