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.c200
1 files changed, 100 insertions, 100 deletions
diff --git a/src/party_menu.c b/src/party_menu.c
index 9caaa05b9..52c637879 100644
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -450,8 +450,8 @@ struct Unk201C000
{
/*0x00*/ struct Pokemon *pokemon;
/*0x04*/ u8 unk4;
- /*0x05*/ u8 unk5;
- /*0x06*/ u16 unk6;
+ /*0x05*/ u8 primarySelectedMonIndex;
+ /*0x06*/ u16 secondarySelectedIndex;
/*0x08*/ u16 unk8;
/*0x0A*/ u8 pad_0A[2];
/*0x0C*/ s32 unkC;
@@ -718,7 +718,7 @@ bool8 InitPartyMenu(void)
gMain.state++;
break;
case 16:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0));
gPaletteFade.bufferTransferDisabled = 0;
gMain.state++;
break;
@@ -1007,7 +1007,7 @@ void sub_806B908(void)
ewram1B000.unk261 = 2;
}
#else
-__attribute__((naked))
+NAKED
void sub_806B908(void)
{
asm(".syntax unified\n\
@@ -1213,29 +1213,29 @@ void sub_806BBEC(u8 a)
}
}
-void sub_806BC3C(u8 monIndex, u8 b)
+// Draws the descriptor text in the mon's party bubble.
+// Descriptor texts are things like "ABLE", "NOT ABLE", "LEARNED", etc.
+void DrawMonDescriptorStatus(u8 monIndex, u8 descriptorOffset)
{
- u16 *vramPtr = gUnknown_08376918[IsDoubleBattle()][monIndex];
u8 i;
- u16 var1;
+ u32 offset;
+ u16 *vramPtr = gUnknown_08376918[IsDoubleBattle()][monIndex];
+ int paletteNum = 0;
- for (i = 0, var1 = (b / 7) * 32; i <= PARTY_SIZE; i++)
+ for (i = 0; i < 7; i++)
{
- u32 offset = i + var1;
- vramPtr[i] = gUnknown_08E9A300[offset] + 0x10C;
- vramPtr[i + 0x20] = gUnknown_08E9A300[offset + 0x20] + 0x10C;
+ offset = i + (descriptorOffset / 7) * 32;
+ vramPtr[i] = paletteNum | (gUnknown_08E9A300[offset] + 0x10C);
+ vramPtr[i + 0x20] = paletteNum | (gUnknown_08E9A300[offset + 0x20] + 0x10C);
}
-
- // Some dead code was likely optimized out, but the compiler still think r8 was used.
- asm("":::"r8");
}
-void unref_sub_806BCB8(u8 a)
+void unref_sub_806BCB8(u8 descriptorOffset)
{
u8 i;
for (i = 0; i < gPlayerPartyCount; i++)
- sub_806BC3C(i, a);
+ DrawMonDescriptorStatus(i, descriptorOffset);
}
// This is ultimately unreferenced, since it's caller is unreferenced.
@@ -1250,19 +1250,19 @@ void sub_806BCE8()
switch (GetMonGender(&gPlayerParty[i]))
{
case MON_MALE:
- sub_806BC3C(i, 0x54);
+ DrawMonDescriptorStatus(i, 0x54);
break;
case MON_FEMALE:
- sub_806BC3C(i, 0x62);
+ DrawMonDescriptorStatus(i, 0x62);
break;
default:
- sub_806BC3C(i, 0x46);
+ DrawMonDescriptorStatus(i, 0x46);
break;
}
}
else
{
- sub_806BC3C(i, 0x46);
+ DrawMonDescriptorStatus(i, 0x46);
}
}
}
@@ -1326,7 +1326,7 @@ u16 HandleDefaultPartyMenuInput(u8 taskId)
return gMain.newAndRepeatedKeys;
}
#else
-__attribute__((naked))
+NAKED
u16 HandleDefaultPartyMenuInput(u8 taskId)
{
asm(".syntax unified\n\
@@ -1810,7 +1810,7 @@ void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 dire
}
#else
-__attribute__((naked))
+NAKED
void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed)
{
asm(".syntax unified\n\
@@ -2408,7 +2408,7 @@ void sub_806CF04(void)
gSprites[ewram01000.unk4].callback = SpriteCB_sub_806D37C;
}
#else
-__attribute__((naked))
+NAKED
void sub_806CF04(void)
{
asm(".syntax unified\n\
@@ -2986,7 +2986,7 @@ void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item)
gSprites[heldItemSpriteId].callback(&gSprites[heldItemSpriteId]);
}
#else
-__attribute__((naked))
+NAKED
void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item)
{
asm(".syntax unified\n\
@@ -3172,7 +3172,7 @@ void SetHeldItemIconVisibility(u8 taskId, u8 monIndex)
}
}
#else
-__attribute__((naked))
+NAKED
void SetHeldItemIconVisibility(u8 a, u8 monIndex)
{
asm(".syntax unified\n\
@@ -3376,7 +3376,7 @@ void PartyMenuPrintMonLevelOrStatus(u8 monIndex, struct Pokemon *pokemon)
else
menuLayout = IsDoubleBattle();
- if (statusAndPkrs != 0 && statusAndPkrs != 6)
+ if (statusAndPkrs && statusAndPkrs != STATUS_PRIMARY_POKERUS)
PartyMenuPutStatusTilemap(monIndex, menuLayout, statusAndPkrs - 1);
else
PartyMenuPrintLevel(monIndex, menuLayout, pokemon);
@@ -3427,10 +3427,10 @@ void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP)
{
u32 *var;
register u8 *stringVar1 asm("r2") = gStringVar1;
- register u8 *textPtr asm("r2") = sub_8072C14(stringVar1, currentHP, 15, 1);
+ register u8 *textPtr asm("r2") = AlignInt1InMenuWindow(stringVar1, currentHP, 15, 1);
textPtr[0] = CHAR_SLASH;
- sub_8072C14(++textPtr, maxHP, 35, 1);
+ AlignInt1InMenuWindow(++textPtr, maxHP, 35, 1);
var = 0;
CpuFastSet(&var, gUnknown_02039460, 0x1000040);
@@ -3601,9 +3601,9 @@ void sub_806E8D0(u8 taskId, u16 b, TaskFunc c)
{
ewram1C000.unk10 = c;
ewram1C000.unk4 = taskId;
- ewram1C000.unk5 = sub_806CA38(taskId);
- ewram1C000.unk6 = b;
- ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
+ ewram1C000.primarySelectedMonIndex = sub_806CA38(taskId);
+ ewram1C000.secondarySelectedIndex = b;
+ ewram1C000.pokemon = &gPlayerParty[ewram1C000.primarySelectedMonIndex];
}
bool8 PartyMenuUpdateMonHeldItem(struct Pokemon *pkmn, u16 item)
@@ -3664,7 +3664,7 @@ void PartyMenuTryGiveMonHeldItem(u8 taskId, u16 newItem, TaskFunc c)
}
else
{
- DisplayGiveHeldItemMessage(ewram1C000.unk5, newItem, 1);
+ DisplayGiveHeldItemMessage(ewram1C000.primarySelectedMonIndex, newItem, 1);
CreateTask(party_menu_link_mon_held_item_object, 5);
}
}
@@ -3674,7 +3674,7 @@ void party_menu_link_mon_held_item_object(u8 taskId)
{
if (gUnknown_0202E8F6 == 0)
{
- SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5);
+ SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.primarySelectedMonIndex);
gTasks[ewram1C000.unk4].func = ewram1C000.unk10;
DestroyTask(taskId);
}
@@ -3690,17 +3690,17 @@ void PartyMenuTryGiveMonHeldItem_806EACC(u8 taskId)
Menu_EraseWindowRect(23, 8, 29, 13);
currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
- RemoveBagItem(ewram1C000.unk6, 1);
+ RemoveBagItem(ewram1C000.secondarySelectedIndex, 1);
if (AddBagItem(currentItem, 1) == TRUE)
{
- PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, ewram1C000.unk6);
- if (ItemIsMail(ewram1C000.unk6))
+ PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, ewram1C000.secondarySelectedIndex);
+ if (ItemIsMail(ewram1C000.secondarySelectedIndex))
{
- DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 1);
+ DisplayTakeHeldItemMessage(ewram1C000.primarySelectedMonIndex, currentItem, 1);
}
else
{
- CopyItemName(ewram1C000.unk6, gStringVar1);
+ CopyItemName(ewram1C000.secondarySelectedIndex, gStringVar1);
StringExpandPlaceholders(gStringVar4, gOtherText_TakenAndReplaced);
sub_806E834(gStringVar4, 1);
}
@@ -3708,7 +3708,7 @@ void PartyMenuTryGiveMonHeldItem_806EACC(u8 taskId)
else
{
sub_806E834(gOtherText_BagFullCannotRemoveItem, 0);
- AddBagItem(ewram1C000.unk6, 1);
+ AddBagItem(ewram1C000.secondarySelectedIndex, 1);
}
}
else
@@ -3789,7 +3789,7 @@ void PartyMenuTryGiveMonHeldItem_806ECE8(u8 taskId, TaskFunc func)
{
if (ItemIsMail(currentItem) == TRUE)
TakeMailFromMon(ewram1C000.pokemon);
- DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 0);
+ DisplayTakeHeldItemMessage(ewram1C000.primarySelectedMonIndex, currentItem, 0);
SetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM, itemData);
}
else
@@ -3812,7 +3812,7 @@ void DoTakeMail(u8 taskId, TaskFunc func)
{
gTasks[taskId].func = TaskDummy;
sub_806E8D0(taskId, 0, func);
- ewram1C000.unk6 = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
+ ewram1C000.secondarySelectedIndex = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM);
sub_806E834(gOtherText_SendRemovedMailPrompt, 1);
CreateTask(Task_ConfirmTakeHeldMail, 5);
}
@@ -3823,7 +3823,7 @@ void Task_LoseMailMessage(u8 taskId)
if (selection == 0)
{
- if (AddBagItem(ewram1C000.unk6, 1) == TRUE)
+ if (AddBagItem(ewram1C000.secondarySelectedIndex, 1) == TRUE)
{
TakeMailFromMon(ewram1C000.pokemon);
sub_806E834(gOtherText_MailTaken, 0);
@@ -3923,7 +3923,7 @@ extern u8 gUnknown_020297ED;
void Task_TeamMonTMMove(u8 taskId)
{
GetMonNickname(ewram1C000.pokemon, gStringVar1);
- ewram1C000.unk8 = ItemIdToBattleMoveId(ewram1C000.unk6);
+ ewram1C000.unk8 = ItemIdToBattleMoveId(ewram1C000.secondarySelectedIndex);
StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
ewram1B000.unk282 = 0;
if (pokemon_has_move(ewram1C000.pokemon, ewram1C000.unk8))
@@ -3938,7 +3938,7 @@ void Task_TeamMonTMMove(u8 taskId)
#if DEBUG
!gUnknown_020297ED &&
#endif
- !CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.unk6 - 33))
+ !CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.secondarySelectedIndex - 33))
{
StringExpandPlaceholders(gStringVar4, gOtherText_NotCompatible);
sub_806E834(gStringVar4, 1);
@@ -3965,9 +3965,9 @@ void Task_TeamMonTMMove2(u8 taskId)
StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]);
StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove);
sub_806E834(gStringVar4, 1);
- AdjustFriendship(ewram1C000.pokemon, 4);
- if (ewram1B000.unk282 == 0 && ewram1C000.unk6 <= 0x152)
- RemoveBagItem(ewram1C000.unk6, 1);
+ AdjustFriendship(ewram1C000.pokemon, FRIENDSHIP_EVENT_LEARN_TMHM);
+ if (ewram1B000.unk282 == 0 && ewram1C000.secondarySelectedIndex < ITEM_HM01_CUT)
+ RemoveBagItem(ewram1C000.secondarySelectedIndex, 1);
gTasks[taskId].func = Task_TeamMonTMMove3;
}
@@ -3975,7 +3975,7 @@ void Task_TeamMonTMMove3(u8 taskId)
{
if (gUnknown_0202E8F6 == 0)
{
- PlayFanfare(BGM_FANFA1);
+ PlayFanfare(MUS_FANFA1);
gTasks[taskId].func = Task_TeamMonTMMove4;
}
}
@@ -3986,7 +3986,7 @@ void Task_TeamMonTMMove4(u8 taskId)
{
if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
{
- SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5);
+ SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.primarySelectedMonIndex);
if (ewram1B000.unk282 == 1)
{
TeachMonMoveInPartyMenu(taskId);
@@ -4004,7 +4004,7 @@ void sub_806F2FC(u8 taskId)
{
if (gUnknown_0202E8F6 == 0)
{
- SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5);
+ SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.primarySelectedMonIndex);
if (ewram1B000.unk282 == 1)
{
TeachMonMoveInPartyMenu(taskId);
@@ -4050,7 +4050,7 @@ void sub_806F3FC(u8 taskId)
{
if (!gPaletteFade.active)
{
- ShowSelectMovePokemonSummaryScreen(gPlayerParty, ewram1C000.unk5, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8);
+ ShowSelectMovePokemonSummaryScreen(gPlayerParty, ewram1C000.primarySelectedMonIndex, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8);
DestroyTask(taskId);
}
}
@@ -4059,7 +4059,7 @@ void sub_806F44C(u8 taskId)
{
if (gUnknown_0202E8F6 == 0)
{
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0));
gTasks[taskId].func = sub_806F3FC;
}
}
@@ -4184,7 +4184,7 @@ s16 sub_806F7E8(u8 taskId, struct BattleInterfaceStruct1 *b, s8 c)
b->unkC_0 = 5;
if (hpBarLevel < 2)
b->unkC_0 = 6;
- vramPtr = gUnknown_08376858[IsDoubleBattle()][ewram1C000.unk5];
+ vramPtr = gUnknown_08376858[IsDoubleBattle()][ewram1C000.primarySelectedMonIndex];
return sub_80460C8(b, &ewram1C000.unkC, vramPtr, 0);
}
@@ -4208,19 +4208,19 @@ void sub_806F8AC(u8 taskId)
StringExpandPlaceholders(gStringVar4, gOtherText_HPRestoredBy);
else
StringExpandPlaceholders(gStringVar4, gOtherText_RegainedHealth);
- SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram1C000.unk5), ewram1C000.pokemon);
- task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 7);
+ SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram1C000.primarySelectedMonIndex), ewram1C000.pokemon);
+ task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.primarySelectedMonIndex * 2], 7);
ewram1B000.unk261 = 2;
sub_806E834(gStringVar4, 1);
sp14 += sp0.unk4;
SetMonData(ewram1C000.pokemon, MON_DATA_HP, &sp14);
- RemoveBagItem(ewram1C000.unk6, 1);
+ RemoveBagItem(ewram1C000.secondarySelectedIndex, 1);
sub_8032638();
gTasks[taskId].func = sub_806FB44;
}
else
{
- PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0);
+ PartyMenuDoPrintHP(ewram1C000.primarySelectedMonIndex, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0);
}
}
@@ -4236,8 +4236,8 @@ void sub_806FA18(u8 taskId)
gTasks[taskId].data[11] -= gTasks[taskId].data[12];
SetMonData(ewram1C000.pokemon, MON_DATA_HP, &gTasks[taskId].data[11]);
SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram01000.unk1), ewram1C000.pokemon);
- ewram1C000.unk5 = gSprites[ewram01000.unk2].data[0];
- ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
+ ewram1C000.primarySelectedMonIndex = gSprites[ewram01000.unk2].data[0];
+ ewram1C000.pokemon = &gPlayerParty[ewram1C000.primarySelectedMonIndex];
gTasks[taskId].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP);
gTasks[taskId].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP);
ewram1C000.unkC = -32768;
@@ -4247,7 +4247,7 @@ void sub_806FA18(u8 taskId)
}
else
{
- PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0);
+ PartyMenuDoPrintHP(ewram1C000.primarySelectedMonIndex, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0);
}
}
@@ -4364,12 +4364,12 @@ bool8 IsMedicineIneffective(struct Pokemon *pkmn, u16 item)
return FALSE;
}
-bool8 ExecuteTableBasedItemEffect__(u8 a, u16 b, u8 c)
+bool8 ExecuteTableBasedItemEffect__(u8 monIndex, u16 item, u8 moveIndex)
{
if (gMain.inBattle)
- return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, sub_8094C20(a), c);
+ return ExecuteTableBasedItemEffect_(&gPlayerParty[monIndex], item, sub_8094C20(monIndex), moveIndex);
else
- return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, a, c);
+ return ExecuteTableBasedItemEffect_(&gPlayerParty[monIndex], item, monIndex, moveIndex);
}
void UseMedicine(u8 taskId, u16 item, TaskFunc func)
@@ -4395,7 +4395,7 @@ void UseMedicine(u8 taskId, u16 item, TaskFunc func)
gTasks[r7].data[11] = 0;
}
}
- r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, item, 0);
+ r0 = ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, item, 0);
}
else
{
@@ -4419,8 +4419,8 @@ void UseMedicine(u8 taskId, u16 item, TaskFunc func)
else
PlaySE(SE_BIDORO);
statusAndPkrs = GetMonStatusAndPokerus(ewram1C000.pokemon);
- if (statusAndPkrs == 6 || statusAndPkrs == 0)
- PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5);
+ if (statusAndPkrs == STATUS_PRIMARY_POKERUS || statusAndPkrs == STATUS_PRIMARY_NONE)
+ PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.primarySelectedMonIndex);
if (r9 == TRUE)
{
gTasks[r7].data[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - gTasks[r7].data[11];
@@ -4439,7 +4439,7 @@ void UseMedicine(u8 taskId, u16 item, TaskFunc func)
if (!IsBlueYellowRedFlute(item))
RemoveBagItem(item, 1);
GetMedicineItemEffectMessage(item);
- TryPrintPartyMenuMonNickname(ewram1C000.unk5, ewram1C000.pokemon);
+ TryPrintPartyMenuMonNickname(ewram1C000.primarySelectedMonIndex, ewram1C000.pokemon);
sub_806E834(gStringVar4, 1);
gTasks[r7].func = sub_806FB0C;
}
@@ -4456,12 +4456,12 @@ bool8 IsBlueYellowRedFlute(u16 item)
return FALSE;
}
-void sub_8070048(u8 taskId, u16 item, TaskFunc func)
+void DoSacredAshItemEffect(u8 taskId, u16 item, TaskFunc func)
{
ewram1C000.unk10 = func;
ewram1C000.unk4 = taskId;
- ewram1C000.unk6 = item;
- ewram1C000.unk5 = 0;
+ ewram1C000.secondarySelectedIndex = item;
+ ewram1C000.primarySelectedMonIndex = 0;
ewram1C000.unk14 = sub_80701DC;
ewram1B000.unk27E = 0;
ewram1B000.unk280 = 0;
@@ -4473,7 +4473,7 @@ void sub_8070088(u8 taskId)
u8 taskId2;
gTasks[taskId].func = TaskDummy;
- if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) == 0)
+ if (GetMonData(&gPlayerParty[ewram1C000.primarySelectedMonIndex], MON_DATA_SPECIES) == SPECIES_NONE)
{
gTasks[taskId].func = sub_80701DC;
}
@@ -4483,10 +4483,10 @@ void sub_8070088(u8 taskId)
taskId2 = CreateTask(TaskDummy, 5);
taskData = gTasks[taskId2].data;
- ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
+ ewram1C000.pokemon = &gPlayerParty[ewram1C000.primarySelectedMonIndex];
taskData[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP);
taskData[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP);
- if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, 0))
+ if (ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, ewram1C000.secondarySelectedIndex, 0))
{
DestroyTask(taskId2);
gTasks[taskId].func = sub_80701DC;
@@ -4496,8 +4496,8 @@ void sub_8070088(u8 taskId)
gUnknown_0202E8F4 = 1;
Menu_EraseWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19);
PlaySE(SE_KAIFUKU);
- PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5);
- task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 9);
+ PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.primarySelectedMonIndex);
+ task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.primarySelectedMonIndex * 2], 9);
ewram1B000.unk261 = 2;
taskData[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - taskData[11];
taskData[14] = 1;
@@ -4514,16 +4514,16 @@ void sub_80701DC(u8 taskId)
{
if (ewram1B000.unk27E == 1)
{
- AddBagItem(ewram1C000.unk6, 1);
- if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) != 0)
+ AddBagItem(ewram1C000.secondarySelectedIndex, 1);
+ if (GetMonData(&gPlayerParty[ewram1C000.primarySelectedMonIndex], MON_DATA_SPECIES) != 0)
{
- task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 3);
+ task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.primarySelectedMonIndex * 2], 3);
ewram1B000.unk261 = 2;
}
ewram1B000.unk27E = 0;
}
- ewram1C000.unk5++;
- if (ewram1C000.unk5 == 6)
+ ewram1C000.primarySelectedMonIndex++;
+ if (ewram1C000.primarySelectedMonIndex == 6)
{
gUnknown_0202E8F4 = 0;
if (ewram1B000.unk280 == 0)
@@ -4534,7 +4534,7 @@ void sub_80701DC(u8 taskId)
}
else
{
- RemoveBagItem(ewram1C000.unk6, 1);
+ RemoveBagItem(ewram1C000.secondarySelectedIndex, 1);
gTasks[taskId].func = ewram1C000.unk10;
}
gLastFieldPokeMenuOpened = 0;
@@ -4607,7 +4607,7 @@ void DoPPRecoveryItemEffect(u8 taskId, u16 item, TaskFunc c)
{
PlaySE(SE_SELECT);
PrintPartyMenuPromptText(10, 3);
- CreateItemUseMoveMenu(ewram1C000.unk5);
+ CreateItemUseMoveMenu(ewram1C000.primarySelectedMonIndex);
gTasks[taskId2].func = Task_HandleItemUseMoveMenuInput;
gMain.newKeys = 0;
}
@@ -4638,7 +4638,7 @@ void DoRecoverPP(u8 taskId)
{
u16 r5 = 0;
- if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, gTasks[taskId].data[11]))
+ if (ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, ewram1C000.secondarySelectedIndex, gTasks[taskId].data[11]))
{
gUnknown_0202E8F4 = r5;
PlaySE(SE_SELECT);
@@ -4648,10 +4648,10 @@ void DoRecoverPP(u8 taskId)
{
gUnknown_0202E8F4 = 1;
PlaySE(SE_KAIFUKU);
- RemoveBagItem(ewram1C000.unk6, 1);
+ RemoveBagItem(ewram1C000.secondarySelectedIndex, 1);
r5 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + gTasks[taskId].data[11]);
StringCopy(gStringVar1, gMoveNames[r5]);
- GetMedicineItemEffectMessage(ewram1C000.unk6);
+ GetMedicineItemEffectMessage(ewram1C000.secondarySelectedIndex);
sub_806E834(gStringVar4, 1);
}
gTasks[taskId].func = sub_806FB0C;
@@ -4663,7 +4663,7 @@ void DoPPUpItemEffect(u8 taskId, u16 b, TaskFunc c)
sub_806E8D0(taskId, b, c);
PlaySE(SE_SELECT);
PrintPartyMenuPromptText(11, 3);
- CreateItemUseMoveMenu(ewram1C000.unk5);
+ CreateItemUseMoveMenu(ewram1C000.primarySelectedMonIndex);
CreateTask(Task_HandleItemUseMoveMenuInput, 5);
gMain.newKeys = 0;
}
@@ -4698,24 +4698,24 @@ const u8 gUnknown_Debug_839B6D8[] = _(
#endif
-void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c)
+void DoRareCandyItemEffect(u8 taskId, u16 item, TaskFunc c)
{
u8 i;
- bool8 r0;
+ bool8 noEffect;
gTasks[taskId].func = TaskDummy;
- sub_806E8D0(taskId, b, c);
+ sub_806E8D0(taskId, item, c);
if (GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL) != 100)
{
- for (i = 0; i < 6; i++)
+ for (i = 0; i < NUM_STATS; i++)
ewram1B000.statGrowths[i] = GetMonData(ewram1C000.pokemon, StatDataTypes[i]);
- r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, b, 0);
+ noEffect = ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, item, 0);
}
else
- r0 = TRUE;
+ noEffect = TRUE;
- if (r0)
+ if (noEffect)
{
gUnknown_0202E8F4 = 0;
PlaySE(SE_SELECT);
@@ -4728,8 +4728,8 @@ void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c)
gUnknown_0202E8F4 = 1;
PlayFanfareByFanfareNum(0);
- RedrawPokemonInfoInMenu(ewram1C000.unk5, ewram1C000.pokemon);
- RemoveBagItem(b, 1);
+ RedrawPokemonInfoInMenu(ewram1C000.primarySelectedMonIndex, ewram1C000.pokemon);
+ RemoveBagItem(item, 1);
GetMonNickname(ewram1C000.pokemon, gStringVar1);
level = GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL);
ConvertIntToDecimalStringN(gStringVar2, level, 0, 3);
@@ -4843,7 +4843,7 @@ void RedrawPokemonInfoInMenu(u8 monIndex, struct Pokemon *pokemon)
u8 statusAndPkrs = GetMonStatusAndPokerus(pokemon);
u8 icon;
- if (statusAndPkrs == 0 || statusAndPkrs == 6)
+ if (statusAndPkrs == STATUS_PRIMARY_NONE || statusAndPkrs == STATUS_PRIMARY_POKERUS)
PartyMenuUpdateLevelOrStatus(pokemon, monIndex);
PartyMenuDoPrintHP(monIndex, IsDoubleBattle(), GetMonData(pokemon, MON_DATA_HP), GetMonData(pokemon, MON_DATA_MAX_HP));
@@ -4878,7 +4878,7 @@ void Task_RareCandy3(u8 taskId)
if (evolutionSpecies != 0)
{
gCB2_AfterEvolution = sub_80A53F8;
- BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.unk5);
+ BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.primarySelectedMonIndex);
DestroyTask(taskId);
}
else
@@ -4930,7 +4930,7 @@ void TeachMonMoveInPartyMenu(u8 taskId)
if (evolutionSpecies != 0)
{
gCB2_AfterEvolution = sub_80A53F8;
- BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.unk5);
+ BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.primarySelectedMonIndex);
DestroyTask(taskId);
}
else
@@ -4981,7 +4981,7 @@ void DoEvolutionStoneItemEffect(u8 taskId, u16 evolutionStoneItem, TaskFunc c)
gCB2_AfterEvolution = sub_80A53F8;
- if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, evolutionStoneItem, 0))
+ if (ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, evolutionStoneItem, 0))
{
gUnknown_0202E8F4 = 0;
sub_806E834(gOtherText_WontHaveAnyEffect, 1);
@@ -5111,7 +5111,7 @@ u8 GetItemEffectType(u16 item)
}
}
#else
-__attribute__((naked))
+NAKED
u8 GetItemEffectType(u16 item)
{
asm(".syntax unified\n\