import from github
This commit is contained in:
65
include/script.h
Normal file
65
include/script.h
Normal file
@ -0,0 +1,65 @@
|
||||
#ifndef GUARD_SCRIPT_H
|
||||
#define GUARD_SCRIPT_H
|
||||
|
||||
struct ScriptContext;
|
||||
|
||||
typedef bool8 (*ScrCmdFunc)(struct ScriptContext *);
|
||||
typedef u8 Script[];
|
||||
|
||||
struct ScriptContext
|
||||
{
|
||||
u8 stackDepth;
|
||||
u8 mode;
|
||||
u8 comparisonResult;
|
||||
u8 (*nativePtr)(void);
|
||||
const u8 *scriptPtr;
|
||||
const u8 *stack[20];
|
||||
ScrCmdFunc *cmdTable;
|
||||
ScrCmdFunc *cmdTableEnd;
|
||||
u32 data[4];
|
||||
};
|
||||
|
||||
#define ScriptReadByte(ctx) (*(ctx->scriptPtr++))
|
||||
|
||||
void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTableEnd);
|
||||
u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr);
|
||||
void SetupNativeScript(struct ScriptContext *ctx, bool8 (*ptr)(void));
|
||||
void StopScript(struct ScriptContext *ctx);
|
||||
bool8 RunScriptCommand(struct ScriptContext *ctx);
|
||||
void ScriptJump(struct ScriptContext *ctx, const u8 *ptr);
|
||||
void ScriptCall(struct ScriptContext *ctx, const u8 *ptr);
|
||||
void ScriptReturn(struct ScriptContext *ctx);
|
||||
u16 ScriptReadHalfword(struct ScriptContext *ctx);
|
||||
u32 ScriptReadWord(struct ScriptContext *ctx);
|
||||
void ScriptContext2_Enable(void);
|
||||
void ScriptContext2_Disable(void);
|
||||
bool8 ScriptContext2_IsEnabled(void);
|
||||
void ScriptContext1_Init(void);
|
||||
bool8 ScriptContext1_IsScriptSetUp(void);
|
||||
bool8 ScriptContext2_RunScript(void);
|
||||
void ScriptContext1_SetupScript(const u8 *ptr);
|
||||
void ScriptContext1_Stop(void);
|
||||
void EnableBothScriptContexts(void);
|
||||
void ScriptContext2_RunNewScript(const u8 *ptr);
|
||||
u8 *MapHeaderGetScriptTable(u8 tag);
|
||||
void MapHeaderRunScriptType(u8 tag);
|
||||
u8 *MapHeaderCheckScriptTable(u8 tag);
|
||||
void RunOnLoadMapScript(void);
|
||||
void RunOnTransitionMapScript(void);
|
||||
void RunOnResumeMapScript(void);
|
||||
void RunOnReturnToFieldMapScript(void);
|
||||
void RunOnDiveWarpMapScript(void);
|
||||
bool8 TryRunOnFrameMapScript(void);
|
||||
void TryRunOnWarpIntoMapScript(void);
|
||||
u32 CalculateRamScriptChecksum(void);
|
||||
void ClearRamScript(void);
|
||||
bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
|
||||
const u8 *GetRamScript(u8 objectId, const u8 *script);
|
||||
bool32 ValidateSavedRamScript(void);
|
||||
u8 *GetSavedRamScriptIfValid(void);
|
||||
void InitRamScript_NoObjectEvent(u8 *script, u16 scriptSize);
|
||||
|
||||
// srccmd.h
|
||||
void SetMovingNpcId(u16 npcId);
|
||||
|
||||
#endif // GUARD_SCRIPT_H
|
Reference in New Issue
Block a user