diff options
-rw-r--r-- | asm/bike.s | 2 | ||||
-rw-r--r-- | asm/evolution_scene.s | 4 | ||||
-rw-r--r-- | asm/field_effect.s | 12 | ||||
-rw-r--r-- | asm/field_fadetransition.s | 18 | ||||
-rw-r--r-- | asm/hall_of_fame.s | 2 | ||||
-rw-r--r-- | asm/hof_pc.s | 118 | ||||
-rw-r--r-- | asm/map_preview_screen.s | 2 | ||||
-rw-r--r-- | asm/overworld.s | 6 | ||||
-rw-r--r-- | asm/script_menu.s | 12 | ||||
-rw-r--r-- | data/specials.inc | 6 | ||||
-rw-r--r-- | include/hall_of_fame.h | 2 | ||||
-rw-r--r-- | include/overworld.h | 3 | ||||
-rw-r--r-- | include/script_menu.h | 3 | ||||
-rw-r--r-- | ld_script.txt | 2 | ||||
-rw-r--r-- | src/hof_pc.c | 53 | ||||
-rw-r--r-- | src/quest_log.c | 2 | ||||
-rw-r--r-- | src/teachy_tv.c | 2 |
17 files changed, 94 insertions, 155 deletions
diff --git a/asm/bike.s b/asm/bike.s index b731e51c0..94583aa47 100644 --- a/asm/bike.s +++ b/asm/bike.s @@ -730,7 +730,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8 movs r0, 0x1 bl SetPlayerAvatarTransitionFlags bl sav1_reset_battle_music_maybe - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic b _080BD618 .align 2, 0 _080BD5F0: .4byte gUnknown_2036E2C diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 08aa16703..e151e6d7d 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -1870,7 +1870,7 @@ _080CEDC6: cmp r4, 0 bne _080CEE40 bl StopMapMusic - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic ldrh r1, [r5, 0xE] movs r0, 0x80 orrs r0, r1 @@ -1944,7 +1944,7 @@ _080CEE74: cmp r0, 0 bne _080CEE90 bl StopMapMusic - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic _080CEE90: movs r2, 0x1A ldrsh r0, [r4, r2] diff --git a/asm/field_effect.s b/asm/field_effect.s index 0fa36ce46..aef487a7e 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2062,7 +2062,7 @@ _0808438C: .4byte mapldr_08084390 thumb_func_start mapldr_08084390 mapldr_08084390: @ 8084390 push {r4,lr} - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl sub_807DC00 ldr r0, _080843E8 @ =c3_080843F8 movs r1, 0 @@ -2154,7 +2154,7 @@ _08084450: .4byte gPaletteFade thumb_func_start sub_8084454 sub_8084454: @ 8084454 push {lr} - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl sub_8111CF0 bl ScriptContext2_Enable @@ -2885,7 +2885,7 @@ _080849F0: .4byte sub_80847C0 thumb_func_start sub_80849F4 sub_80849F4: @ 80849F4 push {lr} - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl sub_8111CF0 bl ScriptContext2_Enable @@ -3909,7 +3909,7 @@ _080851B8: .4byte sub_8084F44 thumb_func_start mapldr_080851BC mapldr_080851BC: @ 80851BC push {lr} - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl sub_8111CF0 bl ScriptContext2_Enable @@ -4965,7 +4965,7 @@ _080859C4: thumb_func_start sub_80859D4 sub_80859D4: @ 80859D4 push {lr} - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl sub_8111CF0 bl ScriptContext2_Enable @@ -5431,7 +5431,7 @@ _08085D84: .4byte sub_8085B78 thumb_func_start mapldr_08085D88 mapldr_08085D88: @ 8085D88 push {lr} - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl sub_8111CF0 bl ScriptContext2_Enable diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s index ceaaaf7a6..a53329fab 100644 --- a/asm/field_fadetransition.s +++ b/asm/field_fadetransition.s @@ -245,7 +245,7 @@ _0807DCDC: sub_807DCE4: @ 807DCE4 push {lr} bl ScriptContext2_Enable - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl sub_807DC00 ldr r0, _0807DD00 @ =task0A_nop_for_a_while movs r1, 0xA @@ -277,7 +277,7 @@ _0807DD1C: FieldCallback_ReturnToEventScript2: @ 807DD24 push {lr} bl ScriptContext2_Enable - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl sub_807DC00 ldr r0, _0807DD40 @ =task0A_asap_script_env_2_enable_and_set_ctx_running movs r1, 0xA @@ -366,7 +366,7 @@ _0807DDCA: sub_807DDD0: @ 807DDD0 push {lr} bl ScriptContext2_Enable - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl palette_bg_faded_fill_black ldr r0, _0807DDEC @ =task_mpl_807DD60 movs r1, 0xA @@ -434,7 +434,7 @@ _0807DE50: sub_807DE58: @ 807DE58 push {lr} bl ScriptContext2_Enable - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl palette_bg_faded_fill_black ldr r0, _0807DE74 @ =sub_807DDF0 movs r1, 0xA @@ -563,7 +563,7 @@ _0807DF5E: thumb_func_start sub_807DF64 sub_807DF64: @ 807DF64 push {lr} - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl sub_8111CF0 movs r0, 0 bl sub_807DE78 @@ -575,7 +575,7 @@ sub_807DF64: @ 807DF64 thumb_func_start sub_807DF7C sub_807DF7C: @ 807DF7C push {lr} - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl sub_8111CF0 movs r0, 0x1 bl sub_807DE78 @@ -587,7 +587,7 @@ sub_807DF7C: @ 807DF7C thumb_func_start sub_807DF94 sub_807DF94: @ 807DF94 push {lr} - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl sub_8111CF0 movs r0, 0x28 @@ -1112,7 +1112,7 @@ _0807E3E4: sub_807E3EC: @ 807E3EC push {lr} bl ScriptContext2_Enable - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl sub_807DC00 ldr r0, _0807E408 @ =task_mpl_807E3C8 movs r1, 0xA @@ -2188,7 +2188,7 @@ sub_807EC34: @ 807EC34 .align 2, 0 _0807EC6C: .4byte gTasks+0x8 _0807EC70: - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic bl pal_fill_for_maplights bl ScriptContext2_Enable adds r0, r5, 0x2 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 97bf9ef64..f74b82551 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -2322,7 +2322,7 @@ _080F3082: bl Free str r4, [r5] _080F3090: - bl sub_80CA5A0 + bl ReturnFromHallOfFamePC _080F3094: pop {r4,r5} pop {r0} diff --git a/asm/hof_pc.s b/asm/hof_pc.s deleted file mode 100644 index 80f7fc3f9..000000000 --- a/asm/hof_pc.s +++ /dev/null @@ -1,118 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80CA53C -sub_80CA53C: @ 80CA53C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080CA56C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080CA564 - bl FreeAllWindowBuffers - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - adds r0, r4, 0 - bl DestroyTask - ldr r0, _080CA570 @ =sub_80F2978 - bl SetMainCallback2 -_080CA564: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA56C: .4byte gPaletteFade -_080CA570: .4byte sub_80F2978 - thumb_func_end sub_80CA53C - - thumb_func_start sub_80CA574 -sub_80CA574: @ 80CA574 - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - bl ScriptContext2_Enable - ldr r0, _080CA59C @ =sub_80CA53C - movs r1, 0 - bl CreateTask - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080CA59C: .4byte sub_80CA53C - thumb_func_end sub_80CA574 - - thumb_func_start sub_80CA5A0 -sub_80CA5A0: @ 80CA5A0 - push {lr} - ldr r0, _080CA5B4 @ =CB2_ReturnToField - bl SetMainCallback2 - ldr r1, _080CA5B8 @ =gFieldCallback - ldr r0, _080CA5BC @ =sub_80CA5C0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080CA5B4: .4byte CB2_ReturnToField -_080CA5B8: .4byte gFieldCallback -_080CA5BC: .4byte sub_80CA5C0 - thumb_func_end sub_80CA5A0 - - thumb_func_start sub_80CA5C0 -sub_80CA5C0: @ 80CA5C0 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - bl sub_8055DC4 - bl sp109_CreatePCMenu - bl sub_809D254 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080CA5F4 @ =sub_80CA5F8 - movs r1, 0xA - bl CreateTask - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080CA5F4: .4byte sub_80CA5F8 - thumb_func_end sub_80CA5C0 - - thumb_func_start sub_80CA5F8 -sub_80CA5F8: @ 80CA5F8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080CA614 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080CA610 - adds r0, r2, 0 - bl DestroyTask -_080CA610: - pop {r0} - bx r0 - .align 2, 0 -_080CA614: .4byte gPaletteFade - thumb_func_end sub_80CA5F8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/map_preview_screen.s b/asm/map_preview_screen.s index be9f5e3c5..a06141b9d 100644 --- a/asm/map_preview_screen.s +++ b/asm/map_preview_screen.s @@ -440,7 +440,7 @@ _080F8448: lsls r0, 24 cmp r0, 0 beq _080F853C - bl sub_8055DC4 + bl Overworld_PlaySpecialMapMusic b _080F84EA _080F8458: ldrh r0, [r4, 0x2] diff --git a/asm/overworld.s b/asm/overworld.s index 62add03d2..479276cb1 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -2378,8 +2378,8 @@ sub_8055DB8: @ 8055DB8 bx r0 thumb_func_end sub_8055DB8 - thumb_func_start sub_8055DC4 -sub_8055DC4: @ 8055DC4 + thumb_func_start Overworld_PlaySpecialMapMusic +Overworld_PlaySpecialMapMusic: @ 8055DC4 push {r4,r5,lr} sub sp, 0x4 ldr r0, _08055DD8 @ =gUnknown_2031DD8 @@ -2462,7 +2462,7 @@ _08055E6C: bx r0 .align 2, 0 _08055E74: .4byte 0x00000131 - thumb_func_end sub_8055DC4 + thumb_func_end Overworld_PlaySpecialMapMusic thumb_func_start Overworld_SetSavedMusic Overworld_SetSavedMusic: @ 8055E78 diff --git a/asm/script_menu.s b/asm/script_menu.s index 69e487bcc..f99f541fe 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -914,8 +914,8 @@ _0809D034: _0809D03C: .4byte gSpecialVar_Result thumb_func_end sub_809CFDC - thumb_func_start sp109_CreatePCMenu -sp109_CreatePCMenu: @ 809D040 + thumb_func_start ScrSpecial_CreatePCMenu +ScrSpecial_CreatePCMenu: @ 809D040 push {lr} ldr r0, _0809D060 @ =sub_809CC98 bl FuncIsActiveTask @@ -937,7 +937,7 @@ _0809D068: _0809D06A: pop {r1} bx r1 - thumb_func_end sp109_CreatePCMenu + thumb_func_end ScrSpecial_CreatePCMenu thumb_func_start sub_809D070 sub_809D070: @ 809D070 @@ -1159,8 +1159,8 @@ _0809D24C: .4byte gStringVar4 _0809D250: .4byte gUnknown_8417BB6 thumb_func_end sub_809D070 - thumb_func_start sub_809D254 -sub_809D254: @ 809D254 + thumb_func_start ScriptMenu_DisplayPCStartupPrompt +ScriptMenu_DisplayPCStartupPrompt: @ 809D254 push {lr} sub sp, 0x10 movs r0, 0 @@ -1184,7 +1184,7 @@ sub_809D254: @ 809D254 bx r0 .align 2, 0 _0809D284: .4byte gUnknown_81A508A - thumb_func_end sub_809D254 + thumb_func_end ScriptMenu_DisplayPCStartupPrompt thumb_func_start sub_809D288 sub_809D288: @ 809D288 diff --git a/data/specials.inc b/data/specials.inc index 96d0ef253..e5edb47dd 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -162,7 +162,7 @@ gSpecials:: @ 815FD60 def_special sub_80CA758 def_special nullsub_75 def_special nullsub_75 - def_special sub_8055DC4 + def_special Overworld_PlaySpecialMapMusic def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 @@ -271,8 +271,8 @@ gSpecials:: @ 815FD60 def_special nullsub_75 def_special nullsub_75 def_special nullsub_75 - def_special sp109_CreatePCMenu - def_special sub_80CA574 + def_special ScrSpecial_CreatePCMenu + def_special HallOfFamePCBeginFade def_special sub_80CA618 def_special nullsub_75 def_special nullsub_75 diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index 2dc9fae41..17786dad3 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -7,5 +7,7 @@ void CB2_DoHallOfFameScreen(void); void CB2_DoHallOfFameScreenDontSaveData(void); void CB2_DoHallOfFamePC(void); void sub_8175280(void); +void sub_80F2978(void); +void HallOfFamePCBeginFade(void); #endif // GUARD_HALL_OF_FAME_H diff --git a/include/overworld.h b/include/overworld.h index fed1a33a5..e08842143 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -86,7 +86,7 @@ void sub_8055D5C(struct WarpData *); void sub_80572A8(void); void sub_805726C(void); void sub_8057430(void); -void sub_8055DC4(void); +void Overworld_PlaySpecialMapMusic(void); u8 GetCurrentRegionMapSectionId(void); @@ -111,7 +111,6 @@ void Overworld_ResetStateAfterTeleport(void); void Overworld_FadeOutMapMusic(void); void sub_805671C(void); -void sub_8055DC4(void); bool8 sub_8055FC4(void); bool8 is_light_level_8_or_9(u8 mapType); bool32 sub_8055C9C(void); diff --git a/include/script_menu.h b/include/script_menu.h index f82b061a5..c1e32beae 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -10,6 +10,9 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 va bool8 ScriptMenu_YesNo(u8 var1, u8 var2); bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount); bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); +bool32 ScrSpecial_CreatePCMenu(void); +void ScriptMenu_DisplayPCStartupPrompt(void); + bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); void sub_809D6D4(void); diff --git a/ld_script.txt b/ld_script.txt index 2664d8010..f88050c17 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -185,7 +185,7 @@ SECTIONS { asm/fldeff_flash.o(.text); asm/post_battle_event_funcs.o(.text); src/prof_pc.o(.text); - asm/hof_pc.o(.text); + src/hof_pc.o(.text); asm/field_specials.o(.text); asm/battle_records.o(.text); asm/evolution_scene.o(.text); diff --git a/src/hof_pc.c b/src/hof_pc.c new file mode 100644 index 000000000..241fbc4f3 --- /dev/null +++ b/src/hof_pc.c @@ -0,0 +1,53 @@ +#include "global.h" +#include "hall_of_fame.h" +#include "palette.h" +#include "overworld.h" +#include "script.h" +#include "script_menu.h" +#include "task.h" +#include "hall_of_fame.h" +#include "bg.h" +#include "window.h" + +static void ReshowPCMenuAfterHallOfFamePC(void); +static void Task_WaitForPaletteFade(u8 taskId); + +static void Task_WaitFadeAndSetCallback(u8 taskId) +{ + if (!gPaletteFade.active) + { + FreeAllWindowBuffers(); + ResetBgsAndClearDma3BusyFlags(0); + DestroyTask(taskId); + SetMainCallback2(sub_80F2978); + } +} + +void HallOfFamePCBeginFade(void) +{ + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); + ScriptContext2_Enable(); + CreateTask(Task_WaitFadeAndSetCallback, 0); +} + +void ReturnFromHallOfFamePC(void) +{ + SetMainCallback2(CB2_ReturnToField); + gFieldCallback = ReshowPCMenuAfterHallOfFamePC; +} + +static void ReshowPCMenuAfterHallOfFamePC(void) +{ + ScriptContext2_Enable(); + Overworld_PlaySpecialMapMusic(); + ScrSpecial_CreatePCMenu(); + ScriptMenu_DisplayPCStartupPrompt(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); + CreateTask(Task_WaitForPaletteFade, 10); +} + +static void Task_WaitForPaletteFade(u8 taskId) +{ + if (!gPaletteFade.active) + DestroyTask(taskId); +} diff --git a/src/quest_log.c b/src/quest_log.c index 0021ee927..0f449e282 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1567,7 +1567,7 @@ void sub_81120AC(u8 taskId) { case 0: gUnknown_2031DD8 = 0; - sub_8055DC4(); + Overworld_PlaySpecialMapMusic(); sub_811229C(); FillWindowPixelRect(gUnknown_203ADFE[0], 0xF, 0, 0, gUnknown_845661C[0].width * 8, gUnknown_845661C[0].height * 8); data[0]++; diff --git a/src/teachy_tv.c b/src/teachy_tv.c index eb5a7293d..06ddd68aa 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -718,7 +718,7 @@ static void TeachyTvQuitFadeControlAndTaskDel(u8 taskId) } else { - sub_8055DC4(); + Overworld_PlaySpecialMapMusic(); SetMainCallback2(sStaticResources.callback); } TeachyTvFree(); |