summaryrefslogtreecommitdiff
path: root/src/party_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/party_menu.c')
-rw-r--r--src/party_menu.c164
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;