diff options
Diffstat (limited to 'src/party_menu.c')
-rw-r--r-- | src/party_menu.c | 164 |
1 files changed, 84 insertions, 80 deletions
diff --git a/src/party_menu.c b/src/party_menu.c index b01e62a03..1acbc04ea 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -353,23 +353,23 @@ static void SlideMultiPartyMenuBoxSpritesOneStep(u8 taskId); static void Task_MultiPartnerPartySlideIn(u8 taskId); static bool8 CB2_FadeFromPartyMenu(void); static void Task_PartyMenuWaitForFade(u8 taskId); -static void sub_8120C6C(u8 taskId); -static void sub_8120CA8(u8 taskId); -static void sub_8120CD8(u8 taskId); -static void sub_8120D08(u8 taskId); -static void sub_8120D40(u8 taskId); -static void sub_8120D7C(u8 taskId); -static void sub_8120DAC(u8 taskId); -static void sub_8120DE0(u8 taskId); -static void sub_8120E1C(u8 taskId); -static void sub_8120E58(u8 taskId); -static void sub_8120EE0(u8 taskId); -static void sub_8120FF0(u8 taskId); -static bool8 sub_8120F78(u8 taskId); -static void sub_8120FB0(void); -static void sub_8122084(u8 windowId, const u8 *str); -static u8 sub_81220D4(void); -static void sub_8122110(u8 windowId); +static void Task_FirstBattleEnterParty_DarkenScreen(u8 taskId); +static void Task_FirstBattleEnterParty_WaitDarken(u8 taskId); +static void Task_FirstBattleEnterParty_CreatePrinter(u8 taskId); +static void Task_FirstBattleEnterParty_RunPrinterMsg1(u8 taskId); +static void Task_FirstBattleEnterParty_LightenFirstMonIcon(u8 taskId); +static void Task_FirstBattleEnterParty_WaitLightenFirstMonIcon(u8 taskId); +static void Task_FirstBattleEnterParty_StartPrintMsg2(u8 taskId); +static void Task_FirstBattleEnterParty_RunPrinterMsg2(u8 taskId); +static void Task_FirstBattleEnterParty_FadeNormal(u8 taskId); +static void Task_FirstBattleEnterParty_WaitFadeNormal(u8 taskId); +static void Task_PartyMenu_PokedudeStep(u8 taskId); +static void Task_PartyMenuFromBag_PokedudeStep(u8 taskId); +static bool8 PartyMenuPokedudeIsCancelled(u8 taskId); +static void PartyMenuHandlePokedudeCancel(void); +static void PartyMenu_Oak_PrintText(u8 windowId, const u8 *str); +static u8 FirstBattleEnterParty_CreateWindowAndMsg1Printer(void); +static void FirstBattleEnterParty_DestroyVoiceoverWindow(u8 windowId); static void SetSwitchedPartyOrderQuestLogEvent(void); static void SetUsedFieldMoveQuestLogEvent(struct Pokemon *mon, u8 fieldMove); static void sub_8124DE0(void); @@ -855,7 +855,7 @@ static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot) DisplayPartyPokemonDataToTeachMove(slot, item, 0); break; case 2: // Evolution stone - if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, 3, item) != SPECIES_NONE) + if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, EVO_MODE_ITEM_CHECK, item) != SPECIES_NONE) return FALSE; DisplayPartyPokemonDescriptionData(slot, PARTYBOX_DESC_NO_USE); break; @@ -1955,76 +1955,78 @@ static bool8 CanLearnTutorMove(u16 species, u8 tutor) } } -static void sub_8120C3C(u8 taskId) +// Tutorial battle messages + +static void Task_FirstBattleEnterParty_WaitFadeIn(u8 taskId) { if (!gPaletteFade.active) - gTasks[taskId].func = sub_8120C6C; + gTasks[taskId].func = Task_FirstBattleEnterParty_DarkenScreen; } -static void sub_8120C6C(u8 taskId) +static void Task_FirstBattleEnterParty_DarkenScreen(u8 taskId) { BeginNormalPaletteFade(0xFFFF1FFF, 4, 0, 6, RGB_BLACK); - gTasks[taskId].func = sub_8120CA8; + gTasks[taskId].func = Task_FirstBattleEnterParty_WaitDarken; } -static void sub_8120CA8(u8 taskId) +static void Task_FirstBattleEnterParty_WaitDarken(u8 taskId) { if (!gPaletteFade.active) - gTasks[taskId].func = sub_8120CD8; + gTasks[taskId].func = Task_FirstBattleEnterParty_CreatePrinter; } -static void sub_8120CD8(u8 taskId) +static void Task_FirstBattleEnterParty_CreatePrinter(u8 taskId) { - gTasks[taskId].data[0] = sub_81220D4(); - gTasks[taskId].func = sub_8120D08; + gTasks[taskId].data[0] = FirstBattleEnterParty_CreateWindowAndMsg1Printer(); + gTasks[taskId].func = Task_FirstBattleEnterParty_RunPrinterMsg1; } -static void sub_8120D08(u8 taskId) +static void Task_FirstBattleEnterParty_RunPrinterMsg1(u8 taskId) { s16 *data = gTasks[taskId].data; if (RunTextPrinters_CheckActive((u8)data[0]) != TRUE) - gTasks[taskId].func = sub_8120D40; + gTasks[taskId].func = Task_FirstBattleEnterParty_LightenFirstMonIcon; } -static void sub_8120D40(u8 taskId) +static void Task_FirstBattleEnterParty_LightenFirstMonIcon(u8 taskId) { BeginNormalPaletteFade(0xFFFF0008, 4, 6, 0, RGB_BLACK); - gTasks[taskId].func = sub_8120D7C; + gTasks[taskId].func = Task_FirstBattleEnterParty_WaitLightenFirstMonIcon; } -static void sub_8120D7C(u8 taskId) +static void Task_FirstBattleEnterParty_WaitLightenFirstMonIcon(u8 taskId) { if (!gPaletteFade.active) - gTasks[taskId].func = sub_8120DAC; + gTasks[taskId].func = Task_FirstBattleEnterParty_StartPrintMsg2; } -static void sub_8120DAC(u8 taskId) +static void Task_FirstBattleEnterParty_StartPrintMsg2(u8 taskId) { s16 *data = gTasks[taskId].data; - sub_8122084(data[0], gUnknown_8417494); - gTasks[taskId].func = sub_8120DE0; + PartyMenu_Oak_PrintText(data[0], gText_OakThisIsListOfPokemon); + gTasks[taskId].func = Task_FirstBattleEnterParty_RunPrinterMsg2; } -static void sub_8120DE0(u8 taskId) +static void Task_FirstBattleEnterParty_RunPrinterMsg2(u8 taskId) { s16 *data = gTasks[taskId].data; if (RunTextPrinters_CheckActive((u8)data[0]) != TRUE) { - sub_8122110((u8)data[0]); - gTasks[taskId].func = sub_8120E1C; + FirstBattleEnterParty_DestroyVoiceoverWindow((u8)data[0]); + gTasks[taskId].func = Task_FirstBattleEnterParty_FadeNormal; } } -static void sub_8120E1C(u8 taskId) +static void Task_FirstBattleEnterParty_FadeNormal(u8 taskId) { BeginNormalPaletteFade(0x0000FFF7, 4, 6, 0, RGB_BLACK); - gTasks[taskId].func = sub_8120E58; + gTasks[taskId].func = Task_FirstBattleEnterParty_WaitFadeNormal; } -static void sub_8120E58(u8 taskId) +static void Task_FirstBattleEnterParty_WaitFadeNormal(u8 taskId) { if (!gPaletteFade.active) { @@ -2038,24 +2040,25 @@ static void sub_8120E58(u8 taskId) } } -static void sub_8120EBC(u8 taskId) +// Pokedude switches Pokemon +static void Task_PartyMenu_Pokedude(u8 taskId) { s16 *data = gTasks[taskId].data; data[0] = 0; - gTasks[taskId].func = sub_8120EE0; + gTasks[taskId].func = Task_PartyMenu_PokedudeStep; } -static void sub_8120EE0(u8 taskId) +static void Task_PartyMenu_PokedudeStep(u8 taskId) { s16 *data = gTasks[taskId].data; - if (!gPaletteFade.active && sub_8120F78(taskId) != TRUE) + if (!gPaletteFade.active && PartyMenuPokedudeIsCancelled(taskId) != TRUE) { switch (data[0]) { case 80: - UpdateCurrentPartySelection(&gPartyMenu.slotId, 2); + UpdateCurrentPartySelection(&gPartyMenu.slotId, MENU_DIR_RIGHT); break; case 160: PlaySE(SE_SELECT); @@ -2070,18 +2073,18 @@ static void sub_8120EE0(u8 taskId) } } -static bool8 sub_8120F78(u8 taskId) +static bool8 PartyMenuPokedudeIsCancelled(u8 taskId) { if (JOY_NEW(B_BUTTON)) { - sPartyMenuInternal->exitCallback = sub_8120FB0; + sPartyMenuInternal->exitCallback = PartyMenuHandlePokedudeCancel; Task_ClosePartyMenu(taskId); return TRUE; } return FALSE; } -static void sub_8120FB0(void) +static void PartyMenuHandlePokedudeCancel(void) { FreeRestoreBattleData(); LoadPlayerParty(); @@ -2089,19 +2092,20 @@ static void sub_8120FB0(void) SetMainCallback2(CB2_ReturnToTeachyTV); } -static void sub_8120FCC(u8 taskId) +// Pokedude uses item on his own Pokemon +static void Task_PartyMenuFromBag_Pokedude(u8 taskId) { s16 *data = gTasks[taskId].data; data[0] = 0; - gTasks[taskId].func = sub_8120FF0; + gTasks[taskId].func = Task_PartyMenuFromBag_PokedudeStep; } -static void sub_8120FF0(u8 taskId) +static void Task_PartyMenuFromBag_PokedudeStep(u8 taskId) { s16 *data = gTasks[taskId].data; - if (!gPaletteFade.active && sub_8120F78(taskId) != TRUE) + if (!gPaletteFade.active && PartyMenuPokedudeIsCancelled(taskId) != TRUE) { if (data[0] != 80) { @@ -2612,24 +2616,24 @@ static void RemoveLevelUpStatsWindow(void) PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]); } -static void sub_8122084(u8 windowId, const u8 *str) +static void PartyMenu_Oak_PrintText(u8 windowId, const u8 *str) { StringExpandPlaceholders(gStringVar4, str); gTextFlags.canABSpeedUpPrint = TRUE; - AddTextPrinterParameterized2(windowId, 4, gStringVar4, GetTextSpeedSetting(), 0, 2, 1, 3); + AddTextPrinterParameterized2(windowId, 4, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); } -static bool8 sub_81220D4(void) +static bool8 FirstBattleEnterParty_CreateWindowAndMsg1Printer(void) { - u8 windowId = AddWindow(&gUnknown_845A170); + u8 windowId = AddWindow(&sWindowTemplate_FirstBattleOakVoiceover); TextWindow_LoadResourcesStdFrame0(windowId, 0x4F, 0xE0); DrawDialogFrameWithCustomTileAndPalette(windowId, 1, 0x4F, 0xE); - sub_8122084(windowId, gUnknown_8417457); + PartyMenu_Oak_PrintText(windowId, gText_OakImportantToGetToKnowPokemonThroughly); return windowId; } -static void sub_8122110(u8 windowId) +static void FirstBattleEnterParty_DestroyVoiceoverWindow(u8 windowId) { ClearWindowTilemap(windowId); ClearDialogWindowAndFrameToTransparent(windowId, FALSE); @@ -5193,7 +5197,7 @@ static void Task_TryLearningNextMove(u8 taskId) static void PartyMenuTryEvolution(u8 taskId) { struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId]; - u16 targetSpecies = GetEvolutionTargetSpecies(mon, 0, 0); + u16 targetSpecies = GetEvolutionTargetSpecies(mon, EVO_MODE_NORMAL, 0); if (targetSpecies != SPECIES_NONE) { @@ -5349,7 +5353,7 @@ static void sub_8126BD4(void) static bool8 MonCanEvolve(void) { if (!IsNationalPokedexEnabled() - && GetEvolutionTargetSpecies(&gPlayerParty[gPartyMenu.slotId], 2, gSpecialVar_ItemId) > KANTO_DEX_COUNT) + && GetEvolutionTargetSpecies(&gPlayerParty[gPartyMenu.slotId], EVO_MODE_ITEM_USE, gSpecialVar_ItemId) > KANTO_DEX_COUNT) return FALSE; else return TRUE; @@ -5858,16 +5862,16 @@ static u8 GetPartyLayoutFromBattleType(void) void OpenPartyMenuInTutorialBattle(u8 partyAction) { - if (!sub_80EB2E0(8) && (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)) + if (!BtlCtrl_OakOldMan_TestState2Flag(FIRST_BATTLE_MSG_FLAG_PARTY_MENU) && (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)) { InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), partyAction, FALSE, PARTY_MSG_NONE, - sub_8120C3C, + Task_FirstBattleEnterParty_WaitFadeIn, SetCB2ToReshowScreenAfterMenu); - sub_80EB2F4(8); + BtlCtrl_OakOldMan_SetState2Flag(FIRST_BATTLE_MSG_FLAG_PARTY_MENU); } else { @@ -5879,36 +5883,36 @@ void OpenPartyMenuInTutorialBattle(u8 partyAction) Task_HandleChooseMonInput, SetCB2ToReshowScreenAfterMenu); } - nullsub_44(); + ReshowBattleScreenDummy(); UpdatePartyToBattleOrder(); } -void OpenPartyMenuInBattle(void) +void Pokedude_OpenPartyMenuInBattle(void) { - InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, sub_8120EBC, SetCB2ToReshowScreenAfterMenu); - nullsub_44(); + InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_CHOOSE_MON, FALSE, PARTY_MSG_CHOOSE_MON, Task_PartyMenu_Pokedude, SetCB2ToReshowScreenAfterMenu); + ReshowBattleScreenDummy(); UpdatePartyToBattleOrder(); } -void ChooseMonForInBattleItem(void) +void Pokedude_ChooseMonForInBattleItem(void) { - InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_REUSABLE_ITEM, FALSE, PARTY_MSG_USE_ON_WHICH_MON, sub_8120FCC, CB2_BagMenuFromBattle); - nullsub_44(); + InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_REUSABLE_ITEM, FALSE, PARTY_MSG_USE_ON_WHICH_MON, Task_PartyMenuFromBag_Pokedude, CB2_BagMenuFromBattle); + ReshowBattleScreenDummy(); UpdatePartyToBattleOrder(); } -void sub_81279E0(void) +void EnterPartyFromItemMenuInBattle(void) { - if (!sub_80EB2E0(8) && (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)) + if (!BtlCtrl_OakOldMan_TestState2Flag(FIRST_BATTLE_MSG_FLAG_PARTY_MENU) && (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)) { InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_USE_ITEM, FALSE, PARTY_MSG_NONE, - sub_8120C3C, + Task_FirstBattleEnterParty_WaitFadeIn, CB2_BagMenuFromBattle); - sub_80EB2F4(8); + BtlCtrl_OakOldMan_SetState2Flag(FIRST_BATTLE_MSG_FLAG_PARTY_MENU); } else { @@ -5926,7 +5930,7 @@ void sub_81279E0(void) Task_HandleChooseMonInput, callback); } - nullsub_44(); + ReshowBattleScreenDummy(); UpdatePartyToBattleOrder(); } @@ -5973,7 +5977,7 @@ static bool8 TrySwitchInPokemon(void) StringExpandPlaceholders(gStringVar4, gText_EggCantBattle); return FALSE; } - if (GetPartyIdFromBattleSlot(slot) == gBattleStruct->field_8B) + if (GetPartyIdFromBattleSlot(slot) == gBattleStruct->playerPartyIdx) { GetMonNickname(&gPlayerParty[slot], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadySelected); @@ -6061,7 +6065,7 @@ static void BufferBattlePartyOrder(u8 *partyBattleOrder, u8 flankId) void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId) { - BufferBattlePartyOrderBySide(gBattleStruct->field_60[battlerId], flankId, battlerId); + BufferBattlePartyOrderBySide(gBattleStruct->battlerPartyOrders[battlerId], flankId, battlerId); } // when GetBattlerSide(battlerId) == B_SIDE_PLAYER, this function is identical the one above @@ -6139,7 +6143,7 @@ void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2) if (IsMultiBattle()) { - partyBattleOrder = gBattleStruct->field_60[battlerId]; + partyBattleOrder = gBattleStruct->battlerPartyOrders[battlerId]; for (i = j = 0; i < 3; ++j, ++i) { partyIds[j] = partyBattleOrder[i] >> 4; |