From 6cd590f4fd974d61421851d5d14a88e4eb910d30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20L=C3=B8vig?= Date: Wed, 28 Mar 2018 00:33:08 +0200 Subject: Decompiled start_menu.s --- src/start_menu.c | 1152 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 1118 insertions(+), 34 deletions(-) (limited to 'src/start_menu.c') diff --git a/src/start_menu.c b/src/start_menu.c index d076d307d..0df3f7b66 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -8,6 +8,29 @@ #include "text.h" #include "strings.h" #include "bg.h" +#include "field_effect.h" +#include "task.h" +#include "overworld.h" +#include "link.h" +#include "battle_frontier_2.h" +#include "rom_818CFC8.h" +#include "field_specials.h" +#include "field_map_obj_helpers.h" +#include "script.h" +#include "main.h" +#include "sound.h" +#include "pokedex.h" +#include "field_weather.h" +#include "palette.h" +#include "item_menu.h" +#include "option_menu.h" +#include "event_scripts.h" +#include "save.h" +#include "gpu_regs.h" +#include "scanline_effect.h" +#include "text_window.h" +#include "load_save.h" +#include "international_string_util.h" // Menu actions enum @@ -27,15 +50,71 @@ enum MENU_ACTION_PYRAMID_BAG }; -extern bool32 is_c1_link_related_active(void); -extern bool32 InUnionRoom(void); -extern bool8 InBattlePike(void); -extern bool8 InBattlePyramid(void); -extern bool8 InMultiBattleRoom(void); -extern void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, u8 a1); -extern void sub_8198070(u8 windowId, u8 a1); +// Save status +enum +{ + SAVE_IN_PROGRESS, + SAVE_SUCCESS, + SAVE_CANCELED, + SAVE_ERROR +}; + +// Text +extern u8 BattleFrontier_BattlePyramidEmptySquare_Text_252CA7[]; +extern u8 BattleFrontier_BattlePyramidEmptySquare_Text_252CFB[]; +extern u8 gUnknown_082C87B4[]; +extern u8 gUnknown_082C8845[]; // Different save file +extern u8 gUnknown_082C87D5[]; // Already a save file +extern u8 gUnknown_082C8810[]; // Saving… DON’T TURN OFF THE POWER. +extern u8 gUnknown_082C8832[]; // {PLAYER} saved the game. +extern u8 gUnknown_082C892A[]; // Save error. +extern u8 gText_SavingDontTurnOffPower[]; +extern u8 gText_SavingPlayer[]; +extern u8 gText_SavingBadges[]; +extern u8 gText_SavingPokedex[]; +extern u8 gText_SavingTime[]; + +// Extern variables +extern u8 gDifferentSaveFile; +extern u16 gSaveFileStatus; +extern u8 gUnknown_03005DB4; + +extern void sub_80AF688(void); +extern void var_800D_set_xB(void); +extern void sub_808B864(void); +extern void sub_808BCF4(void); +extern void sub_80A0934(void); +extern void sub_80BB534(void); +extern void play_some_sound(void); +extern void CB2_PartyMenuFromStartMenu(void); +extern void CB2_PokeNav(void); +extern void sub_80C4DDC(void (*)(void)); +extern void sub_80C51C4(void (*)(void)); +extern void sub_80C4E74(u8, void (*)(void)); +extern void sub_81C4EFC(void); +extern void sub_80984F4(void); +extern void sub_81A9EC8(void); +extern void save_serialize_map(void); +extern void sub_81A9E90(void); + +bool8 sub_809FE9C(void); +void sub_80A0888(void); +void sub_80A06B4(void); // this file's functions +static bool8 StartMenu_Pokedex(void); +static bool8 StartMenu_Pokemon(void); +static bool8 StartMenu_Bag(void); +static bool8 StartMenu_PokeNav(void); +static bool8 StartMenu_PlayerName(void); +static bool8 StartMenu_Save(void); +static bool8 StartMenu_Option(void); +static bool8 StartMenu_Exit(void); +static bool8 StartMenu_SafariZoneRetire(void); +static bool8 StartMenu_LinkModePlayerName(void); +static bool8 StartMenu_BattlePyramidRetire(void); +static bool8 StartMenu_BattlePyramidBag(void); + static void BuildStartMenuActions_LinkMode(void); static void BuildStartMenuActions_UnionRoom(void); static void BuildStartMenuActions_SafariZone(void); @@ -43,18 +122,42 @@ static void BuildStartMenuActions_BattlePike(void); static void BuildStartMenuActions_BattlePyramid(void); static void BuildStartMenuActions_MultiBattleRoom(void); static void BuildStartMenuActions_Normal(void); -bool8 StartMenu_Pokedex(void); -bool8 StartMenu_Pokemon(void); -bool8 StartMenu_Bag(void); -bool8 StartMenu_PokeNav(void); -bool8 StartMenu_PlayerName(void); -bool8 StartMenu_Save(void); -bool8 StartMenu_Option(void); -bool8 StartMenu_Exit(void); -bool8 StartMenu_SafariZoneRetire(void); -bool8 StartMenu_LinkModePlayerName(void); -bool8 StartMenu_BattlePyramidRetire(void); -bool8 StartMenu_BattlePyramidBag(void); + +static void task50_save_game(u8 taskId); + +u8 sub_809FF4C(void); +u8 sub_80A00EC(void); +bool8 sub_80A00A0(void); +bool8 sub_80A0108(void); +bool8 sub_80A017C(void); +u8 sub_80A01B4(void); +u8 sub_80A01D0(void); +u8 sub_80A01EC(void); +u8 sub_80A0234(void); +u8 sub_80A024C(void); +u8 sub_80A02B0(void); +u8 sub_80A02FC(void); +u8 sub_80A02D8(void); +u8 sub_80A0324(void); +void sub_80A0340(void); +u8 sub_80A035C(void); +u8 sub_80A0388(void); +u8 sub_80A03A4(void); + +bool8 HandleStartMenuInput(void); + +bool32 PrintStartMenuActions(s8*, u32); +bool32 sub_809F894(void); +void InitStartMenu(void); +void sub_809FF28(void); + +void sub_80A0540(void); +void sub_80A0550(u8 taskId); + +// gMenuCallbacks +bool8 sub_809FE28(void); +bool8 sub_809FE44(void); +bool8 sub_809FED4(void); // EWRAM vars EWRAM_DATA u8 sSafariBallsWindowId = 0; @@ -65,8 +168,8 @@ EWRAM_DATA u8 sCurrentStartMenuActions[9] = {0}; EWRAM_DATA u8 gUnknown_02037619[2] = {0}; EWRAM_DATA bool8 (*gUnknown_0203761C)(void) = NULL; EWRAM_DATA u8 gUnknown_02037620 = 0; -EWRAM_DATA u8 gUnknown_02037621 = 0; -EWRAM_DATA u8 gUnknown_02037622 = 0; +EWRAM_DATA bool8 gUnknown_02037621 = FALSE; +EWRAM_DATA u8 gSaveInfoWindowId = 0; // const rom data static const struct WindowTemplate gSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; @@ -122,7 +225,7 @@ const struct WindowTemplate gUnknown_085105AC[] = DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate gUnknown_085105BC = {0, 1, 1, 0xE, 0xA, 0xF, 8}; +const struct WindowTemplate gSaveInfoWindowTemplate = {0, 1, 1, 0xE, 0xA, 0xF, 8}; // code void SetDexPokemonPokenavFlags(void) // unused @@ -273,33 +376,1014 @@ void RemoveExtraStartMenuWindows(void) } } -/* -// Prints n menu items starting at *index -static bool32 PrintStartMenuItemsMultistep(s16 *index, u32 n) +bool32 PrintStartMenuActions(s8 *pIndex, u32 count) { - s8 _index = *index; - + s8 index = *pIndex; + do { - if (sStartMenuItems[sCurrentStartMenuActions[_index]].func.u8_void == StartMenu_PlayerName) + if (sStartMenuItems[sCurrentStartMenuActions[index]].func.u8_void == StartMenu_PlayerName) { + PrintPlayerNameOnWindow(GetStartMenuWindowId(), sStartMenuItems[sCurrentStartMenuActions[index]].text, 8, (index << 4) + 9); + } + else { + StringExpandPlaceholders(gStringVar4, sStartMenuItems[sCurrentStartMenuActions[index]].text); + PrintTextOnWindow(GetStartMenuWindowId(), 1, gStringVar4, 8, (index << 4) + 9, 0xFF, 0); + } + + index++; + if (index >= sNumStartMenuActions) { + *pIndex = index; + return TRUE; + } + + count--; + } + while (count != 0); + + *pIndex = index; + return FALSE; +} + +bool32 sub_809F894(void) +{ + s8 value = gUnknown_02037619[0]; + switch (value) + { + case 0: + gUnknown_02037619[0]++; + break; + case 1: + BuildStartMenuActions(); + gUnknown_02037619[0]++; + break; + case 2: + sub_81973A4(); + NewMenuHelpers_DrawStdWindowFrame(sub_81979C4(sNumStartMenuActions), FALSE); + gUnknown_02037619[1] = 0; + gUnknown_02037619[0]++; + break; + case 3: + if (GetSafariZoneFlag() != FALSE) { + DisplaySafariBallsWindow(); + } + if (InBattlePyramid() != FALSE) + { + DisplayPyramidFloorWindow(); + } + gUnknown_02037619[0]++; + break; + case 4: + if (PrintStartMenuActions(&gUnknown_02037619[1], 2) == FALSE) + { + break; + } + gUnknown_02037619[0]++; + break; + case 5: + sStartMenuCursorPos = sub_81983AC(GetStartMenuWindowId(), 1, 0, 9, 16, sNumStartMenuActions, sStartMenuCursorPos); + CopyWindowToVram(GetStartMenuWindowId(), TRUE); + return TRUE; + default: + break; + } + + return FALSE; +} + +void InitStartMenu(void) +{ + gUnknown_02037619[0] = 0; + gUnknown_02037619[1] = 0; + while (!sub_809F894()); +} + +void task50_startmenu(u8 taskId) +{ + if (sub_809F894() == TRUE) + { + SwitchTaskToFollowupFunc(taskId); + } +} + +void sub_809F9D0(TaskFunc followupFunc) +{ + gUnknown_02037619[0] = 0; + gUnknown_02037619[1] = 0; + SetTaskFuncWithFollowupFunc(CreateTask(&task50_startmenu, 0x50), &task50_startmenu, followupFunc); +} + +bool8 sub_809FA00(void) +{ + if (sub_809F894() == FALSE) + { + return FALSE; + } + + sub_80AF688(); + return TRUE; +} + +void sub_809FA18(void) +{ + gUnknown_02037619[0] = 0; + gUnknown_02037619[1] = 0; + gUnknown_03005DB0 = &sub_809FA00; +} +void sub_809FA34(u8 taskId) +{ + struct Task* task = &gTasks[taskId]; + + switch(task->data[0]) + { + case 0: + if (InUnionRoom() == TRUE) + { + var_800D_set_xB(); } - else + + gMenuCallback = HandleStartMenuInput; + task->data[0]++; + break; + case 1: + if (gMenuCallback() == TRUE) { + DestroyTask(taskId); + } + break; + } +} + +void sub_809FA9C(void) +{ + if (!is_c1_link_related_active()) + { + FreezeMapObjects(); + sub_808B864(); + sub_808BCF4(); + } + sub_809F9D0(sub_809FA34); + ScriptContext2_Enable(); +} +bool8 HandleStartMenuInput(void) // TODO callback +{ + if (gMain.newKeys & DPAD_UP) + { + PlaySE(5); + sStartMenuCursorPos = MoveMenuCursor(-1); + } + + if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(5); + sStartMenuCursorPos = MoveMenuCursor(1); + } + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(5); + if (sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void == StartMenu_Pokedex) + { + if (GetNationalPokedexCount(0) == FALSE) { + return FALSE; + } + } + + gMenuCallback = sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void; + + if (gMenuCallback != StartMenu_Save + && gMenuCallback != StartMenu_Exit + && gMenuCallback != StartMenu_SafariZoneRetire + && gMenuCallback != StartMenu_BattlePyramidRetire) + { + FadeScreen(1, 0); } + + return FALSE; + } + + if (gMain.newKeys & (START_BUTTON | B_BUTTON)) + { + RemoveExtraStartMenuWindows(); + sub_80A0934(); + return TRUE; + } + + return FALSE; +} + +static bool8 StartMenu_Pokedex(void) +{ + if (!gPaletteFade.active) + { + IncrementGameStat(GAME_STAT_CHECKED_POKEDEX); + play_some_sound(); + RemoveExtraStartMenuWindows(); + overworld_free_bg_tilemaps(); + SetMainCallback2(sub_80BB534); + + return TRUE; + } + + return FALSE; +} - } while (++_index > sNumStartMenuActions); +static bool8 StartMenu_Pokemon(void) +{ + if (!gPaletteFade.active) + { + play_some_sound(); + RemoveExtraStartMenuWindows(); + overworld_free_bg_tilemaps(); + SetMainCallback2(CB2_PartyMenuFromStartMenu); + + return TRUE; + } - if (--n == 0) + return FALSE; +} + +static bool8 StartMenu_Bag(void) +{ + if (!gPaletteFade.active) { - *index = _index; + play_some_sound(); + RemoveExtraStartMenuWindows(); + overworld_free_bg_tilemaps(); + SetMainCallback2(CB2_BagMenuFromStartMenu); + + return TRUE; + } + + return FALSE; +} + +static bool8 StartMenu_PokeNav(void) +{ + if (!gPaletteFade.active) + { + play_some_sound(); + RemoveExtraStartMenuWindows(); + overworld_free_bg_tilemaps(); + SetMainCallback2(CB2_PokeNav); + + return TRUE; + } + + return FALSE; +} + +static bool8 StartMenu_PlayerName(void) +{ + if (!gPaletteFade.active) + { + play_some_sound(); + RemoveExtraStartMenuWindows(); + overworld_free_bg_tilemaps(); + + if (is_c1_link_related_active() || InUnionRoom()) + { + sub_80C4DDC(CB2_ReturnToFieldWithOpenMenu); + } + else if (FlagGet(FLAG_SYS_FRONTIER_PASS)) + { + sub_80C51C4(CB2_ReturnToFieldWithOpenMenu); + } + else + { + sub_80C4DDC(CB2_ReturnToFieldWithOpenMenu); + } + + return TRUE; + } + + return FALSE; +} + +static bool8 StartMenu_Save(void) +{ + if (InBattlePyramid()) + { + RemoveExtraStartMenuWindows(); + } + + gMenuCallback = sub_809FE28; + + return FALSE; +} + +static bool8 StartMenu_Option(void) +{ + if (!gPaletteFade.active) + { + play_some_sound(); + RemoveExtraStartMenuWindows(); + overworld_free_bg_tilemaps(); + SetMainCallback2(CB2_InitOptionMenu); + gMain.savedCallback = CB2_ReturnToFieldWithOpenMenu; + + return TRUE; + } + + return FALSE; +} + +static bool8 StartMenu_Exit(void) +{ + RemoveExtraStartMenuWindows(); + sub_80A0934(); + + return TRUE; +} + +static bool8 StartMenu_SafariZoneRetire(void) +{ + RemoveExtraStartMenuWindows(); + sub_80A0934(); + SafariZoneRetirePrompt(); + + return TRUE; +} + +static bool8 StartMenu_LinkModePlayerName(void) +{ + if (!gPaletteFade.active) + { + play_some_sound(); + overworld_free_bg_tilemaps(); + sub_80C4E74(gUnknown_03005DB4, CB2_ReturnToFieldWithOpenMenu); + + return TRUE; + } + + return FALSE; +} + +static bool8 StartMenu_BattlePyramidRetire(void) +{ + gMenuCallback = sub_809FE9C; + + return FALSE; +} + +void sub_809FDD4(void) +{ + sub_8197DF8(0, 0); + sub_80984F4(); + sub_809F9D0(sub_809FA34); + ScriptContext2_Enable(); +} + +static bool8 StartMenu_BattlePyramidBag(void) +{ + if (!gPaletteFade.active) + { + play_some_sound(); + RemoveExtraStartMenuWindows(); + overworld_free_bg_tilemaps(); + SetMainCallback2(sub_81C4EFC); + + return TRUE; + } + + return FALSE; +} + +bool8 sub_809FE28(void) +{ + sub_809FF28(); + gMenuCallback = sub_809FE44; + + return FALSE; +} + +bool8 sub_809FE44(void) +{ + switch (sub_809FF4C()) + { + case SAVE_IN_PROGRESS: return FALSE; + case SAVE_CANCELED: + sub_8197DF8(0, 0); + InitStartMenu(); + gMenuCallback = HandleStartMenuInput; + return FALSE; + case SAVE_SUCCESS: + case SAVE_ERROR: + sub_8197DF8(0, 1); + sub_80984F4(); + ScriptContext2_Disable(); + sub_81A9EC8(); + return TRUE; + } + + return FALSE; +} + +bool8 sub_809FE9C(void) +{ + sub_80A0340(); + gMenuCallback = sub_809FED4; + + return FALSE; +} + +bool8 sub_809FEB8(void) +{ + InitStartMenu(); + gMenuCallback = HandleStartMenuInput; + + return FALSE; +} + +bool8 sub_809FED4(void) +{ + switch (sub_809FF4C()) + { + case SAVE_SUCCESS: + RemoveExtraStartMenuWindows(); + gMenuCallback = sub_809FEB8; + return FALSE; + case SAVE_IN_PROGRESS: + return FALSE; + case SAVE_CANCELED: + sub_8197DF8(0, 1); + sub_80984F4(); + ScriptContext2_Disable(); + ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88); + return TRUE; + } + + return FALSE; +} + +void sub_809FF28(void) +{ + save_serialize_map(); + gUnknown_0203761C = sub_80A00A0; + gUnknown_02037621 = FALSE; +} + +u8 sub_809FF4C(void) +{ + if (sub_8197224() == TRUE) + { + return FALSE; + } + + gUnknown_02037621 = FALSE; + return gUnknown_0203761C(); +} + +void sub_809FF80(void) +{ + sub_809FF28(); + CreateTask(task50_save_game, 0x50); +} + +// DisplaySaveMessageWithCallback +void sub_809FF98(const u8 *message, u8 (*func)(void)) +{ + StringExpandPlaceholders(gStringVar4, message); + sub_819786C(0, TRUE); + AddTextPrinterForMessage_2(TRUE); + gUnknown_02037621 = TRUE; + gUnknown_0203761C = func; +} + +static void task50_save_game(u8 taskId) +{ + u8 status = sub_809FF4C(); + + switch (status) + { + case SAVE_CANCELED: + case SAVE_ERROR: + gSpecialVar_Result = 0; + break; + case SAVE_SUCCESS: + gSpecialVar_Result = status; + break; + case SAVE_IN_PROGRESS: + return; + } + + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +void sub_80A0014(void) +{ + sub_8197434(0, TRUE); +} + +void sub_80A0024(void) +{ + sub_80A0888(); +} + +void sub_80A0030(void) +{ + gUnknown_02037620 = 60; +} + +bool8 sub_80A003C(void) +{ + gUnknown_02037620--; + if (gMain.heldKeys & A_BUTTON) + { + PlaySE(5); + return TRUE; + } + else if (gUnknown_02037620 == 0) + { + return TRUE; + } + + return FALSE; +} + +bool8 sub_80A0070(void) +{ + if (gUnknown_02037620 != 0) + { + gUnknown_02037620--; + } + else if (gMain.heldKeys & A_BUTTON) + { + return TRUE; + } + + return FALSE; +} + +bool8 sub_80A00A0(void) // Return u8? Ruby +{ + sub_819746C(GetStartMenuWindowId(), FALSE); + remove_start_menu_window_maybe(); + sub_80A06B4(); + + if (InBattlePyramid()) + { + sub_809FF98(BattleFrontier_BattlePyramidEmptySquare_Text_252CA7, sub_80A00EC); + } + else + { + sub_809FF98(gUnknown_082C87B4, sub_80A00EC); + } + + return FALSE; // SAVE_IN_PROGRESS ? +} + +bool8 sub_80A00EC(void) +{ + sub_8197930(); + gUnknown_0203761C = sub_80A0108; + return FALSE; +} + +u8 sub_80A0108(void) +{ + switch (ProcessMenuInputNoWrap_()) + { + case 0: // Yes + switch (gSaveFileStatus) + { + case 0: + case 2: + if (gDifferentSaveFile == FALSE) + { + gUnknown_0203761C = sub_80A017C; + return SAVE_IN_PROGRESS; + } + + gUnknown_0203761C = sub_80A0234; + return SAVE_IN_PROGRESS; + default: + gUnknown_0203761C = sub_80A017C; + return SAVE_IN_PROGRESS; + } + case -1: // B Button + case 1: // No + sub_80A0024(); + sub_80A0014(); + return SAVE_CANCELED; + } + + return SAVE_IN_PROGRESS; +} + +// A different save file exists +u8 sub_80A017C(void) +{ + if (gDifferentSaveFile == TRUE) + { + sub_809FF98(gUnknown_082C8845, sub_80A01B4); + } + else + { + sub_809FF98(gUnknown_082C87D5, sub_80A01D0); + } + + return SAVE_IN_PROGRESS; +} + +u8 sub_80A01B4(void) +{ + sub_8197948(1); + gUnknown_0203761C = sub_80A01EC; + return SAVE_IN_PROGRESS; +} + +u8 sub_80A01D0(void) +{ + sub_8197930(); + gUnknown_0203761C = sub_80A01EC; + return SAVE_IN_PROGRESS; +} + +u8 sub_80A01EC(void) +{ + switch (ProcessMenuInputNoWrap_()) + { + case 0: // Yes + gUnknown_0203761C = sub_80A0234; + return SAVE_IN_PROGRESS; + case -1: // B Button + case 1: // No + sub_80A0024(); + sub_80A0014(); + return SAVE_CANCELED; + } + + return SAVE_IN_PROGRESS; +} + +u8 sub_80A0234(void) +{ + sub_809FF98(gUnknown_082C8810, sub_80A024C); + return SAVE_IN_PROGRESS; +} + +u8 sub_80A024C(void) +{ + u8 saveStatus; + + IncrementGameStat(GAME_STAT_SAVED_GAME); + sub_81A9E90(); + + if (gDifferentSaveFile == TRUE) + { + saveStatus = TrySavingData(SAVE_OVERWRITE_DIFFERENT_FILE); + gDifferentSaveFile = FALSE; + } + else + { + saveStatus = TrySavingData(SAVE_NORMAL); + } + + if (saveStatus == 1) // Save succeded + { + sub_809FF98(gUnknown_082C8832, sub_80A02B0); + } + else // Save error + { + sub_809FF98(gUnknown_082C892A, sub_80A02FC); + } + + sub_80A0030(); + return SAVE_IN_PROGRESS; +} + +u8 sub_80A02B0(void) +{ + if (!IsTextPrinterActive(0)) + { + PlaySE(0x37); // 55 + gUnknown_0203761C = sub_80A02D8; + } + + return SAVE_IN_PROGRESS; +} + +u8 sub_80A02D8(void) +{ + if (!IsSEPlaying() && sub_80A003C()) + { + sub_80A0024(); + return SAVE_SUCCESS; + } + else + { + return SAVE_IN_PROGRESS; + } +} + +u8 sub_80A02FC(void) +{ + if (!IsTextPrinterActive(0)) + { + PlaySE(0x16); // 22 + gUnknown_0203761C = sub_80A0324; + } + + return SAVE_IN_PROGRESS; +} + +u8 sub_80A0324(void) +{ + if (!sub_80A0070()) + { + return SAVE_IN_PROGRESS; } else { - *index = _index; + sub_80A0024(); + return SAVE_ERROR; + } +} + +void sub_80A0340(void) +{ + gUnknown_0203761C = sub_80A035C; + gUnknown_02037621 = FALSE; +} + +u8 sub_80A035C(void) +{ + sub_819746C(GetStartMenuWindowId(), FALSE); + remove_start_menu_window_maybe(); + sub_809FF98(BattleFrontier_BattlePyramidEmptySquare_Text_252CFB, sub_80A0388); + + return SAVE_IN_PROGRESS; +} + +u8 sub_80A0388(void) +{ + sub_8197948(1); + gUnknown_0203761C = sub_80A03A4; + + return SAVE_IN_PROGRESS; +} + +u8 sub_80A03A4(void) +{ + switch (ProcessMenuInputNoWrap_()) + { + case 0: // Yes + return SAVE_CANCELED; + case -1: // B Button + case 1: // No + sub_80A0014(); + return SAVE_SUCCESS; + } + + return SAVE_IN_PROGRESS; +} + +void sub_80A03D8(void) +{ + TransferPlttBuffer(); +} + +bool32 sub_80A03E4(u8 *par1) +{ + switch (*par1) + { + case 0: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0); + SetVBlankCallback(NULL); + ScanlineEffect_Stop(); + DmaClear16(3, PLTT, PLTT_SIZE); + DmaFillLarge16(3, 0, (void *)(VRAM + 0x0), 0x18000, 0x1000); + break; + case 1: + ResetSpriteData(); + ResetTasks(); + ResetPaletteFade(); + ScanlineEffect_Clear(); + break; + case 2: + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_085105A8, ARRAY_COUNT(gUnknown_085105A8)); + InitWindows(gUnknown_085105AC); + box_border_load_tiles_and_pal(0, 8, 224); + sub_81978B0(240); + break; + case 3: + ShowBg(0); + BlendPalettes(-1, 16, 0); + SetVBlankCallback(sub_80A03D8); + EnableInterrupts(1); + break; + case 4: return TRUE; } -}*/ + + (*par1)++; + return FALSE; +} + +void sub_80A0514(void) +{ + if (sub_80A03E4(&gMain.state)) + { + CreateTask(&sub_80A0550, 0x50); + SetMainCallback2(sub_80A0540); + } +} + +void sub_80A0540(void) +{ + RunTasks(); + UpdatePaletteFade(); +} + +void sub_80A0550(u8 taskId) +{ + s16 *step = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + switch (*step) + { + case 0: + FillWindowPixelBuffer(0, 17); + AddTextPrinterParameterized(0, + 1, + gText_SavingDontTurnOffPower, + 255, + NULL, + 2, + 1, + 3); + sub_8098858(0, 8, 14); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + + if (gWirelessCommType != 0 && InUnionRoom()) + { + if (sub_800A07C()) + { + *step = 1; + } + else + { + *step = 5; + } + } + else + { + gSoftResetDisabled = 1; + *step = 1; + } + break; + case 1: + sub_8076D5C(); + sub_8153430(); + *step = 2; + break; + case 2: + if (sub_8153474()) + { + sav2_gender2_inplace_and_xFE(); + *step = 3; + gSoftResetDisabled = 0; + } + break; + case 3: + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + *step = 4; + break; + case 4: + FreeAllWindowBuffers(); + SetMainCallback2(gMain.savedCallback); + DestroyTask(taskId); + break; + case 5: + CreateTask(&sub_8153688, 0x5); + *step = 6; + break; + case 6: + if (!FuncIsActiveTask(&sub_8153688)) + { + *step = 3; + } + break; + } + } +} + +void sub_80A06B4(void) +{ + struct WindowTemplate saveInfoWindow = gSaveInfoWindowTemplate; + u8 gender; + u8 color; + u32 xOffset; + u32 yOffset; + + if (!FlagGet(FLAG_SYS_POKEDEX_GET)) + { + saveInfoWindow.height -= 2; + } + + gSaveInfoWindowId = AddWindow(&saveInfoWindow); + NewMenuHelpers_DrawStdWindowFrame(gSaveInfoWindowId, 0); + + gender = gSaveBlock2Ptr->playerGender; + color = TEXT_COLOR_RED; // Red when gender is female, blue when male. + + if (gender == MALE) + { + color = TEXT_COLOR_BLUE; + } + + // Print region name + yOffset = 1; + sub_819A344(3, gStringVar4, TEXT_COLOR_GREEN); + PrintTextOnWindow(gSaveInfoWindowId, 1, gStringVar4, 0, yOffset, 0xFF, NULL); + + // Print player name + yOffset = 0x11; + PrintTextOnWindow(gSaveInfoWindowId, 1, gText_SavingPlayer, 0, yOffset, 0xFF, NULL); + sub_819A344(0, gStringVar4, color); + xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); + PrintPlayerNameOnWindow(gSaveInfoWindowId, gStringVar4, xOffset, yOffset); + + // Print badge count + yOffset = 0x21; + PrintTextOnWindow(gSaveInfoWindowId, 1, gText_SavingBadges, 0, yOffset, 0xFF, NULL); + sub_819A344(4, gStringVar4, color); + xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); + PrintTextOnWindow(gSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + + if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) + { + + // Print pokedex count + yOffset = 0x31; + PrintTextOnWindow(gSaveInfoWindowId, 1, gText_SavingPokedex, 0, yOffset, 0xFF, NULL); + sub_819A344(1, gStringVar4, color); + xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); + PrintTextOnWindow(gSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + } + + // Print play time + yOffset += 0x10; + PrintTextOnWindow(gSaveInfoWindowId, 1, gText_SavingTime, 0, yOffset, 0xFF, NULL); + sub_819A344(2, gStringVar4, color); + xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); + PrintTextOnWindow(gSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + + CopyWindowToVram(gSaveInfoWindowId, 2); +} + +void sub_80A0888(void) +{ + sub_819746C(gSaveInfoWindowId, FALSE); + RemoveWindow(gSaveInfoWindowId); +} + +void sub_80A08A4(u8 taskId) +{ + if (!FuncIsActiveTask(sub_8153688)) + { + DestroyTask(taskId); + EnableBothScriptContexts(); + } +} + +void sub_80A08CC(void) +{ + u32 taskId1; + u32 taskId2; + + taskId1 = CreateTask(&sub_8153688, 0x5); + gTasks[taskId1].data[2] = 1; + + taskId2 = CreateTask(&sub_80A08A4, 0x6); + gTasks[taskId2].data[1] = taskId1; +} + +void sub_80A0914(void) +{ + sub_819746C(GetStartMenuWindowId(), TRUE); + remove_start_menu_window_maybe(); + sub_80984F4(); + ScriptContext2_Disable(); +} + +void sub_80A0934(void) +{ + PlaySE(5); + sub_80A0914(); +} + +void AppendToList(u8 *list, u8 *pos, u8 newEntry) +{ + list[*pos] = newEntry; + (*pos)++; +} \ No newline at end of file -- cgit v1.2.3 From 5bc8ee646520653e6df86194078f3573c02cf5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20L=C3=B8vig?= Date: Wed, 28 Mar 2018 15:45:35 +0200 Subject: Added static modifers --- src/start_menu.c | 526 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 268 insertions(+), 258 deletions(-) (limited to 'src/start_menu.c') diff --git a/src/start_menu.c b/src/start_menu.c index 0df3f7b66..69d9aba21 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -59,31 +59,28 @@ enum SAVE_ERROR }; -// Text -extern u8 BattleFrontier_BattlePyramidEmptySquare_Text_252CA7[]; -extern u8 BattleFrontier_BattlePyramidEmptySquare_Text_252CFB[]; -extern u8 gUnknown_082C87B4[]; -extern u8 gUnknown_082C8845[]; // Different save file -extern u8 gUnknown_082C87D5[]; // Already a save file -extern u8 gUnknown_082C8810[]; // Saving… DON’T TURN OFF THE POWER. -extern u8 gUnknown_082C8832[]; // {PLAYER} saved the game. -extern u8 gUnknown_082C892A[]; // Save error. -extern u8 gText_SavingDontTurnOffPower[]; -extern u8 gText_SavingPlayer[]; -extern u8 gText_SavingBadges[]; -extern u8 gText_SavingPokedex[]; -extern u8 gText_SavingTime[]; +EWRAM_DATA static u8 sSafariBallsWindowId = 0; +EWRAM_DATA static u8 sBattlePyramidFloorWindowId = 0; +EWRAM_DATA static u8 sStartMenuCursorPos = 0; +EWRAM_DATA static u8 sNumStartMenuActions = 0; +EWRAM_DATA static u8 sCurrentStartMenuActions[9] = {0}; +EWRAM_DATA static u8 sUnknown_02037619[2] = {0}; + +EWRAM_DATA static u8 (*sSaveDialogCallback)(void) = NULL; +EWRAM_DATA static u8 sSaveDialogTimer = 0; +EWRAM_DATA static bool8 sSavingComplete = FALSE; +EWRAM_DATA static u8 sSaveWindowId = 0; // Extern variables extern u8 gDifferentSaveFile; extern u16 gSaveFileStatus; extern u8 gUnknown_03005DB4; +// Extern functions in uncompiled files extern void sub_80AF688(void); extern void var_800D_set_xB(void); extern void sub_808B864(void); extern void sub_808BCF4(void); -extern void sub_80A0934(void); extern void sub_80BB534(void); extern void play_some_sound(void); extern void CB2_PartyMenuFromStartMenu(void); @@ -97,79 +94,87 @@ extern void sub_81A9EC8(void); extern void save_serialize_map(void); extern void sub_81A9E90(void); -bool8 sub_809FE9C(void); -void sub_80A0888(void); -void sub_80A06B4(void); - -// this file's functions -static bool8 StartMenu_Pokedex(void); -static bool8 StartMenu_Pokemon(void); -static bool8 StartMenu_Bag(void); -static bool8 StartMenu_PokeNav(void); -static bool8 StartMenu_PlayerName(void); -static bool8 StartMenu_Save(void); -static bool8 StartMenu_Option(void); -static bool8 StartMenu_Exit(void); -static bool8 StartMenu_SafariZoneRetire(void); -static bool8 StartMenu_LinkModePlayerName(void); -static bool8 StartMenu_BattlePyramidRetire(void); -static bool8 StartMenu_BattlePyramidBag(void); - -static void BuildStartMenuActions_LinkMode(void); -static void BuildStartMenuActions_UnionRoom(void); -static void BuildStartMenuActions_SafariZone(void); -static void BuildStartMenuActions_BattlePike(void); -static void BuildStartMenuActions_BattlePyramid(void); -static void BuildStartMenuActions_MultiBattleRoom(void); -static void BuildStartMenuActions_Normal(void); - +// Menu action callbacks +static bool8 StartMenuPokedexCallback(void); +static bool8 StartMenuPokemonCallback(void); +static bool8 StartMenuBagCallback(void); +static bool8 StartMenuPokeNavCallback(void); +static bool8 StartMenuPlayerNameCallback(void); +static bool8 StartMenuSaveCallback(void); +static bool8 StartMenuOptionCallback(void); +static bool8 StartMenuExitCallback(void); +static bool8 StartMenuSafariZoneRetireCallback(void); +static bool8 StartMenuLinkModePlayerNameCallback(void); +static bool8 StartMenuBattlePyramidRetireCallback(void); +static bool8 StartMenuBattlePyramidBagCallback(void); + +// Menu callbacks +static bool8 sub_809FE28(void); +static bool8 sub_809FE44(void); +static bool8 sub_809FE9C(void); +static bool8 sub_809FEB8(void); +static bool8 sub_809FED4(void); +static bool8 HandleStartMenuInput(void); + +// Save dialog callbacks +static u8 sub_80A00A0(void); +static u8 sub_80A00EC(void); +static u8 sub_80A0108(void); +static u8 sub_80A017C(void); +static u8 sub_80A01B4(void); +static u8 sub_80A01D0(void); +static u8 sub_80A01EC(void); +static u8 sub_80A0234(void); +static u8 sub_80A024C(void); +static u8 sub_80A02B0(void); +static u8 sub_80A02D8(void); +static u8 sub_80A02FC(void); +static u8 sub_80A0324(void); +static u8 sub_80A035C(void); +static u8 sub_80A0388(void); +static u8 sub_80A03A4(void); + +// Task callbacks +static void task50_startmenu(u8 taskId); static void task50_save_game(u8 taskId); - -u8 sub_809FF4C(void); -u8 sub_80A00EC(void); -bool8 sub_80A00A0(void); -bool8 sub_80A0108(void); -bool8 sub_80A017C(void); -u8 sub_80A01B4(void); -u8 sub_80A01D0(void); -u8 sub_80A01EC(void); -u8 sub_80A0234(void); -u8 sub_80A024C(void); -u8 sub_80A02B0(void); -u8 sub_80A02FC(void); -u8 sub_80A02D8(void); -u8 sub_80A0324(void); -void sub_80A0340(void); -u8 sub_80A035C(void); -u8 sub_80A0388(void); -u8 sub_80A03A4(void); - -bool8 HandleStartMenuInput(void); - -bool32 PrintStartMenuActions(s8*, u32); -bool32 sub_809F894(void); -void InitStartMenu(void); -void sub_809FF28(void); - -void sub_80A0540(void); -void sub_80A0550(u8 taskId); - -// gMenuCallbacks -bool8 sub_809FE28(void); -bool8 sub_809FE44(void); -bool8 sub_809FED4(void); - -// EWRAM vars -EWRAM_DATA u8 sSafariBallsWindowId = 0; -EWRAM_DATA u8 sBattlePyramidFloorWindowId = 0; -EWRAM_DATA u8 sStartMenuCursorPos = 0; -EWRAM_DATA u8 sNumStartMenuActions = 0; -EWRAM_DATA u8 sCurrentStartMenuActions[9] = {0}; -EWRAM_DATA u8 gUnknown_02037619[2] = {0}; -EWRAM_DATA bool8 (*gUnknown_0203761C)(void) = NULL; -EWRAM_DATA u8 gUnknown_02037620 = 0; -EWRAM_DATA bool8 gUnknown_02037621 = FALSE; -EWRAM_DATA u8 gSaveInfoWindowId = 0; +static void sub_80A0550(u8 taskId); +static void sub_80A08A4(u8 taskId); + +// Some callback +static bool8 sub_809FA00(void); + +// Local functions +static void BuildStartMenuActions(void); +static void AddStartMenuAction(u8 action); +static void BuildNormalStartMenu(void); +static void BuildSafariZoneStartMenu(void); +static void BuildLinkModeStartMenu(void); +static void BuildUnionRoomStartMenu(void); +static void BuildBattlePikeStartMenu(void); +static void BuildBattlePyramidStartMenu(void); +static void BuildMultiBattleRoomStartMenu(void); +static void DisplaySafariBallsWindow(void); +static void DisplayPyramidFloorWindow(void); +static void RemoveExtraStartMenuWindows(void); +static bool32 PrintStartMenuActions(s8 *pIndex, u32 count); +static bool32 sub_809F894(void); +static void InitStartMenu(void); +static void sub_809F9D0(TaskFunc followupFunc); +static void sub_809FF28(void); +static u8 sub_809FF4C(void); +static void sub_809FF98(const u8 *message, u8 (*saveCallback)(void)); +static void sub_80A0014(void); +static void sub_80A0024(void); +static void sub_80A0030(void); +static bool8 sub_80A003C(void); +static bool8 sub_80A0070(void); +static void sub_80A0340(void); +static void sub_80A03D8(void); +static bool32 sub_80A03E4(u8 *par1); +static void sub_80A0540(void); +static void sub_80A06B4(void); +static void sub_80A0888(void); +static void sub_80A0914(void); // const rom data static const struct WindowTemplate gSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; @@ -191,19 +196,19 @@ static const struct WindowTemplate gPyramidFloorWindowTemplate_1 = {0, 1, 1, 0xC const struct MenuAction sStartMenuItems[] = { - {gText_MenuPokedex, {.u8_void = StartMenu_Pokedex}}, - {gText_MenuPokemon, {.u8_void = StartMenu_Pokemon}}, - {gText_MenuBag, {.u8_void = StartMenu_Bag}}, - {gText_MenuPokenav, {.u8_void = StartMenu_PokeNav}}, - {gText_MenuPlayer, {.u8_void = StartMenu_PlayerName}}, - {gText_MenuSave, {.u8_void = StartMenu_Save}}, - {gText_MenuOption, {.u8_void = StartMenu_Option}}, - {gText_MenuExit, {.u8_void = StartMenu_Exit}}, - {gText_MenuRetire, {.u8_void = StartMenu_SafariZoneRetire}}, - {gText_MenuPlayer, {.u8_void = StartMenu_LinkModePlayerName}}, - {gText_MenuRest, {.u8_void = StartMenu_Save}}, - {gText_MenuRetire, {.u8_void = StartMenu_BattlePyramidRetire}}, - {gText_MenuBag, {.u8_void = StartMenu_BattlePyramidBag}} + {gText_MenuPokedex, {.u8_void = StartMenuPokedexCallback}}, + {gText_MenuPokemon, {.u8_void = StartMenuPokemonCallback}}, + {gText_MenuBag, {.u8_void = StartMenuBagCallback}}, + {gText_MenuPokenav, {.u8_void = StartMenuPokeNavCallback}}, + {gText_MenuPlayer, {.u8_void = StartMenuPlayerNameCallback}}, + {gText_MenuSave, {.u8_void = StartMenuSaveCallback}}, + {gText_MenuOption, {.u8_void = StartMenuOptionCallback}}, + {gText_MenuExit, {.u8_void = StartMenuExitCallback}}, + {gText_MenuRetire, {.u8_void = StartMenuSafariZoneRetireCallback}}, + {gText_MenuPlayer, {.u8_void = StartMenuLinkModePlayerNameCallback}}, + {gText_MenuRest, {.u8_void = StartMenuSaveCallback}}, + {gText_MenuRetire, {.u8_void = StartMenuBattlePyramidRetireCallback}}, + {gText_MenuBag, {.u8_void = StartMenuBattlePyramidBagCallback}} }; const struct BgTemplate gUnknown_085105A8[] = @@ -227,7 +232,6 @@ const struct WindowTemplate gUnknown_085105AC[] = const struct WindowTemplate gSaveInfoWindowTemplate = {0, 1, 1, 0xE, 0xA, 0xF, 8}; -// code void SetDexPokemonPokenavFlags(void) // unused { FlagSet(FLAG_SYS_POKEDEX_GET); @@ -235,31 +239,31 @@ void SetDexPokemonPokenavFlags(void) // unused FlagSet(FLAG_SYS_POKENAV_GET); } -void BuildStartMenuActions(void) +static void BuildStartMenuActions(void) { sNumStartMenuActions = 0; if (is_c1_link_related_active() == TRUE) - BuildStartMenuActions_LinkMode(); + BuildLinkModeStartMenu(); else if (InUnionRoom() == TRUE) - BuildStartMenuActions_UnionRoom(); + BuildUnionRoomStartMenu(); else if (GetSafariZoneFlag() == TRUE) - BuildStartMenuActions_SafariZone(); + BuildSafariZoneStartMenu(); else if (InBattlePike()) - BuildStartMenuActions_BattlePike(); + BuildBattlePikeStartMenu(); else if (InBattlePyramid()) - BuildStartMenuActions_BattlePyramid(); + BuildBattlePyramidStartMenu(); else if (InMultiBattleRoom()) - BuildStartMenuActions_MultiBattleRoom(); + BuildMultiBattleRoomStartMenu(); else - BuildStartMenuActions_Normal(); + BuildNormalStartMenu(); } -void AddStartMenuAction(u8 action) +static void AddStartMenuAction(u8 action) { AppendToList(sCurrentStartMenuActions, &sNumStartMenuActions, action); } -static void BuildStartMenuActions_Normal(void) +static void BuildNormalStartMenu(void) { if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) AddStartMenuAction(MENU_ACTION_POKEDEX); @@ -274,7 +278,7 @@ static void BuildStartMenuActions_Normal(void) AddStartMenuAction(MENU_ACTION_EXIT); } -static void BuildStartMenuActions_SafariZone(void) +static void BuildSafariZoneStartMenu(void) { AddStartMenuAction(MENU_ACTION_RETIRE_SAFARI); AddStartMenuAction(MENU_ACTION_POKEDEX); @@ -285,7 +289,7 @@ static void BuildStartMenuActions_SafariZone(void) AddStartMenuAction(MENU_ACTION_EXIT); } -static void BuildStartMenuActions_LinkMode(void) +static void BuildLinkModeStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_BAG); @@ -296,7 +300,7 @@ static void BuildStartMenuActions_LinkMode(void) AddStartMenuAction(MENU_ACTION_EXIT); } -static void BuildStartMenuActions_UnionRoom(void) +static void BuildUnionRoomStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_BAG); @@ -307,7 +311,7 @@ static void BuildStartMenuActions_UnionRoom(void) AddStartMenuAction(MENU_ACTION_EXIT); } -static void BuildStartMenuActions_BattlePike(void) +static void BuildBattlePikeStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEDEX); AddStartMenuAction(MENU_ACTION_POKEMON); @@ -316,7 +320,7 @@ static void BuildStartMenuActions_BattlePike(void) AddStartMenuAction(MENU_ACTION_EXIT); } -static void BuildStartMenuActions_BattlePyramid(void) +static void BuildBattlePyramidStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_PYRAMID_BAG); @@ -327,7 +331,7 @@ static void BuildStartMenuActions_BattlePyramid(void) AddStartMenuAction(MENU_ACTION_EXIT); } -static void BuildStartMenuActions_MultiBattleRoom(void) +static void BuildMultiBattleRoomStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_PLAYER); @@ -335,59 +339,64 @@ static void BuildStartMenuActions_MultiBattleRoom(void) AddStartMenuAction(MENU_ACTION_EXIT); } -void DisplaySafariBallsWindow(void) +static void DisplaySafariBallsWindow(void) { sSafariBallsWindowId = AddWindow(&gSafariBallsWindowTemplate); PutWindowTilemap(sSafariBallsWindowId); - NewMenuHelpers_DrawStdWindowFrame(sSafariBallsWindowId, 0); + NewMenuHelpers_DrawStdWindowFrame(sSafariBallsWindowId, FALSE); ConvertIntToDecimalStringN(gStringVar1, gNumSafariBalls, STR_CONV_MODE_RIGHT_ALIGN, 2); StringExpandPlaceholders(gStringVar4, gText_SafariBallStock); PrintTextOnWindow(sSafariBallsWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sSafariBallsWindowId, 2); } -void DisplayPyramidFloorWindow(void) +static void DisplayPyramidFloorWindow(void) { // TODO: fix location if (gSaveBlock2Ptr->field_CAA[4] == 7) + { sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_1); + } else + { sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_2); + } + PutWindowTilemap(sBattlePyramidFloorWindowId); - NewMenuHelpers_DrawStdWindowFrame(sBattlePyramidFloorWindowId, 0); + NewMenuHelpers_DrawStdWindowFrame(sBattlePyramidFloorWindowId, FALSE); StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->field_CAA[4]]); StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor); PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sBattlePyramidFloorWindowId, 2); } -void RemoveExtraStartMenuWindows(void) +static void RemoveExtraStartMenuWindows(void) { if (GetSafariZoneFlag()) { - sub_8198070(sSafariBallsWindowId, 0); + sub_8198070(sSafariBallsWindowId, FALSE); CopyWindowToVram(sSafariBallsWindowId, 2); RemoveWindow(sSafariBallsWindowId); } if (InBattlePyramid()) { - sub_8198070(sBattlePyramidFloorWindowId, 0); + sub_8198070(sBattlePyramidFloorWindowId, FALSE); RemoveWindow(sBattlePyramidFloorWindowId); } } -bool32 PrintStartMenuActions(s8 *pIndex, u32 count) +static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) { s8 index = *pIndex; do { - if (sStartMenuItems[sCurrentStartMenuActions[index]].func.u8_void == StartMenu_PlayerName) { + if (sStartMenuItems[sCurrentStartMenuActions[index]].func.u8_void == StartMenuPlayerNameCallback) { PrintPlayerNameOnWindow(GetStartMenuWindowId(), sStartMenuItems[sCurrentStartMenuActions[index]].text, 8, (index << 4) + 9); } else { StringExpandPlaceholders(gStringVar4, sStartMenuItems[sCurrentStartMenuActions[index]].text); - PrintTextOnWindow(GetStartMenuWindowId(), 1, gStringVar4, 8, (index << 4) + 9, 0xFF, 0); + PrintTextOnWindow(GetStartMenuWindowId(), 1, gStringVar4, 8, (index << 4) + 9, 0xFF, NULL); } index++; @@ -404,23 +413,23 @@ bool32 PrintStartMenuActions(s8 *pIndex, u32 count) return FALSE; } -bool32 sub_809F894(void) +static bool32 sub_809F894(void) { - s8 value = gUnknown_02037619[0]; + s8 value = sUnknown_02037619[0]; switch (value) { case 0: - gUnknown_02037619[0]++; + sUnknown_02037619[0]++; break; case 1: BuildStartMenuActions(); - gUnknown_02037619[0]++; + sUnknown_02037619[0]++; break; case 2: sub_81973A4(); NewMenuHelpers_DrawStdWindowFrame(sub_81979C4(sNumStartMenuActions), FALSE); - gUnknown_02037619[1] = 0; - gUnknown_02037619[0]++; + sUnknown_02037619[1] = 0; + sUnknown_02037619[0]++; break; case 3: if (GetSafariZoneFlag() != FALSE) @@ -431,14 +440,14 @@ bool32 sub_809F894(void) { DisplayPyramidFloorWindow(); } - gUnknown_02037619[0]++; + sUnknown_02037619[0]++; break; case 4: - if (PrintStartMenuActions(&gUnknown_02037619[1], 2) == FALSE) + if (PrintStartMenuActions(&sUnknown_02037619[1], 2) == FALSE) { break; } - gUnknown_02037619[0]++; + sUnknown_02037619[0]++; break; case 5: sStartMenuCursorPos = sub_81983AC(GetStartMenuWindowId(), 1, 0, 9, 16, sNumStartMenuActions, sStartMenuCursorPos); @@ -451,14 +460,14 @@ bool32 sub_809F894(void) return FALSE; } -void InitStartMenu(void) +static void InitStartMenu(void) { - gUnknown_02037619[0] = 0; - gUnknown_02037619[1] = 0; + sUnknown_02037619[0] = 0; + sUnknown_02037619[1] = 0; while (!sub_809F894()); } -void task50_startmenu(u8 taskId) +static void task50_startmenu(u8 taskId) { if (sub_809F894() == TRUE) { @@ -466,14 +475,14 @@ void task50_startmenu(u8 taskId) } } -void sub_809F9D0(TaskFunc followupFunc) +static void sub_809F9D0(TaskFunc followupFunc) { - gUnknown_02037619[0] = 0; - gUnknown_02037619[1] = 0; + sUnknown_02037619[0] = 0; + sUnknown_02037619[1] = 0; SetTaskFuncWithFollowupFunc(CreateTask(&task50_startmenu, 0x50), &task50_startmenu, followupFunc); } -bool8 sub_809FA00(void) +static bool8 sub_809FA00(void) { if (sub_809F894() == FALSE) { @@ -484,14 +493,14 @@ bool8 sub_809FA00(void) return TRUE; } -void sub_809FA18(void) +void sub_809FA18(void) // Called from field_screen.s { - gUnknown_02037619[0] = 0; - gUnknown_02037619[1] = 0; + sUnknown_02037619[0] = 0; + sUnknown_02037619[1] = 0; gUnknown_03005DB0 = &sub_809FA00; } -void sub_809FA34(u8 taskId) +void sub_809FA34(u8 taskId) // Called from field_screen.s and rom_8011DC0.s { struct Task* task = &gTasks[taskId]; @@ -515,7 +524,7 @@ void sub_809FA34(u8 taskId) } } -void sub_809FA9C(void) +void sub_809FA9C(void) // Called from overworld.c and field_control_avatar.s { if (!is_c1_link_related_active()) { @@ -527,7 +536,7 @@ void sub_809FA9C(void) ScriptContext2_Enable(); } -bool8 HandleStartMenuInput(void) // TODO callback +static bool8 HandleStartMenuInput(void) { if (gMain.newKeys & DPAD_UP) { @@ -544,19 +553,19 @@ bool8 HandleStartMenuInput(void) // TODO callback if (gMain.newKeys & A_BUTTON) { PlaySE(5); - if (sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void == StartMenu_Pokedex) + if (sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void == StartMenuPokedexCallback) { - if (GetNationalPokedexCount(0) == FALSE) { + if (GetNationalPokedexCount(0) == 0) { return FALSE; } } gMenuCallback = sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void; - if (gMenuCallback != StartMenu_Save - && gMenuCallback != StartMenu_Exit - && gMenuCallback != StartMenu_SafariZoneRetire - && gMenuCallback != StartMenu_BattlePyramidRetire) + if (gMenuCallback != StartMenuSaveCallback + && gMenuCallback != StartMenuExitCallback + && gMenuCallback != StartMenuSafariZoneRetireCallback + && gMenuCallback != StartMenuBattlePyramidRetireCallback) { FadeScreen(1, 0); } @@ -574,7 +583,7 @@ bool8 HandleStartMenuInput(void) // TODO callback return FALSE; } -static bool8 StartMenu_Pokedex(void) +static bool8 StartMenuPokedexCallback(void) { if (!gPaletteFade.active) { @@ -590,7 +599,7 @@ static bool8 StartMenu_Pokedex(void) return FALSE; } -static bool8 StartMenu_Pokemon(void) +static bool8 StartMenuPokemonCallback(void) { if (!gPaletteFade.active) { @@ -605,7 +614,7 @@ static bool8 StartMenu_Pokemon(void) return FALSE; } -static bool8 StartMenu_Bag(void) +static bool8 StartMenuBagCallback(void) { if (!gPaletteFade.active) { @@ -620,7 +629,7 @@ static bool8 StartMenu_Bag(void) return FALSE; } -static bool8 StartMenu_PokeNav(void) +static bool8 StartMenuPokeNavCallback(void) { if (!gPaletteFade.active) { @@ -635,7 +644,7 @@ static bool8 StartMenu_PokeNav(void) return FALSE; } -static bool8 StartMenu_PlayerName(void) +static bool8 StartMenuPlayerNameCallback(void) { if (!gPaletteFade.active) { @@ -662,7 +671,7 @@ static bool8 StartMenu_PlayerName(void) return FALSE; } -static bool8 StartMenu_Save(void) +static bool8 StartMenuSaveCallback(void) { if (InBattlePyramid()) { @@ -674,7 +683,7 @@ static bool8 StartMenu_Save(void) return FALSE; } -static bool8 StartMenu_Option(void) +static bool8 StartMenuOptionCallback(void) { if (!gPaletteFade.active) { @@ -690,7 +699,7 @@ static bool8 StartMenu_Option(void) return FALSE; } -static bool8 StartMenu_Exit(void) +static bool8 StartMenuExitCallback(void) { RemoveExtraStartMenuWindows(); sub_80A0934(); @@ -698,7 +707,7 @@ static bool8 StartMenu_Exit(void) return TRUE; } -static bool8 StartMenu_SafariZoneRetire(void) +static bool8 StartMenuSafariZoneRetireCallback(void) { RemoveExtraStartMenuWindows(); sub_80A0934(); @@ -707,7 +716,7 @@ static bool8 StartMenu_SafariZoneRetire(void) return TRUE; } -static bool8 StartMenu_LinkModePlayerName(void) +static bool8 StartMenuLinkModePlayerNameCallback(void) { if (!gPaletteFade.active) { @@ -721,14 +730,14 @@ static bool8 StartMenu_LinkModePlayerName(void) return FALSE; } -static bool8 StartMenu_BattlePyramidRetire(void) +static bool8 StartMenuBattlePyramidRetireCallback(void) { gMenuCallback = sub_809FE9C; return FALSE; } -void sub_809FDD4(void) +void sub_809FDD4(void) // Called from battle_frontier_2.s { sub_8197DF8(0, 0); sub_80984F4(); @@ -736,7 +745,7 @@ void sub_809FDD4(void) ScriptContext2_Enable(); } -static bool8 StartMenu_BattlePyramidBag(void) +static bool8 StartMenuBattlePyramidBagCallback(void) { if (!gPaletteFade.active) { @@ -751,7 +760,7 @@ static bool8 StartMenu_BattlePyramidBag(void) return FALSE; } -bool8 sub_809FE28(void) +static bool8 sub_809FE28(void) { sub_809FF28(); gMenuCallback = sub_809FE44; @@ -759,7 +768,7 @@ bool8 sub_809FE28(void) return FALSE; } -bool8 sub_809FE44(void) +static bool8 sub_809FE44(void) { switch (sub_809FF4C()) { @@ -782,7 +791,7 @@ bool8 sub_809FE44(void) return FALSE; } -bool8 sub_809FE9C(void) +static bool8 sub_809FE9C(void) { sub_80A0340(); gMenuCallback = sub_809FED4; @@ -790,7 +799,7 @@ bool8 sub_809FE9C(void) return FALSE; } -bool8 sub_809FEB8(void) +static bool8 sub_809FEB8(void) { InitStartMenu(); gMenuCallback = HandleStartMenuInput; @@ -798,7 +807,7 @@ bool8 sub_809FEB8(void) return FALSE; } -bool8 sub_809FED4(void) +static bool8 sub_809FED4(void) { switch (sub_809FF4C()) { @@ -819,38 +828,38 @@ bool8 sub_809FED4(void) return FALSE; } -void sub_809FF28(void) +static void sub_809FF28(void) { save_serialize_map(); - gUnknown_0203761C = sub_80A00A0; - gUnknown_02037621 = FALSE; + sSaveDialogCallback = sub_80A00A0; + sSavingComplete = FALSE; } -u8 sub_809FF4C(void) +static u8 sub_809FF4C(void) { if (sub_8197224() == TRUE) { return FALSE; } - gUnknown_02037621 = FALSE; - return gUnknown_0203761C(); + sSavingComplete = FALSE; + return sSaveDialogCallback(); } -void sub_809FF80(void) +void sub_809FF80(void) // Called from cable_club.s { sub_809FF28(); CreateTask(task50_save_game, 0x50); } // DisplaySaveMessageWithCallback -void sub_809FF98(const u8 *message, u8 (*func)(void)) +static void sub_809FF98(const u8 *message, u8 (*saveCallback)(void)) // Appears to confirm save/rest/retire { StringExpandPlaceholders(gStringVar4, message); sub_819786C(0, TRUE); AddTextPrinterForMessage_2(TRUE); - gUnknown_02037621 = TRUE; - gUnknown_0203761C = func; + sSavingComplete = TRUE; + sSaveDialogCallback = saveCallback; } static void task50_save_game(u8 taskId) @@ -874,30 +883,31 @@ static void task50_save_game(u8 taskId) EnableBothScriptContexts(); } -void sub_80A0014(void) +static void sub_80A0014(void) { sub_8197434(0, TRUE); } -void sub_80A0024(void) +static void sub_80A0024(void) { sub_80A0888(); } -void sub_80A0030(void) +static void sub_80A0030(void) { - gUnknown_02037620 = 60; + sSaveDialogTimer = 60; } -bool8 sub_80A003C(void) +static bool8 sub_80A003C(void) { - gUnknown_02037620--; + sSaveDialogTimer--; + if (gMain.heldKeys & A_BUTTON) { PlaySE(5); return TRUE; } - else if (gUnknown_02037620 == 0) + else if (sSaveDialogTimer == 0) { return TRUE; } @@ -905,11 +915,11 @@ bool8 sub_80A003C(void) return FALSE; } -bool8 sub_80A0070(void) +static bool8 sub_80A0070(void) { - if (gUnknown_02037620 != 0) + if (sSaveDialogTimer != 0) { - gUnknown_02037620--; + sSaveDialogTimer--; } else if (gMain.heldKeys & A_BUTTON) { @@ -919,7 +929,7 @@ bool8 sub_80A0070(void) return FALSE; } -bool8 sub_80A00A0(void) // Return u8? Ruby +static u8 sub_80A00A0(void) { sub_819746C(GetStartMenuWindowId(), FALSE); remove_start_menu_window_maybe(); @@ -927,24 +937,24 @@ bool8 sub_80A00A0(void) // Return u8? Ruby if (InBattlePyramid()) { - sub_809FF98(BattleFrontier_BattlePyramidEmptySquare_Text_252CA7, sub_80A00EC); + sub_809FF98(gText_BattlePyramidConfirmRest, sub_80A00EC); } else { - sub_809FF98(gUnknown_082C87B4, sub_80A00EC); + sub_809FF98(gText_ConfirmSave, sub_80A00EC); } - return FALSE; // SAVE_IN_PROGRESS ? + return SAVE_IN_PROGRESS; } -bool8 sub_80A00EC(void) +static u8 sub_80A00EC(void) { sub_8197930(); - gUnknown_0203761C = sub_80A0108; - return FALSE; + sSaveDialogCallback = sub_80A0108; + return SAVE_IN_PROGRESS; } -u8 sub_80A0108(void) +static u8 sub_80A0108(void) { switch (ProcessMenuInputNoWrap_()) { @@ -955,14 +965,14 @@ u8 sub_80A0108(void) case 2: if (gDifferentSaveFile == FALSE) { - gUnknown_0203761C = sub_80A017C; + sSaveDialogCallback = sub_80A017C; return SAVE_IN_PROGRESS; } - gUnknown_0203761C = sub_80A0234; + sSaveDialogCallback = sub_80A0234; return SAVE_IN_PROGRESS; default: - gUnknown_0203761C = sub_80A017C; + sSaveDialogCallback = sub_80A017C; return SAVE_IN_PROGRESS; } case -1: // B Button @@ -976,40 +986,40 @@ u8 sub_80A0108(void) } // A different save file exists -u8 sub_80A017C(void) +static u8 sub_80A017C(void) { if (gDifferentSaveFile == TRUE) { - sub_809FF98(gUnknown_082C8845, sub_80A01B4); + sub_809FF98(gText_DifferentSaveFile, sub_80A01B4); } else { - sub_809FF98(gUnknown_082C87D5, sub_80A01D0); + sub_809FF98(gText_AlreadySavedFile, sub_80A01D0); } return SAVE_IN_PROGRESS; } -u8 sub_80A01B4(void) +static u8 sub_80A01B4(void) { sub_8197948(1); - gUnknown_0203761C = sub_80A01EC; + sSaveDialogCallback = sub_80A01EC; return SAVE_IN_PROGRESS; } -u8 sub_80A01D0(void) +static u8 sub_80A01D0(void) { sub_8197930(); - gUnknown_0203761C = sub_80A01EC; + sSaveDialogCallback = sub_80A01EC; return SAVE_IN_PROGRESS; } -u8 sub_80A01EC(void) +static u8 sub_80A01EC(void) { switch (ProcessMenuInputNoWrap_()) { case 0: // Yes - gUnknown_0203761C = sub_80A0234; + sSaveDialogCallback = sub_80A0234; return SAVE_IN_PROGRESS; case -1: // B Button case 1: // No @@ -1021,13 +1031,13 @@ u8 sub_80A01EC(void) return SAVE_IN_PROGRESS; } -u8 sub_80A0234(void) +static u8 sub_80A0234(void) { - sub_809FF98(gUnknown_082C8810, sub_80A024C); + sub_809FF98(gText_SavingDontTurnOff, sub_80A024C); return SAVE_IN_PROGRESS; } -u8 sub_80A024C(void) +static u8 sub_80A024C(void) { u8 saveStatus; @@ -1046,29 +1056,29 @@ u8 sub_80A024C(void) if (saveStatus == 1) // Save succeded { - sub_809FF98(gUnknown_082C8832, sub_80A02B0); + sub_809FF98(gText_PlayerSavedGame, sub_80A02B0); } else // Save error { - sub_809FF98(gUnknown_082C892A, sub_80A02FC); + sub_809FF98(gText_SaveError, sub_80A02FC); } sub_80A0030(); return SAVE_IN_PROGRESS; } -u8 sub_80A02B0(void) +static u8 sub_80A02B0(void) { if (!IsTextPrinterActive(0)) { PlaySE(0x37); // 55 - gUnknown_0203761C = sub_80A02D8; + sSaveDialogCallback = sub_80A02D8; } return SAVE_IN_PROGRESS; } -u8 sub_80A02D8(void) +static u8 sub_80A02D8(void) { if (!IsSEPlaying() && sub_80A003C()) { @@ -1081,18 +1091,18 @@ u8 sub_80A02D8(void) } } -u8 sub_80A02FC(void) +static u8 sub_80A02FC(void) { if (!IsTextPrinterActive(0)) { PlaySE(0x16); // 22 - gUnknown_0203761C = sub_80A0324; + sSaveDialogCallback = sub_80A0324; } return SAVE_IN_PROGRESS; } -u8 sub_80A0324(void) +static u8 sub_80A0324(void) { if (!sub_80A0070()) { @@ -1105,30 +1115,30 @@ u8 sub_80A0324(void) } } -void sub_80A0340(void) +static void sub_80A0340(void) { - gUnknown_0203761C = sub_80A035C; - gUnknown_02037621 = FALSE; + sSaveDialogCallback = sub_80A035C; + sSavingComplete = FALSE; } -u8 sub_80A035C(void) +static u8 sub_80A035C(void) { sub_819746C(GetStartMenuWindowId(), FALSE); remove_start_menu_window_maybe(); - sub_809FF98(BattleFrontier_BattlePyramidEmptySquare_Text_252CFB, sub_80A0388); + sub_809FF98(gText_BattlePyramidConfirmRetire, sub_80A0388); return SAVE_IN_PROGRESS; } -u8 sub_80A0388(void) +static u8 sub_80A0388(void) { sub_8197948(1); - gUnknown_0203761C = sub_80A03A4; + sSaveDialogCallback = sub_80A03A4; return SAVE_IN_PROGRESS; } -u8 sub_80A03A4(void) +static u8 sub_80A03A4(void) { switch (ProcessMenuInputNoWrap_()) { @@ -1143,12 +1153,12 @@ u8 sub_80A03A4(void) return SAVE_IN_PROGRESS; } -void sub_80A03D8(void) +static void sub_80A03D8(void) { TransferPlttBuffer(); } -bool32 sub_80A03E4(u8 *par1) +static bool32 sub_80A03E4(u8 *par1) { switch (*par1) { @@ -1186,7 +1196,7 @@ bool32 sub_80A03E4(u8 *par1) return FALSE; } -void sub_80A0514(void) +void sub_80A0514(void) // Called from cable_club.s { if (sub_80A03E4(&gMain.state)) { @@ -1195,13 +1205,13 @@ void sub_80A0514(void) } } -void sub_80A0540(void) +static void sub_80A0540(void) { RunTasks(); UpdatePaletteFade(); } -void sub_80A0550(u8 taskId) +static void sub_80A0550(u8 taskId) { s16 *step = gTasks[taskId].data; @@ -1277,7 +1287,7 @@ void sub_80A0550(u8 taskId) } } -void sub_80A06B4(void) +static void sub_80A06B4(void) { struct WindowTemplate saveInfoWindow = gSaveInfoWindowTemplate; u8 gender; @@ -1290,8 +1300,8 @@ void sub_80A06B4(void) saveInfoWindow.height -= 2; } - gSaveInfoWindowId = AddWindow(&saveInfoWindow); - NewMenuHelpers_DrawStdWindowFrame(gSaveInfoWindowId, 0); + sSaveWindowId = AddWindow(&saveInfoWindow); + NewMenuHelpers_DrawStdWindowFrame(sSaveWindowId, FALSE); gender = gSaveBlock2Ptr->playerGender; color = TEXT_COLOR_RED; // Red when gender is female, blue when male. @@ -1304,50 +1314,50 @@ void sub_80A06B4(void) // Print region name yOffset = 1; sub_819A344(3, gStringVar4, TEXT_COLOR_GREEN); - PrintTextOnWindow(gSaveInfoWindowId, 1, gStringVar4, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveWindowId, 1, gStringVar4, 0, yOffset, 0xFF, NULL); // Print player name yOffset = 0x11; - PrintTextOnWindow(gSaveInfoWindowId, 1, gText_SavingPlayer, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveWindowId, 1, gText_SavingPlayer, 0, yOffset, 0xFF, NULL); sub_819A344(0, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintPlayerNameOnWindow(gSaveInfoWindowId, gStringVar4, xOffset, yOffset); + PrintPlayerNameOnWindow(sSaveWindowId, gStringVar4, xOffset, yOffset); // Print badge count yOffset = 0x21; - PrintTextOnWindow(gSaveInfoWindowId, 1, gText_SavingBadges, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveWindowId, 1, gText_SavingBadges, 0, yOffset, 0xFF, NULL); sub_819A344(4, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintTextOnWindow(gSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) { // Print pokedex count yOffset = 0x31; - PrintTextOnWindow(gSaveInfoWindowId, 1, gText_SavingPokedex, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveWindowId, 1, gText_SavingPokedex, 0, yOffset, 0xFF, NULL); sub_819A344(1, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintTextOnWindow(gSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); } // Print play time yOffset += 0x10; - PrintTextOnWindow(gSaveInfoWindowId, 1, gText_SavingTime, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveWindowId, 1, gText_SavingTime, 0, yOffset, 0xFF, NULL); sub_819A344(2, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintTextOnWindow(gSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); - CopyWindowToVram(gSaveInfoWindowId, 2); + CopyWindowToVram(sSaveWindowId, 2); } -void sub_80A0888(void) +static void sub_80A0888(void) { - sub_819746C(gSaveInfoWindowId, FALSE); - RemoveWindow(gSaveInfoWindowId); + sub_819746C(sSaveWindowId, FALSE); + RemoveWindow(sSaveWindowId); } -void sub_80A08A4(u8 taskId) +static void sub_80A08A4(u8 taskId) { if (!FuncIsActiveTask(sub_8153688)) { @@ -1356,7 +1366,7 @@ void sub_80A08A4(u8 taskId) } } -void sub_80A08CC(void) +void sub_80A08CC(void) // Referenced in data/specials.inc and data/scripts/maps/BattleFrontier_BattleTowerLobby.inc { u32 taskId1; u32 taskId2; @@ -1368,7 +1378,7 @@ void sub_80A08CC(void) gTasks[taskId2].data[1] = taskId1; } -void sub_80A0914(void) +static void sub_80A0914(void) { sub_819746C(GetStartMenuWindowId(), TRUE); remove_start_menu_window_maybe(); @@ -1376,7 +1386,7 @@ void sub_80A0914(void) ScriptContext2_Disable(); } -void sub_80A0934(void) +void sub_80A0934(void) // Called from map_name_popup.s { PlaySE(5); sub_80A0914(); -- cgit v1.2.3 From 57775a946d6a0274ca6d5530e00eb63d0963499d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20L=C3=B8vig?= Date: Wed, 28 Mar 2018 21:09:27 +0200 Subject: Rename start menu functions --- src/start_menu.c | 470 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 251 insertions(+), 219 deletions(-) (limited to 'src/start_menu.c') diff --git a/src/start_menu.c b/src/start_menu.c index 69d9aba21..05538ac3a 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -31,6 +31,8 @@ #include "text_window.h" #include "load_save.h" #include "international_string_util.h" +#include "constants/songs.h" +#include "field_player_avatar.h" // Menu actions enum @@ -69,7 +71,7 @@ EWRAM_DATA static u8 sUnknown_02037619[2] = {0}; EWRAM_DATA static u8 (*sSaveDialogCallback)(void) = NULL; EWRAM_DATA static u8 sSaveDialogTimer = 0; EWRAM_DATA static bool8 sSavingComplete = FALSE; -EWRAM_DATA static u8 sSaveWindowId = 0; +EWRAM_DATA static u8 sSaveInfoWindowId = 0; // Extern variables extern u8 gDifferentSaveFile; @@ -80,7 +82,6 @@ extern u8 gUnknown_03005DB4; extern void sub_80AF688(void); extern void var_800D_set_xB(void); extern void sub_808B864(void); -extern void sub_808BCF4(void); extern void sub_80BB534(void); extern void play_some_sound(void); extern void CB2_PartyMenuFromStartMenu(void); @@ -109,74 +110,40 @@ static bool8 StartMenuBattlePyramidRetireCallback(void); static bool8 StartMenuBattlePyramidBagCallback(void); // Menu callbacks -static bool8 sub_809FE28(void); -static bool8 sub_809FE44(void); -static bool8 sub_809FE9C(void); -static bool8 sub_809FEB8(void); -static bool8 sub_809FED4(void); +static bool8 SaveStartCallback(void); +static bool8 SaveCallback(void); +static bool8 BattlePyramidRetireStartCallback(void); +static bool8 BattlePyramidRetireReturnCallback(void); +static bool8 BattlePyramidRetireCallback(void); static bool8 HandleStartMenuInput(void); // Save dialog callbacks -static u8 sub_80A00A0(void); -static u8 sub_80A00EC(void); -static u8 sub_80A0108(void); -static u8 sub_80A017C(void); -static u8 sub_80A01B4(void); -static u8 sub_80A01D0(void); -static u8 sub_80A01EC(void); -static u8 sub_80A0234(void); -static u8 sub_80A024C(void); -static u8 sub_80A02B0(void); -static u8 sub_80A02D8(void); -static u8 sub_80A02FC(void); -static u8 sub_80A0324(void); -static u8 sub_80A035C(void); -static u8 sub_80A0388(void); -static u8 sub_80A03A4(void); +static u8 SaveConfirmSaveCallback(void); +static u8 SaveYesNoCallback(void); +static u8 SaveConfirmInputCallback(void); +static u8 SaveFileExistsCallback(void); +static u8 SaveConfirmOverwriteNoCallback(void); +static u8 SaveConfirmOverwriteCallback(void); +static u8 SaveOverwriteInputCallback(void); +static u8 SaveSavingMessageCallback(void); +static u8 SaveDoSaveCallback(void); +static u8 SaveSuccessCallback(void); +static u8 SaveReturnSuccessCallback(void); +static u8 SaveErrorCallback(void); +static u8 SaveReturnErrorCallback(void); +static u8 BattlePyramidConfirmRetireCallback(void); +static u8 BattlePyramidRetireYesNoCallback(void); +static u8 BattlePyramidRetireInputCallback(void); // Task callbacks -static void task50_startmenu(u8 taskId); -static void task50_save_game(u8 taskId); +static void StartMenuTask(u8 taskId); +static void SaveGameTask(u8 taskId); static void sub_80A0550(u8 taskId); static void sub_80A08A4(u8 taskId); -// Some callback +// Some other callback static bool8 sub_809FA00(void); -// Local functions -static void BuildStartMenuActions(void); -static void AddStartMenuAction(u8 action); -static void BuildNormalStartMenu(void); -static void BuildSafariZoneStartMenu(void); -static void BuildLinkModeStartMenu(void); -static void BuildUnionRoomStartMenu(void); -static void BuildBattlePikeStartMenu(void); -static void BuildBattlePyramidStartMenu(void); -static void BuildMultiBattleRoomStartMenu(void); -static void DisplaySafariBallsWindow(void); -static void DisplayPyramidFloorWindow(void); -static void RemoveExtraStartMenuWindows(void); -static bool32 PrintStartMenuActions(s8 *pIndex, u32 count); -static bool32 sub_809F894(void); -static void InitStartMenu(void); -static void sub_809F9D0(TaskFunc followupFunc); -static void sub_809FF28(void); -static u8 sub_809FF4C(void); -static void sub_809FF98(const u8 *message, u8 (*saveCallback)(void)); -static void sub_80A0014(void); -static void sub_80A0024(void); -static void sub_80A0030(void); -static bool8 sub_80A003C(void); -static bool8 sub_80A0070(void); -static void sub_80A0340(void); -static void sub_80A03D8(void); -static bool32 sub_80A03E4(u8 *par1); -static void sub_80A0540(void); -static void sub_80A06B4(void); -static void sub_80A0888(void); -static void sub_80A0914(void); - -// const rom data static const struct WindowTemplate gSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; static const u8* const sPyramindFloorNames[] = @@ -232,6 +199,39 @@ const struct WindowTemplate gUnknown_085105AC[] = const struct WindowTemplate gSaveInfoWindowTemplate = {0, 1, 1, 0xE, 0xA, 0xF, 8}; +// Local functions +static void BuildStartMenuActions(void); +static void AddStartMenuAction(u8 action); +static void BuildNormalStartMenu(void); +static void BuildSafariZoneStartMenu(void); +static void BuildLinkModeStartMenu(void); +static void BuildUnionRoomStartMenu(void); +static void BuildBattlePikeStartMenu(void); +static void BuildBattlePyramidStartMenu(void); +static void BuildMultiBattleRoomStartMenu(void); +static void ShowSafariBallsWindow(void); +static void ShowPyramidFloorWindow(void); +static void HideExtraStartMenuWindows(void); +static bool32 PrintStartMenuActions(s8 *pIndex, u32 count); +static bool32 InitStartMenuStep(void); +static void InitStartMenu(void); +static void CreateStartMenuTask(TaskFunc followupFunc); +static void InitSave(void); +static u8 RunSaveCallback(void); +static void ShowSaveMessage(const u8 *message, u8 (*saveCallback)(void)); +static void sub_80A0014(void); +static void HideSaveInfoWindow(void); +static void SaveStartTimer(void); +static bool8 SaveSuccesTimer(void); +static bool8 SaveErrorTimer(void); +static void InitBattlePyramidRetire(void); +static void sub_80A03D8(void); +static bool32 sub_80A03E4(u8 *par1); +static void sub_80A0540(void); +static void ShowSaveInfoWindow(void); +static void RemoveSaveInfoWindow(void); +static void HideStartMenuWindow(void); + void SetDexPokemonPokenavFlags(void) // unused { FlagSet(FLAG_SYS_POKEDEX_GET); @@ -242,20 +242,35 @@ void SetDexPokemonPokenavFlags(void) // unused static void BuildStartMenuActions(void) { sNumStartMenuActions = 0; + if (is_c1_link_related_active() == TRUE) + { BuildLinkModeStartMenu(); + } else if (InUnionRoom() == TRUE) + { BuildUnionRoomStartMenu(); + } else if (GetSafariZoneFlag() == TRUE) + { BuildSafariZoneStartMenu(); + } else if (InBattlePike()) + { BuildBattlePikeStartMenu(); + } else if (InBattlePyramid()) + { BuildBattlePyramidStartMenu(); + } else if (InMultiBattleRoom()) + { BuildMultiBattleRoomStartMenu(); + } else + { BuildNormalStartMenu(); + } } static void AddStartMenuAction(u8 action) @@ -266,12 +281,21 @@ static void AddStartMenuAction(u8 action) static void BuildNormalStartMenu(void) { if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) + { AddStartMenuAction(MENU_ACTION_POKEDEX); + } if (FlagGet(FLAG_SYS_POKEMON_GET) == TRUE) + { AddStartMenuAction(MENU_ACTION_POKEMON); + } + AddStartMenuAction(MENU_ACTION_BAG); + if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE) + { AddStartMenuAction(MENU_ACTION_POKENAV); + } + AddStartMenuAction(MENU_ACTION_PLAYER); AddStartMenuAction(MENU_ACTION_SAVE); AddStartMenuAction(MENU_ACTION_OPTION); @@ -293,8 +317,12 @@ static void BuildLinkModeStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_BAG); + if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE) + { AddStartMenuAction(MENU_ACTION_POKENAV); + } + AddStartMenuAction(MENU_ACTION_PLAYER_LINK); AddStartMenuAction(MENU_ACTION_OPTION); AddStartMenuAction(MENU_ACTION_EXIT); @@ -304,8 +332,12 @@ static void BuildUnionRoomStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); AddStartMenuAction(MENU_ACTION_BAG); + if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE) + { AddStartMenuAction(MENU_ACTION_POKENAV); + } + AddStartMenuAction(MENU_ACTION_PLAYER); AddStartMenuAction(MENU_ACTION_OPTION); AddStartMenuAction(MENU_ACTION_EXIT); @@ -339,7 +371,7 @@ static void BuildMultiBattleRoomStartMenu(void) AddStartMenuAction(MENU_ACTION_EXIT); } -static void DisplaySafariBallsWindow(void) +static void ShowSafariBallsWindow(void) { sSafariBallsWindowId = AddWindow(&gSafariBallsWindowTemplate); PutWindowTilemap(sSafariBallsWindowId); @@ -350,10 +382,9 @@ static void DisplaySafariBallsWindow(void) CopyWindowToVram(sSafariBallsWindowId, 2); } -static void DisplayPyramidFloorWindow(void) +static void ShowPyramidFloorWindow(void) { - // TODO: fix location - if (gSaveBlock2Ptr->field_CAA[4] == 7) + if (gSaveBlock2Ptr->field_CAA[4] == 7) // TODO: fix location { sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_1); } @@ -370,7 +401,7 @@ static void DisplayPyramidFloorWindow(void) CopyWindowToVram(sBattlePyramidFloorWindowId, 2); } -static void RemoveExtraStartMenuWindows(void) +static void HideExtraStartMenuWindows(void) { if (GetSafariZoneFlag()) { @@ -413,9 +444,10 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) return FALSE; } -static bool32 sub_809F894(void) +static bool32 InitStartMenuStep(void) { s8 value = sUnknown_02037619[0]; + switch (value) { case 0: @@ -434,11 +466,11 @@ static bool32 sub_809F894(void) case 3: if (GetSafariZoneFlag() != FALSE) { - DisplaySafariBallsWindow(); + ShowSafariBallsWindow(); } if (InBattlePyramid() != FALSE) { - DisplayPyramidFloorWindow(); + ShowPyramidFloorWindow(); } sUnknown_02037619[0]++; break; @@ -453,8 +485,6 @@ static bool32 sub_809F894(void) sStartMenuCursorPos = sub_81983AC(GetStartMenuWindowId(), 1, 0, 9, 16, sNumStartMenuActions, sStartMenuCursorPos); CopyWindowToVram(GetStartMenuWindowId(), TRUE); return TRUE; - default: - break; } return FALSE; @@ -464,27 +494,30 @@ static void InitStartMenu(void) { sUnknown_02037619[0] = 0; sUnknown_02037619[1] = 0; - while (!sub_809F894()); + while (!InitStartMenuStep()); } -static void task50_startmenu(u8 taskId) +static void StartMenuTask(u8 taskId) { - if (sub_809F894() == TRUE) + if (InitStartMenuStep() == TRUE) { SwitchTaskToFollowupFunc(taskId); } } -static void sub_809F9D0(TaskFunc followupFunc) +static void CreateStartMenuTask(TaskFunc followupFunc) { + u8 taskId; + sUnknown_02037619[0] = 0; sUnknown_02037619[1] = 0; - SetTaskFuncWithFollowupFunc(CreateTask(&task50_startmenu, 0x50), &task50_startmenu, followupFunc); + taskId = CreateTask(StartMenuTask, 0x50); + SetTaskFuncWithFollowupFunc(taskId, StartMenuTask, followupFunc); } static bool8 sub_809FA00(void) { - if (sub_809F894() == FALSE) + if (InitStartMenuStep() == FALSE) { return FALSE; } @@ -500,7 +533,7 @@ void sub_809FA18(void) // Called from field_screen.s gUnknown_03005DB0 = &sub_809FA00; } -void sub_809FA34(u8 taskId) // Called from field_screen.s and rom_8011DC0.s +void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s { struct Task* task = &gTasks[taskId]; @@ -524,7 +557,7 @@ void sub_809FA34(u8 taskId) // Called from field_screen.s and rom_8011DC0.s } } -void sub_809FA9C(void) // Called from overworld.c and field_control_avatar.s +void ShowStartMenu(void) // Called from overworld.c and field_control_avatar.s { if (!is_c1_link_related_active()) { @@ -532,7 +565,7 @@ void sub_809FA9C(void) // Called from overworld.c and field_control_avatar.s sub_808B864(); sub_808BCF4(); } - sub_809F9D0(sub_809FA34); + CreateStartMenuTask(sub_809FA34); ScriptContext2_Enable(); } @@ -540,19 +573,19 @@ static bool8 HandleStartMenuInput(void) { if (gMain.newKeys & DPAD_UP) { - PlaySE(5); + PlaySE(SE_SELECT); sStartMenuCursorPos = MoveMenuCursor(-1); } if (gMain.newKeys & DPAD_DOWN) { - PlaySE(5); + PlaySE(SE_SELECT); sStartMenuCursorPos = MoveMenuCursor(1); } if (gMain.newKeys & A_BUTTON) { - PlaySE(5); + PlaySE(SE_SELECT); if (sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void == StartMenuPokedexCallback) { if (GetNationalPokedexCount(0) == 0) { @@ -575,8 +608,8 @@ static bool8 HandleStartMenuInput(void) if (gMain.newKeys & (START_BUTTON | B_BUTTON)) { - RemoveExtraStartMenuWindows(); - sub_80A0934(); + HideExtraStartMenuWindows(); + HideStartMenu(); return TRUE; } @@ -589,9 +622,9 @@ static bool8 StartMenuPokedexCallback(void) { IncrementGameStat(GAME_STAT_CHECKED_POKEDEX); play_some_sound(); - RemoveExtraStartMenuWindows(); + HideExtraStartMenuWindows(); overworld_free_bg_tilemaps(); - SetMainCallback2(sub_80BB534); + SetMainCallback2(sub_80BB534); // Display pokedex return TRUE; } @@ -604,9 +637,9 @@ static bool8 StartMenuPokemonCallback(void) if (!gPaletteFade.active) { play_some_sound(); - RemoveExtraStartMenuWindows(); + HideExtraStartMenuWindows(); overworld_free_bg_tilemaps(); - SetMainCallback2(CB2_PartyMenuFromStartMenu); + SetMainCallback2(CB2_PartyMenuFromStartMenu); // Display party menu return TRUE; } @@ -619,9 +652,9 @@ static bool8 StartMenuBagCallback(void) if (!gPaletteFade.active) { play_some_sound(); - RemoveExtraStartMenuWindows(); + HideExtraStartMenuWindows(); overworld_free_bg_tilemaps(); - SetMainCallback2(CB2_BagMenuFromStartMenu); + SetMainCallback2(CB2_BagMenuFromStartMenu); // Display bag menu return TRUE; } @@ -634,9 +667,9 @@ static bool8 StartMenuPokeNavCallback(void) if (!gPaletteFade.active) { play_some_sound(); - RemoveExtraStartMenuWindows(); + HideExtraStartMenuWindows(); overworld_free_bg_tilemaps(); - SetMainCallback2(CB2_PokeNav); + SetMainCallback2(CB2_PokeNav); // Display PokeNav return TRUE; } @@ -649,20 +682,20 @@ static bool8 StartMenuPlayerNameCallback(void) if (!gPaletteFade.active) { play_some_sound(); - RemoveExtraStartMenuWindows(); + HideExtraStartMenuWindows(); overworld_free_bg_tilemaps(); if (is_c1_link_related_active() || InUnionRoom()) { - sub_80C4DDC(CB2_ReturnToFieldWithOpenMenu); + sub_80C4DDC(CB2_ReturnToFieldWithOpenMenu); // Display trainer card } else if (FlagGet(FLAG_SYS_FRONTIER_PASS)) { - sub_80C51C4(CB2_ReturnToFieldWithOpenMenu); + sub_80C51C4(CB2_ReturnToFieldWithOpenMenu); // Display frontier pass } else { - sub_80C4DDC(CB2_ReturnToFieldWithOpenMenu); + sub_80C4DDC(CB2_ReturnToFieldWithOpenMenu); // Display trainer card } return TRUE; @@ -675,10 +708,10 @@ static bool8 StartMenuSaveCallback(void) { if (InBattlePyramid()) { - RemoveExtraStartMenuWindows(); + HideExtraStartMenuWindows(); } - gMenuCallback = sub_809FE28; + gMenuCallback = SaveStartCallback; // Display save menu return FALSE; } @@ -688,9 +721,9 @@ static bool8 StartMenuOptionCallback(void) if (!gPaletteFade.active) { play_some_sound(); - RemoveExtraStartMenuWindows(); + HideExtraStartMenuWindows(); overworld_free_bg_tilemaps(); - SetMainCallback2(CB2_InitOptionMenu); + SetMainCallback2(CB2_InitOptionMenu); // Display option menu gMain.savedCallback = CB2_ReturnToFieldWithOpenMenu; return TRUE; @@ -701,16 +734,16 @@ static bool8 StartMenuOptionCallback(void) static bool8 StartMenuExitCallback(void) { - RemoveExtraStartMenuWindows(); - sub_80A0934(); + HideExtraStartMenuWindows(); + HideStartMenu(); // Hide start menu return TRUE; } static bool8 StartMenuSafariZoneRetireCallback(void) { - RemoveExtraStartMenuWindows(); - sub_80A0934(); + HideExtraStartMenuWindows(); + HideStartMenu(); SafariZoneRetirePrompt(); return TRUE; @@ -732,16 +765,16 @@ static bool8 StartMenuLinkModePlayerNameCallback(void) static bool8 StartMenuBattlePyramidRetireCallback(void) { - gMenuCallback = sub_809FE9C; + gMenuCallback = BattlePyramidRetireStartCallback; // Confirm retire return FALSE; } void sub_809FDD4(void) // Called from battle_frontier_2.s { - sub_8197DF8(0, 0); + sub_8197DF8(0, FALSE); sub_80984F4(); - sub_809F9D0(sub_809FA34); + CreateStartMenuTask(sub_809FA34); ScriptContext2_Enable(); } @@ -750,9 +783,9 @@ static bool8 StartMenuBattlePyramidBagCallback(void) if (!gPaletteFade.active) { play_some_sound(); - RemoveExtraStartMenuWindows(); + HideExtraStartMenuWindows(); overworld_free_bg_tilemaps(); - SetMainCallback2(sub_81C4EFC); + SetMainCallback2(sub_81C4EFC); // Display battle pyramid bag return TRUE; } @@ -760,28 +793,28 @@ static bool8 StartMenuBattlePyramidBagCallback(void) return FALSE; } -static bool8 sub_809FE28(void) +static bool8 SaveStartCallback(void) { - sub_809FF28(); - gMenuCallback = sub_809FE44; + InitSave(); + gMenuCallback = SaveCallback; return FALSE; } -static bool8 sub_809FE44(void) +static bool8 SaveCallback(void) { - switch (sub_809FF4C()) + switch (RunSaveCallback()) { case SAVE_IN_PROGRESS: return FALSE; - case SAVE_CANCELED: - sub_8197DF8(0, 0); + case SAVE_CANCELED: // Back to start menu + sub_8197DF8(0, FALSE); InitStartMenu(); gMenuCallback = HandleStartMenuInput; return FALSE; case SAVE_SUCCESS: - case SAVE_ERROR: - sub_8197DF8(0, 1); + case SAVE_ERROR: // Close start menu + sub_8197DF8(0, TRUE); sub_80984F4(); ScriptContext2_Disable(); sub_81A9EC8(); @@ -791,15 +824,15 @@ static bool8 sub_809FE44(void) return FALSE; } -static bool8 sub_809FE9C(void) +static bool8 BattlePyramidRetireStartCallback(void) { - sub_80A0340(); - gMenuCallback = sub_809FED4; + InitBattlePyramidRetire(); + gMenuCallback = BattlePyramidRetireCallback; return FALSE; } -static bool8 sub_809FEB8(void) +static bool8 BattlePyramidRetireReturnCallback(void) { InitStartMenu(); gMenuCallback = HandleStartMenuInput; @@ -807,18 +840,18 @@ static bool8 sub_809FEB8(void) return FALSE; } -static bool8 sub_809FED4(void) +static bool8 BattlePyramidRetireCallback(void) { - switch (sub_809FF4C()) + switch (RunSaveCallback()) { - case SAVE_SUCCESS: - RemoveExtraStartMenuWindows(); - gMenuCallback = sub_809FEB8; + case SAVE_SUCCESS: // No (Stay in battle pyramid) + HideExtraStartMenuWindows(); + gMenuCallback = BattlePyramidRetireReturnCallback; return FALSE; case SAVE_IN_PROGRESS: return FALSE; - case SAVE_CANCELED: - sub_8197DF8(0, 1); + case SAVE_CANCELED: // Yes (Retire from battle pyramid) + sub_8197DF8(0, TRUE); sub_80984F4(); ScriptContext2_Disable(); ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88); @@ -828,32 +861,32 @@ static bool8 sub_809FED4(void) return FALSE; } -static void sub_809FF28(void) +static void InitSave(void) { save_serialize_map(); - sSaveDialogCallback = sub_80A00A0; + sSaveDialogCallback = SaveConfirmSaveCallback; sSavingComplete = FALSE; } -static u8 sub_809FF4C(void) +static u8 RunSaveCallback(void) { + // True if text is still printing if (sub_8197224() == TRUE) { - return FALSE; + return SAVE_IN_PROGRESS; } sSavingComplete = FALSE; return sSaveDialogCallback(); } -void sub_809FF80(void) // Called from cable_club.s +void SaveGame(void) // Called from cable_club.s { - sub_809FF28(); - CreateTask(task50_save_game, 0x50); + InitSave(); + CreateTask(SaveGameTask, 0x50); } -// DisplaySaveMessageWithCallback -static void sub_809FF98(const u8 *message, u8 (*saveCallback)(void)) // Appears to confirm save/rest/retire +static void ShowSaveMessage(const u8 *message, u8 (*saveCallback)(void)) { StringExpandPlaceholders(gStringVar4, message); sub_819786C(0, TRUE); @@ -862,9 +895,9 @@ static void sub_809FF98(const u8 *message, u8 (*saveCallback)(void)) // Appears sSaveDialogCallback = saveCallback; } -static void task50_save_game(u8 taskId) +static void SaveGameTask(u8 taskId) { - u8 status = sub_809FF4C(); + u8 status = RunSaveCallback(); switch (status) { @@ -888,23 +921,23 @@ static void sub_80A0014(void) sub_8197434(0, TRUE); } -static void sub_80A0024(void) +static void HideSaveInfoWindow(void) { - sub_80A0888(); + RemoveSaveInfoWindow(); } -static void sub_80A0030(void) +static void SaveStartTimer(void) { sSaveDialogTimer = 60; } -static bool8 sub_80A003C(void) +static bool8 SaveSuccesTimer(void) { sSaveDialogTimer--; if (gMain.heldKeys & A_BUTTON) { - PlaySE(5); + PlaySE(SE_SELECT); return TRUE; } else if (sSaveDialogTimer == 0) @@ -915,7 +948,7 @@ static bool8 sub_80A003C(void) return FALSE; } -static bool8 sub_80A0070(void) +static bool8 SaveErrorTimer(void) { if (sSaveDialogTimer != 0) { @@ -929,32 +962,32 @@ static bool8 sub_80A0070(void) return FALSE; } -static u8 sub_80A00A0(void) +static u8 SaveConfirmSaveCallback(void) { sub_819746C(GetStartMenuWindowId(), FALSE); remove_start_menu_window_maybe(); - sub_80A06B4(); + ShowSaveInfoWindow(); if (InBattlePyramid()) { - sub_809FF98(gText_BattlePyramidConfirmRest, sub_80A00EC); + ShowSaveMessage(gText_BattlePyramidConfirmRest, SaveYesNoCallback); } else { - sub_809FF98(gText_ConfirmSave, sub_80A00EC); + ShowSaveMessage(gText_ConfirmSave, SaveYesNoCallback); } return SAVE_IN_PROGRESS; } -static u8 sub_80A00EC(void) +static u8 SaveYesNoCallback(void) { - sub_8197930(); - sSaveDialogCallback = sub_80A0108; + sub_8197930(); // Show Yes/No menu + sSaveDialogCallback = SaveConfirmInputCallback; return SAVE_IN_PROGRESS; } -static u8 sub_80A0108(void) +static u8 SaveConfirmInputCallback(void) { switch (ProcessMenuInputNoWrap_()) { @@ -965,19 +998,19 @@ static u8 sub_80A0108(void) case 2: if (gDifferentSaveFile == FALSE) { - sSaveDialogCallback = sub_80A017C; + sSaveDialogCallback = SaveFileExistsCallback; return SAVE_IN_PROGRESS; } - sSaveDialogCallback = sub_80A0234; + sSaveDialogCallback = SaveSavingMessageCallback; return SAVE_IN_PROGRESS; default: - sSaveDialogCallback = sub_80A017C; + sSaveDialogCallback = SaveFileExistsCallback; return SAVE_IN_PROGRESS; } case -1: // B Button case 1: // No - sub_80A0024(); + HideSaveInfoWindow(); sub_80A0014(); return SAVE_CANCELED; } @@ -986,44 +1019,44 @@ static u8 sub_80A0108(void) } // A different save file exists -static u8 sub_80A017C(void) +static u8 SaveFileExistsCallback(void) { if (gDifferentSaveFile == TRUE) { - sub_809FF98(gText_DifferentSaveFile, sub_80A01B4); + ShowSaveMessage(gText_DifferentSaveFile, SaveConfirmOverwriteNoCallback); } else { - sub_809FF98(gText_AlreadySavedFile, sub_80A01D0); + ShowSaveMessage(gText_AlreadySavedFile, SaveConfirmOverwriteCallback); } return SAVE_IN_PROGRESS; } -static u8 sub_80A01B4(void) +static u8 SaveConfirmOverwriteNoCallback(void) { - sub_8197948(1); - sSaveDialogCallback = sub_80A01EC; + sub_8197948(1); // Show Yes/No menu (No selected as default) + sSaveDialogCallback = SaveOverwriteInputCallback; return SAVE_IN_PROGRESS; } -static u8 sub_80A01D0(void) +static u8 SaveConfirmOverwriteCallback(void) { - sub_8197930(); - sSaveDialogCallback = sub_80A01EC; + sub_8197930(); // Show Yes/No menu + sSaveDialogCallback = SaveOverwriteInputCallback; return SAVE_IN_PROGRESS; } -static u8 sub_80A01EC(void) +static u8 SaveOverwriteInputCallback(void) { switch (ProcessMenuInputNoWrap_()) { case 0: // Yes - sSaveDialogCallback = sub_80A0234; + sSaveDialogCallback = SaveSavingMessageCallback; return SAVE_IN_PROGRESS; case -1: // B Button case 1: // No - sub_80A0024(); + HideSaveInfoWindow(); sub_80A0014(); return SAVE_CANCELED; } @@ -1031,13 +1064,13 @@ static u8 sub_80A01EC(void) return SAVE_IN_PROGRESS; } -static u8 sub_80A0234(void) +static u8 SaveSavingMessageCallback(void) { - sub_809FF98(gText_SavingDontTurnOff, sub_80A024C); + ShowSaveMessage(gText_SavingDontTurnOff, SaveDoSaveCallback); return SAVE_IN_PROGRESS; } -static u8 sub_80A024C(void) +static u8 SaveDoSaveCallback(void) { u8 saveStatus; @@ -1056,33 +1089,33 @@ static u8 sub_80A024C(void) if (saveStatus == 1) // Save succeded { - sub_809FF98(gText_PlayerSavedGame, sub_80A02B0); + ShowSaveMessage(gText_PlayerSavedGame, SaveSuccessCallback); } - else // Save error + else // Save error { - sub_809FF98(gText_SaveError, sub_80A02FC); + ShowSaveMessage(gText_SaveError, SaveErrorCallback); } - sub_80A0030(); + SaveStartTimer(); return SAVE_IN_PROGRESS; } -static u8 sub_80A02B0(void) +static u8 SaveSuccessCallback(void) { if (!IsTextPrinterActive(0)) { - PlaySE(0x37); // 55 - sSaveDialogCallback = sub_80A02D8; + PlaySE(SE_SAVE); + sSaveDialogCallback = SaveReturnSuccessCallback; } return SAVE_IN_PROGRESS; } -static u8 sub_80A02D8(void) +static u8 SaveReturnSuccessCallback(void) { - if (!IsSEPlaying() && sub_80A003C()) + if (!IsSEPlaying() && SaveSuccesTimer()) { - sub_80A0024(); + HideSaveInfoWindow(); return SAVE_SUCCESS; } else @@ -1091,54 +1124,54 @@ static u8 sub_80A02D8(void) } } -static u8 sub_80A02FC(void) +static u8 SaveErrorCallback(void) { if (!IsTextPrinterActive(0)) { - PlaySE(0x16); // 22 - sSaveDialogCallback = sub_80A0324; + PlaySE(SE_BOO); + sSaveDialogCallback = SaveReturnErrorCallback; } return SAVE_IN_PROGRESS; } -static u8 sub_80A0324(void) +static u8 SaveReturnErrorCallback(void) { - if (!sub_80A0070()) + if (!SaveErrorTimer()) { return SAVE_IN_PROGRESS; } else { - sub_80A0024(); + HideSaveInfoWindow(); return SAVE_ERROR; } } -static void sub_80A0340(void) +static void InitBattlePyramidRetire(void) { - sSaveDialogCallback = sub_80A035C; + sSaveDialogCallback = BattlePyramidConfirmRetireCallback; sSavingComplete = FALSE; } -static u8 sub_80A035C(void) +static u8 BattlePyramidConfirmRetireCallback(void) { sub_819746C(GetStartMenuWindowId(), FALSE); remove_start_menu_window_maybe(); - sub_809FF98(gText_BattlePyramidConfirmRetire, sub_80A0388); + ShowSaveMessage(gText_BattlePyramidConfirmRetire, BattlePyramidRetireYesNoCallback); return SAVE_IN_PROGRESS; } -static u8 sub_80A0388(void) +static u8 BattlePyramidRetireYesNoCallback(void) { - sub_8197948(1); - sSaveDialogCallback = sub_80A03A4; + sub_8197948(1); // Show Yes/No menu (No selected as default) + sSaveDialogCallback = BattlePyramidRetireInputCallback; return SAVE_IN_PROGRESS; } -static u8 sub_80A03A4(void) +static u8 BattlePyramidRetireInputCallback(void) { switch (ProcessMenuInputNoWrap_()) { @@ -1287,7 +1320,7 @@ static void sub_80A0550(u8 taskId) } } -static void sub_80A06B4(void) +static void ShowSaveInfoWindow(void) { struct WindowTemplate saveInfoWindow = gSaveInfoWindowTemplate; u8 gender; @@ -1300,11 +1333,11 @@ static void sub_80A06B4(void) saveInfoWindow.height -= 2; } - sSaveWindowId = AddWindow(&saveInfoWindow); - NewMenuHelpers_DrawStdWindowFrame(sSaveWindowId, FALSE); + sSaveInfoWindowId = AddWindow(&saveInfoWindow); + NewMenuHelpers_DrawStdWindowFrame(sSaveInfoWindowId, FALSE); gender = gSaveBlock2Ptr->playerGender; - color = TEXT_COLOR_RED; // Red when gender is female, blue when male. + color = TEXT_COLOR_RED; // Red when female, blue when male. if (gender == MALE) { @@ -1314,47 +1347,46 @@ static void sub_80A06B4(void) // Print region name yOffset = 1; sub_819A344(3, gStringVar4, TEXT_COLOR_GREEN); - PrintTextOnWindow(sSaveWindowId, 1, gStringVar4, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveInfoWindowId, 1, gStringVar4, 0, yOffset, 0xFF, NULL); // Print player name yOffset = 0x11; - PrintTextOnWindow(sSaveWindowId, 1, gText_SavingPlayer, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveInfoWindowId, 1, gText_SavingPlayer, 0, yOffset, 0xFF, NULL); sub_819A344(0, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintPlayerNameOnWindow(sSaveWindowId, gStringVar4, xOffset, yOffset); + PrintPlayerNameOnWindow(sSaveInfoWindowId, gStringVar4, xOffset, yOffset); // Print badge count yOffset = 0x21; - PrintTextOnWindow(sSaveWindowId, 1, gText_SavingBadges, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveInfoWindowId, 1, gText_SavingBadges, 0, yOffset, 0xFF, NULL); sub_819A344(4, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintTextOnWindow(sSaveWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE) { - // Print pokedex count yOffset = 0x31; - PrintTextOnWindow(sSaveWindowId, 1, gText_SavingPokedex, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveInfoWindowId, 1, gText_SavingPokedex, 0, yOffset, 0xFF, NULL); sub_819A344(1, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintTextOnWindow(sSaveWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); } // Print play time yOffset += 0x10; - PrintTextOnWindow(sSaveWindowId, 1, gText_SavingTime, 0, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveInfoWindowId, 1, gText_SavingTime, 0, yOffset, 0xFF, NULL); sub_819A344(2, gStringVar4, color); xOffset = GetStringRightAlignXOffset(1, gStringVar4, 0x70); - PrintTextOnWindow(sSaveWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); + PrintTextOnWindow(sSaveInfoWindowId, 1, gStringVar4, xOffset, yOffset, 0xFF, NULL); - CopyWindowToVram(sSaveWindowId, 2); + CopyWindowToVram(sSaveInfoWindowId, 2); } -static void sub_80A0888(void) +static void RemoveSaveInfoWindow(void) { - sub_819746C(sSaveWindowId, FALSE); - RemoveWindow(sSaveWindowId); + sub_819746C(sSaveInfoWindowId, FALSE); + RemoveWindow(sSaveInfoWindowId); } static void sub_80A08A4(u8 taskId) @@ -1378,7 +1410,7 @@ void sub_80A08CC(void) // Referenced in data/specials.inc and data/scripts/maps/ gTasks[taskId2].data[1] = taskId1; } -static void sub_80A0914(void) +static void HideStartMenuWindow(void) { sub_819746C(GetStartMenuWindowId(), TRUE); remove_start_menu_window_maybe(); @@ -1386,10 +1418,10 @@ static void sub_80A0914(void) ScriptContext2_Disable(); } -void sub_80A0934(void) // Called from map_name_popup.s +void HideStartMenu(void) // Called from map_name_popup.s { - PlaySE(5); - sub_80A0914(); + PlaySE(SE_SELECT); + HideStartMenuWindow(); } void AppendToList(u8 *list, u8 *pos, u8 newEntry) -- cgit v1.2.3 From df94a8a77ce08cad6ed3b75ddc273336322d97e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20L=C3=B8vig?= Date: Wed, 28 Mar 2018 22:43:25 +0200 Subject: Small changes and corrections --- src/start_menu.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'src/start_menu.c') diff --git a/src/start_menu.c b/src/start_menu.c index 05538ac3a..e97aa9716 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -530,7 +530,7 @@ void sub_809FA18(void) // Called from field_screen.s { sUnknown_02037619[0] = 0; sUnknown_02037619[1] = 0; - gUnknown_03005DB0 = &sub_809FA00; + gUnknown_03005DB0 = sub_809FA00; } void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s @@ -1233,7 +1233,7 @@ void sub_80A0514(void) // Called from cable_club.s { if (sub_80A03E4(&gMain.state)) { - CreateTask(&sub_80A0550, 0x50); + CreateTask(sub_80A0550, 0x50); SetMainCallback2(sub_80A0540); } } @@ -1307,11 +1307,11 @@ static void sub_80A0550(u8 taskId) DestroyTask(taskId); break; case 5: - CreateTask(&sub_8153688, 0x5); + CreateTask(sub_8153688, 0x5); *step = 6; break; case 6: - if (!FuncIsActiveTask(&sub_8153688)) + if (!FuncIsActiveTask(sub_8153688)) { *step = 3; } @@ -1400,14 +1400,9 @@ static void sub_80A08A4(u8 taskId) void sub_80A08CC(void) // Referenced in data/specials.inc and data/scripts/maps/BattleFrontier_BattleTowerLobby.inc { - u32 taskId1; - u32 taskId2; - - taskId1 = CreateTask(&sub_8153688, 0x5); - gTasks[taskId1].data[2] = 1; - - taskId2 = CreateTask(&sub_80A08A4, 0x6); - gTasks[taskId2].data[1] = taskId1; + u8 taskId = CreateTask(sub_8153688, 0x5); + gTasks[taskId].data[2] = 1; + gTasks[CreateTask(sub_80A08A4, 0x6)].data[1] = taskId; } static void HideStartMenuWindow(void) -- cgit v1.2.3 From 3f4c717d5cdc8eccd66fea3b4c8bcb7c827aeb34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20L=C3=B8vig?= Date: Thu, 29 Mar 2018 02:16:02 +0200 Subject: Rename stuff for more consistency --- src/start_menu.c | 60 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) (limited to 'src/start_menu.c') diff --git a/src/start_menu.c b/src/start_menu.c index e97aa9716..c248ca86b 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -144,7 +144,7 @@ static void sub_80A08A4(u8 taskId); // Some other callback static bool8 sub_809FA00(void); -static const struct WindowTemplate gSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; +static const struct WindowTemplate sSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; static const u8* const sPyramindFloorNames[] = { @@ -158,10 +158,10 @@ static const u8* const sPyramindFloorNames[] = gText_Peak }; -static const struct WindowTemplate gPyramidFloorWindowTemplate_2 = {0, 1, 1, 0xA, 4, 0xF, 8}; -static const struct WindowTemplate gPyramidFloorWindowTemplate_1 = {0, 1, 1, 0xC, 4, 0xF, 8}; +static const struct WindowTemplate sPyramidFloorWindowTemplate_2 = {0, 1, 1, 0xA, 4, 0xF, 8}; +static const struct WindowTemplate sPyramidFloorWindowTemplate_1 = {0, 1, 1, 0xC, 4, 0xF, 8}; -const struct MenuAction sStartMenuItems[] = +static const struct MenuAction sStartMenuItems[] = { {gText_MenuPokedex, {.u8_void = StartMenuPokedexCallback}}, {gText_MenuPokemon, {.u8_void = StartMenuPokemonCallback}}, @@ -178,7 +178,7 @@ const struct MenuAction sStartMenuItems[] = {gText_MenuBag, {.u8_void = StartMenuBattlePyramidBagCallback}} }; -const struct BgTemplate gUnknown_085105A8[] = +static const struct BgTemplate sUnknown_085105A8[] = { { .bg = 0, @@ -191,13 +191,13 @@ const struct BgTemplate gUnknown_085105A8[] = } }; -const struct WindowTemplate gUnknown_085105AC[] = +static const struct WindowTemplate sUnknown_085105AC[] = { {0, 2, 0xF, 0x1A, 4, 0xF, 0x194}, DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate gSaveInfoWindowTemplate = {0, 1, 1, 0xE, 0xA, 0xF, 8}; +static const struct WindowTemplate sSaveInfoWindowTemplate = {0, 1, 1, 0xE, 0xA, 0xF, 8}; // Local functions static void BuildStartMenuActions(void); @@ -211,7 +211,7 @@ static void BuildBattlePyramidStartMenu(void); static void BuildMultiBattleRoomStartMenu(void); static void ShowSafariBallsWindow(void); static void ShowPyramidFloorWindow(void); -static void HideExtraStartMenuWindows(void); +static void RemoveExtraStartMenuWindows(void); static bool32 PrintStartMenuActions(s8 *pIndex, u32 count); static bool32 InitStartMenuStep(void); static void InitStartMenu(void); @@ -373,7 +373,7 @@ static void BuildMultiBattleRoomStartMenu(void) static void ShowSafariBallsWindow(void) { - sSafariBallsWindowId = AddWindow(&gSafariBallsWindowTemplate); + sSafariBallsWindowId = AddWindow(&sSafariBallsWindowTemplate); PutWindowTilemap(sSafariBallsWindowId); NewMenuHelpers_DrawStdWindowFrame(sSafariBallsWindowId, FALSE); ConvertIntToDecimalStringN(gStringVar1, gNumSafariBalls, STR_CONV_MODE_RIGHT_ALIGN, 2); @@ -386,11 +386,11 @@ static void ShowPyramidFloorWindow(void) { if (gSaveBlock2Ptr->field_CAA[4] == 7) // TODO: fix location { - sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_1); + sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_1); } else { - sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_2); + sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_2); } PutWindowTilemap(sBattlePyramidFloorWindowId); @@ -401,7 +401,7 @@ static void ShowPyramidFloorWindow(void) CopyWindowToVram(sBattlePyramidFloorWindowId, 2); } -static void HideExtraStartMenuWindows(void) +static void RemoveExtraStartMenuWindows(void) { if (GetSafariZoneFlag()) { @@ -608,7 +608,7 @@ static bool8 HandleStartMenuInput(void) if (gMain.newKeys & (START_BUTTON | B_BUTTON)) { - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); HideStartMenu(); return TRUE; } @@ -622,7 +622,7 @@ static bool8 StartMenuPokedexCallback(void) { IncrementGameStat(GAME_STAT_CHECKED_POKEDEX); play_some_sound(); - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(sub_80BB534); // Display pokedex @@ -637,7 +637,7 @@ static bool8 StartMenuPokemonCallback(void) if (!gPaletteFade.active) { play_some_sound(); - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(CB2_PartyMenuFromStartMenu); // Display party menu @@ -652,7 +652,7 @@ static bool8 StartMenuBagCallback(void) if (!gPaletteFade.active) { play_some_sound(); - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(CB2_BagMenuFromStartMenu); // Display bag menu @@ -667,7 +667,7 @@ static bool8 StartMenuPokeNavCallback(void) if (!gPaletteFade.active) { play_some_sound(); - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(CB2_PokeNav); // Display PokeNav @@ -682,7 +682,7 @@ static bool8 StartMenuPlayerNameCallback(void) if (!gPaletteFade.active) { play_some_sound(); - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); if (is_c1_link_related_active() || InUnionRoom()) @@ -708,7 +708,7 @@ static bool8 StartMenuSaveCallback(void) { if (InBattlePyramid()) { - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); } gMenuCallback = SaveStartCallback; // Display save menu @@ -721,7 +721,7 @@ static bool8 StartMenuOptionCallback(void) if (!gPaletteFade.active) { play_some_sound(); - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(CB2_InitOptionMenu); // Display option menu gMain.savedCallback = CB2_ReturnToFieldWithOpenMenu; @@ -734,7 +734,7 @@ static bool8 StartMenuOptionCallback(void) static bool8 StartMenuExitCallback(void) { - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); HideStartMenu(); // Hide start menu return TRUE; @@ -742,7 +742,7 @@ static bool8 StartMenuExitCallback(void) static bool8 StartMenuSafariZoneRetireCallback(void) { - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); HideStartMenu(); SafariZoneRetirePrompt(); @@ -783,7 +783,7 @@ static bool8 StartMenuBattlePyramidBagCallback(void) if (!gPaletteFade.active) { play_some_sound(); - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(sub_81C4EFC); // Display battle pyramid bag @@ -845,7 +845,7 @@ static bool8 BattlePyramidRetireCallback(void) switch (RunSaveCallback()) { case SAVE_SUCCESS: // No (Stay in battle pyramid) - HideExtraStartMenuWindows(); + RemoveExtraStartMenuWindows(); gMenuCallback = BattlePyramidRetireReturnCallback; return FALSE; case SAVE_IN_PROGRESS: @@ -965,7 +965,7 @@ static bool8 SaveErrorTimer(void) static u8 SaveConfirmSaveCallback(void) { sub_819746C(GetStartMenuWindowId(), FALSE); - remove_start_menu_window_maybe(); + RemoveStartMenuWindow(); ShowSaveInfoWindow(); if (InBattlePyramid()) @@ -1157,7 +1157,7 @@ static void InitBattlePyramidRetire(void) static u8 BattlePyramidConfirmRetireCallback(void) { sub_819746C(GetStartMenuWindowId(), FALSE); - remove_start_menu_window_maybe(); + RemoveStartMenuWindow(); ShowSaveMessage(gText_BattlePyramidConfirmRetire, BattlePyramidRetireYesNoCallback); return SAVE_IN_PROGRESS; @@ -1210,8 +1210,8 @@ static bool32 sub_80A03E4(u8 *par1) break; case 2: ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_085105A8, ARRAY_COUNT(gUnknown_085105A8)); - InitWindows(gUnknown_085105AC); + InitBgsFromTemplates(0, sUnknown_085105A8, ARRAY_COUNT(sUnknown_085105A8)); + InitWindows(sUnknown_085105AC); box_border_load_tiles_and_pal(0, 8, 224); sub_81978B0(240); break; @@ -1322,7 +1322,7 @@ static void sub_80A0550(u8 taskId) static void ShowSaveInfoWindow(void) { - struct WindowTemplate saveInfoWindow = gSaveInfoWindowTemplate; + struct WindowTemplate saveInfoWindow = sSaveInfoWindowTemplate; u8 gender; u8 color; u32 xOffset; @@ -1408,7 +1408,7 @@ void sub_80A08CC(void) // Referenced in data/specials.inc and data/scripts/maps/ static void HideStartMenuWindow(void) { sub_819746C(GetStartMenuWindowId(), TRUE); - remove_start_menu_window_maybe(); + RemoveStartMenuWindow(); sub_80984F4(); ScriptContext2_Disable(); } -- cgit v1.2.3