diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-28 14:03:51 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-28 14:03:51 -0400 |
commit | f0fe4904d0fa8b4e964b64b896c10d4599eb15d3 (patch) | |
tree | 740143a91293bc1f480f0fdf934ffe0cbbd71f13 | |
parent | 9bcc82856db7e6417bb56265bbcc04dae290cbf3 (diff) |
through sub_8056918
-rw-r--r-- | asm/overworld.s | 545 | ||||
-rw-r--r-- | include/field_camera.h | 1 | ||||
-rw-r--r-- | include/field_fadetransition.h | 12 | ||||
-rw-r--r-- | include/field_screen_effect.h | 2 | ||||
-rw-r--r-- | include/global.fieldmap.h | 6 | ||||
-rw-r--r-- | include/map_name_popup.h | 2 | ||||
-rw-r--r-- | include/overworld.h | 14 | ||||
-rw-r--r-- | include/quest_log.h | 6 | ||||
-rw-r--r-- | include/strings.h | 4 | ||||
-rw-r--r-- | src/cable_club.c | 2 | ||||
-rw-r--r-- | src/daycare.c | 2 | ||||
-rw-r--r-- | src/diploma.c | 2 | ||||
-rw-r--r-- | src/easy_chat_2.c | 2 | ||||
-rw-r--r-- | src/field_fadetransition.c | 22 | ||||
-rw-r--r-- | src/field_screen_effect.c | 12 | ||||
-rw-r--r-- | src/learn_move.c | 2 | ||||
-rw-r--r-- | src/map_name_popup.c | 2 | ||||
-rw-r--r-- | src/option_menu.c | 2 | ||||
-rw-r--r-- | src/overworld.c | 291 | ||||
-rw-r--r-- | src/party_menu_specials.c | 2 | ||||
-rw-r--r-- | src/quest_log.c | 8 | ||||
-rw-r--r-- | src/seagallop.c | 2 | ||||
-rw-r--r-- | src/strings.c | 4 | ||||
-rw-r--r-- | src/trade.c | 4 | ||||
-rw-r--r-- | src/trade_scene.c | 2 |
25 files changed, 354 insertions, 599 deletions
diff --git a/asm/overworld.s b/asm/overworld.s index f17e829e7..0e201e8ea 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -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 diff --git a/include/field_camera.h b/include/field_camera.h index 9c23bb774..fa9ac0d72 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -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 diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 240353f5e..b57ef14b0 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.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 diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index a15d99120..ca9242945 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.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; diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 0d45a6d68..33f562d40 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -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 { diff --git a/include/map_name_popup.h b/include/map_name_popup.h index a7c1234c6..3058489f7 100644 --- a/include/map_name_popup.h +++ b/include/map_name_popup.h @@ -3,7 +3,7 @@ #include "global.h" -void CreateMapNamePopupIfNotAlreadyRunning(bool32 palIntoFadedBuffer); +void ShowMapNamePopup(bool32 palIntoFadedBuffer); void DismissMapNamePopup(void); #endif //GUARD_MAP_NAME_POPUP_H diff --git a/include/overworld.h b/include/overworld.h index b0311c51c..d8f72de27 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -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); diff --git a/include/quest_log.h b/include/quest_log.h index a353cf709..3a751e51d 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -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 diff --git a/include/strings.h b/include/strings.h index 37d856a86..eb6a47ce7 100644 --- a/include/strings.h +++ b/include/strings.h @@ -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[]; diff --git a/src/cable_club.c b/src/cable_club.c index 93e333bef..e1cab2d02 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -750,7 +750,7 @@ void CB2_ReturnFromCableClubBattle(void) } else { - gMain.savedCallback = c2_8056854; + gMain.savedCallback = CB2_ReturnToFieldFromMultiplayer; } SetMainCallback2(CB2_SetUpSaveAfterLinkBattle); } diff --git a/src/daycare.c b/src/daycare.c index e07c2a234..1e50a7c09 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1766,7 +1766,7 @@ static void Task_EggHatch(u8 taskID) { CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_EggHatch_0); - gFieldCallback = FieldCallback_ReturnToEventScript2; + gFieldCallback = FieldCB_ContinueScriptHandleMusic; DestroyTask(taskID); } } diff --git a/src/diploma.c b/src/diploma.c index f702eebd5..5c653d071 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -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) diff --git a/src/easy_chat_2.c b/src/easy_chat_2.c index 4b3c70b67..948b7c39f 100644 --- a/src/easy_chat_2.c +++ b/src/easy_chat_2.c @@ -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[] = { diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 7ebf9cc30..bf5ab0ab3 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -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); diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index c376e1bad..22043ed2d 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -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; } diff --git a/src/learn_move.c b/src/learn_move.c index 8a2f5781b..8cf10cffa 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -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); } } diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 10e549cbd..df2f9f88f 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -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)) diff --git a/src/option_menu.c b/src/option_menu.c index 62e90c33b..87306c98f 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -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]; diff --git a/src/overworld.c b/src/overworld.c index d4299d044..a5e61e844 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -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(); +} diff --git a/src/party_menu_specials.c b/src/party_menu_specials.c index aba11a534..48406da9a 100644 --- a/src/party_menu_specials.c +++ b/src/party_menu_specials.c @@ -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) diff --git a/src/quest_log.c b/src/quest_log.c index f705335da..3c6b88d3d 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -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){}; diff --git a/src/seagallop.c b/src/seagallop.c index fb55e6bd2..f7405296f 100644 --- a/src/seagallop.c +++ b/src/seagallop.c @@ -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(); diff --git a/src/strings.c b/src/strings.c index 547a36138..fbe51254c 100644 --- a/src/strings.c +++ b/src/strings.c @@ -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"); diff --git a/src/trade.c b/src/trade.c index bd6860e85..bb2634613 100644 --- a/src/trade.c +++ b/src/trade.c @@ -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); } } } diff --git a/src/trade_scene.c b/src/trade_scene.c index d609a9b53..308cd6e5b 100644 --- a/src/trade_scene.c +++ b/src/trade_scene.c @@ -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); } } |