diff options
author | Cameron Hall <camthesaxman@users.noreply.github.com> | 2016-10-16 18:33:07 -0500 |
---|---|---|
committer | YamaArashi <YamaArashi@users.noreply.github.com> | 2016-10-16 16:33:07 -0700 |
commit | 2d0f69a4ab697bc16c16452f22108a72dc83b97b (patch) | |
tree | 5287ae37a537185c95a6041a32625aec1970bb3b /src/start_menu.c | |
parent | 12fcc3c7c8462cd554f321cdef38dea7986b998b (diff) |
minor cleanups (#60)
* minor cleanups
* remove indentation on empty lines
* match formatting on if and for statements
Diffstat (limited to 'src/start_menu.c')
-rw-r--r-- | src/start_menu.c | 277 |
1 files changed, 140 insertions, 137 deletions
diff --git a/src/start_menu.c b/src/start_menu.c index 4c2bd19ba..a08930a19 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -64,8 +64,8 @@ struct MenuItem { }; static u8 (*saveDialogCallback)(void); -static u8 gUnknown_030006AC; -static bool8 gUnknown_030006AD; +static u8 saveDialogTimer; //Number of frames to keep the window on screen after save was completed +static bool8 savingComplete; extern bool8 gUnknown_020297EC; extern u16 gSaveFileStatus; @@ -115,11 +115,11 @@ static void BuildStartMenuActions_Normal(void); static void BuildStartMenuActions_SafariZone(void); static void BuildStartMenuActions_Link(void); static void DisplaySafariBallsWindow(void); -static bool32 sub_8071114(s16 *a, u32 b); -static bool32 sub_807117C(s16 *a, s16 *b); +static bool32 PrintStartMenuItemsMultistep(s16 *a, u32 b); +static bool32 InitStartMenuMultistep(s16 *a, s16 *b); static void sub_8071230(void); static void Task_StartMenu(u8 taskId); -static u8 Callback_8071338(void); +static u8 StartMenu_InputProcessCallback(void); static u8 SaveCallback1(void); static u8 SaveCallback2(void); static void sub_807160C(void); @@ -127,23 +127,23 @@ static u8 RunSaveDialogCallback(void); static void DisplaySaveMessageWithCallback(u8 *ptr, u8 (*func)(void)); static void Task_SaveDialog(u8 taskId); static void sub_8071700(void); -static void EraseSaveDialog(void); -static void sub_8071724(void); -static u8 sub_8071730(void); -static u8 sub_8071764(void); -static u8 sub_8071764(void); -static u8 SaveDialogCB_8071794(void); -static u8 SaveDialogCB_80717B8(void); -static u8 SaveDialogCB_80717D8(void); +static void HideSaveDialog(void); +static void SaveDialogStartTimeout(void); +static u8 SaveDialogCheckForTimeoutOrKeypress(void); +static u8 SaveDialogCheckForTimeoutAndKeypress(void); +static u8 SaveDialogCheckForTimeoutAndKeypress(void); +static u8 SaveDialogCB_DisplayConfirmMessage(void); +static u8 SaveDialogCB_DisplayConfirmYesNoMenu(void); +static u8 SaveDialogCB_ProcessConfirmYesNoMenu(void); static u8 SaveDialogCB_SaveFileExists(void); static u8 SaveDialogCB_DisplayOverwriteYesNoMenu(void); static u8 SaveDialogCB_ProcessOverwriteYesNoMenu(void); -static u8 SaveDialogCB_SavingMessage(void); +static u8 SaveDialogCB_DisplaySavingMessage(void); static u8 SaveDialogCB_DoSave(void); static u8 SaveDialogCB_SaveSuccess(void); -static u8 SaveDialogCB_8071988(void); -static u8 SaveDialogCB_80719AC(void); -static u8 SaveDialogCB_80719D4(void); +static u8 SaveDialogCB_ReturnSuccess(void); +static u8 SaveDialogCB_SaveError(void); +static u8 SaveDialogCB_ReturnError(void); static void sub_80719F0(void); static bool32 sub_80719FC(u8 *ptr); static void sub_8071B54(void); @@ -214,50 +214,50 @@ static void DisplaySafariBallsWindow(void) MenuPrint(gOtherText_SafariStock, 1, 1); } -static bool32 sub_8071114(s16 *a, u32 b) +//Prints n menu items starting at *index +static bool32 PrintStartMenuItemsMultistep(s16 *index, u32 n) { - s32 var = *a; + int _index = *index; do { - MenuPrint(gStartMenuItems[sCurrentStartMenuActions[var]].text, - 0x17, var * 2 + 2); - var++; - if(var >= sNumStartMenuActions) + MenuPrint(gStartMenuItems[sCurrentStartMenuActions[_index]].text, 23, 2 + _index * 2); + _index++; + if(_index >= sNumStartMenuActions) { - *a = var; - return 1; + *index = _index; + return TRUE; } } - while(--b != 0); - *a = var; - return 0; + while(--n != 0); + *index = _index; + return FALSE; } -static bool32 sub_807117C(s16 *a, s16 *b) +static bool32 InitStartMenuMultistep(s16 *step, s16 *index) { - switch(*a) + switch(*step) { case 1: BuildStartMenuActions(); - (*a)++; + (*step)++; break; case 2: MenuDrawTextWindow(22, 0, 29, sNumStartMenuActions * 2 + 3); - *b = 0; - (*a)++; + *index = 0; + (*step)++; break; case 3: if(GetSafariZoneFlag()) DisplaySafariBallsWindow(); - (*a)++; + (*step)++; break; case 4: - if(sub_8071114(b, 2)) - (*a)++; + if(PrintStartMenuItemsMultistep(index, 2)) + (*step)++; break; case 0: - (*a)++; + (*step)++; break; case 5: sStartMenuCursorPos = InitMenu(0, 0x17, 2, sNumStartMenuActions, sStartMenuCursorPos, 6); @@ -266,18 +266,18 @@ static bool32 sub_807117C(s16 *a, s16 *b) return FALSE; } -static void sub_8071230(void) +static void InitStartMenu(void) { - s16 a = 0; - s16 b = 0; + s16 step = 0; + s16 index = 0; - while(sub_807117C(&a, &b) == FALSE) + while(InitStartMenuMultistep(&step, &index) == FALSE) ; } static void Task_StartMenu(u8 taskId) { - if(sub_807117C(gTasks[taskId].data, gTasks[taskId].data + 1) == TRUE) + if(InitStartMenuMultistep(gTasks[taskId].data, gTasks[taskId].data + 1) == TRUE) { *gTasks[taskId].data = 0; SwitchTaskToFollowupFunc(taskId); @@ -307,7 +307,7 @@ void sub_80712B4(u8 taskId) switch(((struct MyTask *)&gTasks[taskId])->var1) { case 0: - gCallback_03004AE8 = Callback_8071338; + gCallback_03004AE8 = StartMenu_InputProcessCallback; ((struct MyTask *)&gTasks[taskId])->var1++; break; case 1: @@ -329,7 +329,7 @@ void sub_8071310(void) ScriptContext2_Enable(); } -static u8 Callback_8071338(void) +static u8 StartMenu_InputProcessCallback(void) { if(gMain.newKeys & DPAD_UP) { @@ -350,9 +350,9 @@ static u8 Callback_8071338(void) return 0; } gCallback_03004AE8 = gStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].callback; - if(StartMenu_SaveCallback != gCallback_03004AE8 && - StartMenu_ExitCallback != gCallback_03004AE8 && - StartMenu_RetireCallback != gCallback_03004AE8) + if(gCallback_03004AE8 != StartMenu_SaveCallback && + gCallback_03004AE8 != StartMenu_ExitCallback && + gCallback_03004AE8 != StartMenu_RetireCallback) fade_screen(1, 0); return 0; } @@ -473,6 +473,14 @@ u8 StartMenu_PlayerLinkCallback(void) return 0; } +//Save dialog status +enum { + SAVE_IN_PROGRESS, + SAVE_SUCCESS, + SAVE_CANCELED, + SAVE_ERROR, +}; + static u8 SaveCallback1(void) { sub_807160C(); @@ -484,15 +492,16 @@ static u8 SaveCallback2(void) { switch(RunSaveDialogCallback()) { - case 0: + case SAVE_IN_PROGRESS: return FALSE; - case 2: + case SAVE_CANCELED: + //Go back to start menu MenuZeroFillScreen(); - sub_8071230(); - gCallback_03004AE8 = Callback_8071338; + InitStartMenu(); + gCallback_03004AE8 = StartMenu_InputProcessCallback; return FALSE; - case 1: - case 3: + case SAVE_SUCCESS: + case SAVE_ERROR: MenuZeroFillScreen(); sub_8064E2C(); ScriptContext2_Disable(); @@ -504,18 +513,18 @@ static u8 SaveCallback2(void) static void sub_807160C(void) { save_serialize_map(); - saveDialogCallback = SaveDialogCB_8071794; - gUnknown_030006AD = FALSE; + saveDialogCallback = SaveDialogCB_DisplayConfirmMessage; + savingComplete = FALSE; } static u8 RunSaveDialogCallback(void) { - if(gUnknown_030006AD) + if(savingComplete) { if(!MenuUpdateWindowText()) return 0; } - gUnknown_030006AD = FALSE; + savingComplete = FALSE; return saveDialogCallback(); } @@ -530,24 +539,24 @@ static void DisplaySaveMessageWithCallback(u8 *ptr, u8 (*func)(void)) StringExpandPlaceholders(gStringVar4, ptr); MenuDisplayMessageBox(); sub_8072044(gStringVar4); - gUnknown_030006AD = TRUE; + savingComplete = TRUE; saveDialogCallback = func; } static void Task_SaveDialog(u8 taskId) { - u8 b = RunSaveDialogCallback(); + u8 status = RunSaveDialogCallback(); - switch(b) + switch(status) { - case 2: - case 3: + case SAVE_CANCELED: + case SAVE_ERROR: gScriptResult = 0; break; - case 1: - gScriptResult = b; + case SAVE_SUCCESS: + gScriptResult = status; break; - case 0: + case SAVE_IN_PROGRESS: return; } DestroyTask(taskId); @@ -559,66 +568,60 @@ static void sub_8071700(void) sub_80946C8(0, 0); } -static void EraseSaveDialog(void) +static void HideSaveDialog(void) { MenuZeroFillWindowRect(20, 8, 26, 13); } -static void sub_8071724(void) +static void SaveDialogStartTimeout(void) { - gUnknown_030006AC = 0x3C; + saveDialogTimer = 60; } - -static u8 sub_8071730(void) +static bool8 SaveDialogCheckForTimeoutOrKeypress(void) { - gUnknown_030006AC--; - if(!(gMain.heldKeys & 1)) + saveDialogTimer--; + if(gMain.heldKeys & A_BUTTON) { - if(gUnknown_030006AC) - return 0; - } - else PlaySE(SE_SELECT); - return 1; + return TRUE; + } + else if(saveDialogTimer == 0) + return TRUE; + return FALSE; } - -static u8 sub_8071764(void) +static bool8 SaveDialogCheckForTimeoutAndKeypress(void) { - if(gUnknown_030006AC == 0) - { - if(gMain.heldKeys & 1) - return 1; - } - else - gUnknown_030006AC--; - return 0; - + if(saveDialogTimer != 0) + saveDialogTimer--; + else if(gMain.heldKeys & A_BUTTON) + return TRUE; + return FALSE; } -static u8 SaveDialogCB_8071794(void) +static u8 SaveDialogCB_DisplayConfirmMessage(void) { MenuZeroFillScreen(); sub_80945C0(0, 0); //"Would you like to save the game?" - DisplaySaveMessageWithCallback(gSaveText_WouldYouLikeToSave, SaveDialogCB_80717B8); - return 0; + DisplaySaveMessageWithCallback(gSaveText_WouldYouLikeToSave, SaveDialogCB_DisplayConfirmYesNoMenu); + return SAVE_IN_PROGRESS; } -static u8 SaveDialogCB_80717B8(void) +static u8 SaveDialogCB_DisplayConfirmYesNoMenu(void) { DisplayYesNoMenu(20, 8, 1); - saveDialogCallback = SaveDialogCB_80717D8; - return 0; + saveDialogCallback = SaveDialogCB_ProcessConfirmYesNoMenu; + return SAVE_IN_PROGRESS; } -static u8 SaveDialogCB_80717D8(void) +static u8 SaveDialogCB_ProcessConfirmYesNoMenu(void) { switch(ProcessMenuInputNoWrap_()) { case 0: //YES - EraseSaveDialog(); + HideSaveDialog(); switch(gSaveFileStatus) { case 0: @@ -626,22 +629,22 @@ static u8 SaveDialogCB_80717D8(void) if(gUnknown_020297EC == FALSE) { saveDialogCallback = SaveDialogCB_SaveFileExists; - return 0; + return SAVE_IN_PROGRESS; } - saveDialogCallback = SaveDialogCB_SavingMessage; - return 0; + saveDialogCallback = SaveDialogCB_DisplaySavingMessage; + return SAVE_IN_PROGRESS; default: saveDialogCallback = SaveDialogCB_SaveFileExists; - return 0; + return SAVE_IN_PROGRESS; } break; case -1: //B button case 1: //NO - EraseSaveDialog(); + HideSaveDialog(); sub_8071700(); - return 2; + return SAVE_CANCELED; } - return 0; + return SAVE_IN_PROGRESS; } static u8 SaveDialogCB_SaveFileExists(void) @@ -649,14 +652,14 @@ static u8 SaveDialogCB_SaveFileExists(void) DisplaySaveMessageWithCallback( gUnknown_020297EC == TRUE ? gSaveText_ThereIsADifferentFile : gSaveText_ThereIsAlreadyAFile, SaveDialogCB_DisplayOverwriteYesNoMenu); - return 0; + return SAVE_IN_PROGRESS; } static u8 SaveDialogCB_DisplayOverwriteYesNoMenu(void) { DisplayYesNoMenu(20, 8, 1); saveDialogCallback = SaveDialogCB_ProcessOverwriteYesNoMenu; - return 0; + return SAVE_IN_PROGRESS; } static u8 SaveDialogCB_ProcessOverwriteYesNoMenu(void) @@ -664,23 +667,23 @@ static u8 SaveDialogCB_ProcessOverwriteYesNoMenu(void) switch(ProcessMenuInputNoWrap_()) { case 0: //YES - EraseSaveDialog(); - saveDialogCallback = SaveDialogCB_SavingMessage; + HideSaveDialog(); + saveDialogCallback = SaveDialogCB_DisplaySavingMessage; break; case -1: //B button case 1: //NO - EraseSaveDialog(); + HideSaveDialog(); sub_8071700(); - return 2; + return SAVE_CANCELED; } - return 0; + return SAVE_IN_PROGRESS; } -static u8 SaveDialogCB_SavingMessage(void) +static u8 SaveDialogCB_DisplaySavingMessage(void) { //"SAVING... DON'T TURN OFF THE POWER." DisplaySaveMessageWithCallback(gSaveText_DontTurnOff, SaveDialogCB_DoSave); - return 0; + return SAVE_IN_PROGRESS; } static u8 SaveDialogCB_DoSave(void) @@ -706,11 +709,11 @@ static u8 SaveDialogCB_DoSave(void) else { //"Save error. Please exchange the backup memory." - DisplaySaveMessageWithCallback(gSystemText_SaveErrorExchangeBackup, SaveDialogCB_80719AC); + DisplaySaveMessageWithCallback(gSystemText_SaveErrorExchangeBackup, SaveDialogCB_SaveError); } - sub_8071724(); - return 0; + SaveDialogStartTimeout(); + return SAVE_IN_PROGRESS; } static u8 SaveDialogCB_SaveSuccess(void) @@ -718,40 +721,40 @@ static u8 SaveDialogCB_SaveSuccess(void) if(MenuUpdateWindowText()) { PlaySE(SE_SAVE); - saveDialogCallback = SaveDialogCB_8071988; + saveDialogCallback = SaveDialogCB_ReturnSuccess; } - return 0; + return SAVE_IN_PROGRESS; } -static u8 SaveDialogCB_8071988(void) +static u8 SaveDialogCB_ReturnSuccess(void) { - if(!IsSEPlaying() && sub_8071730()) + if(!IsSEPlaying() && SaveDialogCheckForTimeoutOrKeypress()) { sub_8071700(); - return 1; + return SAVE_SUCCESS; } else - return 0; + return SAVE_IN_PROGRESS; } -static u8 SaveDialogCB_80719AC(void) +static u8 SaveDialogCB_SaveError(void) { if(MenuUpdateWindowText()) { PlaySE(SE_BOO); - saveDialogCallback = SaveDialogCB_80719D4; + saveDialogCallback = SaveDialogCB_ReturnError; } - return 0; + return SAVE_IN_PROGRESS; } -static u8 SaveDialogCB_80719D4(void) +static u8 SaveDialogCB_ReturnError(void) { - if(!sub_8071764()) - return 0; + if(!SaveDialogCheckForTimeoutAndKeypress()) + return SAVE_IN_PROGRESS; else { sub_8071700(); - return 3; + return SAVE_ERROR; } } @@ -760,9 +763,9 @@ static void sub_80719F0(void) TransferPlttBuffer(); } -static bool32 sub_80719FC(u8 *ptr) +static bool32 sub_80719FC(u8 *step) { - switch(*ptr) + switch(*step) { case 0: { @@ -814,7 +817,7 @@ static bool32 sub_80719FC(u8 *ptr) case 4: return TRUE; } - (*ptr)++; + (*step)++; return FALSE; } @@ -835,32 +838,32 @@ static void sub_8071B54(void) static void Task_8071B64(u8 taskId) { - s16 *val = gTasks[taskId].data; + s16 *step = gTasks[taskId].data; if(!gPaletteFade.active) { - switch(*val) + switch(*step) { case 0: MenuDisplayMessageBox(); MenuPrint(gSystemText_Saving, 2, 15); BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); - (*val)++; + (*step)++; break; case 1: sub_8047A1C(); sub_8125E2C(); - (*val)++; + (*step)++; break; case 2: if(!sub_8125E6C()) break; sub_8047A34(); - (*val)++; + (*step)++; break; case 3: BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); - (*val)++; + (*step)++; break; case 4: SetMainCallback2(gMain.field_8); |