summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/bike.s2
-rw-r--r--asm/evolution_scene.s4
-rw-r--r--asm/field_effect.s12
-rw-r--r--asm/field_fadetransition.s18
-rw-r--r--asm/hall_of_fame.s2
-rw-r--r--asm/hof_pc.s118
-rw-r--r--asm/map_preview_screen.s2
-rw-r--r--asm/overworld.s6
-rw-r--r--asm/script_menu.s12
-rw-r--r--data/specials.inc6
-rw-r--r--include/hall_of_fame.h2
-rw-r--r--include/overworld.h3
-rw-r--r--include/script_menu.h3
-rw-r--r--ld_script.txt2
-rw-r--r--src/hof_pc.c53
-rw-r--r--src/quest_log.c2
-rw-r--r--src/teachy_tv.c2
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();