Decomp InitEventFlagScriptVars

This commit is contained in:
slaw-22 2025-12-08 20:08:47 +00:00
parent cbed3f6d79
commit e3f5c886c8
4 changed files with 25 additions and 72 deletions

View File

@ -13,3 +13,4 @@
.public SCRIPT_VARS_VALUES
.public ZeroInitScriptVariable
.public DefaultInitScriptVariable
.public InitEventFlagScriptVars

View File

@ -232,75 +232,3 @@ _0204B300: .word 0x00000143
_0204B300: .word 0x00000137
#endif
arm_func_end InitScriptVariableValues
arm_func_start InitEventFlagScriptVars
InitEventFlagScriptVars: ; 0x0204B304
stmdb sp!, {r3, lr}
#ifdef JAPAN
mov r0, #0
mov r1, #0x1c
mov r2, #0x13c
#else
ldr r2, _0204B3CC ; =0x00000137
mov r0, #0
mov r1, #0x1c
#endif
bl SaveScriptVariableValue
mov r0, #0
mov r2, r0
mov r1, #0x1d
bl SaveScriptVariableValue
#ifdef JAPAN
mov r0, #0
mov r1, #0x1e
mov r2, #0x13c
#else
ldr r2, _0204B3CC ; =0x00000137
mov r0, #0
mov r1, #0x1e
#endif
bl SaveScriptVariableValue
mov r1, #0x1f
sub r2, r1, #0x20
mov r0, #0
bl SaveScriptVariableValue
mov r0, #0
mov r1, #0x20
mov r2, #0xbb
bl SaveScriptVariableValue
mov r0, #0
mov r1, #0x27
mov r2, r0
bl SaveScriptVariableValue
mov r0, #0
mov r1, #0x29
sub r2, r1, #0x2a
bl SaveScriptVariableValue
mov r0, #0
mov r1, #0x2b
mov r2, r0
bl SaveScriptVariableValue
mov r0, #0
mov r1, #0x2c
mov r2, r0
bl SaveScriptVariableValue
mov r0, #0
mov r1, #0x34
mov r2, r0
bl SaveScriptVariableValue
mov r0, #0
mov r1, #0x35
mov r2, #2
bl SaveScriptVariableValue
mov r0, #0
mov r1, #0x36
mov r2, r0
bl SaveScriptVariableValue
ldmia sp!, {r3, pc}
.align 2, 0
#if defined(EUROPE)
_0204B3CC: .word 0x00000143
#elif !defined(JAPAN)
_0204B3CC: .word 0x00000137
#endif
arm_func_end InitEventFlagScriptVars

View File

@ -29,6 +29,7 @@ struct script_var_raw {
union script_var_value *value;
};
void InitEventFlagScriptVars();
void DefaultInitScriptVariable(union script_var_value sv_locals[], enum script_var_id sv_id);
void ZeroInitScriptVariable(union script_var_value sv_locals[], enum script_var_id sv_id);
void LoadScriptVariableRaw(struct script_var_raw* sv_raw, union script_var_value sv_val_local[], const enum script_var_id sv_id);

View File

@ -10,6 +10,14 @@
#define LOCAL_SCRIPT_VAR_OFFSET (s16) 0x400
#ifdef JAPAN
#define VAR_GROUND_ENTER_VALUE 0x13C
#elif EUROPE
#define VAR_GROUND_ENTER_VALUE 0x143
#else
#define VAR_GROUND_ENTER_VALUE 0x137
#endif
// Global script variable definitions
extern struct script_var_def SCRIPT_VARS[];
// Local script variable definitions
@ -40,6 +48,21 @@ extern s32 SetMoneyCarried(s32 arg0);
extern s32 SetMoneyStored(s32 arg0);
extern s32 SetNotifyNote(s32 arg0);
void InitEventFlagScriptVars() {
SaveScriptVariableValue(0, VAR_GROUND_ENTER, VAR_GROUND_ENTER_VALUE);
SaveScriptVariableValue(0, VAR_GROUND_ENTER_LINK, 0);
SaveScriptVariableValue(0, VAR_GROUND_GETOUT, VAR_GROUND_ENTER_VALUE);
SaveScriptVariableValue(0, VAR_GROUND_MAP, -1);
SaveScriptVariableValue(0, VAR_GROUND_PLACE, 0xBB);
SaveScriptVariableValue(0, VAR_DUNGEON_ENTER, 0);
SaveScriptVariableValue(0, VAR_DUNGEON_ENTER_INDEX, -1);
SaveScriptVariableValue(0, VAR_DUNGEON_RESULT, 0);
SaveScriptVariableValue(0, VAR_GROUND_START_MODE, 0);
SaveScriptVariableValue(0, VAR_PLAYER_KIND, 0);
SaveScriptVariableValue(0, VAR_ATTENDANT1_KIND, 2);
SaveScriptVariableValue(0, VAR_ATTENDANT2_KIND, 0);
}
void DefaultInitScriptVariable(union script_var_value sv_locals[], enum script_var_id sv_id) {
struct script_var_def* def;