diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2018-07-22 13:14:58 +0200 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2018-07-22 13:14:58 +0200 |
commit | 1e9143e0b22bc72cb77866e10817bc509064842a (patch) | |
tree | 87b77fdd2c19d34cb7ac10870fdc4c30188e2d70 /src/start_menu.c | |
parent | c9d486a5d3ea6bf7d256c2d7ca7f10339e498427 (diff) | |
parent | 06b3ce408f774c7192202308e783cc22bb8e7643 (diff) |
merge union room with master
Diffstat (limited to 'src/start_menu.c')
-rw-r--r-- | src/start_menu.c | 104 |
1 files changed, 50 insertions, 54 deletions
diff --git a/src/start_menu.c b/src/start_menu.c index c248ca86b..7591d3b57 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -15,7 +15,7 @@ #include "battle_frontier_2.h" #include "rom_818CFC8.h" #include "field_specials.h" -#include "field_map_obj_helpers.h" +#include "event_object_movement.h" #include "script.h" #include "main.h" #include "sound.h" @@ -90,7 +90,7 @@ 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 ScriptUnfreezeEventObjects(void); extern void sub_81A9EC8(void); extern void save_serialize_map(void); extern void sub_81A9E90(void); @@ -288,14 +288,14 @@ static void BuildNormalStartMenu(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_SAVE); AddStartMenuAction(MENU_ACTION_OPTION); @@ -322,7 +322,7 @@ static void BuildLinkModeStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKENAV); } - + AddStartMenuAction(MENU_ACTION_PLAYER_LINK); AddStartMenuAction(MENU_ACTION_OPTION); AddStartMenuAction(MENU_ACTION_EXIT); @@ -384,18 +384,14 @@ static void ShowSafariBallsWindow(void) static void ShowPyramidFloorWindow(void) { - if (gSaveBlock2Ptr->field_CAA[4] == 7) // TODO: fix location - { + if (gSaveBlock2Ptr->frontier.field_CB2 == 7) sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_1); - } else - { sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_2); - } PutWindowTilemap(sBattlePyramidFloorWindowId); NewMenuHelpers_DrawStdWindowFrame(sBattlePyramidFloorWindowId, FALSE); - StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->field_CAA[4]]); + StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->frontier.field_CB2]); StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor); PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sBattlePyramidFloorWindowId, 2); @@ -419,7 +415,7 @@ static void RemoveExtraStartMenuWindows(void) static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) { s8 index = *pIndex; - + do { if (sStartMenuItems[sCurrentStartMenuActions[index]].func.u8_void == StartMenuPlayerNameCallback) { @@ -444,11 +440,11 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) return FALSE; } -static bool32 InitStartMenuStep(void) +static bool32 InitStartMenuStep(void) { s8 value = sUnknown_02037619[0]; - switch (value) + switch (value) { case 0: sUnknown_02037619[0]++; @@ -468,14 +464,14 @@ static bool32 InitStartMenuStep(void) { ShowSafariBallsWindow(); } - if (InBattlePyramid() != FALSE) + if (InBattlePyramid() != FALSE) { ShowPyramidFloorWindow(); } sUnknown_02037619[0]++; break; case 4: - if (PrintStartMenuActions(&sUnknown_02037619[1], 2) == FALSE) + if (PrintStartMenuActions(&sUnknown_02037619[1], 2) == FALSE) { break; } @@ -515,7 +511,7 @@ static void CreateStartMenuTask(TaskFunc followupFunc) SetTaskFuncWithFollowupFunc(taskId, StartMenuTask, followupFunc); } -static bool8 sub_809FA00(void) +static bool8 sub_809FA00(void) { if (InitStartMenuStep() == FALSE) { @@ -530,14 +526,14 @@ void sub_809FA18(void) // Called from field_screen.s { sUnknown_02037619[0] = 0; sUnknown_02037619[1] = 0; - gUnknown_03005DB0 = sub_809FA00; + gFieldCallback2 = sub_809FA00; } void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s { struct Task* task = &gTasks[taskId]; - switch(task->data[0]) + switch(task->data[0]) { case 0: if (InUnionRoom() == TRUE) @@ -561,7 +557,7 @@ void ShowStartMenu(void) // Called from overworld.c and field_control_avatar.s { if (!is_c1_link_related_active()) { - FreezeMapObjects(); + FreezeEventObjects(); sub_808B864(); sub_808BCF4(); } @@ -576,13 +572,13 @@ static bool8 HandleStartMenuInput(void) PlaySE(SE_SELECT); sStartMenuCursorPos = MoveMenuCursor(-1); } - + if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); sStartMenuCursorPos = MoveMenuCursor(1); } - + if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); @@ -592,20 +588,20 @@ static bool8 HandleStartMenuInput(void) return FALSE; } } - + gMenuCallback = sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void; - - if (gMenuCallback != StartMenuSaveCallback + + if (gMenuCallback != StartMenuSaveCallback && gMenuCallback != StartMenuExitCallback && gMenuCallback != StartMenuSafariZoneRetireCallback && gMenuCallback != StartMenuBattlePyramidRetireCallback) { FadeScreen(1, 0); } - + return FALSE; } - + if (gMain.newKeys & (START_BUTTON | B_BUTTON)) { RemoveExtraStartMenuWindows(); @@ -625,10 +621,10 @@ static bool8 StartMenuPokedexCallback(void) RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(sub_80BB534); // Display pokedex - + return TRUE; } - + return FALSE; } @@ -640,7 +636,7 @@ static bool8 StartMenuPokemonCallback(void) RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(CB2_PartyMenuFromStartMenu); // Display party menu - + return TRUE; } @@ -693,7 +689,7 @@ static bool8 StartMenuPlayerNameCallback(void) { sub_80C51C4(CB2_ReturnToFieldWithOpenMenu); // Display frontier pass } - else + else { sub_80C4DDC(CB2_ReturnToFieldWithOpenMenu); // Display trainer card } @@ -736,7 +732,7 @@ static bool8 StartMenuExitCallback(void) { RemoveExtraStartMenuWindows(); HideStartMenu(); // Hide start menu - + return TRUE; } @@ -773,7 +769,7 @@ static bool8 StartMenuBattlePyramidRetireCallback(void) void sub_809FDD4(void) // Called from battle_frontier_2.s { sub_8197DF8(0, FALSE); - sub_80984F4(); + ScriptUnfreezeEventObjects(); CreateStartMenuTask(sub_809FA34); ScriptContext2_Enable(); } @@ -815,7 +811,7 @@ static bool8 SaveCallback(void) case SAVE_SUCCESS: case SAVE_ERROR: // Close start menu sub_8197DF8(0, TRUE); - sub_80984F4(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); sub_81A9EC8(); return TRUE; @@ -852,7 +848,7 @@ static bool8 BattlePyramidRetireCallback(void) return FALSE; case SAVE_CANCELED: // Yes (Retire from battle pyramid) sub_8197DF8(0, TRUE); - sub_80984F4(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88); return TRUE; @@ -911,7 +907,7 @@ static void SaveGameTask(u8 taskId) case SAVE_IN_PROGRESS: return; } - + DestroyTask(taskId); EnableBothScriptContexts(); } @@ -972,7 +968,7 @@ static u8 SaveConfirmSaveCallback(void) { ShowSaveMessage(gText_BattlePyramidConfirmRest, SaveYesNoCallback); } - else + else { ShowSaveMessage(gText_ConfirmSave, SaveYesNoCallback); } @@ -1025,7 +1021,7 @@ static u8 SaveFileExistsCallback(void) { ShowSaveMessage(gText_DifferentSaveFile, SaveConfirmOverwriteNoCallback); } - else + else { ShowSaveMessage(gText_AlreadySavedFile, SaveConfirmOverwriteCallback); } @@ -1082,7 +1078,7 @@ static u8 SaveDoSaveCallback(void) saveStatus = TrySavingData(SAVE_OVERWRITE_DIFFERENT_FILE); gDifferentSaveFile = FALSE; } - else + else { saveStatus = TrySavingData(SAVE_NORMAL); } @@ -1118,7 +1114,7 @@ static u8 SaveReturnSuccessCallback(void) HideSaveInfoWindow(); return SAVE_SUCCESS; } - else + else { return SAVE_IN_PROGRESS; } @@ -1131,13 +1127,13 @@ static u8 SaveErrorCallback(void) PlaySE(SE_BOO); sSaveDialogCallback = SaveReturnErrorCallback; } - + return SAVE_IN_PROGRESS; } static u8 SaveReturnErrorCallback(void) { - if (!SaveErrorTimer()) + if (!SaveErrorTimer()) { return SAVE_IN_PROGRESS; } @@ -1182,7 +1178,7 @@ static u8 BattlePyramidRetireInputCallback(void) sub_80A0014(); return SAVE_SUCCESS; } - + return SAVE_IN_PROGRESS; } @@ -1212,7 +1208,7 @@ static bool32 sub_80A03E4(u8 *par1) ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sUnknown_085105A8, ARRAY_COUNT(sUnknown_085105A8)); InitWindows(sUnknown_085105AC); - box_border_load_tiles_and_pal(0, 8, 224); + LoadUserWindowBorderGfx_(0, 8, 224); sub_81978B0(240); break; case 3: @@ -1254,8 +1250,8 @@ static void sub_80A0550(u8 taskId) { case 0: FillWindowPixelBuffer(0, 17); - AddTextPrinterParameterized(0, - 1, + AddTextPrinterParameterized(0, + 1, gText_SavingDontTurnOffPower, 255, NULL, @@ -1265,15 +1261,15 @@ static void sub_80A0550(u8 taskId) sub_8098858(0, 8, 14); PutWindowTilemap(0); CopyWindowToVram(0, 3); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); - + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + if (gWirelessCommType != 0 && InUnionRoom()) { if (sub_800A07C()) { *step = 1; } - else + else { *step = 5; } @@ -1298,7 +1294,7 @@ static void sub_80A0550(u8 taskId) } break; case 3: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); *step = 4; break; case 4: @@ -1327,7 +1323,7 @@ static void ShowSaveInfoWindow(void) u8 color; u32 xOffset; u32 yOffset; - + if (!FlagGet(FLAG_SYS_POKEDEX_GET)) { saveInfoWindow.height -= 2; @@ -1340,7 +1336,7 @@ static void ShowSaveInfoWindow(void) color = TEXT_COLOR_RED; // Red when female, blue when male. if (gender == MALE) - { + { color = TEXT_COLOR_BLUE; } @@ -1409,7 +1405,7 @@ static void HideStartMenuWindow(void) { sub_819746C(GetStartMenuWindowId(), TRUE); RemoveStartMenuWindow(); - sub_80984F4(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); } @@ -1423,4 +1419,4 @@ void AppendToList(u8 *list, u8 *pos, u8 newEntry) { list[*pos] = newEntry; (*pos)++; -}
\ No newline at end of file +} |