diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..81303e773 --- /dev/null +++ b/.editorconfig @@ -0,0 +1 @@ +end_of_line = crlf diff --git a/arm9/asm/scrcmd_asm.s b/arm9/asm/scrcmd_asm.s index 3be26e6e4..cbb8789c2 100644 --- a/arm9/asm/scrcmd_asm.s +++ b/arm9/asm/scrcmd_asm.s @@ -10,241 +10,6 @@ .text - thumb_func_start ScrCmd_Unk00C0 -ScrCmd_Unk00C0: ; 0x0203C874 - push {r3-r5, lr} - add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - add r0, #0x90 - ldr r0, [r0, #0x0] - bl FUN_0205DD40 - add r0, r5, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r4, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x38] - bl PlayerAvatar_GetFacingDirection - add r1, r0, #0x0 - ldr r0, [r5, #0x74] - add r2, r4, #0x0 - bl MOD05_021E6410 - mov r0, #0x1 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start ScrCmd_Unk00C1 -ScrCmd_Unk00C1: ; 0x0203C8B4 - push {r3-r5, lr} - add r5, r0, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r4, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x38] - bl PlayerAvatar_GetFacingDirection - add r1, r0, #0x0 - ldr r0, [r5, #0x74] - add r2, r4, #0x0 - bl MOD05_021E6BF4 - mov r0, #0x1 - pop {r3-r5, pc} - - thumb_func_start ScrCmd_Unk00C2 -ScrCmd_Unk00C2: ; 0x0203C8E4 - push {r4-r6, lr} - sub sp, #0x8 - add r5, r0, #0x0 - bl ScriptReadHalfword - add r4, r0, #0x0 - add r0, r5, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r6, r0, #0x0 - add r0, r5, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - str r0, [sp, #0x0] - mov r2, #0x1 - str r2, [sp, #0x4] - add r5, #0x80 - ldr r0, [r5, #0x0] - add r1, r4, #0x0 - sub r2, r2, #0x2 - add r3, r6, #0x0 - bl FUN_02049274 - mov r0, #0x1 - add sp, #0x8 - pop {r4-r6, pc} - - thumb_func_start ScrCmd_Unk00C3 -ScrCmd_Unk00C3: ; 0x0203C930 - push {r3-r5, lr} - add r4, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02034E30 - add r5, r0, #0x0 - mov r1, #0x0 - bl FUN_02034DF4 - add r0, r5, #0x0 - bl FUN_02034DEC - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r0, [r0, #0x4] - ldr r0, [r0, #0xc] - bl MOD05_021DC174 - mov r0, #0x1 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start ScrCmd_Unk00C4 -ScrCmd_Unk00C4: ; 0x0203C960 - push {r3-r5, lr} - add r4, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02034E30 - add r5, r0, #0x0 - mov r1, #0x0 - bl FUN_02034DF4 - add r0, r5, #0x0 - bl FUN_02034DEC - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r0, [r0, #0x4] - ldr r0, [r0, #0xc] - bl MOD05_021DC174 - mov r0, #0x1 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start ScrCmd_Unk00C5 -ScrCmd_Unk00C5: ; 0x0203C990 - push {r4-r6, lr} - add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FieldSysGetAttrAddr - add r4, r0, #0x0 - add r0, r5, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl VarGet - add r6, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl SaveArray_PlayerParty_Get - add r1, r6, #0x0 - bl GetPartyMonByIndex - add r6, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x38] - bl FUN_020553E8 - add r3, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x0 - add r2, r6, #0x0 - bl MOD06_0224666C - str r0, [r4, #0x0] - ldr r1, _0203C9F4 ; =FUN_0203C9F8 - add r0, r5, #0x0 - bl SetupNativeScript - mov r0, #0x1 - pop {r4-r6, pc} - nop -_0203C9F4: .word FUN_0203C9F8 - - thumb_func_start FUN_0203C9F8 -FUN_0203C9F8: ; 0x0203C9F8 - push {r4, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FieldSysGetAttrAddr - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - bl MOD06_022466A0 - cmp r0, #0x1 - bne _0203CA1A - ldr r0, [r4, #0x0] - bl MOD06_022466AC - mov r0, #0x1 - pop {r4, pc} -_0203CA1A: - mov r0, #0x0 - pop {r4, pc} - .balign 4 - - thumb_func_start ScrCmd_Unk00C6 -ScrCmd_Unk00C6: ; 0x0203CA20 - push {r3, lr} - ldr r0, [r0, #0x74] - bl MOD05_021E7030 - mov r0, #0x1 - pop {r3, pc} - - thumb_func_start ScrCmd_Unk00C7 -ScrCmd_Unk00C7: ; 0x0203CA2C - push {r3-r5, lr} - add r5, r0, #0x0 - bl ScriptReadHalfword - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl GetVarPointer - add r5, #0x80 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0x38] - bl FUN_020553C4 - cmp r0, #0x1 - bne _0203CA54 - mov r0, #0x1 - b _0203CA56 -_0203CA54: - mov r0, #0x0 -_0203CA56: - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - thumb_func_start ScrCmd_Unk00C8 ScrCmd_Unk00C8: ; 0x0203CA5C push {r4, lr} @@ -356,7 +121,7 @@ ScrCmd_Unk00CA: ; 0x0203CB20 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x38] - bl FUN_020553C4 + bl PlayerAvatar_GetState strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} @@ -745,7 +510,7 @@ ScrCmd_Unk011B: ; 0x0203CE0C str r0, [sp, #0x10] ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get add r1, sp, #0x0 bl FUN_02034DD4 mov r0, #0x0 @@ -767,7 +532,7 @@ ScrCmd_Unk011C: ; 0x0203CE8C add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 ldr r0, [r0, #0x0] bl MOD05_021E2608 @@ -2006,7 +1771,7 @@ ScrCmd_Unk014C: ; 0x0203D874 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get add r1, r4, #0x0 bl FUN_02034E04 mov r0, #0x0 @@ -3668,7 +3433,7 @@ ScrCmd_Unk0202: ; 0x0203E5DC add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 @@ -6428,7 +6193,7 @@ ScrCmd_Unk02B5: ; 0x0203FBBC add r7, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DCC str r4, [r0, #0x0] str r6, [r0, #0x8] diff --git a/arm9/asm/unk_02034D7C.s b/arm9/asm/unk_02034D7C.s index dd69af1c6..d706a06fb 100644 --- a/arm9/asm/unk_02034D7C.s +++ b/arm9/asm/unk_02034D7C.s @@ -155,8 +155,8 @@ FUN_02034E2C: ; 0x02034E2C add r0, #0x94 bx lr - thumb_func_start FUN_02034E30 -FUN_02034E30: ; 0x02034E30 + thumb_func_start Save_LocalFieldData_Get +Save_LocalFieldData_Get: ; 0x02034E30 ldr r3, _02034E38 ; =SaveArray_Get mov r1, #0x6 bx r3 diff --git a/arm9/asm/unk_02035068.s b/arm9/asm/unk_02035068.s index 60bb9a744..e3c719d7d 100644 --- a/arm9/asm/unk_02035068.s +++ b/arm9/asm/unk_02035068.s @@ -1009,7 +1009,7 @@ _020357D6: cmp r6, #0x0 bne _02035834 ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E24 mov r1, #0x0 add r2, r0, #0x0 diff --git a/arm9/asm/unk_020372D4.s b/arm9/asm/unk_020372D4.s index 7811ca302..682a00b6e 100644 --- a/arm9/asm/unk_020372D4.s +++ b/arm9/asm/unk_020372D4.s @@ -224,7 +224,7 @@ FUN_02037400: ; 0x02037400 mov r0, #0x0 str r0, [r4, #0x10] ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DC0 str r0, [r4, #0x1c] bl MapMatrix_New diff --git a/arm9/asm/unk_020377B0.s b/arm9/asm/unk_020377B0.s index ca19378dd..7e4728801 100644 --- a/arm9/asm/unk_020377B0.s +++ b/arm9/asm/unk_020377B0.s @@ -46,7 +46,7 @@ _020377DC: .word UNK_020F2BB0 thumb_func_start FUN_020377E0 FUN_020377E0: ; 0x020377E0 push {r3, lr} - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DC0 bl FUN_020377B0 pop {r3, pc} diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s index 6130252e4..409fc6d92 100644 --- a/arm9/asm/unk_020377F0.s +++ b/arm9/asm/unk_020377F0.s @@ -281,7 +281,7 @@ FUN_02037844: ; 0x02037844 lsr r1, r1, #0x10 bl FUN_0206E360 ldr r0, [r5, #0x38] - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x1 bne _02037884 add r0, r4, #0x0 @@ -1079,7 +1079,7 @@ FUN_02037EB8: ; 0x02037EB8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E0C mov r1, #0x5 mov r0, #0xb diff --git a/arm9/asm/unk_02038C78.s b/arm9/asm/unk_02038C78.s index caa6804d9..e5ddcfd3a 100644 --- a/arm9/asm/unk_02038C78.s +++ b/arm9/asm/unk_02038C78.s @@ -341,14 +341,14 @@ gScriptCmdTable: ; 0x020F355C .word ScrCmd_WaitFadeScreen .word ScrCmd_Warp .word ScrCmd_RockClimb - .word ScrCmd_Unk00C0 - .word ScrCmd_Unk00C1 - .word ScrCmd_Unk00C2 - .word ScrCmd_Unk00C3 - .word ScrCmd_Unk00C4 - .word ScrCmd_Unk00C5 - .word ScrCmd_Unk00C6 - .word ScrCmd_Unk00C7 + .word ScrCmd_Surf + .word ScrCmd_Waterfall + .word ScrCmd_Fly + .word ScrCmd_Flash + .word ScrCmd_Defog + .word ScrCmd_Cut + .word ScrCmd_ApplyContestDress + .word ScrCmd_CheckBike .word ScrCmd_Unk00C8 .word ScrCmd_Unk00C9 .word ScrCmd_Unk00CA diff --git a/arm9/asm/unk_0204653C.s b/arm9/asm/unk_0204653C.s index 42e379fc4..d53260b91 100644 --- a/arm9/asm/unk_0204653C.s +++ b/arm9/asm/unk_0204653C.s @@ -878,7 +878,7 @@ FUN_02046C1C: ; 0x02046C1C bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E24 str r0, [sp, #0x0] ldr r0, [r4, #0x0] @@ -962,7 +962,7 @@ _02046CD4: cmp r0, #0x4 beq _02046CFE ldr r0, [r6, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 add r1, r0, #0x0 add r0, r7, #0x0 diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s index a8f852bd6..d59672123 100644 --- a/arm9/asm/unk_020476CC.s +++ b/arm9/asm/unk_020476CC.s @@ -486,7 +486,7 @@ FUN_02047A78: ; 0x02047A78 bl Save_PlayerData_GetOptionsAddr str r0, [sp, #0xc] ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get str r0, [sp, #0x10] add r0, r5, #0x0 add r1, r4, #0x0 @@ -1022,7 +1022,7 @@ FUN_02047F38: ; 0x02047F38 bl Save_Pokedex_Get str r0, [sp, #0x4] ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E24 add r5, r0, #0x0 add r0, r4, #0x0 @@ -1156,7 +1156,7 @@ FUN_0204806C: ; 0x0204806C add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E20 add r6, r0, #0x0 ldr r0, [r4, #0x1c] diff --git a/arm9/asm/unk_02048120.s b/arm9/asm/unk_02048120.s index c2b4a3c1e..f0c983c2b 100644 --- a/arm9/asm/unk_02048120.s +++ b/arm9/asm/unk_02048120.s @@ -334,7 +334,7 @@ _020483A2: ; jump table (using 16-bit offset) .short _02048482 - _020483A2 - 2; case 6 _020483B0: ldr r0, [r6, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get add r7, r0, #0x0 bl FUN_02034DFC add r1, sp, #0x4 @@ -404,7 +404,7 @@ _02048442: bl FUN_02034E8C add r7, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DFC cmp r7, r0 bne _0204846E diff --git a/arm9/asm/unk_020484A8.s b/arm9/asm/unk_020484A8.s index ceb163990..5c1f0cbfc 100644 --- a/arm9/asm/unk_020484A8.s +++ b/arm9/asm/unk_020484A8.s @@ -271,11 +271,11 @@ CallTask_GameClear: ; 0x02048694 bl Save_PlayerData_GetProfileAddr str r0, [sp, #0x0] ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 str r0, [sp, #0x8] ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DCC str r0, [sp, #0x4] add r0, r6, #0x0 diff --git a/arm9/asm/unk_02048904.s b/arm9/asm/unk_02048904.s index cb8a26584..ac0b24304 100644 --- a/arm9/asm/unk_02048904.s +++ b/arm9/asm/unk_02048904.s @@ -74,7 +74,7 @@ FUN_02048958: ; 0x02048958 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl FUN_02034E30 + bl Save_LocalFieldData_Get add r6, r0, #0x0 bl FUN_02034DC8 add r2, r0, #0x0 @@ -161,7 +161,7 @@ FUN_020489FC: ; 0x020489FC add r4, r1, #0x0 ldr r7, [r0, #0x0] ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_0204AB44 @@ -272,7 +272,7 @@ FUN_02048AE4: ; 0x02048AE4 bl PlayerProfile_GetTrainerGender add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E20 ldr r3, [r5, #0x1c] ldr r1, [r0, #0x4] @@ -317,7 +317,7 @@ FUN_02048B50: ; 0x02048B50 add r0, r5, #0x0 bl FUN_02034E60 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E20 add r4, r0, #0x0 ldr r0, [r5, #0xc] @@ -462,7 +462,7 @@ FUN_02048C80: ; 0x02048C80 cmp r0, #0x0 beq _02048CAE ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 ldr r0, [r0, #0x0] mov r1, #0xb @@ -528,7 +528,7 @@ FUN_02048D04: ; 0x02048D04 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 add r4, r0, #0x0 ldr r0, [r5, #0xc] @@ -671,7 +671,7 @@ _02048E10: cmp r0, #0x0 beq _02048E78 ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_02048CDC @@ -1435,7 +1435,7 @@ FUN_02049430: ; 0x02049430 pop {r4-r6, pc} _02049452: ldr r0, [r5, #0x38] - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0x0 add r0, r5, #0x0 bl MOD06_022483BC @@ -1839,7 +1839,7 @@ FUN_0204976C: ; 0x0204976C push {r4-r6, lr} add r6, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 add r4, r0, #0x0 mov r0, #0xb @@ -2610,7 +2610,7 @@ FUN_02049D9C: ; 0x02049D9C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 add r4, r0, #0x0 mov r0, #0xb @@ -2741,7 +2741,7 @@ FUN_02049EA4: ; 0x02049EA4 bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 add r7, r0, #0x0 mov r0, #0xb @@ -2858,7 +2858,7 @@ FUN_02049F98: ; 0x02049F98 bl FUN_02046528 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 add r1, r4, #0x0 bl FUN_02048CB0 @@ -2899,7 +2899,7 @@ FUN_02049FFC: ; 0x02049FFC bl FUN_02046528 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 add r1, r0, #0x0 mov r0, #0x0 diff --git a/arm9/asm/unk_0204AB0C.s b/arm9/asm/unk_0204AB0C.s index 3418c76f2..da27f337a 100644 --- a/arm9/asm/unk_0204AB0C.s +++ b/arm9/asm/unk_0204AB0C.s @@ -47,7 +47,7 @@ FUN_0204AB20: ; 0x0204AB20 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DE8 strh r4, [r0, #0x0] pop {r4, pc} @@ -57,7 +57,7 @@ FUN_0204AB20: ; 0x0204AB20 FUN_0204AB34: ; 0x0204AB34 push {r3, lr} ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DE8 ldrh r0, [r0, #0x0] pop {r3, pc} @@ -66,7 +66,7 @@ FUN_0204AB34: ; 0x0204AB34 FUN_0204AB44: ; 0x0204AB44 push {r3, lr} ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DE8 mov r1, #0x0 strh r1, [r0, #0x0] @@ -79,7 +79,7 @@ FUN_0204AB58: ; 0x0204AB58 add r5, r0, #0x0 ldr r0, [r5, #0x38] add r4, r1, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x2 bne _0204AB6C ldr r0, _0204ABA0 ; =0x0000047F @@ -147,7 +147,7 @@ FUN_0204ABDC: ; 0x0204ABDC ldr r0, [r5, #0x38] add r4, r1, #0x0 add r7, r2, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState add r6, r0, #0x0 bl FUN_02004104 cmp r0, #0x1 diff --git a/arm9/asm/unk_0204B34C.s b/arm9/asm/unk_0204B34C.s index 9b7fe4702..024683ae2 100644 --- a/arm9/asm/unk_0204B34C.s +++ b/arm9/asm/unk_0204B34C.s @@ -864,7 +864,7 @@ FUN_0204B9CC: ; 0x0204B9CC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x38] - bl FUN_020553C4 + bl PlayerAvatar_GetState bl FUN_02055648 add r1, r0, #0x0 ldr r0, [r4, #0x38] diff --git a/arm9/asm/unk_02055068.s b/arm9/asm/unk_02055068.s index cde645f0a..973df7ab2 100644 --- a/arm9/asm/unk_02055068.s +++ b/arm9/asm/unk_02055068.s @@ -89,7 +89,7 @@ _02055118: add r0, r5, #0x0 bl MOD05_021EDBC8 add r0, r5, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x2 bne _0205515C add r0, r5, #0x0 @@ -441,8 +441,8 @@ _020553B6: pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_020553C4 -FUN_020553C4: ; 0x020553C4 + thumb_func_start PlayerAvatar_GetState +PlayerAvatar_GetState: ; 0x020553C4 push {r4, lr} add r4, r0, #0x0 bne _020553CE @@ -474,8 +474,8 @@ FUN_020553E4: ; 0x020553E4 str r1, [r0, #0x1c] bx lr - thumb_func_start FUN_020553E8 -FUN_020553E8: ; 0x020553E8 + thumb_func_start PlayerAvatar_GetGender +PlayerAvatar_GetGender: ; 0x020553E8 ldr r0, [r0, #0x1c] bx lr diff --git a/arm9/asm/unk_020557F4.s b/arm9/asm/unk_020557F4.s index 5ac2bef28..7112182ad 100644 --- a/arm9/asm/unk_020557F4.s +++ b/arm9/asm/unk_020557F4.s @@ -61,7 +61,7 @@ _02055812: pop {r3-r7, pc} _0205584E: add r0, r5, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x0 bne _02055878 add r0, r5, #0x0 @@ -138,7 +138,7 @@ _020558E4: cmp r0, #0x20 bne _020558F6 add r0, r5, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x2 bne _020558F6 mov r0, #0x1 @@ -725,7 +725,7 @@ FUN_02055DAC: ; 0x02055DAC cmp r4, #0x0 bne _02055E62 add r0, r5, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x1 bne _02055DFE add r0, r5, #0x0 @@ -1121,7 +1121,7 @@ FUN_02056110: ; 0x02056110 add r7, r1, #0x0 str r2, [sp, #0x8] add r5, r3, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_020553A0 @@ -1338,7 +1338,7 @@ FUN_020562A8: ; 0x020562A8 bl FUN_02056B74 add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x2 beq _0205632A mov r0, #0x4 @@ -1492,7 +1492,7 @@ FUN_020563F0: ; 0x020563F0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x1 bne _0205642C mov r0, #0x2 @@ -2878,7 +2878,7 @@ FUN_02056EC8: ; 0x02056EC8 bl FUN_0204A6E0 add r6, r0, #0x0 ldr r0, [sp, #0x0] - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x1 bne _02056F54 add r0, r5, #0x0 @@ -2941,7 +2941,7 @@ FUN_02056F78: ; 0x02056F78 mvn r1, r1 cmp r4, r1 beq _0205701A - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x1 bne _0205701A add r0, r5, #0x0 @@ -3200,7 +3200,7 @@ FUN_0205714C: ; 0x0205714C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x0 beq _02057162 cmp r0, #0x1 @@ -3467,7 +3467,7 @@ FUN_0205733C: ; 0x0205733C mov r0, #0x0 pop {r3-r5, pc} _0205734E: - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x1 beq _0205735A mov r0, #0x0 diff --git a/arm9/asm/unk_0205CE48.s b/arm9/asm/unk_0205CE48.s index 01eab267c..5875ce204 100644 --- a/arm9/asm/unk_0205CE48.s +++ b/arm9/asm/unk_0205CE48.s @@ -79,7 +79,7 @@ FUN_0205CE80: ; 0x0205CE80 bl FUN_0205ED3C str r0, [r5, #0x4] ldr r0, [r4, #0x38] - bl FUN_020553C4 + bl PlayerAvatar_GetState str r0, [r5, #0x8] ldr r0, [r4, #0x38] bl GetPlayerXCoord @@ -473,7 +473,7 @@ _0205D1C4: pop {r3-r5, pc} _0205D1CA: ldr r0, [r5, #0x14] - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x2 bne _0205D1DA mov r0, #0x0 @@ -578,7 +578,7 @@ _0205D290: b _0205D324 _0205D296: ldr r0, [r4, #0x38] - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x1 bne _0205D2D6 ldr r0, [r4, #0x38] @@ -1037,7 +1037,7 @@ FUN_0205D628: ; 0x0205D628 _0205D636: ldr r0, [r4, #0x18] ldr r0, [r0, #0x38] - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x1 bne _0205D648 mov r0, #0x0 diff --git a/arm9/asm/unk_0205F7A0.s b/arm9/asm/unk_0205F7A0.s index 420c36b11..ac46350a0 100644 --- a/arm9/asm/unk_0205F7A0.s +++ b/arm9/asm/unk_0205F7A0.s @@ -28,7 +28,7 @@ FUN_0205F7A0: ; 0x0205F7A0 add r7, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DCC mov r2, #0x5 str r0, [sp, #0xc] @@ -76,7 +76,7 @@ _0205F812: str r0, [r5, #0xc] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E0C str r0, [sp, #0x8] ldr r0, [r0, #0x0] diff --git a/arm9/asm/unk_0206367C.s b/arm9/asm/unk_0206367C.s index e0650dafb..243748c1e 100644 --- a/arm9/asm/unk_0206367C.s +++ b/arm9/asm/unk_0206367C.s @@ -99,7 +99,7 @@ _020636F8: bl FUN_0205F2B4 _02063758: ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E20 add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -126,7 +126,7 @@ _02063786: cmp r0, #0x0 beq _020637A6 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E0C ldr r2, [r5, #0x1c] ldr r1, [r2, #0x8] @@ -224,7 +224,7 @@ FUN_0206384C: ; 0x0206384C sub sp, #0x4 add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DC8 ldr r1, [r5, #0x1c] ldr r6, [r0, #0x0] diff --git a/arm9/asm/unk_02063888.s b/arm9/asm/unk_02063888.s index 8bff30ebf..bc1ebd8ec 100644 --- a/arm9/asm/unk_02063888.s +++ b/arm9/asm/unk_02063888.s @@ -50,7 +50,7 @@ FUN_020638BC: ; 0x020638BC _020638DA: ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r3, r0, #0x0 ldr r0, [r4, #0x0] ldr r2, [r4, #0x10] diff --git a/arm9/asm/unk_02063948.s b/arm9/asm/unk_02063948.s index e656267d5..a40202947 100644 --- a/arm9/asm/unk_02063948.s +++ b/arm9/asm/unk_02063948.s @@ -137,7 +137,7 @@ _02063A18: strh r0, [r4, #0xc] _02063A2C: ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DEC cmp r0, #0xe beq _02063A42 @@ -408,7 +408,7 @@ _02063C26: _02063C3A: ldr r0, [r4, #0x4] ldr r0, [r0, #0x38] - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0x2 bne _02063C4A mov r0, #0x4 diff --git a/arm9/global.inc b/arm9/global.inc index 50dc141cb..f16713bb5 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -2565,7 +2565,7 @@ .extern FUN_02034E24 .extern FUN_02034E28 .extern FUN_02034E2C -.extern FUN_02034E30 +.extern Save_LocalFieldData_Get .extern FUN_02034E48 .extern FUN_02034E60 .extern FUN_02034E8C @@ -2878,14 +2878,14 @@ .extern ScrCmd_GetPreviousMapID .extern ScrCmd_GetCurrentMapID .extern ScrCmd_RockClimb -.extern ScrCmd_Unk00C0 -.extern ScrCmd_Unk00C1 -.extern ScrCmd_Unk00C2 -.extern ScrCmd_Unk00C3 -.extern ScrCmd_Unk00C4 -.extern ScrCmd_Unk00C5 -.extern ScrCmd_Unk00C6 -.extern ScrCmd_Unk00C7 +.extern ScrCmd_Surf +.extern ScrCmd_Waterfall +.extern ScrCmd_Fly +.extern ScrCmd_Flash +.extern ScrCmd_Defog +.extern ScrCmd_Cut +.extern ScrCmd_ApplyContestDress +.extern ScrCmd_CheckBike .extern ScrCmd_Unk00C8 .extern ScrCmd_Unk02BF .extern ScrCmd_Unk00C9 @@ -3914,11 +3914,11 @@ .extern FUN_0205537C .extern FUN_020553A0 .extern FUN_020553A8 -.extern FUN_020553C4 +.extern PlayerAvatar_GetState .extern FUN_020553D4 .extern FUN_020553DC .extern FUN_020553E0 -.extern FUN_020553E8 +.extern PlayerAvatar_GetGender .extern FUN_02055408 .extern FUN_0205540C .extern FUN_02055410 @@ -6679,11 +6679,11 @@ .extern MOD05_021E5FD8 .extern MOD05_021E5FE0 .extern MOD05_021E61A4 -.extern MOD05_021E6410 +.extern CallFieldTask_Surf .extern MOD05_021E643C .extern CallFieldTask_RockClimb .extern MOD05_021E69BC -.extern MOD05_021E6BF4 +.extern CallFieldTask_Waterfall .extern MOD05_021E7030 .extern MOD05_021E70F0 .extern MOD05_021E7138 diff --git a/arm9/modules/05/asm/mod05_021D74E0.s b/arm9/modules/05/asm/mod05_021D74E0.s index f5587bcd6..00d2b8262 100644 --- a/arm9/modules/05/asm/mod05_021D74E0.s +++ b/arm9/modules/05/asm/mod05_021D74E0.s @@ -129,7 +129,7 @@ _021D75DE: add r0, r4, #0 bl MOD05_021D7E4C ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DEC add r1, r0, #0 ldr r0, [r4, #4] @@ -435,7 +435,7 @@ MOD05_021D7894: ; 0x021D7894 pop {r3, r4, r5, r6, r7, pc} _021D78CE: ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get add r7, r0, #0 ldr r0, [r5, #0x1c] add r1, r4, #0 @@ -546,7 +546,7 @@ MOD05_021D79B4: ; 0x021D79B4 cmp r0, #0 beq _021D79FE ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E0C add r7, r0, #0 ldr r0, [r5, #0x38] @@ -1105,7 +1105,7 @@ MOD05_021D7E4C: ; 0x021D7E4C bl MOD05_021DBA00 str r0, [r4, #0x44] ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E10 add r5, r0, #0 ldr r0, [r4, #0x38] diff --git a/arm9/modules/05/asm/mod05_021D80E8.s b/arm9/modules/05/asm/mod05_021D80E8.s index f878f0d69..1e4271f17 100644 --- a/arm9/modules/05/asm/mod05_021D80E8.s +++ b/arm9/modules/05/asm/mod05_021D80E8.s @@ -1444,7 +1444,7 @@ _021D8C78: pop {r3, r4, r5, r6, r7, pc} _021D8C88: ldr r0, [r5, #0x38] - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #2 beq _021D8CE0 ldr r0, [r5, #0xc] @@ -1877,7 +1877,7 @@ MOD05_021D9010: ; 0x021D9010 bl SaveArray_PlayerParty_Get add r4, r0, #0 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E2C ldrh r1, [r0] add r1, r1, #1 @@ -1945,7 +1945,7 @@ MOD05_021D9090: ; 0x021D9090 pop {r4, pc} _021D90A6: ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E24 ldrh r0, [r0] cmp r0, #0 @@ -1958,7 +1958,7 @@ _021D90A6: pop {r4, pc} _021D90C4: ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E28 ldrh r1, [r0] add r1, r1, #1 @@ -2121,7 +2121,7 @@ _021D91DC: bl GF_AssertFail _021D91F2: ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 add r2, r0, #0 ldmia r2!, {r0, r1} @@ -2143,7 +2143,7 @@ _021D920C: str r0, [r5, #0x10] _021D921E: ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DC4 add r5, r0, #0 ldr r0, [r4, #0x38] @@ -2169,7 +2169,7 @@ MOD05_021D9248: ; 0x021D9248 add r7, r1, #0 str r2, [sp] add r4, r3, #0 - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DCC add r6, r0, #0 ldr r3, [r5, #0x1c] diff --git a/arm9/modules/05/asm/mod05_021E5FD8.s b/arm9/modules/05/asm/mod05_021E5FD8.s index 8b147ce54..b12408c52 100644 --- a/arm9/modules/05/asm/mod05_021E5FD8.s +++ b/arm9/modules/05/asm/mod05_021E5FD8.s @@ -42,7 +42,7 @@ _021E6010: .word UNK05_021F7734 MOD05_021E6014: ; 0x021E6014 push {r4, lr} add r4, r0, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #0 bl FUN_020555A0 @@ -70,7 +70,7 @@ _021E6048: MOD05_021E6054: ; 0x021E6054 push {r4, lr} add r4, r0, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #1 bl FUN_020555A0 @@ -102,7 +102,7 @@ MOD05_021E609C: ; 0x021E609C push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r0, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #2 bl FUN_020555A0 @@ -156,7 +156,7 @@ _021E6114: .word FUN_020556C8 MOD05_021E6118: ; 0x021E6118 push {r4, lr} add r4, r0, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #4 bl FUN_020555A0 @@ -170,7 +170,7 @@ MOD05_021E6118: ; 0x021E6118 MOD05_021E6134: ; 0x021E6134 push {r4, lr} add r4, r0, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #6 bl FUN_020555A0 @@ -184,7 +184,7 @@ MOD05_021E6134: ; 0x021E6134 MOD05_021E6150: ; 0x021E6150 push {r4, lr} add r4, r0, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #7 bl FUN_020555A0 @@ -198,7 +198,7 @@ MOD05_021E6150: ; 0x021E6150 MOD05_021E616C: ; 0x021E616C push {r4, lr} add r4, r0, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #8 bl FUN_020555A0 @@ -212,7 +212,7 @@ MOD05_021E616C: ; 0x021E616C MOD05_021E6188: ; 0x021E6188 push {r4, lr} add r4, r0, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #9 bl FUN_020555A0 @@ -535,8 +535,8 @@ MOD05_021E63D4: ; 0x021E63D4 nop _021E640C: .word MOD05_021E6484 - thumb_func_start MOD05_021E6410 -MOD05_021E6410: ; 0x021E6410 + thumb_func_start CallFieldTask_Surf +CallFieldTask_Surf: ; 0x021E6410 push {r4, r5, r6, lr} sub sp, #0x10 add r6, r2, #0 @@ -708,7 +708,7 @@ _021E655E: cmp r0, #0xa ble _021E65E4 ldr r0, [r4, #0x20] - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #0 bl FUN_020555A0 @@ -747,7 +747,7 @@ _021E65AC: mov r1, #1 bl MOD06_0224ADF8 ldr r0, [r4, #0x20] - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #2 bl FUN_020555A0 @@ -773,7 +773,7 @@ MOD05_021E65EC: ; 0x021E65EC cmp r3, #1 bne _021E6602 add r0, r5, #0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #2 beq _021E6606 _021E6602: @@ -852,7 +852,7 @@ _021E668C: cmp r0, #1 bne _021E6710 ldr r0, [r4, #0xc] - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #0 bl FUN_020555A0 @@ -914,7 +914,7 @@ MOD05_021E6714: ; 0x021E6714 cmp r3, #1 bne _021E672E add r0, r5, #0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #2 beq _021E6732 _021E672E: @@ -1532,8 +1532,8 @@ MOD05_021E6BD8: ; 0x021E6BD8 nop _021E6BF0: .word MOD05_021E6C30 - thumb_func_start MOD05_021E6BF4 -MOD05_021E6BF4: ; 0x021E6BF4 + thumb_func_start CallFieldTask_Waterfall +CallFieldTask_Waterfall: ; 0x021E6BF4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r7, r2, #0 @@ -2099,7 +2099,7 @@ MOD05_021E703C: ; 0x021E703C bl FUN_020553A0 str r0, [r4, #8] ldr r0, [r4, #4] - bl FUN_020553E8 + bl PlayerAvatar_GetGender str r0, [r4, #0x10] ldr r0, [r5, #0x10] ldr r1, _021E7068 ; =MOD05_021E706C @@ -2180,7 +2180,7 @@ MOD05_021E70F0: ; 0x021E70F0 cmp r0, #0 beq _021E7136 add r0, r4, #0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0 bne _021E7136 add r0, r5, #0 @@ -2212,7 +2212,7 @@ MOD05_021E7138: ; 0x021E7138 cmp r0, #0 beq _021E7180 add r0, r4, #0 - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #0 bne _021E7180 add r0, r5, #0 @@ -2243,7 +2243,7 @@ MOD05_021E7184: ; 0x021E7184 add r6, r0, #0 ldr r5, [r6, #0x38] add r0, r5, #0 - bl FUN_020553C4 + bl PlayerAvatar_GetState add r7, r0, #0 beq _021E7198 mov r0, #0 @@ -2291,7 +2291,7 @@ MOD05_021E71E8: ; 0x021E71E8 add r6, r0, #0 ldr r4, [r6, #0xc] add r0, r4, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r1, r0, #0 mov r0, #0 bl FUN_020555A0 @@ -2321,7 +2321,7 @@ MOD05_021E7228: ; 0x021E7228 str r2, [r4] str r1, [r4, #8] ldr r0, [r0, #0x38] - bl FUN_020553E8 + bl PlayerAvatar_GetGender str r0, [r4, #4] pop {r4, pc} diff --git a/arm9/modules/05/asm/mod05_021E8310.s b/arm9/modules/05/asm/mod05_021E8310.s index 355fea265..f7707b846 100644 --- a/arm9/modules/05/asm/mod05_021E8310.s +++ b/arm9/modules/05/asm/mod05_021E8310.s @@ -9,7 +9,7 @@ MOD05_021E8310: ; 0x021E8310 ldr r4, [r1, #0xc] add r5, r0, #0 add r0, r4, #0 - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DC0 add r6, r0, #0 add r0, r4, #0 diff --git a/arm9/modules/05/asm/mod05_021F5C44.s b/arm9/modules/05/asm/mod05_021F5C44.s index 1b8a7365a..a6b321e1e 100644 --- a/arm9/modules/05/asm/mod05_021F5C44.s +++ b/arm9/modules/05/asm/mod05_021F5C44.s @@ -538,7 +538,7 @@ _021F602C: add r0, r5, #0 bl MOD05_021F60FC add r0, r4, #0 - bl FUN_020553C4 + bl PlayerAvatar_GetState bl FUN_02055648 add r1, r0, #0 add r0, r4, #0 diff --git a/arm9/modules/05/asm/mod05_021F6360.s b/arm9/modules/05/asm/mod05_021F6360.s index c03de5a5d..48f5d1a2c 100644 --- a/arm9/modules/05/asm/mod05_021F6360.s +++ b/arm9/modules/05/asm/mod05_021F6360.s @@ -58,7 +58,7 @@ _021F63AC: _021F63CC: ldr r0, [sp] ldr r0, [r0, #0x38] - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r3, r0, #0 ldr r0, [sp] ldr r2, [r6] diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s index 375500d68..4fb593c53 100644 --- a/arm9/modules/06/asm/module_06.s +++ b/arm9/modules/06/asm/module_06.s @@ -4874,7 +4874,7 @@ _0223BA42: strb r0, [r1, #0x18] _0223BA8C: ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DEC add r3, r0, #0 ldr r0, [sp, #0x20] @@ -5204,7 +5204,7 @@ _0223BD2E: bl MOD06_0223D2DC ldr r0, [sp, #8] ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DEC add r3, r0, #0 ldr r0, [sp, #0x14] @@ -5656,7 +5656,7 @@ _0223C0CE: strb r0, [r1, #0x14] _0223C118: ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DEC add r3, r0, #0 ldr r0, [sp, #0x1c] @@ -6107,7 +6107,7 @@ _0223C4B0: b _0223C4D4 _0223C4C4: ldr r0, [r5, #0x38] - bl FUN_020553C4 + bl PlayerAvatar_GetState cmp r0, #1 bne _0223C4D4 add r4, #0x1e @@ -7593,7 +7593,7 @@ MOD06_0223CFD0: ; 0x0223CFD0 pop {r4, pc} _0223CFE4: ldr r0, [r0, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034E24 add r1, r0, #0 ldrh r1, [r1] @@ -19910,7 +19910,7 @@ MOD06_022433B8: ; 0x022433B8 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DD0 add r4, r0, #0 ldr r0, [r5, #0x38] @@ -39275,7 +39275,7 @@ MOD06_0224C888: ; 0x0224C888 add r5, r0, #0 ldr r0, [r1, #0xc] add r4, r2, #0 - bl FUN_02034E30 + bl Save_LocalFieldData_Get ldr r1, [r4, #8] cmp r1, #2 bne _0224C8B2 @@ -39580,7 +39580,7 @@ MOD06_0224CAE8: ; 0x0224CAE8 add r5, r1, #0 ldr r0, [r5, #0x38] add r4, r2, #0 - bl FUN_020553E8 + bl PlayerAvatar_GetGender add r3, r0, #0 ldr r2, [r4, #0x20] add r0, r5, #0 diff --git a/arm9/modules/42/asm/module_42.s b/arm9/modules/42/asm/module_42.s index 29dd1fa85..5949c4ef9 100644 --- a/arm9/modules/42/asm/module_42.s +++ b/arm9/modules/42/asm/module_42.s @@ -134,7 +134,7 @@ _02254932: bl MOD20_02252C38 add r4, r0, #0 ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DCC add r6, r0, #0 ldr r0, [r4, #0x1c] @@ -522,7 +522,7 @@ MOD42_02254C04: ; 0x02254C04 bl MOD20_02252C38 add r4, r0, #0 ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DCC add r6, r0, #0 ldr r0, [r4, #0x1c] diff --git a/arm9/modules/43/asm/module_43.s b/arm9/modules/43/asm/module_43.s index 964bc5cda..6b36ba85f 100644 --- a/arm9/modules/43/asm/module_43.s +++ b/arm9/modules/43/asm/module_43.s @@ -57,7 +57,7 @@ MOD43_0225489C: ; 0x0225489C bl MOD20_02252C38 add r4, r0, #0 ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DCC add r6, r0, #0 ldr r0, [r4, #0x1c] @@ -390,7 +390,7 @@ MOD43_02254AF8: ; 0x02254AF8 bl MOD20_02252C38 add r4, r0, #0 ldr r0, [r4, #0xc] - bl FUN_02034E30 + bl Save_LocalFieldData_Get bl FUN_02034DCC add r7, r0, #0 ldr r0, [r4, #0x1c] diff --git a/arm9/modules/59/src/mod59_Intro.c b/arm9/modules/59/src/mod59_Intro.c index 80c97ffab..b0a76eb6e 100644 --- a/arm9/modules/59/src/mod59_Intro.c +++ b/arm9/modules/59/src/mod59_Intro.c @@ -2044,7 +2044,7 @@ BOOL MOD59_MasterController(MOD59_IntroOverlayData *data) case 21: //Display Yes/No touchscreen buttons #ifdef __MWERKS__ - u32 arr[5]; + u32 arr[5]; //todo - this is 100% a struct arr = MOD59_021D9E44; #else u32 arr[5] = {}; @@ -2313,7 +2313,7 @@ BOOL MOD59_MasterController(MOD59_IntroOverlayData *data) break; } #ifdef __MWERKS__ - u32 arr2[3]; + u32 arr2[3]; //todo - this is 100% a struct arr2 = MOD59_021D9DC0; #else u32 arr2[3] = {}; diff --git a/arm9/src/scrcmd.c b/arm9/src/scrcmd.c index 98cdc951b..be759dd28 100644 --- a/arm9/src/scrcmd.c +++ b/arm9/src/scrcmd.c @@ -4,6 +4,7 @@ #include "bag.h" #include "bg_window.h" #include "camera.h" +#include "constants/global_fieldmap.h" #include "constants/items.h" #include "fashion_case.h" #include "hall_of_fame.h" @@ -155,9 +156,22 @@ extern BOOL IsPaletteFadeFinished(void); extern void CallTask_ScriptWarp(TaskManager *taskManager, u16 mapId, s32 param2, u16 xVar, u16 yVar, u16 dir); extern void FUN_02049F98(TaskManager *taskManager, u16 mapId, s32 param2, u16 xVar, u16 yVar, u16 dir); extern void FUN_02049FFC(TaskManager *taskManager); -extern void *FUN_02034E30(struct SaveBlock2 *save); -extern Location *FUN_02034DC8(void *param0); +extern LocalFieldData *Save_LocalFieldData_Get(struct SaveBlock2 *save); +extern Location *FUN_02034DC8(LocalFieldData *localFieldData); extern void CallFieldTask_RockClimb(TaskManager *taskManager, u32 playerDirection, u16 partyPosition); +extern void FUN_0205DD40(u32 param0); +extern void CallFieldTask_Surf(TaskManager *taskManager, u32 playerDirection, u16 partyPosition); +extern void FUN_02049274(FieldSystem *fieldSystem, u16 mapId, s32 warpId, u16 x, u16 y, u32 direction); +extern u32 FUN_02034DEC(LocalFieldData *localFieldData); +extern void MOD05_021DC174(u32 param0, u32 weather); +extern void FUN_02034DF4(LocalFieldData *localFieldData, u32 weather); +extern void CallFieldTask_Waterfall(TaskManager *taskManager, u32 playerDirection, u16 partyPosition); +extern u32 PlayerAvatar_GetGender(PlayerAvatar *avatar); +extern void *MOD06_0224666C(FieldSystem *fieldSystem, u32 param1, Pokemon *mon, u32 playerGender); +extern BOOL MOD06_022466A0(void *param0); +extern void MOD06_022466AC(void *param0); +extern void MOD05_021E7030(TaskManager *taskManager); +extern u32 PlayerAvatar_GetState(PlayerAvatar *avatar); u8 UNK_021C5A0C[4]; @@ -190,6 +204,7 @@ static BOOL CheckPortraitSlotFullInternal(struct FieldSystem *fieldSystem, BOOL static FashionAppData *FUN_0203BC6C(u32 heapId, struct FieldSystem *fieldSystem, BOOL isContest, u32 portraitSlot); static BOOL FUN_0203BE9C(ScriptContext *ctx); static BOOL FUN_0203C71C(ScriptContext *ctx); +static BOOL FUN_0203C9F8(ScriptContext *ctx); extern u8 sScriptConditionTable[6][3]; @@ -684,7 +699,7 @@ BOOL ScrCmd_Unk01FF(struct ScriptContext *ctx) //01FF u8 flag = ScriptReadByte(ctx); u8 unk = 0; - MessageFormat *messageFormat = MOD06_02244210(fieldSystem->saveBlock2, poke, sex, flag, &unk); + MessageFormat *messageFormat = MOD06_02244210(fieldSystem->saveData, poke, sex, flag, &unk); MOD05_021E2CBC(ctx, messageFormat, (u8)(msg + unk), 1); MessageFormat_Delete(messageFormat); @@ -880,7 +895,7 @@ BOOL ScrCmd_Unk0033(struct ScriptContext *ctx) //0033 - todo: OpenMessageBox? struct FieldSystem *fieldSystem = ctx->fieldSystem; u8 *unk = (u8 *)FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_UNKNOWN_06); FUN_020545B8(fieldSystem->bgConfig, (struct Window *)FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_WINDOW), 3); - FUN_02054608((struct Window *)FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_WINDOW), Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveBlock2)); + FUN_02054608((struct Window *)FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_WINDOW), Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveData)); *unk = 1; return FALSE; } @@ -1063,7 +1078,7 @@ BOOL ScrCmd_Unk003A(struct ScriptContext *ctx) //003A - todo: CreateMessageBoxTe ReadMsgDataIntoString(ctx->msgData, msg, *stringBuffer1); StringExpandPlaceholders(*messageFormat, *stringBuffer0, *stringBuffer1); - *printerNumber = (u8)FUN_02054658(MOD05_021E8140(fieldSystem->unk60), *stringBuffer0, Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveBlock2), 1); + *printerNumber = (u8)FUN_02054658(MOD05_021E8140(fieldSystem->unk60), *stringBuffer0, Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveData), 1); ctx->data[0] = wk; SetupNativeScript(ctx, FUN_0203A94C); return TRUE; @@ -1617,7 +1632,7 @@ BOOL ScrCmd_LockAllEvents2(struct ScriptContext *ctx) { //02B4 FUN_02058914(*lastInteracted); } if (unk1 != NULL) { - struct ScriptState *state = SaveArray_Flags_Get(fieldSystem->saveBlock2); + struct ScriptState *state = SaveArray_Flags_Get(fieldSystem->saveData); if (FUN_0205ED3C(state) == TRUE) { if (FUN_02058854(unk1) != 0) { UNK_021C5A0C[0] |= 2; @@ -1807,7 +1822,7 @@ BOOL ScrCmd_OverworldEventStopFollowing(struct ScriptContext *ctx) //006E BOOL ScrCmd_Unk02AB(struct ScriptContext *ctx) //02AB { u16 *variable = ScriptGetVarPointer(ctx); - struct SealCase *sealCase = Save_SealCase_Get(ctx->fieldSystem->saveBlock2); + struct SealCase *sealCase = Save_SealCase_Get(ctx->fieldSystem->saveData); *variable = FUN_02029E0C(sealCase); return FALSE; } @@ -1816,7 +1831,7 @@ BOOL ScrCmd_GetSealCountFromId(struct ScriptContext *ctx) //0093 { u16 sealId = ScriptGetVar(ctx); u16 *variable = ScriptGetVarPointer(ctx); - struct SealCase *sealCase = Save_SealCase_Get(ctx->fieldSystem->saveBlock2); + struct SealCase *sealCase = Save_SealCase_Get(ctx->fieldSystem->saveData); *variable = SealCase_CountSealOccurrenceAnywhere(sealCase, sealId); return FALSE; } @@ -1826,7 +1841,7 @@ BOOL ScrCmd_GiveSeals(struct ScriptContext *ctx) //0094 u16 sealId = ScriptGetVar(ctx); u16 amount = ScriptGetVar(ctx); - struct SealCase *sealCase = Save_SealCase_Get(ctx->fieldSystem->saveBlock2); + struct SealCase *sealCase = Save_SealCase_Get(ctx->fieldSystem->saveData); FUN_02029D44(sealCase, sealId, (s16)amount); return FALSE; } @@ -1836,7 +1851,7 @@ BOOL ScrCmd_GetPokemonForme(struct ScriptContext *ctx) //0095 u16 partyPosition = ScriptGetVar(ctx); u16 *variable = ScriptGetVarPointer(ctx); - struct PlayerParty *party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty *party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); *variable = GetMonUnownLetter(GetPartyMonByIndex(party, partyPosition)); return FALSE; @@ -2002,7 +2017,7 @@ BOOL ScrCmd_TerminateOverworldProcess(ScriptContext *ctx) { //01F8 } static BOOL CheckPortraitSlotFullInternal(struct FieldSystem *fieldSystem, BOOL isContest, u32 portraitSlot) { - SaveFashionData *fashionData = Save_FashionData_Get(fieldSystem->saveBlock2); + SaveFashionData *fashionData = Save_FashionData_Get(fieldSystem->saveData); if (!isContest) { if (!CheckPortraitSlotFull(fashionData, portraitSlot)) { return FALSE; @@ -2016,7 +2031,7 @@ static BOOL CheckPortraitSlotFullInternal(struct FieldSystem *fieldSystem, BOOL } static FashionAppData *FUN_0203BC6C(u32 heapId, struct FieldSystem *fieldSystem, BOOL isContest, u32 portraitSlot) { - SaveFashionData *fashionData = Save_FashionData_Get(fieldSystem->saveBlock2); + SaveFashionData *fashionData = Save_FashionData_Get(fieldSystem->saveData); if (!CheckPortraitSlotFullInternal(fieldSystem, isContest, portraitSlot)) { return NULL; } @@ -2065,7 +2080,7 @@ BOOL ScrCmd_ShowPokemonPic(ScriptContext *ctx) { //0208 BOOL ScrCmd_ShowPartyPokemonPic(ScriptContext *ctx) { //028C PokepicManager **pokepicManager = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR); u16 partyId = ScriptGetVar(ctx); - struct Pokemon *mon = GetPartyMonByIndex(SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2), partyId); + struct Pokemon *mon = GetPartyMonByIndex(SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData), partyId); LoadUserFrameGfx1(ctx->fieldSystem->bgConfig, GF_BG_LYR_MAIN_3, 0x3D9, 11, 0, 4); *pokepicManager = DrawPokemonPicFromMon(ctx->fieldSystem->bgConfig, GF_BG_LYR_MAIN_3, 10, 5, 11, 0x3D9, mon, 4); u32 species = GetMonData(mon, MON_DATA_SPECIES, NULL); @@ -2122,7 +2137,7 @@ BOOL ScrCmd_DressupPokemon(ScriptContext *ctx) { //00A6 u16 partyPos = ScriptGetVar(ctx); u16 *unk0 = ScriptGetVarPointer(ctx); u16 unk1 = ScriptGetVar(ctx); - FUN_020380CC(ctx->fieldSystem->taskManager, unk0, ctx->fieldSystem->saveBlock2, partyPos, unk1); + FUN_020380CC(ctx->fieldSystem->taskManager, unk0, ctx->fieldSystem->saveData, partyPos, unk1); return TRUE; } @@ -2180,7 +2195,7 @@ BOOL ScrCmd_CheckContestPortraitSlot(ScriptContext *ctx) { //012F BOOL ScrCmd_Unk0130(ScriptContext *ctx) { //0130 u16 unk0 = ScriptGetVar(ctx); - SaveFashionData *fashionData = Save_FashionData_Get(ctx->fieldSystem->saveBlock2); + SaveFashionData *fashionData = Save_FashionData_Get(ctx->fieldSystem->saveData); FUN_02027478(FUN_02027008(fashionData, 0), unk0); return TRUE; } @@ -2192,7 +2207,7 @@ BOOL ScrCmd_ShowGeonetScreen(ScriptContext *ctx) { //0205 } BOOL ScrCmd_ShowSealCapsuleEditor(ScriptContext *ctx) { //00A9 - ShowSealCapsuleEditor(ctx->taskManager, ctx->fieldSystem->saveBlock2); + ShowSealCapsuleEditor(ctx->taskManager, ctx->fieldSystem->saveData); return TRUE; } @@ -2215,12 +2230,12 @@ BOOL ScrCmd_Unk01D7(ScriptContext *ctx) { //01D7 - TODO: ShowPoffinCaseScreen? BOOL ScrCmd_Unk01D8(ScriptContext *ctx) { //01D8 u16 *unk0 = ScriptGetVarPointer(ctx); - struct Bag *bag = Save_Bag_Get(ctx->fieldSystem->saveBlock2); + struct Bag *bag = Save_Bag_Get(ctx->fieldSystem->saveData); if (!Bag_PocketNotEmpty(bag, POCKET_BERRIES)) { *unk0 = 1; return FALSE; } - else if (FUN_020281B8(FUN_02028048(ctx->fieldSystem->saveBlock2)) >= 0x64) { + else if (FUN_020281B8(FUN_02028048(ctx->fieldSystem->saveData)) >= 0x64) { *unk0 = 2; return FALSE; } @@ -2237,7 +2252,7 @@ BOOL ScrCmd_Unk01D9(ScriptContext *ctx) { //01D9 MI_CpuFill8(unkStruct, 0, sizeof(ScrCmdUnkStruct01D9)); //consider inlining as is in heartgold unkStruct->unk04 = unk0; unkStruct->unk06 = unk1; - unkStruct->save = ctx->fieldSystem->saveBlock2; + unkStruct->save = ctx->fieldSystem->saveData; FUN_02037FE4(ctx->fieldSystem, *unkStructPtr); SetupNativeScript(ctx, FUN_0203BB90); return TRUE; @@ -2246,7 +2261,7 @@ BOOL ScrCmd_Unk01D9(ScriptContext *ctx) { //01D9 BOOL ScrCmd_ShowPCBoxScreen(ScriptContext *ctx) { //00AB PCBoxAppData **pcBoxAppDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA); PCBoxAppData *pcBoxAppData = AllocFromHeap(11, sizeof(PCBoxAppData)); //also seems inlined - pcBoxAppData->save = ctx->fieldSystem->saveBlock2; + pcBoxAppData->save = ctx->fieldSystem->saveData; pcBoxAppData->operation = (enum PCBoxOperation)ScriptReadByte(ctx); *pcBoxAppDataPtr = pcBoxAppData; LaunchStoragePCInterface(ctx->fieldSystem, *pcBoxAppDataPtr); @@ -2292,7 +2307,7 @@ BOOL ScrCmd_InitHallOfFame(ScriptContext *ctx) { //00B1 BOOL ScrCmd_Unk00B2(ScriptContext *ctx) { //00B2 u16 unk0 = ScriptGetVar(ctx); u16 *unk1 = ScriptGetVarPointer(ctx); - if (FUN_0203384C(ctx->fieldSystem->saveBlock2)) { + if (FUN_0203384C(ctx->fieldSystem->saveData)) { *unk1 = 1; FUN_020386E0(ctx->fieldSystem, unk0); SetupNativeScript(ctx, FUN_0203BC04); @@ -2313,7 +2328,7 @@ BOOL ScrCmd_StarterSelectionScreen(ScriptContext *ctx) { //00B4 StarterSelectionData **starterSelectionPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR); *starterSelectionPtr = AllocFromHeap(11, sizeof(StarterSelectionData)); StarterSelectionData *starterSelectionData = *starterSelectionPtr; //consider inlining - starterSelectionData->options = Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveBlock2); + starterSelectionData->options = Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveData); FUN_020386A4(ctx->fieldSystem, *starterSelectionPtr); SetupNativeScript(ctx, FUN_0203BC04); return TRUE; @@ -2321,7 +2336,7 @@ BOOL ScrCmd_StarterSelectionScreen(ScriptContext *ctx) { //00B4 BOOL ScrCmd_EndStarterSelectionScreen(ScriptContext *ctx) { //00B5 StarterSelectionData **starterSelectionData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR); - struct ScriptState *flags = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState *flags = SaveArray_Flags_Get(ctx->fieldSystem->saveData); FUN_0205F378(flags, (*starterSelectionData)->state); FreeToHeap(*starterSelectionData); return FALSE; @@ -2359,7 +2374,7 @@ BOOL ScrCmd_NamePokemonScreen(ScriptContext *ctx) { //00BB FieldSystem *fieldSystem = ctx->fieldSystem; u16 partyPos = ScriptGetVar(ctx); - PlayerParty *party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + PlayerParty *party = SaveArray_PlayerParty_Get(fieldSystem->saveData); Pokemon *mon = GetPartyMonByIndex(party, partyPos); u16 monNick[20]; @@ -2453,7 +2468,7 @@ BOOL ScrCmd_ExitBattleRoom(ScriptContext *ctx) { //0204 } BOOL ScrCmd_GetPreviousMapID(ScriptContext *ctx) { //0200 - Location *location = FUN_02034DC8(FUN_02034E30(ctx->fieldSystem->saveBlock2)); + Location *location = FUN_02034DC8(Save_LocalFieldData_Get(ctx->fieldSystem->saveData)); u16 *var = ScriptGetVarPointer(ctx); *var = location->mapId; return FALSE; @@ -2471,3 +2486,74 @@ BOOL ScrCmd_RockClimb(ScriptContext *ctx) { //00BF CallFieldTask_RockClimb(ctx->taskManager, playerDirection, partyPosition); return TRUE; } + +BOOL ScrCmd_Surf(ScriptContext *ctx) { //00C0 + FUN_0205DD40(ctx->fieldSystem->unk90); + u16 partyPosition = ScriptGetVar(ctx); + u32 playerDirection = PlayerAvatar_GetFacingDirection(ctx->fieldSystem->playerAvatar); + CallFieldTask_Surf(ctx->taskManager, playerDirection, partyPosition); + return TRUE; +} + +BOOL ScrCmd_Waterfall(ScriptContext *ctx) { //00C1 + u16 partyPosition = ScriptGetVar(ctx); + u32 playerDirection = PlayerAvatar_GetFacingDirection(ctx->fieldSystem->playerAvatar); + CallFieldTask_Waterfall(ctx->taskManager, playerDirection, partyPosition); + return TRUE; +} + +BOOL ScrCmd_Fly(ScriptContext *ctx) { //00C2 + u16 mapId = ScriptReadHalfword(ctx); + u16 xVar = ScriptGetVar(ctx); + u16 yVar = ScriptGetVar(ctx); + FUN_02049274(ctx->fieldSystem, mapId, -1, xVar, yVar, DIR_SOUTH); //fly function + return TRUE; +} + +BOOL ScrCmd_Flash(ScriptContext *ctx) { //00C3 + LocalFieldData *localFieldData = Save_LocalFieldData_Get(ctx->fieldSystem->saveData); + FUN_02034DF4(localFieldData, 0); //clear weather + MOD05_021DC174(ctx->fieldSystem->unk04->unk0C, FUN_02034DEC(localFieldData)); //CallFieldTask_SetWeather? second param is get weather + return TRUE; +} + +BOOL ScrCmd_Defog(ScriptContext *ctx) { //00C4 + LocalFieldData *localFieldData = Save_LocalFieldData_Get(ctx->fieldSystem->saveData); + FUN_02034DF4(localFieldData, 0); //clear weather + MOD05_021DC174(ctx->fieldSystem->unk04->unk0C, FUN_02034DEC(localFieldData)); //CallFieldTask_SetWeather? second param is get weather + return TRUE; +} + +BOOL ScrCmd_Cut(ScriptContext *ctx) { //00C5 + void **miscData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR); //todo identify + u16 partyPosition = ScriptGetVar(ctx); + Pokemon *mon = GetPartyMonByIndex(SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData), partyPosition); + u32 gender = PlayerAvatar_GetGender(ctx->fieldSystem->playerAvatar); + *miscData = MOD06_0224666C(ctx->fieldSystem, 0, mon, gender); + SetupNativeScript(ctx, FUN_0203C9F8); + return TRUE; +} + +static BOOL FUN_0203C9F8(ScriptContext *ctx) { + void **miscData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR); //todo identify + if (MOD06_022466A0(*miscData) == TRUE) { + MOD06_022466AC(*miscData); + return TRUE; + } + return FALSE; +} + +BOOL ScrCmd_ApplyContestDress(ScriptContext *ctx) { //00C6 + MOD05_021E7030(ctx->taskManager); + return TRUE; +} + +BOOL ScrCmd_CheckBike(ScriptContext *ctx) { //00C7 + u16 *var = ScriptGetVarPointer(ctx); + if (PlayerAvatar_GetState(ctx->fieldSystem->playerAvatar) == PLAYER_STATE_CYCLING) { + *var = TRUE; + } else { + *var = FALSE; + } + return FALSE; +} diff --git a/arm9/src/scrcmd_13.c b/arm9/src/scrcmd_13.c index 69ab0f7a4..d41a0b8b9 100644 --- a/arm9/src/scrcmd_13.c +++ b/arm9/src/scrcmd_13.c @@ -22,7 +22,7 @@ extern void FUN_0208089C(struct Pokemon* pokemon, struct PlayerData* player, u32 BOOL ScrCmd_Unk0253(struct ScriptContext* ctx) //0253 { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); u16 unk = ScriptGetVar(ctx); if (unk == 0) @@ -45,7 +45,7 @@ BOOL ScrCmd_Unk0253(struct ScriptContext* ctx) //0253 BOOL ScrCmd_Unk0254(struct ScriptContext* ctx) //0254 { - void* unk = FUN_02022528(ctx->fieldSystem->saveBlock2); + void* unk = FUN_02022528(ctx->fieldSystem->saveData); struct Pokemon* pokemon = AllocMonZeroed(32); u16* ret_ptr = ScriptGetVarPointer(ctx); @@ -63,11 +63,11 @@ BOOL ScrCmd_Unk0254(struct ScriptContext* ctx) //0254 BOOL ScrCmd_Unk0255(struct ScriptContext* ctx) //0255 { - void* unk = FUN_02022528(ctx->fieldSystem->saveBlock2); - struct PCStorage* pc = GetStoragePCPointer(ctx->fieldSystem->saveBlock2); + void* unk = FUN_02022528(ctx->fieldSystem->saveData); + struct PCStorage* pc = GetStoragePCPointer(ctx->fieldSystem->saveData); struct Pokemon* pokemon = AllocMonZeroed(32); - struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveBlock2); - struct Pokedex* pokedex = Save_Pokedex_Get(ctx->fieldSystem->saveBlock2); // unused + struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveData); + struct Pokedex* pokedex = Save_Pokedex_Get(ctx->fieldSystem->saveData); // unused for (s32 i = 0; i < PARTY_SIZE; i++) { @@ -77,7 +77,7 @@ BOOL ScrCmd_Unk0255(struct ScriptContext* ctx) //0255 struct BoxPokemon* box_mon = FUN_020690E4(pokemon); GF_ASSERT(PCStorage_PlaceMonInFirstEmptySlotInAnyBox(pc, box_mon)); - FUN_0202C144(ctx->fieldSystem->saveBlock2, pokemon); + FUN_0202C144(ctx->fieldSystem->saveData, pokemon); } FreeToHeap(pokemon); diff --git a/arm9/src/scrcmd_amity_square.c b/arm9/src/scrcmd_amity_square.c index 0beda9325..c58cdaf0d 100644 --- a/arm9/src/scrcmd_amity_square.c +++ b/arm9/src/scrcmd_amity_square.c @@ -101,7 +101,7 @@ static const u16 sAmitySquarePossibleAccessoriesByPokemon[6][10] = { BOOL ScrCmd_ClearAmitySquareSteps(struct ScriptContext* ctx) //0215 { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); FUN_0205F54C(state); @@ -111,7 +111,7 @@ BOOL ScrCmd_ClearAmitySquareSteps(struct ScriptContext* ctx) //0215 BOOL ScrCmd_CheckAmitySquareSteps(struct ScriptContext* ctx) //0216 { u16* ret_ptr = ScriptGetVarPointer(ctx); - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); *ret_ptr = FUN_0205F55C(state); return FALSE; diff --git a/arm9/src/scrcmd_berry_trees.c b/arm9/src/scrcmd_berry_trees.c index 0407ea8ad..33f2ff410 100644 --- a/arm9/src/scrcmd_berry_trees.c +++ b/arm9/src/scrcmd_berry_trees.c @@ -72,7 +72,7 @@ BOOL ScrCmd_SetBerryTreeMulch(struct ScriptContext* ctx) { //0182 BOOL ScrCmd_SetBerryTreeType(struct ScriptContext* ctx) //0183 - todo: PlantBerryTree? { LocalMapObject **berryTree = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_LAST_INTERACTED); - struct GameStats* gameStats = Save_GameStats_Get(ctx->fieldSystem->saveBlock2); + struct GameStats* gameStats = Save_GameStats_Get(ctx->fieldSystem->saveData); u16 treeType = ScriptGetVar(ctx); FUN_0204B5A8(ctx->fieldSystem, *berryTree, treeType); @@ -103,7 +103,7 @@ BOOL ScrCmd_Unk0184(struct ScriptContext* ctx) //0184 - todo: SetBerryTreeWater/ BOOL ScrCmd_TakeBerryTreeBerries(struct ScriptContext* ctx) //0185 { - struct GameStats* gameStats = Save_GameStats_Get(ctx->fieldSystem->saveBlock2); + struct GameStats* gameStats = Save_GameStats_Get(ctx->fieldSystem->saveData); LocalMapObject **berryTree = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_LAST_INTERACTED); FUN_0204B4FC(ctx->fieldSystem, *berryTree); diff --git a/arm9/src/scrcmd_coins.c b/arm9/src/scrcmd_coins.c index b977c0787..83ce00fd5 100644 --- a/arm9/src/scrcmd_coins.c +++ b/arm9/src/scrcmd_coins.c @@ -39,7 +39,7 @@ BOOL ScrCmd_UpdateCoinBox(struct ScriptContext * ctx) //0077 BOOL ScrCmd_GetCoins(struct ScriptContext * ctx) //0078 - todo: CheckCoins instead? { - u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveBlock2); + u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveData); u16 * ret_ptr = ScriptGetVarPointer(ctx); *ret_ptr = CheckCoins(coins_ptr); @@ -49,7 +49,7 @@ BOOL ScrCmd_GetCoins(struct ScriptContext * ctx) //0078 - todo: CheckCoins inste BOOL ScrCmd_GiveCoins(struct ScriptContext * ctx) //0079 { - u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveBlock2); + u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveData); u16 amount = ScriptGetVar(ctx); GiveCoins(coins_ptr, amount); @@ -59,7 +59,7 @@ BOOL ScrCmd_GiveCoins(struct ScriptContext * ctx) //0079 BOOL ScrCmd_TakeCoinsImmediate(struct ScriptContext * ctx) //0080 - todo: TakeCoins instead? { - u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveBlock2); + u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveData); u16 amount = ScriptGetVar(ctx); TakeCoins(coins_ptr, amount); @@ -69,7 +69,7 @@ BOOL ScrCmd_TakeCoinsImmediate(struct ScriptContext * ctx) //0080 - todo: TakeCo BOOL ScrCmd_TakeCoinsAddress(struct ScriptContext * ctx) //02A8 - todo: TakeCoinsVar instead? { - u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveBlock2); + u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveData); u16 * amount = ScriptGetVarPointer(ctx); TakeCoins(coins_ptr, *amount); @@ -83,7 +83,7 @@ BOOL ScrCmd_HasEnoughCoinsImmediate(struct ScriptContext * ctx) //0274 - todo: C struct SaveBlock2 * sav2 = ScriptEnvironment_GetSavePtr(fieldSystem); // Created, but discarded. struct PlayerData * player = Save_PlayerData_GetProfileAddr(sav2); - u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(fieldSystem->saveBlock2); + u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(fieldSystem->saveData); u16 * ret_ptr = ScriptGetVarPointer(ctx); u32 amount = ScriptReadWord(ctx); @@ -107,7 +107,7 @@ BOOL ScrCmd_HasEnoughCoinsAddress(struct ScriptContext * ctx) //02A9 - todo: Can struct SaveBlock2 * sav2 = ScriptEnvironment_GetSavePtr(fieldSystem); // Created, but discarded struct PlayerData * player = Save_PlayerData_GetProfileAddr(sav2); - u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(fieldSystem->saveBlock2); + u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(fieldSystem->saveData); u16 * ret_ptr = ScriptGetVarPointer(ctx); u16 amount = *ScriptGetVarPointer(ctx); @@ -127,7 +127,7 @@ BOOL ScrCmd_HasEnoughCoinsAddress(struct ScriptContext * ctx) //02A9 - todo: Can BOOL ScrCmd_CanGiveCoins(struct ScriptContext * ctx) //0276 { - u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveBlock2); + u16 * coins_ptr = Save_PlayerData_GetCoinsAddr(ctx->fieldSystem->saveData); u16 * ret_ptr = ScriptGetVarPointer(ctx); u16 amount = ScriptGetVar(ctx); diff --git a/arm9/src/scrcmd_daycare.c b/arm9/src/scrcmd_daycare.c index 5c6569a8f..bbc60fa0e 100644 --- a/arm9/src/scrcmd_daycare.c +++ b/arm9/src/scrcmd_daycare.c @@ -20,7 +20,7 @@ extern u32 MOD05_021ED644(struct DayCare* daycare); BOOL ScrCmd_GetDaycarePokemonNames(struct ScriptContext* ctx) //016D { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT); struct DayCare* daycare = Save_DayCare_Get(sav2); @@ -32,7 +32,7 @@ BOOL ScrCmd_GetDaycarePokemonNames(struct ScriptContext* ctx) //016D BOOL ScrCmd_GetDaycareStatus(struct ScriptContext* ctx) //016E { struct FieldSystem* fieldSystem = ctx->fieldSystem; - struct SaveBlock2* sav2 = fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = fieldSystem->saveData; u16* ret_ptr = ScriptGetVarPointer(ctx); struct DayCare* daycare = SaveArray_Get(sav2, 8); @@ -43,7 +43,7 @@ BOOL ScrCmd_GetDaycareStatus(struct ScriptContext* ctx) //016E BOOL ScrCmd_DeleteDaycareEgg(struct ScriptContext* ctx) //01A8 { - struct DayCare* daycare = SaveArray_Get(ctx->fieldSystem->saveBlock2, 8); + struct DayCare* daycare = SaveArray_Get(ctx->fieldSystem->saveData, 8); MOD05_021ECD64(daycare); return FALSE; @@ -52,8 +52,8 @@ BOOL ScrCmd_DeleteDaycareEgg(struct ScriptContext* ctx) //01A8 BOOL ScrCmd_GiveDaycareEgg(struct ScriptContext* ctx) //01A9 { struct FieldSystem* fieldSystem = ctx->fieldSystem; - struct DayCare* daycare = SaveArray_Get(fieldSystem->saveBlock2, 8); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct DayCare* daycare = SaveArray_Get(fieldSystem->saveData, 8); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(ctx->fieldSystem); struct PlayerData* player = Save_PlayerData_GetProfileAddr(sav2); @@ -66,11 +66,11 @@ BOOL ScrCmd_Unk01A4(struct ScriptContext* ctx) //01A4 { struct FieldSystem* fieldSystem = ctx->fieldSystem; MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT); - struct SaveBlock2* sav2 = fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = fieldSystem->saveData; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 idx = ScriptGetVar(ctx); struct DayCare* daycare = SaveArray_Get(sav2, 8); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); *ret_ptr = MOD05_021EC71C(party, *messageFormat, daycare, (u8)idx); @@ -81,7 +81,7 @@ BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx) //01AA { struct FieldSystem* fieldSystem = ctx->fieldSystem; MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT); - struct SaveBlock2* sav2 = fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = fieldSystem->saveData; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 idx = ScriptGetVar(ctx); struct DayCare* daycare = SaveArray_Get(sav2, 8); @@ -93,7 +93,7 @@ BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx) //01AA BOOL ScrCmd_GetDaycareLevel(struct ScriptContext* ctx) //01AE { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u16* ret_ptr = ScriptGetVarPointer(ctx); u16 idx = ScriptGetVar(ctx); @@ -111,7 +111,7 @@ BOOL ScrCmd_Unk01AF(struct ScriptContext* ctx) //01AF u16 unused = ScriptReadHalfword(ctx); u16 idx = ScriptGetVar(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); *ret_ptr = MOD05_021ED5C4(party, idx, *messageFormat); @@ -121,9 +121,9 @@ BOOL ScrCmd_Unk01AF(struct ScriptContext* ctx) //01AF BOOL ScrCmd_Unk01B0(struct ScriptContext* ctx) //01B0 { struct FieldSystem* fieldSystem = ctx->fieldSystem; - struct SaveBlock2* sav2 = fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = fieldSystem->saveData; u16 idx = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct DayCare* daycare = SaveArray_Get(sav2, 8); MOD05_021EC57C(party, (u8)idx, daycare, sav2); @@ -133,7 +133,7 @@ BOOL ScrCmd_Unk01B0(struct ScriptContext* ctx) //01B0 BOOL ScrCmd_Unk01BC(struct ScriptContext* ctx) //01BC { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u16 idx1 = ScriptGetVar(ctx); u16 idx2 = ScriptGetVar(ctx); @@ -148,7 +148,7 @@ BOOL ScrCmd_Unk01BC(struct ScriptContext* ctx) //01BC BOOL ScrCmd_Unk01BE(struct ScriptContext* ctx) //01BE { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; u16* ret_ptr = ScriptGetVarPointer(ctx); struct DayCare* daycare = SaveArray_Get(sav2, 8); @@ -159,7 +159,7 @@ BOOL ScrCmd_Unk01BE(struct ScriptContext* ctx) //01BE BOOL ScrCmd_Unk01BF(struct ScriptContext* ctx) //01BF - todo: SaveEggPID? { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; u16* ret_ptr = ScriptGetVarPointer(ctx); struct DayCare* daycare = SaveArray_Get(sav2, 8); diff --git a/arm9/src/scrcmd_flags.c b/arm9/src/scrcmd_flags.c index d8c0caa26..928491425 100644 --- a/arm9/src/scrcmd_flags.c +++ b/arm9/src/scrcmd_flags.c @@ -4,7 +4,7 @@ #include "pokedex.h" extern void* FUN_02034E20(void*); -extern void* FUN_02034E30(void*); +extern void* Save_LocalFieldData_Get(void*); extern BOOL FUN_02055474(void*); extern void FUN_02055488(void*, u32); extern void FUN_0205ECD4(struct ScriptState* state); @@ -31,7 +31,7 @@ const u8 UNK_020F457F[8] = { BOOL ScrCmd_HasSinnohDex(struct ScriptContext* ctx) //0157 { - struct Pokedex* pokedex = Save_Pokedex_Get(ctx->fieldSystem->saveBlock2); + struct Pokedex* pokedex = Save_Pokedex_Get(ctx->fieldSystem->saveData); u16* ret_ptr = ScriptGetVarPointer(ctx); *ret_ptr = (u16)Pokedex_GetSinnohDexFlag(pokedex); @@ -41,7 +41,7 @@ BOOL ScrCmd_HasSinnohDex(struct ScriptContext* ctx) //0157 BOOL ScrCmd_GiveSinnohDex(struct ScriptContext* ctx) //0158 { - struct Pokedex* pokedex = Save_Pokedex_Get(ctx->fieldSystem->saveBlock2); + struct Pokedex* pokedex = Save_Pokedex_Get(ctx->fieldSystem->saveData); Pokedex_SetSinnohDexFlag(pokedex); @@ -51,7 +51,7 @@ BOOL ScrCmd_GiveSinnohDex(struct ScriptContext* ctx) //0158 BOOL ScrCmd_HasRunningShoes(struct ScriptContext* ctx) //0159 { u16* ret_ptr = ScriptGetVarPointer(ctx); - void* unk_sav_ptr = FUN_02034E30(ctx->fieldSystem->saveBlock2); + void* unk_sav_ptr = Save_LocalFieldData_Get(ctx->fieldSystem->saveData); void* unk = FUN_02034E20(unk_sav_ptr); *ret_ptr = (u16)FUN_02055474(unk); @@ -61,7 +61,7 @@ BOOL ScrCmd_HasRunningShoes(struct ScriptContext* ctx) //0159 BOOL ScrCmd_GiveRunningShoes(struct ScriptContext* ctx) //015A { - void* unk_sav_ptr = FUN_02034E30(ctx->fieldSystem->saveBlock2); + void* unk_sav_ptr = Save_LocalFieldData_Get(ctx->fieldSystem->saveData); void* unk = FUN_02034E20(unk_sav_ptr); FUN_02055488(unk, 1); @@ -74,7 +74,7 @@ BOOL ScrCmd_HasBadge(struct ScriptContext* ctx) //015B u16 badge_no = ScriptGetVar(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); GF_ASSERT(badge_no < 8); - struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveBlock2); + struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveData); *ret_ptr = (u16)PlayerProfile_TestBadgeFlag(player, badge_no); @@ -85,7 +85,7 @@ BOOL ScrCmd_GiveBadge(struct ScriptContext* ctx) //015C { u16 badge_no = ScriptGetVar(ctx); GF_ASSERT(badge_no < 8); - struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveBlock2); + struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveData); PlayerProfile_SetBadgeFlag(player, badge_no); @@ -95,7 +95,7 @@ BOOL ScrCmd_GiveBadge(struct ScriptContext* ctx) //015C BOOL ScrCmd_HasBag(struct ScriptContext* ctx) //015E { u16* ret_ptr = ScriptGetVarPointer(ctx); - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); *ret_ptr = (u16)FUN_0205ECE0(state); @@ -110,7 +110,7 @@ BOOL ScrCmd_GetTotalEarnedBadges(struct ScriptContext* ctx) //015D - todo: Count u16 badges; for (i = 0, badges = 0; i < 8; i++) { - struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveBlock2); + struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveData); BOOL has_badge = PlayerProfile_TestBadgeFlag(player, UNK_020F457F[i]); if (has_badge == TRUE) { @@ -124,7 +124,7 @@ BOOL ScrCmd_GetTotalEarnedBadges(struct ScriptContext* ctx) //015D - todo: Count BOOL ScrCmd_GiveBag(struct ScriptContext* ctx) //015F { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); FUN_0205ECD4(state); @@ -134,7 +134,7 @@ BOOL ScrCmd_GiveBag(struct ScriptContext* ctx) //015F BOOL ScrCmd_Unk0160(struct ScriptContext* ctx) //0160 - todo: HasPartner? CheckPartner? { u16* ret_ptr = ScriptGetVarPointer(ctx); - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); *ret_ptr = (u16)FUN_0205ED3C(state); @@ -143,7 +143,7 @@ BOOL ScrCmd_Unk0160(struct ScriptContext* ctx) //0160 - todo: HasPartner? CheckP BOOL ScrCmd_Unk0161(struct ScriptContext* ctx) //0161 - todo: GivePartner? SetPartner? { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); FUN_0205ED1C(state); @@ -152,7 +152,7 @@ BOOL ScrCmd_Unk0161(struct ScriptContext* ctx) //0161 - todo: GivePartner? SetPa BOOL ScrCmd_Unk0162(struct ScriptContext* ctx) //0162 - todo: RemovePartner? ClearPartner? { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); FUN_0205ED2C(state); @@ -162,7 +162,7 @@ BOOL ScrCmd_Unk0162(struct ScriptContext* ctx) //0162 - todo: RemovePartner? Cle BOOL ScrCmd_Unk0163(struct ScriptContext* ctx) //0163 - todo: GetSteps? CheckSteps? GetStepFlag? CheckStepFlag? { u16* ret_ptr = ScriptGetVarPointer(ctx); - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); *ret_ptr = (u16)FUN_0205ED6C(state); @@ -171,7 +171,7 @@ BOOL ScrCmd_Unk0163(struct ScriptContext* ctx) //0163 - todo: GetSteps? CheckSte BOOL ScrCmd_Unk0164(struct ScriptContext* ctx) //0164 - todo: SetStepFlag? { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); FUN_0205ED4C(state); @@ -180,7 +180,7 @@ BOOL ScrCmd_Unk0164(struct ScriptContext* ctx) //0164 - todo: SetStepFlag? BOOL ScrCmd_Unk0165(struct ScriptContext* ctx) //0165 - todo: ClearStepFlag? { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); FUN_0205ED5C(state); @@ -190,7 +190,7 @@ BOOL ScrCmd_Unk0165(struct ScriptContext* ctx) //0165 - todo: ClearStepFlag? BOOL ScrCmd_CheckGameCompleted(struct ScriptContext* ctx) //0166 { u16* ret_ptr = ScriptGetVarPointer(ctx); - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); *ret_ptr = (u16)FUN_0205ED0C(state); @@ -199,7 +199,7 @@ BOOL ScrCmd_CheckGameCompleted(struct ScriptContext* ctx) //0166 BOOL ScrCmd_SetGameCompleted(struct ScriptContext* ctx) //0167 { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); FUN_0205ECFC(state); @@ -208,7 +208,7 @@ BOOL ScrCmd_SetGameCompleted(struct ScriptContext* ctx) //0167 BOOL ScrCmd_GetSetStrength(struct ScriptContext* ctx) //01CF - todo: Strength? { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); u8 option = ScriptReadByte(ctx); u16* ret_ptr; @@ -234,7 +234,7 @@ BOOL ScrCmd_GetSetStrength(struct ScriptContext* ctx) //01CF - todo: Strength? BOOL ScrCmd_GetSetFlash(struct ScriptContext* ctx) //01D0 - todo Flash? { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); u8 option = ScriptReadByte(ctx); u16* ret_ptr; @@ -260,7 +260,7 @@ BOOL ScrCmd_GetSetFlash(struct ScriptContext* ctx) //01D0 - todo Flash? BOOL ScrCmd_GetSetDefog(struct ScriptContext* ctx) //01D1 - todo: Defog { - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); u8 option = ScriptReadByte(ctx); u16* ret_ptr; diff --git a/arm9/src/scrcmd_fossils.c b/arm9/src/scrcmd_fossils.c index 803d4f326..7ca0281df 100644 --- a/arm9/src/scrcmd_fossils.c +++ b/arm9/src/scrcmd_fossils.c @@ -22,7 +22,7 @@ BOOL ScrCmd_CountFossils(struct ScriptContext * ctx) //01F1 u16 total; for (i = 0, total = 0; i < 7; i++) { - total += Bag_GetQuantity(Save_Bag_Get(fieldSystem->saveBlock2), gFossilPokemonMap[i][0], 4); + total += Bag_GetQuantity(Save_Bag_Get(fieldSystem->saveData), gFossilPokemonMap[i][0], 4); } *ret_ptr = total; @@ -62,7 +62,7 @@ BOOL ScrCmd_GetFossilMinimumAmount(struct ScriptContext * ctx) //01F5 u16 total = 0; for (; i < 7; i++) { - total += Bag_GetQuantity(Save_Bag_Get(fieldSystem->saveBlock2), gFossilPokemonMap[i][0], 4); + total += Bag_GetQuantity(Save_Bag_Get(fieldSystem->saveData), gFossilPokemonMap[i][0], 4); if (total >= needed_amount) { *ret_ptr1 = gFossilPokemonMap[i][0]; diff --git a/arm9/src/scrcmd_items.c b/arm9/src/scrcmd_items.c index 321f85ad7..17b4aa45f 100644 --- a/arm9/src/scrcmd_items.c +++ b/arm9/src/scrcmd_items.c @@ -11,7 +11,7 @@ BOOL ScrCmd_GiveItem(struct ScriptContext* ctx) //007B u16 item_id = ScriptGetVar(ctx); u16 quantity = ScriptGetVar(ctx); u16* item_was_added = ScriptGetVarPointer(ctx); - struct Bag* bag = Save_Bag_Get(fieldSystem->saveBlock2); + struct Bag* bag = Save_Bag_Get(fieldSystem->saveData); *item_was_added = (u16)Bag_AddItem(bag, item_id, quantity, 4); @@ -25,7 +25,7 @@ BOOL ScrCmd_TakeItem(struct ScriptContext* ctx) //007C u16 item_id = ScriptGetVar(ctx); u16 quantity = ScriptGetVar(ctx); u16* item_was_taken = ScriptGetVarPointer(ctx); - struct Bag* bag = Save_Bag_Get(fieldSystem->saveBlock2); + struct Bag* bag = Save_Bag_Get(fieldSystem->saveData); *item_was_taken = (u16)Bag_TakeItem(bag, item_id, quantity, 4); @@ -39,7 +39,7 @@ BOOL ScrCmd_HasSpaceForItem(struct ScriptContext* ctx) //007D u16 item_id = ScriptGetVar(ctx); u16 quantity = ScriptGetVar(ctx); u16* has_space = ScriptGetVarPointer(ctx); - struct Bag* bag = Save_Bag_Get(fieldSystem->saveBlock2); + struct Bag* bag = Save_Bag_Get(fieldSystem->saveData); *has_space = (u16)Bag_HasSpaceForItem(bag, item_id, quantity, 4); @@ -53,7 +53,7 @@ BOOL ScrCmd_HasItem(struct ScriptContext* ctx) //007E u16 item_id = ScriptGetVar(ctx); u16 quantity = ScriptGetVar(ctx); u16* has_item = ScriptGetVarPointer(ctx); - struct Bag* bag = Save_Bag_Get(fieldSystem->saveBlock2); + struct Bag* bag = Save_Bag_Get(fieldSystem->saveData); *has_item = (u16)Bag_HasItem(bag, item_id, quantity, 11); diff --git a/arm9/src/scrcmd_mart.c b/arm9/src/scrcmd_mart.c index 8f06153ef..c654cc68a 100644 --- a/arm9/src/scrcmd_mart.c +++ b/arm9/src/scrcmd_mart.c @@ -355,7 +355,7 @@ BOOL ScrCmd_NormalMart(struct ScriptContext * ctx) //0147 - todo: Pokemart? for (i = 0; i < 8; i++) { - if (PlayerProfile_TestBadgeFlag(Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveBlock2), i) == TRUE) + if (PlayerProfile_TestBadgeFlag(Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveData), i) == TRUE) badgeCount++; } switch (badgeCount) diff --git a/arm9/src/scrcmd_move_relearner.c b/arm9/src/scrcmd_move_relearner.c index 826009214..c3102dbbc 100644 --- a/arm9/src/scrcmd_move_relearner.c +++ b/arm9/src/scrcmd_move_relearner.c @@ -46,7 +46,7 @@ BOOL ScrCmd_Unk021E(struct ScriptContext* ctx) //021E BOOL ScrCmd_Unk021F(struct ScriptContext* ctx) { //021F u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_idx = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); struct Pokemon* pokemon = GetPartyMonByIndex(party, mon_idx); u16 *eligibleMoves = GetEligibleLevelUpMoves(pokemon, 32); @@ -66,7 +66,7 @@ void FUN_02045E74(struct ScriptContext* ctx, u8 a1, struct Pokemon* pokemon, u16 struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(ctx->fieldSystem); moveRelearner->player = Save_PlayerData_GetProfileAddr(sav2); - moveRelearner->options = Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveBlock2); + moveRelearner->options = Save_PlayerData_GetOptionsAddr(ctx->fieldSystem->saveData); moveRelearner->eligibleMoves = eligibleMoves; moveRelearner->unk15 = a1; FUN_02038864(ctx->fieldSystem, moveRelearner); @@ -84,7 +84,7 @@ BOOL ScrCmd_Unk0220(struct ScriptContext* ctx) //0220 BOOL ScrCmd_Unk0221(struct ScriptContext* ctx) //0221 - todo: RememberMove? { u16 mon_idx = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); struct Pokemon* pokemon = GetPartyMonByIndex(party, mon_idx); u16 *eligibleMoves = GetEligibleLevelUpMoves(pokemon, 32); @@ -96,7 +96,7 @@ BOOL ScrCmd_Unk0224(struct ScriptContext* ctx) //0224 - todo: TeachMove? { u16 mon_idx = ScriptGetVar(ctx); u16 move = ScriptGetVar(ctx); - struct PlayerParty *party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty *party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); struct Pokemon *pokemon = GetPartyMonByIndex(party, mon_idx); u16 *eligibleMoves = AllocFromHeap(32, 2 * sizeof(u16)); diff --git a/arm9/src/scrcmd_names.c b/arm9/src/scrcmd_names.c index 66e7869ec..f961d8e82 100644 --- a/arm9/src/scrcmd_names.c +++ b/arm9/src/scrcmd_names.c @@ -39,7 +39,7 @@ BOOL ScrCmd_GetRivalName(struct ScriptContext* ctx) //00CE - todo: BufferRivalNa MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); - BufferRivalsName(*messageFormat, idx, fieldSystem->saveBlock2); + BufferRivalsName(*messageFormat, idx, fieldSystem->saveData); return FALSE; } @@ -50,7 +50,7 @@ BOOL ScrCmd_GetFriendName(struct ScriptContext* ctx) //00CF - todo: BufferFriend MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); - BufferFriendsName(*messageFormat, idx, fieldSystem->saveBlock2); + BufferFriendsName(*messageFormat, idx, fieldSystem->saveData); return FALSE; } @@ -61,7 +61,7 @@ BOOL ScrCmd_GetPokemonName(struct ScriptContext* ctx) //00D0 - todo: BufferParty MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); u16 mon_idx = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* mon = GetPartyMonByIndex(party, mon_idx); BufferBoxMonSpeciesName(*messageFormat, idx, &mon->box); @@ -153,7 +153,7 @@ BOOL ScrCmd_GetPokemonNickname(struct ScriptContext* ctx) //00D6 - todo: BufferP MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); u16 mon_idx = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* pokemon = GetPartyMonByIndex(party, mon_idx); BufferBoxMonNickname(*messageFormat, idx, &pokemon->box); @@ -164,7 +164,7 @@ BOOL ScrCmd_GetPokemonNickname(struct ScriptContext* ctx) //00D6 - todo: BufferP BOOL ScrCmd_Unk0251(struct ScriptContext* ctx) //0251 - todo: BufferBoxPokemonNickname? TextBoxPokemonNickname? { struct FieldSystem *fieldSystem = ctx->fieldSystem; - struct PCStorage* pc = GetStoragePCPointer(fieldSystem->saveBlock2); + struct PCStorage* pc = GetStoragePCPointer(fieldSystem->saveData); MessageFormat **messageFormat = FieldSysGetAttrAddr(fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); u16 box_mon_idx = ScriptGetVar(ctx); @@ -243,7 +243,7 @@ BOOL ScrCmd_GetPlayerStarterName(struct ScriptContext* ctx) //00DB - todo: Buffe { MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); u32 msg_no = FUN_0205F388(state); struct String* str = FUN_02040AE4(msg_no, 4); @@ -257,7 +257,7 @@ BOOL ScrCmd_GetRivalStarterName(struct ScriptContext* ctx) //00DC - todo: Buffer { MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); u32 msg_no = FUN_0205F398(state); struct String* str = FUN_02040AE4(msg_no, 4); @@ -271,7 +271,7 @@ BOOL ScrCmd_GetCounterpartStarterName(struct ScriptContext* ctx) //00DD - todo: { MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); u32 msg_no = FUN_0205F3C0(state); struct String* str = FUN_02040AE4(msg_no, 4); @@ -369,7 +369,7 @@ BOOL ScrCmd_GetWhiteRockInscription(struct ScriptContext* ctx) //0272 - todo: Bu MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); struct String* str = String_New(11, 11); - struct UnkStruct_02024E64* unk = FUN_02024EB4(ctx->fieldSystem->saveBlock2); + struct UnkStruct_02024E64* unk = FUN_02024EB4(ctx->fieldSystem->saveData); u16* unk_buffer = FUN_02024F0C(unk); CopyU16ArrayToString(str, unk_buffer); @@ -386,7 +386,7 @@ BOOL ScrCmd_GetPokemonMoveName(struct ScriptContext* ctx) //01CB - todo: BufferP u8 idx = ScriptReadByte(ctx); u16 mon_idx = ScriptGetVar(ctx); u16 mon_move_idx = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* pokemon = GetPartyMonByIndex(party, mon_idx); u16 move = (u16)GetMonData(pokemon, MON_DATA_MOVE1 + mon_move_idx, NULL); @@ -490,7 +490,7 @@ BOOL ScrCmd_Unk02CA(struct ScriptContext* ctx) //02CA - todo: BufferIndefFriendS { MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT); u8 idx = ScriptReadByte(ctx); - struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(ctx->fieldSystem->saveData); u32 species = FUN_0205F3C0(state); BufferSpeciesNameWithArticle(*messageFormat, idx, species); diff --git a/arm9/src/scrcmd_party.c b/arm9/src/scrcmd_party.c index a9fd6fedc..ed8a98d63 100644 --- a/arm9/src/scrcmd_party.c +++ b/arm9/src/scrcmd_party.c @@ -22,8 +22,8 @@ BOOL ScrCmd_GiveMon(struct ScriptContext* ctx) //0096 - todo: GivePokemon? u16 level = ScriptGetVar(ctx); u16 item = ScriptGetVar(ctx); u16 * varPtr = ScriptGetVarPointer(ctx); - struct PlayerParty * party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); - *varPtr = (u16)GiveMon(11, fieldSystem->saveBlock2, species, (u8)level, item, mapSec, 12); + struct PlayerParty * party = SaveArray_PlayerParty_Get(fieldSystem->saveData); + *varPtr = (u16)GiveMon(11, fieldSystem->saveData, species, (u8)level, item, mapSec, 12); return FALSE; } @@ -35,7 +35,7 @@ BOOL ScrCmd_GetPartyMonSpecies(struct ScriptContext* ctx) //0198 - todo: GetPart struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* mon_slot = GetVarPointer(ctx->fieldSystem, ScriptReadHalfword(ctx)); //for some reason this is *required* for matching, cannot use ScriptGetVarPointer here ret_ptr = GetVarPointer(ctx->fieldSystem, ScriptReadHalfword(ctx)); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, *mon_slot); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -61,7 +61,7 @@ BOOL ScrCmd_CheckPartyMonOTID(struct ScriptContext* ctx) //0199 - todo: CheckPar u16* mon_slot = ScriptGetVarPointer(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, *mon_slot); u16 party_mon_otid = (u16)GetMonData(party_mon, MON_DATA_OTID, NULL); @@ -81,10 +81,10 @@ BOOL ScrCmd_CheckPartyMonOTID(struct ScriptContext* ctx) //0199 - todo: CheckPar BOOL ScrCmd_GiveEgg(struct ScriptContext* ctx) //0097 { struct FieldSystem *fieldSystem = ctx->fieldSystem; - struct PlayerData* player = Save_PlayerData_GetProfileAddr(fieldSystem->saveBlock2); + struct PlayerData* player = Save_PlayerData_GetProfileAddr(fieldSystem->saveData); u16 species = ScriptGetVar(ctx); u16 unk = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); u8 party_count = (u8)GetPartyCount(party); if (party_count < PARTY_SIZE) @@ -107,7 +107,7 @@ BOOL ScrCmd_SetPartyMonMove(struct ScriptContext* ctx) //0098 - todo: ReplacePar u16 mon_slot = ScriptGetVar(ctx); u16 move_slot = ScriptGetVar(ctx); u16 move = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); PartyMonSetMoveInSlot(party, mon_slot, move_slot, move); @@ -120,7 +120,7 @@ BOOL ScrCmd_PartyMonHasMove(struct ScriptContext* ctx) //0099 u16* ret_ptr = ScriptGetVarPointer(ctx); u16 required_move = ScriptGetVar(ctx); u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *ret_ptr = 0; @@ -147,12 +147,12 @@ BOOL ScrCmd_FindPartyMonWithMove(struct ScriptContext* ctx) //009A - todo: Check struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 required_move = ScriptGetVar(ctx); - u8 party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + u8 party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); u8 i; for (i = 0, *ret_ptr = PARTY_SIZE; i < party_count; i++) { - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, i); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -176,7 +176,7 @@ BOOL ScrCmd_SurvivePsn(struct ScriptContext* ctx) //01F7 { u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *ret_ptr = (u16)SurvivePoisoning(party_mon); @@ -191,12 +191,12 @@ BOOL ScrCmd_CountPartyMonsAtOrBelowLevel(struct ScriptContext* ctx) //01F6 struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 highest_level = ScriptGetVar(ctx); - party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); u8 mons; for (i = 0, mons = 0, *ret_ptr = 0; i < party_count; i++) { - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, i); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -219,7 +219,7 @@ BOOL ScrCmd_GetPartyMonLevel(struct ScriptContext* ctx) //0278 struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *ret_ptr = 0; @@ -238,7 +238,7 @@ BOOL ScrCmd_GetPartyMonNature(struct ScriptContext* ctx) //0212 struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); - u8 party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + u8 party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); if (mon_slot >= party_count) { @@ -246,7 +246,7 @@ BOOL ScrCmd_GetPartyMonNature(struct ScriptContext* ctx) //0212 return FALSE; } - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -265,12 +265,12 @@ BOOL ScrCmd_FindPartyMonWithNature(struct ScriptContext* ctx) //0213 - todo: Che struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 required_nature = ScriptGetVar(ctx); - u8 party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + u8 party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); u8 i; for (i = 0, *ret_ptr = 0xFF; i < party_count; i++) { - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, i); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -293,7 +293,7 @@ BOOL ScrCmd_GetPartyMonFriendship(struct ScriptContext* ctx) //01B9 struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_FRIENDSHIP, NULL); @@ -306,7 +306,7 @@ BOOL ScrCmd_AddPartyMonFriendship(struct ScriptContext* ctx) //01BA u16 friendship_to_add = ScriptGetVar(ctx); u16 mon_slot = ScriptGetVar(ctx); u16 map_sec = MapHeader_GetMapSec(*ctx->fieldSystem->mapId); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); u16 friendship = (u16)GetMonData(party_mon, MON_DATA_FRIENDSHIP, NULL); @@ -349,7 +349,7 @@ BOOL ScrCmd_SubtractPartyMonFriendship(struct ScriptContext* ctx) //01BB struct FieldSystem *fieldSystem = ctx->fieldSystem; u16 friendship_to_deplete = ScriptGetVar(ctx); u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); u16 friendship = (u16)GetMonData(party_mon, MON_DATA_FRIENDSHIP, NULL); @@ -372,7 +372,7 @@ BOOL ScrCmd_GetPartyMonContestCondition(struct ScriptContext* ctx) //0281 u16 mon_slot = ScriptGetVar(ctx); u16 contest_condition_id = ScriptGetVar(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_COOL + contest_condition_id, NULL); @@ -383,7 +383,7 @@ BOOL ScrCmd_GetLeadingPartyMonSlot(struct ScriptContext* ctx) //0247 { u16* ret_ptr = ScriptGetVarPointer(ctx); - *ret_ptr = FUN_02054DEC(ctx->fieldSystem->saveBlock2); + *ret_ptr = FUN_02054DEC(ctx->fieldSystem->saveData); return FALSE; } @@ -393,7 +393,7 @@ BOOL ScrCmd_GetPartyMonTypes(struct ScriptContext* ctx) //0248 u16* type1 = ScriptGetVarPointer(ctx); u16* type2 = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *type1 = (u16)GetMonData(party_mon, MON_DATA_TYPE_1, NULL); @@ -405,7 +405,7 @@ BOOL ScrCmd_CountPartyMons(struct ScriptContext* ctx) //0177 { struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); *ret_ptr = (u16)GetPartyCount(party); return FALSE; @@ -418,11 +418,11 @@ BOOL ScrCmd_CountPartyMons_OmitEggs(struct ScriptContext* ctx) //019A struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); - s32 party_count = GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + s32 party_count = GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); for (i = 0, non_egg_mons = 0; i < party_count; i++) { - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, i); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -445,7 +445,7 @@ BOOL ScrCmd_CountAvailablePartyMons_IgnoreSlot(struct ScriptContext* ctx) //019B struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); slot_to_ignore = ScriptGetVar(ctx); - party_count = GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + party_count = GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); u32 available_mons; s32 i; @@ -453,7 +453,7 @@ BOOL ScrCmd_CountAvailablePartyMons_IgnoreSlot(struct ScriptContext* ctx) //019B { if (i != slot_to_ignore) { - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, i); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -479,14 +479,14 @@ BOOL ScrCmd_CountAvailablePartyAndPCMons(struct ScriptContext* ctx) //019C struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); - pc = GetStoragePCPointer(fieldSystem->saveBlock2); - party_count = GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + pc = GetStoragePCPointer(fieldSystem->saveData); + party_count = GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); u32 mons; s32 i; for (i = 0, mons = 0; i < party_count; i++) { - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, i); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -511,12 +511,12 @@ BOOL ScrCmd_GetPartyEggCount(struct ScriptContext* ctx) //019D struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); - party_count = GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + party_count = GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); s32 i; for (i = 0, eggs_in_party = 0; i < party_count; i++) { - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, i); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -537,11 +537,11 @@ BOOL ScrCmd_CheckPartyForPokerus(struct ScriptContext* ctx) //0119 struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); - party_count = (u16)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + party_count = (u16)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); for (i = 0, *ret_ptr = 0; i < party_count; i++) { - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, i); BOOL party_mon_has_pokerus = (BOOL)GetMonData(party_mon, MON_DATA_POKERUS, NULL); @@ -559,7 +559,7 @@ BOOL ScrCmd_GetPartyMonGender(struct ScriptContext* ctx) //011A { u16 mon_slot = ScriptGetVar(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_GENDER, NULL); @@ -574,7 +574,7 @@ BOOL ScrCmd_CountPartyMonMoves(struct ScriptContext* ctx) //01C8 struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); party_mon = GetPartyMonByIndex(party, mon_slot); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -619,7 +619,7 @@ BOOL ScrCmd_ForgetPartyMonMove(struct ScriptContext* ctx) //01C9 struct FieldSystem *fieldSystem = ctx->fieldSystem; u16 mon_slot = ScriptGetVar(ctx); u16 move_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); FUN_020699A4(party_mon, move_slot); @@ -633,7 +633,7 @@ BOOL ScrCmd_GetPartyMonMove(struct ScriptContext* ctx) //01CA u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); u16 move_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_MOVE1 + move_slot, NULL); @@ -645,7 +645,7 @@ BOOL ScrCmd_GetPartyMonHeldItem(struct ScriptContext* ctx) //01EE struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *ret_ptr = (u16)GetMonData(party_mon, MON_DATA_HELD_ITEM, NULL); @@ -656,7 +656,7 @@ BOOL ScrCmd_ResetPartyMonHeldItem(struct ScriptContext* ctx) //01F0 { struct FieldSystem *fieldSystem = ctx->fieldSystem; u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); u16 party_mon_held_item = ITEM_NONE; @@ -670,12 +670,12 @@ BOOL ScrCmd_CheckPartyForSpecies(struct ScriptContext* ctx) //01C0 struct FieldSystem *fieldSystem = ctx->fieldSystem; u16* ret_ptr = ScriptGetVarPointer(ctx); u16 species = ScriptGetVar(ctx); - u8 party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveBlock2)); + u8 party_count = (u8)GetPartyCount(SaveArray_PlayerParty_Get(fieldSystem->saveData)); u8 i; for (i = 0, *ret_ptr = 0; i < party_count; i++) { - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, i); BOOL party_mon_is_egg = (BOOL)GetMonData(party_mon, MON_DATA_IS_EGG, NULL); @@ -697,7 +697,7 @@ BOOL ScrCmd_CountPartyMonRibbons(struct ScriptContext* ctx) //022E { u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); u16 ribbon_idx; @@ -722,8 +722,8 @@ BOOL ScrCmd_CountTotalPartyRibbons(struct ScriptContext* ctx) //022F u16 ribbons; u16* ret_ptr = ScriptGetVarPointer(ctx); - u16 party_count = (u16)GetPartyCount(SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2)); - party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + u16 party_count = (u16)GetPartyCount(SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData)); + party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); for (ribbon_idx = 0, ribbons = 0; ribbon_idx < 80; ribbon_idx++) { @@ -757,7 +757,7 @@ BOOL ScrCmd_PartyMonHasRibbon(struct ScriptContext* ctx) //0230 u16* ret_ptr = ScriptGetVarPointer(ctx); u16 mon_slot = ScriptGetVar(ctx); u16 ribbon_idx = ScriptGetVar(ctx); - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); *ret_ptr = (u16)GetMonData(party_mon, FUN_0207FC5C((u8)ribbon_idx, 0), NULL); @@ -769,7 +769,7 @@ BOOL ScrCmd_GivePartyMonRibbon(struct ScriptContext* ctx) //0231 u16 mon_slot = ScriptGetVar(ctx); u16 ribbon_idx = ScriptGetVar(ctx); u8 mon_has_ribbon = TRUE; - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); struct Pokemon* party_mon = GetPartyMonByIndex(party, mon_slot); SetMonData(party_mon, (s32)FUN_0207FC5C((u8)ribbon_idx, 0), &mon_has_ribbon); @@ -782,8 +782,8 @@ BOOL ScrCmd_CheckPartyForBadEgg(struct ScriptContext* ctx) //02B7 u16 ribbon_idx; u16* ret_ptr = ScriptGetVarPointer(ctx); - u16 party_count = (u16)GetPartyCount(SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2)); - struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveBlock2); + u16 party_count = (u16)GetPartyCount(SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData)); + struct PlayerParty* party = SaveArray_PlayerParty_Get(ctx->fieldSystem->saveData); // BUG: Probably a copy-paste fail. Checks if your party has a Bad Egg in it, // 80 times. diff --git a/arm9/src/scrcmd_sound.c b/arm9/src/scrcmd_sound.c index e53ab8f57..24775099f 100644 --- a/arm9/src/scrcmd_sound.c +++ b/arm9/src/scrcmd_sound.c @@ -198,7 +198,7 @@ BOOL ScrCmd_CheckChatotCry(struct ScriptContext* ctx) //0059 { u16* ret_ptr = ScriptGetVarPointer(ctx); - struct SaveChatotSoundClip* chatotSoundClip = Save_Chatot_Get(ctx->fieldSystem->saveBlock2); + struct SaveChatotSoundClip* chatotSoundClip = Save_Chatot_Get(ctx->fieldSystem->saveData); if (Chatot_checkCry(chatotSoundClip) == 1) { *ret_ptr = 1; @@ -236,7 +236,7 @@ BOOL ScrCmd_StopChatotRecord(struct ScriptContext* ctx) //005B BOOL ScrCmd_SaveChatotCry(struct ScriptContext* ctx) //005C { - struct SaveChatotSoundClip* chatotSoundClip = Save_Chatot_Get(ctx->fieldSystem->saveBlock2); + struct SaveChatotSoundClip* chatotSoundClip = Save_Chatot_Get(ctx->fieldSystem->saveData); Chatot_saveRecording(chatotSoundClip); return TRUE; diff --git a/arm9/src/scrcmd_underground.c b/arm9/src/scrcmd_underground.c index bdc3b8b7f..0332a8696 100644 --- a/arm9/src/scrcmd_underground.c +++ b/arm9/src/scrcmd_underground.c @@ -11,7 +11,7 @@ extern BOOL FUN_020260C4(void*, u16, u16); BOOL ScrCmd_GiveSecretBaseDecoration(struct ScriptContext* ctx) //0083 { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; u16 unk1 = ScriptGetVar(ctx); u16 unused = ScriptGetVar(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); @@ -33,7 +33,7 @@ BOOL ScrCmd_TakeSecretBaseDecoration(struct ScriptContext* ctx) //0084 BOOL ScrCmd_HasSpaceForDecoration(struct ScriptContext* ctx) //0085 { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; u16 unk1 = ScriptGetVar(ctx); u16 unused = ScriptGetVar(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); @@ -55,7 +55,7 @@ BOOL ScrCmd_GetDecorationCount(struct ScriptContext* ctx) //0086 - somewhat unsu BOOL ScrCmd_GiveUndergroundTrap(struct ScriptContext* ctx) //0087 { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; u16 unk1 = ScriptGetVar(ctx); u16 unused = ScriptGetVar(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); @@ -95,7 +95,7 @@ BOOL ScrCmd_GetTrapCount(struct ScriptContext* ctx) //008A BOOL ScrCmd_GiveTreasure(struct ScriptContext* ctx) //008B { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; u16 unused1 = ScriptGetVar(ctx); u16 unused2 = ScriptGetVar(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); @@ -133,7 +133,7 @@ BOOL ScrCmd_GetTreasureCount(struct ScriptContext* ctx) //008E BOOL ScrCmd_GiveUndergroundSphere(struct ScriptContext* ctx) //008F { - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; u16 unk1 = ScriptGetVar(ctx); u16 unk2 = ScriptGetVar(ctx); u16* ret_ptr = ScriptGetVarPointer(ctx); diff --git a/arm9/src/scrcmd_union.c b/arm9/src/scrcmd_union.c index 723908818..534998cdf 100644 --- a/arm9/src/scrcmd_union.c +++ b/arm9/src/scrcmd_union.c @@ -13,8 +13,8 @@ extern BOOL FUN_020612F8(struct FieldSystem*); BOOL ScrCmd_UnionGroup(struct ScriptContext* ctx) //021D { MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT); - struct UnkSaveStruct_020286F8* unk_sav_ptr = FUN_0202881C(ctx->fieldSystem->saveBlock2); - struct SaveBlock2* sav2 = ctx->fieldSystem->saveBlock2; + struct UnkSaveStruct_020286F8* unk_sav_ptr = FUN_0202881C(ctx->fieldSystem->saveData); + struct SaveBlock2* sav2 = ctx->fieldSystem->saveData; u16 option = ScriptReadHalfword(ctx); switch (option) @@ -68,7 +68,7 @@ BOOL ScrCmd_UnionGroup(struct ScriptContext* ctx) //021D } case 6: { //create a group struct String* player_name = String_New(64, 32); - struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveBlock2); + struct PlayerData* player = Save_PlayerData_GetProfileAddr(ctx->fieldSystem->saveData); PlayerName_FlatToString(player, player_name); FUN_020287C0(unk_sav_ptr, 0, 1, player_name); diff --git a/arm9/src/unk_0204B0A0.c b/arm9/src/unk_0204B0A0.c index 5fd3cf417..9b465582f 100644 --- a/arm9/src/unk_0204B0A0.c +++ b/arm9/src/unk_0204B0A0.c @@ -29,7 +29,7 @@ void FUN_0204B0F8(struct FieldSystem *fieldSystem) RTCDate date; RTCTime time; - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); if (rtc_info->field_00 != 0) { GF_RTC_CopyDateTime(&date, &time); @@ -82,20 +82,20 @@ void FUN_0204B1DC(struct FieldSystem *fieldSystem, s32 a1) struct SaveBlock2* sav2 = ScriptEnvironment_GetSavePtr(fieldSystem); FUN_02025A60(sav2, a1); FUN_0203959C(fieldSystem); - FUN_02060344(fieldSystem->saveBlock2, a1); + FUN_02060344(fieldSystem->saveData, a1); - void* unk_sav_ptr1 = FUN_0202881C(fieldSystem->saveBlock2); + void* unk_sav_ptr1 = FUN_0202881C(fieldSystem->saveData); FUN_02028754(unk_sav_ptr1, (u32)a1); - void* unk_sav_ptr2 = FUN_0202A9B0(fieldSystem->saveBlock2); - unk_sav_ptr1 = FUN_0202881C(fieldSystem->saveBlock2); + void* unk_sav_ptr2 = FUN_0202A9B0(fieldSystem->saveData); + unk_sav_ptr1 = FUN_0202881C(fieldSystem->saveData); u32 unk1 = FUN_020287A4(unk_sav_ptr1); FUN_0202A988(unk_sav_ptr2, unk1); - struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveBlock2); + struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData); Party_UpdatePokerus(party, a1); - struct ScriptState* state = SaveArray_Flags_Get(fieldSystem->saveBlock2); + struct ScriptState* state = SaveArray_Flags_Get(fieldSystem->saveData); s32 unk2 = FUN_0205F594(state); u16 unk3; @@ -109,90 +109,90 @@ void FUN_0204B1DC(struct FieldSystem *fieldSystem, s32 a1) } FUN_0205F5A4(state, unk3); - FUN_0205F618(fieldSystem->saveBlock2, (u16)a1); - FUN_0205F668(fieldSystem->saveBlock2); - FUN_0206007C(fieldSystem->saveBlock2); + FUN_0205F618(fieldSystem->saveData, (u16)a1); + FUN_0205F668(fieldSystem->saveData); + FUN_0206007C(fieldSystem->saveData); - void* unk_sav_ptr3 = FUN_02029AFC(fieldSystem->saveBlock2); + void* unk_sav_ptr3 = FUN_02029AFC(fieldSystem->saveData); FUN_02029C08(unk_sav_ptr3); } void FUN_0204B270(struct FieldSystem *fieldSystem, s32 a1, struct RTCTime* time) { FUN_0204B3D0(fieldSystem, a1); - FUN_0202A9D0(fieldSystem->saveBlock2, a1); + FUN_0202A9D0(fieldSystem->saveData, a1); BOOL unk_bool = FUN_0204B33C(fieldSystem); - FUN_02025B60(fieldSystem->saveBlock2, a1, unk_bool); - void* unk_sav_ptr = FUN_02022504(fieldSystem->saveBlock2); + FUN_02025B60(fieldSystem->saveData, a1, unk_bool); + void* unk_sav_ptr = FUN_02022504(fieldSystem->saveData); FUN_0202B3C4(unk_sav_ptr, a1, time->minute); } u32 Script_GetTimeOfDay(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return GF_RTC_GetTimeOfDayByHour(rtc_info->time.hour); } u32 Script_GetMonth(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->date.month; } u32 Script_GetDay(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->date.day; } RTCWeek Script_GetWeekday(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->date.week; } u32 Script_GetHour(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->time.hour; } u32 Script_GetMinute(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return rtc_info->time.minute; } void Script_SavRTC_x24toDateTime(struct FieldSystem *fieldSystem, struct RTCDate* date, struct RTCTime* time) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); RTC_ConvertSecondToDateTime(date, time, rtc_info->secondsSinceNitroEpoch); } void Script_SavRTC_x2CtoDateTime(struct FieldSystem *fieldSystem, struct RTCDate* date, struct RTCTime* time) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); RTC_ConvertSecondToDateTime(date, time, rtc_info->field_2C); } void Script_SavRTC_DateTimeTox2C(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); rtc_info->field_2C = GF_RTC_DateTimeToSec(); } BOOL FUN_0204B33C(struct FieldSystem *fieldSystem) { - struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveBlock2); + struct UnkSaveStruct_0202376C_sub* rtc_info = Save_SysInfo_RTC_Get(fieldSystem->saveData); return FUN_02023874(rtc_info); } diff --git a/arm9/src/unk_0205FA2C.c b/arm9/src/unk_0205FA2C.c index b191393a9..dae7edcf5 100644 --- a/arm9/src/unk_0205FA2C.c +++ b/arm9/src/unk_0205FA2C.c @@ -35,7 +35,7 @@ u32 FUN_0205FA2C( struct UnkPlayerStruct1_0205FA2C *ptr = (struct UnkPlayerStruct1_0205FA2C *)AllocFromHeapAtEnd( heap_id, sizeof(struct UnkPlayerStruct1_0205FA2C)); - struct SaveBlock2 *sav2 = fieldSystem->saveBlock2; + struct SaveBlock2 *sav2 = fieldSystem->saveData; MI_CpuFill8(ptr, 0, sizeof(struct UnkPlayerStruct1_0205FA2C)); ptr->options = Save_PlayerData_GetOptionsAddr(sav2); @@ -101,7 +101,7 @@ u32 FUN_0205FAD8( u32 FUN_0205FB34( struct UnkCallbackStruct1_0205FA2C *param0, struct FieldSystem *fieldSystem, u32 heap_id) { - struct SaveBlock2 *sav2 = fieldSystem->saveBlock2; + struct SaveBlock2 *sav2 = fieldSystem->saveData; struct UnkPlayerStruct2_0205FA2C *ptr = (struct UnkPlayerStruct2_0205FA2C *)AllocFromHeapAtEnd( heap_id, sizeof(struct UnkPlayerStruct2_0205FA2C)); @@ -206,7 +206,7 @@ void FUN_0205FC50(struct TaskManager *taskManager, u32 FUN_0205FC9C( struct UnkCallbackStruct2_0205FA2C *param0, struct FieldSystem *fieldSystem) { - if (FUN_0203384C(fieldSystem->saveBlock2)) + if (FUN_0203384C(fieldSystem->saveData)) { param0->unk08 = FUN_02038790(fieldSystem, param0->unk12, param0->unk14); diff --git a/arm9/src/unk_0206015C.c b/arm9/src/unk_0206015C.c index 62e30d695..2ce169241 100644 --- a/arm9/src/unk_0206015C.c +++ b/arm9/src/unk_0206015C.c @@ -65,7 +65,7 @@ BOOL FUN_02060194(struct TaskManager *taskManager) break; case 2: - struct ScriptState *scrState = SaveArray_Flags_Get(fieldSystem->saveBlock2); + struct ScriptState *scrState = SaveArray_Flags_Get(fieldSystem->saveData); u8 unkD = unkStruct1->unkD; if (unkD == 0) { diff --git a/include/constants/global_fieldmap.h b/include/constants/global_fieldmap.h new file mode 100644 index 000000000..bbf4be67b --- /dev/null +++ b/include/constants/global_fieldmap.h @@ -0,0 +1,15 @@ +#ifndef POKEDIAMOND_CONSTANTS_GLOBAL_FIELDMAP_H +#define POKEDIAMOND_CONSTANTS_GLOBAL_FIELDMAP_H + +// Facing direction +#define DIR_NORTH 0 +#define DIR_SOUTH 1 +#define DIR_WEST 2 +#define DIR_EAST 3 + +// Player avatar state +#define PLAYER_STATE_WALKING 0 +#define PLAYER_STATE_CYCLING 1 +#define PLAYER_STATE_SURFING 2 + +#endif //POKEDIAMOND_CONSTANTS_GLOBAL_FIELDMAP_H diff --git a/include/scrcmd.h b/include/scrcmd.h index f4c763aa5..6f467a47d 100644 --- a/include/scrcmd.h +++ b/include/scrcmd.h @@ -214,6 +214,14 @@ BOOL ScrCmd_ExitBattleRoom(ScriptContext *ctx); BOOL ScrCmd_GetPreviousMapID(ScriptContext *ctx); BOOL ScrCmd_GetCurrentMapID(ScriptContext *ctx); BOOL ScrCmd_RockClimb(ScriptContext *ctx); +BOOL ScrCmd_Surf(ScriptContext *ctx); +BOOL ScrCmd_Waterfall(ScriptContext *ctx); +BOOL ScrCmd_Fly(ScriptContext *ctx); +BOOL ScrCmd_Flash(ScriptContext *ctx); +BOOL ScrCmd_Defog(ScriptContext *ctx); +BOOL ScrCmd_Cut(ScriptContext *ctx); +BOOL ScrCmd_ApplyContestDress(ScriptContext *ctx); +BOOL ScrCmd_CheckBike(ScriptContext *ctx); // scrcmd_mart.c BOOL ScrCmd_NormalMart(struct ScriptContext * ctx); diff --git a/include/script.h b/include/script.h index c0595ff76..72e76967b 100644 --- a/include/script.h +++ b/include/script.h @@ -81,12 +81,21 @@ typedef struct Location { u32 direction; } Location; +typedef struct UnkFieldStruct04 { + u8 padding[0xC]; + u32 unk0C; +} UnkFieldStruct04; + +typedef struct LocalFieldData { + +} LocalFieldData; //todo fill out and move to own file + typedef struct FieldSystem //todo move to field_system.c { u32 *unk00; - u8 padding[0x4]; + UnkFieldStruct04 *unk04; struct BgConfig *bgConfig; - struct SaveBlock2 *saveBlock2; //0xC + struct SaveBlock2 *saveData; //0xC TaskManager *taskManager; u8 padding2[0x8]; u32 *mapId; //0x1C @@ -99,9 +108,11 @@ typedef struct FieldSystem //todo move to field_system.c u32 unk60; u8 padding5[0x14]; u32 unk78; - u8 padding6[0x1C]; + u8 padding6[0x14]; + u32 unk90; + u8 padding7[0x4]; u32 *unk98; - u8 padding7[0xC]; + u8 padding8[0xC]; struct UnkStruct_02046444 * unkA8; } FieldSystem;