diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-06-26 07:32:33 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-06-26 07:32:33 +0800 |
commit | 5c9af8295588780d90ea0b85f07696be29506761 (patch) | |
tree | d1cbf749c4bd58fd480b824034e82377c7280c26 /src | |
parent | 1ba29fd2ed12d86d39e64b952f0f69cc36add132 (diff) | |
parent | f7aaf6234311435ca7bb2e5b094df6dfa8ab1827 (diff) |
Merge branch 'small_files' into misc
Diffstat (limited to 'src')
-rw-r--r-- | src/hof_pc.c | 53 | ||||
-rw-r--r-- | src/quest_log.c | 2 | ||||
-rw-r--r-- | src/teachy_tv.c | 2 |
3 files changed, 55 insertions, 2 deletions
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 dede9d6cd..07d44388d 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 ae6afae07..1e3f42027 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(); |