through sub_8056918
This commit is contained in:
+6
-539
@@ -5,539 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.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
|
thumb_func_start CB2_ContinueSavedGame
|
||||||
CB2_ContinueSavedGame: @ 8056938
|
CB2_ContinueSavedGame: @ 8056938
|
||||||
push {lr}
|
push {lr}
|
||||||
@@ -928,7 +395,7 @@ _08056CA8:
|
|||||||
cmp r0, 0x4
|
cmp r0, 0x4
|
||||||
bne _08056CCA
|
bne _08056CCA
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl CreateMapNamePopupIfNotAlreadyRunning
|
bl ShowMapNamePopup
|
||||||
b _08056CCA
|
b _08056CCA
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08056CBC: .4byte gMapHeader
|
_08056CBC: .4byte gMapHeader
|
||||||
@@ -1670,14 +1137,14 @@ sub_80572D8: @ 80572D8
|
|||||||
bl SetFieldVBlankCallback
|
bl SetFieldVBlankCallback
|
||||||
ldr r0, _080572F8 @ =CB1_Overworld
|
ldr r0, _080572F8 @ =CB1_Overworld
|
||||||
bl SetMainCallback1
|
bl SetMainCallback1
|
||||||
ldr r0, _080572FC @ =sub_80565B4
|
ldr r0, _080572FC @ =CB2_Overworld
|
||||||
bl SetMainCallback2
|
bl SetMainCallback2
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080572F4: .4byte gMain + 0x438
|
_080572F4: .4byte gMain + 0x438
|
||||||
_080572F8: .4byte CB1_Overworld
|
_080572F8: .4byte CB1_Overworld
|
||||||
_080572FC: .4byte sub_80565B4
|
_080572FC: .4byte CB2_Overworld
|
||||||
thumb_func_end sub_80572D8
|
thumb_func_end sub_80572D8
|
||||||
|
|
||||||
thumb_func_start sub_8057300
|
thumb_func_start sub_8057300
|
||||||
@@ -2376,8 +1843,8 @@ _080578D0: .4byte gLinkPartnersHeldKeys
|
|||||||
_080578D4: .4byte gUnknown_3000E84
|
_080578D4: .4byte gUnknown_3000E84
|
||||||
thumb_func_end CB1_UpdateLinkState
|
thumb_func_end CB1_UpdateLinkState
|
||||||
|
|
||||||
thumb_func_start sub_80578D8
|
thumb_func_start ResetAllMultiplayerState
|
||||||
sub_80578D8: @ 80578D8
|
ResetAllMultiplayerState: @ 80578D8
|
||||||
push {lr}
|
push {lr}
|
||||||
bl sub_805793C
|
bl sub_805793C
|
||||||
ldr r0, _080578E8 @ =sub_8057D5C
|
ldr r0, _080578E8 @ =sub_8057D5C
|
||||||
@@ -2386,7 +1853,7 @@ sub_80578D8: @ 80578D8
|
|||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080578E8: .4byte sub_8057D5C
|
_080578E8: .4byte sub_8057D5C
|
||||||
thumb_func_end sub_80578D8
|
thumb_func_end ResetAllMultiplayerState
|
||||||
|
|
||||||
thumb_func_start sub_80578EC
|
thumb_func_start sub_80578EC
|
||||||
sub_80578EC: @ 80578EC
|
sub_80578EC: @ 80578EC
|
||||||
|
|||||||
@@ -32,5 +32,6 @@ void UpdateCameraPanning(void);
|
|||||||
void InstallCameraPanAheadCallback(void);
|
void InstallCameraPanAheadCallback(void);
|
||||||
void DrawDoorMetatileAt(int x, int y, const u16 *data);
|
void DrawDoorMetatileAt(int x, int y, const u16 *data);
|
||||||
void move_tilemap_camera_to_upper_left_corner(void);
|
void move_tilemap_camera_to_upper_left_corner(void);
|
||||||
|
void CameraUpdate(void);
|
||||||
|
|
||||||
#endif //GUARD_FIELD_CAMERA_H
|
#endif //GUARD_FIELD_CAMERA_H
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
void sub_807DF7C(void);
|
void FieldCB_RushInjuredPokemonToCenter(void);
|
||||||
void DoWarp(void);
|
void DoWarp(void);
|
||||||
void DoDiveWarp(void);
|
void DoDiveWarp(void);
|
||||||
void DoDoorWarp(void);
|
void DoDoorWarp(void);
|
||||||
@@ -11,9 +11,9 @@ void DoDoorWarp(void);
|
|||||||
void DoFallWarp(void);
|
void DoFallWarp(void);
|
||||||
void DoTeleportWarp(void);
|
void DoTeleportWarp(void);
|
||||||
void sub_807E500(void);
|
void sub_807E500(void);
|
||||||
void FieldCB_UnionRoomWarp(void);
|
void FieldCB_DefaultWarpExit(void);
|
||||||
void WarpFadeOutScreen(void);
|
void WarpFadeOutScreen(void);
|
||||||
void FieldCallback_ReturnToEventScript2(void);
|
void FieldCB_ContinueScriptHandleMusic(void);
|
||||||
void FadeInFromBlack(void);
|
void FadeInFromBlack(void);
|
||||||
void FadeTransition_FadeInOnReturnToStartMenu(void);
|
void FadeTransition_FadeInOnReturnToStartMenu(void);
|
||||||
void WarpFadeInScreen(void);
|
void WarpFadeInScreen(void);
|
||||||
@@ -28,5 +28,11 @@ void DoLavaridgeGymB1FWarp(void);
|
|||||||
void DoLavaridgeGym1FWarp(void);
|
void DoLavaridgeGym1FWarp(void);
|
||||||
void DoTeleportWarp(void);
|
void DoTeleportWarp(void);
|
||||||
void DoUnionRoomWarp(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
|
#endif // GUARD_FIELD_FADETRANSITION_H
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ void sub_80B0244(void);
|
|||||||
void sub_807E3EC(void);
|
void sub_807E3EC(void);
|
||||||
void DoOutwardBarnDoorWipe(void);
|
void DoOutwardBarnDoorWipe(void);
|
||||||
void Task_BarnDoorWipe(u8 taskId);
|
void Task_BarnDoorWipe(u8 taskId);
|
||||||
void sub_807F5F0(void);
|
void FieldCB_RushInjuredPokemonToCenter(void);
|
||||||
|
|
||||||
extern const s32 gMaxFlashLevel;
|
extern const s32 gMaxFlashLevel;
|
||||||
|
|
||||||
|
|||||||
@@ -205,10 +205,10 @@ struct MapHeader
|
|||||||
#define MAP_ALLOW_BIKE (1 << 0)
|
#define MAP_ALLOW_BIKE (1 << 0)
|
||||||
#define MAP_ALLOW_ESCAPE_ROPE (1 << 1)
|
#define MAP_ALLOW_ESCAPE_ROPE (1 << 1)
|
||||||
#define MAP_ALLOW_RUN (1 << 2)
|
#define MAP_ALLOW_RUN (1 << 2)
|
||||||
#define MAP_SHOW_MAP_NAME (1 << 3)
|
#define MAP_SHOW_MAP_NAME (1 << 2)
|
||||||
#define UNUSED_MAP_FLAGS (1 << 4 | 1 << 5 | 1 << 6 | 1 << 7)
|
#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
|
struct ObjectEvent
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
void CreateMapNamePopupIfNotAlreadyRunning(bool32 palIntoFadedBuffer);
|
void ShowMapNamePopup(bool32 palIntoFadedBuffer);
|
||||||
void DismissMapNamePopup(void);
|
void DismissMapNamePopup(void);
|
||||||
|
|
||||||
#endif //GUARD_MAP_NAME_POPUP_H
|
#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 SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||||
void SetEscapeWarp(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 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 SetWarpDestinationToEscapeWarp(void);
|
||||||
void SetWarpDestinationToLastHealLocation(void);
|
void SetWarpDestinationToLastHealLocation(void);
|
||||||
u8 IsMapTypeOutdoors(u8 mapType);
|
u8 IsMapTypeOutdoors(u8 mapType);
|
||||||
@@ -102,14 +98,10 @@ bool32 IsUpdateLinkStateCBActive(void);
|
|||||||
void ClearLinkPlayerObjectEvents(void);
|
void ClearLinkPlayerObjectEvents(void);
|
||||||
const struct MapHeader *const Overworld_GetMapHeaderByGroupAndId(u16, u16);
|
const struct MapHeader *const Overworld_GetMapHeaderByGroupAndId(u16, u16);
|
||||||
void ObjectEventMoveDestCoords(struct ObjectEvent *, u32, s16 *, s16 *);
|
void ObjectEventMoveDestCoords(struct ObjectEvent *, u32, s16 *, s16 *);
|
||||||
void sub_8086230(void);
|
|
||||||
void CB2_ReturnToField(void);
|
void CB2_ReturnToField(void);
|
||||||
bool32 sub_8087598(void);
|
|
||||||
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
|
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
|
||||||
void WarpIntoMap(void);
|
void WarpIntoMap(void);
|
||||||
u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
|
u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
|
||||||
void sub_8086194(void);
|
|
||||||
void sub_8084CCC(u8 spawn);
|
|
||||||
void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpNum);
|
void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpNum);
|
||||||
void c2_load_new_map(void);
|
void c2_load_new_map(void);
|
||||||
void SetWarpDestinationToDynamicWarp(u8 unused);
|
void SetWarpDestinationToDynamicWarp(u8 unused);
|
||||||
@@ -142,7 +134,7 @@ extern bool8 (* gFieldCallback2)(void);
|
|||||||
|
|
||||||
void SetLastHealLocationWarp(u8 healLocaionId);
|
void SetLastHealLocationWarp(u8 healLocaionId);
|
||||||
void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum);
|
void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum);
|
||||||
void CB2_Overworld(void);
|
void sub_80568FC(void);
|
||||||
void CB2_OverworldBasic(void);
|
void CB2_OverworldBasic(void);
|
||||||
void CB2_NewGame(void);
|
void CB2_NewGame(void);
|
||||||
bool8 IsMapTypeOutdoors(u8 mapType);
|
bool8 IsMapTypeOutdoors(u8 mapType);
|
||||||
@@ -171,7 +163,7 @@ bool32 sub_8058318(void);
|
|||||||
|
|
||||||
void CB2_ReturnToFieldWithOpenMenu(void);
|
void CB2_ReturnToFieldWithOpenMenu(void);
|
||||||
void CB2_WhiteOut(void);
|
void CB2_WhiteOut(void);
|
||||||
void c2_8056854(void);
|
void CB2_ReturnToFieldFromMultiplayer(void);
|
||||||
void ApplyNewEncryptionKeyToGameStats(u32 newKey);
|
void ApplyNewEncryptionKeyToGameStats(u32 newKey);
|
||||||
void SetContinueGameWarpToDynamicWarp(int);
|
void SetContinueGameWarpToDynamicWarp(int);
|
||||||
|
|
||||||
@@ -192,7 +184,7 @@ void sub_8057F70(void);
|
|||||||
void sub_8057F48(void);
|
void sub_8057F48(void);
|
||||||
void SetMainCallback1(MainCallback cb);
|
void SetMainCallback1(MainCallback cb);
|
||||||
void CB1_Overworld(void);
|
void CB1_Overworld(void);
|
||||||
void sub_80568C4(void);
|
void CB2_ReturnToFieldContinueScript(void);
|
||||||
u8 GetLastUsedWarpMapSectionId(void);
|
u8 GetLastUsedWarpMapSectionId(void);
|
||||||
void StoreInitialPlayerAvatarState(void);
|
void StoreInitialPlayerAvatarState(void);
|
||||||
void UpdateEscapeWarp(s16 x, s16 y);
|
void UpdateEscapeWarp(s16 x, s16 y);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
extern u8 gQuestLogState;
|
extern u8 gQuestLogState;
|
||||||
extern u8 gUnknown_3005E88;
|
extern u8 gUnknown_3005E88;
|
||||||
extern const u16 gUnknown_84566A8[];
|
extern const u16 gUnknown_84566A8[];
|
||||||
|
extern struct FieldInput gUnknown_3005E90;
|
||||||
|
|
||||||
void sub_8112720(u8);
|
void sub_8112720(u8);
|
||||||
void SetQuestLogEvent(u16, const u16 *);
|
void SetQuestLogEvent(u16, const u16 *);
|
||||||
@@ -51,5 +52,10 @@ void sub_8111708(void);
|
|||||||
void sub_81127F8(struct FieldInput * a0);
|
void sub_81127F8(struct FieldInput * a0);
|
||||||
void sub_8112B3C(void);
|
void sub_8112B3C(void);
|
||||||
void RunQuestLogCB(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
|
#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[];
|
extern const u8 gText_RegionMap_AreaDesc_DottedHole[];
|
||||||
|
|
||||||
// field_screen_effect
|
// field_screen_effect
|
||||||
extern const u8 gUnknown_841B554[];
|
extern const u8 gText_PlayerScurriedToCenter[];
|
||||||
extern const u8 gUnknown_841B5B6[];
|
extern const u8 gText_PlayerScurriedBackHome[];
|
||||||
|
|
||||||
// save_failed_screen
|
// save_failed_screen
|
||||||
extern const u8 gText_SaveFailedScreen_CheckingBackupMemory[];
|
extern const u8 gText_SaveFailedScreen_CheckingBackupMemory[];
|
||||||
|
|||||||
+1
-1
@@ -750,7 +750,7 @@ void CB2_ReturnFromCableClubBattle(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gMain.savedCallback = c2_8056854;
|
gMain.savedCallback = CB2_ReturnToFieldFromMultiplayer;
|
||||||
}
|
}
|
||||||
SetMainCallback2(CB2_SetUpSaveAfterLinkBattle);
|
SetMainCallback2(CB2_SetUpSaveAfterLinkBattle);
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1766,7 +1766,7 @@ static void Task_EggHatch(u8 taskID)
|
|||||||
{
|
{
|
||||||
CleanupOverworldWindowsAndTilemaps();
|
CleanupOverworldWindowsAndTilemaps();
|
||||||
SetMainCallback2(CB2_EggHatch_0);
|
SetMainCallback2(CB2_EggHatch_0);
|
||||||
gFieldCallback = FieldCallback_ReturnToEventScript2;
|
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
|
||||||
DestroyTask(taskID);
|
DestroyTask(taskID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -193,7 +193,7 @@ static void Task_DiplomaReturnToOverworld(u8 taskId)
|
|||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
FreeAllWindowBuffers();
|
FreeAllWindowBuffers();
|
||||||
FREE_AND_SET_NULL(gDiploma);
|
FREE_AND_SET_NULL(gDiploma);
|
||||||
SetMainCallback2(CB2_Overworld);
|
SetMainCallback2(sub_80568FC);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DiplomaBgInit(void)
|
static void DiplomaBgInit(void)
|
||||||
|
|||||||
+1
-1
@@ -279,7 +279,7 @@ void ShowEasyChatScreen(void)
|
|||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
DoEasyChatScreen(gSpecialVar_0x8004, words, sub_80568C4);
|
DoEasyChatScreen(gSpecialVar_0x8004, words, CB2_ReturnToFieldContinueScript);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const u16 sECPhrase_MysteryEventIsExciting[] = {
|
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();
|
ScriptContext2_Enable();
|
||||||
Overworld_PlaySpecialMapMusic();
|
Overworld_PlaySpecialMapMusic();
|
||||||
@@ -160,7 +160,7 @@ void FieldCallback_ReturnToEventScript2(void)
|
|||||||
CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
|
CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_807DD44(void)
|
void FieldCB_ContinueScript(void)
|
||||||
{
|
{
|
||||||
ScriptContext2_Enable();
|
ScriptContext2_Enable();
|
||||||
FadeInFromBlack();
|
FadeInFromBlack();
|
||||||
@@ -193,7 +193,7 @@ static void task_mpl_807DD60(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FieldCB_ReturnToFieldWiredLink(void)
|
void FieldCB_ReturnToFieldCableLink(void)
|
||||||
{
|
{
|
||||||
ScriptContext2_Enable();
|
ScriptContext2_Enable();
|
||||||
Overworld_PlaySpecialMapMusic();
|
Overworld_PlaySpecialMapMusic();
|
||||||
@@ -284,7 +284,7 @@ static void sub_807DF4C(bool8 a0)
|
|||||||
FadeInFromBlack();
|
FadeInFromBlack();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FieldCB_UnionRoomWarp(void)
|
void FieldCB_DefaultWarpExit(void)
|
||||||
{
|
{
|
||||||
Overworld_PlaySpecialMapMusic();
|
Overworld_PlaySpecialMapMusic();
|
||||||
sub_8111CF0();
|
sub_8111CF0();
|
||||||
@@ -292,7 +292,7 @@ void FieldCB_UnionRoomWarp(void)
|
|||||||
ScriptContext2_Enable();
|
ScriptContext2_Enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_807DF7C(void)
|
void FieldCB_WarpExitFadeFromBlack(void)
|
||||||
{
|
{
|
||||||
Overworld_PlaySpecialMapMusic();
|
Overworld_PlaySpecialMapMusic();
|
||||||
sub_8111CF0();
|
sub_8111CF0();
|
||||||
@@ -491,7 +491,7 @@ void FadeTransition_FadeInOnReturnToStartMenu(void)
|
|||||||
ScriptContext2_Enable();
|
ScriptContext2_Enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool8 FieldCB2_ReturnToStartMenuInit(void)
|
bool8 FieldCB_ReturnToFieldOpenStartMenu(void)
|
||||||
{
|
{
|
||||||
SetUpReturnToStartMenu();
|
SetUpReturnToStartMenu();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -535,7 +535,7 @@ void DoWarp(void)
|
|||||||
WarpFadeOutScreen();
|
WarpFadeOutScreen();
|
||||||
PlayRainStoppingSoundEffect();
|
PlayRainStoppingSoundEffect();
|
||||||
PlaySE(SE_KAIDAN);
|
PlaySE(SE_KAIDAN);
|
||||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||||
CreateTask(sub_807E718, 10);
|
CreateTask(sub_807E718, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -545,7 +545,7 @@ void DoDiveWarp(void)
|
|||||||
TryFadeOutOldMapMusic();
|
TryFadeOutOldMapMusic();
|
||||||
WarpFadeOutScreen();
|
WarpFadeOutScreen();
|
||||||
PlayRainStoppingSoundEffect();
|
PlayRainStoppingSoundEffect();
|
||||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||||
CreateTask(sub_807E718, 10);
|
CreateTask(sub_807E718, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -560,7 +560,7 @@ void sub_807E4A0(u16 metatileBehavior, u16 delay)
|
|||||||
void DoDoorWarp(void)
|
void DoDoorWarp(void)
|
||||||
{
|
{
|
||||||
ScriptContext2_Enable();
|
ScriptContext2_Enable();
|
||||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||||
CreateTask(sub_807E80C, 10);
|
CreateTask(sub_807E80C, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -574,7 +574,7 @@ void sub_807E500(void)
|
|||||||
void DoUnionRoomWarp(void)
|
void DoUnionRoomWarp(void)
|
||||||
{
|
{
|
||||||
ScriptContext2_Enable();
|
ScriptContext2_Enable();
|
||||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||||
CreateTask(Task_TeleportWarp, 10);
|
CreateTask(Task_TeleportWarp, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -833,7 +833,7 @@ static void sub_807E980(u8 taskId)
|
|||||||
data[0]++;
|
data[0]++;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||||
WarpIntoMap();
|
WarpIntoMap();
|
||||||
SetMainCallback2(CB2_LoadMap);
|
SetMainCallback2(CB2_LoadMap);
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
|
|||||||
@@ -360,7 +360,7 @@ static void Task_BarnDoorWipeChild(u8 taskId)
|
|||||||
#undef DIR_WIPE_OUT
|
#undef DIR_WIPE_OUT
|
||||||
#undef tChildOffset
|
#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];
|
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;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_807F45C(u8 taskId)
|
static void Task_RushInjuredPokemonToCenter(u8 taskId)
|
||||||
{
|
{
|
||||||
u8 windowId;
|
u8 windowId;
|
||||||
const struct HealLocation *loc;
|
const struct HealLocation *loc;
|
||||||
@@ -410,14 +410,14 @@ static void sub_807F45C(u8 taskId)
|
|||||||
gTasks[taskId].data[0] = 1;
|
gTasks[taskId].data[0] = 1;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if (sub_807F3A4(taskId, gUnknown_841B554, 2, 8))
|
if (PrintWhiteOutRecoveryMessage(taskId, gText_PlayerScurriedToCenter, 2, 8))
|
||||||
{
|
{
|
||||||
ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], 2);
|
ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], 2);
|
||||||
++gTasks[taskId].data[0];
|
++gTasks[taskId].data[0];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (sub_807F3A4(taskId, gUnknown_841B5B6, 2, 8))
|
if (PrintWhiteOutRecoveryMessage(taskId, gText_PlayerScurriedBackHome, 2, 8))
|
||||||
{
|
{
|
||||||
ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], 2);
|
ObjectEventTurn(&gObjectEvents[gPlayerAvatar.objectEventId], 2);
|
||||||
++gTasks[taskId].data[0];
|
++gTasks[taskId].data[0];
|
||||||
@@ -450,12 +450,12 @@ static void sub_807F45C(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_807F5F0(void)
|
void FieldCB_RushInjuredPokemonToCenter(void)
|
||||||
{
|
{
|
||||||
u8 taskId;
|
u8 taskId;
|
||||||
|
|
||||||
ScriptContext2_Enable();
|
ScriptContext2_Enable();
|
||||||
palette_bg_faded_fill_black();
|
palette_bg_faded_fill_black();
|
||||||
taskId = CreateTask(sub_807F45C, 10);
|
taskId = CreateTask(Task_RushInjuredPokemonToCenter, 10);
|
||||||
gTasks[taskId].data[0] = 0;
|
gTasks[taskId].data[0] = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -286,7 +286,7 @@ static void Task_InitMoveRelearnerMenu(u8 taskId)
|
|||||||
if (!gPaletteFade.active)
|
if (!gPaletteFade.active)
|
||||||
{
|
{
|
||||||
SetMainCallback2(CB2_MoveRelearner_Init);
|
SetMainCallback2(CB2_MoveRelearner_Init);
|
||||||
gFieldCallback = FieldCallback_ReturnToEventScript2;
|
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ static u16 MapNamePopupCreateWindow(bool32 palIntoFadedBuffer);
|
|||||||
static void MapNamePopupPrintMapNameOnWindow(u16 windowId);
|
static void MapNamePopupPrintMapNameOnWindow(u16 windowId);
|
||||||
static u8 *MapNamePopupAppendFloorNum(u8 *dest, s8 flags);
|
static u8 *MapNamePopupAppendFloorNum(u8 *dest, s8 flags);
|
||||||
|
|
||||||
void CreateMapNamePopupIfNotAlreadyRunning(bool32 palIntoFadedBuffer)
|
void ShowMapNamePopup(bool32 palIntoFadedBuffer)
|
||||||
{
|
{
|
||||||
u8 taskId;
|
u8 taskId;
|
||||||
if (FlagGet(FLAG_SPECIAL_FLAG_0x4000) != TRUE && !(gQuestLogState == 2 || gQuestLogState == 3))
|
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)
|
static void CloseAndSaveOptionMenu(u8 taskId)
|
||||||
{
|
{
|
||||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||||
SetMainCallback2(gMain.savedCallback);
|
SetMainCallback2(gMain.savedCallback);
|
||||||
FreeAllWindowBuffers();
|
FreeAllWindowBuffers();
|
||||||
gSaveBlock2Ptr->optionsTextSpeed = sOptionMenuPtr->option[MENUITEM_TEXTSPEED];
|
gSaveBlock2Ptr->optionsTextSpeed = sOptionMenuPtr->option[MENUITEM_TEXTSPEED];
|
||||||
|
|||||||
+287
-4
@@ -4,6 +4,7 @@
|
|||||||
#include "event_scripts.h"
|
#include "event_scripts.h"
|
||||||
#include "field_camera.h"
|
#include "field_camera.h"
|
||||||
#include "field_control_avatar.h"
|
#include "field_control_avatar.h"
|
||||||
|
#include "field_fadetransition.h"
|
||||||
#include "field_message_box.h"
|
#include "field_message_box.h"
|
||||||
#include "field_player_avatar.h"
|
#include "field_player_avatar.h"
|
||||||
#include "field_screen_effect.h"
|
#include "field_screen_effect.h"
|
||||||
@@ -11,13 +12,16 @@
|
|||||||
#include "field_weather.h"
|
#include "field_weather.h"
|
||||||
#include "fieldmap.h"
|
#include "fieldmap.h"
|
||||||
#include "heal_location.h"
|
#include "heal_location.h"
|
||||||
|
#include "link.h"
|
||||||
#include "load_save.h"
|
#include "load_save.h"
|
||||||
#include "m4a.h"
|
#include "m4a.h"
|
||||||
#include "map_name_popup.h"
|
#include "map_name_popup.h"
|
||||||
#include "metatile_behavior.h"
|
#include "metatile_behavior.h"
|
||||||
#include "money.h"
|
#include "money.h"
|
||||||
|
#include "new_game.h"
|
||||||
#include "new_menu_helpers.h"
|
#include "new_menu_helpers.h"
|
||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
|
#include "play_time.h"
|
||||||
#include "quest_log.h"
|
#include "quest_log.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "renewable_hidden_items.h"
|
#include "renewable_hidden_items.h"
|
||||||
@@ -84,9 +88,22 @@ void SetDefaultFlashLevel(void);
|
|||||||
void Overworld_TryMapConnectionMusicTransition(void);
|
void Overworld_TryMapConnectionMusicTransition(void);
|
||||||
void ChooseAmbientCrySpecies(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 MoveSaveBlocks_ResetHeap_(void);
|
||||||
void sub_8056E80(void);
|
void sub_8056E80(void);
|
||||||
void CB1_UpdateLinkState(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 MapLayout * gMapLayouts[];
|
||||||
extern const struct MapHeader *const *gMapGroups[];
|
extern const struct MapHeader *const *gMapGroups[];
|
||||||
@@ -116,7 +133,7 @@ const u16 sWhiteOutMoneyLossBadgeFlagIDs[] = {
|
|||||||
FLAG_BADGE08_GET
|
FLAG_BADGE08_GET
|
||||||
};
|
};
|
||||||
|
|
||||||
void sub_8054BC8(void)
|
void DoWhiteOut(void)
|
||||||
{
|
{
|
||||||
ScriptContext2_RunNewScript(EventScript_ResetEliteFourEnd);
|
ScriptContext2_RunNewScript(EventScript_ResetEliteFourEnd);
|
||||||
RemoveMoney(&gSaveBlock1Ptr->money, ComputeWhiteOutMoneyLoss());
|
RemoveMoney(&gSaveBlock1Ptr->money, ComputeWhiteOutMoneyLoss());
|
||||||
@@ -654,7 +671,7 @@ void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum)
|
|||||||
ResetFieldTasksArgs();
|
ResetFieldTasksArgs();
|
||||||
mapheader_run_script_with_tag_x5();
|
mapheader_run_script_with_tag_x5();
|
||||||
if (GetLastUsedWarpMapSectionId() != gMapHeader.regionMapSectionId)
|
if (GetLastUsedWarpMapSectionId() != gMapHeader.regionMapSectionId)
|
||||||
CreateMapNamePopupIfNotAlreadyRunning(TRUE);
|
ShowMapNamePopup(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void mli0_load_map(bool32 a1)
|
void mli0_load_map(bool32 a1)
|
||||||
@@ -710,7 +727,7 @@ void ResetInitialPlayerAvatarState(void)
|
|||||||
gInitialPlayerAvatarState.unk2 = FALSE;
|
gInitialPlayerAvatarState.unk2 = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80559F8(u8 dirn)
|
void SetInitialPlayerAvatarStateWithDirection(u8 dirn)
|
||||||
{
|
{
|
||||||
gInitialPlayerAvatarState.direction = dirn;
|
gInitialPlayerAvatarState.direction = dirn;
|
||||||
gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_ON_FOOT;
|
gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_ON_FOOT;
|
||||||
@@ -1264,7 +1281,7 @@ bool32 IsUpdateLinkStateCBActive(void)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_805644C(u16 newKeys, u16 heldKeys)
|
void DoCB1_Overworld(u16 newKeys, u16 heldKeys)
|
||||||
{
|
{
|
||||||
struct FieldInput fieldInput;
|
struct FieldInput fieldInput;
|
||||||
|
|
||||||
@@ -1289,3 +1306,269 @@ void sub_805644C(u16 newKeys, u16 heldKeys)
|
|||||||
}
|
}
|
||||||
RunQuestLogCB();
|
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);
|
ShowSelectMovePokemonSummaryScreen(gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField, 0);
|
||||||
sub_8138B38(3);
|
sub_8138B38(3);
|
||||||
gFieldCallback = FieldCallback_ReturnToEventScript2;
|
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetNumMovesSelectedMonHas(void)
|
void GetNumMovesSelectedMonHas(void)
|
||||||
|
|||||||
+4
-4
@@ -600,7 +600,7 @@ bool8 sub_8111000(void)
|
|||||||
{
|
{
|
||||||
LoadPalette(stdpal_get(4), 0xF0, 0x20);
|
LoadPalette(stdpal_get(4), 0xF0, 0x20);
|
||||||
SetQuestLogState(QL_STATE_2);
|
SetQuestLogState(QL_STATE_2);
|
||||||
FieldCB_UnionRoomWarp();
|
FieldCB_DefaultWarpExit();
|
||||||
gUnknown_203AE94 = (struct UnkStruct_203AE94){};
|
gUnknown_203AE94 = (struct UnkStruct_203AE94){};
|
||||||
gUnknown_203AE94.unk_0_0 = 2;
|
gUnknown_203AE94.unk_0_0 = 2;
|
||||||
return 1;
|
return 1;
|
||||||
@@ -610,7 +610,7 @@ bool8 sub_8111038(void)
|
|||||||
{
|
{
|
||||||
LoadPalette(stdpal_get(4), 0xF0, 0x20);
|
LoadPalette(stdpal_get(4), 0xF0, 0x20);
|
||||||
SetQuestLogState(QL_STATE_2);
|
SetQuestLogState(QL_STATE_2);
|
||||||
sub_807DF7C();
|
FieldCB_WarpExitFadeFromBlack();
|
||||||
gUnknown_203AE94 = (struct UnkStruct_203AE94){};
|
gUnknown_203AE94 = (struct UnkStruct_203AE94){};
|
||||||
gUnknown_203AE94.unk_0_0 = 2;
|
gUnknown_203AE94.unk_0_0 = 2;
|
||||||
return 1;
|
return 1;
|
||||||
@@ -1217,7 +1217,7 @@ static bool8 sub_8111F60(void)
|
|||||||
{
|
{
|
||||||
LoadPalette(stdpal_get(4), 0xF0, 0x20);
|
LoadPalette(stdpal_get(4), 0xF0, 0x20);
|
||||||
DrawPreviouslyOnQuestHeader(0);
|
DrawPreviouslyOnQuestHeader(0);
|
||||||
sub_807DF7C();
|
FieldCB_WarpExitFadeFromBlack();
|
||||||
CreateTask(sub_8111F8C, 0xFF);
|
CreateTask(sub_8111F8C, 0xFF);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@@ -1313,7 +1313,7 @@ static void Task_EndQuestLog(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (gUnknown_203AE94.unk_0_6 == 1)
|
if (gUnknown_203AE94.unk_0_6 == 1)
|
||||||
CreateMapNamePopupIfNotAlreadyRunning(1);
|
ShowMapNamePopup(1);
|
||||||
CpuCopy16(gUnknown_203AE90, gPlttBufferUnfaded, 0x400);
|
CpuCopy16(gUnknown_203AE90, gPlttBufferUnfaded, 0x400);
|
||||||
Free(gUnknown_203AE90);
|
Free(gUnknown_203AE90);
|
||||||
gUnknown_203AE94 = (struct UnkStruct_203AE94){};
|
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]);
|
SetWarpDestination(warpInfo[0], warpInfo[1], -1, warpInfo[2], warpInfo[3]);
|
||||||
PlayRainStoppingSoundEffect();
|
PlayRainStoppingSoundEffect();
|
||||||
PlaySE(SE_KAIDAN);
|
PlaySE(SE_KAIDAN);
|
||||||
gFieldCallback = FieldCB_UnionRoomWarp;
|
gFieldCallback = FieldCB_DefaultWarpExit;
|
||||||
WarpIntoMap();
|
WarpIntoMap();
|
||||||
SetMainCallback2(CB2_LoadMap);
|
SetMainCallback2(CB2_LoadMap);
|
||||||
ResetInitialPlayerAvatarState();
|
ResetInitialPlayerAvatarState();
|
||||||
|
|||||||
+2
-2
@@ -958,8 +958,8 @@ const u8 gText_Sorry[] = _("SORRY");
|
|||||||
const u8 gText_YaySmileEmoji[] = _("YAY{EXTRA 0xF9}");
|
const u8 gText_YaySmileEmoji[] = _("YAY{EXTRA 0xF9}");
|
||||||
const u8 gText_ThankYou[] = _("THANK YOU");
|
const u8 gText_ThankYou[] = _("THANK YOU");
|
||||||
const u8 gText_ByeBye[] = _("BYE-BYE!");
|
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 gText_PlayerScurriedToCenter[] = _("{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_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_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_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");
|
const u8 gUnknown_841B684[] = _("GAME FREAK");
|
||||||
|
|||||||
+2
-2
@@ -2022,7 +2022,7 @@ static void sub_804E944(void)
|
|||||||
Free(sTradeMenuResourcesPtr);
|
Free(sTradeMenuResourcesPtr);
|
||||||
FreeAllWindowBuffers();
|
FreeAllWindowBuffers();
|
||||||
DestroyWirelessStatusIndicatorSprite();
|
DestroyWirelessStatusIndicatorSprite();
|
||||||
SetMainCallback2(c2_8056854);
|
SetMainCallback2(CB2_ReturnToFieldFromMultiplayer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -2032,7 +2032,7 @@ static void sub_804E944(void)
|
|||||||
Free(sSpriteTextTileBuffer);
|
Free(sSpriteTextTileBuffer);
|
||||||
Free(sTradeMenuResourcesPtr);
|
Free(sTradeMenuResourcesPtr);
|
||||||
FreeAllWindowBuffers();
|
FreeAllWindowBuffers();
|
||||||
SetMainCallback2(c2_8056854);
|
SetMainCallback2(CB2_ReturnToFieldFromMultiplayer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -2747,7 +2747,7 @@ static void Task_WaitFadeAndStartInGameTradeAnim(u8 taskId)
|
|||||||
if (!gPaletteFade.active)
|
if (!gPaletteFade.active)
|
||||||
{
|
{
|
||||||
SetMainCallback2(CB2_InitTradeAnim_InGameTrade);
|
SetMainCallback2(CB2_InitTradeAnim_InGameTrade);
|
||||||
gFieldCallback = FieldCallback_ReturnToEventScript2;
|
gFieldCallback = FieldCB_ContinueScriptHandleMusic;
|
||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user