through sub_8056918
This commit is contained in:
+6
-539
@@ -5,539 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80564C8
|
||||
sub_80564C8: @ 80564C8
|
||||
push {lr}
|
||||
sub sp, 0x4
|
||||
bl sub_8112B3C
|
||||
bl sub_805BEB8
|
||||
bl sub_8111C68
|
||||
mov r0, sp
|
||||
bl FieldClearPlayerInput
|
||||
ldr r0, _08056508 @ =gUnknown_3005E90
|
||||
ldr r0, [r0]
|
||||
str r0, [sp]
|
||||
mov r0, sp
|
||||
bl FieldInput_HandleCancelSignpost
|
||||
bl ScriptContext2_IsEnabled
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08056512
|
||||
mov r0, sp
|
||||
bl ProcessPlayerFieldInput
|
||||
cmp r0, 0x1
|
||||
bne _0805650C
|
||||
bl ScriptContext2_Enable
|
||||
bl DismissMapNamePopup
|
||||
b _08056522
|
||||
.align 2, 0
|
||||
_08056508: .4byte gUnknown_3005E90
|
||||
_0805650C:
|
||||
bl RunQuestLogCB
|
||||
b _08056522
|
||||
_08056512:
|
||||
bl sub_8111CD0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08056522
|
||||
bl RunQuestLogCB
|
||||
_08056522:
|
||||
ldr r0, _08056530 @ =gUnknown_3005E90
|
||||
bl FieldClearPlayerInput
|
||||
add sp, 0x4
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056530: .4byte gUnknown_3005E90
|
||||
thumb_func_end sub_80564C8
|
||||
|
||||
thumb_func_start CB1_Overworld
|
||||
CB1_Overworld: @ 8056534
|
||||
push {r4,lr}
|
||||
ldr r4, _0805655C @ =gMain
|
||||
ldr r1, [r4, 0x4]
|
||||
ldr r0, _08056560 @ =sub_80565B4
|
||||
cmp r1, r0
|
||||
bne _08056570
|
||||
bl sub_8112CAC
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _08056554
|
||||
ldr r0, _08056564 @ =gQuestLogState
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x2
|
||||
bne _08056568
|
||||
_08056554:
|
||||
bl sub_80564C8
|
||||
b _08056570
|
||||
.align 2, 0
|
||||
_0805655C: .4byte gMain
|
||||
_08056560: .4byte sub_80565B4
|
||||
_08056564: .4byte gQuestLogState
|
||||
_08056568:
|
||||
ldrh r0, [r4, 0x2E]
|
||||
ldrh r1, [r4, 0x2C]
|
||||
bl sub_805644C
|
||||
_08056570:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end CB1_Overworld
|
||||
|
||||
thumb_func_start sub_8056578
|
||||
sub_8056578: @ 8056578
|
||||
push {lr}
|
||||
bl ScriptContext2_RunScript
|
||||
bl RunTasks
|
||||
bl AnimateSprites
|
||||
bl CameraUpdate
|
||||
bl sub_8115798
|
||||
bl UpdateCameraPanning
|
||||
bl BuildOamBuffer
|
||||
bl UpdatePaletteFade
|
||||
bl UpdateTilesetAnimations
|
||||
bl DoScheduledBgTilemapCopiesToVram
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8056578
|
||||
|
||||
thumb_func_start CB2_OverworldBasic
|
||||
CB2_OverworldBasic: @ 80565A8
|
||||
push {lr}
|
||||
bl sub_8056578
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end CB2_OverworldBasic
|
||||
|
||||
thumb_func_start sub_80565B4
|
||||
sub_80565B4: @ 80565B4
|
||||
push {r4,lr}
|
||||
ldr r0, _080565DC @ =gPaletteFade
|
||||
ldrb r0, [r0, 0x7]
|
||||
lsrs r0, 7
|
||||
adds r4, r0, 0
|
||||
cmp r4, 0
|
||||
beq _080565C8
|
||||
movs r0, 0
|
||||
bl SetVBlankCallback
|
||||
_080565C8:
|
||||
bl sub_8056578
|
||||
cmp r4, 0
|
||||
beq _080565D4
|
||||
bl SetFieldVBlankCallback
|
||||
_080565D4:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080565DC: .4byte gPaletteFade
|
||||
thumb_func_end sub_80565B4
|
||||
|
||||
thumb_func_start SetMainCallback1
|
||||
SetMainCallback1: @ 80565E0
|
||||
ldr r1, _080565E8 @ =gMain
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080565E8: .4byte gMain
|
||||
thumb_func_end SetMainCallback1
|
||||
|
||||
thumb_func_start map_post_load_hook_exec
|
||||
map_post_load_hook_exec: @ 80565EC
|
||||
push {r4,lr}
|
||||
ldr r4, _08056604 @ =gFieldCallback2
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _08056618
|
||||
bl _call_via_r0
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08056608
|
||||
movs r0, 0
|
||||
b _08056638
|
||||
.align 2, 0
|
||||
_08056604: .4byte gFieldCallback2
|
||||
_08056608:
|
||||
movs r1, 0
|
||||
str r1, [r4]
|
||||
ldr r0, _08056614 @ =gFieldCallback
|
||||
str r1, [r0]
|
||||
b _08056636
|
||||
.align 2, 0
|
||||
_08056614: .4byte gFieldCallback
|
||||
_08056618:
|
||||
ldr r0, _08056628 @ =gFieldCallback
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _0805662C
|
||||
bl _call_via_r0
|
||||
b _08056630
|
||||
.align 2, 0
|
||||
_08056628: .4byte gFieldCallback
|
||||
_0805662C:
|
||||
bl FieldCB_UnionRoomWarp
|
||||
_08056630:
|
||||
ldr r1, _08056640 @ =gFieldCallback
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
_08056636:
|
||||
movs r0, 0x1
|
||||
_08056638:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08056640: .4byte gFieldCallback
|
||||
thumb_func_end map_post_load_hook_exec
|
||||
|
||||
thumb_func_start CB2_NewGame
|
||||
CB2_NewGame: @ 8056644
|
||||
push {lr}
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl StopMapMusic
|
||||
bl ResetSafariZoneFlag_
|
||||
bl NewGameInitData
|
||||
bl ResetInitialPlayerAvatarState
|
||||
bl PlayTimeCounter_Start
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
ldr r1, _0805668C @ =gFieldCallback
|
||||
ldr r0, _08056690 @ =sub_807DF7C
|
||||
str r0, [r1]
|
||||
ldr r1, _08056694 @ =gFieldCallback2
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
ldr r0, _08056698 @ =gMain + 0x438
|
||||
bl do_load_map_stuff_loop
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _0805669C @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
ldr r0, _080566A0 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805668C: .4byte gFieldCallback
|
||||
_08056690: .4byte sub_807DF7C
|
||||
_08056694: .4byte gFieldCallback2
|
||||
_08056698: .4byte gMain + 0x438
|
||||
_0805669C: .4byte CB1_Overworld
|
||||
_080566A0: .4byte sub_80565B4
|
||||
thumb_func_end CB2_NewGame
|
||||
|
||||
thumb_func_start CB2_WhiteOut
|
||||
CB2_WhiteOut: @ 80566A4
|
||||
push {lr}
|
||||
sub sp, 0x4
|
||||
ldr r1, _08056708 @ =gMain
|
||||
movs r0, 0x87
|
||||
lsls r0, 3
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
adds r0, 0x1
|
||||
strb r0, [r1]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x77
|
||||
bls _08056702
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl StopMapMusic
|
||||
bl ResetSafariZoneFlag_
|
||||
bl sub_8054BC8
|
||||
movs r0, 0x2
|
||||
bl sub_80559F8
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
ldr r1, _0805670C @ =gFieldCallback
|
||||
ldr r0, _08056710 @ =sub_807F5F0
|
||||
str r0, [r1]
|
||||
mov r1, sp
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
mov r0, sp
|
||||
bl do_load_map_stuff_loop
|
||||
bl sub_8112364
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _08056714 @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
ldr r0, _08056718 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
_08056702:
|
||||
add sp, 0x4
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056708: .4byte gMain
|
||||
_0805670C: .4byte gFieldCallback
|
||||
_08056710: .4byte sub_807F5F0
|
||||
_08056714: .4byte CB1_Overworld
|
||||
_08056718: .4byte sub_80565B4
|
||||
thumb_func_end CB2_WhiteOut
|
||||
|
||||
thumb_func_start CB2_LoadMap
|
||||
CB2_LoadMap: @ 805671C
|
||||
push {lr}
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
movs r0, 0
|
||||
bl SetMainCallback1
|
||||
ldr r0, _08056740 @ =CB2_DoChangeMap
|
||||
bl SetMainCallback2
|
||||
ldr r1, _08056744 @ =gMain
|
||||
ldr r0, _08056748 @ =sub_805674C
|
||||
str r0, [r1, 0x8]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056740: .4byte CB2_DoChangeMap
|
||||
_08056744: .4byte gMain
|
||||
_08056748: .4byte sub_805674C
|
||||
thumb_func_end CB2_LoadMap
|
||||
|
||||
thumb_func_start sub_805674C
|
||||
sub_805674C: @ 805674C
|
||||
push {lr}
|
||||
ldr r0, _08056768 @ =gMain + 0x438
|
||||
bl do_load_map_stuff_loop
|
||||
bl sub_8113748
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0805676C
|
||||
bl sub_81119C8
|
||||
b _0805677C
|
||||
.align 2, 0
|
||||
_08056768: .4byte gMain + 0x438
|
||||
_0805676C:
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _08056780 @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
ldr r0, _08056784 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
_0805677C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056780: .4byte CB1_Overworld
|
||||
_08056784: .4byte sub_80565B4
|
||||
thumb_func_end sub_805674C
|
||||
|
||||
thumb_func_start CB2_ReturnToFieldCableClub
|
||||
CB2_ReturnToFieldCableClub: @ 8056788
|
||||
push {lr}
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r0, _080567A0 @ =gFieldCallback
|
||||
ldr r1, _080567A4 @ =FieldCB_ReturnToFieldWirelessLink
|
||||
str r1, [r0]
|
||||
ldr r0, _080567A8 @ =c2_80567AC
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080567A0: .4byte gFieldCallback
|
||||
_080567A4: .4byte FieldCB_ReturnToFieldWirelessLink
|
||||
_080567A8: .4byte c2_80567AC
|
||||
thumb_func_end CB2_ReturnToFieldCableClub
|
||||
|
||||
thumb_func_start c2_80567AC
|
||||
c2_80567AC: @ 80567AC
|
||||
push {lr}
|
||||
ldr r0, _080567D0 @ =gMain + 0x438
|
||||
bl map_loading_iteration_3
|
||||
cmp r0, 0
|
||||
beq _080567CC
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _080567D4 @ =CB1_UpdateLinkState
|
||||
bl SetMainCallback1
|
||||
bl sub_80578D8
|
||||
ldr r0, _080567D8 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
_080567CC:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080567D0: .4byte gMain + 0x438
|
||||
_080567D4: .4byte CB1_UpdateLinkState
|
||||
_080567D8: .4byte sub_80565B4
|
||||
thumb_func_end c2_80567AC
|
||||
|
||||
thumb_func_start CB2_ReturnToField
|
||||
CB2_ReturnToField: @ 80567DC
|
||||
push {lr}
|
||||
bl IsUpdateLinkStateCBActive
|
||||
cmp r0, 0x1
|
||||
bne _080567F4
|
||||
ldr r0, _080567F0 @ =c2_exit_to_overworld_2_link
|
||||
bl SetMainCallback2
|
||||
b _080567FE
|
||||
.align 2, 0
|
||||
_080567F0: .4byte c2_exit_to_overworld_2_link
|
||||
_080567F4:
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r0, _08056804 @ =c2_exit_to_overworld_2_local
|
||||
bl SetMainCallback2
|
||||
_080567FE:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056804: .4byte c2_exit_to_overworld_2_local
|
||||
thumb_func_end CB2_ReturnToField
|
||||
|
||||
thumb_func_start c2_exit_to_overworld_2_local
|
||||
c2_exit_to_overworld_2_local: @ 8056808
|
||||
push {lr}
|
||||
ldr r0, _08056824 @ =gMain + 0x438
|
||||
bl sub_8056CD8
|
||||
cmp r0, 0
|
||||
beq _0805681E
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _08056828 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
_0805681E:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056824: .4byte gMain + 0x438
|
||||
_08056828: .4byte sub_80565B4
|
||||
thumb_func_end c2_exit_to_overworld_2_local
|
||||
|
||||
thumb_func_start c2_exit_to_overworld_2_link
|
||||
c2_exit_to_overworld_2_link: @ 805682C
|
||||
push {lr}
|
||||
bl sub_8058244
|
||||
cmp r0, 0
|
||||
bne _08056846
|
||||
ldr r0, _0805684C @ =gMain + 0x438
|
||||
bl map_loading_iteration_2_link
|
||||
cmp r0, 0
|
||||
beq _08056846
|
||||
ldr r0, _08056850 @ =sub_80565B4
|
||||
bl SetMainCallback2
|
||||
_08056846:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0805684C: .4byte gMain + 0x438
|
||||
_08056850: .4byte sub_80565B4
|
||||
thumb_func_end c2_exit_to_overworld_2_link
|
||||
|
||||
thumb_func_start c2_8056854
|
||||
c2_8056854: @ 8056854
|
||||
push {lr}
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
bl StopMapMusic
|
||||
ldr r0, _08056878 @ =CB1_UpdateLinkState
|
||||
bl SetMainCallback1
|
||||
bl sub_80578D8
|
||||
ldr r0, _0805687C @ =gWirelessCommType
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08056888
|
||||
ldr r1, _08056880 @ =gFieldCallback
|
||||
ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink
|
||||
b _0805688C
|
||||
.align 2, 0
|
||||
_08056878: .4byte CB1_UpdateLinkState
|
||||
_0805687C: .4byte gWirelessCommType
|
||||
_08056880: .4byte gFieldCallback
|
||||
_08056884: .4byte FieldCB_ReturnToFieldWirelessLink
|
||||
_08056888:
|
||||
ldr r1, _080568A0 @ =gFieldCallback
|
||||
ldr r0, _080568A4 @ =FieldCB_ReturnToFieldWiredLink
|
||||
_0805688C:
|
||||
str r0, [r1]
|
||||
bl ScriptContext1_Init
|
||||
bl ScriptContext2_Disable
|
||||
bl CB2_ReturnToField
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080568A0: .4byte gFieldCallback
|
||||
_080568A4: .4byte FieldCB_ReturnToFieldWiredLink
|
||||
thumb_func_end c2_8056854
|
||||
|
||||
thumb_func_start CB2_ReturnToFieldWithOpenMenu
|
||||
CB2_ReturnToFieldWithOpenMenu: @ 80568A8
|
||||
push {lr}
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r1, _080568BC @ =gFieldCallback2
|
||||
ldr r0, _080568C0 @ =FieldCB2_ReturnToStartMenuInit
|
||||
str r0, [r1]
|
||||
bl CB2_ReturnToField
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080568BC: .4byte gFieldCallback2
|
||||
_080568C0: .4byte FieldCB2_ReturnToStartMenuInit
|
||||
thumb_func_end CB2_ReturnToFieldWithOpenMenu
|
||||
|
||||
thumb_func_start sub_80568C4
|
||||
sub_80568C4: @ 80568C4
|
||||
push {lr}
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r1, _080568D8 @ =gFieldCallback
|
||||
ldr r0, _080568DC @ =sub_807DD44
|
||||
str r0, [r1]
|
||||
bl CB2_ReturnToField
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080568D8: .4byte gFieldCallback
|
||||
_080568DC: .4byte sub_807DD44
|
||||
thumb_func_end sub_80568C4
|
||||
|
||||
thumb_func_start CB2_ReturnToFieldContinueScriptPlayMapMusic
|
||||
CB2_ReturnToFieldContinueScriptPlayMapMusic: @ 80568E0
|
||||
push {lr}
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r1, _080568F4 @ =gFieldCallback
|
||||
ldr r0, _080568F8 @ =FieldCallback_ReturnToEventScript2
|
||||
str r0, [r1]
|
||||
bl CB2_ReturnToField
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080568F4: .4byte gFieldCallback
|
||||
_080568F8: .4byte FieldCallback_ReturnToEventScript2
|
||||
thumb_func_end CB2_ReturnToFieldContinueScriptPlayMapMusic
|
||||
|
||||
thumb_func_start CB2_Overworld
|
||||
CB2_Overworld: @ 80568FC
|
||||
push {lr}
|
||||
bl FieldClearVBlankHBlankCallbacks
|
||||
ldr r1, _08056910 @ =gFieldCallback
|
||||
ldr r0, _08056914 @ =sub_807DF7C
|
||||
str r0, [r1]
|
||||
bl CB2_ReturnToField
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056910: .4byte gFieldCallback
|
||||
_08056914: .4byte sub_807DF7C
|
||||
thumb_func_end CB2_Overworld
|
||||
|
||||
thumb_func_start sub_8056918
|
||||
sub_8056918: @ 8056918
|
||||
push {lr}
|
||||
ldr r0, _08056934 @ =gMapHeader
|
||||
ldrb r1, [r0, 0x19]
|
||||
movs r0, 0xFC
|
||||
ands r0, r1
|
||||
cmp r0, 0x4
|
||||
bne _0805692C
|
||||
movs r0, 0
|
||||
bl CreateMapNamePopupIfNotAlreadyRunning
|
||||
_0805692C:
|
||||
bl sub_807DF7C
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08056934: .4byte gMapHeader
|
||||
thumb_func_end sub_8056918
|
||||
|
||||
thumb_func_start CB2_ContinueSavedGame
|
||||
CB2_ContinueSavedGame: @ 8056938
|
||||
push {lr}
|
||||
@@ -928,7 +395,7 @@ _08056CA8:
|
||||
cmp r0, 0x4
|
||||
bne _08056CCA
|
||||
movs r0, 0
|
||||
bl CreateMapNamePopupIfNotAlreadyRunning
|
||||
bl ShowMapNamePopup
|
||||
b _08056CCA
|
||||
.align 2, 0
|
||||
_08056CBC: .4byte gMapHeader
|
||||
@@ -1670,14 +1137,14 @@ sub_80572D8: @ 80572D8
|
||||
bl SetFieldVBlankCallback
|
||||
ldr r0, _080572F8 @ =CB1_Overworld
|
||||
bl SetMainCallback1
|
||||
ldr r0, _080572FC @ =sub_80565B4
|
||||
ldr r0, _080572FC @ =CB2_Overworld
|
||||
bl SetMainCallback2
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080572F4: .4byte gMain + 0x438
|
||||
_080572F8: .4byte CB1_Overworld
|
||||
_080572FC: .4byte sub_80565B4
|
||||
_080572FC: .4byte CB2_Overworld
|
||||
thumb_func_end sub_80572D8
|
||||
|
||||
thumb_func_start sub_8057300
|
||||
@@ -2376,8 +1843,8 @@ _080578D0: .4byte gLinkPartnersHeldKeys
|
||||
_080578D4: .4byte gUnknown_3000E84
|
||||
thumb_func_end CB1_UpdateLinkState
|
||||
|
||||
thumb_func_start sub_80578D8
|
||||
sub_80578D8: @ 80578D8
|
||||
thumb_func_start ResetAllMultiplayerState
|
||||
ResetAllMultiplayerState: @ 80578D8
|
||||
push {lr}
|
||||
bl sub_805793C
|
||||
ldr r0, _080578E8 @ =sub_8057D5C
|
||||
@@ -2386,7 +1853,7 @@ sub_80578D8: @ 80578D8
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080578E8: .4byte sub_8057D5C
|
||||
thumb_func_end sub_80578D8
|
||||
thumb_func_end ResetAllMultiplayerState
|
||||
|
||||
thumb_func_start sub_80578EC
|
||||
sub_80578EC: @ 80578EC
|
||||
|
||||
@@ -32,5 +32,6 @@ void UpdateCameraPanning(void);
|
||||
void InstallCameraPanAheadCallback(void);
|
||||
void DrawDoorMetatileAt(int x, int y, const u16 *data);
|
||||
void move_tilemap_camera_to_upper_left_corner(void);
|
||||
void CameraUpdate(void);
|
||||
|
||||
#endif //GUARD_FIELD_CAMERA_H
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
void sub_807DF7C(void);
|
||||
void FieldCB_RushInjuredPokemonToCenter(void);
|
||||
void DoWarp(void);
|
||||
void DoDiveWarp(void);
|
||||
void DoDoorWarp(void);
|
||||
@@ -11,9 +11,9 @@ void DoDoorWarp(void);
|
||||
void DoFallWarp(void);
|
||||
void DoTeleportWarp(void);
|
||||
void sub_807E500(void);
|
||||
void FieldCB_UnionRoomWarp(void);
|
||||
void FieldCB_DefaultWarpExit(void);
|
||||
void WarpFadeOutScreen(void);
|
||||
void FieldCallback_ReturnToEventScript2(void);
|
||||
void FieldCB_ContinueScriptHandleMusic(void);
|
||||
void FadeInFromBlack(void);
|
||||
void FadeTransition_FadeInOnReturnToStartMenu(void);
|
||||
void WarpFadeInScreen(void);
|
||||
@@ -28,5 +28,11 @@ void DoLavaridgeGymB1FWarp(void);
|
||||
void DoLavaridgeGym1FWarp(void);
|
||||
void DoTeleportWarp(void);
|
||||
void DoUnionRoomWarp(void);
|
||||
void FieldCB_ReturnToFieldWirelessLink(void);
|
||||
void FieldCB_ReturnToFieldCableLink(void);
|
||||
bool8 FieldCB_ReturnToFieldOpenStartMenu(void);
|
||||
void FieldCB_ContinueScript(void);
|
||||
void FieldCB_ContinueScriptHandleMusic(void);
|
||||
void FieldCB_WarpExitFadeFromBlack(void);
|
||||
|
||||
#endif // GUARD_FIELD_FADETRANSITION_H
|
||||
|
||||
@@ -9,7 +9,7 @@ void sub_80B0244(void);
|
||||
void sub_807E3EC(void);
|
||||
void DoOutwardBarnDoorWipe(void);
|
||||
void Task_BarnDoorWipe(u8 taskId);
|
||||
void sub_807F5F0(void);
|
||||
void FieldCB_RushInjuredPokemonToCenter(void);
|
||||
|
||||
extern const s32 gMaxFlashLevel;
|
||||
|
||||
|
||||
@@ -205,10 +205,10 @@ struct MapHeader
|
||||
#define MAP_ALLOW_BIKE (1 << 0)
|
||||
#define MAP_ALLOW_ESCAPE_ROPE (1 << 1)
|
||||
#define MAP_ALLOW_RUN (1 << 2)
|
||||
#define MAP_SHOW_MAP_NAME (1 << 3)
|
||||
#define UNUSED_MAP_FLAGS (1 << 4 | 1 << 5 | 1 << 6 | 1 << 7)
|
||||
#define MAP_SHOW_MAP_NAME (1 << 2)
|
||||
#define UNUSED_MAP_FLAGS (1 << 3 | 1 << 4 | 1 << 5 | 1 << 6 | 1 << 7)
|
||||
|
||||
#define SHOW_MAP_NAME_ENABLED ((gMapHeader.flags & (MAP_SHOW_MAP_NAME | UNUSED_MAP_FLAGS)) == MAP_SHOW_MAP_NAME)
|
||||
#define SHOW_MAP_NAME_ENABLED ((gMapHeader.escapeRope & (MAP_SHOW_MAP_NAME | UNUSED_MAP_FLAGS)) == MAP_SHOW_MAP_NAME)
|
||||
|
||||
struct ObjectEvent
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
void CreateMapNamePopupIfNotAlreadyRunning(bool32 palIntoFadedBuffer);
|
||||
void ShowMapNamePopup(bool32 palIntoFadedBuffer);
|
||||
void DismissMapNamePopup(void);
|
||||
|
||||
#endif //GUARD_MAP_NAME_POPUP_H
|
||||
|
||||
+3
-11
@@ -78,10 +78,6 @@ void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void Overworld_SetHealLocationWarp(u8);
|
||||
void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084E2C(s8, s8, s8, s8, s8);
|
||||
void sub_8084E80(s8, s8, s8, s8, s8);
|
||||
void sub_8084EBC(s16, s16);
|
||||
void SetWarpDestinationToEscapeWarp(void);
|
||||
void SetWarpDestinationToLastHealLocation(void);
|
||||
u8 IsMapTypeOutdoors(u8 mapType);
|
||||
@@ -102,14 +98,10 @@ bool32 IsUpdateLinkStateCBActive(void);
|
||||
void ClearLinkPlayerObjectEvents(void);
|
||||
const struct MapHeader *const Overworld_GetMapHeaderByGroupAndId(u16, u16);
|
||||
void ObjectEventMoveDestCoords(struct ObjectEvent *, u32, s16 *, s16 *);
|
||||
void sub_8086230(void);
|
||||
void CB2_ReturnToField(void);
|
||||
bool32 sub_8087598(void);
|
||||
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
|
||||
void WarpIntoMap(void);
|
||||
u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
|
||||
void sub_8086194(void);
|
||||
void sub_8084CCC(u8 spawn);
|
||||
void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpNum);
|
||||
void c2_load_new_map(void);
|
||||
void SetWarpDestinationToDynamicWarp(u8 unused);
|
||||
@@ -142,7 +134,7 @@ extern bool8 (* gFieldCallback2)(void);
|
||||
|
||||
void SetLastHealLocationWarp(u8 healLocaionId);
|
||||
void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum);
|
||||
void CB2_Overworld(void);
|
||||
void sub_80568FC(void);
|
||||
void CB2_OverworldBasic(void);
|
||||
void CB2_NewGame(void);
|
||||
bool8 IsMapTypeOutdoors(u8 mapType);
|
||||
@@ -171,7 +163,7 @@ bool32 sub_8058318(void);
|
||||
|
||||
void CB2_ReturnToFieldWithOpenMenu(void);
|
||||
void CB2_WhiteOut(void);
|
||||
void c2_8056854(void);
|
||||
void CB2_ReturnToFieldFromMultiplayer(void);
|
||||
void ApplyNewEncryptionKeyToGameStats(u32 newKey);
|
||||
void SetContinueGameWarpToDynamicWarp(int);
|
||||
|
||||
@@ -192,7 +184,7 @@ void sub_8057F70(void);
|
||||
void sub_8057F48(void);
|
||||
void SetMainCallback1(MainCallback cb);
|
||||
void CB1_Overworld(void);
|
||||
void sub_80568C4(void);
|
||||
void CB2_ReturnToFieldContinueScript(void);
|
||||
u8 GetLastUsedWarpMapSectionId(void);
|
||||
void StoreInitialPlayerAvatarState(void);
|
||||
void UpdateEscapeWarp(s16 x, s16 y);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
extern u8 gQuestLogState;
|
||||
extern u8 gUnknown_3005E88;
|
||||
extern const u16 gUnknown_84566A8[];
|
||||
extern struct FieldInput gUnknown_3005E90;
|
||||
|
||||
void sub_8112720(u8);
|
||||
void SetQuestLogEvent(u16, const u16 *);
|
||||
@@ -51,5 +52,10 @@ void sub_8111708(void);
|
||||
void sub_81127F8(struct FieldInput * a0);
|
||||
void sub_8112B3C(void);
|
||||
void RunQuestLogCB(void);
|
||||
void sub_8111C68(void);
|
||||
bool8 sub_8111CD0(void);
|
||||
void sub_8115798(void);
|
||||
bool8 sub_8113748(void);
|
||||
void sub_81119C8(void);
|
||||
|
||||
#endif //GUARD_QUEST_LOG_H
|
||||
|
||||
+2
-2
@@ -1037,8 +1037,8 @@ extern const u8 gText_RegionMap_AreaDesc_PatternBush[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_DottedHole[];
|
||||
|
||||
// field_screen_effect
|
||||
extern const u8 gUnknown_841B554[];
|
||||
extern const u8 gUnknown_841B5B6[];
|
||||
extern const u8 gText_PlayerScurriedToCenter[];
|
||||
extern const u8 gText_PlayerScurriedBackHome[];
|
||||
|
||||
// save_failed_screen
|
||||
extern const u8 gText_SaveFailedScreen_CheckingBackupMemory[];
|
||||
|
||||
+1
-1
@@ -750,7 +750,7 @@ void CB2_ReturnFromCableClubBattle(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
gMain.savedCallback = c2_8056854;
|
||||
gMain.savedCallback = CB2_ReturnToFieldFromMultiplayer;
|
||||
}
|
||||
SetMainCallback2(CB2_SetUpSaveAfterLinkBattle);
|
||||
}
|
||||
|
||||
+1
-1
@@ -1766,7 +1766,7 @@ static void Task_EggHatch(u8 taskID)
|
||||
{
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
SetMainCallback2(CB2_EggHatch_0);
|
||||
gFieldCallback = FieldCallback_ReturnToEventScript2;
|
||||
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
|
||||
DestroyTask(taskID);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -193,7 +193,7 @@ static void Task_DiplomaReturnToOverworld(u8 taskId)
|
||||
DestroyTask(taskId);
|
||||
FreeAllWindowBuffers();
|
||||
FREE_AND_SET_NULL(gDiploma);
|
||||
SetMainCallback2(CB2_Overworld);
|
||||
SetMainCallback2(sub_80568FC);
|
||||
}
|
||||
|
||||
static void DiplomaBgInit(void)
|
||||
|
||||
+1
-1
@@ -279,7 +279,7 @@ void ShowEasyChatScreen(void)
|
||||
default:
|
||||
return;
|
||||
}
|
||||
DoEasyChatScreen(gSpecialVar_0x8004, words, sub_80568C4);
|
||||
DoEasyChatScreen(gSpecialVar_0x8004, words, CB2_ReturnToFieldContinueScript);
|
||||
}
|
||||
|
||||
static const u16 sECPhrase_MysteryEventIsExciting[] = {
|
||||
|
||||
+11
-11
@@ -152,7 +152,7 @@ static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void FieldCallback_ReturnToEventScript2(void)
|
||||
void FieldCB_ContinueScriptHandleMusic(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
Overworld_PlaySpecialMapMusic();
|
||||
@@ -160,7 +160,7 @@ void FieldCallback_ReturnToEventScript2(void)
|
||||
CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
|
||||
}
|
||||
|
||||
void sub_807DD44(void)
|
||||
void FieldCB_ContinueScript(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
FadeInFromBlack();
|
||||
@@ -193,7 +193,7 @@ static void task_mpl_807DD60(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void FieldCB_ReturnToFieldWiredLink(void)
|
||||
void FieldCB_ReturnToFieldCableLink(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
Overworld_PlaySpecialMapMusic();
|
||||
@@ -284,7 +284,7 @@ static void sub_807DF4C(bool8 a0)
|
||||
FadeInFromBlack();
|
||||
}
|
||||
|
||||
void FieldCB_UnionRoomWarp(void)
|
||||
void FieldCB_DefaultWarpExit(void)
|
||||
{
|
||||
Overworld_PlaySpecialMapMusic();
|
||||
sub_8111CF0();
|
||||
@@ -292,7 +292,7 @@ void FieldCB_UnionRoomWarp(void)
|
||||
ScriptContext2_Enable();
|
||||
}
|
||||
|
||||
void sub_807DF7C(void)
|
||||
void FieldCB_WarpExitFadeFromBlack(void)
|
||||
{
|
||||
Overworld_PlaySpecialMapMusic();
|
||||
sub_8111CF0();
|
||||
@@ -491,7 +491,7 @@ void FadeTransition_FadeInOnReturnToStartMenu(void)
|
||||
ScriptContext2_Enable();
|
||||
}
|
||||
|
||||
bool8 FieldCB2_ReturnToStartMenuInit(void)
|
||||
bool8 FieldCB_ReturnToFieldOpenStartMenu(void)
|
||||
{
|
||||
SetUpReturnToStartMenu();
|
||||
return FALSE;
|
||||
@@ -535,7 +535,7 @@ void DoWarp(void)
|
||||
WarpFadeOutScreen();
|
||||
PlayRainStoppingSoundEffect();
|
||||
PlaySE(SE_KAIDAN);
|
||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
||||
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||
CreateTask(sub_807E718, 10);
|
||||
}
|
||||
|
||||
@@ -545,7 +545,7 @@ void DoDiveWarp(void)
|
||||
TryFadeOutOldMapMusic();
|
||||
WarpFadeOutScreen();
|
||||
PlayRainStoppingSoundEffect();
|
||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
||||
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||
CreateTask(sub_807E718, 10);
|
||||
}
|
||||
|
||||
@@ -560,7 +560,7 @@ void sub_807E4A0(u16 metatileBehavior, u16 delay)
|
||||
void DoDoorWarp(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
||||
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||
CreateTask(sub_807E80C, 10);
|
||||
}
|
||||
|
||||
@@ -574,7 +574,7 @@ void sub_807E500(void)
|
||||
void DoUnionRoomWarp(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
||||
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||
CreateTask(Task_TeleportWarp, 10);
|
||||
}
|
||||
|
||||
@@ -833,7 +833,7 @@ static void sub_807E980(u8 taskId)
|
||||
data[0]++;
|
||||
break;
|
||||
default:
|
||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
||||
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||
WarpIntoMap();
|
||||
SetMainCallback2(CB2_LoadMap);
|
||||
DestroyTask(taskId);
|
||||
|
||||
@@ -360,7 +360,7 @@ static void Task_BarnDoorWipeChild(u8 taskId)
|
||||
#undef DIR_WIPE_OUT
|
||||
#undef tChildOffset
|
||||
|
||||
static bool8 sub_807F3A4(u8 taskId, const u8 *text, u8 x, u8 y)
|
||||
static bool8 PrintWhiteOutRecoveryMessage(u8 taskId, const u8 *text, u8 x, u8 y)
|
||||
{
|
||||
u8 windowId = gTasks[taskId].data[1];
|
||||
|
||||
@@ -385,7 +385,7 @@ static bool8 sub_807F3A4(u8 taskId, const u8 *text, u8 x, u8 y)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void sub_807F45C(u8 taskId)
|
||||
static void Task_RushInjuredPokemonToCenter(u8 taskId)
|
||||
{
|
||||
u8 windowId;
|
||||
const struct HealLocation *loc;
|
||||
@@ -410,14 +410,14 @@ static void sub_807F45C(u8 taskId)
|
||||
gTasks[taskId].data[0] = 1;
|
||||
break;
|
||||
case 1:
|
||||
if (sub_807F3A4(taskId, gUnknown_841B554, 2, 8))
|
||||
if (PrintWhiteOutRecoveryMessage(taskId, gText_PlayerScurriedToCenter, 2, 8))
|
||||
{
|
||||
ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], 2);
|
||||
++gTasks[taskId].data[0];
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (sub_807F3A4(taskId, gUnknown_841B5B6, 2, 8))
|
||||
if (PrintWhiteOutRecoveryMessage(taskId, gText_PlayerScurriedBackHome, 2, 8))
|
||||
{
|
||||
ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], 2);
|
||||
++gTasks[taskId].data[0];
|
||||
@@ -450,12 +450,12 @@ static void sub_807F45C(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_807F5F0(void)
|
||||
void FieldCB_RushInjuredPokemonToCenter(void)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
ScriptContext2_Enable();
|
||||
palette_bg_faded_fill_black();
|
||||
taskId = CreateTask(sub_807F45C, 10);
|
||||
taskId = CreateTask(Task_RushInjuredPokemonToCenter, 10);
|
||||
gTasks[taskId].data[0] = 0;
|
||||
}
|
||||
|
||||
+1
-1
@@ -286,7 +286,7 @@ static void Task_InitMoveRelearnerMenu(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
SetMainCallback2(CB2_MoveRelearner_Init);
|
||||
gFieldCallback = FieldCallback_ReturnToEventScript2;
|
||||
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ static u16 MapNamePopupCreateWindow(bool32 palIntoFadedBuffer);
|
||||
static void MapNamePopupPrintMapNameOnWindow(u16 windowId);
|
||||
static u8 *MapNamePopupAppendFloorNum(u8 *dest, s8 flags);
|
||||
|
||||
void CreateMapNamePopupIfNotAlreadyRunning(bool32 palIntoFadedBuffer)
|
||||
void ShowMapNamePopup(bool32 palIntoFadedBuffer)
|
||||
{
|
||||
u8 taskId;
|
||||
if (FlagGet(FLAG_SPECIAL_FLAG_0x4000) != TRUE && !(gQuestLogState == 2 || gQuestLogState == 3))
|
||||
|
||||
+1
-1
@@ -509,7 +509,7 @@ static void BufferOptionMenuString(u8 selection)
|
||||
|
||||
static void CloseAndSaveOptionMenu(u8 taskId)
|
||||
{
|
||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
||||
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||
SetMainCallback2(gMain.savedCallback);
|
||||
FreeAllWindowBuffers();
|
||||
gSaveBlock2Ptr->optionsTextSpeed = sOptionMenuPtr->option[MENUITEM_TEXTSPEED];
|
||||
|
||||
+287
-4
@@ -4,6 +4,7 @@
|
||||
#include "event_scripts.h"
|
||||
#include "field_camera.h"
|
||||
#include "field_control_avatar.h"
|
||||
#include "field_fadetransition.h"
|
||||
#include "field_message_box.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "field_screen_effect.h"
|
||||
@@ -11,13 +12,16 @@
|
||||
#include "field_weather.h"
|
||||
#include "fieldmap.h"
|
||||
#include "heal_location.h"
|
||||
#include "link.h"
|
||||
#include "load_save.h"
|
||||
#include "m4a.h"
|
||||
#include "map_name_popup.h"
|
||||
#include "metatile_behavior.h"
|
||||
#include "money.h"
|
||||
#include "new_game.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "overworld.h"
|
||||
#include "play_time.h"
|
||||
#include "quest_log.h"
|
||||
#include "random.h"
|
||||
#include "renewable_hidden_items.h"
|
||||
@@ -84,9 +88,22 @@ void SetDefaultFlashLevel(void);
|
||||
void Overworld_TryMapConnectionMusicTransition(void);
|
||||
void ChooseAmbientCrySpecies(void);
|
||||
|
||||
void CB2_Overworld(void);
|
||||
void CB2_DoChangeMap(void);
|
||||
void CB2_LoadMap2(void);
|
||||
void c2_80567AC(void);
|
||||
void CB2_ReturnToFieldLocal(void);
|
||||
void CB2_ReturnToFieldLink(void);
|
||||
void MoveSaveBlocks_ResetHeap_(void);
|
||||
void sub_8056E80(void);
|
||||
void CB1_UpdateLinkState(void);
|
||||
void SetFieldVBlankCallback(void);
|
||||
void FieldClearVBlankHBlankCallbacks(void);
|
||||
void ResetAllMultiplayerState(void);
|
||||
void do_load_map_stuff_loop(u8 *state);
|
||||
bool32 sub_8056CD8(u8 *state);
|
||||
bool32 map_loading_iteration_3(u8 *state);
|
||||
bool32 map_loading_iteration_2_link(u8 *state);
|
||||
|
||||
extern const struct MapLayout * gMapLayouts[];
|
||||
extern const struct MapHeader *const *gMapGroups[];
|
||||
@@ -116,7 +133,7 @@ const u16 sWhiteOutMoneyLossBadgeFlagIDs[] = {
|
||||
FLAG_BADGE08_GET
|
||||
};
|
||||
|
||||
void sub_8054BC8(void)
|
||||
void DoWhiteOut(void)
|
||||
{
|
||||
ScriptContext2_RunNewScript(EventScript_ResetEliteFourEnd);
|
||||
RemoveMoney(&gSaveBlock1Ptr->money, ComputeWhiteOutMoneyLoss());
|
||||
@@ -654,7 +671,7 @@ void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum)
|
||||
ResetFieldTasksArgs();
|
||||
mapheader_run_script_with_tag_x5();
|
||||
if (GetLastUsedWarpMapSectionId() != gMapHeader.regionMapSectionId)
|
||||
CreateMapNamePopupIfNotAlreadyRunning(TRUE);
|
||||
ShowMapNamePopup(TRUE);
|
||||
}
|
||||
|
||||
void mli0_load_map(bool32 a1)
|
||||
@@ -710,7 +727,7 @@ void ResetInitialPlayerAvatarState(void)
|
||||
gInitialPlayerAvatarState.unk2 = FALSE;
|
||||
}
|
||||
|
||||
void sub_80559F8(u8 dirn)
|
||||
void SetInitialPlayerAvatarStateWithDirection(u8 dirn)
|
||||
{
|
||||
gInitialPlayerAvatarState.direction = dirn;
|
||||
gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_ON_FOOT;
|
||||
@@ -1264,7 +1281,7 @@ bool32 IsUpdateLinkStateCBActive(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_805644C(u16 newKeys, u16 heldKeys)
|
||||
void DoCB1_Overworld(u16 newKeys, u16 heldKeys)
|
||||
{
|
||||
struct FieldInput fieldInput;
|
||||
|
||||
@@ -1289,3 +1306,269 @@ void sub_805644C(u16 newKeys, u16 heldKeys)
|
||||
}
|
||||
RunQuestLogCB();
|
||||
}
|
||||
|
||||
void DoCB1_Overworld_QuestLogPlayback(void)
|
||||
{
|
||||
struct FieldInput fieldInput;
|
||||
|
||||
sub_8112B3C();
|
||||
sub_805BEB8();
|
||||
sub_8111C68();
|
||||
FieldClearPlayerInput(&fieldInput);
|
||||
fieldInput = gUnknown_3005E90;
|
||||
FieldInput_HandleCancelSignpost(&fieldInput);
|
||||
if (!ScriptContext2_IsEnabled())
|
||||
{
|
||||
if (ProcessPlayerFieldInput(&fieldInput) == TRUE)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
DismissMapNamePopup();
|
||||
}
|
||||
else
|
||||
{
|
||||
RunQuestLogCB();
|
||||
}
|
||||
}
|
||||
else if (sub_8111CD0() == TRUE)
|
||||
{
|
||||
RunQuestLogCB();
|
||||
}
|
||||
FieldClearPlayerInput(&gUnknown_3005E90);
|
||||
}
|
||||
|
||||
void CB1_Overworld(void)
|
||||
{
|
||||
if (gMain.callback2 == CB2_Overworld)
|
||||
{
|
||||
if (sub_8112CAC() == TRUE || gQuestLogState == QL_STATE_2)
|
||||
DoCB1_Overworld_QuestLogPlayback();
|
||||
else
|
||||
DoCB1_Overworld(gMain.newKeys, gMain.heldKeys);
|
||||
}
|
||||
}
|
||||
|
||||
void OverworldBasic(void)
|
||||
{
|
||||
ScriptContext2_RunScript();
|
||||
RunTasks();
|
||||
AnimateSprites();
|
||||
CameraUpdate();
|
||||
sub_8115798();
|
||||
UpdateCameraPanning();
|
||||
BuildOamBuffer();
|
||||
UpdatePaletteFade();
|
||||
UpdateTilesetAnimations();
|
||||
DoScheduledBgTilemapCopiesToVram();
|
||||
}
|
||||
|
||||
// This CB2 is used when starting
|
||||
void CB2_OverworldBasic(void)
|
||||
{
|
||||
OverworldBasic();
|
||||
}
|
||||
|
||||
void CB2_Overworld(void)
|
||||
{
|
||||
bool32 fading = !!gPaletteFade.active;
|
||||
if (fading)
|
||||
SetVBlankCallback(NULL);
|
||||
OverworldBasic();
|
||||
if (fading)
|
||||
SetFieldVBlankCallback();
|
||||
}
|
||||
|
||||
void SetMainCallback1(MainCallback cb)
|
||||
{
|
||||
gMain.callback1 = cb;
|
||||
}
|
||||
|
||||
bool8 map_post_load_hook_exec(void)
|
||||
{
|
||||
if (gFieldCallback2)
|
||||
{
|
||||
if (!gFieldCallback2())
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
gFieldCallback2 = NULL;
|
||||
gFieldCallback = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gFieldCallback)
|
||||
gFieldCallback();
|
||||
else
|
||||
FieldCB_DefaultWarpExit();
|
||||
|
||||
gFieldCallback = NULL;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CB2_NewGame(void)
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
StopMapMusic();
|
||||
ResetSafariZoneFlag_();
|
||||
NewGameInitData();
|
||||
ResetInitialPlayerAvatarState();
|
||||
PlayTimeCounter_Start();
|
||||
ScriptContext1_Init();
|
||||
ScriptContext2_Disable();
|
||||
gFieldCallback = FieldCB_WarpExitFadeFromBlack;
|
||||
gFieldCallback2 = NULL;
|
||||
do_load_map_stuff_loop(&gMain.state);
|
||||
SetFieldVBlankCallback();
|
||||
SetMainCallback1(CB1_Overworld);
|
||||
SetMainCallback2(CB2_Overworld);
|
||||
}
|
||||
|
||||
void CB2_WhiteOut(void)
|
||||
{
|
||||
u8 val;
|
||||
|
||||
if (++gMain.state >= 120)
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
StopMapMusic();
|
||||
ResetSafariZoneFlag_();
|
||||
DoWhiteOut();
|
||||
SetInitialPlayerAvatarStateWithDirection(DIR_NORTH);
|
||||
ScriptContext1_Init();
|
||||
ScriptContext2_Disable();
|
||||
gFieldCallback = FieldCB_RushInjuredPokemonToCenter;
|
||||
val = 0;
|
||||
do_load_map_stuff_loop(&val);
|
||||
sub_8112364();
|
||||
SetFieldVBlankCallback();
|
||||
SetMainCallback1(CB1_Overworld);
|
||||
SetMainCallback2(CB2_Overworld);
|
||||
}
|
||||
}
|
||||
|
||||
void CB2_LoadMap(void)
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
ScriptContext1_Init();
|
||||
ScriptContext2_Disable();
|
||||
SetMainCallback1(NULL);
|
||||
SetMainCallback2(CB2_DoChangeMap);
|
||||
gMain.savedCallback = CB2_LoadMap2;
|
||||
}
|
||||
|
||||
void CB2_LoadMap2(void)
|
||||
{
|
||||
do_load_map_stuff_loop(&gMain.state);
|
||||
if (sub_8113748() == TRUE)
|
||||
{
|
||||
sub_81119C8();
|
||||
}
|
||||
else
|
||||
{
|
||||
SetFieldVBlankCallback();
|
||||
SetMainCallback1(CB1_Overworld);
|
||||
SetMainCallback2(CB2_Overworld);
|
||||
}
|
||||
}
|
||||
|
||||
void CB2_ReturnToFieldCableClub(void)
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
gFieldCallback = FieldCB_ReturnToFieldWirelessLink;
|
||||
SetMainCallback2(c2_80567AC);
|
||||
}
|
||||
|
||||
void c2_80567AC(void)
|
||||
{
|
||||
if (map_loading_iteration_3(&gMain.state))
|
||||
{
|
||||
SetFieldVBlankCallback();
|
||||
SetMainCallback1(CB1_UpdateLinkState);
|
||||
ResetAllMultiplayerState();
|
||||
SetMainCallback2(CB2_Overworld);
|
||||
}
|
||||
}
|
||||
|
||||
void CB2_ReturnToField(void)
|
||||
{
|
||||
if (IsUpdateLinkStateCBActive() == TRUE)
|
||||
{
|
||||
SetMainCallback2(CB2_ReturnToFieldLink);
|
||||
}
|
||||
else
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
SetMainCallback2(CB2_ReturnToFieldLocal);
|
||||
}
|
||||
}
|
||||
|
||||
void CB2_ReturnToFieldLocal(void)
|
||||
{
|
||||
if (sub_8056CD8(&gMain.state))
|
||||
{
|
||||
SetFieldVBlankCallback();
|
||||
SetMainCallback2(CB2_Overworld);
|
||||
}
|
||||
}
|
||||
|
||||
void CB2_ReturnToFieldLink(void)
|
||||
{
|
||||
if (!sub_8058244() && map_loading_iteration_2_link(&gMain.state))
|
||||
SetMainCallback2(CB2_Overworld);
|
||||
}
|
||||
|
||||
void CB2_ReturnToFieldFromMultiplayer(void)
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
StopMapMusic();
|
||||
SetMainCallback1(CB1_UpdateLinkState);
|
||||
ResetAllMultiplayerState();
|
||||
|
||||
if (gWirelessCommType != 0)
|
||||
gFieldCallback = FieldCB_ReturnToFieldWirelessLink;
|
||||
else
|
||||
gFieldCallback = FieldCB_ReturnToFieldCableLink;
|
||||
|
||||
ScriptContext1_Init();
|
||||
ScriptContext2_Disable();
|
||||
CB2_ReturnToField();
|
||||
}
|
||||
|
||||
void CB2_ReturnToFieldWithOpenMenu(void)
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
gFieldCallback2 = FieldCB_ReturnToFieldOpenStartMenu;
|
||||
CB2_ReturnToField();
|
||||
}
|
||||
|
||||
void CB2_ReturnToFieldContinueScript(void)
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
gFieldCallback = FieldCB_ContinueScript;
|
||||
CB2_ReturnToField();
|
||||
}
|
||||
|
||||
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void)
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
|
||||
CB2_ReturnToField();
|
||||
}
|
||||
|
||||
void sub_80568FC(void)
|
||||
{
|
||||
FieldClearVBlankHBlankCallbacks();
|
||||
gFieldCallback = FieldCB_WarpExitFadeFromBlack;
|
||||
CB2_ReturnToField();
|
||||
}
|
||||
|
||||
void sub_8056918(void)
|
||||
{
|
||||
if (SHOW_MAP_NAME_ENABLED)
|
||||
ShowMapNamePopup(FALSE);
|
||||
FieldCB_WarpExitFadeFromBlack();
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ void SelectMoveDeleterMove(void)
|
||||
{
|
||||
ShowSelectMovePokemonSummaryScreen(gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField, 0);
|
||||
sub_8138B38(3);
|
||||
gFieldCallback = FieldCallback_ReturnToEventScript2;
|
||||
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
|
||||
}
|
||||
|
||||
void GetNumMovesSelectedMonHas(void)
|
||||
|
||||
+4
-4
@@ -600,7 +600,7 @@ bool8 sub_8111000(void)
|
||||
{
|
||||
LoadPalette(stdpal_get(4), 0xF0, 0x20);
|
||||
SetQuestLogState(QL_STATE_2);
|
||||
FieldCB_UnionRoomWarp();
|
||||
FieldCB_DefaultWarpExit();
|
||||
gUnknown_203AE94 = (struct UnkStruct_203AE94){};
|
||||
gUnknown_203AE94.unk_0_0 = 2;
|
||||
return 1;
|
||||
@@ -610,7 +610,7 @@ bool8 sub_8111038(void)
|
||||
{
|
||||
LoadPalette(stdpal_get(4), 0xF0, 0x20);
|
||||
SetQuestLogState(QL_STATE_2);
|
||||
sub_807DF7C();
|
||||
FieldCB_WarpExitFadeFromBlack();
|
||||
gUnknown_203AE94 = (struct UnkStruct_203AE94){};
|
||||
gUnknown_203AE94.unk_0_0 = 2;
|
||||
return 1;
|
||||
@@ -1217,7 +1217,7 @@ static bool8 sub_8111F60(void)
|
||||
{
|
||||
LoadPalette(stdpal_get(4), 0xF0, 0x20);
|
||||
DrawPreviouslyOnQuestHeader(0);
|
||||
sub_807DF7C();
|
||||
FieldCB_WarpExitFadeFromBlack();
|
||||
CreateTask(sub_8111F8C, 0xFF);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1313,7 +1313,7 @@ static void Task_EndQuestLog(u8 taskId)
|
||||
break;
|
||||
default:
|
||||
if (gUnknown_203AE94.unk_0_6 == 1)
|
||||
CreateMapNamePopupIfNotAlreadyRunning(1);
|
||||
ShowMapNamePopup(1);
|
||||
CpuCopy16(gUnknown_203AE90, gPlttBufferUnfaded, 0x400);
|
||||
Free(gUnknown_203AE90);
|
||||
gUnknown_203AE94 = (struct UnkStruct_203AE94){};
|
||||
|
||||
+1
-1
@@ -322,7 +322,7 @@ static void Task_Seagallop_3(void)
|
||||
SetWarpDestination(warpInfo[0], warpInfo[1], -1, warpInfo[2], warpInfo[3]);
|
||||
PlayRainStoppingSoundEffect();
|
||||
PlaySE(SE_KAIDAN);
|
||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
||||
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||
WarpIntoMap();
|
||||
SetMainCallback2(CB2_LoadMap);
|
||||
ResetInitialPlayerAvatarState();
|
||||
|
||||
+2
-2
@@ -958,8 +958,8 @@ const u8 gText_Sorry[] = _("SORRY");
|
||||
const u8 gText_YaySmileEmoji[] = _("YAY{EXTRA 0xF9}");
|
||||
const u8 gText_ThankYou[] = _("THANK YOU");
|
||||
const u8 gText_ByeBye[] = _("BYE-BYE!");
|
||||
const u8 gUnknown_841B554[] = _("{PLAYER} scurried to a POKéMON CENTER,\nprotecting the exhausted and fainted\nPOKéMON from further harm‥\p");
|
||||
const u8 gUnknown_841B5B6[] = _("{PLAYER} scurried back home, protecting\nthe exhausted and fainted POKéMON from\nfurther harm‥\p");
|
||||
const u8 gText_PlayerScurriedToCenter[] = _("{PLAYER} scurried to a POKéMON CENTER,\nprotecting the exhausted and fainted\nPOKéMON from further harm‥\p");
|
||||
const u8 gText_PlayerScurriedBackHome[] = _("{PLAYER} scurried back home, protecting\nthe exhausted and fainted POKéMON from\nfurther harm‥\p");
|
||||
const u8 gUnknown_841B60E[] = _("PLAYER: {DYNAMIC 0x00}");
|
||||
const u8 gUnknown_841B619[] = _("This document is issued in\nrecognition of your magnificent\nachievement - the completion of\nthe {DYNAMIC 0x01} POKéDEX.");
|
||||
const u8 gUnknown_841B684[] = _("GAME FREAK");
|
||||
|
||||
+2
-2
@@ -2022,7 +2022,7 @@ static void sub_804E944(void)
|
||||
Free(sTradeMenuResourcesPtr);
|
||||
FreeAllWindowBuffers();
|
||||
DestroyWirelessStatusIndicatorSprite();
|
||||
SetMainCallback2(c2_8056854);
|
||||
SetMainCallback2(CB2_ReturnToFieldFromMultiplayer);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -2032,7 +2032,7 @@ static void sub_804E944(void)
|
||||
Free(sSpriteTextTileBuffer);
|
||||
Free(sTradeMenuResourcesPtr);
|
||||
FreeAllWindowBuffers();
|
||||
SetMainCallback2(c2_8056854);
|
||||
SetMainCallback2(CB2_ReturnToFieldFromMultiplayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -2747,7 +2747,7 @@ static void Task_WaitFadeAndStartInGameTradeAnim(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
SetMainCallback2(CB2_InitTradeAnim_InGameTrade);
|
||||
gFieldCallback = FieldCallback_ReturnToEventScript2;
|
||||
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user