mirror of
https://github.com/pret/pokeheartgold.git
synced 2025-03-04 11:09:53 +00:00
Merge pull request #111 from adrienntindall/unk_0203DE74
Decompile field_system.c
This commit is contained in:
commit
cb8d9a9f1c
@ -57,7 +57,7 @@ FieldSys_TakePhoto: ; 0x0206A798
|
||||
strb r0, [r1]
|
||||
_0206A7FE:
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Save_PhotoAlbum_get
|
||||
bl PhotoAlbum_GetIndexOfFirstEmptySlot
|
||||
cmp r0, #0xff
|
||||
@ -652,7 +652,7 @@ _0206AC36:
|
||||
ldr r0, _0206AEAC ; =NNS_G3dGlb + 0x80
|
||||
str r1, [r0, #0x20]
|
||||
add r0, r6, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
bl PlayerProfile_GetTrainerGender
|
||||
add r5, #0x30
|
||||
@ -1123,7 +1123,7 @@ sub_0206B014: ; 0x0206B014
|
||||
add r0, r4, #0
|
||||
str r2, [sp]
|
||||
str r3, [sp, #4]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r7, r0, #0
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
add r6, r0, #0
|
||||
@ -1511,7 +1511,7 @@ _0206B332:
|
||||
b _0206B824
|
||||
_0206B346:
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
bl PlayerProfile_GetTrainerGender
|
||||
ldr r1, [r4, #0x40]
|
||||
@ -1897,7 +1897,7 @@ _0206B652:
|
||||
cmp r0, #0
|
||||
beq _0206B6EA
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Save_PhotoAlbum_get
|
||||
add r5, r0, #0
|
||||
bl PhotoAlbum_GetIndexOfFirstEmptySlot
|
||||
|
@ -3868,7 +3868,7 @@
|
||||
.short \arg0
|
||||
.endm
|
||||
|
||||
.macro scrcmd_683 arg0
|
||||
.macro get_static_encounter_outcome arg0
|
||||
.short 683
|
||||
.short \arg0
|
||||
.endm
|
||||
|
@ -633,7 +633,7 @@ _021E5EB4: .word FS_OVERLAY_ID(OVY_3)
|
||||
thumb_func_start ov01_021E5EB8
|
||||
ov01_021E5EB8: ; 0x021E5EB8
|
||||
push {r3, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
bl SavGymmick_GetType
|
||||
cmp r0, #0
|
||||
|
@ -18287,7 +18287,7 @@ ov02_0224E4EC: ; 0x0224E4EC
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4]
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
|
@ -206,7 +206,7 @@ _02253F84:
|
||||
str r0, [r2, #0x74]
|
||||
ldr r0, [r1]
|
||||
ldr r0, [r0, #0x68]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
ldr r1, _02254050 ; =ov03_022598A0
|
||||
ldr r1, [r1]
|
||||
|
@ -10,7 +10,7 @@ ov04_02253E20: ; 0x02253E20
|
||||
push {r3, r4, r5, r6, lr}
|
||||
sub sp, #0x24
|
||||
add r5, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #4
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -103,7 +103,7 @@ ov04_02253ED4: ; 0x02253ED4
|
||||
str r0, [r4]
|
||||
add r0, r5, #0
|
||||
str r5, [r4, #4]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #4
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -432,7 +432,7 @@ ov04_02254190: ; 0x02254190
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
add r4, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #5
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -719,7 +719,7 @@ Fsys_FlipAzaleaGymSwitch: ; 0x02254404
|
||||
sub sp, #0xc
|
||||
add r5, r0, #0
|
||||
add r6, r1, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #5
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -897,7 +897,7 @@ Fsys_BeginAzaleaGymSpinarakRide: ; 0x02254568
|
||||
strb r0, [r4, #0x16]
|
||||
add r0, r6, #0
|
||||
str r1, [r4, #0x1c]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #5
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -1451,7 +1451,7 @@ _02254992:
|
||||
cmp r0, r1
|
||||
blt _022549FE
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #5
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -1808,7 +1808,7 @@ ov04_02254CBC: ; 0x02254CBC
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x34
|
||||
add r5, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #1
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -2049,7 +2049,7 @@ _02254E86:
|
||||
mov r1, #1
|
||||
bl ov01_021F3B2C
|
||||
ldr r0, [r4, #0xc]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #1
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -2175,7 +2175,7 @@ ov04_02254F8C: ; 0x02254F8C
|
||||
ldr r0, [r3]
|
||||
str r0, [r2]
|
||||
ldr r0, [sp, #4]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #6
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -2296,7 +2296,7 @@ ov04_0225507C: ; 0x0225507C
|
||||
ov04_02255090: ; 0x02255090
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
bl SavGymmick_GetType
|
||||
cmp r0, #6
|
||||
@ -3650,7 +3650,7 @@ _02255A16:
|
||||
mul r1, r2
|
||||
add r5, r0, r1
|
||||
add r0, r6, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #6
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -3824,7 +3824,7 @@ _02255BA6:
|
||||
add r0, #0x4f
|
||||
strb r1, [r0]
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #6
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -4327,7 +4327,7 @@ _02255FBC: .word SEQ_SE_GS_GONDORA_KABEHIT
|
||||
ov04_02255FC0: ; 0x02255FC0
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #2
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -4401,7 +4401,7 @@ ov04_02256044: ; 0x02256044
|
||||
ov04_02256058: ; 0x02256058
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
add r4, r0, #0
|
||||
bl SavGymmick_GetType
|
||||
@ -4438,7 +4438,7 @@ ov04_0225609C: ; 0x0225609C
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #2
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -4732,7 +4732,7 @@ _022562EC:
|
||||
ov04_02256304: ; 0x02256304
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #3
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -4828,7 +4828,7 @@ ov04_022563B0: ; 0x022563B0
|
||||
ov04_022563C4: ; 0x022563C4
|
||||
push {r4, lr}
|
||||
add r4, r1, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #3
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -4872,7 +4872,7 @@ ov04_0225640C: ; 0x0225640C
|
||||
add r5, r0, #0
|
||||
add r7, r1, #0
|
||||
str r2, [sp]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #3
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -5156,7 +5156,7 @@ _0225664C: .word SEQ_SE_DP_UG_020
|
||||
ov04_02256650: ; 0x02256650
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #7
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -5832,7 +5832,7 @@ ov04_02256B3C: ; 0x02256B3C
|
||||
ov04_02256B64: ; 0x02256B64
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #8
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -6227,7 +6227,7 @@ _02256E5A:
|
||||
ov04_02256E60: ; 0x02256E60
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #9
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -6325,7 +6325,7 @@ _02256F14:
|
||||
bl GF_AssertFail
|
||||
_02256F24:
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #9
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -6612,7 +6612,7 @@ ov04_02257148: ; 0x02257148
|
||||
strb r0, [r1, #1]
|
||||
strb r0, [r1, #2]
|
||||
ldr r0, [r7]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #9
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ov12_02262098
|
||||
ov12_02262098: ; 0x02262098
|
||||
thumb_func_start BattleController_SendData
|
||||
BattleController_SendData: ; 0x02262098
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0xc
|
||||
add r7, r0, #0
|
||||
@ -13,7 +13,7 @@ ov12_02262098: ; 0x02262098
|
||||
str r2, [sp, #4]
|
||||
cmp r1, #1
|
||||
bne _022620BE
|
||||
bl ov12_0223A948
|
||||
bl BattleSys_GetRecvBufferPtr
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl ov12_0223A984
|
||||
@ -22,7 +22,7 @@ ov12_02262098: ; 0x02262098
|
||||
bl ov12_0223A990
|
||||
b _022620D2
|
||||
_022620BE:
|
||||
bl ov12_0223A940
|
||||
bl BattleSys_GetSendBufferPtr
|
||||
add r4, r0, #0
|
||||
add r0, r7, #0
|
||||
bl ov12_0223A960
|
||||
@ -81,10 +81,10 @@ _0226212A:
|
||||
add sp, #0xc
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end ov12_02262098
|
||||
thumb_func_end BattleController_SendData
|
||||
|
||||
thumb_func_start ov12_02262130
|
||||
ov12_02262130: ; 0x02262130
|
||||
thumb_func_start BattleController_RecvData
|
||||
BattleController_RecvData: ; 0x02262130
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r3, r1, #0
|
||||
ldrb r6, [r3, #3]
|
||||
@ -165,7 +165,7 @@ _022621BE:
|
||||
_022621C0:
|
||||
add r0, r2, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov12_02262130
|
||||
thumb_func_end BattleController_RecvData
|
||||
|
||||
thumb_func_start ov12_022621C4
|
||||
ov12_022621C4: ; 0x022621C4
|
||||
@ -173,7 +173,7 @@ ov12_022621C4: ; 0x022621C4
|
||||
add r5, r0, #0
|
||||
cmp r1, #1
|
||||
bne _022621EA
|
||||
bl ov12_0223A948
|
||||
bl BattleSys_GetRecvBufferPtr
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ov12_0223A978
|
||||
@ -185,7 +185,7 @@ ov12_022621C4: ; 0x022621C4
|
||||
bl ov12_0223A990
|
||||
b _02262206
|
||||
_022621EA:
|
||||
bl ov12_0223A940
|
||||
bl BattleSys_GetSendBufferPtr
|
||||
add r6, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ov12_0223A954
|
||||
@ -210,7 +210,7 @@ _0226221A:
|
||||
ldrh r1, [r4]
|
||||
add r0, r5, #0
|
||||
add r1, r6, r1
|
||||
bl ov12_02262130
|
||||
bl BattleController_RecvData
|
||||
cmp r0, #1
|
||||
bne _0226223C
|
||||
ldrh r0, [r4]
|
||||
@ -290,7 +290,7 @@ _022622AC:
|
||||
str r0, [sp]
|
||||
add r0, r5, #0
|
||||
add r3, r6, #0
|
||||
bl ov12_02262098
|
||||
bl BattleController_SendData
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
|
@ -279,22 +279,22 @@ ov12_0223A93C: ; 0x0223A93C
|
||||
bx lr
|
||||
thumb_func_end ov12_0223A93C
|
||||
|
||||
thumb_func_start ov12_0223A940
|
||||
ov12_0223A940: ; 0x0223A940
|
||||
thumb_func_start BattleSys_GetSendBufferPtr
|
||||
BattleSys_GetSendBufferPtr: ; 0x0223A940
|
||||
mov r1, #0x8a
|
||||
lsl r1, r1, #2
|
||||
add r0, r0, r1
|
||||
bx lr
|
||||
thumb_func_end ov12_0223A940
|
||||
thumb_func_end BattleSys_GetSendBufferPtr
|
||||
|
||||
thumb_func_start ov12_0223A948
|
||||
ov12_0223A948: ; 0x0223A948
|
||||
thumb_func_start BattleSys_GetRecvBufferPtr
|
||||
BattleSys_GetRecvBufferPtr: ; 0x0223A948
|
||||
ldr r1, _0223A950 ; =0x00001228
|
||||
add r0, r0, r1
|
||||
bx lr
|
||||
nop
|
||||
_0223A950: .word 0x00001228
|
||||
thumb_func_end ov12_0223A948
|
||||
thumb_func_end BattleSys_GetRecvBufferPtr
|
||||
|
||||
thumb_func_start ov12_0223A954
|
||||
ov12_0223A954: ; 0x0223A954
|
||||
|
@ -1413,7 +1413,7 @@ MGGive_MemorialPhoto: ; 0x0204C798
|
||||
bl FieldSys_GetDataOfNextMG
|
||||
add r5, r0, #0
|
||||
add r0, r4, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Save_PhotoAlbum_get
|
||||
add r4, r0, #0
|
||||
bl PhotoAlbum_GetIndexOfFirstEmptySlot
|
||||
|
@ -753,7 +753,7 @@ _0204F3E2:
|
||||
ldr r1, _0204F3F4 ; =_0210159C
|
||||
add r0, r6, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
ldr r0, [r5, #8]
|
||||
str r4, [r0]
|
||||
mov r0, #1
|
||||
@ -858,7 +858,7 @@ sub_0204F448: ; 0x0204F448
|
||||
ldr r1, _0204F4D4 ; =_02103A1C
|
||||
add r0, r7, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
ldr r0, [r6, #8]
|
||||
str r4, [r0]
|
||||
mov r0, #3
|
||||
|
@ -70,7 +70,7 @@ ScrCmd_410: ; 0x02049CA8
|
||||
add r0, r5, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r1, r4, #0
|
||||
add r2, r6, #0
|
||||
bl sub_0204A824
|
||||
|
@ -495,7 +495,7 @@ ScrCmd_GenderMsgbox: ; 0x021EF41C
|
||||
add r5, r0, #0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
ldr r0, [r5, #8]
|
||||
add r1, r0, #1
|
||||
@ -507,7 +507,7 @@ ScrCmd_GenderMsgbox: ; 0x021EF41C
|
||||
add r0, #0x80
|
||||
ldr r0, [r0]
|
||||
ldrb r4, [r1]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
bl PlayerProfile_GetTrainerGender
|
||||
cmp r0, #0
|
||||
|
@ -2602,7 +2602,7 @@ _0203D066:
|
||||
ldr r0, [sp, #8]
|
||||
ldr r1, _0203D19C ; =_0210159C
|
||||
add r2, r5, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
mov r0, #0xe
|
||||
lsl r0, r0, #6
|
||||
str r5, [r4, r0]
|
||||
@ -2699,7 +2699,7 @@ _0203D166:
|
||||
ldr r0, [sp, #8]
|
||||
ldr r1, _0203D19C ; =_0210159C
|
||||
add r2, r5, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
mov r0, #0xe
|
||||
lsl r0, r0, #6
|
||||
str r5, [r4, r0]
|
||||
@ -3294,7 +3294,7 @@ _0203D604:
|
||||
ldr r0, [sp]
|
||||
ldr r1, _0203D65C ; =_0210159C
|
||||
add r2, r5, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
mov r0, #0xe1
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
@ -3718,7 +3718,7 @@ sub_0203D940: ; 0x0203D940
|
||||
ldr r1, _0203D9AC ; =_0210159C
|
||||
add r0, r7, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
mov r0, #0xe
|
||||
lsl r0, r0, #6
|
||||
str r4, [r5, r0]
|
||||
|
@ -1,707 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.rodata
|
||||
|
||||
.public gApplication_NewGameFieldsys
|
||||
gApplication_NewGameFieldsys:
|
||||
.word Field_NewGame_AppInit, Field_AppExec, Field_AppExit, 0xFFFFFFFF
|
||||
.public gApplication_ContinueFieldsys
|
||||
gApplication_ContinueFieldsys:
|
||||
.word Field_Continue_AppInit, Field_AppExec, Field_AppExit, 0xFFFFFFFF
|
||||
|
||||
.bss
|
||||
|
||||
sFieldSysPtr:
|
||||
.space 0x4
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start Field_Continue_AppInit
|
||||
Field_Continue_AppInit: ; 0x0203DE74
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bl OverlayManager_GetArgs
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl FieldSystem_new
|
||||
ldr r1, _0203DEA0 ; =sFieldSysPtr
|
||||
str r0, [r1]
|
||||
ldr r1, [r4, #4]
|
||||
cmp r1, #0
|
||||
beq _0203DE94
|
||||
bl CallFieldTask_ContinueGame_CommError
|
||||
b _0203DE98
|
||||
_0203DE94:
|
||||
bl CallFieldTask_ContinueGame_Normal
|
||||
_0203DE98:
|
||||
mov r0, #0
|
||||
str r0, [r4, #4]
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
_0203DEA0: .word sFieldSysPtr
|
||||
thumb_func_end Field_Continue_AppInit
|
||||
|
||||
thumb_func_start Field_NewGame_AppInit
|
||||
Field_NewGame_AppInit: ; 0x0203DEA4
|
||||
push {r3, lr}
|
||||
bl FieldSystem_new
|
||||
ldr r1, _0203DEB8 ; =sFieldSysPtr
|
||||
str r0, [r1]
|
||||
bl CallFieldTask_NewGame
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
nop
|
||||
_0203DEB8: .word sFieldSysPtr
|
||||
thumb_func_end Field_NewGame_AppInit
|
||||
|
||||
thumb_func_start Field_AppExec
|
||||
Field_AppExec: ; 0x0203DEBC
|
||||
push {r3, lr}
|
||||
bl OverlayManager_GetData
|
||||
bl FieldSys_Main
|
||||
cmp r0, #0
|
||||
beq _0203DECE
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_0203DECE:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end Field_AppExec
|
||||
|
||||
.public ov60_021EAFE0
|
||||
|
||||
thumb_func_start Field_AppExit
|
||||
Field_AppExit: ; 0x0203DED4
|
||||
push {r3, lr}
|
||||
bl FieldSystem_delete
|
||||
ldr r0, _0203DEE8 ; =FS_OVERLAY_ID(OVY_60)
|
||||
ldr r1, _0203DEEC ; =ov60_021EAFE0
|
||||
bl RegisterMainOverlay
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
nop
|
||||
_0203DEE8: .word FS_OVERLAY_ID(OVY_60)
|
||||
_0203DEEC: .word ov60_021EAFE0
|
||||
thumb_func_end Field_AppExit
|
||||
|
||||
.public ov01_02206378
|
||||
|
||||
thumb_func_start sub_0203DEF0
|
||||
sub_0203DEF0: ; 0x0203DEF0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
beq _0203DF00
|
||||
bl GF_AssertFail
|
||||
_0203DF00:
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0203DF0C
|
||||
bl GF_AssertFail
|
||||
_0203DF0C:
|
||||
ldr r0, _0203DF2C ; =FS_OVERLAY_ID(field)
|
||||
mov r1, #2
|
||||
bl HandleLoadOverlay
|
||||
mov r1, #0
|
||||
str r1, [r4, #0x6c]
|
||||
ldr r0, [r4]
|
||||
mov r2, #0xb
|
||||
str r1, [r0, #8]
|
||||
ldr r0, _0203DF30 ; =ov01_02206378
|
||||
add r1, r4, #0
|
||||
bl OverlayManager_new
|
||||
ldr r1, [r4]
|
||||
str r0, [r1]
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
_0203DF2C: .word FS_OVERLAY_ID(field)
|
||||
_0203DF30: .word ov01_02206378
|
||||
thumb_func_end sub_0203DEF0
|
||||
|
||||
thumb_func_start sub_0203DF34
|
||||
sub_0203DF34: ; 0x0203DF34
|
||||
mov r1, #0
|
||||
str r1, [r0, #0x6c]
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0203DF34
|
||||
|
||||
thumb_func_start sub_0203DF3C
|
||||
sub_0203DF3C: ; 0x0203DF3C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #0x11
|
||||
lsl r0, r0, #4
|
||||
ldrb r0, [r4, r0]
|
||||
mov r1, #1
|
||||
cmp r0, #0
|
||||
beq _0203DF52
|
||||
cmp r0, #1
|
||||
beq _0203DF52
|
||||
mov r1, #0
|
||||
_0203DF52:
|
||||
cmp r1, #0
|
||||
bne _0203DF5A
|
||||
bl GF_AssertFail
|
||||
_0203DF5A:
|
||||
mov r0, #0x11
|
||||
lsl r0, r0, #4
|
||||
ldrb r0, [r4, r0]
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0203DF3C
|
||||
|
||||
thumb_func_start sub_0203DF64
|
||||
sub_0203DF64: ; 0x0203DF64
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
add r4, r1, #0
|
||||
beq _0203DF74
|
||||
cmp r4, #1
|
||||
beq _0203DF74
|
||||
bl GF_AssertFail
|
||||
_0203DF74:
|
||||
mov r0, #0x11
|
||||
lsl r0, r0, #4
|
||||
strb r4, [r5, r0]
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end sub_0203DF64
|
||||
|
||||
thumb_func_start sub_0203DF7C
|
||||
sub_0203DF7C: ; 0x0203DF7C
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0203DF88
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0203DF88:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0203DF7C
|
||||
|
||||
thumb_func_start sub_0203DF8C
|
||||
sub_0203DF8C: ; 0x0203DF8C
|
||||
ldr r1, [r0]
|
||||
ldr r1, [r1]
|
||||
cmp r1, #0
|
||||
beq _0203DF9E
|
||||
ldr r0, [r0, #0x6c]
|
||||
cmp r0, #0
|
||||
beq _0203DF9E
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0203DF9E:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0203DF8C
|
||||
|
||||
thumb_func_start sub_0203DFA4
|
||||
sub_0203DFA4: ; 0x0203DFA4
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
beq _0203DFB0
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0203DFB0:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0203DFA4
|
||||
|
||||
thumb_func_start Fsys_LaunchApplication
|
||||
Fsys_LaunchApplication: ; 0x0203DFB4
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5]
|
||||
add r4, r1, #0
|
||||
ldr r0, [r0, #4]
|
||||
add r6, r2, #0
|
||||
cmp r0, #0
|
||||
beq _0203DFC8
|
||||
bl GF_AssertFail
|
||||
_0203DFC8:
|
||||
add r0, r5, #0
|
||||
bl sub_0203DF34
|
||||
add r0, r4, #0
|
||||
add r1, r6, #0
|
||||
mov r2, #0xb
|
||||
bl OverlayManager_new
|
||||
ldr r1, [r5]
|
||||
str r0, [r1, #4]
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end Fsys_LaunchApplication
|
||||
|
||||
thumb_func_start FieldSystem_new
|
||||
FieldSystem_new: ; 0x0203DFE0
|
||||
push {r4, r5, r6, lr}
|
||||
mov r2, #7
|
||||
add r5, r0, #0
|
||||
mov r0, #3
|
||||
mov r1, #0xb
|
||||
lsl r2, r2, #0xe
|
||||
bl CreateHeap
|
||||
mov r1, #0x20
|
||||
mov r0, #3
|
||||
lsl r2, r1, #9
|
||||
bl CreateHeap
|
||||
mov r2, #0x57
|
||||
mov r0, #0
|
||||
mov r1, #0x59
|
||||
lsl r2, r2, #4
|
||||
bl CreateHeap
|
||||
mov r1, #0x4a
|
||||
add r0, r5, #0
|
||||
lsl r1, r1, #2
|
||||
mov r2, #0xb
|
||||
bl OverlayManager_CreateAndGetData
|
||||
mov r2, #0x4a
|
||||
mov r1, #0
|
||||
lsl r2, r2, #2
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
mov r0, #0xb
|
||||
mov r1, #0x10
|
||||
bl AllocFromHeap
|
||||
str r0, [r4]
|
||||
mov r1, #0
|
||||
str r1, [r0]
|
||||
ldr r0, [r4]
|
||||
ldr r6, _0203E054 ; =FS_OVERLAY_ID(OVY_124)
|
||||
str r1, [r0, #4]
|
||||
ldr r0, [r4]
|
||||
str r1, [r0, #8]
|
||||
ldr r0, [r4]
|
||||
str r1, [r0, #0xc]
|
||||
add r0, r6, #0
|
||||
mov r1, #2
|
||||
bl HandleLoadOverlay
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl FieldSystem_init
|
||||
add r0, r6, #0
|
||||
bl UnloadOverlayByID
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
_0203E054: .word FS_OVERLAY_ID(OVY_124)
|
||||
thumb_func_end FieldSystem_new
|
||||
|
||||
thumb_func_start FieldSystem_delete
|
||||
FieldSystem_delete: ; 0x0203E058
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bl OverlayManager_GetData
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x30]
|
||||
bl MapMatrix_Free
|
||||
add r0, r4, #0
|
||||
bl Field_FreeMapEvents
|
||||
add r0, r4, #0
|
||||
add r0, #0x94
|
||||
ldr r0, [r0]
|
||||
bl FreeToHeap
|
||||
add r0, r4, #0
|
||||
add r0, #0xa8
|
||||
ldr r0, [r0]
|
||||
bl sub_02092BD0
|
||||
mov r0, #0x45
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
bl sub_02092DD8
|
||||
ldr r0, [r4]
|
||||
bl FreeToHeap
|
||||
add r0, r5, #0
|
||||
bl OverlayManager_FreeData
|
||||
mov r0, #0x59
|
||||
bl DestroyHeap
|
||||
mov r0, #0xb
|
||||
bl DestroyHeap
|
||||
mov r0, #0x20
|
||||
bl DestroyHeap
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end FieldSystem_delete
|
||||
|
||||
thumb_func_start ppOverlayManager_RunFrame_DeleteIfFinished
|
||||
ppOverlayManager_RunFrame_DeleteIfFinished: ; 0x0203E0AC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4]
|
||||
cmp r0, #0
|
||||
beq _0203E0C8
|
||||
bl OverlayManager_run
|
||||
cmp r0, #0
|
||||
beq _0203E0C8
|
||||
ldr r0, [r4]
|
||||
bl OverlayManager_delete
|
||||
mov r0, #0
|
||||
str r0, [r4]
|
||||
_0203E0C8:
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end ppOverlayManager_RunFrame_DeleteIfFinished
|
||||
|
||||
thumb_func_start FieldSys_Main
|
||||
FieldSys_Main: ; 0x0203E0CC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0203E15C
|
||||
add r0, r4, #0
|
||||
bl Fsys_RunTaskFrame
|
||||
cmp r0, #1
|
||||
bne _0203E0EE
|
||||
ldr r0, [r4, #4]
|
||||
cmp r0, #0
|
||||
beq _0203E0EE
|
||||
mov r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, r1, #0
|
||||
bl ov01_021F6830
|
||||
_0203E0EE:
|
||||
ldr r0, [r4]
|
||||
ldr r1, [r0]
|
||||
cmp r1, #0
|
||||
beq _0203E10A
|
||||
bl ppOverlayManager_RunFrame_DeleteIfFinished
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0203E116
|
||||
ldr r0, _0203E138 ; =FS_OVERLAY_ID(field)
|
||||
bl UnloadOverlayByID
|
||||
b _0203E116
|
||||
_0203E10A:
|
||||
ldr r1, [r0, #4]
|
||||
cmp r1, #0
|
||||
beq _0203E116
|
||||
add r0, r0, #4
|
||||
bl ppOverlayManager_RunFrame_DeleteIfFinished
|
||||
_0203E116:
|
||||
ldr r1, [r4]
|
||||
ldr r0, [r1, #0xc]
|
||||
cmp r0, #0
|
||||
beq _0203E134
|
||||
ldr r0, [r4, #0x10]
|
||||
cmp r0, #0
|
||||
bne _0203E134
|
||||
ldr r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _0203E134
|
||||
ldr r0, [r1, #4]
|
||||
cmp r0, #0
|
||||
bne _0203E134
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_0203E134:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
_0203E138: .word FS_OVERLAY_ID(field)
|
||||
thumb_func_end FieldSys_Main
|
||||
|
||||
thumb_func_start sub_0203E13C
|
||||
sub_0203E13C: ; 0x0203E13C
|
||||
push {r3, lr}
|
||||
ldr r1, [r0]
|
||||
ldr r1, [r1, #8]
|
||||
cmp r1, #0
|
||||
bne _0203E158
|
||||
ldr r1, [r0, #0x6c]
|
||||
cmp r1, #0
|
||||
beq _0203E158
|
||||
bl Fsys_TaskIsRunning
|
||||
cmp r0, #0
|
||||
bne _0203E158
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_0203E158:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
thumb_func_end sub_0203E13C
|
||||
|
||||
thumb_func_start sub_0203E15C
|
||||
sub_0203E15C: ; 0x0203E15C
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r4, r0, #0
|
||||
bl sub_0203E13C
|
||||
add r5, r0, #0
|
||||
beq _0203E186
|
||||
ldr r0, [r4, #0x40]
|
||||
bl sub_0205CE68
|
||||
ldr r3, _0203E2EC ; =gSystem
|
||||
add r0, sp, #8
|
||||
ldr r2, [r3, #0x48]
|
||||
ldr r3, [r3, #0x44]
|
||||
lsl r2, r2, #0x10
|
||||
lsl r3, r3, #0x10
|
||||
add r1, r4, #0
|
||||
lsr r2, r2, #0x10
|
||||
lsr r3, r3, #0x10
|
||||
bl ov01_021E6928
|
||||
_0203E186:
|
||||
ldr r0, [r4, #0x20]
|
||||
ldr r2, [r4, #0x70]
|
||||
ldr r1, [r0]
|
||||
ldr r0, _0203E2F0 ; =0x00000109
|
||||
cmp r1, r0
|
||||
bne _0203E194
|
||||
mov r2, #0
|
||||
_0203E194:
|
||||
cmp r2, #2
|
||||
beq _0203E1CC
|
||||
cmp r2, #3
|
||||
beq _0203E1A2
|
||||
cmp r2, #4
|
||||
beq _0203E1F8
|
||||
b _0203E268
|
||||
_0203E1A2:
|
||||
cmp r5, #0
|
||||
beq _0203E1C0
|
||||
bl sub_02057A0C
|
||||
cmp r0, #0
|
||||
beq _0203E1BE
|
||||
add r0, sp, #8
|
||||
add r1, r4, #0
|
||||
bl ov01_021E6E00
|
||||
cmp r0, #1
|
||||
bne _0203E1C0
|
||||
mov r5, #0
|
||||
b _0203E1C0
|
||||
_0203E1BE:
|
||||
mov r5, #0
|
||||
_0203E1C0:
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
bl sub_020573F0
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
_0203E1CC:
|
||||
cmp r5, #0
|
||||
beq _0203E1DC
|
||||
add r0, sp, #8
|
||||
add r1, r4, #0
|
||||
bl ov01_021E6EFC
|
||||
cmp r0, #1
|
||||
bne _0203E1DE
|
||||
_0203E1DC:
|
||||
b _0203E2E8
|
||||
_0203E1DE:
|
||||
add r3, sp, #8
|
||||
ldrh r0, [r3, #8]
|
||||
mov r2, #0
|
||||
str r0, [sp]
|
||||
str r2, [sp, #4]
|
||||
ldrh r3, [r3, #6]
|
||||
ldr r0, [r4, #0x40]
|
||||
ldr r1, [r4, #0x2c]
|
||||
sub r2, r2, #1
|
||||
bl sub_0205CB48
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
_0203E1F8:
|
||||
cmp r5, #0
|
||||
beq _0203E2E8
|
||||
add r0, sp, #8
|
||||
add r1, r4, #0
|
||||
bl ov01_021E6FD4
|
||||
cmp r0, #1
|
||||
bne _0203E22C
|
||||
ldr r0, [r4, #4]
|
||||
ldr r0, [r0, #8]
|
||||
bl ov01_021EFACC
|
||||
add r0, r4, #0
|
||||
mov r1, #4
|
||||
bl ov01_021F3DFC
|
||||
ldr r0, [r4, #0x40]
|
||||
bl ov01_021F2F24
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #1
|
||||
bl ov01_021F6830
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
_0203E22C:
|
||||
ldr r0, _0203E2EC ; =gSystem
|
||||
ldr r1, [r0, #0x48]
|
||||
mov r0, #1
|
||||
tst r0, r1
|
||||
beq _0203E23E
|
||||
ldr r0, [r4, #4]
|
||||
ldr r0, [r0, #8]
|
||||
bl ov01_021EFACC
|
||||
_0203E23E:
|
||||
mov r5, #0
|
||||
bl sub_0203E324
|
||||
cmp r0, #0
|
||||
beq _0203E24E
|
||||
bl ov35_02259DB8
|
||||
add r5, r0, #0
|
||||
_0203E24E:
|
||||
add r3, sp, #8
|
||||
ldrh r0, [r3, #8]
|
||||
mov r2, #0
|
||||
mvn r2, r2
|
||||
str r0, [sp]
|
||||
str r5, [sp, #4]
|
||||
ldrh r3, [r3, #6]
|
||||
ldr r0, [r4, #0x40]
|
||||
ldr r1, [r4, #0x2c]
|
||||
bl sub_0205CB48
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
_0203E268:
|
||||
cmp r5, #0
|
||||
beq _0203E2E8
|
||||
add r0, sp, #8
|
||||
add r1, r4, #0
|
||||
bl ov01_021E6AF4
|
||||
add r5, r0, #0
|
||||
beq _0203E2B0
|
||||
ldr r0, [r4, #4]
|
||||
ldr r0, [r0, #8]
|
||||
bl ov01_021EFACC
|
||||
add r0, r4, #0
|
||||
mov r1, #4
|
||||
bl ov01_021F3DFC
|
||||
ldr r0, [r4, #0x40]
|
||||
bl sub_0205CF44
|
||||
ldr r0, [r4, #0x40]
|
||||
bl ov01_021F2F24
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #1
|
||||
bl ov01_021F6830
|
||||
cmp r5, #2
|
||||
beq _0203E2E8
|
||||
mov r0, #0x45
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
bl sub_02092FA8
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
_0203E2B0:
|
||||
ldr r0, _0203E2EC ; =gSystem
|
||||
ldr r1, [r0, #0x48]
|
||||
mov r0, #1
|
||||
tst r0, r1
|
||||
beq _0203E2C2
|
||||
ldr r0, [r4, #4]
|
||||
ldr r0, [r0, #8]
|
||||
bl ov01_021EFACC
|
||||
_0203E2C2:
|
||||
mov r5, #0
|
||||
bl sub_0203E324
|
||||
cmp r0, #0
|
||||
beq _0203E2D2
|
||||
bl ov35_02259DB8
|
||||
add r5, r0, #0
|
||||
_0203E2D2:
|
||||
add r3, sp, #8
|
||||
ldrh r0, [r3, #8]
|
||||
mov r2, #0
|
||||
mvn r2, r2
|
||||
str r0, [sp]
|
||||
str r5, [sp, #4]
|
||||
ldrh r3, [r3, #6]
|
||||
ldr r0, [r4, #0x40]
|
||||
ldr r1, [r4, #0x2c]
|
||||
bl sub_0205CB48
|
||||
_0203E2E8:
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
.balign 4, 0
|
||||
_0203E2EC: .word gSystem
|
||||
_0203E2F0: .word 0x00000109
|
||||
thumb_func_end sub_0203E15C
|
||||
|
||||
thumb_func_start sub_0203E2F4
|
||||
sub_0203E2F4: ; 0x0203E2F4
|
||||
ldr r0, _0203E304 ; =sFieldSysPtr
|
||||
ldr r3, _0203E308 ; =sub_02037504
|
||||
ldr r0, [r0]
|
||||
mov r1, #1
|
||||
ldr r0, [r0]
|
||||
str r1, [r0, #8]
|
||||
bx r3
|
||||
nop
|
||||
_0203E304: .word sFieldSysPtr
|
||||
_0203E308: .word sub_02037504
|
||||
thumb_func_end sub_0203E2F4
|
||||
|
||||
thumb_func_start sub_0203E30C
|
||||
sub_0203E30C: ; 0x0203E30C
|
||||
ldr r0, _0203E31C ; =sFieldSysPtr
|
||||
ldr r3, _0203E320 ; =sub_020374E4
|
||||
ldr r0, [r0]
|
||||
mov r1, #0
|
||||
ldr r0, [r0]
|
||||
str r1, [r0, #8]
|
||||
bx r3
|
||||
nop
|
||||
_0203E31C: .word sFieldSysPtr
|
||||
_0203E320: .word sub_020374E4
|
||||
thumb_func_end sub_0203E30C
|
||||
|
||||
thumb_func_start sub_0203E324
|
||||
sub_0203E324: ; 0x0203E324
|
||||
ldr r0, _0203E338 ; =sFieldSysPtr
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, #4]
|
||||
cmp r0, #0
|
||||
bne _0203E332
|
||||
mov r0, #0
|
||||
bx lr
|
||||
_0203E332:
|
||||
ldr r0, [r0, #0x14]
|
||||
bx lr
|
||||
nop
|
||||
_0203E338: .word sFieldSysPtr
|
||||
thumb_func_end sub_0203E324
|
||||
|
||||
thumb_func_start sub_0203E33C
|
||||
sub_0203E33C: ; 0x0203E33C
|
||||
str r1, [r0, #0x1c]
|
||||
bx lr
|
||||
thumb_func_end sub_0203E33C
|
||||
|
||||
thumb_func_start Fsys_GetBgConfigPtr
|
||||
Fsys_GetBgConfigPtr: ; 0x0203E340
|
||||
ldr r0, [r0, #8]
|
||||
bx lr
|
||||
thumb_func_end Fsys_GetBgConfigPtr
|
||||
|
||||
thumb_func_start Fsys_GetSaveDataPtr
|
||||
Fsys_GetSaveDataPtr: ; 0x0203E344
|
||||
ldr r0, [r0, #0xc]
|
||||
bx lr
|
||||
thumb_func_end Fsys_GetSaveDataPtr
|
||||
|
||||
thumb_func_start sub_0203E348
|
||||
sub_0203E348: ; 0x0203E348
|
||||
push {r3, lr}
|
||||
bl LCRandom
|
||||
bl LCRandom
|
||||
pop {r3, pc}
|
||||
thumb_func_end sub_0203E348
|
||||
|
||||
thumb_func_start sub_0203E354
|
||||
sub_0203E354: ; 0x0203E354
|
||||
ldr r0, _0203E364 ; =sFieldSysPtr
|
||||
mov r1, #1
|
||||
ldr r0, [r0]
|
||||
mvn r1, r1
|
||||
add r0, #0xc4
|
||||
str r1, [r0]
|
||||
bx lr
|
||||
nop
|
||||
_0203E364: .word sFieldSysPtr
|
||||
thumb_func_end sub_0203E354
|
@ -199,12 +199,12 @@ sub_0203E3C0: ; 0x0203E3C0
|
||||
|
||||
thumb_func_start sub_0203E3C4
|
||||
sub_0203E3C4: ; 0x0203E3C4
|
||||
ldr r3, _0203E3CC ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203E3CC ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203E3D0 ; =_020FA484
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203E3CC: .word Fsys_LaunchApplication
|
||||
_0203E3CC: .word FieldSys_LaunchApplication
|
||||
_0203E3D0: .word _020FA484
|
||||
thumb_func_end sub_0203E3C4
|
||||
|
||||
@ -223,7 +223,7 @@ sub_0203E3D4: ; 0x0203E3D4
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -352,12 +352,12 @@ _0203E4E6:
|
||||
|
||||
thumb_func_start sub_0203E4EC
|
||||
sub_0203E4EC: ; 0x0203E4EC
|
||||
ldr r3, _0203E4F4 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203E4F4 ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203E4F8 ; =_02103A1C
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203E4F4: .word Fsys_LaunchApplication
|
||||
_0203E4F4: .word FieldSys_LaunchApplication
|
||||
_0203E4F8: .word _02103A1C
|
||||
thumb_func_end sub_0203E4EC
|
||||
|
||||
@ -419,7 +419,7 @@ sub_0203E550: ; 0x0203E550
|
||||
ldr r1, _0203E57C ; =_0210159C
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
@ -438,7 +438,7 @@ sub_0203E580: ; 0x0203E580
|
||||
ldr r1, _0203E5A0 ; =_0210159C
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
@ -457,7 +457,7 @@ sub_0203E5A4: ; 0x0203E5A4
|
||||
ldr r1, _0203E5C4 ; =_0210159C
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
@ -487,7 +487,7 @@ sub_0203E5D0: ; 0x0203E5D0
|
||||
ldr r1, _0203E5F4 ; =_0210159C
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r6, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
@ -539,7 +539,7 @@ _0203E63A:
|
||||
ldr r1, _0203E6D0 ; =_0210159C
|
||||
ldr r2, [r4, #4]
|
||||
add r0, r6, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
mov r0, #1
|
||||
str r0, [r5]
|
||||
b _0203E6CC
|
||||
@ -683,7 +683,7 @@ sub_0203E740: ; 0x0203E740
|
||||
ldr r1, _0203E768 ; =_0210159C
|
||||
add r0, r5, #0
|
||||
add r2, r6, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r6, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -808,12 +808,12 @@ sub_0203E864: ; 0x0203E864
|
||||
|
||||
thumb_func_start sub_0203E868
|
||||
sub_0203E868: ; 0x0203E868
|
||||
ldr r3, _0203E870 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203E870 ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203E874 ; =_020FA414
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203E870: .word Fsys_LaunchApplication
|
||||
_0203E870: .word FieldSys_LaunchApplication
|
||||
_0203E874: .word _020FA414
|
||||
thumb_func_end sub_0203E868
|
||||
|
||||
@ -1031,12 +1031,12 @@ _0203EA20: .word sub_0203E878
|
||||
|
||||
thumb_func_start sub_0203EA24
|
||||
sub_0203EA24: ; 0x0203EA24
|
||||
ldr r3, _0203EA2C ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203EA2C ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203EA30 ; =_020FA404
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203EA2C: .word Fsys_LaunchApplication
|
||||
_0203EA2C: .word FieldSys_LaunchApplication
|
||||
_0203EA30: .word _020FA404
|
||||
thumb_func_end sub_0203EA24
|
||||
|
||||
@ -1055,7 +1055,7 @@ SwitchToPokegearApp_Phone: ; 0x0203EA34
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -1077,7 +1077,7 @@ SwitchToPokegearApp_TownMap: ; 0x0203EA5C
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -1145,7 +1145,7 @@ sub_0203EAE0: ; 0x0203EAE0
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -1164,7 +1164,7 @@ sub_0203EB08: ; 0x0203EB08
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4]
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
@ -1193,7 +1193,7 @@ sub_0203EB3C: ; 0x0203EB3C
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -1229,7 +1229,7 @@ sub_0203EB7C: ; 0x0203EB7C
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -1249,7 +1249,7 @@ sub_0203EBA4: ; 0x0203EBA4
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
@ -1264,8 +1264,8 @@ sub_0203EBA4: ; 0x0203EBA4
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0203EBA4
|
||||
|
||||
thumb_func_start Fsys_LaunchApplication_AlphPuzzle
|
||||
Fsys_LaunchApplication_AlphPuzzle: ; 0x0203EBDC
|
||||
thumb_func_start FieldSys_LaunchApplication_AlphPuzzle
|
||||
FieldSys_LaunchApplication_AlphPuzzle: ; 0x0203EBDC
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x10
|
||||
ldr r5, _0203EC00 ; =_020FA3A4
|
||||
@ -1279,12 +1279,12 @@ Fsys_LaunchApplication_AlphPuzzle: ; 0x0203EBDC
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
_0203EC00: .word _020FA3A4
|
||||
thumb_func_end Fsys_LaunchApplication_AlphPuzzle
|
||||
thumb_func_end FieldSys_LaunchApplication_AlphPuzzle
|
||||
|
||||
thumb_func_start Fsys_CreateApplication_AlphPuzzle
|
||||
Fsys_CreateApplication_AlphPuzzle: ; 0x0203EC04
|
||||
@ -1299,7 +1299,7 @@ Fsys_CreateApplication_AlphPuzzle: ; 0x0203EC04
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
@ -1308,7 +1308,7 @@ Fsys_CreateApplication_AlphPuzzle: ; 0x0203EC04
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
strb r6, [r4, #5]
|
||||
bl Fsys_LaunchApplication_AlphPuzzle
|
||||
bl FieldSys_LaunchApplication_AlphPuzzle
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
@ -1329,7 +1329,7 @@ sub_0203EC3C: ; 0x0203EC3C
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -1348,7 +1348,7 @@ CreateUnownReportWork: ; 0x0203EC64
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4, #4]
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
@ -1377,7 +1377,7 @@ sub_0203EC98: ; 0x0203EC98
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -1396,7 +1396,7 @@ CreateBerryPotsWork: ; 0x0203ECC0
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
@ -1429,7 +1429,7 @@ sub_0203ECFC: ; 0x0203ECFC
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -1449,7 +1449,7 @@ CreateApricornBoxWork: ; 0x0203ED24
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4, #0x18]
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
@ -1494,7 +1494,7 @@ sub_0203ED80: ; 0x0203ED80
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4, #0x18]
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
@ -1518,12 +1518,12 @@ sub_0203ED80: ; 0x0203ED80
|
||||
|
||||
thumb_func_start sub_0203EDCC
|
||||
sub_0203EDCC: ; 0x0203EDCC
|
||||
ldr r3, _0203EDD4 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203EDD4 ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203EDD8 ; =_020FA364
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203EDD4: .word Fsys_LaunchApplication
|
||||
_0203EDD4: .word FieldSys_LaunchApplication
|
||||
_0203EDD8: .word _020FA364
|
||||
thumb_func_end sub_0203EDCC
|
||||
|
||||
@ -1557,12 +1557,12 @@ sub_0203EDDC: ; 0x0203EDDC
|
||||
|
||||
thumb_func_start sub_0203EE14
|
||||
sub_0203EE14: ; 0x0203EE14
|
||||
ldr r3, _0203EE1C ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203EE1C ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203EE20 ; =_020FA354
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203EE1C: .word Fsys_LaunchApplication
|
||||
_0203EE1C: .word FieldSys_LaunchApplication
|
||||
_0203EE20: .word _020FA354
|
||||
thumb_func_end sub_0203EE14
|
||||
|
||||
@ -1575,7 +1575,7 @@ sub_0203EE24: ; 0x0203EE24
|
||||
bl AllocFromHeapAtEnd
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_PlayerData_GetOptionsAddr
|
||||
str r0, [r4, #4]
|
||||
mov r0, #0x43
|
||||
@ -1621,12 +1621,12 @@ _0203EE8A:
|
||||
|
||||
thumb_func_start sub_0203EE90
|
||||
sub_0203EE90: ; 0x0203EE90
|
||||
ldr r3, _0203EE98 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203EE98 ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203EE9C ; =_020FA344
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203EE98: .word Fsys_LaunchApplication
|
||||
_0203EE98: .word FieldSys_LaunchApplication
|
||||
_0203EE9C: .word _020FA344
|
||||
thumb_func_end sub_0203EE90
|
||||
|
||||
@ -1639,7 +1639,7 @@ sub_0203EEA0: ; 0x0203EEA0
|
||||
bl AllocFromHeapAtEnd
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r6, r0, #0
|
||||
bl Save_Pokeathlon_get
|
||||
bl sub_02031974
|
||||
@ -1656,12 +1656,12 @@ sub_0203EEA0: ; 0x0203EEA0
|
||||
|
||||
thumb_func_start sub_0203EED4
|
||||
sub_0203EED4: ; 0x0203EED4
|
||||
ldr r3, _0203EEDC ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203EEDC ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203EEE0 ; =_020FA314
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203EEDC: .word Fsys_LaunchApplication
|
||||
_0203EEDC: .word FieldSys_LaunchApplication
|
||||
_0203EEE0: .word _020FA314
|
||||
thumb_func_end sub_0203EED4
|
||||
|
||||
@ -1674,7 +1674,7 @@ sub_0203EEE4: ; 0x0203EEE4
|
||||
bl AllocFromHeapAtEnd
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r6, r0, #0
|
||||
bl Save_Pokeathlon_get
|
||||
add r7, r0, #0
|
||||
@ -1701,12 +1701,12 @@ sub_0203EEE4: ; 0x0203EEE4
|
||||
|
||||
thumb_func_start sub_0203EF30
|
||||
sub_0203EF30: ; 0x0203EF30
|
||||
ldr r3, _0203EF38 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203EF38 ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203EF3C ; =_020FA324
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203EF38: .word Fsys_LaunchApplication
|
||||
_0203EF38: .word FieldSys_LaunchApplication
|
||||
_0203EF3C: .word _020FA324
|
||||
thumb_func_end sub_0203EF30
|
||||
|
||||
@ -1719,7 +1719,7 @@ sub_0203EF40: ; 0x0203EF40
|
||||
bl AllocFromHeapAtEnd
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r6, r0, #0
|
||||
bl Save_Pokeathlon_get
|
||||
add r7, r0, #0
|
||||
@ -1747,12 +1747,12 @@ sub_0203EF40: ; 0x0203EF40
|
||||
|
||||
thumb_func_start sub_0203EF90
|
||||
sub_0203EF90: ; 0x0203EF90
|
||||
ldr r3, _0203EF98 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203EF98 ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203EF9C ; =_020FA424
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203EF98: .word Fsys_LaunchApplication
|
||||
_0203EF98: .word FieldSys_LaunchApplication
|
||||
_0203EF9C: .word _020FA424
|
||||
thumb_func_end sub_0203EF90
|
||||
|
||||
@ -1765,7 +1765,7 @@ sub_0203EFA0: ; 0x0203EFA0
|
||||
bl AllocFromHeapAtEnd
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r7, r0, #0
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
add r6, r0, #0
|
||||
@ -1788,11 +1788,11 @@ sub_0203EFD4: ; 0x0203EFD4
|
||||
lsl r1, r1, #2
|
||||
add r1, r0, r1
|
||||
str r1, [r2, #0x1c]
|
||||
ldr r3, _0203EFE4 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203EFE4 ; =FieldSys_LaunchApplication
|
||||
ldr r1, _0203EFE8 ; =_020FA434
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203EFE4: .word Fsys_LaunchApplication
|
||||
_0203EFE4: .word FieldSys_LaunchApplication
|
||||
_0203EFE8: .word _020FA434
|
||||
thumb_func_end sub_0203EFD4
|
||||
|
||||
@ -1803,7 +1803,7 @@ sub_0203EFEC: ; 0x0203EFEC
|
||||
add r4, r1, #0
|
||||
add r6, r2, #0
|
||||
add r7, r3, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
mov r1, #0xb
|
||||
str r1, [sp]
|
||||
add r1, r4, #0
|
||||
@ -1828,13 +1828,13 @@ CreateUseMailWork: ; 0x0203F018
|
||||
add r6, r3, #0
|
||||
cmp r5, #3
|
||||
bne _0203F034
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r1, r4, #0
|
||||
add r2, r6, #0
|
||||
bl sub_02090F38
|
||||
b _0203F042
|
||||
_0203F034:
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r1, r5, #0
|
||||
add r2, r4, #0
|
||||
add r3, r6, #0
|
||||
@ -1854,7 +1854,7 @@ sub_0203F050: ; 0x0203F050
|
||||
add r4, r1, #0
|
||||
add r6, r2, #0
|
||||
add r5, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r1, r4, #0
|
||||
add r2, r6, #0
|
||||
bl sub_02090F00
|
||||
@ -1876,7 +1876,7 @@ sub_0203F074: ; 0x0203F074
|
||||
bl AllocFromHeap
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4]
|
||||
mov r0, #0x43
|
||||
lsl r0, r0, #2
|
||||
@ -1886,7 +1886,7 @@ sub_0203F074: ; 0x0203F074
|
||||
ldr r1, _0203F0A4 ; =_020FA2F4
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
@ -1908,7 +1908,7 @@ sub_0203F0A8: ; 0x0203F0A8
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -2062,7 +2062,7 @@ sub_0203F1E8: ; 0x0203F1E8
|
||||
add r1, r0, r1
|
||||
str r1, [r2, #0x20]
|
||||
ldr r1, _0203F200 ; =_0210F9AC
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
nop
|
||||
@ -2074,7 +2074,7 @@ sub_0203F204: ; 0x0203F204
|
||||
push {r3, lr}
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203F214 ; =_0210F99C
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
nop
|
||||
@ -2430,7 +2430,7 @@ sub_0203F4C8: ; 0x0203F4C8
|
||||
ldr r1, _0203F4F4 ; =_020FA2C4
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_0203F4F4: .word _020FA2C4
|
||||
@ -2463,7 +2463,7 @@ sub_0203F4F8: ; 0x0203F4F8
|
||||
ldr r1, _0203F538 ; =_020FA2B4
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
@ -2490,7 +2490,7 @@ CreatePalPadWork: ; 0x0203F53C
|
||||
ldr r1, _0203F56C ; =_020FA2A4
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
@ -2499,12 +2499,12 @@ _0203F56C: .word _020FA2A4
|
||||
|
||||
thumb_func_start sub_0203F570
|
||||
sub_0203F570: ; 0x0203F570
|
||||
ldr r3, _0203F578 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203F578 ; =FieldSys_LaunchApplication
|
||||
ldr r1, _0203F57C ; =_02102830
|
||||
add r2, r0, #0
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203F578: .word Fsys_LaunchApplication
|
||||
_0203F578: .word FieldSys_LaunchApplication
|
||||
_0203F57C: .word _02102830
|
||||
thumb_func_end sub_0203F570
|
||||
|
||||
@ -2808,7 +2808,7 @@ sub_0203F7B0: ; 0x0203F7B0
|
||||
ldr r1, _0203F7F0 ; =_020FA294
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_0203F7E8: .word 0x0000066C
|
||||
@ -2821,7 +2821,7 @@ sub_0203F7F4: ; 0x0203F7F4
|
||||
push {r3, lr}
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203F804 ; =_020FA284
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
nop
|
||||
@ -2830,12 +2830,12 @@ _0203F804: .word _020FA284
|
||||
|
||||
thumb_func_start LaunchChooseStarterApp
|
||||
LaunchChooseStarterApp: ; 0x0203F808
|
||||
ldr r3, _0203F810 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203F810 ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203F814 ; =sAppTemplate_ChooseStarter
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203F810: .word Fsys_LaunchApplication
|
||||
_0203F810: .word FieldSys_LaunchApplication
|
||||
_0203F814: .word sAppTemplate_ChooseStarter
|
||||
thumb_func_end LaunchChooseStarterApp
|
||||
|
||||
@ -2856,7 +2856,7 @@ sub_0203F818: ; 0x0203F818
|
||||
add r1, r2, #0
|
||||
ldr r2, [r4, #0xc]
|
||||
add r0, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
@ -2928,7 +2928,7 @@ sub_0203F844: ; 0x0203F844
|
||||
add r1, sp, #0
|
||||
add r2, r4, #0
|
||||
str r6, [r4, #0x3c]
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
@ -2981,7 +2981,7 @@ sub_0203F8EC: ; 0x0203F8EC
|
||||
add r0, r5, #0
|
||||
add r1, sp, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
@ -2991,23 +2991,23 @@ _0203F960: .word _020FA334
|
||||
|
||||
thumb_func_start sub_0203F964
|
||||
sub_0203F964: ; 0x0203F964
|
||||
ldr r3, _0203F96C ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203F96C ; =FieldSys_LaunchApplication
|
||||
ldr r1, _0203F970 ; =_020FA224
|
||||
ldr r2, [r0, #0xc]
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203F96C: .word Fsys_LaunchApplication
|
||||
_0203F96C: .word FieldSys_LaunchApplication
|
||||
_0203F970: .word _020FA224
|
||||
thumb_func_end sub_0203F964
|
||||
|
||||
thumb_func_start LaunchHOFCongratsApp
|
||||
LaunchHOFCongratsApp: ; 0x0203F974
|
||||
ldr r3, _0203F97C ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203F97C ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203F980 ; =_020FA214
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203F97C: .word Fsys_LaunchApplication
|
||||
_0203F97C: .word FieldSys_LaunchApplication
|
||||
_0203F980: .word _020FA214
|
||||
thumb_func_end LaunchHOFCongratsApp
|
||||
|
||||
@ -3030,7 +3030,7 @@ _0203F9A2:
|
||||
ldr r1, _0203F9B0 ; =_020FA204
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
@ -3039,12 +3039,12 @@ _0203F9B0: .word _020FA204
|
||||
|
||||
thumb_func_start LaunchCreditsApp
|
||||
LaunchCreditsApp: ; 0x0203F9B4
|
||||
ldr r3, _0203F9BC ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203F9BC ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203F9C0 ; =_020FA1F4
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203F9BC: .word Fsys_LaunchApplication
|
||||
_0203F9BC: .word FieldSys_LaunchApplication
|
||||
_0203F9C0: .word _020FA1F4
|
||||
thumb_func_end LaunchCreditsApp
|
||||
|
||||
@ -3067,7 +3067,7 @@ sub_0203F9C4: ; 0x0203F9C4
|
||||
str r0, [r2, #0xc]
|
||||
add r0, r3, #0
|
||||
add r1, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -3118,7 +3118,7 @@ sub_0203FA38: ; 0x0203FA38
|
||||
add r4, r0, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r6, r0, #0
|
||||
bl Sav2_PlayerData_GetCoinsAddr
|
||||
str r0, [r4, #4]
|
||||
@ -3137,7 +3137,7 @@ sub_0203FA38: ; 0x0203FA38
|
||||
str r0, [r4, #0x10]
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -3159,7 +3159,7 @@ sub_0203FA8C: ; 0x0203FA8C
|
||||
str r0, [r4]
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
@ -3186,7 +3186,7 @@ sub_0203FAB4: ; 0x0203FAB4
|
||||
add r2, r4, #0
|
||||
str r0, [r4]
|
||||
add r0, r5, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
@ -3241,7 +3241,7 @@ sub_0203FAE8: ; 0x0203FAE8
|
||||
ldr r1, _0203FB5C ; =_0210159C
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -3269,7 +3269,7 @@ _0203FB74:
|
||||
str r0, [r4]
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
@ -3323,7 +3323,7 @@ sub_0203FB94: ; 0x0203FB94
|
||||
ldr r1, _0203FC10 ; =_02103A1C
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -3359,7 +3359,7 @@ sub_0203FC14: ; 0x0203FC14
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
strb r7, [r4, #0xc]
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
@ -3368,12 +3368,12 @@ _0203FC54: .word _020FA1C4
|
||||
|
||||
thumb_func_start Fsys_LaunchPokeathlonCourseApplication
|
||||
Fsys_LaunchPokeathlonCourseApplication: ; 0x0203FC58
|
||||
ldr r3, _0203FC60 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203FC60 ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203FC64 ; =_020FA244
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203FC60: .word Fsys_LaunchApplication
|
||||
_0203FC60: .word FieldSys_LaunchApplication
|
||||
_0203FC64: .word _020FA244
|
||||
thumb_func_end Fsys_LaunchPokeathlonCourseApplication
|
||||
|
||||
@ -3392,7 +3392,7 @@ sub_0203FC68: ; 0x0203FC68
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -3414,7 +3414,7 @@ sub_0203FC90: ; 0x0203FC90
|
||||
stmia r4!, {r0, r1}
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add sp, #0x10
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
@ -3436,7 +3436,7 @@ sub_0203FCB8: ; 0x0203FCB8
|
||||
add r4, r0, #0
|
||||
bl memset
|
||||
add r0, r6, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [r4]
|
||||
add r3, r4, #4
|
||||
mov r2, #9
|
||||
@ -3455,7 +3455,7 @@ _0203FCE0:
|
||||
ldr r1, _0203FD04 ; =_020FA474
|
||||
add r0, r6, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
@ -3464,11 +3464,11 @@ _0203FD04: .word _020FA474
|
||||
|
||||
thumb_func_start sub_0203FD08
|
||||
sub_0203FD08: ; 0x0203FD08
|
||||
ldr r3, _0203FD10 ; =Fsys_LaunchApplication
|
||||
ldr r3, _0203FD10 ; =FieldSys_LaunchApplication
|
||||
add r2, r1, #0
|
||||
ldr r1, _0203FD14 ; =_020FA494
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0203FD10: .word Fsys_LaunchApplication
|
||||
_0203FD10: .word FieldSys_LaunchApplication
|
||||
_0203FD14: .word _020FA494
|
||||
thumb_func_end sub_0203FD08
|
||||
|
@ -1105,7 +1105,7 @@ _0204FD3A:
|
||||
ldr r1, _0204FD4C ; =_0210159C
|
||||
add r0, r6, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
ldr r0, [r5, #0xc]
|
||||
str r4, [r0]
|
||||
mov r0, #1
|
||||
@ -1210,7 +1210,7 @@ sub_0204FDA0: ; 0x0204FDA0
|
||||
ldr r1, _0204FE2C ; =_02103A1C
|
||||
add r0, r7, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
ldr r0, [r6, #0xc]
|
||||
str r4, [r0]
|
||||
mov r0, #3
|
||||
@ -1782,7 +1782,7 @@ _0205027A:
|
||||
ldr r1, _0205028C ; =_0210159C
|
||||
add r0, r6, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
ldr r0, [r5, #0xc]
|
||||
str r4, [r0]
|
||||
mov r0, #1
|
||||
@ -1887,7 +1887,7 @@ sub_020502E0: ; 0x020502E0
|
||||
ldr r1, _0205036C ; =_02103A1C
|
||||
add r0, r7, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
ldr r0, [r6, #0xc]
|
||||
str r4, [r0]
|
||||
mov r0, #3
|
||||
|
@ -112,7 +112,7 @@ sub_020580E4: ; 0x020580E4
|
||||
cmp r0, #0
|
||||
bne _0205811C
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
mov r1, #0
|
||||
add r3, r5, #0
|
||||
str r1, [sp]
|
||||
@ -144,7 +144,7 @@ sub_02058124: ; 0x02058124
|
||||
cmp r0, #0
|
||||
bne _0205815C
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
mov r1, #0
|
||||
add r3, r5, #0
|
||||
str r1, [sp]
|
||||
|
@ -74,7 +74,7 @@ sub_02058AEC: ; 0x02058AEC
|
||||
ldr r1, _02058B80 ; =_02103A1C
|
||||
add r0, r6, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
str r4, [r7]
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
@ -202,7 +202,7 @@ _02058C5C:
|
||||
ldr r0, [r5, #0x24]
|
||||
ldr r1, _02058C7C ; =_0210159C
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
str r4, [r5, #4]
|
||||
pop {r3, r4, r5, pc}
|
||||
.balign 4, 0
|
||||
@ -2474,7 +2474,7 @@ sub_02059E1C: ; 0x02059E1C
|
||||
mov r0, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
_02059E2E:
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r6, r0, #0
|
||||
bl sub_02037F18
|
||||
mov r1, #0x19
|
||||
|
@ -1,924 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.rodata
|
||||
_020FCA74:
|
||||
.byte 0x00, 0x00, 0x02, 0x02, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x01, 0x03, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0205B6E8
|
||||
sub_0205B6E8: ; 0x0205B6E8
|
||||
cmp r0, #2
|
||||
bne _0205B6F0
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B6F0:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B6E8
|
||||
|
||||
thumb_func_start sub_0205B6F4
|
||||
sub_0205B6F4: ; 0x0205B6F4
|
||||
cmp r0, #3
|
||||
bne _0205B6FC
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B6FC:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B6F4
|
||||
|
||||
thumb_func_start sub_0205B700
|
||||
sub_0205B700: ; 0x0205B700
|
||||
cmp r0, #0x80
|
||||
bne _0205B708
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B708:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B700
|
||||
|
||||
thumb_func_start sub_0205B70C
|
||||
sub_0205B70C: ; 0x0205B70C
|
||||
cmp r0, #0x69
|
||||
bne _0205B714
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B714:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B70C
|
||||
|
||||
thumb_func_start sub_0205B718
|
||||
sub_0205B718: ; 0x0205B718
|
||||
cmp r0, #0x62
|
||||
bne _0205B720
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B720:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B718
|
||||
|
||||
thumb_func_start sub_0205B724
|
||||
sub_0205B724: ; 0x0205B724
|
||||
cmp r0, #0x63
|
||||
bne _0205B72C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B72C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B724
|
||||
|
||||
thumb_func_start sub_0205B730
|
||||
sub_0205B730: ; 0x0205B730
|
||||
cmp r0, #0x64
|
||||
bne _0205B738
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B738:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B730
|
||||
|
||||
thumb_func_start sub_0205B73C
|
||||
sub_0205B73C: ; 0x0205B73C
|
||||
cmp r0, #0x65
|
||||
bne _0205B744
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B744:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B73C
|
||||
|
||||
thumb_func_start sub_0205B748
|
||||
sub_0205B748: ; 0x0205B748
|
||||
cmp r0, #0x6c
|
||||
bne _0205B750
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B750:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B748
|
||||
|
||||
thumb_func_start sub_0205B754
|
||||
sub_0205B754: ; 0x0205B754
|
||||
cmp r0, #0x6d
|
||||
bne _0205B75C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B75C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B754
|
||||
|
||||
thumb_func_start sub_0205B760
|
||||
sub_0205B760: ; 0x0205B760
|
||||
cmp r0, #0x6e
|
||||
bne _0205B768
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B768:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B760
|
||||
|
||||
thumb_func_start sub_0205B76C
|
||||
sub_0205B76C: ; 0x0205B76C
|
||||
cmp r0, #0x6f
|
||||
bne _0205B774
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B774:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B76C
|
||||
|
||||
thumb_func_start sub_0205B778
|
||||
sub_0205B778: ; 0x0205B778
|
||||
ldr r1, _0205B788 ; =_020FCA74
|
||||
ldrb r1, [r1, r0]
|
||||
mov r0, #1
|
||||
tst r1, r0
|
||||
bne _0205B784
|
||||
mov r0, #0
|
||||
_0205B784:
|
||||
bx lr
|
||||
nop
|
||||
_0205B788: .word _020FCA74
|
||||
thumb_func_end sub_0205B778
|
||||
|
||||
thumb_func_start sub_0205B78C
|
||||
sub_0205B78C: ; 0x0205B78C
|
||||
cmp r0, #0x22
|
||||
bne _0205B794
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B794:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B78C
|
||||
|
||||
thumb_func_start sub_0205B798
|
||||
sub_0205B798: ; 0x0205B798
|
||||
cmp r0, #0x21
|
||||
bne _0205B7A0
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B7A0:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B798
|
||||
|
||||
thumb_func_start sub_0205B7A4
|
||||
sub_0205B7A4: ; 0x0205B7A4
|
||||
cmp r0, #0x17
|
||||
bne _0205B7AC
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B7AC:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B7A4
|
||||
|
||||
thumb_func_start sub_0205B7B0
|
||||
sub_0205B7B0: ; 0x0205B7B0
|
||||
cmp r0, #0x3a
|
||||
bne _0205B7B8
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B7B8:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B7B0
|
||||
|
||||
thumb_func_start sub_0205B7BC
|
||||
sub_0205B7BC: ; 0x0205B7BC
|
||||
cmp r0, #0x3b
|
||||
bne _0205B7C4
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B7C4:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B7BC
|
||||
|
||||
thumb_func_start sub_0205B7C8
|
||||
sub_0205B7C8: ; 0x0205B7C8
|
||||
cmp r0, #0x39
|
||||
bne _0205B7D0
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B7D0:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B7C8
|
||||
|
||||
thumb_func_start sub_0205B7D4
|
||||
sub_0205B7D4: ; 0x0205B7D4
|
||||
cmp r0, #0x38
|
||||
bne _0205B7DC
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B7DC:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B7D4
|
||||
|
||||
thumb_func_start sub_0205B7E0
|
||||
sub_0205B7E0: ; 0x0205B7E0
|
||||
cmp r0, #0x83
|
||||
bne _0205B7E8
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B7E8:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B7E0
|
||||
|
||||
thumb_func_start sub_0205B7EC
|
||||
sub_0205B7EC: ; 0x0205B7EC
|
||||
cmp r0, #0x85
|
||||
bne _0205B7F4
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B7F4:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B7EC
|
||||
|
||||
thumb_func_start sub_0205B7F8
|
||||
sub_0205B7F8: ; 0x0205B7F8
|
||||
cmp r0, #0x6a
|
||||
bne _0205B800
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B800:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B7F8
|
||||
|
||||
thumb_func_start sub_0205B804
|
||||
sub_0205B804: ; 0x0205B804
|
||||
cmp r0, #0x6b
|
||||
bne _0205B80C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B80C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B804
|
||||
|
||||
thumb_func_start sub_0205B810
|
||||
sub_0205B810: ; 0x0205B810
|
||||
cmp r0, #0x5e
|
||||
bne _0205B818
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B818:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B810
|
||||
|
||||
thumb_func_start sub_0205B81C
|
||||
sub_0205B81C: ; 0x0205B81C
|
||||
cmp r0, #0x5f
|
||||
bne _0205B824
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B824:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B81C
|
||||
|
||||
thumb_func_start sub_0205B828
|
||||
sub_0205B828: ; 0x0205B828
|
||||
cmp r0, #0x20
|
||||
bne _0205B830
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B830:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B828
|
||||
|
||||
thumb_func_start sub_0205B834
|
||||
sub_0205B834: ; 0x0205B834
|
||||
cmp r0, #0x4b
|
||||
bne _0205B83C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B83C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B834
|
||||
|
||||
thumb_func_start sub_0205B840
|
||||
sub_0205B840: ; 0x0205B840
|
||||
cmp r0, #0x4c
|
||||
bne _0205B848
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B848:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B840
|
||||
|
||||
thumb_func_start sub_0205B84C
|
||||
sub_0205B84C: ; 0x0205B84C
|
||||
cmp r0, #0xe0
|
||||
bne _0205B854
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B854:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B84C
|
||||
|
||||
thumb_func_start sub_0205B858
|
||||
sub_0205B858: ; 0x0205B858
|
||||
cmp r0, #0xea
|
||||
bne _0205B860
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B860:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B858
|
||||
|
||||
thumb_func_start sub_0205B864
|
||||
sub_0205B864: ; 0x0205B864
|
||||
cmp r0, #0xe1
|
||||
bne _0205B86C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B86C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B864
|
||||
|
||||
thumb_func_start sub_0205B870
|
||||
sub_0205B870: ; 0x0205B870
|
||||
cmp r0, #0xe2
|
||||
bne _0205B878
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B878:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B870
|
||||
|
||||
thumb_func_start sub_0205B87C
|
||||
sub_0205B87C: ; 0x0205B87C
|
||||
cmp r0, #0xe4
|
||||
bne _0205B884
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B884:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B87C
|
||||
|
||||
thumb_func_start sub_0205B888
|
||||
sub_0205B888: ; 0x0205B888
|
||||
cmp r0, #0xe5
|
||||
bne _0205B890
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B890:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B888
|
||||
|
||||
thumb_func_start sub_0205B894
|
||||
sub_0205B894: ; 0x0205B894
|
||||
cmp r0, #0xeb
|
||||
bne _0205B89C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B89C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B894
|
||||
|
||||
thumb_func_start sub_0205B8A0
|
||||
sub_0205B8A0: ; 0x0205B8A0
|
||||
cmp r0, #0xec
|
||||
bne _0205B8A8
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B8A8:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B8A0
|
||||
|
||||
thumb_func_start sub_0205B8AC
|
||||
sub_0205B8AC: ; 0x0205B8AC
|
||||
cmp r0, #0xa4
|
||||
bne _0205B8B4
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B8B4:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B8AC
|
||||
|
||||
thumb_func_start sub_0205B8B8
|
||||
sub_0205B8B8: ; 0x0205B8B8
|
||||
cmp r0, #0xa8
|
||||
bne _0205B8C0
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B8C0:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B8B8
|
||||
|
||||
thumb_func_start sub_0205B8C4
|
||||
sub_0205B8C4: ; 0x0205B8C4
|
||||
cmp r0, #0xa8
|
||||
bne _0205B8CC
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B8CC:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B8C4
|
||||
|
||||
thumb_func_start sub_0205B8D0
|
||||
sub_0205B8D0: ; 0x0205B8D0
|
||||
cmp r0, #8
|
||||
bne _0205B8D8
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B8D8:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B8D0
|
||||
|
||||
thumb_func_start MetatileBehavior_IsWaterfall
|
||||
MetatileBehavior_IsWaterfall: ; 0x0205B8DC
|
||||
cmp r0, #0x13
|
||||
bne _0205B8E4
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B8E4:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end MetatileBehavior_IsWaterfall
|
||||
|
||||
thumb_func_start MetatileBehavior_IsWhirlpool
|
||||
MetatileBehavior_IsWhirlpool: ; 0x0205B8E8
|
||||
cmp r0, #0x11
|
||||
bne _0205B8F0
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B8F0:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end MetatileBehavior_IsWhirlpool
|
||||
|
||||
thumb_func_start sub_0205B8F4
|
||||
sub_0205B8F4: ; 0x0205B8F4
|
||||
add r0, #0xce
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
mov r3, #0
|
||||
cmp r0, #0x17
|
||||
bhi _0205B90E
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
lsl r2, r0
|
||||
ldr r0, _0205B914 ; =0x0080040D
|
||||
tst r0, r2
|
||||
beq _0205B90E
|
||||
add r3, r1, #0
|
||||
_0205B90E:
|
||||
add r0, r3, #0
|
||||
bx lr
|
||||
nop
|
||||
_0205B914: .word 0x0080040D
|
||||
thumb_func_end sub_0205B8F4
|
||||
|
||||
thumb_func_start sub_0205B918
|
||||
sub_0205B918: ; 0x0205B918
|
||||
add r0, #0xcd
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
mov r3, #0
|
||||
cmp r0, #0x16
|
||||
bhi _0205B932
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
lsl r2, r0
|
||||
ldr r0, _0205B938 ; =0x00400419
|
||||
tst r0, r2
|
||||
beq _0205B932
|
||||
add r3, r1, #0
|
||||
_0205B932:
|
||||
add r0, r3, #0
|
||||
bx lr
|
||||
nop
|
||||
_0205B938: .word 0x00400419
|
||||
thumb_func_end sub_0205B918
|
||||
|
||||
thumb_func_start sub_0205B93C
|
||||
sub_0205B93C: ; 0x0205B93C
|
||||
add r0, #0xcf
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
mov r3, #0
|
||||
cmp r0, #0x19
|
||||
bhi _0205B956
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
lsl r2, r0
|
||||
ldr r0, _0205B95C ; =0x02000051
|
||||
tst r0, r2
|
||||
beq _0205B956
|
||||
add r3, r1, #0
|
||||
_0205B956:
|
||||
add r0, r3, #0
|
||||
bx lr
|
||||
nop
|
||||
_0205B95C: .word 0x02000051
|
||||
thumb_func_end sub_0205B93C
|
||||
|
||||
thumb_func_start sub_0205B960
|
||||
sub_0205B960: ; 0x0205B960
|
||||
add r0, #0xd0
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
mov r3, #0
|
||||
cmp r0, #0x1a
|
||||
bhi _0205B97A
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
lsl r2, r0
|
||||
ldr r0, _0205B980 ; =0x04000051
|
||||
tst r0, r2
|
||||
beq _0205B97A
|
||||
add r3, r1, #0
|
||||
_0205B97A:
|
||||
add r0, r3, #0
|
||||
bx lr
|
||||
nop
|
||||
_0205B980: .word 0x04000051
|
||||
thumb_func_end sub_0205B960
|
||||
|
||||
thumb_func_start sub_0205B984
|
||||
sub_0205B984: ; 0x0205B984
|
||||
cmp r0, #0x16
|
||||
beq _0205B98C
|
||||
cmp r0, #0x1d
|
||||
bne _0205B990
|
||||
_0205B98C:
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B990:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B984
|
||||
|
||||
thumb_func_start sub_0205B994
|
||||
sub_0205B994: ; 0x0205B994
|
||||
ldr r1, _0205B9A8 ; =_020FCA74
|
||||
ldrb r1, [r1, r0]
|
||||
mov r0, #2
|
||||
tst r0, r1
|
||||
beq _0205B9A2
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B9A2:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
nop
|
||||
_0205B9A8: .word _020FCA74
|
||||
thumb_func_end sub_0205B994
|
||||
|
||||
thumb_func_start sub_0205B9AC
|
||||
sub_0205B9AC: ; 0x0205B9AC
|
||||
cmp r0, #0x86
|
||||
bne _0205B9B4
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B9B4:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B9AC
|
||||
|
||||
thumb_func_start sub_0205B9B8
|
||||
sub_0205B9B8: ; 0x0205B9B8
|
||||
add r0, #0xf0
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
mov r3, #0
|
||||
cmp r0, #0x1d
|
||||
bhi _0205B9D2
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
lsl r2, r0
|
||||
ldr r0, _0205B9D8 ; =0x20012041
|
||||
tst r0, r2
|
||||
beq _0205B9D2
|
||||
add r3, r1, #0
|
||||
_0205B9D2:
|
||||
add r0, r3, #0
|
||||
bx lr
|
||||
nop
|
||||
_0205B9D8: .word 0x20012041
|
||||
thumb_func_end sub_0205B9B8
|
||||
|
||||
thumb_func_start sub_0205B9DC
|
||||
sub_0205B9DC: ; 0x0205B9DC
|
||||
cmp r0, #0x40
|
||||
bne _0205B9E4
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B9E4:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B9DC
|
||||
|
||||
thumb_func_start sub_0205B9E8
|
||||
sub_0205B9E8: ; 0x0205B9E8
|
||||
cmp r0, #0x41
|
||||
bne _0205B9F0
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B9F0:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B9E8
|
||||
|
||||
thumb_func_start sub_0205B9F4
|
||||
sub_0205B9F4: ; 0x0205B9F4
|
||||
cmp r0, #0x42
|
||||
bne _0205B9FC
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205B9FC:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205B9F4
|
||||
|
||||
thumb_func_start sub_0205BA00
|
||||
sub_0205BA00: ; 0x0205BA00
|
||||
cmp r0, #0x43
|
||||
bne _0205BA08
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BA08:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BA00
|
||||
|
||||
thumb_func_start sub_0205BA0C
|
||||
sub_0205BA0C: ; 0x0205BA0C
|
||||
cmp r0, #0x4d
|
||||
bne _0205BA14
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BA14:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BA0C
|
||||
|
||||
thumb_func_start sub_0205BA18
|
||||
sub_0205BA18: ; 0x0205BA18
|
||||
cmp r0, #0x67
|
||||
bne _0205BA20
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BA20:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BA18
|
||||
|
||||
thumb_func_start sub_0205BA24
|
||||
sub_0205BA24: ; 0x0205BA24
|
||||
cmp r0, #0x70
|
||||
bne _0205BA2C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BA2C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BA24
|
||||
|
||||
thumb_func_start sub_0205BA30
|
||||
sub_0205BA30: ; 0x0205BA30
|
||||
add r0, #0x8f
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
cmp r0, #2
|
||||
bhi _0205BA3E
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BA3E:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
thumb_func_end sub_0205BA30
|
||||
|
||||
thumb_func_start sub_0205BA44
|
||||
sub_0205BA44: ; 0x0205BA44
|
||||
cmp r0, #0x71
|
||||
beq _0205BA4C
|
||||
cmp r0, #0x72
|
||||
bne _0205BA50
|
||||
_0205BA4C:
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BA50:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BA44
|
||||
|
||||
thumb_func_start sub_0205BA54
|
||||
sub_0205BA54: ; 0x0205BA54
|
||||
cmp r0, #0x73
|
||||
bne _0205BA5C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BA5C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BA54
|
||||
|
||||
thumb_func_start sub_0205BA60
|
||||
sub_0205BA60: ; 0x0205BA60
|
||||
cmp r0, #0xff
|
||||
bne _0205BA68
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BA68:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BA60
|
||||
|
||||
thumb_func_start sub_0205BA6C
|
||||
sub_0205BA6C: ; 0x0205BA6C
|
||||
mov r0, #0xff
|
||||
bx lr
|
||||
thumb_func_end sub_0205BA6C
|
||||
|
||||
thumb_func_start sub_0205BA70
|
||||
sub_0205BA70: ; 0x0205BA70
|
||||
add r0, #0xe3
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
mov r3, #0
|
||||
cmp r0, #0x10
|
||||
bhi _0205BA8A
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
lsl r2, r0
|
||||
ldr r0, _0205BA90 ; =0x00010009
|
||||
tst r0, r2
|
||||
beq _0205BA8A
|
||||
add r3, r1, #0
|
||||
_0205BA8A:
|
||||
add r0, r3, #0
|
||||
bx lr
|
||||
nop
|
||||
_0205BA90: .word 0x00010009
|
||||
thumb_func_end sub_0205BA70
|
||||
|
||||
thumb_func_start sub_0205BA94
|
||||
sub_0205BA94: ; 0x0205BA94
|
||||
cmp r0, #0xa9
|
||||
bne _0205BA9C
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BA9C:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BA94
|
||||
|
||||
thumb_func_start sub_0205BAA0
|
||||
sub_0205BAA0: ; 0x0205BAA0
|
||||
cmp r0, #0x3c
|
||||
bne _0205BAA8
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BAA8:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BAA0
|
||||
|
||||
thumb_func_start sub_0205BAAC
|
||||
sub_0205BAAC: ; 0x0205BAAC
|
||||
cmp r0, #0x3d
|
||||
bne _0205BAB4
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BAB4:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BAAC
|
||||
|
||||
thumb_func_start sub_0205BAB8
|
||||
sub_0205BAB8: ; 0x0205BAB8
|
||||
cmp r0, #0x3e
|
||||
bne _0205BAC0
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BAC0:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BAB8
|
||||
|
||||
thumb_func_start sub_0205BAC4
|
||||
sub_0205BAC4: ; 0x0205BAC4
|
||||
cmp r0, #0x2c
|
||||
bne _0205BACC
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BACC:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BAC4
|
||||
|
||||
thumb_func_start sub_0205BAD0
|
||||
sub_0205BAD0: ; 0x0205BAD0
|
||||
cmp r0, #0
|
||||
beq _0205BADC
|
||||
cmp r0, #0x21
|
||||
beq _0205BADC
|
||||
cmp r0, #0xa4
|
||||
bne _0205BAE0
|
||||
_0205BADC:
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BAE0:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BAD0
|
||||
|
||||
thumb_func_start sub_0205BAE4
|
||||
sub_0205BAE4: ; 0x0205BAE4
|
||||
ldr r3, _0205BAE8 ; =sub_0205B778
|
||||
bx r3
|
||||
.balign 4, 0
|
||||
_0205BAE8: .word sub_0205B778
|
||||
thumb_func_end sub_0205BAE4
|
||||
|
||||
thumb_func_start sub_0205BAEC
|
||||
sub_0205BAEC: ; 0x0205BAEC
|
||||
cmp r0, #0x23
|
||||
bne _0205BAF4
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BAF4:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end sub_0205BAEC
|
||||
|
||||
thumb_func_start MetatileBehavior_IsHeadbutt
|
||||
MetatileBehavior_IsHeadbutt: ; 0x0205BAF8
|
||||
cmp r0, #6
|
||||
bne _0205BB00
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_0205BB00:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end MetatileBehavior_IsHeadbutt
|
||||
|
||||
thumb_func_start sub_0205BB04
|
||||
sub_0205BB04: ; 0x0205BB04
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_0205BA44
|
||||
cmp r0, #0
|
||||
bne _0205BB14
|
||||
cmp r4, #0x2e
|
||||
bne _0205BB18
|
||||
_0205BB14:
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_0205BB18:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_0205BB04
|
@ -2553,7 +2553,7 @@ _0206115A:
|
||||
add r1, r4, #0
|
||||
bl sub_0205F4FC
|
||||
add r0, r4, #0
|
||||
bl sub_0205BA60
|
||||
bl MetatileBehavior_IsNone
|
||||
cmp r0, #1
|
||||
bne _02061182
|
||||
mov r1, #2
|
||||
|
@ -92,7 +92,7 @@ _02066F64:
|
||||
ldr r1, _02066F8C ; =_0210159C
|
||||
add r0, r6, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
ldr r0, [r5, #0x14]
|
||||
str r4, [r0]
|
||||
mov r0, #1
|
||||
@ -208,7 +208,7 @@ sub_02066FEC: ; 0x02066FEC
|
||||
ldr r1, _02067084 ; =_02103A1C
|
||||
add r0, r7, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
ldr r0, [r6, #0x14]
|
||||
str r4, [r0]
|
||||
mov r0, #3
|
||||
|
@ -40,7 +40,7 @@ sTrashCanData:
|
||||
thumb_func_start Fsys_InitEcruteakGymSaveData
|
||||
Fsys_InitEcruteakGymSaveData: ; 0x02068DE0
|
||||
push {r4, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
add r4, r0, #0
|
||||
mov r1, #1
|
||||
@ -61,7 +61,7 @@ _02068DFE:
|
||||
thumb_func_start Fsys_InitCianwoodGym
|
||||
Fsys_InitCianwoodGym: ; 0x02068E08
|
||||
push {r4, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
add r4, r0, #0
|
||||
mov r1, #2
|
||||
@ -76,7 +76,7 @@ Fsys_InitCianwoodGym: ; 0x02068E08
|
||||
Fsys_InitVermilionGym: ; 0x02068E24
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
add r4, r0, #0
|
||||
mov r1, #3
|
||||
@ -111,7 +111,7 @@ _02068E60:
|
||||
thumb_func_start PlaceVermilionGymSwitches
|
||||
PlaceVermilionGymSwitches: ; 0x02068E70
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #3
|
||||
bl SavGymmick_AssertMagic_GetData
|
||||
@ -140,7 +140,7 @@ _02068EAC: .word sTrashCanData
|
||||
thumb_func_start Fsys_InitVioletGym
|
||||
Fsys_InitVioletGym: ; 0x02068EB0
|
||||
push {r4, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
add r4, r0, #0
|
||||
mov r1, #4
|
||||
@ -156,7 +156,7 @@ Fsys_InitVioletGym: ; 0x02068EB0
|
||||
thumb_func_start Fsys_InitAzaleaGym
|
||||
Fsys_InitAzaleaGym: ; 0x02068ED0
|
||||
push {r4, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
add r4, r0, #0
|
||||
mov r1, #5
|
||||
@ -180,7 +180,7 @@ Fsys_InitAzaleaGym: ; 0x02068ED0
|
||||
thumb_func_start Fsys_InitBlackthornGym
|
||||
Fsys_InitBlackthornGym: ; 0x02068F00
|
||||
push {r4, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
add r4, r0, #0
|
||||
mov r1, #6
|
||||
@ -212,7 +212,7 @@ Fsys_InitBlackthornGym: ; 0x02068F00
|
||||
thumb_func_start Fsys_InitFuchsiaGym
|
||||
Fsys_InitFuchsiaGym: ; 0x02068F40
|
||||
push {r3, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #7
|
||||
bl SavGymmick_Init
|
||||
@ -223,7 +223,7 @@ Fsys_InitFuchsiaGym: ; 0x02068F40
|
||||
thumb_func_start Fsys_InitViridianGym
|
||||
Fsys_InitViridianGym: ; 0x02068F54
|
||||
push {r3, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
mov r1, #8
|
||||
bl SavGymmick_Init
|
||||
@ -235,7 +235,7 @@ Fsys_InitViridianGym: ; 0x02068F54
|
||||
Fsys_IsSavGymmickTypeEqualTo: ; 0x02068F68
|
||||
push {r4, lr}
|
||||
add r4, r1, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
bl SavGymmick_GetType
|
||||
cmp r4, r0
|
||||
|
@ -14,7 +14,7 @@ sub_02068FC8: ; 0x02068FC8
|
||||
add r0, r6, #0
|
||||
str r3, [sp, #0x1c]
|
||||
ldr r5, [sp, #0xbc]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
str r0, [sp, #0x20]
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
add r7, r0, #0
|
||||
@ -247,7 +247,7 @@ _020691E4: .word FreeToHeap
|
||||
thumb_func_start sub_020691E8
|
||||
sub_020691E8: ; 0x020691E8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
add r7, r0, #0
|
||||
bl Sav2_GameStats_get
|
||||
add r0, r7, #0
|
||||
|
@ -56,7 +56,7 @@ sub_0206A388: ; 0x0206A388
|
||||
str r0, [r4]
|
||||
str r0, [r4, #4]
|
||||
ldr r0, [sp, #4]
|
||||
bl Fsys_GetBgConfigPtr
|
||||
bl FieldSys_GetBgConfigPtr
|
||||
str r0, [r4, #0xc]
|
||||
mov r0, #0
|
||||
strh r0, [r4, #0x18]
|
||||
|
@ -1054,7 +1054,7 @@ _0206DCC0: .word 0x00004021
|
||||
thumb_func_start Fsys_InitMystriStageGymmick
|
||||
Fsys_InitMystriStageGymmick: ; 0x0206DCC4
|
||||
push {r4, lr}
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_GetGymmickPtr
|
||||
add r4, r0, #0
|
||||
mov r1, #9
|
||||
|
@ -275,7 +275,7 @@ sub_02074F9C: ; 0x02074F9C
|
||||
bl AllocFromHeap
|
||||
add r6, r0, #0
|
||||
ldr r0, [sp]
|
||||
bl ov12_0223A940
|
||||
bl BattleSys_GetSendBufferPtr
|
||||
add r5, r0, #0
|
||||
ldr r0, [sp]
|
||||
bl ov12_0223A960
|
||||
@ -342,7 +342,7 @@ sub_02075028: ; 0x02075028
|
||||
add r0, r3, #0
|
||||
add r5, r1, #0
|
||||
add r6, r2, #0
|
||||
bl ov12_0223A948
|
||||
bl BattleSys_GetRecvBufferPtr
|
||||
add r7, r0, #0
|
||||
ldr r0, [sp]
|
||||
bl ov12_0223A984
|
||||
@ -929,7 +929,7 @@ sub_02075434: ; 0x02075434
|
||||
add r5, r1, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [r5]
|
||||
bl ov12_0223A940
|
||||
bl BattleSys_GetSendBufferPtr
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5]
|
||||
bl ov12_0223A954
|
||||
@ -998,7 +998,7 @@ sub_020754C0: ; 0x020754C0
|
||||
add r5, r1, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [r5]
|
||||
bl ov12_0223A948
|
||||
bl BattleSys_GetRecvBufferPtr
|
||||
add r6, r0, #0
|
||||
ldr r0, [r5]
|
||||
bl ov12_0223A978
|
||||
|
@ -486,7 +486,7 @@ sub_02078B9C: ; 0x02078B9C
|
||||
str r0, [r2, #8]
|
||||
add r0, r5, #0
|
||||
str r2, [r6, #0x10]
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
_02078BD0: .word _0210125C
|
||||
@ -560,7 +560,7 @@ sub_02078C18: ; 0x02078C18
|
||||
ldr r1, _02078C5C ; =_02101260
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
@ -602,7 +602,7 @@ sub_02078C74: ; 0x02078C74
|
||||
ldr r1, _02078CB0 ; =_02101270
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
@ -648,7 +648,7 @@ sub_02078CC8: ; 0x02078CC8
|
||||
ldr r1, _02078D0C ; =_021012A0
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
|
@ -61,7 +61,7 @@ _0209112E:
|
||||
bl TaskManager_GetSys
|
||||
add r6, r0, #0
|
||||
ldr r5, [r4, #0xc]
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
add r7, r0, #0
|
||||
ldr r0, [r6, #0x20]
|
||||
@ -89,7 +89,7 @@ _0209112E:
|
||||
add r1, r5, #0
|
||||
bl sub_02093134
|
||||
add r0, r6, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
ldr r1, [r4, #0xc]
|
||||
bl UpdatePokedexWithReceivedSpecies
|
||||
ldr r0, [r4, #4]
|
||||
@ -112,7 +112,7 @@ _0209119A:
|
||||
bl GetMonData
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
bl Sav2_PlayerData_GetOptionsAddr
|
||||
str r0, [sp]
|
||||
mov r0, #0
|
||||
|
@ -79,7 +79,7 @@ _02095E72:
|
||||
ldr r0, [r4, #4]
|
||||
str r1, [r0, #4]
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
ldr r1, [r4, #4]
|
||||
str r0, [r1]
|
||||
ldrh r1, [r4, #0xc]
|
||||
|
@ -49,7 +49,7 @@ sub_020968B0: ; 0x020968B0
|
||||
ldr r1, _0209690C ; =_02108584
|
||||
add r0, r5, #0
|
||||
str r5, [r4, #0x24]
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
nop
|
||||
|
@ -126,7 +126,7 @@ sub_020970E4: ; 0x020970E4
|
||||
ldr r0, [r4, #0x28]
|
||||
ldr r1, _02097104 ; =_02108EA0
|
||||
ldr r2, [r4, #0x24]
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
@ -205,7 +205,7 @@ _0209718C:
|
||||
str r4, [r0, #4]
|
||||
ldr r0, [r5, #0x28]
|
||||
ldr r2, [r5, #0x24]
|
||||
bl Fsys_LaunchApplication
|
||||
bl FieldSys_LaunchApplication
|
||||
ldr r0, [r5, #0x24]
|
||||
mov r1, #3
|
||||
str r1, [r0]
|
||||
|
@ -25,7 +25,7 @@ sub_02097D3C: ; 0x02097D3C
|
||||
bl AllocFromHeapAtEnd
|
||||
str r0, [r4, #4]
|
||||
add r0, r5, #0
|
||||
bl Fsys_GetSaveDataPtr
|
||||
bl FieldSys_GetSaveDataPtr
|
||||
ldr r1, [r4, #4]
|
||||
add r2, r4, #0
|
||||
str r0, [r1, #4]
|
||||
|
@ -31,7 +31,7 @@ scr_seq_D03R0103_000:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _0077
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _0073
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
@ -31,7 +31,7 @@ scr_seq_D11R0105_000:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _0077
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _0073
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
@ -72,7 +72,7 @@ _0103:
|
||||
setflag FLAG_ENGAGING_STATIC_POKEMON
|
||||
wild_battle VAR_TEMP_x400A, VAR_SPECIAL_x8004, 0
|
||||
clearflag FLAG_ENGAGING_STATIC_POKEMON
|
||||
scrcmd_683 VAR_TEMP_x4005
|
||||
get_static_encounter_outcome VAR_TEMP_x4005
|
||||
compare VAR_TEMP_x4005, 2
|
||||
goto_if_eq _0167
|
||||
compare VAR_TEMP_x4005, 3
|
||||
|
@ -235,7 +235,7 @@ scr_seq_D18R0102_001:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _035C
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _0358
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
@ -84,7 +84,7 @@ _013A:
|
||||
setflag FLAG_ENGAGING_STATIC_POKEMON
|
||||
wild_battle VAR_TEMP_x400A, VAR_SPECIAL_x8004, 0
|
||||
clearflag FLAG_ENGAGING_STATIC_POKEMON
|
||||
scrcmd_683 VAR_TEMP_x4005
|
||||
get_static_encounter_outcome VAR_TEMP_x4005
|
||||
compare VAR_TEMP_x4005, 2
|
||||
goto_if_eq _019E
|
||||
compare VAR_TEMP_x4005, 3
|
||||
|
@ -31,7 +31,7 @@ scr_seq_D41R0105_000:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _0077
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _0073
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
@ -65,7 +65,7 @@ scr_seq_D52R0101_000:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _019D
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _00EC
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
@ -65,7 +65,7 @@ scr_seq_D52R0102_000:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _019D
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _00EC
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
@ -82,7 +82,7 @@ scr_seq_D52R0103_000:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _0142
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _0123
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
@ -181,7 +181,7 @@ scr_seq_R10_003:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _02B3
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _02AF
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
@ -51,7 +51,7 @@ _006A:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _00B4
|
||||
scrcmd_683 VAR_TEMP_x4005
|
||||
get_static_encounter_outcome VAR_TEMP_x4005
|
||||
compare VAR_TEMP_x4005, 4
|
||||
call_if_eq _00BA
|
||||
setflag FLAG_UNK_998
|
||||
|
@ -194,7 +194,7 @@ _0268:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _02AE
|
||||
scrcmd_683 VAR_TEMP_x4005
|
||||
get_static_encounter_outcome VAR_TEMP_x4005
|
||||
compare VAR_TEMP_x4005, 4
|
||||
call_if_eq _02B4
|
||||
setflag FLAG_SNORLAX_MEET
|
||||
|
@ -537,7 +537,7 @@ scr_seq_R25_007:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _07AA
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _07A6
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
@ -101,7 +101,7 @@ _012C:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _0255
|
||||
scrcmd_683 VAR_TEMP_x4001
|
||||
get_static_encounter_outcome VAR_TEMP_x4001
|
||||
compare VAR_TEMP_x4001, 3
|
||||
goto_if_eq _0251
|
||||
compare VAR_TEMP_x4001, 4
|
||||
@ -213,7 +213,7 @@ _02E2:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _0255
|
||||
scrcmd_683 VAR_TEMP_x4001
|
||||
get_static_encounter_outcome VAR_TEMP_x4001
|
||||
compare VAR_TEMP_x4001, 4
|
||||
call_if_eq _023F
|
||||
scrcmd_221 VAR_TEMP_x4000, 0
|
||||
|
@ -382,7 +382,7 @@ _04D7:
|
||||
setflag FLAG_ENGAGING_STATIC_POKEMON
|
||||
wild_battle VAR_TEMP_x400A, 40, 0
|
||||
clearflag FLAG_ENGAGING_STATIC_POKEMON
|
||||
scrcmd_683 VAR_TEMP_x4000
|
||||
get_static_encounter_outcome VAR_TEMP_x4000
|
||||
compare VAR_TEMP_x4000, 2
|
||||
goto_if_eq _057B
|
||||
compare VAR_TEMP_x4000, 3
|
||||
|
@ -288,7 +288,7 @@ scr_seq_T29_001:
|
||||
check_battle_won VAR_SPECIAL_RESULT
|
||||
compare VAR_SPECIAL_RESULT, 0
|
||||
goto_if_eq _0456
|
||||
scrcmd_683 VAR_TEMP_x4002
|
||||
get_static_encounter_outcome VAR_TEMP_x4002
|
||||
compare VAR_TEMP_x4002, 3
|
||||
goto_if_eq _0452
|
||||
compare VAR_TEMP_x4002, 4
|
||||
|
38859
global.inc
38859
global.inc
File diff suppressed because it is too large
Load Diff
240
include/constants/metatile_behavior.h
Normal file
240
include/constants/metatile_behavior.h
Normal file
@ -0,0 +1,240 @@
|
||||
enum TILE_BEHAVIOR {
|
||||
TILE_BEHAVIOR_0,
|
||||
TILE_BEHAVIOR_1,
|
||||
TILE_BEHAVIOR_2,
|
||||
TILE_BEHAVIOR_3,
|
||||
TILE_BEHAVIOR_4,
|
||||
TILE_BEHAVIOR_5,
|
||||
TILE_BEHAVIOR_HEADBUTT,
|
||||
TILE_BEHAVIOR_7,
|
||||
TILE_BEHAVIOR_8,
|
||||
TILE_BEHAVIOR_9,
|
||||
TILE_BEHAVIOR_10,
|
||||
TILE_BEHAVIOR_11,
|
||||
TILE_BEHAVIOR_12,
|
||||
TILE_BEHAVIOR_13,
|
||||
TILE_BEHAVIOR_14,
|
||||
TILE_BEHAVIOR_15,
|
||||
TILE_BEHAVIOR_16,
|
||||
TILE_BEHAVIOR_WHIRLPOOL,
|
||||
TILE_BEHAVIOR_18,
|
||||
TILE_BEHAVIOR_WATERFALL,
|
||||
TILE_BEHAVIOR_20,
|
||||
TILE_BEHAVIOR_21,
|
||||
TILE_BEHAVIOR_22,
|
||||
TILE_BEHAVIOR_23,
|
||||
TILE_BEHAVIOR_24,
|
||||
TILE_BEHAVIOR_25,
|
||||
TILE_BEHAVIOR_26,
|
||||
TILE_BEHAVIOR_27,
|
||||
TILE_BEHAVIOR_28,
|
||||
TILE_BEHAVIOR_29,
|
||||
TILE_BEHAVIOR_30,
|
||||
TILE_BEHAVIOR_31,
|
||||
TILE_BEHAVIOR_32,
|
||||
TILE_BEHAVIOR_33,
|
||||
TILE_BEHAVIOR_34,
|
||||
TILE_BEHAVIOR_35,
|
||||
TILE_BEHAVIOR_36,
|
||||
TILE_BEHAVIOR_37,
|
||||
TILE_BEHAVIOR_38,
|
||||
TILE_BEHAVIOR_39,
|
||||
TILE_BEHAVIOR_40,
|
||||
TILE_BEHAVIOR_41,
|
||||
TILE_BEHAVIOR_42,
|
||||
TILE_BEHAVIOR_43,
|
||||
TILE_BEHAVIOR_44,
|
||||
TILE_BEHAVIOR_45,
|
||||
TILE_BEHAVIOR_46,
|
||||
TILE_BEHAVIOR_47,
|
||||
TILE_BEHAVIOR_48,
|
||||
TILE_BEHAVIOR_49,
|
||||
TILE_BEHAVIOR_50,
|
||||
TILE_BEHAVIOR_51,
|
||||
TILE_BEHAVIOR_52,
|
||||
TILE_BEHAVIOR_53,
|
||||
TILE_BEHAVIOR_54,
|
||||
TILE_BEHAVIOR_55,
|
||||
TILE_BEHAVIOR_56,
|
||||
TILE_BEHAVIOR_57,
|
||||
TILE_BEHAVIOR_58,
|
||||
TILE_BEHAVIOR_59,
|
||||
TILE_BEHAVIOR_60,
|
||||
TILE_BEHAVIOR_61,
|
||||
TILE_BEHAVIOR_62,
|
||||
TILE_BEHAVIOR_63,
|
||||
TILE_BEHAVIOR_64,
|
||||
TILE_BEHAVIOR_65,
|
||||
TILE_BEHAVIOR_66,
|
||||
TILE_BEHAVIOR_67,
|
||||
TILE_BEHAVIOR_68,
|
||||
TILE_BEHAVIOR_69,
|
||||
TILE_BEHAVIOR_70,
|
||||
TILE_BEHAVIOR_71,
|
||||
TILE_BEHAVIOR_72,
|
||||
TILE_BEHAVIOR_73,
|
||||
TILE_BEHAVIOR_74,
|
||||
TILE_BEHAVIOR_75,
|
||||
TILE_BEHAVIOR_76,
|
||||
TILE_BEHAVIOR_77,
|
||||
TILE_BEHAVIOR_78,
|
||||
TILE_BEHAVIOR_79,
|
||||
TILE_BEHAVIOR_80,
|
||||
TILE_BEHAVIOR_81,
|
||||
TILE_BEHAVIOR_82,
|
||||
TILE_BEHAVIOR_83,
|
||||
TILE_BEHAVIOR_84,
|
||||
TILE_BEHAVIOR_85,
|
||||
TILE_BEHAVIOR_86,
|
||||
TILE_BEHAVIOR_87,
|
||||
TILE_BEHAVIOR_88,
|
||||
TILE_BEHAVIOR_89,
|
||||
TILE_BEHAVIOR_90,
|
||||
TILE_BEHAVIOR_91,
|
||||
TILE_BEHAVIOR_92,
|
||||
TILE_BEHAVIOR_93,
|
||||
TILE_BEHAVIOR_94,
|
||||
TILE_BEHAVIOR_95,
|
||||
TILE_BEHAVIOR_96,
|
||||
TILE_BEHAVIOR_97,
|
||||
TILE_BEHAVIOR_98,
|
||||
TILE_BEHAVIOR_99,
|
||||
TILE_BEHAVIOR_100,
|
||||
TILE_BEHAVIOR_101,
|
||||
TILE_BEHAVIOR_102,
|
||||
TILE_BEHAVIOR_103,
|
||||
TILE_BEHAVIOR_104,
|
||||
TILE_BEHAVIOR_105,
|
||||
TILE_BEHAVIOR_106,
|
||||
TILE_BEHAVIOR_107,
|
||||
TILE_BEHAVIOR_108,
|
||||
TILE_BEHAVIOR_109,
|
||||
TILE_BEHAVIOR_110,
|
||||
TILE_BEHAVIOR_111,
|
||||
TILE_BEHAVIOR_112,
|
||||
TILE_BEHAVIOR_113,
|
||||
TILE_BEHAVIOR_114,
|
||||
TILE_BEHAVIOR_115,
|
||||
TILE_BEHAVIOR_116,
|
||||
TILE_BEHAVIOR_117,
|
||||
TILE_BEHAVIOR_118,
|
||||
TILE_BEHAVIOR_119,
|
||||
TILE_BEHAVIOR_120,
|
||||
TILE_BEHAVIOR_121,
|
||||
TILE_BEHAVIOR_122,
|
||||
TILE_BEHAVIOR_123,
|
||||
TILE_BEHAVIOR_124,
|
||||
TILE_BEHAVIOR_125,
|
||||
TILE_BEHAVIOR_126,
|
||||
TILE_BEHAVIOR_127,
|
||||
TILE_BEHAVIOR_128,
|
||||
TILE_BEHAVIOR_129,
|
||||
TILE_BEHAVIOR_130,
|
||||
TILE_BEHAVIOR_131,
|
||||
TILE_BEHAVIOR_132,
|
||||
TILE_BEHAVIOR_133,
|
||||
TILE_BEHAVIOR_134,
|
||||
TILE_BEHAVIOR_135,
|
||||
TILE_BEHAVIOR_136,
|
||||
TILE_BEHAVIOR_137,
|
||||
TILE_BEHAVIOR_138,
|
||||
TILE_BEHAVIOR_139,
|
||||
TILE_BEHAVIOR_140,
|
||||
TILE_BEHAVIOR_141,
|
||||
TILE_BEHAVIOR_142,
|
||||
TILE_BEHAVIOR_143,
|
||||
TILE_BEHAVIOR_144,
|
||||
TILE_BEHAVIOR_145,
|
||||
TILE_BEHAVIOR_146,
|
||||
TILE_BEHAVIOR_147,
|
||||
TILE_BEHAVIOR_148,
|
||||
TILE_BEHAVIOR_149,
|
||||
TILE_BEHAVIOR_150,
|
||||
TILE_BEHAVIOR_151,
|
||||
TILE_BEHAVIOR_152,
|
||||
TILE_BEHAVIOR_153,
|
||||
TILE_BEHAVIOR_154,
|
||||
TILE_BEHAVIOR_155,
|
||||
TILE_BEHAVIOR_156,
|
||||
TILE_BEHAVIOR_157,
|
||||
TILE_BEHAVIOR_158,
|
||||
TILE_BEHAVIOR_159,
|
||||
TILE_BEHAVIOR_160,
|
||||
TILE_BEHAVIOR_161,
|
||||
TILE_BEHAVIOR_162,
|
||||
TILE_BEHAVIOR_163,
|
||||
TILE_BEHAVIOR_164,
|
||||
TILE_BEHAVIOR_165,
|
||||
TILE_BEHAVIOR_166,
|
||||
TILE_BEHAVIOR_167,
|
||||
TILE_BEHAVIOR_168,
|
||||
TILE_BEHAVIOR_169,
|
||||
TILE_BEHAVIOR_170,
|
||||
TILE_BEHAVIOR_171,
|
||||
TILE_BEHAVIOR_172,
|
||||
TILE_BEHAVIOR_173,
|
||||
TILE_BEHAVIOR_174,
|
||||
TILE_BEHAVIOR_175,
|
||||
TILE_BEHAVIOR_176,
|
||||
TILE_BEHAVIOR_177,
|
||||
TILE_BEHAVIOR_178,
|
||||
TILE_BEHAVIOR_179,
|
||||
TILE_BEHAVIOR_180,
|
||||
TILE_BEHAVIOR_181,
|
||||
TILE_BEHAVIOR_182,
|
||||
TILE_BEHAVIOR_183,
|
||||
TILE_BEHAVIOR_184,
|
||||
TILE_BEHAVIOR_185,
|
||||
TILE_BEHAVIOR_186,
|
||||
TILE_BEHAVIOR_187,
|
||||
TILE_BEHAVIOR_188,
|
||||
TILE_BEHAVIOR_189,
|
||||
TILE_BEHAVIOR_190,
|
||||
TILE_BEHAVIOR_191,
|
||||
TILE_BEHAVIOR_192,
|
||||
TILE_BEHAVIOR_193,
|
||||
TILE_BEHAVIOR_194,
|
||||
TILE_BEHAVIOR_195,
|
||||
TILE_BEHAVIOR_196,
|
||||
TILE_BEHAVIOR_197,
|
||||
TILE_BEHAVIOR_198,
|
||||
TILE_BEHAVIOR_199,
|
||||
TILE_BEHAVIOR_200,
|
||||
TILE_BEHAVIOR_201,
|
||||
TILE_BEHAVIOR_202,
|
||||
TILE_BEHAVIOR_203,
|
||||
TILE_BEHAVIOR_204,
|
||||
TILE_BEHAVIOR_205,
|
||||
TILE_BEHAVIOR_206,
|
||||
TILE_BEHAVIOR_207,
|
||||
TILE_BEHAVIOR_208,
|
||||
TILE_BEHAVIOR_209,
|
||||
TILE_BEHAVIOR_210,
|
||||
TILE_BEHAVIOR_211,
|
||||
TILE_BEHAVIOR_212,
|
||||
TILE_BEHAVIOR_213,
|
||||
TILE_BEHAVIOR_214,
|
||||
TILE_BEHAVIOR_215,
|
||||
TILE_BEHAVIOR_216,
|
||||
TILE_BEHAVIOR_217,
|
||||
TILE_BEHAVIOR_218,
|
||||
TILE_BEHAVIOR_219,
|
||||
TILE_BEHAVIOR_220,
|
||||
TILE_BEHAVIOR_221,
|
||||
TILE_BEHAVIOR_222,
|
||||
TILE_BEHAVIOR_223,
|
||||
TILE_BEHAVIOR_224,
|
||||
TILE_BEHAVIOR_225,
|
||||
TILE_BEHAVIOR_226,
|
||||
TILE_BEHAVIOR_227,
|
||||
TILE_BEHAVIOR_228,
|
||||
TILE_BEHAVIOR_229,
|
||||
TILE_BEHAVIOR_230,
|
||||
TILE_BEHAVIOR_231,
|
||||
TILE_BEHAVIOR_232,
|
||||
TILE_BEHAVIOR_233,
|
||||
TILE_BEHAVIOR_234,
|
||||
TILE_BEHAVIOR_235,
|
||||
TILE_BEHAVIOR_236,
|
||||
TILE_BEHAVIOR_NONE = 255
|
||||
};
|
206
include/field_system.h
Normal file
206
include/field_system.h
Normal file
@ -0,0 +1,206 @@
|
||||
#ifndef POKEHEARTGOLD_UNK_0203DE74_H
|
||||
#define POKEHEARTGOLD_UNK_0203DE74_H
|
||||
|
||||
#include "map_matrix.h"
|
||||
#include "overlay_manager.h"
|
||||
#include "save.h"
|
||||
|
||||
typedef struct FieldSystem FieldSystem;
|
||||
typedef struct TaskManager TaskManager;
|
||||
typedef struct FsysUnkSub2C FsysUnkSub2C;
|
||||
|
||||
typedef struct FollowMon {
|
||||
LocalMapObject *mapObject;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
u32 species;
|
||||
u8 gender;
|
||||
u8 unk15;
|
||||
u8 active;
|
||||
u8 shiny;
|
||||
u16 forme;
|
||||
u16 dummy;
|
||||
u32 unk1C;
|
||||
} FollowMon;
|
||||
|
||||
typedef struct GearPhoneRingManager {
|
||||
u8 unk_var0_0:1;
|
||||
u8 unk_var0_1:1;
|
||||
u8 unk_var0_2:1;
|
||||
u8 unk_var0_3:1;
|
||||
u8 unk_var0_4:4;
|
||||
u8 unk_var1;
|
||||
u8 unk_var2;
|
||||
u8 unk_var3;
|
||||
u8 unk_var4;
|
||||
u8 unk_arr5[2];
|
||||
u8 unk_var7;
|
||||
s32 unk_var8;
|
||||
s32 unk_varC;
|
||||
u16 unk_var10;
|
||||
u16 unk_var12;
|
||||
s64 unk_var14; //Seconds? see sub_02092F30
|
||||
PhoneBookEntry entry; //0x1c
|
||||
SavePokegear *pokegearData; //0x30
|
||||
MomsSavings *savingsData;//0x34
|
||||
SAVEDATA *saveData; //0x38
|
||||
FieldSystem *sys; //0x3c
|
||||
struct PokegearRingingTask {
|
||||
SysTask *task;
|
||||
u8 counter;
|
||||
} gearRing;
|
||||
} GearPhoneRingManager; //size: 0x48
|
||||
|
||||
typedef struct Location {
|
||||
int mapId;
|
||||
int warpId;
|
||||
int x;
|
||||
int y;
|
||||
int direction;
|
||||
} Location;
|
||||
|
||||
struct FieldSystemUnk108 {
|
||||
u32 personality;
|
||||
u16 species;
|
||||
u16 isRegistered;
|
||||
POKEMON *pokemon;
|
||||
};
|
||||
|
||||
struct FieldSystemUnkSub0 {
|
||||
OVY_MANAGER *unk0;
|
||||
OVY_MANAGER *unk4;
|
||||
BOOL unk8;
|
||||
BOOL unkC;
|
||||
};
|
||||
|
||||
typedef struct FieldEnvSubUnk18 {
|
||||
int state;
|
||||
u32 direction;
|
||||
} FieldEnvSubUnk18;
|
||||
|
||||
struct FieldSystemUnkSub68 {
|
||||
WINDOW unk0;
|
||||
u16 unk10;
|
||||
u8 unk12;
|
||||
u8 unk13_0:7;
|
||||
u8 unk13_7:1;
|
||||
};
|
||||
|
||||
typedef struct FsysUnkSub4 {
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
void *unk_0C; // weather related?
|
||||
u8 unk10[0x4];
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1c;
|
||||
} FsysUnkSub4;
|
||||
|
||||
struct FieldSystem {
|
||||
struct FieldSystemUnkSub0 *unk0;
|
||||
FsysUnkSub4 *unk4;
|
||||
BGCONFIG *bgConfig;
|
||||
SAVEDATA *savedata;
|
||||
TaskManager *taskman;
|
||||
MAP_EVENTS *mapEvents;
|
||||
FieldEnvSubUnk18 *unk18;
|
||||
int unk1C;
|
||||
Location *location;
|
||||
GF_Camera *camera;
|
||||
void *unk28;
|
||||
FsysUnkSub2C *unk2C;
|
||||
MAPMATRIX *mapMatrix;
|
||||
u8 filler34[0x8];
|
||||
MapObjectMan *mapObjectMan;
|
||||
FIELD_PLAYER_AVATAR *playerAvatar;
|
||||
void *unk_44;
|
||||
u8 filler48[0xC];
|
||||
void *unk54;
|
||||
u8 filler_58[0x8];
|
||||
u32 unk60;
|
||||
int unk64;
|
||||
struct FieldSystemUnkSub68 *unk68;
|
||||
u32 unk6C;
|
||||
int unk70;
|
||||
const struct UnkStruct_020FC5CC *unk74;
|
||||
u16 unk78;
|
||||
u16 unk7A;
|
||||
u16 unk7C;
|
||||
u16 unk7E;
|
||||
struct UnkStruct_02059E1C *unk80;
|
||||
struct UnkStruct_0205AC88 *unk84;
|
||||
u8 filler_88[0xC];
|
||||
void *unk94;
|
||||
u8 filler_98[0x4];
|
||||
void *unk9C;
|
||||
void *unkA0;
|
||||
u8 filler_A4[0x4];
|
||||
u32 *unkA8;
|
||||
u32 unkAC;
|
||||
void *unkB0;
|
||||
s64 unkB4;
|
||||
u8 unkBC[8];
|
||||
int unkC4;
|
||||
u8 filler_C8[0xA];
|
||||
u8 unkD2_0:6;
|
||||
u8 unkD2_6:1;
|
||||
u8 unkD2_7:1;
|
||||
u8 filler_D3[0x11];
|
||||
FollowMon followMon; // A4
|
||||
u8 unk104[4];
|
||||
struct FieldSystemUnk108 *unk108;
|
||||
u32 unk_10C;
|
||||
u8 unk_110;
|
||||
u8 unk_111[3];
|
||||
GearPhoneRingManager *unk114;
|
||||
BUGCONTEST *bugContest;
|
||||
u8 unk11C[0x8];
|
||||
u32 judgeStatPosition;
|
||||
}; // size: 0x128
|
||||
|
||||
typedef struct Unk_0203E15C {
|
||||
u8 unk0[6];
|
||||
u16 unk6;
|
||||
u16 unk8;
|
||||
u16 unkA;
|
||||
} Unk_0203E15C;
|
||||
|
||||
BOOL Field_Continue_AppInit(OVY_MANAGER *man, int *unused);
|
||||
BOOL Field_NewGame_AppInit(OVY_MANAGER *man, int *unused);
|
||||
BOOL Field_AppExec(OVY_MANAGER *man, int *unused);
|
||||
BOOL Field_AppExit(OVY_MANAGER *man, int *unused);
|
||||
void sub_0203DEF0(FieldSystem *fsys);
|
||||
void sub_0203DF34(FieldSystem *fsys);
|
||||
u8 sub_0203DF3C(FieldSystem *fsys);
|
||||
void sub_0203DF64(FieldSystem *fsys, int a1);
|
||||
BOOL sub_0203DF7C(FieldSystem *fsys);
|
||||
BOOL sub_0203DF8C(FieldSystem *fsys);
|
||||
BOOL sub_0203DFA4(FieldSystem *fsys);
|
||||
void FieldSys_LaunchApplication(FieldSystem *fsys, const OVY_MGR_TEMPLATE *template, void *parentWork);
|
||||
FieldSystem *FieldSys_New(OVY_MANAGER *man);
|
||||
void FieldSys_Delete(OVY_MANAGER *man);
|
||||
BOOL sub_0203E13C(FieldSystem *fsys);
|
||||
void sub_0203E15C(FieldSystem *fsys);
|
||||
void sub_0203E2F4();
|
||||
void sub_0203E30C();
|
||||
int sub_0203E324();
|
||||
void sub_0203E33C(FieldSystem *fsys, int a1);
|
||||
BGCONFIG *FieldSys_GetBgConfigPtr(FieldSystem *fsys);
|
||||
SAVEDATA *FieldSys_GetSaveDataPtr(FieldSystem *fsys);
|
||||
void sub_0203E348();
|
||||
void sub_0203E354();
|
||||
|
||||
extern const OVY_MGR_TEMPLATE gApplication_NewGameFieldsys;
|
||||
extern const OVY_MGR_TEMPLATE gApplication_ContinueFieldsys;
|
||||
|
||||
static inline void InitLocation(Location *location, int mapId, int warpId, int x, int y, int direction) {
|
||||
location->mapId = mapId;
|
||||
location->warpId = warpId;
|
||||
location->x = x;
|
||||
location->y = y;
|
||||
location->direction = direction;
|
||||
}
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_0203DE74_H
|
81
include/metatile_behavior.h
Normal file
81
include/metatile_behavior.h
Normal file
@ -0,0 +1,81 @@
|
||||
#ifndef POKEHEARTGOLD_UNK_METATILE_BEHAVIOR_H
|
||||
#define POKEHEARTGOLD_UNK_METATILE_BEHAVIOR_H
|
||||
|
||||
|
||||
BOOL sub_0205B6E8(u8 tile);
|
||||
BOOL sub_0205B6F4(u8 tile);
|
||||
BOOL sub_0205B700(u8 tile);
|
||||
BOOL sub_0205B70C(u8 tile);
|
||||
BOOL sub_0205B718(u8 tile);
|
||||
BOOL sub_0205B724(u8 tile);
|
||||
BOOL sub_0205B730(u8 tile);
|
||||
BOOL sub_0205B73C(u8 tile);
|
||||
BOOL sub_0205B748(u8 tile);
|
||||
BOOL sub_0205B754(u8 tile);
|
||||
BOOL sub_0205B760(u8 tile);
|
||||
BOOL sub_0205B76C(u8 tile);
|
||||
BOOL sub_0205B778(u8 tile);
|
||||
BOOL sub_0205B78C(u8 tile);
|
||||
BOOL sub_0205B798(u8 tile);
|
||||
BOOL sub_0205B7A4(u8 tile);
|
||||
BOOL sub_0205B7B0(u8 tile);
|
||||
BOOL sub_0205B7BC(u8 tile);
|
||||
BOOL sub_0205B7C8(u8 tile);
|
||||
BOOL sub_0205B7D4(u8 tile);
|
||||
BOOL sub_0205B7E0(u8 tile);
|
||||
BOOL sub_0205B7EC(u8 tile);
|
||||
BOOL sub_0205B7F8(u8 tile);
|
||||
BOOL sub_0205B804(u8 tile);
|
||||
BOOL sub_0205B810(u8 tile);
|
||||
BOOL sub_0205B81C(u8 tile);
|
||||
BOOL sub_0205B828(u8 tile);
|
||||
BOOL sub_0205B834(u8 tile);
|
||||
BOOL sub_0205B840(u8 tile);
|
||||
BOOL sub_0205B84C(u8 tile);
|
||||
BOOL sub_0205B858(u8 tile);
|
||||
BOOL sub_0205B864(u8 tile);
|
||||
BOOL sub_0205B870(u8 tile);
|
||||
BOOL sub_0205B87C(u8 tile);
|
||||
BOOL sub_0205B888(u8 tile);
|
||||
BOOL sub_0205B894(u8 tile);
|
||||
BOOL sub_0205B8A0(u8 tile);
|
||||
BOOL sub_0205B8AC(u8 tile);
|
||||
BOOL sub_0205B8B8(u8 tile);
|
||||
BOOL sub_0205B8C4(u8 tile);
|
||||
BOOL sub_0205B8D0(u8 tile);
|
||||
BOOL MetatileBehavior_IsWaterfall(u8 tile);
|
||||
BOOL MetatileBehavior_IsWhirlpool(u8 tile);
|
||||
BOOL sub_0205B8F4(u8 tile);
|
||||
BOOL sub_0205B918(u8 tile);
|
||||
BOOL sub_0205B93C(u8 tile);
|
||||
BOOL sub_0205B960(u8 tile);
|
||||
BOOL sub_0205B984(u8 tile);
|
||||
BOOL sub_0205B994(u8 tile);
|
||||
BOOL sub_0205B9AC(u8 tile);
|
||||
BOOL sub_0205B9B8(u8 tile);
|
||||
BOOL sub_0205B9DC(u8 tile);
|
||||
BOOL sub_0205B9E8(u8 tile);
|
||||
BOOL sub_0205B9F4(u8 tile);
|
||||
BOOL sub_0205BA00(u8 tile);
|
||||
BOOL sub_0205BA0C(u8 tile);
|
||||
BOOL sub_0205BA18(u8 tile);
|
||||
BOOL sub_0205BA24(u8 tile);
|
||||
BOOL sub_0205BA30(u8 tile);
|
||||
BOOL sub_0205BA44(u8 tile);
|
||||
BOOL sub_0205BA54(u8 tile);
|
||||
BOOL MetatileBehavior_IsNone(u8 tile);
|
||||
u8 sub_0205BA6C(void);
|
||||
BOOL sub_0205BA70(u8 tile);
|
||||
BOOL sub_0205BA94(u8 tile);
|
||||
BOOL sub_0205BAA0(u8 tile);
|
||||
BOOL sub_0205BAAC(u8 tile);
|
||||
BOOL sub_0205BAB8(u8 tile);
|
||||
BOOL sub_0205BAC4(u8 tile);
|
||||
BOOL sub_0205BAD0(u8 tile);
|
||||
BOOL sub_0205BAE4(u8 tile);
|
||||
BOOL sub_0205BAEC(u8 tile);
|
||||
BOOL MetatileBehavior_IsHeadbutt(u8 tile);
|
||||
BOOL sub_0205BB04(u8 tile);
|
||||
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_0205B6E8_H
|
12
include/overlay_01_021E6880.h
Normal file
12
include/overlay_01_021E6880.h
Normal file
@ -0,0 +1,12 @@
|
||||
#ifndef POKEHEARTGOLD_OV_01_021E6880_H
|
||||
#define POKEHEARTGOLD_OV_01_021E6880_H
|
||||
|
||||
#include "field_system.h"
|
||||
|
||||
void ov01_021E6928(Unk_0203E15C *a0, FieldSystem *fsys, u16 newKeys, u16 heldKeys);
|
||||
int ov01_021E6AF4(Unk_0203E15C *a0, FieldSystem *fsys);
|
||||
BOOL ov01_021E6E00(Unk_0203E15C *a0, FieldSystem *fsys);
|
||||
BOOL ov01_021E6EFC(Unk_0203E15C *a0, FieldSystem *fsys);
|
||||
BOOL ov01_021E6FD4(Unk_0203E15C *a0, FieldSystem *fsys);
|
||||
|
||||
#endif
|
6
include/overlay_01_021EF7A0.h
Normal file
6
include/overlay_01_021EF7A0.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef POKEHEARTGOLD_OV_01_021EF7A0_H
|
||||
#define POKEHEARTGOLD_OV_01_021EF7A0_H
|
||||
|
||||
void ov01_021EFACC(u32 a0);
|
||||
|
||||
#endif
|
@ -5,5 +5,6 @@
|
||||
|
||||
void ov01_PlayerAvatar_OrrTransitionFlags(FIELD_PLAYER_AVATAR *playerAvatar, int flags);
|
||||
void ov01_PlayerAvatar_ApplyTransitionFlags(FIELD_PLAYER_AVATAR *playerAvatar);
|
||||
void ov01_021F2F24(FIELD_PLAYER_AVATAR *playerAvatar);
|
||||
|
||||
#endif //POKEHEARTGOLD_OVERLAY_01_021F1AFC_H
|
||||
|
8
include/overlay_01_021F3D38.h
Normal file
8
include/overlay_01_021F3D38.h
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef POKEHEARTGOLD_OV_01_021F3D38_H
|
||||
#define POKEHEARTGOLD_OV_01_021F3D38_H
|
||||
|
||||
#include "script.h"
|
||||
|
||||
void ov01_021F3DFC(FieldSystem *fsys, int a1);
|
||||
|
||||
#endif
|
8
include/overlay_01_021F6830.h
Normal file
8
include/overlay_01_021F6830.h
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef POKEHEARTGOLD_OV_01_021F6830_H
|
||||
#define POKEHEARTGOLD_OV_01_021F6830_H
|
||||
|
||||
#include "script.h"
|
||||
|
||||
void ov01_021F6830(FieldSystem *fsys, int a1, int a2);
|
||||
|
||||
#endif
|
@ -4,6 +4,6 @@
|
||||
#include "field_player_avatar.h"
|
||||
|
||||
BOOL ov01_021FA2D4(LocalMapObject *obj);
|
||||
void ov01_021FA930(LocalMapObject *obj, u32 a1);
|
||||
void ov01_021FA930(LocalMapObject *obj, u32 sprite);
|
||||
|
||||
#endif //POKEHEARTGOLD_OVERLAY_01_021F944C_H
|
||||
|
6
include/overlay_35.h
Normal file
6
include/overlay_35.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef POKEHEARTGOLD_OVERLAY_35_H
|
||||
#define POKEHEARTGOLD_OVERLAY_35_H
|
||||
|
||||
int ov35_02259DB8();
|
||||
|
||||
#endif //POKEHEARTGOLD_OVERLAY_35_H
|
@ -5,9 +5,6 @@
|
||||
#include "fieldmap.h"
|
||||
#include "script.h"
|
||||
|
||||
// unk_0203DE74.s
|
||||
extern SAVEDATA* Fsys_GetSaveDataPtr(FieldSystem*);
|
||||
|
||||
static inline u16 ScriptGetVar(SCRIPTCONTEXT* ctx) {
|
||||
return VarGet(ctx->fsys, ScriptReadHalfword(ctx));
|
||||
}
|
||||
@ -719,7 +716,7 @@ BOOL ScrCmd_679(SCRIPTCONTEXT* ctx);
|
||||
BOOL ScrCmd_AddSpecialGameStat(SCRIPTCONTEXT* ctx);
|
||||
BOOL ScrCmd_681(SCRIPTCONTEXT* ctx);
|
||||
BOOL ScrCmd_682(SCRIPTCONTEXT* ctx);
|
||||
BOOL ScrCmd_683(SCRIPTCONTEXT* ctx);
|
||||
BOOL ScrCmd_GetStaticEncounterOutcomeFlag(SCRIPTCONTEXT* ctx);
|
||||
BOOL ScrCmd_684(SCRIPTCONTEXT* ctx);
|
||||
BOOL ScrCmd_GetPlayerXYZ(SCRIPTCONTEXT* ctx);
|
||||
BOOL ScrCmd_686(SCRIPTCONTEXT* ctx);
|
||||
|
223
include/script.h
223
include/script.h
@ -1,9 +1,7 @@
|
||||
#ifndef POKEHEARTGOLD_SCRIPT_H
|
||||
#define POKEHEARTGOLD_SCRIPT_H
|
||||
|
||||
#include "save.h"
|
||||
#include "map_events_internal.h"
|
||||
#include "map_matrix.h"
|
||||
#include "msgdata.h"
|
||||
#include "window.h"
|
||||
#include "field_player_avatar.h"
|
||||
@ -16,6 +14,7 @@
|
||||
#include "list_menu_2.h"
|
||||
#include "unk_0200E398.h"
|
||||
#include "unk_02022D74.h"
|
||||
#include "field_system.h"
|
||||
|
||||
#define SCRIPT_MODE_STOPPED 0
|
||||
#define SCRIPT_MODE_BYTECODE 1
|
||||
@ -27,7 +26,6 @@
|
||||
|
||||
#define ScriptReadByte(ctx) *(ctx->script_ptr++)
|
||||
|
||||
typedef struct FieldSystem FieldSystem;
|
||||
typedef struct SCRIPTCONTEXT SCRIPTCONTEXT;
|
||||
|
||||
#define Unk80_10_C_MAGIC (222271)
|
||||
@ -43,7 +41,6 @@ typedef struct EngagedTrainer {
|
||||
} EngagedTrainer;
|
||||
|
||||
typedef struct _NPC_TRADE_WORK NPC_TRADE_WORK;
|
||||
typedef struct FsysUnkSub2C FsysUnkSub2C;
|
||||
|
||||
typedef struct ScriptEnvironment {
|
||||
u32 check;
|
||||
@ -59,17 +56,17 @@ typedef struct ScriptEnvironment {
|
||||
WINDOW unk_14;
|
||||
struct ListMenu2 *listMenu;
|
||||
int facingDirection;
|
||||
LocalMapObject* lastTalked;
|
||||
LocalMapObject *lastTalked;
|
||||
u32 cameraFocusObj;
|
||||
LocalMapObject* unk_34;
|
||||
SCRIPTCONTEXT* scriptContexts[3];
|
||||
MSGFMT* msgfmt;
|
||||
STRING* strbuf1;
|
||||
STRING* strbuf2;
|
||||
LocalMapObject *unk_34;
|
||||
SCRIPTCONTEXT *scriptContexts[3];
|
||||
MSGFMT *msgfmt;
|
||||
STRING *strbuf1;
|
||||
STRING *strbuf2;
|
||||
struct WaitingIconManager *unk_50;
|
||||
EngagedTrainer engagedTrainers[2];
|
||||
u16 specialVars[NUM_SPECIAL_VARS];
|
||||
void (*scrctx_end_cb)(FieldSystem* fsys);
|
||||
void (*scrctx_end_cb)(FieldSystem *fsys);
|
||||
void *unk_AC;
|
||||
void *genericWorkPtr;
|
||||
void *unk_B4;
|
||||
@ -138,78 +135,6 @@ enum ScriptEnvField {
|
||||
SCRIPTENV_SPECIAL_VAR_LAST_TALKED = 55,
|
||||
};
|
||||
|
||||
typedef struct TaskManager TaskManager;
|
||||
|
||||
typedef struct Location {
|
||||
int mapId;
|
||||
int warpId;
|
||||
int x;
|
||||
int y;
|
||||
int direction;
|
||||
} Location;
|
||||
|
||||
typedef struct FollowMon {
|
||||
LocalMapObject *mapObject;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
u32 species;
|
||||
u8 gender;
|
||||
u8 unk15;
|
||||
u8 active;
|
||||
u8 shiny;
|
||||
u16 forme;
|
||||
u16 dummy;
|
||||
u32 unk1C;
|
||||
} FollowMon;
|
||||
|
||||
struct FieldSystemUnk108 {
|
||||
u32 personality;
|
||||
u16 species;
|
||||
u16 isRegistered;
|
||||
POKEMON *pokemon;
|
||||
};
|
||||
|
||||
struct FieldSystemUnkSub0 {
|
||||
OVY_MANAGER *unk0;
|
||||
OVY_MANAGER *unk4;
|
||||
BOOL unk8;
|
||||
BOOL unkC;
|
||||
};
|
||||
|
||||
typedef struct FieldEnvSubUnk18 {
|
||||
int state;
|
||||
u32 direction;
|
||||
} FieldEnvSubUnk18;
|
||||
|
||||
typedef struct GearPhoneRingManager {
|
||||
u8 unk_var0_0:1;
|
||||
u8 unk_var0_1:1;
|
||||
u8 unk_var0_2:1;
|
||||
u8 unk_var0_3:1;
|
||||
u8 unk_var0_4:4;
|
||||
u8 unk_var1;
|
||||
u8 unk_var2;
|
||||
u8 unk_var3;
|
||||
u8 unk_var4;
|
||||
u8 unk_arr5[2];
|
||||
u8 unk_var7;
|
||||
s32 unk_var8;
|
||||
s32 unk_varC;
|
||||
u16 unk_var10;
|
||||
u16 unk_var12;
|
||||
s64 unk_var14; //Seconds? see sub_02092F30
|
||||
PhoneBookEntry entry; //0x1c
|
||||
SavePokegear* pokegear_data; //0x30
|
||||
MomsSavings* savings_data;//0x34
|
||||
SAVEDATA* saveData; //0x38
|
||||
FieldSystem* sys; //0x3c
|
||||
struct PokegearRingingTask {
|
||||
SysTask *task;
|
||||
u8 counter;
|
||||
} gearRing;
|
||||
} GearPhoneRingManager; //size: 0x48
|
||||
|
||||
struct UnkStruct_020FC5CC {
|
||||
u32 unk0_00:4;
|
||||
u32 unk0_04:4;
|
||||
@ -226,124 +151,38 @@ struct UnkStruct_020FC5CC {
|
||||
struct UnkStruct_02059E1C;
|
||||
struct UnkStruct_0205AC88;
|
||||
|
||||
struct FieldSystemUnkSub68 {
|
||||
WINDOW unk0;
|
||||
u16 unk10;
|
||||
u8 unk12;
|
||||
u8 unk13_0:7;
|
||||
u8 unk13_7:1;
|
||||
};
|
||||
|
||||
typedef struct FsysUnkSub4 {
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
void *unk_0C; // weather related?
|
||||
u8 unk10[0x4];
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1c;
|
||||
} FsysUnkSub4;
|
||||
|
||||
struct FieldSystem {
|
||||
struct FieldSystemUnkSub0 *unk0;
|
||||
FsysUnkSub4 *unk4;
|
||||
BGCONFIG* bg_config;
|
||||
SAVEDATA* savedata;
|
||||
TaskManager* taskman;
|
||||
MAP_EVENTS* map_events;
|
||||
FieldEnvSubUnk18 *unk18;
|
||||
int unk1C;
|
||||
Location* location;
|
||||
GF_Camera *camera;
|
||||
void *unk28;
|
||||
FsysUnkSub2C *unk2C;
|
||||
MAPMATRIX* map_matrix;
|
||||
u8 filler34[0x8];
|
||||
MapObjectMan* mapObjectMan;
|
||||
FIELD_PLAYER_AVATAR *playerAvatar;
|
||||
void *unk_44;
|
||||
u8 filler48[0xC];
|
||||
void *unk54;
|
||||
u8 filler_58[0x8];
|
||||
u32 unk60;
|
||||
int unk64;
|
||||
struct FieldSystemUnkSub68* unk68;
|
||||
u32 unk6C;
|
||||
int unk70;
|
||||
const struct UnkStruct_020FC5CC *unk74;
|
||||
u16 unk78;
|
||||
u16 unk7A;
|
||||
u16 unk7C;
|
||||
u16 unk7E;
|
||||
struct UnkStruct_02059E1C *unk80;
|
||||
struct UnkStruct_0205AC88 *unk84;
|
||||
u8 filler_88[0xC];
|
||||
void *unk94;
|
||||
u8 filler_98[0x4];
|
||||
void *unk9C;
|
||||
void *unkA0;
|
||||
u8 filler_A4[0x8];
|
||||
u32 unkAC;
|
||||
void *unkB0;
|
||||
s64 unkB4;
|
||||
u8 unkBC[8];
|
||||
int unkC4;
|
||||
u8 filler_C8[0xA];
|
||||
u8 unkD2_0:6;
|
||||
u8 unkD2_6:1;
|
||||
u8 unkD2_7:1;
|
||||
u8 filler_D3[0x11];
|
||||
FollowMon followMon; // A4
|
||||
u8 unk104[4];
|
||||
struct FieldSystemUnk108 *unk108;
|
||||
u32 unk_10C[2];
|
||||
GearPhoneRingManager* unk114;
|
||||
BUGCONTEST* bugContest;
|
||||
u8 unk11C[0x8];
|
||||
u32 judgeStatPosition;
|
||||
}; // size: 0x128
|
||||
|
||||
typedef BOOL (*ScrCmdFunc)(SCRIPTCONTEXT* ctx);
|
||||
typedef BOOL (*ScrCmdFunc)(SCRIPTCONTEXT *ctx);
|
||||
|
||||
struct SCRIPTCONTEXT {
|
||||
u8 stack_depth;
|
||||
u8 stackDepth;
|
||||
u8 mode;
|
||||
u8 comparison_result;
|
||||
u8 comparisonResult;
|
||||
u8 id;
|
||||
ScrCmdFunc native_ptr;
|
||||
const u8* script_ptr;
|
||||
const u8* stack[20];
|
||||
const ScrCmdFunc* cmd_table;
|
||||
const u8 *script_ptr;
|
||||
const u8 *stack[20];
|
||||
const ScrCmdFunc *cmdTable;
|
||||
u32 cmd_count;
|
||||
u32 data[4];
|
||||
TaskManager* taskman;
|
||||
MSGDATA* msg_data;
|
||||
u8* mapScripts;
|
||||
FieldSystem* fsys;
|
||||
TaskManager *taskman;
|
||||
MSGDATA *msgdata;
|
||||
u8 *mapScripts;
|
||||
FieldSystem *fsys;
|
||||
};
|
||||
|
||||
void InitScriptContext(SCRIPTCONTEXT* ctx, const ScrCmdFunc* cmd_table, u32 cmd_count);
|
||||
BOOL SetupBytecodeScript(SCRIPTCONTEXT* ctx, const u8* ptr);
|
||||
void SetupNativeScript(SCRIPTCONTEXT* ctx, ScrCmdFunc ptr);
|
||||
void InitScriptContext(SCRIPTCONTEXT *ctx, const ScrCmdFunc *cmd_table, u32 cmd_count);
|
||||
BOOL SetupBytecodeScript(SCRIPTCONTEXT *ctx, const u8 *ptr);
|
||||
void SetupNativeScript(SCRIPTCONTEXT *ctx, ScrCmdFunc ptr);
|
||||
BOOL ScrNative_WaitApplication_DestroyTaskData(SCRIPTCONTEXT *ctx);
|
||||
void StopScript(SCRIPTCONTEXT* ctx);
|
||||
void sub_0203FD68(SCRIPTCONTEXT* ctx, TaskManager *unk);
|
||||
BOOL RunScriptCommand(SCRIPTCONTEXT* ctx);
|
||||
BOOL ScriptPush(SCRIPTCONTEXT* ctx, const u8* ptr);
|
||||
const u8* ScriptPop(SCRIPTCONTEXT* ctx);
|
||||
void ScriptJump(SCRIPTCONTEXT* ctx, const u8* ptr);
|
||||
void ScriptCall(SCRIPTCONTEXT* ctx, const u8* ptr);
|
||||
void ScriptReturn(SCRIPTCONTEXT* ctx);
|
||||
u16 ScriptReadHalfword(SCRIPTCONTEXT* ctx);
|
||||
u32 ScriptReadWord(SCRIPTCONTEXT* ctx);
|
||||
|
||||
static inline void InitLocation(Location *location, int mapId, int warpId, int x, int y, int direction) {
|
||||
location->mapId = mapId;
|
||||
location->warpId = warpId;
|
||||
location->x = x;
|
||||
location->y = y;
|
||||
location->direction = direction;
|
||||
}
|
||||
void StopScript(SCRIPTCONTEXT *ctx);
|
||||
void sub_0203FD68(SCRIPTCONTEXT *ctx, TaskManager *unk);
|
||||
BOOL RunScriptCommand(SCRIPTCONTEXT *ctx);
|
||||
BOOL ScriptPush(SCRIPTCONTEXT *ctx, const u8 *ptr);
|
||||
const u8 *ScriptPop(SCRIPTCONTEXT *ctx);
|
||||
void ScriptJump(SCRIPTCONTEXT *ctx, const u8 *ptr);
|
||||
void ScriptCall(SCRIPTCONTEXT *ctx, const u8 *ptr);
|
||||
void ScriptReturn(SCRIPTCONTEXT *ctx);
|
||||
u16 ScriptReadHalfword(SCRIPTCONTEXT *ctx);
|
||||
u32 ScriptReadWord(SCRIPTCONTEXT *ctx);
|
||||
|
||||
#endif
|
||||
|
@ -3,6 +3,8 @@
|
||||
|
||||
BOOL sub_02036144(void);
|
||||
BOOL sub_02037474(void);
|
||||
void sub_020374E4(void);
|
||||
void sub_02037504(void);
|
||||
BOOL sub_0203769C(void);
|
||||
void sub_020380F4(void);
|
||||
void sub_02038104(void);
|
||||
|
@ -1,9 +0,0 @@
|
||||
#ifndef POKEHEARTGOLD_UNK_0203DE74_H
|
||||
#define POKEHEARTGOLD_UNK_0203DE74_H
|
||||
|
||||
#include "script.h"
|
||||
|
||||
void sub_0203E30C(void);
|
||||
u8 sub_0203DF3C(FieldSystem *fsys);
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_0203DE74_H
|
@ -9,6 +9,6 @@ void sub_0203DEF0(FieldSystem *fsys);
|
||||
BOOL sub_0203DF7C(FieldSystem *fsys);
|
||||
BOOL sub_0203DF8C(FieldSystem *fsys);
|
||||
BOOL sub_0203DFA4(FieldSystem *fsys);
|
||||
void Fsys_LaunchApplication(FieldSystem *fsys, const OVY_MGR_TEMPLATE *template, void *parentWork);
|
||||
void FieldSys_LaunchApplication(FieldSystem *fsys, const OVY_MGR_TEMPLATE *template, void *parentWork);
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_0203DFA4_H
|
||||
|
@ -131,7 +131,6 @@ void *sub_0203E5D0(HeapID heapId, FieldSystem *fsys, u16 a2);
|
||||
void *sub_0203FAB4(FieldSystem *fsys, u8 a1, u8 a2, u16 a3, HeapID heapId);
|
||||
void *ScratchOffCards_Create(FieldSystem *fsys, HeapID heapId);
|
||||
void sub_0203FC14(FieldSystem *fsys, u16 a1, u16 a2);
|
||||
void sub_0203E33C(FieldSystem *fsys, u16 a1);
|
||||
void *PhoneUI_new(FieldSystem *fsys);
|
||||
void *sub_0203EEE4(FieldSystem *fsys);
|
||||
void *sub_0203EF40(FieldSystem *fsys);
|
||||
|
@ -1,7 +1,11 @@
|
||||
#ifndef POKEHEARTGOLD_UNK_02056D7C_H
|
||||
#define POKEHEARTGOLD_UNK_02056D7C_H
|
||||
|
||||
#include "script.h"
|
||||
|
||||
void sub_02056E38(void);
|
||||
void sub_020573F0(FieldSystem *fsys, int a1);
|
||||
int sub_02057A0C(void);
|
||||
void sub_02057F28(u16 val);
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_02056D7C_H
|
||||
|
@ -1,17 +0,0 @@
|
||||
#ifndef POKEHEARTGOLD_UNK_0205B6E8_H
|
||||
#define POKEHEARTGOLD_UNK_0205B6E8_H
|
||||
|
||||
BOOL sub_0205B6F4(u8 tile);
|
||||
BOOL sub_0205B778(u8 tile);
|
||||
BOOL sub_0205B8AC(u8 tile);
|
||||
BOOL MetatileBehavior_IsWaterfall(u8 tile);
|
||||
BOOL MetatileBehavior_IsWhirlpool(u8 tile);
|
||||
BOOL sub_0205BA24(u8 tile);
|
||||
BOOL sub_0205BA30(u8 tile);
|
||||
BOOL MetatileBehavior_IsHeadbutt(u8 tile);
|
||||
BOOL sub_0205B6E8(u8 tile);
|
||||
BOOL sub_0205B984(u8 tile);
|
||||
BOOL sub_0205B7A4(u8 tile);
|
||||
BOOL sub_0205BA70(u8 tile);
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_0205B6E8_H
|
@ -4,5 +4,8 @@
|
||||
#include "field_player_avatar.h"
|
||||
|
||||
void PlayerAvatar_GetCoordsInFront(FIELD_PLAYER_AVATAR *playerAvatar, int *x, int *z);
|
||||
void sub_0205CE68(FIELD_PLAYER_AVATAR *playerAvatar);
|
||||
void sub_0205CB48(FIELD_PLAYER_AVATAR *playerAvatar, FsysUnkSub2C *a1, int a2, u16 a3, u16 a4, int a5);
|
||||
void sub_0205CF44(FIELD_PLAYER_AVATAR *playerAvatar);
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_0205CB48_H
|
||||
|
6
include/unk_02092BB8.h
Normal file
6
include/unk_02092BB8.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef POKEHEARTGOLD_UNK_02092BB8_H
|
||||
#define POKEHEARTGOLD_UNK_02092BB8_H
|
||||
|
||||
void sub_02092BD0(u32 *a0);
|
||||
|
||||
#endif //POKEHEARTGOLD_UNK_02092BB8_H
|
@ -12,6 +12,9 @@ BOOL OS_IsThreadAvailable(void);
|
||||
void OS_CreateThread(OSThread *thread, void (*func) (void *), void *arg, void *stack, u32 stackSize, u32 prio);
|
||||
void OS_ExitThread(void);
|
||||
void OS_DestroyThread(OSThread *thread);
|
||||
void OS_KillThread(OSThread *thread, void *arg);
|
||||
void OS_KillThreadWithPriority(OSThread *thread, void *arg, u32 prio);
|
||||
void OSi_CancelThreadAlarmForSleep(OSThread *thread);
|
||||
void OS_JoinThread(OSThread *thread);
|
||||
BOOL OS_IsThreadTerminated(const OSThread *thread);
|
||||
void OS_SleepThread(OSThreadQueue *queue);
|
||||
|
@ -8,6 +8,7 @@ BOOL OS_IsTickAvailable(void);
|
||||
void OSi_CountUpTick(void);
|
||||
OSTick OS_GetTick(void);
|
||||
u16 OS_GetTickLo(void);
|
||||
void OS_SetTick(OSTick tick);
|
||||
|
||||
extern vu64 OSi_TickCounter;
|
||||
|
||||
|
4
main.lsf
4
main.lsf
@ -158,7 +158,7 @@ Static main
|
||||
Object src/diamond_dust.o
|
||||
Object asm/unk_0203BC10.o
|
||||
Object asm/unk_0203DB6C.o
|
||||
Object asm/unk_0203DE74.o
|
||||
Object src/field_system.o
|
||||
Object asm/unk_0203E348.o
|
||||
Object src/script.o
|
||||
Object src/fieldmap.o
|
||||
@ -208,7 +208,7 @@ Static main
|
||||
Object asm/unk_0205AC88.o
|
||||
Object src/unk_0205B3DC.o
|
||||
Object asm/text_0205B4EC.o
|
||||
Object asm/unk_0205B6E8.o
|
||||
Object src/metatile_behavior.o
|
||||
Object asm/unk_0205BB1C.o
|
||||
Object asm/unk_0205BFF0.o
|
||||
Object src/field_player_avatar.o
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include "task.h"
|
||||
#include "unk_0200FA24.h"
|
||||
#include "unk_0203E348.h"
|
||||
#include "unk_0203DE74.h"
|
||||
#include "field_system.h"
|
||||
#include "update_dex_received.h"
|
||||
#include "map_header.h"
|
||||
#include "pokedex.h"
|
||||
|
@ -682,7 +682,7 @@ BOOL ScrCmd_679(SCRIPTCONTEXT *ctx);
|
||||
BOOL ScrCmd_AddSpecialGameStat2(SCRIPTCONTEXT *ctx);
|
||||
BOOL ScrCmd_681(SCRIPTCONTEXT *ctx);
|
||||
BOOL ScrCmd_682(SCRIPTCONTEXT *ctx);
|
||||
BOOL ScrCmd_683(SCRIPTCONTEXT *ctx);
|
||||
BOOL ScrCmd_GetStaticEncounterOutcomeFlag(SCRIPTCONTEXT *ctx);
|
||||
BOOL ScrCmd_684(SCRIPTCONTEXT *ctx);
|
||||
BOOL ScrCmd_GetPlayerXYZ(SCRIPTCONTEXT *ctx);
|
||||
BOOL ScrCmd_686(SCRIPTCONTEXT *ctx);
|
||||
@ -1537,7 +1537,7 @@ const ScrCmdFunc gScriptCmdTable[] = {
|
||||
ScrCmd_AddSpecialGameStat2,
|
||||
ScrCmd_681,
|
||||
ScrCmd_682,
|
||||
ScrCmd_683,
|
||||
ScrCmd_GetStaticEncounterOutcomeFlag,
|
||||
ScrCmd_684,
|
||||
ScrCmd_GetPlayerXYZ,
|
||||
ScrCmd_686,
|
||||
|
@ -96,7 +96,7 @@ static void _DrawScurryMessageScreen(FieldSystem *fsys, TaskManager *taskManager
|
||||
|
||||
AddWindow(env->bgConfig, &env->window, &_020FC51C);
|
||||
}
|
||||
BufferPlayersName(env->msgFmt, 0, Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(fsys)));
|
||||
BufferPlayersName(env->msgFmt, 0, Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(fsys)));
|
||||
if (fsys->location->mapId == MAP_T20R0201) {
|
||||
_PrintMessage(env, msg_0203_00004, 0, 0);
|
||||
} else {
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "save_flypoints.h"
|
||||
#include "overlay_01.h"
|
||||
#include "overlay_02.h"
|
||||
#include "unk_0205B6E8.h"
|
||||
#include "metatile_behavior.h"
|
||||
#include "unk_0203BC10.h"
|
||||
#include "map_header.h"
|
||||
#include "sys_flags.h"
|
||||
|
318
src/field_system.c
Normal file
318
src/field_system.c
Normal file
@ -0,0 +1,318 @@
|
||||
#include "field_warp_tasks.h"
|
||||
#include "main.h"
|
||||
#include "math_util.h"
|
||||
#include "overlay_manager.h"
|
||||
#include "poke_overlay.h"
|
||||
#include "system.h"
|
||||
#include "overlay_35.h"
|
||||
#include "field_system.h"
|
||||
#include "unk_02092BB8.h"
|
||||
#include "unk_02092BE8.h"
|
||||
#include "unk_02056D7C.h"
|
||||
#include "unk_02035900.h"
|
||||
#include "overlay_01_021F6830.h"
|
||||
#include "overlay_01_021E6880.h"
|
||||
#include "overlay_01_021EF7A0.h"
|
||||
#include "overlay_01_021F3D38.h"
|
||||
#include "overlay_01_021F1AFC.h"
|
||||
#include "constants/maps.h"
|
||||
|
||||
FS_EXTERN_OVERLAY(OVY_60);
|
||||
FS_EXTERN_OVERLAY(OVY_124);
|
||||
FS_EXTERN_OVERLAY(field);
|
||||
|
||||
const OVY_MGR_TEMPLATE gApplication_NewGameFieldsys = {
|
||||
.init = Field_NewGame_AppInit,
|
||||
.exec = Field_AppExec,
|
||||
.exit = Field_AppExit,
|
||||
.ovy_id = FS_OVERLAY_ID_NONE
|
||||
};
|
||||
|
||||
const OVY_MGR_TEMPLATE gApplication_ContinueFieldsys = {
|
||||
.init = Field_Continue_AppInit,
|
||||
.exec = Field_AppExec,
|
||||
.exit = Field_AppExit,
|
||||
.ovy_id = FS_OVERLAY_ID_NONE
|
||||
};
|
||||
|
||||
static FieldSystem *sFieldSysPtr;
|
||||
|
||||
typedef struct UnkFsysInit {
|
||||
int unk0;
|
||||
int unk4;
|
||||
} FsysInitWork;
|
||||
|
||||
static BOOL FieldSys_Main(FieldSystem *fsys);
|
||||
|
||||
BOOL Field_Continue_AppInit(OVY_MANAGER *man, int *unused) {
|
||||
FsysInitWork *args = OverlayManager_GetArgs(man);
|
||||
sFieldSysPtr = FieldSys_New(man);
|
||||
|
||||
if (args->unk4) {
|
||||
CallFieldTask_ContinueGame_CommError(sFieldSysPtr);
|
||||
} else {
|
||||
CallFieldTask_ContinueGame_Normal(sFieldSysPtr);
|
||||
}
|
||||
|
||||
args->unk4 = 0;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL Field_NewGame_AppInit(OVY_MANAGER *man, int *unused) {
|
||||
sFieldSysPtr = FieldSys_New(man);
|
||||
CallFieldTask_NewGame(sFieldSysPtr);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL Field_AppExec(OVY_MANAGER *man, int *unused) {
|
||||
if (FieldSys_Main(OverlayManager_GetData(man))) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
extern OVY_MGR_TEMPLATE ov60_021EAFE0;
|
||||
|
||||
BOOL Field_AppExit(OVY_MANAGER *man, int *unused) {
|
||||
FieldSys_Delete(man);
|
||||
RegisterMainOverlay(FS_OVERLAY_ID(OVY_60), &ov60_021EAFE0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
extern OVY_MGR_TEMPLATE ov01_02206378;
|
||||
|
||||
void sub_0203DEF0(FieldSystem *fsys) {
|
||||
GF_ASSERT(fsys->unk0->unk4 == NULL);
|
||||
GF_ASSERT(fsys->unk0->unk0 == NULL);
|
||||
|
||||
HandleLoadOverlay(FS_OVERLAY_ID(field), OVY_LOAD_ASYNC);
|
||||
|
||||
fsys->unk6C = 0;
|
||||
fsys->unk0->unk8 = FALSE;
|
||||
fsys->unk0->unk0 = OverlayManager_new(&ov01_02206378, fsys, 11);
|
||||
}
|
||||
|
||||
void sub_0203DF34(FieldSystem *fsys) {
|
||||
fsys->unk6C = 0;
|
||||
}
|
||||
|
||||
u8 sub_0203DF3C(FieldSystem *fsys) {
|
||||
GF_ASSERT(fsys->unk_110 == 0 || fsys->unk_110 == 1);
|
||||
|
||||
return fsys->unk_110;
|
||||
}
|
||||
|
||||
void sub_0203DF64(FieldSystem *fsys, int a1) {
|
||||
GF_ASSERT(a1 == 0 || a1 == 1);
|
||||
fsys->unk_110 = a1;
|
||||
}
|
||||
|
||||
BOOL sub_0203DF7C(FieldSystem *fsys) {
|
||||
return (fsys->unk0->unk0 != NULL);
|
||||
}
|
||||
|
||||
BOOL sub_0203DF8C(FieldSystem *fsys) {
|
||||
return (fsys->unk0->unk0 && fsys->unk6C);
|
||||
}
|
||||
|
||||
BOOL sub_0203DFA4(FieldSystem *fsys) {
|
||||
return (fsys->unk0->unk4 != NULL);
|
||||
}
|
||||
|
||||
void FieldSys_LaunchApplication(FieldSystem *fsys, const OVY_MGR_TEMPLATE *template, void *parentWork) {
|
||||
GF_ASSERT(fsys->unk0->unk4 == NULL);
|
||||
|
||||
sub_0203DF34(fsys);
|
||||
|
||||
fsys->unk0->unk4 = OverlayManager_new(template, parentWork, 11);
|
||||
}
|
||||
|
||||
FieldSystem *FieldSys_New(OVY_MANAGER *man) {
|
||||
CreateHeap(3, 11, 0x1C000);
|
||||
CreateHeap(3, 32, 0x4000);
|
||||
CreateHeap(0, 89, 0x570);
|
||||
FieldSystem *fsys = OverlayManager_CreateAndGetData(man, sizeof(FieldSystem), 11);
|
||||
MI_CpuFill8(fsys, 0, sizeof(FieldSystem));
|
||||
fsys->unk0 = AllocFromHeap(11, sizeof(struct FieldSystemUnkSub0));
|
||||
|
||||
fsys->unk0->unk0 = NULL;
|
||||
fsys->unk0->unk4 = NULL;
|
||||
fsys->unk0->unk8 = FALSE;
|
||||
fsys->unk0->unkC = FALSE;
|
||||
|
||||
HandleLoadOverlay(FS_OVERLAY_ID(OVY_124), OVY_LOAD_ASYNC);
|
||||
|
||||
FieldSystem_init(man, fsys);
|
||||
|
||||
UnloadOverlayByID(FS_OVERLAY_ID(OVY_124));
|
||||
|
||||
return fsys;
|
||||
}
|
||||
|
||||
void FieldSys_Delete(OVY_MANAGER *man) {
|
||||
FieldSystem *fsys = OverlayManager_GetData(man);
|
||||
MapMatrix_Free(fsys->mapMatrix);
|
||||
Field_FreeMapEvents(fsys);
|
||||
FreeToHeap(fsys->unk94);
|
||||
sub_02092BD0(fsys->unkA8);
|
||||
sub_02092DD8(fsys->unk114);
|
||||
FreeToHeap(fsys->unk0);
|
||||
OverlayManager_FreeData(man);
|
||||
DestroyHeap(89);
|
||||
DestroyHeap(11);
|
||||
DestroyHeap(32);
|
||||
}
|
||||
|
||||
static void ppOverlayManager_RunFrame_DeleteIfFinished(OVY_MANAGER **man) {
|
||||
if (*man && OverlayManager_run(*man)) {
|
||||
OverlayManager_delete(*man);
|
||||
*man = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static BOOL FieldSys_Main(FieldSystem *fsys) {
|
||||
sub_0203E15C(fsys);
|
||||
if (Fsys_RunTaskFrame(fsys) == TRUE) {
|
||||
if (fsys->unk4) {
|
||||
ov01_021F6830(fsys, 0, 0);
|
||||
}
|
||||
}
|
||||
if (fsys->unk0->unk0) {
|
||||
ppOverlayManager_RunFrame_DeleteIfFinished(&fsys->unk0->unk0);
|
||||
if (!fsys->unk0->unk0) {
|
||||
UnloadOverlayByID(FS_OVERLAY_ID(field));
|
||||
}
|
||||
} else if (fsys->unk0->unk4) {
|
||||
ppOverlayManager_RunFrame_DeleteIfFinished(&fsys->unk0->unk4);
|
||||
}
|
||||
if (fsys->unk0->unkC && !fsys->taskman && !fsys->unk0->unk0 && !fsys->unk0->unk4) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL sub_0203E13C(FieldSystem *fsys) {
|
||||
if (!fsys->unk0->unk8 && fsys->unk6C && !Fsys_TaskIsRunning(fsys)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_0203E15C(FieldSystem *fsys) {
|
||||
Unk_0203E15C unkStruct;
|
||||
|
||||
BOOL flag = sub_0203E13C(fsys);
|
||||
|
||||
if (flag) {
|
||||
sub_0205CE68(fsys->playerAvatar);
|
||||
ov01_021E6928(&unkStruct, fsys, gSystem.newKeys, gSystem.heldKeys);
|
||||
}
|
||||
|
||||
int unkVar = fsys->unk70;
|
||||
|
||||
if (fsys->location->mapId == MAP_D31R0201) {
|
||||
unkVar = 0;
|
||||
}
|
||||
|
||||
switch (unkVar) {
|
||||
case 3:
|
||||
if (flag) {
|
||||
if (sub_02057A0C()) {
|
||||
if (ov01_021E6E00(&unkStruct, fsys) == TRUE) {
|
||||
flag = FALSE;
|
||||
}
|
||||
} else {
|
||||
flag = FALSE;
|
||||
}
|
||||
}
|
||||
sub_020573F0(fsys, flag);
|
||||
break;
|
||||
case 2:
|
||||
if (flag && ov01_021E6EFC(&unkStruct, fsys) != TRUE) {
|
||||
sub_0205CB48(fsys->playerAvatar, fsys->unk2C, -1, unkStruct.unk6, unkStruct.unk8, 0);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (flag) {
|
||||
if (ov01_021E6FD4(&unkStruct, fsys) == TRUE) {
|
||||
ov01_021EFACC(fsys->unk4->unk8);
|
||||
ov01_021F3DFC(fsys, 4);
|
||||
ov01_021F2F24(fsys->playerAvatar);
|
||||
ov01_021F6830(fsys, 0, 1);
|
||||
break;
|
||||
}
|
||||
if (gSystem.newKeys & PAD_BUTTON_A) {
|
||||
ov01_021EFACC(fsys->unk4->unk8);
|
||||
}
|
||||
flag = 0;
|
||||
if (sub_0203E324()) {
|
||||
flag = ov35_02259DB8();
|
||||
}
|
||||
sub_0205CB48(fsys->playerAvatar, fsys->unk2C, -1, unkStruct.unk6, unkStruct.unk8, flag);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (flag) {
|
||||
flag = ov01_021E6AF4(&unkStruct, fsys);
|
||||
if (flag) {
|
||||
ov01_021EFACC(fsys->unk4->unk8);
|
||||
ov01_021F3DFC(fsys, 4);
|
||||
sub_0205CF44(fsys->playerAvatar);
|
||||
ov01_021F2F24(fsys->playerAvatar);
|
||||
ov01_021F6830(fsys, 0, 1);
|
||||
if (flag != 2) {
|
||||
sub_02092FA8(fsys->unk114);
|
||||
}
|
||||
} else {
|
||||
if (gSystem.newKeys & PAD_BUTTON_A) {
|
||||
ov01_021EFACC(fsys->unk4->unk8);
|
||||
}
|
||||
flag = 0;
|
||||
if (sub_0203E324()) {
|
||||
flag = ov35_02259DB8();
|
||||
}
|
||||
sub_0205CB48(fsys->playerAvatar, fsys->unk2C, -1, unkStruct.unk6, unkStruct.unk8, flag);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0203E2F4() {
|
||||
sFieldSysPtr->unk0->unk8 = TRUE;
|
||||
sub_02037504();
|
||||
}
|
||||
|
||||
void sub_0203E30C() {
|
||||
sFieldSysPtr->unk0->unk8 = FALSE;
|
||||
sub_020374E4();
|
||||
}
|
||||
|
||||
int sub_0203E324() {
|
||||
if (sFieldSysPtr->unk4 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
return sFieldSysPtr->unk4->unk14;
|
||||
}
|
||||
|
||||
void sub_0203E33C(FieldSystem *fsys, int a1) {
|
||||
fsys->unk1C = a1;
|
||||
}
|
||||
|
||||
BGCONFIG *FieldSys_GetBgConfigPtr(FieldSystem *fsys) {
|
||||
return fsys->bgConfig;
|
||||
}
|
||||
|
||||
SAVEDATA *FieldSys_GetSaveDataPtr(FieldSystem *fsys) {
|
||||
return fsys->savedata;
|
||||
}
|
||||
|
||||
void sub_0203E348() {
|
||||
LCRandom();
|
||||
LCRandom();
|
||||
}
|
||||
|
||||
void sub_0203E354() {
|
||||
sFieldSysPtr->unkC4 = -2;
|
||||
}
|
@ -13,7 +13,7 @@
|
||||
#include "overlay_01.h"
|
||||
#include "overlay_02.h"
|
||||
#include "unk_02054E00.h"
|
||||
#include "unk_0205B6E8.h"
|
||||
#include "metatile_behavior.h"
|
||||
#include "unk_0203E348.h"
|
||||
#include "unk_0200E398.h"
|
||||
#include "unk_0200FA24.h"
|
||||
@ -228,7 +228,7 @@ static void ItemMenuUseFunc_HealingItem(struct ItemMenuUseData *data, const stru
|
||||
usedat->itemId = data->itemId;
|
||||
usedat->unk26 = data->unk6;
|
||||
usedat->unk20 = &fsys->unk_10C;
|
||||
Fsys_LaunchApplication(fsys, &_0210159C, usedat);
|
||||
FieldSys_LaunchApplication(fsys, &_0210159C, usedat);
|
||||
env->atexit_TaskEnv = usedat;
|
||||
sub_0203C8F0(env, sub_0203CA9C);
|
||||
}
|
||||
@ -351,7 +351,7 @@ static void ItemMenuUseFunc_TMHM(struct ItemMenuUseData *data, const struct Item
|
||||
usedat->unk26 = data->unk6;
|
||||
usedat->unk2A = TMHMGetMove(data->itemId);
|
||||
usedat->unk20 = &fsys->unk_10C;
|
||||
Fsys_LaunchApplication(fsys, &_0210159C, usedat);
|
||||
FieldSys_LaunchApplication(fsys, &_0210159C, usedat);
|
||||
env->atexit_TaskEnv = usedat;
|
||||
sub_0203C8F0(env, sub_0203CA9C);
|
||||
}
|
||||
@ -490,7 +490,7 @@ static BOOL Task_PrintRegisteredKeyItemUseMessage(TaskManager *taskManager) {
|
||||
case 0:
|
||||
fsys->unkD2_6 = TRUE;
|
||||
MapObjectMan_PauseAllMovement(fsys->mapObjectMan);
|
||||
sub_0205B514(fsys->bg_config, &env->window, 3);
|
||||
sub_0205B514(fsys->bgConfig, &env->window, 3);
|
||||
options = Sav2_PlayerData_GetOptionsAddr(fsys->savedata);
|
||||
sub_0205B564(&env->window, options);
|
||||
env->printerId = sub_0205B5B4(&env->window, env->strbuf, options, TRUE);
|
||||
@ -541,7 +541,7 @@ static void ItemMenuUseFunc_EvoStone(struct ItemMenuUseData *data, const struct
|
||||
usedat->unk26 = data->unk6;
|
||||
usedat->fsys = fsys;
|
||||
usedat->unk20 = &fsys->unk_10C;
|
||||
Fsys_LaunchApplication(fsys, &_0210159C, usedat);
|
||||
FieldSys_LaunchApplication(fsys, &_0210159C, usedat);
|
||||
env->atexit_TaskEnv = usedat;
|
||||
sub_0203C8F0(env, sub_0203CA9C);
|
||||
}
|
||||
|
@ -182,7 +182,7 @@ void sub_02053038(FieldSystem *fsys, BOOL isConnection) {
|
||||
}
|
||||
if (!isConnection) {
|
||||
SavGymmick_Clear(Sav2_GetGymmickPtr(fsys->savedata));
|
||||
SetLakeOfRageWaterLevel(fsys->map_matrix, ShouldUseAlternateLakeOfRage(fsys->savedata, mapId));
|
||||
SetLakeOfRageWaterLevel(fsys->mapMatrix, ShouldUseAlternateLakeOfRage(fsys->savedata, mapId));
|
||||
}
|
||||
scriptState = SavArray_Flags_get(fsys->savedata);
|
||||
weather = Fsys_GetWeather_HandleDiamondDust(fsys, mapId);
|
||||
@ -262,13 +262,13 @@ static void sub_02053284(FieldSystem *fsys) {
|
||||
|
||||
sub_02052F30(fsys);
|
||||
GF_ASSERT(fsys->unk60 == 0);
|
||||
MapMatrix_Load(fsys->location->mapId, fsys->map_matrix);
|
||||
MapMatrix_Load(fsys->location->mapId, fsys->mapMatrix);
|
||||
scriptState = SavArray_Flags_get(fsys->savedata);
|
||||
if (sub_02066C74(scriptState, 0)) {
|
||||
RemoveMahoganyTownAntennaTree(fsys->map_matrix);
|
||||
RemoveMahoganyTownAntennaTree(fsys->mapMatrix);
|
||||
}
|
||||
SetLakeOfRageWaterLevel(fsys->map_matrix, sub_02066C74(scriptState, 1));
|
||||
PlaceSafariZoneAreas(fsys->map_matrix, fsys->savedata);
|
||||
SetLakeOfRageWaterLevel(fsys->mapMatrix, sub_02066C74(scriptState, 1));
|
||||
PlaceSafariZoneAreas(fsys->mapMatrix, fsys->savedata);
|
||||
GF_ASSERT(fsys->unk70 < 6);
|
||||
fsys->unk74 = &_020FC5CC[fsys->unk70];
|
||||
fsys->unk64 = fsys->unk74->unk0_04;
|
||||
|
@ -151,7 +151,7 @@ ScriptEnvironment *ScriptEnvironment_new(void) {
|
||||
}
|
||||
|
||||
void DestroyScriptContext(SCRIPTCONTEXT *ctx) {
|
||||
DestroyMsgData(ctx->msg_data);
|
||||
DestroyMsgData(ctx->msgdata);
|
||||
FreeToHeap(ctx->mapScripts);
|
||||
FreeToHeap(ctx);
|
||||
}
|
||||
@ -209,12 +209,12 @@ u16 LoadScriptsAndMessagesByMapId(FieldSystem *fsys, SCRIPTCONTEXT *ctx, u16 scr
|
||||
|
||||
void LoadScriptsAndMessagesParameterized(FieldSystem *fsys, SCRIPTCONTEXT *ctx, int scriptBank, u32 msgBank) {
|
||||
ctx->mapScripts = AllocAndReadWholeNarcMemberByIdPair(NARC_fielddata_script_scr_seq, scriptBank, HEAP_ID_FIELDMAP);
|
||||
ctx->msg_data = NewMsgDataFromNarc(MSGDATA_LOAD_LAZY, NARC_msgdata_msg, msgBank, HEAP_ID_FIELDMAP);
|
||||
ctx->msgdata = NewMsgDataFromNarc(MSGDATA_LOAD_LAZY, NARC_msgdata_msg, msgBank, HEAP_ID_FIELDMAP);
|
||||
}
|
||||
|
||||
void LoadScriptsAndMessagesForCurrentMap(FieldSystem *fsys, SCRIPTCONTEXT *ctx) {
|
||||
ctx->mapScripts = LoadScriptsForCurrentMap(fsys->location->mapId);
|
||||
ctx->msg_data = NewMsgDataFromNarc(MSGDATA_LOAD_LAZY, NARC_msgdata_msg, GetCurrentMapMessageBank(fsys->location->mapId), HEAP_ID_FIELDMAP);
|
||||
ctx->msgdata = NewMsgDataFromNarc(MSGDATA_LOAD_LAZY, NARC_msgdata_msg, GetCurrentMapMessageBank(fsys->location->mapId), HEAP_ID_FIELDMAP);
|
||||
}
|
||||
|
||||
void *FieldSysGetAttrAddrInternal(ScriptEnvironment *unk, enum ScriptEnvField field) {
|
||||
|
@ -8,21 +8,21 @@ static void MapEvents_ComputeRamHeader(MAP_EVENTS *events);
|
||||
static void MapScriptHeader_ReadFromNarc(MAP_EVENTS *events, u32 mapno);
|
||||
|
||||
void Field_AllocateMapEvents(FieldSystem *work, HeapID heapId) {
|
||||
GF_ASSERT(work->map_events == NULL);
|
||||
work->map_events = AllocFromHeap(heapId, sizeof(MAP_EVENTS));
|
||||
GF_ASSERT(work->mapEvents == NULL);
|
||||
work->mapEvents = AllocFromHeap(heapId, sizeof(MAP_EVENTS));
|
||||
}
|
||||
|
||||
void Field_FreeMapEvents(FieldSystem *work) {
|
||||
GF_ASSERT(work->map_events != NULL);
|
||||
FreeToHeap(work->map_events);
|
||||
GF_ASSERT(work->mapEvents != NULL);
|
||||
FreeToHeap(work->mapEvents);
|
||||
}
|
||||
|
||||
void Field_InitMapEvents(FieldSystem *work, u32 mapno) {
|
||||
GF_ASSERT(work->map_events != NULL);
|
||||
MapEvents_ReadFromNarc(work->map_events, mapno);
|
||||
MapEvents_ComputeRamHeader(work->map_events);
|
||||
WildEncounters_ReadFromNarc(&work->map_events->wildEncounters, mapno);
|
||||
MapScriptHeader_ReadFromNarc(work->map_events, mapno);
|
||||
GF_ASSERT(work->mapEvents != NULL);
|
||||
MapEvents_ReadFromNarc(work->mapEvents, mapno);
|
||||
MapEvents_ComputeRamHeader(work->mapEvents);
|
||||
WildEncounters_ReadFromNarc(&work->mapEvents->wildEncounters, mapno);
|
||||
MapScriptHeader_ReadFromNarc(work->mapEvents, mapno);
|
||||
}
|
||||
|
||||
static void MapEvents_ReadFromNarc(MAP_EVENTS *events, u32 mapno) {
|
||||
@ -32,35 +32,35 @@ static void MapEvents_ReadFromNarc(MAP_EVENTS *events, u32 mapno) {
|
||||
}
|
||||
|
||||
void Field_InitMapObjectsFromZoneEventData(FieldSystem *fsys) {
|
||||
u32 obj_count = fsys->map_events->num_object_events;
|
||||
GF_ASSERT(fsys->map_events != NULL);
|
||||
u32 obj_count = fsys->mapEvents->num_object_events;
|
||||
GF_ASSERT(fsys->mapEvents != NULL);
|
||||
if (obj_count != 0) {
|
||||
InitMapObjectsFromEventTemplates(fsys->mapObjectMan, fsys->location->mapId, obj_count, fsys->map_events->object_events);
|
||||
InitMapObjectsFromEventTemplates(fsys->mapObjectMan, fsys->location->mapId, obj_count, fsys->mapEvents->object_events);
|
||||
}
|
||||
}
|
||||
|
||||
BG_EVENT *Field_GetBgEvents(FieldSystem *fsys) {
|
||||
return fsys->map_events->bg_events;
|
||||
return fsys->mapEvents->bg_events;
|
||||
}
|
||||
|
||||
u32 Field_GetNumBgEvents(const FieldSystem *fsys) {
|
||||
return fsys->map_events->num_bg_events;
|
||||
return fsys->mapEvents->num_bg_events;
|
||||
}
|
||||
|
||||
const WARP_EVENT *Field_GetWarpEventI(const FieldSystem *fsys, u32 warpno) {
|
||||
MAP_EVENTS *events = fsys->map_events;
|
||||
if (warpno >= fsys->map_events->num_warp_events) {
|
||||
MAP_EVENTS *events = fsys->mapEvents;
|
||||
if (warpno >= fsys->mapEvents->num_warp_events) {
|
||||
return NULL;
|
||||
} else {
|
||||
return &fsys->map_events->warp_events[warpno];
|
||||
return &fsys->mapEvents->warp_events[warpno];
|
||||
}
|
||||
}
|
||||
|
||||
int Field_GetWarpEventAtXYPos(const FieldSystem *fsys, int x, int y) {
|
||||
int i;
|
||||
|
||||
for (i = 0; i < fsys->map_events->num_warp_events; i++) {
|
||||
if (x == fsys->map_events->warp_events[i].x && y == fsys->map_events->warp_events[i].y) {
|
||||
for (i = 0; i < fsys->mapEvents->num_warp_events; i++) {
|
||||
if (x == fsys->mapEvents->warp_events[i].x && y == fsys->mapEvents->warp_events[i].y) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
@ -69,25 +69,25 @@ int Field_GetWarpEventAtXYPos(const FieldSystem *fsys, int x, int y) {
|
||||
}
|
||||
|
||||
u32 Field_GetNumCoordEvents(const FieldSystem *fsys) {
|
||||
return fsys->map_events->num_coord_events;
|
||||
return fsys->mapEvents->num_coord_events;
|
||||
}
|
||||
|
||||
const COORD_EVENT *Field_GetCoordEvents(const FieldSystem *fsys) {
|
||||
return fsys->map_events->coord_events;
|
||||
return fsys->mapEvents->coord_events;
|
||||
}
|
||||
|
||||
u32 Field_GetNumObjectEvents(const FieldSystem *fsys) {
|
||||
return fsys->map_events->num_object_events;
|
||||
return fsys->mapEvents->num_object_events;
|
||||
}
|
||||
|
||||
const OBJECT_EVENT *Field_GetObjectEvents(const FieldSystem *fsys) {
|
||||
return fsys->map_events->object_events;
|
||||
return fsys->mapEvents->object_events;
|
||||
}
|
||||
|
||||
BOOL Field_SetObjectEventXYPos(FieldSystem *fsys, int id, u16 x, u16 y) {
|
||||
int i;
|
||||
OBJECT_EVENT *objs = fsys->map_events->object_events;
|
||||
u32 num_objs = fsys->map_events->num_object_events;
|
||||
OBJECT_EVENT *objs = fsys->mapEvents->object_events;
|
||||
u32 num_objs = fsys->mapEvents->num_object_events;
|
||||
|
||||
for (i = 0; i < num_objs; i++) {
|
||||
if (objs[i].id == id) {
|
||||
@ -103,8 +103,8 @@ BOOL Field_SetObjectEventXYPos(FieldSystem *fsys, int id, u16 x, u16 y) {
|
||||
|
||||
BOOL Field_SetObjectEventFacing(FieldSystem *fsys, int id, u16 dirn) {
|
||||
int i;
|
||||
OBJECT_EVENT *objs = fsys->map_events->object_events;
|
||||
u32 num_objs = fsys->map_events->num_object_events;
|
||||
OBJECT_EVENT *objs = fsys->mapEvents->object_events;
|
||||
u32 num_objs = fsys->mapEvents->num_object_events;
|
||||
|
||||
for (i = 0; i < num_objs; i++) {
|
||||
if (objs[i].id == id) {
|
||||
@ -119,8 +119,8 @@ BOOL Field_SetObjectEventFacing(FieldSystem *fsys, int id, u16 dirn) {
|
||||
|
||||
BOOL Field_SetObjectEventMovement(FieldSystem *fsys, int id, u16 mvt) {
|
||||
int i;
|
||||
OBJECT_EVENT *objs = fsys->map_events->object_events;
|
||||
u32 num_objs = fsys->map_events->num_object_events;
|
||||
OBJECT_EVENT *objs = fsys->mapEvents->object_events;
|
||||
u32 num_objs = fsys->mapEvents->num_object_events;
|
||||
|
||||
for (i = 0; i < num_objs; i++) {
|
||||
if (objs[i].id == id) {
|
||||
@ -134,7 +134,7 @@ BOOL Field_SetObjectEventMovement(FieldSystem *fsys, int id, u16 mvt) {
|
||||
}
|
||||
|
||||
BOOL Field_SetWarpXYPos(FieldSystem *fsys, int warpno, u16 x, u16 y) {
|
||||
WARP_EVENT *warps = fsys->map_events->warp_events;
|
||||
WARP_EVENT *warps = fsys->mapEvents->warp_events;
|
||||
warps[warpno].x = x;
|
||||
warps[warpno].y = y;
|
||||
return TRUE;
|
||||
@ -195,7 +195,7 @@ void WildEncounters_ReadFromNarc(ENC_DATA *encData, u32 mapno) {
|
||||
}
|
||||
|
||||
ENC_DATA *MapEvents_GetLoadedEncTable(FieldSystem *fsys) {
|
||||
return &fsys->map_events->wildEncounters;
|
||||
return &fsys->mapEvents->wildEncounters;
|
||||
}
|
||||
|
||||
static void MapScriptHeader_ReadFromNarc(MAP_EVENTS *events, u32 mapno) {
|
||||
@ -206,6 +206,6 @@ static void MapScriptHeader_ReadFromNarc(MAP_EVENTS *events, u32 mapno) {
|
||||
}
|
||||
|
||||
u8 *MapEvents_GetScriptHeader(FieldSystem *fsys) {
|
||||
GF_ASSERT(fsys->map_events != NULL);
|
||||
return fsys->map_events->script_header;
|
||||
GF_ASSERT(fsys->mapEvents != NULL);
|
||||
return fsys->mapEvents->script_header;
|
||||
}
|
||||
|
341
src/metatile_behavior.c
Normal file
341
src/metatile_behavior.c
Normal file
@ -0,0 +1,341 @@
|
||||
#include "metatile_behavior.h"
|
||||
#include "constants/metatile_behavior.h"
|
||||
|
||||
static const u8 _020FCA74[] = {
|
||||
0x00, 0x00, 0x02, 0x02, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x01, 0x03, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
BOOL sub_0205B6E8(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_2;
|
||||
}
|
||||
|
||||
BOOL sub_0205B6F4(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_3;
|
||||
}
|
||||
|
||||
BOOL sub_0205B700(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_128;
|
||||
}
|
||||
|
||||
BOOL sub_0205B70C(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_105;
|
||||
}
|
||||
|
||||
BOOL sub_0205B718(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_98;
|
||||
}
|
||||
|
||||
BOOL sub_0205B724(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_99;
|
||||
}
|
||||
|
||||
BOOL sub_0205B730(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_100;
|
||||
}
|
||||
|
||||
BOOL sub_0205B73C(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_101;
|
||||
}
|
||||
|
||||
BOOL sub_0205B748(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_108;
|
||||
}
|
||||
|
||||
BOOL sub_0205B754(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_109;
|
||||
}
|
||||
|
||||
BOOL sub_0205B760(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_110;
|
||||
}
|
||||
|
||||
BOOL sub_0205B76C(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_111;
|
||||
}
|
||||
|
||||
BOOL sub_0205B778(u8 tile) {
|
||||
return (_020FCA74[tile] & 1) != FALSE;
|
||||
}
|
||||
|
||||
BOOL sub_0205B78C(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_34;
|
||||
}
|
||||
|
||||
BOOL sub_0205B798(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_33;
|
||||
}
|
||||
|
||||
BOOL sub_0205B7A4(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_23;
|
||||
}
|
||||
|
||||
BOOL sub_0205B7B0(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_58;
|
||||
}
|
||||
|
||||
BOOL sub_0205B7BC(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_59;
|
||||
}
|
||||
|
||||
BOOL sub_0205B7C8(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_57;
|
||||
}
|
||||
|
||||
BOOL sub_0205B7D4(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_56;
|
||||
}
|
||||
|
||||
BOOL sub_0205B7E0(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_131;
|
||||
}
|
||||
|
||||
BOOL sub_0205B7EC(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_133;
|
||||
}
|
||||
|
||||
BOOL sub_0205B7F8(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_106;
|
||||
}
|
||||
|
||||
BOOL sub_0205B804(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_107;
|
||||
}
|
||||
|
||||
BOOL sub_0205B810(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_94;
|
||||
}
|
||||
|
||||
BOOL sub_0205B81C(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_95;
|
||||
}
|
||||
|
||||
BOOL sub_0205B828(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_32;
|
||||
}
|
||||
|
||||
BOOL sub_0205B834(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_75;
|
||||
}
|
||||
|
||||
BOOL sub_0205B840(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_76;
|
||||
}
|
||||
|
||||
BOOL sub_0205B84C(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_224;
|
||||
}
|
||||
|
||||
BOOL sub_0205B858(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_234;
|
||||
}
|
||||
|
||||
BOOL sub_0205B864(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_225;
|
||||
}
|
||||
|
||||
BOOL sub_0205B870(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_226;
|
||||
}
|
||||
|
||||
BOOL sub_0205B87C(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_228;
|
||||
}
|
||||
|
||||
BOOL sub_0205B888(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_229;
|
||||
}
|
||||
|
||||
BOOL sub_0205B894(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_235;
|
||||
}
|
||||
|
||||
BOOL sub_0205B8A0(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_236;
|
||||
}
|
||||
|
||||
BOOL sub_0205B8AC(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_164;
|
||||
}
|
||||
|
||||
BOOL sub_0205B8B8(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_168;
|
||||
}
|
||||
|
||||
BOOL sub_0205B8C4(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_168;
|
||||
}
|
||||
|
||||
BOOL sub_0205B8D0(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_8;
|
||||
}
|
||||
|
||||
BOOL MetatileBehavior_IsWaterfall(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_WATERFALL;
|
||||
}
|
||||
|
||||
BOOL MetatileBehavior_IsWhirlpool(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_WHIRLPOOL;
|
||||
}
|
||||
|
||||
BOOL sub_0205B8F4(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_50 ||
|
||||
tile == TILE_BEHAVIOR_52 ||
|
||||
tile == TILE_BEHAVIOR_53 ||
|
||||
tile == TILE_BEHAVIOR_60 ||
|
||||
tile == TILE_BEHAVIOR_73;
|
||||
}
|
||||
|
||||
BOOL sub_0205B918(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_51 ||
|
||||
tile == TILE_BEHAVIOR_54 ||
|
||||
tile == TILE_BEHAVIOR_55 ||
|
||||
tile == TILE_BEHAVIOR_61 ||
|
||||
tile == TILE_BEHAVIOR_73;
|
||||
}
|
||||
|
||||
BOOL sub_0205B93C(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_49 ||
|
||||
tile == TILE_BEHAVIOR_53 ||
|
||||
tile == TILE_BEHAVIOR_55 ||
|
||||
tile == TILE_BEHAVIOR_74;
|
||||
}
|
||||
|
||||
BOOL sub_0205B960(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_48 ||
|
||||
tile == TILE_BEHAVIOR_52 ||
|
||||
tile == TILE_BEHAVIOR_54 ||
|
||||
tile == TILE_BEHAVIOR_74;
|
||||
}
|
||||
|
||||
BOOL sub_0205B984(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_22 || tile == TILE_BEHAVIOR_29;
|
||||
}
|
||||
|
||||
BOOL sub_0205B994(u8 tile) {
|
||||
return (_020FCA74[tile] & 2) != 0;
|
||||
}
|
||||
|
||||
BOOL sub_0205B9AC(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_134;
|
||||
}
|
||||
|
||||
BOOL sub_0205B9B8(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_16 ||
|
||||
tile == TILE_BEHAVIOR_22 ||
|
||||
tile == TILE_BEHAVIOR_29 ||
|
||||
tile == TILE_BEHAVIOR_32 ||
|
||||
tile == TILE_BEHAVIOR_45;
|
||||
}
|
||||
|
||||
BOOL sub_0205B9DC(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_64;
|
||||
}
|
||||
|
||||
BOOL sub_0205B9E8(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_65;
|
||||
}
|
||||
|
||||
BOOL sub_0205B9F4(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_66;
|
||||
}
|
||||
|
||||
BOOL sub_0205BA00(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_67;
|
||||
}
|
||||
|
||||
BOOL sub_0205BA0C(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_77;
|
||||
}
|
||||
|
||||
BOOL sub_0205BA18(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_103;
|
||||
}
|
||||
|
||||
BOOL sub_0205BA24(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_112;
|
||||
}
|
||||
|
||||
BOOL sub_0205BA30(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_113 ||
|
||||
tile == TILE_BEHAVIOR_114 ||
|
||||
tile == TILE_BEHAVIOR_115;
|
||||
}
|
||||
|
||||
BOOL sub_0205BA44(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_113 || tile == TILE_BEHAVIOR_114;
|
||||
}
|
||||
|
||||
BOOL sub_0205BA54(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_115;
|
||||
}
|
||||
|
||||
BOOL MetatileBehavior_IsNone(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_NONE;
|
||||
}
|
||||
|
||||
u8 sub_0205BA6C(void) {
|
||||
return TILE_BEHAVIOR_NONE;
|
||||
}
|
||||
|
||||
BOOL sub_0205BA70(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_29 ||
|
||||
tile == TILE_BEHAVIOR_32 ||
|
||||
tile == TILE_BEHAVIOR_45;
|
||||
}
|
||||
|
||||
BOOL sub_0205BA94(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_169;
|
||||
}
|
||||
|
||||
BOOL sub_0205BAA0(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_60;
|
||||
}
|
||||
|
||||
BOOL sub_0205BAAC(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_61;
|
||||
}
|
||||
|
||||
BOOL sub_0205BAB8(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_62;
|
||||
}
|
||||
|
||||
BOOL sub_0205BAC4(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_44;
|
||||
}
|
||||
|
||||
BOOL sub_0205BAD0(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_0 ||
|
||||
tile == TILE_BEHAVIOR_33 ||
|
||||
tile == TILE_BEHAVIOR_164;
|
||||
}
|
||||
|
||||
BOOL sub_0205BAE4(u8 tile) {
|
||||
return sub_0205B778(tile);
|
||||
}
|
||||
|
||||
BOOL sub_0205BAEC(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_35;
|
||||
}
|
||||
|
||||
BOOL MetatileBehavior_IsHeadbutt(u8 tile) {
|
||||
return tile == TILE_BEHAVIOR_HEADBUTT;
|
||||
}
|
||||
|
||||
BOOL sub_0205BB04(u8 tile) {
|
||||
return sub_0205BA44(tile) || tile == TILE_BEHAVIOR_46;
|
||||
}
|
@ -23,12 +23,11 @@
|
||||
#include "unk_0202C730.h"
|
||||
#include "unk_02066EDC.h"
|
||||
#include "unk_0203E348.h"
|
||||
#include "field_system.h"
|
||||
#include "msgdata/msg/msg_0445.h"
|
||||
|
||||
#define HEAPID_OV36 ((HeapID)75)
|
||||
|
||||
extern const OVY_MGR_TEMPLATE gApplication_NewGameFieldsys;
|
||||
extern const OVY_MGR_TEMPLATE gApplication_ContinueFieldsys;
|
||||
extern const OVY_MGR_TEMPLATE gApplication_OakSpeech;
|
||||
|
||||
static BOOL ov36_App_MainMenu_SelectOption_Continue_AppInit(OVY_MANAGER* man, int* state);
|
||||
|
@ -64,7 +64,7 @@ BOOL PartyMenu_AnimateIconFormeChange(PartyMenuStruct* unkPtr) {
|
||||
GF_ASSERT(FALSE);
|
||||
break;
|
||||
}
|
||||
Pokedex_SetMonCaughtFlag(Sav2_Pokedex_get(Fsys_GetSaveDataPtr(unkPtr->unk654->fsys)), pokemon);
|
||||
Pokedex_SetMonCaughtFlag(Sav2_Pokedex_get(FieldSys_GetSaveDataPtr(unkPtr->unk654->fsys)), pokemon);
|
||||
work->state++;
|
||||
break;
|
||||
case 1:
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include "unk_0203E348.h"
|
||||
#include "math_util.h"
|
||||
|
||||
BOOL ScrCmd_683(SCRIPTCONTEXT *ctx) {
|
||||
BOOL ScrCmd_GetStaticEncounterOutcomeFlag(SCRIPTCONTEXT *ctx) {
|
||||
u32 *unkC = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_0C);
|
||||
u16 *var0 = ScriptGetVarPointer(ctx);
|
||||
*var0 = *unkC;
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "map_events.h"
|
||||
#include "unk_0205FD20.h"
|
||||
#include "unk_02054648.h"
|
||||
#include "unk_0205B6E8.h"
|
||||
#include "metatile_behavior.h"
|
||||
#include "unk_0203E348.h"
|
||||
#include "unk_02055418.h"
|
||||
#include "unk_020932A4.h"
|
||||
@ -32,6 +32,7 @@
|
||||
#include "unk_02078834.h"
|
||||
#include "unk_020961D8.h"
|
||||
#include "unk_02055244.h"
|
||||
#include "field_system.h"
|
||||
#include "fashion_case.h"
|
||||
#include "save_flypoints.h"
|
||||
#include "unk_0206B910.h"
|
||||
@ -247,7 +248,7 @@ BOOL ScrCmd_CompareLocalToLocal(SCRIPTCONTEXT* ctx) {
|
||||
u8 a = ctx->data[ScriptReadByte(ctx)];
|
||||
u8 b = ctx->data[ScriptReadByte(ctx)];
|
||||
|
||||
ctx->comparison_result = Compare(a, b);
|
||||
ctx->comparisonResult = Compare(a, b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -256,7 +257,7 @@ BOOL ScrCmd_CompareLocalToValue(SCRIPTCONTEXT* ctx) {
|
||||
u8 a = ctx->data[ScriptReadByte(ctx)];
|
||||
u8 b = ScriptReadByte(ctx);
|
||||
|
||||
ctx->comparison_result = Compare(a, b);
|
||||
ctx->comparisonResult = Compare(a, b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -265,7 +266,7 @@ BOOL ScrCmd_CompareLocalToAddr(SCRIPTCONTEXT* ctx) {
|
||||
u8 a = ctx->data[ScriptReadByte(ctx)];
|
||||
u8 b = *(u8*)ScriptReadWord(ctx);
|
||||
|
||||
ctx->comparison_result = Compare(a, b);
|
||||
ctx->comparisonResult = Compare(a, b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -274,7 +275,7 @@ BOOL ScrCmd_CompareAddrToLocal(SCRIPTCONTEXT* ctx) {
|
||||
u8 a = *(u8*)ScriptReadWord(ctx);
|
||||
u8 b = ctx->data[ScriptReadByte(ctx)];
|
||||
|
||||
ctx->comparison_result = Compare(a, b);
|
||||
ctx->comparisonResult = Compare(a, b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -283,7 +284,7 @@ BOOL ScrCmd_CompareAddrToValue(SCRIPTCONTEXT* ctx) {
|
||||
u8 a = *(u8*)ScriptReadWord(ctx);
|
||||
u8 b = ScriptReadByte(ctx);
|
||||
|
||||
ctx->comparison_result = Compare(a, b);
|
||||
ctx->comparisonResult = Compare(a, b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -292,7 +293,7 @@ BOOL ScrCmd_CompareAddrToAddr(SCRIPTCONTEXT* ctx) {
|
||||
u8 a = *(u8*)ScriptReadWord(ctx);
|
||||
u8 b = *(u8*)ScriptReadWord(ctx);
|
||||
|
||||
ctx->comparison_result = Compare(a, b);
|
||||
ctx->comparisonResult = Compare(a, b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -301,7 +302,7 @@ BOOL ScrCmd_CompareVarToValue(SCRIPTCONTEXT* ctx) {
|
||||
u16 a = *ScriptGetVarPointer(ctx);
|
||||
u16 b = ScriptReadHalfword(ctx);
|
||||
|
||||
ctx->comparison_result = Compare(a, b);
|
||||
ctx->comparisonResult = Compare(a, b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -310,7 +311,7 @@ BOOL ScrCmd_CompareVarToVar(SCRIPTCONTEXT* ctx) {
|
||||
u16* a_ptr = ScriptGetVarPointer(ctx);
|
||||
u16* b_ptr = ScriptGetVarPointer(ctx);
|
||||
|
||||
ctx->comparison_result = Compare(*a_ptr, *b_ptr);
|
||||
ctx->comparisonResult = Compare(*a_ptr, *b_ptr);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -424,7 +425,7 @@ BOOL ScrCmd_GoToIf(SCRIPTCONTEXT* ctx) {
|
||||
u8 condition = ScriptReadByte(ctx);
|
||||
u32 offset_in_script = ScriptReadWord(ctx);
|
||||
|
||||
if (sConditionTable[condition][ctx->comparison_result] == 1) {
|
||||
if (sConditionTable[condition][ctx->comparisonResult] == 1) {
|
||||
ScriptJump(ctx, ctx->script_ptr + offset_in_script);
|
||||
}
|
||||
|
||||
@ -435,7 +436,7 @@ BOOL ScrCmd_CallIf(SCRIPTCONTEXT* ctx) {
|
||||
u8 condition = ScriptReadByte(ctx);
|
||||
u32 offset_in_script = ScriptReadWord(ctx);
|
||||
|
||||
if (sConditionTable[condition][ctx->comparison_result] == 1) {
|
||||
if (sConditionTable[condition][ctx->comparisonResult] == 1) {
|
||||
ScriptCall(ctx, ctx->script_ptr + offset_in_script);
|
||||
}
|
||||
|
||||
@ -464,7 +465,7 @@ BOOL ScrCmd_CheckFlag(SCRIPTCONTEXT* ctx) {
|
||||
FieldSystem* fsys = ctx->fsys;
|
||||
u16 flag_to_check = ScriptReadHalfword(ctx);
|
||||
|
||||
ctx->comparison_result = FlagGet(fsys, flag_to_check);
|
||||
ctx->comparisonResult = FlagGet(fsys, flag_to_check);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -517,7 +518,7 @@ BOOL ScrCmd_CheckTrainerFlag(SCRIPTCONTEXT* ctx) {
|
||||
FieldSystem* fsys = ctx->fsys;
|
||||
u16 flag_to_check = ScriptGetVar(ctx);
|
||||
|
||||
ctx->comparison_result = TrainerFlagCheck(fsys->savedata, flag_to_check);
|
||||
ctx->comparisonResult = TrainerFlagCheck(fsys->savedata, flag_to_check);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@ -571,13 +572,13 @@ BOOL ScrCmd_048(SCRIPTCONTEXT* ctx) {
|
||||
u8 msg_no = ScriptReadByte(ctx);
|
||||
|
||||
if (!sub_02037474()) {
|
||||
ov01_021EF4DC(ctx, ctx->msg_data, msg_no, TRUE, NULL);
|
||||
ov01_021EF4DC(ctx, ctx->msgdata, msg_no, TRUE, NULL);
|
||||
} else {
|
||||
struct UnkStruct_Ov01_021EF4C4 unk_struct;
|
||||
ov01_021EF4C4(&unk_struct, ctx);
|
||||
unk_struct.textFrameDelay = 1;
|
||||
unk_struct.unk1 = 1;
|
||||
ov01_021EF4DC(ctx, ctx->msg_data, msg_no, FALSE, &unk_struct);
|
||||
ov01_021EF4DC(ctx, ctx->msgdata, msg_no, FALSE, &unk_struct);
|
||||
}
|
||||
|
||||
SetupNativeScript(ctx, ov01_021EF348);
|
||||
@ -663,7 +664,7 @@ BOOL ScrCmd_OpenMsg(SCRIPTCONTEXT* ctx) {
|
||||
FieldSystem* fsys = ctx->fsys;
|
||||
u8* unk = FieldSysGetAttrAddr(fsys, SCRIPTENV_08);
|
||||
|
||||
sub_0205B514(fsys->bg_config, FieldSysGetAttrAddr(fsys, SCRIPTENV_WINDOW), 3);
|
||||
sub_0205B514(fsys->bgConfig, FieldSysGetAttrAddr(fsys, SCRIPTENV_WINDOW), 3);
|
||||
sub_0205B564(FieldSysGetAttrAddr(fsys, SCRIPTENV_WINDOW), Sav2_PlayerData_GetOptionsAddr(ctx->fsys->savedata));
|
||||
|
||||
fsys->unkD2_6 = 1;
|
||||
@ -736,17 +737,17 @@ static BOOL sub_02041270(SCRIPTCONTEXT* ctx) {
|
||||
|
||||
if (*var_8008 != 0) {
|
||||
if (*var_8009 == 0) {
|
||||
BgSetPosTextAndCommit(fsys->bg_config, GF_BG_LYR_MAIN_3, BG_POS_OP_ADD_X, *var_8008);
|
||||
BgSetPosTextAndCommit(fsys->bgConfig, GF_BG_LYR_MAIN_3, BG_POS_OP_ADD_X, *var_8008);
|
||||
} else {
|
||||
BgSetPosTextAndCommit(fsys->bg_config, GF_BG_LYR_MAIN_3, BG_POS_OP_SUB_X, *var_8008);
|
||||
BgSetPosTextAndCommit(fsys->bgConfig, GF_BG_LYR_MAIN_3, BG_POS_OP_SUB_X, *var_8008);
|
||||
}
|
||||
}
|
||||
|
||||
if (*var_800A != 0) {
|
||||
if (*var_800B == 0) {
|
||||
BgSetPosTextAndCommit(fsys->bg_config, GF_BG_LYR_MAIN_3, BG_POS_OP_ADD_Y, *var_800A);
|
||||
BgSetPosTextAndCommit(fsys->bgConfig, GF_BG_LYR_MAIN_3, BG_POS_OP_ADD_Y, *var_800A);
|
||||
} else {
|
||||
BgSetPosTextAndCommit(fsys->bg_config, GF_BG_LYR_MAIN_3, BG_POS_OP_SUB_Y, *var_800A);
|
||||
BgSetPosTextAndCommit(fsys->bgConfig, GF_BG_LYR_MAIN_3, BG_POS_OP_SUB_Y, *var_800A);
|
||||
}
|
||||
}
|
||||
|
||||
@ -779,7 +780,7 @@ BOOL ScrCmd_DirectionSignpost(SCRIPTCONTEXT* ctx) {
|
||||
ov01_021F3D70(fsys->unk68, 1);
|
||||
ov01_021F3D98(fsys);
|
||||
|
||||
ReadMsgDataIntoString(ctx->msg_data, msg_no, *tmp_str);
|
||||
ReadMsgDataIntoString(ctx->msgdata, msg_no, *tmp_str);
|
||||
StringExpandPlaceholders(*msg_fmt, *unk1, *tmp_str);
|
||||
WINDOW* window = ov01_021F3D80(fsys->unk68);
|
||||
AddTextPrinterParameterized2(window, 1, *unk1, 0, 0, 0, MakeTextColor(2, 10, 15), NULL);
|
||||
@ -832,7 +833,7 @@ BOOL ScrCmd_TrainerTips(SCRIPTCONTEXT* ctx) {
|
||||
u8 msg_no = ScriptReadByte(ctx);
|
||||
u16 result_var_id = ScriptReadHalfword(ctx);
|
||||
|
||||
ReadMsgDataIntoString(ctx->msg_data, msg_no, *tmp_str);
|
||||
ReadMsgDataIntoString(ctx->msgdata, msg_no, *tmp_str);
|
||||
StringExpandPlaceholders(*msg_fmt, *unk, *tmp_str);
|
||||
|
||||
TextFlags_SetCanABSpeedUpPrint(TRUE);
|
||||
@ -932,8 +933,8 @@ BOOL ScrCmd_YesNo(SCRIPTCONTEXT* ctx) {
|
||||
FieldSystem *fsys = ctx->fsys;
|
||||
struct ListMenu2 **listMenu = FieldSysGetAttrAddr(fsys, SCRIPTENV_MENU);
|
||||
u16 data = ScriptReadHalfword(ctx);
|
||||
LoadUserFrameGfx1(fsys->bg_config, 3, 0x3D9, 11, 0, 4);
|
||||
*listMenu = Std_CreateYesNoMenu(fsys->bg_config, &_020FAC94, 0x3D9, 11, 4);
|
||||
LoadUserFrameGfx1(fsys->bgConfig, 3, 0x3D9, 11, 0, 4);
|
||||
*listMenu = Std_CreateYesNoMenu(fsys->bgConfig, &_020FAC94, 0x3D9, 11, 4);
|
||||
ctx->data[0] = data;
|
||||
SetupNativeScript(ctx, sub_020416E4);
|
||||
return TRUE;
|
||||
@ -987,7 +988,7 @@ BOOL ScrCmd_064(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_065(SCRIPTCONTEXT *ctx) {
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW), ctx->msg_data);
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW), ctx->msgdata);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -1052,7 +1053,7 @@ BOOL ScrCmd_068(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_069(SCRIPTCONTEXT *ctx) {
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW), ctx->msg_data);
|
||||
sub_02041770(ctx, FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MENU_WINDOW), ctx->msgdata);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -1842,8 +1843,8 @@ BOOL ScrCmd_452(SCRIPTCONTEXT *ctx) {
|
||||
struct PokepicManager **p_work = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_GENERIC_WORK_PTR);
|
||||
u16 species = ScriptGetVar(ctx);
|
||||
u16 gender = ScriptGetVar(ctx);
|
||||
LoadUserFrameGfx1(ctx->fsys->bg_config, 3, 0x3D9, 0xB, 0, 4);
|
||||
*p_work = sub_0200F4A0(ctx->fsys->bg_config, 3, 10, 5, 11, 0x3D9, species, gender, 4);
|
||||
LoadUserFrameGfx1(ctx->fsys->bgConfig, 3, 0x3D9, 0xB, 0, 4);
|
||||
*p_work = sub_0200F4A0(ctx->fsys->bgConfig, 3, 10, 5, 11, 0x3D9, species, gender, 4);
|
||||
Script_SetMonSeenFlagBySpecies(ctx->fsys, species);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1852,8 +1853,8 @@ BOOL ScrCmd_547(SCRIPTCONTEXT *ctx) {
|
||||
struct PokepicManager **p_work = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_GENERIC_WORK_PTR);
|
||||
u16 partyIdx = ScriptGetVar(ctx);
|
||||
POKEMON *pokemon = GetPartyMonByIndex(SavArray_PlayerParty_get(ctx->fsys->savedata), partyIdx);
|
||||
LoadUserFrameGfx1(ctx->fsys->bg_config, 3, 0x3D9, 0xB, 0, 4);
|
||||
*p_work = sub_0200F4F8(ctx->fsys->bg_config, 3, 10, 5, 11, 0x3D9, pokemon, 4);
|
||||
LoadUserFrameGfx1(ctx->fsys->bgConfig, 3, 0x3D9, 0xB, 0, 4);
|
||||
*p_work = sub_0200F4F8(ctx->fsys->bgConfig, 3, 10, 5, 11, 0x3D9, pokemon, 4);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -2689,8 +2690,8 @@ BOOL ScrCmd_264(SCRIPTCONTEXT *ctx) {
|
||||
LocalMapObject **p_lastTalked = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_LAST_TALKED);
|
||||
MSGFMT **p_msgFmt = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MSGFMT);
|
||||
u16 r4 = ScriptReadHalfword(ctx);
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
SAVE_EASY_CHAT_T *easyChat = SaveData_EasyChat_get(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
SAVE_EASY_CHAT_T *easyChat = SaveData_EasyChat_get(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
u16 objId;
|
||||
|
||||
if (r4 == 0) {
|
||||
@ -2854,7 +2855,7 @@ BOOL ScrCmd_286(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_287(SCRIPTCONTEXT *ctx) {
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
MSGFMT **p_msgFmt = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MSGFMT);
|
||||
sub_0205B3DC(
|
||||
PlayerProfile_GetTrainerID(profile),
|
||||
@ -2865,7 +2866,7 @@ BOOL ScrCmd_287(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_288(SCRIPTCONTEXT *ctx) {
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
u16 choice = ScriptGetVar(ctx);
|
||||
u16 *p_ret = ScriptGetVarPointer(ctx);
|
||||
*p_ret = sub_0205B418(
|
||||
@ -2882,7 +2883,7 @@ BOOL ScrCmd_288(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_558(SCRIPTCONTEXT *ctx) {
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
u16 choice = ScriptGetVar(ctx);
|
||||
u16 *p_ret = ScriptGetVarPointer(ctx);
|
||||
*p_ret = sub_0205B418(
|
||||
@ -2894,7 +2895,7 @@ BOOL ScrCmd_558(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_289(SCRIPTCONTEXT *ctx) {
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
u16 choice = ScriptGetVar(ctx);
|
||||
PlayerProfile_SetAvatar(profile, choice);
|
||||
return FALSE;
|
||||
@ -2913,7 +2914,7 @@ BOOL ScrCmd_SetSpawn(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_GetPlayerGender(SCRIPTCONTEXT *ctx) {
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
u16 *p_ret = ScriptGetVarPointer(ctx);
|
||||
*p_ret = PlayerProfile_GetTrainerGender(profile);
|
||||
return FALSE;
|
||||
@ -3074,7 +3075,7 @@ BOOL ScrCmd_EcruteakGymInit(SCRIPTCONTEXT *ctx) {
|
||||
|
||||
BOOL ScrCmd_315(SCRIPTCONTEXT *ctx) {
|
||||
FieldSystem *fsys = ctx->fsys;
|
||||
if (SavGymmick_GetType(Sav2_GetGymmickPtr(Fsys_GetSaveDataPtr(fsys))) != GYMMICK_ECRUTEAK) {
|
||||
if (SavGymmick_GetType(Sav2_GetGymmickPtr(FieldSys_GetSaveDataPtr(fsys))) != GYMMICK_ECRUTEAK) {
|
||||
return FALSE;
|
||||
}
|
||||
ov04_02254D98(fsys);
|
||||
@ -3083,7 +3084,7 @@ BOOL ScrCmd_315(SCRIPTCONTEXT *ctx) {
|
||||
|
||||
BOOL ScrCmd_316(SCRIPTCONTEXT *ctx) {
|
||||
FieldSystem *fsys = ctx->fsys;
|
||||
if (SavGymmick_GetType(Sav2_GetGymmickPtr(Fsys_GetSaveDataPtr(fsys))) != GYMMICK_ECRUTEAK) {
|
||||
if (SavGymmick_GetType(Sav2_GetGymmickPtr(FieldSys_GetSaveDataPtr(fsys))) != GYMMICK_ECRUTEAK) {
|
||||
return FALSE;
|
||||
}
|
||||
ov04_02254DD0(fsys);
|
||||
@ -3093,7 +3094,7 @@ BOOL ScrCmd_316(SCRIPTCONTEXT *ctx) {
|
||||
BOOL ScrCmd_317(SCRIPTCONTEXT *ctx) {
|
||||
FieldSystem *fsys = ctx->fsys;
|
||||
u8 r5 = ScriptReadByte(ctx);
|
||||
if (SavGymmick_GetType(Sav2_GetGymmickPtr(Fsys_GetSaveDataPtr(fsys))) != GYMMICK_ECRUTEAK) {
|
||||
if (SavGymmick_GetType(Sav2_GetGymmickPtr(FieldSys_GetSaveDataPtr(fsys))) != GYMMICK_ECRUTEAK) {
|
||||
return TRUE;
|
||||
}
|
||||
ov04_02254DE0(fsys, (r5 != 0) ? 10 : 30);
|
||||
@ -3574,7 +3575,7 @@ BOOL ScrCmd_GetGameVersion(SCRIPTCONTEXT *ctx) {
|
||||
|
||||
BOOL ScrCmd_PrimoPasswordCheck1(SCRIPTCONTEXT *ctx) {
|
||||
FieldSystem *fsys = ctx->fsys;
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(fsys));
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(fsys));
|
||||
u16 *p_ret = ScriptGetVarPointer(ctx);
|
||||
PC_STORAGE *pcStorage = GetStoragePCPointer(fsys->savedata);
|
||||
u16 a = ScriptGetVar(ctx);
|
||||
@ -3596,7 +3597,7 @@ BOOL ScrCmd_PrimoPasswordCheck1(SCRIPTCONTEXT *ctx) {
|
||||
|
||||
BOOL ScrCmd_PrimoPasswordCheck2(SCRIPTCONTEXT *ctx) {
|
||||
FieldSystem *fsys = ctx->fsys;
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(fsys));
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(fsys));
|
||||
u16 *p_ret = ScriptGetVarPointer(ctx);
|
||||
PC_STORAGE *pcStorage = GetStoragePCPointer(fsys->savedata);
|
||||
u16 a = ScriptGetVar(ctx);
|
||||
@ -4598,7 +4599,7 @@ BOOL ScrCmd_Pokeathlon(SCRIPTCONTEXT *ctx) {
|
||||
|
||||
BOOL ScrCmd_GetFriendSprite(SCRIPTCONTEXT *ctx) {
|
||||
u16 *p_ret = ScriptGetVarPointer(ctx);
|
||||
if (PlayerProfile_GetTrainerGender(Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(ctx->fsys))) != PLAYER_GENDER_MALE) {
|
||||
if (PlayerProfile_GetTrainerGender(Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(ctx->fsys))) != PLAYER_GENDER_MALE) {
|
||||
*p_ret = SPRITE_HERO;
|
||||
} else {
|
||||
*p_ret = SPRITE_HEROINE;
|
||||
@ -4607,7 +4608,7 @@ BOOL ScrCmd_GetFriendSprite(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_RegisterPokegearCard(SCRIPTCONTEXT *ctx) {
|
||||
SavePokegear *pokegear = SaveData_GSPlayerMisc_get(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
SavePokegear *pokegear = SaveData_GSPlayerMisc_get(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
u8 card = ScriptReadByte(ctx);
|
||||
switch (card) {
|
||||
case 1:
|
||||
@ -4630,7 +4631,7 @@ BOOL ScrCmd_804(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_RegisterGearNumber(SCRIPTCONTEXT *ctx) {
|
||||
SavePokegear *pokegear = SaveData_GSPlayerMisc_get(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
SavePokegear *pokegear = SaveData_GSPlayerMisc_get(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
u8 number = ScriptGetVar(ctx);
|
||||
if (number < NUM_PHONE_CONTACTS) {
|
||||
RegisterPhoneNumberInPokeGear(pokegear, number);
|
||||
@ -4639,7 +4640,7 @@ BOOL ScrCmd_RegisterGearNumber(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_CheckRegisteredPhoneNumber(SCRIPTCONTEXT *ctx) {
|
||||
SavePokegear *pokegear = SaveData_GSPlayerMisc_get(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
SavePokegear *pokegear = SaveData_GSPlayerMisc_get(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
u8 number = ScriptGetVar(ctx);
|
||||
u16 *p_ret = ScriptGetVarPointer(ctx);
|
||||
if (number < NUM_PHONE_CONTACTS) {
|
||||
@ -5014,7 +5015,7 @@ BOOL ScrCmd_MenuInitStdGmm(SCRIPTCONTEXT *ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_MenuInit(SCRIPTCONTEXT *ctx) {
|
||||
sub_02041770(ctx, ov01_021F6B20(ctx->fsys), ctx->msg_data);
|
||||
sub_02041770(ctx, ov01_021F6B20(ctx->fsys), ctx->msgdata);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@ BOOL ScrCmd_GiveDayCareEgg(SCRIPTCONTEXT* ctx) {
|
||||
FieldSystem* fsys = ctx->fsys;
|
||||
DAYCARE* daycare = SavArray_get(fsys->savedata, SAVE_DAYCARE);
|
||||
PARTY* party = SavArray_PlayerParty_get(fsys->savedata);
|
||||
SAVEDATA* savedata = Fsys_GetSaveDataPtr(ctx->fsys);
|
||||
SAVEDATA* savedata = FieldSys_GetSaveDataPtr(ctx->fsys);
|
||||
PLAYERPROFILE* profile = Sav2_PlayerData_GetProfileAddr(savedata);
|
||||
|
||||
GiveEggToPlayer(daycare, party, profile);
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include "player_data.h"
|
||||
|
||||
BOOL ScrCmd_AddMoney(SCRIPTCONTEXT* ctx) {
|
||||
SAVEDATA* savedata = Fsys_GetSaveDataPtr(ctx->fsys);
|
||||
SAVEDATA* savedata = FieldSys_GetSaveDataPtr(ctx->fsys);
|
||||
PLAYERPROFILE* profile = Sav2_PlayerData_GetProfileAddr(savedata);
|
||||
|
||||
u32 amount = ScriptReadWord(ctx);
|
||||
@ -12,7 +12,7 @@ BOOL ScrCmd_AddMoney(SCRIPTCONTEXT* ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_SubMoneyImmediate(SCRIPTCONTEXT* ctx) {
|
||||
SAVEDATA* savedata = Fsys_GetSaveDataPtr(ctx->fsys);
|
||||
SAVEDATA* savedata = FieldSys_GetSaveDataPtr(ctx->fsys);
|
||||
PLAYERPROFILE* profile = Sav2_PlayerData_GetProfileAddr(savedata);
|
||||
|
||||
u32 amount = ScriptReadWord(ctx);
|
||||
@ -22,7 +22,7 @@ BOOL ScrCmd_SubMoneyImmediate(SCRIPTCONTEXT* ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_SubMoneyVar(SCRIPTCONTEXT* ctx) {
|
||||
SAVEDATA* savedata = Fsys_GetSaveDataPtr(ctx->fsys);
|
||||
SAVEDATA* savedata = FieldSys_GetSaveDataPtr(ctx->fsys);
|
||||
PLAYERPROFILE* profile = Sav2_PlayerData_GetProfileAddr(savedata);
|
||||
|
||||
u16 amount = VarGet(ctx->fsys, ScriptReadHalfword(ctx));
|
||||
@ -32,7 +32,7 @@ BOOL ScrCmd_SubMoneyVar(SCRIPTCONTEXT* ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_HasEnoughMoneyImmediate(SCRIPTCONTEXT* ctx) {
|
||||
SAVEDATA* savedata = Fsys_GetSaveDataPtr(ctx->fsys);
|
||||
SAVEDATA* savedata = FieldSys_GetSaveDataPtr(ctx->fsys);
|
||||
PLAYERPROFILE* profile = Sav2_PlayerData_GetProfileAddr(savedata);
|
||||
u16* ret_ptr = GetVarPointer(ctx->fsys, ScriptReadHalfword(ctx));
|
||||
|
||||
@ -48,7 +48,7 @@ BOOL ScrCmd_HasEnoughMoneyImmediate(SCRIPTCONTEXT* ctx) {
|
||||
}
|
||||
|
||||
BOOL ScrCmd_HasEnoughMoneyVar(SCRIPTCONTEXT* ctx) {
|
||||
SAVEDATA* savedata = Fsys_GetSaveDataPtr(ctx->fsys);
|
||||
SAVEDATA* savedata = FieldSys_GetSaveDataPtr(ctx->fsys);
|
||||
PLAYERPROFILE* profile = Sav2_PlayerData_GetProfileAddr(savedata);
|
||||
u16* ret_ptr = GetVarPointer(ctx->fsys, ScriptReadHalfword(ctx));
|
||||
|
||||
|
@ -44,7 +44,7 @@ static void CreateMoveRelearner(SCRIPTCONTEXT *ctx, int a1, POKEMON *pokemon, u1
|
||||
*unkAC = moveRelearner;
|
||||
|
||||
moveRelearner->pokemon = pokemon;
|
||||
moveRelearner->profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(ctx->fsys));
|
||||
moveRelearner->profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(ctx->fsys));
|
||||
moveRelearner->options = Sav2_PlayerData_GetOptionsAddr(ctx->fsys->savedata);
|
||||
moveRelearner->eligibleMoves = eligibleMoves;
|
||||
moveRelearner->unk_19 = a1;
|
||||
|
@ -56,7 +56,7 @@ BOOL ScrCmd_GetPartyMonSpecies(SCRIPTCONTEXT *ctx) {
|
||||
|
||||
BOOL ScrCmd_PartymonIsMine(SCRIPTCONTEXT *ctx) {
|
||||
FieldSystem *fsys = ctx->fsys;
|
||||
SAVEDATA *save = Fsys_GetSaveDataPtr(fsys);
|
||||
SAVEDATA *save = FieldSys_GetSaveDataPtr(fsys);
|
||||
PLAYERPROFILE *profile = Sav2_PlayerData_GetProfileAddr(save);
|
||||
|
||||
u16 *slot = ScriptGetVarPointer(ctx);
|
||||
|
@ -209,11 +209,11 @@ static void ov01_02200DF8(SCR_648_STRUCT *unkPtr, int strNo, u16 a2, u32 a3) {
|
||||
static void ov01_02200E00(SCR_648_STRUCT *unkPtr) {
|
||||
u32 unk = unkPtr->totalItems;
|
||||
if (unk > 8) {
|
||||
AddWindowParameterized(unkPtr->fsys->bg_config, &unkPtr->window_8, 3, unkPtr->x, unkPtr->y, 11, 0x10, 13, 1);
|
||||
AddWindowParameterized(unkPtr->fsys->bgConfig, &unkPtr->window_8, 3, unkPtr->x, unkPtr->y, 11, 0x10, 13, 1);
|
||||
} else {
|
||||
AddWindowParameterized(unkPtr->fsys->bg_config, &unkPtr->window_8, 3, unkPtr->x, unkPtr->y, 11, 2*unk, 13, 1);
|
||||
AddWindowParameterized(unkPtr->fsys->bgConfig, &unkPtr->window_8, 3, unkPtr->x, unkPtr->y, 11, 2*unk, 13, 1);
|
||||
}
|
||||
LoadUserFrameGfx1(unkPtr->fsys->bg_config, 3, 0x3D9, 0xb, 0, 4);
|
||||
LoadUserFrameGfx1(unkPtr->fsys->bgConfig, 3, 0x3D9, 0xb, 0, 4);
|
||||
DrawFrameAndWindow1(&unkPtr->window_8, 1, 0x3D9, 11);
|
||||
ov01_02200F54(unkPtr);
|
||||
unkPtr->listMenu_23C = ListMenuInit(&unkPtr->listMenuTemplate, *unkPtr->cursorPos, *unkPtr->itemsAbove, 4);
|
||||
@ -1432,7 +1432,7 @@ BOOL ScrCmd_BufferBugContestWinner(SCRIPTCONTEXT *ctx) {
|
||||
msgfmt = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MSGFMT);
|
||||
bugContest = FieldSys_BugContest_get(ctx->fsys);
|
||||
|
||||
BugContest_BufferContestWinnerNames(bugContest, ctx->msg_data, *msgfmt, *ctx->script_ptr++);
|
||||
BugContest_BufferContestWinnerNames(bugContest, ctx->msgdata, *msgfmt, *ctx->script_ptr++);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ BOOL ScrCmd_BufferPlayersName(SCRIPTCONTEXT* ctx) {
|
||||
FieldSystem* fsys = ctx->fsys;
|
||||
MSGFMT** msg_fmt = FieldSysGetAttrAddr(ctx->fsys, SCRIPTENV_MSGFMT);
|
||||
u8 idx = ScriptReadByte(ctx);
|
||||
PLAYERPROFILE* profile = Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(fsys));
|
||||
PLAYERPROFILE* profile = Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(fsys));
|
||||
|
||||
BufferPlayersName(*msg_fmt, idx, profile);
|
||||
|
||||
@ -201,7 +201,7 @@ BOOL ScrCmd_BufferTrainerClassName(SCRIPTCONTEXT* ctx) {
|
||||
|
||||
BOOL ScrCmd_BufferPlayerUnionAvatarClassName(SCRIPTCONTEXT* ctx) {
|
||||
FieldSystem* fsys = ctx->fsys;
|
||||
SAVEDATA* savedata = Fsys_GetSaveDataPtr(fsys);
|
||||
SAVEDATA* savedata = FieldSys_GetSaveDataPtr(fsys);
|
||||
PLAYERPROFILE* profile = Sav2_PlayerData_GetProfileAddr(savedata);
|
||||
MSGFMT** msg_fmt = FieldSysGetAttrAddr(fsys, SCRIPTENV_MSGFMT);
|
||||
u8 idx = ScriptReadByte(ctx);
|
||||
|
16
src/script.c
16
src/script.c
@ -5,10 +5,10 @@ void InitScriptContext(SCRIPTCONTEXT* ctx, const ScrCmdFunc* cmd_table, u32 cmd_
|
||||
|
||||
ctx->mode = SCRIPT_MODE_STOPPED;
|
||||
ctx->script_ptr = NULL;
|
||||
ctx->stack_depth = 0;
|
||||
ctx->stackDepth = 0;
|
||||
ctx->id = 0;
|
||||
ctx->native_ptr = NULL;
|
||||
ctx->cmd_table = cmd_table;
|
||||
ctx->cmdTable = cmd_table;
|
||||
ctx->cmd_count = cmd_count;
|
||||
|
||||
for (i = 0; i < NELEMS(ctx->data); i++) {
|
||||
@ -79,7 +79,7 @@ BOOL RunScriptCommand(SCRIPTCONTEXT* ctx) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ScrCmdFunc cmd = ctx->cmd_table[cmd_code];
|
||||
ScrCmdFunc cmd = ctx->cmdTable[cmd_code];
|
||||
if ((*cmd)(ctx) == TRUE) {
|
||||
break;
|
||||
}
|
||||
@ -90,22 +90,22 @@ BOOL RunScriptCommand(SCRIPTCONTEXT* ctx) {
|
||||
}
|
||||
|
||||
BOOL ScriptPush(SCRIPTCONTEXT* ctx, const u8* ptr) {
|
||||
if (ctx->stack_depth + 1 >= (s32)NELEMS(ctx->stack)) {
|
||||
if (ctx->stackDepth + 1 >= (s32)NELEMS(ctx->stack)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
ctx->stack[ctx->stack_depth] = ptr;
|
||||
ctx->stack_depth++;
|
||||
ctx->stack[ctx->stackDepth] = ptr;
|
||||
ctx->stackDepth++;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
const u8* ScriptPop(SCRIPTCONTEXT* ctx) {
|
||||
if (ctx->stack_depth == 0) {
|
||||
if (ctx->stackDepth == 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return ctx->stack[--ctx->stack_depth];
|
||||
return ctx->stack[--ctx->stackDepth];
|
||||
}
|
||||
|
||||
void ScriptJump(SCRIPTCONTEXT* ctx, const u8* ptr) {
|
||||
|
@ -91,7 +91,7 @@ static BOOL Task_RunApplicationUntilComplete(TaskManager *taskManager) {
|
||||
|
||||
switch (env->state) {
|
||||
case 0:
|
||||
Fsys_LaunchApplication(fsys, env->template, env->work);
|
||||
FieldSys_LaunchApplication(fsys, env->template, env->work);
|
||||
env->state++;
|
||||
break;
|
||||
case 1:
|
||||
|
@ -12,14 +12,14 @@ static const FieldSystemFunc1 _020FE1EC[];
|
||||
static const FieldSystemFunc2 _020FE23C[];
|
||||
|
||||
void sub_020648EC(FieldSystem* fsys) {
|
||||
int gymmickType = SavGymmick_GetType(Sav2_GetGymmickPtr(Fsys_GetSaveDataPtr(fsys)));
|
||||
int gymmickType = SavGymmick_GetType(Sav2_GetGymmickPtr(FieldSys_GetSaveDataPtr(fsys)));
|
||||
if (gymmickType != GYMMICK_NONE) {
|
||||
_020FE214[gymmickType](fsys);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_02064910(FieldSystem* fsys) {
|
||||
int gymmickType = SavGymmick_GetType(Sav2_GetGymmickPtr(Fsys_GetSaveDataPtr(fsys)));
|
||||
int gymmickType = SavGymmick_GetType(Sav2_GetGymmickPtr(FieldSys_GetSaveDataPtr(fsys)));
|
||||
if (gymmickType) {
|
||||
FieldSystemFunc1 func = _020FE1EC[gymmickType];
|
||||
if (func != NULL) {
|
||||
@ -29,7 +29,7 @@ void sub_02064910(FieldSystem* fsys) {
|
||||
}
|
||||
|
||||
BOOL sub_02064938(FieldSystem *fsys, u32 a1, u32 a2, u32 a3, u32 a4) {
|
||||
int gymmickType = SavGymmick_GetType(Sav2_GetGymmickPtr(Fsys_GetSaveDataPtr(fsys)));
|
||||
int gymmickType = SavGymmick_GetType(Sav2_GetGymmickPtr(FieldSys_GetSaveDataPtr(fsys)));
|
||||
if (gymmickType == GYMMICK_NONE) return FALSE;
|
||||
|
||||
FieldSystemFunc2 func = _020FE23C[gymmickType];
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "map_header.h"
|
||||
#include "scrcmd.h"
|
||||
#include "unk_02054E00.h"
|
||||
#include "unk_0203DE74.h"
|
||||
#include "field_system.h"
|
||||
#include "unk_0206D494.h"
|
||||
#include "sys_vars.h"
|
||||
#include "overlay_02.h"
|
||||
@ -52,7 +52,7 @@ static void sub_02092BE8(FieldSystem* sys, Unk_PokegearSTRUCT_2C* ptr, BOOL a2)
|
||||
MapMatrix_Free(matrix);
|
||||
}
|
||||
|
||||
ptr->playerGender = PlayerProfile_GetTrainerGender(Sav2_PlayerData_GetProfileAddr(Fsys_GetSaveDataPtr(sys)));
|
||||
ptr->playerGender = PlayerProfile_GetTrainerGender(Sav2_PlayerData_GetProfileAddr(FieldSys_GetSaveDataPtr(sys)));
|
||||
ptr->unk28 = &sys->unk_10C;
|
||||
ptr->unk01 = sub_0203DF3C(sys);
|
||||
ptr->mapMusicID = Fsys_GetSurfOverriddenMusicId(sys, ptr->mapID);
|
||||
@ -97,8 +97,8 @@ GearPhoneRingManager* GearPhoneRingManager_new(HeapID heapId, FieldSystem* sys)
|
||||
ptr->unk_var10 = 30;
|
||||
ptr->unk_var12 = 50;
|
||||
ptr->saveData = sys->savedata;
|
||||
ptr->pokegear_data = SaveData_GSPlayerMisc_get(ptr->saveData);
|
||||
ptr->savings_data = SaveData_GetMomsSavingsAddr(ptr->saveData);
|
||||
ptr->pokegearData = SaveData_GSPlayerMisc_get(ptr->saveData);
|
||||
ptr->savingsData = SaveData_GetMomsSavingsAddr(ptr->saveData);
|
||||
ptr->sys = sys;
|
||||
return ptr;
|
||||
}
|
||||
@ -126,7 +126,7 @@ PhoneBookEntry* sub_02092E10(GearPhoneRingManager* ptr) {
|
||||
}
|
||||
|
||||
void sub_02092E14(GearPhoneRingManager* ptr, u8 a1, BOOL a2) {
|
||||
sub_0202F01C(ptr->savings_data, a1);
|
||||
sub_0202F01C(ptr->savingsData, a1);
|
||||
if (a2) {
|
||||
if (ptr->unk_var8 < ptr->unk_varC - 1) {
|
||||
ptr->unk_var8 = ptr->unk_varC - 1;
|
||||
@ -152,7 +152,7 @@ static void sub_02092E54(GearPhoneRingManager* ptr) {
|
||||
u8 var4057 = ScriptState_GetVar4057(state);
|
||||
u8 i;
|
||||
for (i = 0; i < 5; i++) {
|
||||
if (sub_0202F08C(ptr->savings_data, i + 7)) {
|
||||
if (sub_0202F08C(ptr->savingsData, i + 7)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user