diff --git a/include/applications/party_menu/defs.h b/include/applications/party_menu/defs.h index 0f3a5fc6a4..f820139364 100644 --- a/include/applications/party_menu/defs.h +++ b/include/applications/party_menu/defs.h @@ -70,6 +70,33 @@ enum PartyMenuType { PARTY_MENU_TYPE_MULTI_BATTLE, }; +enum PartyMenuExitCodes { + PARTY_MENU_EXIT_CODE_DONE = 0, + PARTY_MENU_EXIT_CODE_SUMMARY, + PARTY_MENU_EXIT_CODE_2, + PARTY_MENU_EXIT_CODE_GIVE_ITEM, + PARTY_MENU_EXIT_CODE_LEARNED_MOVE, + PARTY_MENU_EXIT_CODE_FORGET_MOVE, + PARTY_MENU_EXIT_CODE_MAIL, + PARTY_MENU_EXIT_CODE_READ_MAIL, + PARTY_MENU_EXIT_CODE_EVOLVE_BY_ITEM, + PARTY_MENU_EXIT_CODE_EVOLVE_BY_LEVEL, + PARTY_MENU_EXIT_CODE_RETURN_TO_BAG, + PARTY_MENU_EXIT_CODE_CUT, + PARTY_MENU_EXIT_CODE_FLY, + PARTY_MENU_EXIT_CODE_SURF, + PARTY_MENU_EXIT_CODE_STRENGTH, + PARTY_MENU_EXIT_CODE_DEFOG, + PARTY_MENU_EXIT_CODE_ROCK_SMASH, + PARTY_MENU_EXIT_CODE_WATERFALL, + PARTY_MENU_EXIT_CODE_ROCK_CLIMB, + PARTY_MENU_EXIT_CODE_FLASH, + PARTY_MENU_EXIT_CODE_TELEPORT, + PARTY_MENU_EXIT_CODE_DIG, + PARTY_MENU_EXIT_CODE_SWEET_SCENT, + PARTY_MENU_EXIT_CODE_CHATTER +}; + #define PARTY_MENU_MODE_HIDE_CANCEL_FLAG (1 << 7) enum PartyMenuWindow { diff --git a/include/applications/party_menu/unk_02083370.h b/include/applications/party_menu/unk_02083370.h index d30083d4ed..450be108e5 100644 --- a/include/applications/party_menu/unk_02083370.h +++ b/include/applications/party_menu/unk_02083370.h @@ -3,19 +3,19 @@ #include "applications/party_menu/defs.h" -u32 sub_02083370(u8 param0); -void sub_0208337C(PartyMenuApplication *param0); -int sub_02083658(PartyMenuApplication *param0); -int sub_020836A8(PartyMenuApplication *param0); -int sub_020836E4(PartyMenuApplication *param0); -int sub_020839BC(PartyMenuApplication *param0); -int sub_02083A78(void *param0); -int sub_02083AA4(void *param0); -void sub_02083B88(PartyMenuApplication *param0); -void sub_02083BD4(PartyMenuApplication *param0); -BOOL sub_02083D1C(PartyMenuApplication *param0); -int sub_020845A8(PartyMenuApplication *param0); -int sub_02084780(PartyMenuApplication *param0); -int sub_02084B34(PartyMenuApplication *param0); +u32 PartyMenu_GetAction(u8 action); +void PartyMenu_ClearContextWindow(PartyMenuApplication *application); +int sub_02083658(PartyMenuApplication *application); +int sub_020836A8(PartyMenuApplication *application); +int sub_020836E4(PartyMenuApplication *application); +int sub_020839BC(PartyMenuApplication *application); +int sub_02083A78(void *applicationPtr); +int sub_02083AA4(void *applicationPtr); +void sub_02083B88(PartyMenuApplication *application); +void sub_02083BD4(PartyMenuApplication *application); +BOOL sub_02083D1C(PartyMenuApplication *application); +int sub_020845A8(PartyMenuApplication *application); +int sub_02084780(PartyMenuApplication *application); +int sub_02084B34(PartyMenuApplication *application); #endif // POKEPLATINUM_UNK_02083370_H diff --git a/include/start_menu.h b/include/start_menu.h index 446cad05a1..3d9afe06c4 100644 --- a/include/start_menu.h +++ b/include/start_menu.h @@ -12,13 +12,13 @@ void StartMenu_Init(struct FieldSystem_t *fieldSystem); void sub_0203AA78(struct FieldSystem_t *fieldSystem); void sub_0203AABC(FieldSystem *fieldSystem); void StartMenu_Open(FieldSystem *fieldSystem); -void sub_0203B674(StartMenu *param0, void *param1); -BOOL sub_0203B7C0(FieldTask *param0); +void StartMenu_SetCallback(StartMenu *menu, void *callback); +BOOL StartMenu_ExitPartyMenu(FieldTask *taskMan); BOOL sub_0203C3F4(FieldTask *param0); BOOL sub_0203C434(FieldTask *param0); BOOL sub_0203C50C(FieldTask *param0); void *sub_0203C540(u16 param0, u8 param1, u8 param2); -BOOL sub_0203C558(FieldTask *param0); +BOOL StartMenu_ExitMail(FieldTask *taskMan); BOOL sub_0203C710(FieldTask *param0); BOOL sub_0203C750(FieldTask *param0); BOOL sub_0203C784(FieldTask *param0); diff --git a/src/applications/party_menu/main.c b/src/applications/party_menu/main.c index 190fb8abe8..078b9e9c8f 100644 --- a/src/applications/party_menu/main.c +++ b/src/applications/party_menu/main.c @@ -514,7 +514,7 @@ static int sub_0207E518(PartyMenuApplication *application) if (v0 == 0) { if ((application->partyMenu->mode == PARTY_MENU_MODE_SELECT_NO_PROMPT) || (application->partyMenu->mode == PARTY_MENU_MODE_FEED_POFFIN)) { - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; return 32; } else if (application->partyMenu->mode == PARTY_MENU_MODE_MAILBOX) { sub_020868B0(application); @@ -527,11 +527,11 @@ static int sub_0207E518(PartyMenuApplication *application) } else if (v0 == 4) { return HandleGameWindowEvent(application); } else if (v0 == 3) { - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; return 32; } else if (v0 == 2) { if (application->partyMenu->mode != 15) { - application->partyMenu->menuSelectionResult = 1; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_SUMMARY; return 32; } else { Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 1); @@ -550,7 +550,7 @@ static int sub_0207E5B4(PartyMenuApplication *application) Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 1); return ApplyItemEffectOnPokemon(application); } else if (v0 == 3) { - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; return 32; } @@ -565,7 +565,7 @@ static int sub_0207E5F4(PartyMenuApplication *application) Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 1); return ProcessItemApplication(application); } else if (v0 == 3) { - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; return 32; } @@ -650,13 +650,13 @@ static int sub_0207E750(PartyMenuApplication *application) return sub_0208615C(application); } else { PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE); - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; application->unk_B0E = 25; MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00105, application->tmpString); return 24; } } else if (v0 == 3) { - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; return 32; } @@ -2222,7 +2222,7 @@ static int HandleGameWindowEvent(PartyMenuApplication *application) } } - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; Sound_PlayEffect(SEQ_SE_CONFIRM); return 32; } @@ -2384,7 +2384,7 @@ static u8 HandleWindowInputEvent(PartyMenuApplication *application, int *param1) break; case 0xfffffffe: Window_EraseMessageBox(&application->windows[33], 1); - sub_0208337C(application); + PartyMenu_ClearContextWindow(application); if ((application->partyMenu->mode == PARTY_MENU_MODE_SELECT_CONFIRM) || (application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_TOWER) || (application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_CASTLE) || (application->partyMenu->mode == PARTY_MENU_MODE_BATTLE_HALL)) { PartyMenu_PrintShortMessage(application, pl_msg_00000453_00034, TRUE); @@ -2655,7 +2655,7 @@ static int ApplyItemEffectOnPokemon(PartyMenuApplication *app) Pokemon *mon = Party_GetPokemonBySlotIndex(app->partyMenu->party, app->currPartySlot); app->partyMenu->evoTargetSpecies = Pokemon_GetEvolutionTargetSpecies(NULL, mon, EVO_CLASS_BY_ITEM, app->partyMenu->usedItemID, &app->partyMenu->evoType); - app->partyMenu->menuSelectionResult = 8; + app->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_EVOLVE_BY_ITEM; Heap_Free(itemData); return 32; } @@ -2719,7 +2719,7 @@ static int ProcessItemApplication(PartyMenuApplication *application) switch (CheckItemUsageValidity(application)) { case 0: if (Item_IsMail(application->partyMenu->usedItemID) == TRUE) { - application->partyMenu->menuSelectionResult = 6; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_MAIL; return 32; } @@ -2854,7 +2854,7 @@ static int ProcessPokemonItemSwap(PartyMenuApplication *application) if (Item_IsMail(application->partyMenu->usedItemID) == 1) { Bag_TryRemoveItem(application->partyMenu->bag, (u16)v5, 1, HEAP_ID_PARTY_MENU); SwapPokemonItem(application, mon, v4, v5); - application->partyMenu->menuSelectionResult = 6; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_MAIL; return 32; } @@ -2885,13 +2885,13 @@ static int ResetWindowOnInput(PartyMenuApplication *application) { if (application->partyMenu->mode == PARTY_MENU_MODE_GIVE_ITEM_DONE) { Window_EraseMessageBox(&application->windows[34], 1); - PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, TRUE); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, TRUE); // "Choose a Pokémon." Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); application->partyMenu->mode = PARTY_MENU_MODE_FIELD; return 1; } - application->partyMenu->menuSelectionResult = 10; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_RETURN_TO_BAG; return 32; } @@ -2940,7 +2940,7 @@ static int UpdatePokemonFormWithItem(PartyMenuApplication *application) static int CheckForItemApplication(PartyMenuApplication *application) { if (application->partyMembers[application->currPartySlot].ballSeal == 0) { - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; return 32; } diff --git a/src/applications/party_menu/unk_02083370.c b/src/applications/party_menu/unk_02083370.c index a4d9db528e..2fd075df05 100644 --- a/src/applications/party_menu/unk_02083370.c +++ b/src/applications/party_menu/unk_02083370.c @@ -33,110 +33,110 @@ #include "res/text/bank/party_menu.h" -static void sub_02083AD0(PartyMenuApplication *param0, int *param1); -static void sub_0208472C(PartyMenuApplication *param0, int *param1); -static void sub_02084808(PartyMenuApplication *param0, int *param1); -static void sub_02083E8C(PartyMenuApplication *param0, u8 param1); -static void sub_02083FDC(PartyMenuApplication *param0, u8 param1, u8 param2); -static void sub_02084134(PartyMenuApplication *param0); -static void sub_02084420(PartyMenuApplication *param0, u8 param1); -static void sub_020848A8(PartyMenuApplication *param0, int *param1); -static void sub_020848C0(PartyMenuApplication *param0, int *param1); -static void sub_020848D8(PartyMenuApplication *param0, int *param1); -static void sub_020848F0(PartyMenuApplication *param0, int *param1); -static void sub_02084908(PartyMenuApplication *param0, int *param1); -static void sub_02084920(PartyMenuApplication *param0, int *param1); -static void sub_02084938(PartyMenuApplication *param0, int *param1); -static void sub_02084950(PartyMenuApplication *param0, int *param1); -static void sub_02084968(PartyMenuApplication *param0, int *param1); -static void sub_02084980(PartyMenuApplication *param0, int *param1); -static void sub_02084998(PartyMenuApplication *param0, int *param1); -static void sub_020849B0(PartyMenuApplication *param0, int *param1); -static void sub_020849C8(PartyMenuApplication *param0, int *param1); -static void sub_020849E0(PartyMenuApplication *param0, int *param1); -static void sub_020849FC(PartyMenuApplication *param0, int *param1); -static int sub_02084A18(PartyMenuApplication *param0); -static void sub_02084760(PartyMenuApplication *param0, int *param1); -static void sub_020833BC(PartyMenuApplication *param0, int *param1); -static void sub_0208347C(PartyMenuApplication *param0, int *param1); -static void sub_020834B0(PartyMenuApplication *param0, int *param1); -static void sub_02083700(PartyMenuApplication *param0, int *param1); -static void sub_020837C0(PartyMenuApplication *param0, int *param1); -static void sub_020837F4(PartyMenuApplication *param0, int *param1); -static int sub_0208384C(void *param0); -static int sub_020838C4(void *param0); -static int sub_020838F4(void *param0); -static int sub_02083990(void *param0); -static void sub_020846CC(PartyMenuApplication *param0, int *param1); -static void sub_020844B0(PartyMenuApplication *param0, int *param1); -static void sub_020845E8(PartyMenuApplication *param0, int *param1); -static void sub_020846FC(PartyMenuApplication *param0, int *param1); -static void sub_020839FC(PartyMenuApplication *param0, int *param1); - -static const u32 Unk_020F2458[] = { - (const u32)sub_02083AD0, - (const u32)sub_0208472C, - (const u32)sub_020833BC, - (const u32)sub_0208347C, - (const u32)sub_020834B0, - (const u32)sub_02083700, - (const u32)sub_020837C0, - (const u32)sub_020837F4, - (const u32)sub_020839FC, +static void PartyMenu_SelectSwitch(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectSummary(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectFieldMove(PartyMenuApplication *application, int *param1); +static void sub_02083E8C(PartyMenuApplication *application, u8 param1); +static void sub_02083FDC(PartyMenuApplication *application, u8 param1, u8 param2); +static void sub_02084134(PartyMenuApplication *application); +static void sub_02084420(PartyMenuApplication *application, u8 param1); +static void PartyMenu_SelectCut(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectRockSmash(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectStrength(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectSurf(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectDefog(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectRockClimb(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectFly(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectWaterfall(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectFlash(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectTeleport(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectDig(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectSweetScent(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectChatter(PartyMenuApplication *application, int *param1); +static void sub_020849E0(PartyMenuApplication *application, int *param1); +static void sub_020849FC(PartyMenuApplication *application, int *param1); +static int sub_02084A18(PartyMenuApplication *application); +static void sub_02084760(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectItem(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectItemGive(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectItemTake(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectMail(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectMailRead(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectMailTake(PartyMenuApplication *application, int *param1); +static int sub_0208384C(void *applicationPtr); +static int sub_020838C4(void *applicationPtr); +static int sub_020838F4(void *applicationPtr); +static int sub_02083990(void *applicationPtr); +static void sub_020846CC(PartyMenuApplication *application, int *param1); +static void sub_020844B0(PartyMenuApplication *application, int *param1); +static void sub_020845E8(PartyMenuApplication *application, int *param1); +static void sub_020846FC(PartyMenuApplication *application, int *param1); +static void PartyMenu_SelectBallSeal(PartyMenuApplication *application, int *param1); + +static const u32 sPartyMenuActions[] = { + (const u32)PartyMenu_SelectSwitch, + (const u32)PartyMenu_SelectSummary, + (const u32)PartyMenu_SelectItem, + (const u32)PartyMenu_SelectItemGive, + (const u32)PartyMenu_SelectItemTake, + (const u32)PartyMenu_SelectMail, + (const u32)PartyMenu_SelectMailRead, + (const u32)PartyMenu_SelectMailTake, + (const u32)PartyMenu_SelectBallSeal, 0xFFFFFFFE, 0xFFFFFFFE, - (const u32)sub_020844B0, - (const u32)sub_020845E8, - (const u32)sub_020846CC, - (const u32)sub_02084760, - (const u32)sub_020846FC, - (const u32)sub_020848A8, - (const u32)sub_02084938, - (const u32)sub_020848F0, - (const u32)sub_020848D8, - (const u32)sub_02084908, - (const u32)sub_020848C0, - (const u32)sub_02084950, - (const u32)sub_02084920, - (const u32)sub_02084968, - (const u32)sub_02084980, - (const u32)sub_02084998, - (const u32)sub_020849B0, - (const u32)sub_020849C8, - (const u32)sub_020849E0, - (const u32)sub_020849FC, + (const u32)sub_020844B0, // select pokemon? + (const u32)sub_020845E8, // select pokemon? + (const u32)sub_020846CC, // cancel? + (const u32)sub_02084760, // clear screen? + (const u32)sub_020846FC, // cancel2 + (const u32)PartyMenu_SelectCut, + (const u32)PartyMenu_SelectFly, + (const u32)PartyMenu_SelectSurf, + (const u32)PartyMenu_SelectStrength, + (const u32)PartyMenu_SelectDefog, + (const u32)PartyMenu_SelectRockSmash, + (const u32)PartyMenu_SelectWaterfall, + (const u32)PartyMenu_SelectRockClimb, + (const u32)PartyMenu_SelectFlash, + (const u32)PartyMenu_SelectTeleport, + (const u32)PartyMenu_SelectDig, + (const u32)PartyMenu_SelectSweetScent, + (const u32)PartyMenu_SelectChatter, + (const u32)sub_020849E0, // transfer HP + (const u32)sub_020849FC, // transfer HP2 0xFFFFFFFE }; -u32 sub_02083370(u8 param0) +u32 PartyMenu_GetAction(u8 action) // table { - return Unk_020F2458[param0]; + return sPartyMenuActions[action]; } -void sub_0208337C(PartyMenuApplication *param0) +void PartyMenu_ClearContextWindow(PartyMenuApplication *application) { - Window_EraseStandardFrame(¶m0->menuWindows[0], 1); - Window_ClearAndScheduleCopyToVRAM(¶m0->menuWindows[0]); - Menu_Free(param0->contextMenu, NULL); - StringList_Free(param0->contextMenuChoices); - Window_Remove(¶m0->menuWindows[0]); + Window_EraseStandardFrame(&application->menuWindows[0], 1); + Window_ClearAndScheduleCopyToVRAM(&application->menuWindows[0]); + Menu_Free(application->contextMenu, NULL); + StringList_Free(application->contextMenuChoices); + Window_Remove(&application->menuWindows[0]); } -static void sub_020833BC(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectItem(PartyMenuApplication *application, int *param1) { MenuTemplate v0; - sub_0208337C(param0); - PartyMenu_PrintMediumMessage(param0, pl_msg_00000453_00038, FALSE); + PartyMenu_ClearContextWindow(application); + PartyMenu_PrintMediumMessage(application, pl_msg_00000453_00038, FALSE); - param0->contextMenuChoices = StringList_New(3, HEAP_ID_PARTY_MENU); + application->contextMenuChoices = StringList_New(3, HEAP_ID_PARTY_MENU); - StringList_AddFromString(param0->contextMenuChoices, param0->menuStrings[3], sub_02083370(3)); - StringList_AddFromString(param0->contextMenuChoices, param0->menuStrings[4], sub_02083370(4)); - StringList_AddFromString(param0->contextMenuChoices, param0->menuStrings[9], sub_02083370(9)); + StringList_AddFromString(application->contextMenuChoices, application->menuStrings[PARTY_MENU_STR_ITEM_GIVE], PartyMenu_GetAction(3)); + StringList_AddFromString(application->contextMenuChoices, application->menuStrings[PARTY_MENU_STR_ITEM_TAKE], PartyMenu_GetAction(4)); + StringList_AddFromString(application->contextMenuChoices, application->menuStrings[PARTY_MENU_STR_CANCEL], PartyMenu_GetAction(9)); - v0.choices = param0->contextMenuChoices; - v0.window = ¶m0->windows[35]; + v0.choices = application->contextMenuChoices; + v0.window = &application->windows[PARTY_MENU_WIN_GIVE_ITEM_OR_MAIL]; v0.fontID = FONT_SYSTEM; v0.xSize = 1; v0.ySize = 3; @@ -144,43 +144,43 @@ static void sub_020833BC(PartyMenuApplication *param0, int *param1) v0.suppressCursor = FALSE; v0.loopAround = FALSE; - Window_DrawStandardFrame(¶m0->windows[35], 1, 1, 14); + Window_DrawStandardFrame(&application->windows[PARTY_MENU_WIN_GIVE_ITEM_OR_MAIL], 1, 1, 14); - param0->contextMenu = Menu_NewAndCopyToVRAM(&v0, 8, 0, 0, 12, PAD_BUTTON_B); + application->contextMenu = Menu_NewAndCopyToVRAM(&v0, 8, 0, 0, 12, PAD_BUTTON_B); *param1 = 15; } -static void sub_0208347C(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectItemGive(PartyMenuApplication *application, int *param1) { - Menu_Free(param0->contextMenu, NULL); - StringList_Free(param0->contextMenuChoices); + Menu_Free(application->contextMenu, NULL); + StringList_Free(application->contextMenuChoices); - param0->partyMenu->menuSelectionResult = 3; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_GIVE_ITEM; *param1 = 32; } -static void sub_020834B0(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectItemTake(PartyMenuApplication *application, int *param1) { Pokemon *mon; int v1; int v2 = 17; FieldSystem *fieldSystem; - Window_EraseStandardFrame(¶m0->windows[35], 1); - Menu_Free(param0->contextMenu, NULL); - StringList_Free(param0->contextMenuChoices); + Window_EraseStandardFrame(&application->windows[PARTY_MENU_WIN_GIVE_ITEM_OR_MAIL], 1); + Menu_Free(application->contextMenu, NULL); + StringList_Free(application->contextMenuChoices); - fieldSystem = param0->partyMenu->fieldSystem; + fieldSystem = application->partyMenu->fieldSystem; - if (param0->partyMembers[param0->currPartySlot].heldItem == ITEM_NONE) { - mon = Party_GetPokemonBySlotIndex(param0->partyMenu->party, param0->currPartySlot); - MessageLoader_GetString(param0->messageLoader, pl_msg_00000453_00081, param0->tmpFormat); - StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(mon)); - StringTemplate_Format(param0->template, param0->tmpString, param0->tmpFormat); - } else if (Bag_TryAddItem(param0->partyMenu->bag, param0->partyMembers[param0->currPartySlot].heldItem, 1, HEAP_ID_PARTY_MENU) == TRUE) { + if (application->partyMembers[application->currPartySlot].heldItem == ITEM_NONE) { + mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); + MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00081, application->tmpFormat); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_Format(application->template, application->tmpString, application->tmpFormat); + } else if (Bag_TryAddItem(application->partyMenu->bag, application->partyMembers[application->currPartySlot].heldItem, 1, HEAP_ID_PARTY_MENU) == TRUE) { u32 v4; - mon = Party_GetPokemonBySlotIndex(param0->partyMenu->party, param0->currPartySlot); + mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); v4 = 0; Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &v4); @@ -191,37 +191,37 @@ static void sub_020834B0(PartyMenuApplication *param0, int *param1) || fieldSystem->location->mapId > MAP_HEADER_DISTORTION_WORLD_TURNBACK_CAVE_ROOM) { v1 = Pokemon_SetGiratinaFormByHeldItem(mon); - if ((param0->partyMembers[param0->currPartySlot].heldItem == ITEM_GRISEOUS_ORB) && (v1 == 0)) { + if ((application->partyMembers[application->currPartySlot].heldItem == ITEM_GRISEOUS_ORB) && (v1 == 0)) { v2 = 18; } } - MessageLoader_GetString(param0->messageLoader, pl_msg_00000453_00082, param0->tmpFormat); - StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(mon)); - StringTemplate_SetItemName(param0->template, 1, param0->partyMembers[param0->currPartySlot].heldItem); - StringTemplate_Format(param0->template, param0->tmpString, param0->tmpFormat); + MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00082, application->tmpFormat); + StringTemplate_SetNickname(application->template, 0, Pokemon_GetBoxPokemon(mon)); + StringTemplate_SetItemName(application->template, 1, application->partyMembers[application->currPartySlot].heldItem); + StringTemplate_Format(application->template, application->tmpString, application->tmpFormat); - param0->partyMembers[param0->currPartySlot].heldItem = ITEM_NONE; + application->partyMembers[application->currPartySlot].heldItem = ITEM_NONE; - PartyMenu_DrawMemberHeldItem(param0, param0->currPartySlot, param0->partyMembers[param0->currPartySlot].heldItem); + PartyMenu_DrawMemberHeldItem(application, application->currPartySlot, application->partyMembers[application->currPartySlot].heldItem); } else { - MessageLoader_GetString(param0->messageLoader, pl_msg_00000453_00083, param0->tmpString); + MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00083, application->tmpString); } - Window_DrawMessageBoxWithScrollCursor(¶m0->windows[34], 1, 1 + 9, 15); - Window_FillTilemap(¶m0->windows[34], 15); - PartyMenu_AddLongMessagePrinter(param0); + Window_DrawMessageBoxWithScrollCursor(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 1, (1 + 9), 15); + Window_FillTilemap(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 15); + PartyMenu_AddLongMessagePrinter(application); *param1 = v2; } -int sub_02083658(PartyMenuApplication *param0) +int sub_02083658(PartyMenuApplication *application) { - if (Text_IsPrinterActive(param0->textPrinterID) == 0) { + if (Text_IsPrinterActive(application->textPrinterID) == 0) { if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) { - Window_EraseMessageBox(¶m0->windows[34], 1); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00029, TRUE); - Sprite_SetExplicitPalette2(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 1); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, TRUE); + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); return 1; } } @@ -229,12 +229,12 @@ int sub_02083658(PartyMenuApplication *param0) return 17; } -int sub_020836A8(PartyMenuApplication *param0) +int sub_020836A8(PartyMenuApplication *application) { - if (Text_IsPrinterActive(param0->textPrinterID) == 0) { + if (Text_IsPrinterActive(application->textPrinterID) == 0) { if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) { - Window_EraseMessageBox(¶m0->windows[34], 1); - PartyMenu_SetupFormChangeAnim(param0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 1); + PartyMenu_SetupFormChangeAnim(application); return 19; } } @@ -242,31 +242,31 @@ int sub_020836A8(PartyMenuApplication *param0) return 18; } -int sub_020836E4(PartyMenuApplication *param0) +int sub_020836E4(PartyMenuApplication *application) { - if (PartyMenuFormChange_ChangeForm(param0) == 1) { - PartyMenu_TeardownFormChangeAnim(param0); + if (PartyMenuFormChange_ChangeForm(application) == 1) { + PartyMenu_TeardownFormChangeAnim(application); return 17; } return 19; } -static void sub_02083700(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectMail(PartyMenuApplication *application, int *param1) { MenuTemplate v0; - sub_0208337C(param0); - PartyMenu_PrintMediumMessage(param0, pl_msg_00000453_00039, FALSE); + PartyMenu_ClearContextWindow(application); + PartyMenu_PrintMediumMessage(application, pl_msg_00000453_00039, FALSE); - param0->contextMenuChoices = StringList_New(3, HEAP_ID_PARTY_MENU); + application->contextMenuChoices = StringList_New(3, HEAP_ID_PARTY_MENU); - StringList_AddFromString(param0->contextMenuChoices, param0->menuStrings[6], sub_02083370(6)); - StringList_AddFromString(param0->contextMenuChoices, param0->menuStrings[7], sub_02083370(7)); - StringList_AddFromString(param0->contextMenuChoices, param0->menuStrings[9], sub_02083370(9)); + StringList_AddFromString(application->contextMenuChoices, application->menuStrings[PARTY_MENU_STR_MAIL_READ], PartyMenu_GetAction(6)); + StringList_AddFromString(application->contextMenuChoices, application->menuStrings[PARTY_MENU_STR_MAIL_TAKE], PartyMenu_GetAction(7)); + StringList_AddFromString(application->contextMenuChoices, application->menuStrings[PARTY_MENU_STR_CANCEL], PartyMenu_GetAction(9)); - v0.choices = param0->contextMenuChoices; - v0.window = ¶m0->windows[35]; + v0.choices = application->contextMenuChoices; + v0.window = &application->windows[PARTY_MENU_WIN_GIVE_ITEM_OR_MAIL]; v0.fontID = FONT_SYSTEM; v0.xSize = 1; v0.ySize = 3; @@ -274,240 +274,240 @@ static void sub_02083700(PartyMenuApplication *param0, int *param1) v0.suppressCursor = FALSE; v0.loopAround = FALSE; - Window_DrawStandardFrame(¶m0->windows[35], 1, 1, 14); + Window_DrawStandardFrame(&application->windows[PARTY_MENU_WIN_GIVE_ITEM_OR_MAIL], 1, 1, 14); - param0->contextMenu = Menu_NewAndCopyToVRAM(&v0, 8, 0, 0, 12, PAD_BUTTON_B); + application->contextMenu = Menu_NewAndCopyToVRAM(&v0, 8, 0, 0, 12, PAD_BUTTON_B); *param1 = 15; } -static void sub_020837C0(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectMailRead(PartyMenuApplication *application, int *param1) { - Menu_Free(param0->contextMenu, NULL); - StringList_Free(param0->contextMenuChoices); + Menu_Free(application->contextMenu, NULL); + StringList_Free(application->contextMenuChoices); - param0->partyMenu->menuSelectionResult = 7; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_READ_MAIL; *param1 = 32; } -static void sub_020837F4(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectMailTake(PartyMenuApplication *application, int *param1) { - Window_EraseStandardFrame(¶m0->windows[35], 1); - Menu_Free(param0->contextMenu, NULL); - StringList_Free(param0->contextMenuChoices); - PartyMenu_PrintLongMessage(param0, pl_msg_00000453_00043, TRUE); - - param0->unk_B04.unk_00 = sub_0208384C; - param0->unk_B04.unk_04 = sub_020838C4; - param0->unk_B0E = 26; + Window_EraseStandardFrame(&application->windows[PARTY_MENU_WIN_GIVE_ITEM_OR_MAIL], 1); + Menu_Free(application->contextMenu, NULL); + StringList_Free(application->contextMenuChoices); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00043, TRUE); + + application->unk_B04.unk_00 = sub_0208384C; + application->unk_B04.unk_04 = sub_020838C4; + application->unk_B0E = 26; *param1 = 24; } -static int sub_0208384C(void *param0) +static int sub_0208384C(void *applicationPtr) { - PartyMenuApplication *v0 = param0; + PartyMenuApplication *application = applicationPtr; Pokemon *v1; - v0 = param0; - v1 = Party_GetPokemonBySlotIndex(v0->partyMenu->party, v0->currPartySlot); + application = applicationPtr; + v1 = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); - if (sub_02097788(v0->partyMenu->mailbox, v1, HEAP_ID_PARTY_MENU) != 0xFFFFFFFF) { - v0->partyMembers[v0->currPartySlot].heldItem = ITEM_NONE; - PartyMenu_DrawMemberHeldItem(v0, v0->currPartySlot, v0->partyMembers[v0->currPartySlot].heldItem); - PartyMenu_PrintLongMessage(v0, pl_msg_00000453_00046, FALSE); + if (sub_02097788(application->partyMenu->mailbox, v1, HEAP_ID_PARTY_MENU) != 0xFFFFFFFF) { + application->partyMembers[application->currPartySlot].heldItem = ITEM_NONE; + PartyMenu_DrawMemberHeldItem(application, application->currPartySlot, application->partyMembers[application->currPartySlot].heldItem); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00046, FALSE); } else { - PartyMenu_PrintLongMessage(v0, pl_msg_00000453_00050, FALSE); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00050, FALSE); } - v0->unk_B0E = 20; + application->unk_B0E = 20; return 24; } -static int sub_020838C4(void *param0) +static int sub_020838C4(void *applicationPtr) { - PartyMenuApplication *v0 = param0; + PartyMenuApplication *application = applicationPtr; - PartyMenu_PrintLongMessage(v0, pl_msg_00000453_00047, FALSE); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00047, FALSE); - v0->unk_B04.unk_00 = sub_020838F4; - v0->unk_B04.unk_04 = sub_02083990; - v0->unk_B0E = 26; + application->unk_B04.unk_00 = sub_020838F4; + application->unk_B04.unk_04 = sub_02083990; + application->unk_B0E = 26; return 24; } -static int sub_020838F4(void *param0) +static int sub_020838F4(void *applicationPtr) { - PartyMenuApplication *v0 = param0; + PartyMenuApplication *application = applicationPtr; - if (Bag_TryAddItem(v0->partyMenu->bag, v0->partyMembers[v0->currPartySlot].heldItem, 1, HEAP_ID_PARTY_MENU) == TRUE) { + if (Bag_TryAddItem(application->partyMenu->bag, application->partyMembers[application->currPartySlot].heldItem, 1, HEAP_ID_PARTY_MENU) == TRUE) { Pokemon *mon; u32 item; - mon = Party_GetPokemonBySlotIndex(v0->partyMenu->party, v0->currPartySlot); + mon = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); item = 0; Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &item); Pokemon_SetArceusForm(mon); Pokemon_SetGiratinaFormByHeldItem(mon); - v0->partyMembers[v0->currPartySlot].heldItem = ITEM_NONE; + application->partyMembers[application->currPartySlot].heldItem = ITEM_NONE; - PartyMenu_DrawMemberHeldItem(v0, v0->currPartySlot, v0->partyMembers[v0->currPartySlot].heldItem); - PartyMenu_PrintLongMessage(v0, pl_msg_00000453_00051, FALSE); + PartyMenu_DrawMemberHeldItem(application, application->currPartySlot, application->partyMembers[application->currPartySlot].heldItem); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00051, FALSE); } else { - PartyMenu_PrintLongMessage(v0, pl_msg_00000453_00083, FALSE); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00083, FALSE); } - v0->unk_B0E = 20; + application->unk_B0E = 20; return 24; } -static int sub_02083990(void *param0) +static int sub_02083990(void *applicationPtr) { - PartyMenuApplication *v0 = param0; + PartyMenuApplication *application = applicationPtr; - Window_EraseMessageBox(&v0->windows[34], 1); - PartyMenu_PrintShortMessage(v0, pl_msg_00000453_00029, TRUE); - Sprite_SetExplicitPalette2(v0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 1); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, TRUE); + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); return 1; } -int sub_020839BC(PartyMenuApplication *param0) +int sub_020839BC(PartyMenuApplication *application) { if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) { - Window_EraseMessageBox(¶m0->windows[34], 1); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00029, TRUE); - Sprite_SetExplicitPalette2(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 1); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, TRUE); + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); return 1; } return 20; } -static void sub_020839FC(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectBallSeal(PartyMenuApplication *application, int *param1) { - if (param0->partyMembers[param0->currPartySlot].ballSeal == 0) { - Menu_Free(param0->contextMenu, NULL); - StringList_Free(param0->contextMenuChoices); - param0->partyMenu->menuSelectionResult = 0; + if (application->partyMembers[application->currPartySlot].ballSeal == 0) { + Menu_Free(application->contextMenu, NULL); + StringList_Free(application->contextMenuChoices); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; *param1 = 32; return; } - sub_0208337C(param0); - PartyMenu_PrintLongMessage(param0, pl_msg_00000453_00195, TRUE); + PartyMenu_ClearContextWindow(application); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00195, TRUE); - param0->unk_B04.unk_00 = sub_02083A78; - param0->unk_B04.unk_04 = sub_02083AA4; - param0->unk_B0E = 26; + application->unk_B04.unk_00 = sub_02083A78; + application->unk_B04.unk_04 = sub_02083AA4; + application->unk_B0E = 26; *param1 = 24; } -int sub_02083A78(void *param0) +int sub_02083A78(void *applicationPtr) { - PartyMenuApplication *v0 = param0; - Pokemon *v1 = Party_GetPokemonBySlotIndex(v0->partyMenu->party, v0->currPartySlot); + PartyMenuApplication *application = applicationPtr; + Pokemon *v1 = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); Pokemon_ClearBallCapsuleData(v1); - v0->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; return 32; } -int sub_02083AA4(void *param0) +int sub_02083AA4(void *applicationPtr) { - PartyMenuApplication *v0 = param0; + PartyMenuApplication *application = applicationPtr; - Window_EraseMessageBox(&v0->windows[34], 1); - PartyMenu_PrintShortMessage(v0, pl_msg_00000453_00029, TRUE); - Sprite_SetExplicitPalette2(v0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 1); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, TRUE); + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); return 1; } -static void sub_02083AD0(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectSwitch(PartyMenuApplication *application, int *param1) { s16 v0, v1; - param0->inSwitchMode = 1; - param0->switchTargetSlot = param0->currPartySlot; + application->inSwitchMode = 1; + application->switchTargetSlot = application->currPartySlot; - Sprite_SetExplicitPalette2(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); - Sprite_GetPositionXY(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], &v0, &v1); - Sprite_SetPositionXY(param0->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], v0, v1); - Sprite_SetAnim(param0->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], PartyMenu_GetMemberPanelAnim(param0->partyMenu->type, param0->switchTargetSlot) + 2); - Sprite_SetDrawFlag(param0->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], TRUE); - PartyMenu_UpdateSlotPalette(param0, param0->switchTargetSlot); - Window_EraseMessageBox(¶m0->windows[33], 1); - sub_0208337C(param0); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00030, TRUE); + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + Sprite_GetPositionXY(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], &v0, &v1); + Sprite_SetPositionXY(application->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], v0, v1); + Sprite_SetAnim(application->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], PartyMenu_GetMemberPanelAnim(application->partyMenu->type, application->switchTargetSlot) + 2); + Sprite_SetDrawFlag(application->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], TRUE); + PartyMenu_UpdateSlotPalette(application, application->switchTargetSlot); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_MEDIUM_MESSAGE], 1); + PartyMenu_ClearContextWindow(application); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00030, TRUE); *param1 = 28; } -void sub_02083B88(PartyMenuApplication *param0) +void sub_02083B88(PartyMenuApplication *application) { - param0->inSwitchMode = 0; - Sprite_SetDrawFlag(param0->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], FALSE); + application->inSwitchMode = 0; + Sprite_SetDrawFlag(application->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], FALSE); - if (param0->currPartySlot < 6) { - PartyMenu_UpdateSlotPalette(param0, param0->currPartySlot); + if (application->currPartySlot < 6) { + PartyMenu_UpdateSlotPalette(application, application->currPartySlot); } - PartyMenu_UpdateSlotPalette(param0, param0->switchTargetSlot); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00029, TRUE); + PartyMenu_UpdateSlotPalette(application, application->switchTargetSlot); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, TRUE); } -void sub_02083BD4(PartyMenuApplication *param0) +void sub_02083BD4(PartyMenuApplication *application) { u16 *v0; u16 *v1; s8 v2, v3, v4, v5; u16 v6; - param0->orderSwitch.slots[0] = param0->currPartySlot; - param0->orderSwitch.slots[1] = param0->switchTargetSlot; - param0->orderSwitch.inProgress = TRUE; - param0->orderSwitch.unk_306 = 0; - param0->orderSwitch.unk_305 = 0; + application->orderSwitch.slots[0] = application->currPartySlot; + application->orderSwitch.slots[1] = application->switchTargetSlot; + application->orderSwitch.inProgress = TRUE; + application->orderSwitch.unk_306 = 0; + application->orderSwitch.unk_305 = 0; - if (param0->orderSwitch.slots[0] & 1) { - param0->orderSwitch.unk_302[0] = 1; + if (application->orderSwitch.slots[0] & 1) { + application->orderSwitch.unk_302[0] = 1; } else { - param0->orderSwitch.unk_302[0] = 0; + application->orderSwitch.unk_302[0] = 0; } - if (param0->orderSwitch.slots[1] & 1) { - param0->orderSwitch.unk_302[1] = 1; + if (application->orderSwitch.slots[1] & 1) { + application->orderSwitch.unk_302[1] = 1; } else { - param0->orderSwitch.unk_302[1] = 0; + application->orderSwitch.unk_302[1] = 0; } - v0 = (u16 *)Bg_GetTilemapBuffer(param0->bgConfig, 2); - v1 = (u16 *)Bg_GetTilemapBuffer(param0->bgConfig, 1); + v0 = (u16 *)Bg_GetTilemapBuffer(application->bgConfig, 2); + v1 = (u16 *)Bg_GetTilemapBuffer(application->bgConfig, 1); - v2 = param0->partyMembers[param0->orderSwitch.slots[0]].panelXPos; - v3 = param0->partyMembers[param0->orderSwitch.slots[0]].panelYPos; - v4 = param0->partyMembers[param0->orderSwitch.slots[1]].panelXPos; - v5 = param0->partyMembers[param0->orderSwitch.slots[1]].panelYPos; + v2 = application->partyMembers[application->orderSwitch.slots[0]].panelXPos; + v3 = application->partyMembers[application->orderSwitch.slots[0]].panelYPos; + v4 = application->partyMembers[application->orderSwitch.slots[1]].panelXPos; + v5 = application->partyMembers[application->orderSwitch.slots[1]].panelYPos; for (v6 = 0; v6 < 6; v6++) { - memcpy(¶m0->orderSwitch.unk_00[0][v6 * 16], &v0[v2 + (v3 + v6) * 32], 16 * 2); - memcpy(¶m0->orderSwitch.unk_180[0][v6 * 16], &v1[v2 + (v3 + v6) * 32], 16 * 2); - memcpy(¶m0->orderSwitch.unk_00[1][v6 * 16], &v0[v4 + (v5 + v6) * 32], 16 * 2); - memcpy(¶m0->orderSwitch.unk_180[1][v6 * 16], &v1[v4 + (v5 + v6) * 32], 16 * 2); + memcpy(&application->orderSwitch.unk_00[0][v6 * 16], &v0[v2 + (v3 + v6) * 32], 16 * 2); + memcpy(&application->orderSwitch.unk_180[0][v6 * 16], &v1[v2 + (v3 + v6) * 32], 16 * 2); + memcpy(&application->orderSwitch.unk_00[1][v6 * 16], &v0[v4 + (v5 + v6) * 32], 16 * 2); + memcpy(&application->orderSwitch.unk_180[1][v6 * 16], &v1[v4 + (v5 + v6) * 32], 16 * 2); } - Sprite_SetDrawFlag(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], FALSE); - Sprite_SetDrawFlag(param0->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], FALSE); + Sprite_SetDrawFlag(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], FALSE); + Sprite_SetDrawFlag(application->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], FALSE); } -BOOL sub_02083D1C(PartyMenuApplication *param0) +BOOL sub_02083D1C(PartyMenuApplication *application) { - PartyOrderSwitchData *v0 = ¶m0->orderSwitch; + PartyOrderSwitchData *v0 = &application->orderSwitch; switch (v0->unk_305) { case 0: @@ -517,31 +517,31 @@ BOOL sub_02083D1C(PartyMenuApplication *param0) case 1: v0->unk_306 += 1; - sub_02083E8C(param0, 0); - sub_02083E8C(param0, 1); - sub_02083FDC(param0, 0, v0->unk_302[0]); - sub_02083FDC(param0, 1, v0->unk_302[1]); - Bg_ScheduleTilemapTransfer(param0->bgConfig, 2); - Bg_ScheduleTilemapTransfer(param0->bgConfig, 1); + sub_02083E8C(application, 0); + sub_02083E8C(application, 1); + sub_02083FDC(application, 0, v0->unk_302[0]); + sub_02083FDC(application, 1, v0->unk_302[1]); + Bg_ScheduleTilemapTransfer(application->bgConfig, 2); + Bg_ScheduleTilemapTransfer(application->bgConfig, 1); if (v0->unk_306 == 16) { v0->unk_305 = 2; } break; case 2: - sub_02084134(param0); + sub_02084134(application); Sound_PlayEffect(SEQ_SE_DP_POKELIST_001); v0->unk_305 = 3; break; case 3: v0->unk_306 -= 1; - sub_02083E8C(param0, 0); - sub_02083E8C(param0, 1); - sub_02083FDC(param0, 0, v0->unk_302[0] ^ 1); - sub_02083FDC(param0, 1, v0->unk_302[1] ^ 1); - Bg_ScheduleTilemapTransfer(param0->bgConfig, 2); - Bg_ScheduleTilemapTransfer(param0->bgConfig, 1); + sub_02083E8C(application, 0); + sub_02083E8C(application, 1); + sub_02083FDC(application, 0, v0->unk_302[0] ^ 1); + sub_02083FDC(application, 1, v0->unk_302[1] ^ 1); + Bg_ScheduleTilemapTransfer(application->bgConfig, 2); + Bg_ScheduleTilemapTransfer(application->bgConfig, 1); if (v0->unk_306 == 0) { v0->unk_305 = 4; @@ -550,15 +550,15 @@ BOOL sub_02083D1C(PartyMenuApplication *param0) break; case 4: - Party_SwapSlots(param0->partyMenu->party, v0->slots[0], v0->slots[1]); - Sprite_SetDrawFlag(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], TRUE); + Party_SwapSlots(application->partyMenu->party, v0->slots[0], v0->slots[1]); + Sprite_SetDrawFlag(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], TRUE); v0->inProgress = FALSE; - param0->inSwitchMode = 0; + application->inSwitchMode = 0; - PartyMenu_UpdateSlotPalette(param0, param0->currPartySlot); - PartyMenu_UpdateSlotPalette(param0, param0->switchTargetSlot); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00029, FALSE); + PartyMenu_UpdateSlotPalette(application, application->currPartySlot); + PartyMenu_UpdateSlotPalette(application, application->switchTargetSlot); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, FALSE); return 1; } @@ -566,124 +566,124 @@ BOOL sub_02083D1C(PartyMenuApplication *param0) return 0; } -static void sub_02083E8C(PartyMenuApplication *param0, u8 param1) +static void sub_02083E8C(PartyMenuApplication *application, u8 param1) { PartyOrderSwitchData *v0; s8 v1, v2; u8 v3; - v0 = ¶m0->orderSwitch; - v1 = param0->partyMembers[v0->slots[param1]].panelXPos; - v2 = param0->partyMembers[v0->slots[param1]].panelYPos; + v0 = &application->orderSwitch; + v1 = application->partyMembers[v0->slots[param1]].panelXPos; + v2 = application->partyMembers[v0->slots[param1]].panelYPos; - Bg_FillTilemapRect(param0->bgConfig, 2, 0, v1, v2, 16, 6, 16); - Bg_FillTilemapRect(param0->bgConfig, 1, 0, v1, v2, 16, 6, 16); + Bg_FillTilemapRect(application->bgConfig, 2, 0, v1, v2, 16, 6, 16); + Bg_FillTilemapRect(application->bgConfig, 1, 0, v1, v2, 16, 6, 16); if (v0->unk_302[param1] == 0) { - Bg_CopyToTilemapRect(param0->bgConfig, 2, v1, v2, 16 - v0->unk_306, 6, &v0->unk_00[param1], v0->unk_306, 0, 16, 6); - Bg_CopyToTilemapRect(param0->bgConfig, 1, v1, v2, 16 - v0->unk_306, 6, &v0->unk_180[param1], v0->unk_306, 0, 16, 6); + Bg_CopyToTilemapRect(application->bgConfig, 2, v1, v2, 16 - v0->unk_306, 6, &v0->unk_00[param1], v0->unk_306, 0, 16, 6); + Bg_CopyToTilemapRect(application->bgConfig, 1, v1, v2, 16 - v0->unk_306, 6, &v0->unk_180[param1], v0->unk_306, 0, 16, 6); } else { - Bg_CopyToTilemapRect(param0->bgConfig, 2, v1 + v0->unk_306, v2, 16 - v0->unk_306, 6, &v0->unk_00[param1], 0, 0, 16, 6); - Bg_CopyToTilemapRect(param0->bgConfig, 1, v1 + v0->unk_306, v2, 16 - v0->unk_306, 6, &v0->unk_180[param1], 0, 0, 16, 6); + Bg_CopyToTilemapRect(application->bgConfig, 2, v1 + v0->unk_306, v2, 16 - v0->unk_306, 6, &v0->unk_00[param1], 0, 0, 16, 6); + Bg_CopyToTilemapRect(application->bgConfig, 1, v1 + v0->unk_306, v2, 16 - v0->unk_306, 6, &v0->unk_180[param1], 0, 0, 16, 6); } } -static void sub_02083FDC(PartyMenuApplication *param0, u8 param1, u8 param2) +static void sub_02083FDC(PartyMenuApplication *application, u8 param1, u8 param2) { PartyOrderSwitchData *v0; s16 v1, v2; - v0 = ¶m0->orderSwitch; + v0 = &application->orderSwitch; - Sprite_GetPositionXY(param0->sprites[0 + v0->slots[param1]], &v1, &v2); + Sprite_GetPositionXY(application->sprites[0 + v0->slots[param1]], &v1, &v2); if (param2 == 0) { - param0->partyMembers[v0->slots[param1]].spriteXDelta -= 8; - param0->partyMembers[v0->slots[param1]].statusXPos -= 8; - param0->partyMembers[v0->slots[param1]].itemXPos -= 8; + application->partyMembers[v0->slots[param1]].spriteXDelta -= 8; + application->partyMembers[v0->slots[param1]].statusXPos -= 8; + application->partyMembers[v0->slots[param1]].itemXPos -= 8; v1 -= 8; } else { - param0->partyMembers[v0->slots[param1]].spriteXDelta += 8; - param0->partyMembers[v0->slots[param1]].statusXPos += 8; - param0->partyMembers[v0->slots[param1]].itemXPos += 8; + application->partyMembers[v0->slots[param1]].spriteXDelta += 8; + application->partyMembers[v0->slots[param1]].statusXPos += 8; + application->partyMembers[v0->slots[param1]].itemXPos += 8; v1 += 8; } - Sprite_SetPositionXY(param0->partyMembers[v0->slots[param1]].sprite, param0->partyMembers[v0->slots[param1]].spriteXDelta, param0->partyMembers[v0->slots[param1]].spriteYDelta); - Sprite_SetPositionXY(param0->sprites[10 + v0->slots[param1]], param0->partyMembers[v0->slots[param1]].statusXPos, param0->partyMembers[v0->slots[param1]].statusYPos); - Sprite_SetPositionXY(param0->sprites[16 + v0->slots[param1]], param0->partyMembers[v0->slots[param1]].itemXPos, param0->partyMembers[v0->slots[param1]].itemYPos); - Sprite_SetPositionXY(param0->sprites[22 + v0->slots[param1]], param0->partyMembers[v0->slots[param1]].itemXPos + 8, param0->partyMembers[v0->slots[param1]].itemYPos); - Sprite_SetPositionXY(param0->sprites[0 + v0->slots[param1]], v1, v2); + Sprite_SetPositionXY(application->partyMembers[v0->slots[param1]].sprite, application->partyMembers[v0->slots[param1]].spriteXDelta, application->partyMembers[v0->slots[param1]].spriteYDelta); + Sprite_SetPositionXY(application->sprites[10 + v0->slots[param1]], application->partyMembers[v0->slots[param1]].statusXPos, application->partyMembers[v0->slots[param1]].statusYPos); + Sprite_SetPositionXY(application->sprites[16 + v0->slots[param1]], application->partyMembers[v0->slots[param1]].itemXPos, application->partyMembers[v0->slots[param1]].itemYPos); + Sprite_SetPositionXY(application->sprites[22 + v0->slots[param1]], application->partyMembers[v0->slots[param1]].itemXPos + 8, application->partyMembers[v0->slots[param1]].itemYPos); + Sprite_SetPositionXY(application->sprites[0 + v0->slots[param1]], v1, v2); } -static void sub_02084134(PartyMenuApplication *param0) +static void sub_02084134(PartyMenuApplication *application) { PartyMenuMember *v0; PartyOrderSwitchData *v1; ManagedSprite *v2; s16 v3; - v1 = ¶m0->orderSwitch; + v1 = &application->orderSwitch; v0 = Heap_Alloc(HEAP_ID_PARTY_MENU, sizeof(PartyMenuMember)); - *v0 = param0->partyMembers[v1->slots[0]]; + *v0 = application->partyMembers[v1->slots[0]]; - param0->partyMembers[v1->slots[0]] = param0->partyMembers[v1->slots[1]]; - param0->partyMembers[v1->slots[1]] = *v0; + application->partyMembers[v1->slots[0]] = application->partyMembers[v1->slots[1]]; + application->partyMembers[v1->slots[1]] = *v0; Heap_FreeExplicit(HEAP_ID_PARTY_MENU, v0); - v3 = param0->partyMembers[v1->slots[0]].spriteXDelta; - param0->partyMembers[v1->slots[0]].spriteXDelta = param0->partyMembers[v1->slots[1]].spriteXDelta; - param0->partyMembers[v1->slots[1]].spriteXDelta = v3; + v3 = application->partyMembers[v1->slots[0]].spriteXDelta; + application->partyMembers[v1->slots[0]].spriteXDelta = application->partyMembers[v1->slots[1]].spriteXDelta; + application->partyMembers[v1->slots[1]].spriteXDelta = v3; - v3 = param0->partyMembers[v1->slots[0]].spriteYDelta; - param0->partyMembers[v1->slots[0]].spriteYDelta = param0->partyMembers[v1->slots[1]].spriteYDelta; - param0->partyMembers[v1->slots[1]].spriteYDelta = v3; + v3 = application->partyMembers[v1->slots[0]].spriteYDelta; + application->partyMembers[v1->slots[0]].spriteYDelta = application->partyMembers[v1->slots[1]].spriteYDelta; + application->partyMembers[v1->slots[1]].spriteYDelta = v3; - v3 = param0->partyMembers[v1->slots[0]].statusXPos; - param0->partyMembers[v1->slots[0]].statusXPos = param0->partyMembers[v1->slots[1]].statusXPos; - param0->partyMembers[v1->slots[1]].statusXPos = v3; + v3 = application->partyMembers[v1->slots[0]].statusXPos; + application->partyMembers[v1->slots[0]].statusXPos = application->partyMembers[v1->slots[1]].statusXPos; + application->partyMembers[v1->slots[1]].statusXPos = v3; - v3 = param0->partyMembers[v1->slots[0]].statusYPos; - param0->partyMembers[v1->slots[0]].statusYPos = param0->partyMembers[v1->slots[1]].statusYPos; - param0->partyMembers[v1->slots[1]].statusYPos = v3; + v3 = application->partyMembers[v1->slots[0]].statusYPos; + application->partyMembers[v1->slots[0]].statusYPos = application->partyMembers[v1->slots[1]].statusYPos; + application->partyMembers[v1->slots[1]].statusYPos = v3; - v3 = param0->partyMembers[v1->slots[0]].itemXPos; - param0->partyMembers[v1->slots[0]].itemXPos = param0->partyMembers[v1->slots[1]].itemXPos; - param0->partyMembers[v1->slots[1]].itemXPos = v3; + v3 = application->partyMembers[v1->slots[0]].itemXPos; + application->partyMembers[v1->slots[0]].itemXPos = application->partyMembers[v1->slots[1]].itemXPos; + application->partyMembers[v1->slots[1]].itemXPos = v3; - v3 = param0->partyMembers[v1->slots[0]].itemYPos; - param0->partyMembers[v1->slots[0]].itemYPos = param0->partyMembers[v1->slots[1]].itemYPos; - param0->partyMembers[v1->slots[1]].itemYPos = v3; + v3 = application->partyMembers[v1->slots[0]].itemYPos; + application->partyMembers[v1->slots[0]].itemYPos = application->partyMembers[v1->slots[1]].itemYPos; + application->partyMembers[v1->slots[1]].itemYPos = v3; - v3 = param0->partyMembers[v1->slots[0]].panelXPos; - param0->partyMembers[v1->slots[0]].panelXPos = param0->partyMembers[v1->slots[1]].panelXPos; - param0->partyMembers[v1->slots[1]].panelXPos = v3; + v3 = application->partyMembers[v1->slots[0]].panelXPos; + application->partyMembers[v1->slots[0]].panelXPos = application->partyMembers[v1->slots[1]].panelXPos; + application->partyMembers[v1->slots[1]].panelXPos = v3; - v3 = param0->partyMembers[v1->slots[0]].panelYPos; - param0->partyMembers[v1->slots[0]].panelYPos = param0->partyMembers[v1->slots[1]].panelYPos; - param0->partyMembers[v1->slots[1]].panelYPos = v3; + v3 = application->partyMembers[v1->slots[0]].panelYPos; + application->partyMembers[v1->slots[0]].panelYPos = application->partyMembers[v1->slots[1]].panelYPos; + application->partyMembers[v1->slots[1]].panelYPos = v3; - PartyMenu_DrawMemberPanelData(param0, v1->slots[0]); - PartyMenu_DrawMemberPanelData(param0, v1->slots[1]); - PartyMenu_CopyMemberWindowToVRAM(param0, v1->slots[0]); - PartyMenu_CopyMemberWindowToVRAM(param0, v1->slots[1]); + PartyMenu_DrawMemberPanelData(application, v1->slots[0]); + PartyMenu_DrawMemberPanelData(application, v1->slots[1]); + PartyMenu_CopyMemberWindowToVRAM(application, v1->slots[0]); + PartyMenu_CopyMemberWindowToVRAM(application, v1->slots[1]); - sub_02084420(param0, 0); - sub_02084420(param0, 1); + sub_02084420(application, 0); + sub_02084420(application, 1); - PartyMenu_DrawMemberStatusCondition(param0, v1->slots[0], param0->partyMembers[v1->slots[0]].statusIcon); - PartyMenu_DrawMemberStatusCondition(param0, v1->slots[1], param0->partyMembers[v1->slots[1]].statusIcon); + PartyMenu_DrawMemberStatusCondition(application, v1->slots[0], application->partyMembers[v1->slots[0]].statusIcon); + PartyMenu_DrawMemberStatusCondition(application, v1->slots[1], application->partyMembers[v1->slots[1]].statusIcon); - PartyMenu_DrawMemberHeldItem(param0, v1->slots[0], param0->partyMembers[v1->slots[0]].heldItem); - PartyMenu_DrawMemberHeldItem(param0, v1->slots[1], param0->partyMembers[v1->slots[1]].heldItem); + PartyMenu_DrawMemberHeldItem(application, v1->slots[0], application->partyMembers[v1->slots[0]].heldItem); + PartyMenu_DrawMemberHeldItem(application, v1->slots[1], application->partyMembers[v1->slots[1]].heldItem); - PartyMenu_DrawMemberBallSeal(param0, v1->slots[0]); - PartyMenu_DrawMemberBallSeal(param0, v1->slots[1]); + PartyMenu_DrawMemberBallSeal(application, v1->slots[0]); + PartyMenu_DrawMemberBallSeal(application, v1->slots[1]); } -static void sub_02084420(PartyMenuApplication *param0, u8 param1) +static void sub_02084420(PartyMenuApplication *application, u8 param1) { PartyOrderSwitchData *v0; const u16 *v1; @@ -691,11 +691,11 @@ static void sub_02084420(PartyMenuApplication *param0, u8 param1) u16 v3; u16 v4; - v0 = ¶m0->orderSwitch; + v0 = &application->orderSwitch; v2 = v0->unk_00[param1]; - v1 = sub_0207F248(param0); + v1 = sub_0207F248(application); - if (param0->partyMembers[v0->slots[param1]].isEgg == TRUE) { + if (application->partyMembers[v0->slots[param1]].isEgg == TRUE) { for (v4 = 0; v4 < 9; v4++) { v3 = v2[3 * 16 + 6 + v4] & 0xf000; v2[3 * 16 + 6 + v4] = v3 | 0x17; @@ -708,330 +708,330 @@ static void sub_02084420(PartyMenuApplication *param0, u8 param1) } } -static void sub_020844B0(PartyMenuApplication *param0, int *param1) +static void sub_020844B0(PartyMenuApplication *application, int *param1) { u8 v0; - Window_EraseMessageBox(¶m0->windows[33], 1); - sub_0208337C(param0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_MEDIUM_MESSAGE], 1); + PartyMenu_ClearContextWindow(application); - for (v0 = 0; v0 < param0->partyMenu->maxSelectionSlots; v0++) { - if (param0->partyMenu->selectionOrder[v0] != 0) { + for (v0 = 0; v0 < application->partyMenu->maxSelectionSlots; v0++) { + if (application->partyMenu->selectionOrder[v0] != 0) { continue; } - param0->partyMenu->selectionOrder[v0] = param0->currPartySlot + 1; + application->partyMenu->selectionOrder[v0] = application->currPartySlot + 1; - PartyMenu_PrintSelectionEligibility(param0, param0->currPartySlot); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00034, TRUE); - Sprite_SetExplicitPalette2(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + PartyMenu_PrintSelectionEligibility(application, application->currPartySlot); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00034, TRUE); + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); - if (v0 == param0->partyMenu->maxSelectionSlots - 1) { - sub_0207FD68(param0, 6); + if (v0 == application->partyMenu->maxSelectionSlots - 1) { + sub_0207FD68(application, 6); } *param1 = 1; return; } - switch (param0->partyMenu->maxSelectionSlots) { + switch (application->partyMenu->maxSelectionSlots) { case 1: - PartyMenu_PrintLongMessage(param0, pl_msg_00000453_00123, TRUE); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00123, TRUE); break; case 2: - PartyMenu_PrintLongMessage(param0, pl_msg_00000453_00100, TRUE); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00100, TRUE); break; case 3: - PartyMenu_PrintLongMessage(param0, pl_msg_00000453_00124, TRUE); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00124, TRUE); break; case 4: - PartyMenu_PrintLongMessage(param0, pl_msg_00000453_00125, TRUE); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00125, TRUE); break; case 5: - PartyMenu_PrintLongMessage(param0, pl_msg_00000453_00126, TRUE); + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00126, TRUE); break; } - param0->unk_B0E = 23; + application->unk_B0E = 23; *param1 = 24; } -int sub_020845A8(PartyMenuApplication *param0) +int sub_020845A8(PartyMenuApplication *application) { if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) { - Window_EraseMessageBox(¶m0->windows[34], 1); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00034, TRUE); - Sprite_SetExplicitPalette2(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 1); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00034, TRUE); + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); return 1; } return 23; } -static void sub_020845E8(PartyMenuApplication *param0, int *param1) +static void sub_020845E8(PartyMenuApplication *application, int *param1) { u8 v0; - for (v0 = 0; v0 < param0->partyMenu->maxSelectionSlots; v0++) { - if (param0->partyMenu->selectionOrder[v0] == param0->currPartySlot + 1) { - param0->partyMenu->selectionOrder[v0] = 0; + for (v0 = 0; v0 < application->partyMenu->maxSelectionSlots; v0++) { + if (application->partyMenu->selectionOrder[v0] == application->currPartySlot + 1) { + application->partyMenu->selectionOrder[v0] = 0; - for (v0 = v0; v0 < param0->partyMenu->maxSelectionSlots - 1; v0++) { - param0->partyMenu->selectionOrder[v0] = param0->partyMenu->selectionOrder[v0 + 1]; - param0->partyMenu->selectionOrder[v0 + 1] = 0; + for (v0 = v0; v0 < application->partyMenu->maxSelectionSlots - 1; v0++) { + application->partyMenu->selectionOrder[v0] = application->partyMenu->selectionOrder[v0 + 1]; + application->partyMenu->selectionOrder[v0 + 1] = 0; } break; } } for (v0 = 0; v0 < 6; v0++) { - if (param0->partyMembers[v0].isPresent == FALSE) { + if (application->partyMembers[v0].isPresent == FALSE) { continue; } - PartyMenu_PrintSelectionEligibility(param0, v0); + PartyMenu_PrintSelectionEligibility(application, v0); } - Window_EraseMessageBox(¶m0->windows[33], 1); - sub_0208337C(param0); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00029, TRUE); - Sprite_SetExplicitPalette2(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_MEDIUM_MESSAGE], 1); + PartyMenu_ClearContextWindow(application); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, TRUE); + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); *param1 = 1; } -static void sub_020846CC(PartyMenuApplication *param0, int *param1) +static void sub_020846CC(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; - Menu_Free(param0->contextMenu, NULL); - StringList_Free(param0->contextMenuChoices); + Menu_Free(application->contextMenu, NULL); + StringList_Free(application->contextMenuChoices); *param1 = 32; } -static void sub_020846FC(PartyMenuApplication *param0, int *param1) +static void sub_020846FC(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; - Menu_Free(param0->contextMenu, NULL); - StringList_Free(param0->contextMenuChoices); + Menu_Free(application->contextMenu, NULL); + StringList_Free(application->contextMenuChoices); *param1 = 32; } -static void sub_0208472C(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectSummary(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 1; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_SUMMARY; - Menu_Free(param0->contextMenu, NULL); - StringList_Free(param0->contextMenuChoices); + Menu_Free(application->contextMenu, NULL); + StringList_Free(application->contextMenuChoices); *param1 = 32; } -static void sub_02084760(PartyMenuApplication *param0, int *param1) +static void sub_02084760(PartyMenuApplication *application, int *param1) { - sub_0208337C(param0); - Window_EraseMessageBox(¶m0->windows[33], 1); + PartyMenu_ClearContextWindow(application); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_MEDIUM_MESSAGE], 1); - *param1 = sub_02084780(param0); + *param1 = sub_02084780(application); } -int sub_02084780(PartyMenuApplication *param0) +int sub_02084780(PartyMenuApplication *application) { - Pokemon *v0 = Party_GetPokemonBySlotIndex(param0->partyMenu->party, param0->currPartySlot); + Pokemon *v0 = Party_GetPokemonBySlotIndex(application->partyMenu->party, application->currPartySlot); if (Pokemon_GetValue(v0, MON_DATA_BALL_CAPSULE_ID, NULL) == 0) { - MessageLoader_GetString(param0->messageLoader, pl_msg_00000453_00129, param0->tmpString); - Sprite_SetDrawFlag(param0->sprites[22 + param0->currPartySlot], TRUE); + MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00129, application->tmpString); + Sprite_SetDrawFlag(application->sprites[22 + application->currPartySlot], TRUE); } else { - MessageLoader_GetString(param0->messageLoader, pl_msg_00000453_00130, param0->tmpString); - param0->currPartySlot = 7; + MessageLoader_GetString(application->messageLoader, pl_msg_00000453_00130, application->tmpString); + application->currPartySlot = 7; } - PartyMenu_PrintLongMessage(param0, PRINT_MESSAGE_PRELOADED, TRUE); + PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE); - param0->partyMenu->menuSelectionResult = 0; - param0->unk_B0E = 25; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; + application->unk_B0E = 25; return 24; } -static void sub_02084808(PartyMenuApplication *windowLayout, int *param1) +static void PartyMenu_SelectFieldMove(PartyMenuApplication *windowLayout, int *result) { FieldMoveErrContext fieldMoveErrorCtx; - u32 v1; - u32 v2; + u32 fieldMoveResult; + u32 msgID; fieldMoveErrorCtx = (FieldMoveErrContext)FieldMove_GetTaskOrError(FIELD_MOVE_ERROR, windowLayout->partyMenu->menuSelectionResult - 11); if (fieldMoveErrorCtx != NULL) { - v1 = fieldMoveErrorCtx(windowLayout->partyMenu->fieldMoveContext); + fieldMoveResult = fieldMoveErrorCtx(windowLayout->partyMenu->fieldMoveContext); } else { - v1 = 1; + fieldMoveResult = 1; } - switch (v1) { + switch (fieldMoveResult) { case 0: Menu_Free(windowLayout->contextMenu, NULL); StringList_Free(windowLayout->contextMenuChoices); - *param1 = 32; + *result = 32; return; case 1: - v2 = 104; + msgID = 104; // pl_msg_00000453_00104: You can’t use that here. break; case 2: - v2 = 76; + msgID = 76; // pl_msg_00000453_00076: This can’t be used until a new Badge is obtained break; case 3: - v2 = 196; + msgID = 196; // pl_msg_00000453_00196: You can’t use that when you have someone with you break; case 4: - v2 = 102; + msgID = 102; // pl_msg_00000453_00102: You're already surfing break; } Window_EraseMessageBox(&windowLayout->windows[33], 1); - sub_0208337C(windowLayout); - PartyMenu_PrintLongMessage(windowLayout, v2, TRUE); + PartyMenu_ClearContextWindow(windowLayout); + PartyMenu_PrintLongMessage(windowLayout, msgID, TRUE); windowLayout->unk_B0E = 3; - *param1 = 24; + *result = 24; } -static void sub_020848A8(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectCut(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 11; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_CUT; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_020848C0(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectRockSmash(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 16; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_ROCK_SMASH; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_020848D8(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectStrength(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 14; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_STRENGTH; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_020848F0(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectSurf(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 13; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_SURF; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_02084908(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectDefog(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 15; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DEFOG; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_02084920(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectRockClimb(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 18; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_ROCK_CLIMB; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_02084938(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectFly(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 12; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_FLY; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_02084950(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectWaterfall(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 17; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_WATERFALL; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_02084968(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectFlash(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 19; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_FLASH; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_02084980(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectTeleport(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 20; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_TELEPORT; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_02084998(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectDig(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 21; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DIG; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_020849B0(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectSweetScent(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 22; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_SWEET_SCENT; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_020849C8(PartyMenuApplication *param0, int *param1) +static void PartyMenu_SelectChatter(PartyMenuApplication *application, int *param1) { - param0->partyMenu->menuSelectionResult = 23; - sub_02084808(param0, param1); + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_CHATTER; + PartyMenu_SelectFieldMove(application, param1); } -static void sub_020849E0(PartyMenuApplication *param0, int *param1) +static void sub_020849E0(PartyMenuApplication *application, int *param1) { - *param1 = sub_02084A18(param0); + *param1 = sub_02084A18(application); if (*param1 == 30) { - param0->monStats[3] = 24 - 11; + application->monStats[3] = 24 - 11; } } -static void sub_020849FC(PartyMenuApplication *param0, int *param1) +static void sub_020849FC(PartyMenuApplication *application, int *param1) { - *param1 = sub_02084A18(param0); + *param1 = sub_02084A18(application); if (*param1 == 30) { - param0->monStats[3] = 25 - 11; + application->monStats[3] = 25 - 11; } } -static int sub_02084A18(PartyMenuApplication *param0) +static int sub_02084A18(PartyMenuApplication *application) { - Window_EraseMessageBox(¶m0->windows[33], 1); - sub_0208337C(param0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_MEDIUM_MESSAGE], 1); + PartyMenu_ClearContextWindow(application); - param0->monStats[0] = param0->partyMembers[param0->currPartySlot].maxHP / 5; + application->monStats[0] = application->partyMembers[application->currPartySlot].maxHP / 5; - if (param0->partyMembers[param0->currPartySlot].curHP <= param0->monStats[0]) { - PartyMenu_PrintLongMessage(param0, pl_msg_00000453_00138, TRUE); - param0->unk_B0E = 3; + if (application->partyMembers[application->currPartySlot].curHP <= application->monStats[0]) { + PartyMenu_PrintLongMessage(application, pl_msg_00000453_00138, TRUE); + application->unk_B0E = 3; return 24; } else { s16 v0, v1; - param0->inSwitchMode = 1; - param0->switchTargetSlot = param0->currPartySlot; + application->inSwitchMode = 1; + application->switchTargetSlot = application->currPartySlot; - Sprite_SetExplicitPalette2(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); - Sprite_GetPositionXY(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], &v0, &v1); - Sprite_SetPositionXY(param0->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], v0, v1); - Sprite_SetAnim(param0->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], PartyMenu_GetMemberPanelAnim(param0->partyMenu->type, param0->switchTargetSlot) + 2); - Sprite_SetDrawFlag(param0->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], TRUE); - PartyMenu_UpdateSlotPalette(param0, param0->switchTargetSlot); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00036, TRUE); + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + Sprite_GetPositionXY(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], &v0, &v1); + Sprite_SetPositionXY(application->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], v0, v1); + Sprite_SetAnim(application->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], PartyMenu_GetMemberPanelAnim(application->partyMenu->type, application->switchTargetSlot) + 2); + Sprite_SetDrawFlag(application->sprites[PARTY_MENU_SPRITE_CURSOR_SWITCH], TRUE); + PartyMenu_UpdateSlotPalette(application, application->switchTargetSlot); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00036, TRUE); - param0->monStats[1] = 0; + application->monStats[1] = 0; return 30; } } -int sub_02084B34(PartyMenuApplication *param0) +int sub_02084B34(PartyMenuApplication *application) { if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) { - Window_EraseMessageBox(¶m0->windows[34], 1); - PartyMenu_PrintShortMessage(param0, pl_msg_00000453_00029, TRUE); - Sprite_SetExplicitPalette2(param0->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); + Window_EraseMessageBox(&application->windows[PARTY_MENU_WIN_LONG_MESSAGE], 1); + PartyMenu_PrintShortMessage(application, pl_msg_00000453_00029, TRUE); // Choose a Pokémon. + Sprite_SetExplicitPalette2(application->sprites[PARTY_MENU_SPRITE_CURSOR_NORMAL], 0); return 1; } diff --git a/src/applications/party_menu/unk_02084B70.c b/src/applications/party_menu/unk_02084B70.c index 9741cbd486..2520e3d24a 100644 --- a/src/applications/party_menu/unk_02084B70.c +++ b/src/applications/party_menu/unk_02084B70.c @@ -412,7 +412,7 @@ int sub_02085348(void *param0) } if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) { - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; return 32; } @@ -649,7 +649,7 @@ int sub_02085804(PartyMenuApplication *application) application->unk_B0E = 1; } else { Bag_TryRemoveItem(application->partyMenu->bag, application->partyMenu->usedItemID, 1, HEAP_ID_PARTY_MENU); - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; application->currPartySlot = 7; return 32; } @@ -816,9 +816,9 @@ static int sub_02085C50(void *applicationPtr) application->partyMenu->evoTargetSpecies = Pokemon_GetEvolutionTargetSpecies(application->partyMenu->party, mon, EVO_CLASS_BY_LEVEL, v5, &application->partyMenu->evoType); if (application->partyMenu->evoTargetSpecies != 0) { - application->partyMenu->menuSelectionResult = 9; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_EVOLVE_BY_LEVEL; } else { - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; } } return 32; @@ -864,7 +864,7 @@ static int sub_02085FB4(void *applicationPtr) String_Free(string); PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, FALSE); - application->partyMenu->menuSelectionResult = 5; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_FORGET_MOVE; application->unk_B0E = 25; return 24; @@ -966,7 +966,7 @@ int sub_0208615C(PartyMenuApplication *application) StringTemplate_Format(application->template, application->tmpString, string); String_Free(string); PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE); - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; application->unk_B0E = 25; break; case 0xfd: @@ -974,7 +974,7 @@ int sub_0208615C(PartyMenuApplication *application) StringTemplate_Format(application->template, application->tmpString, string); String_Free(string); PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE); - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; application->unk_B0E = 25; break; case 0xfe: @@ -993,7 +993,7 @@ int sub_0208615C(PartyMenuApplication *application) String_Free(string); PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE); - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; application->unk_B0E = 25; break; } @@ -1039,7 +1039,7 @@ int sub_020863A0(PartyMenuApplication *application) String_Free(string); PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, FALSE); - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; application->unk_B0E = 25; return 24; @@ -1057,7 +1057,7 @@ static int sub_02086438(void *applicationPtr) String_Free(string); PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, FALSE); - application->partyMenu->menuSelectionResult = 4; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_LEARNED_MOVE; application->unk_B0E = 25; return 24; @@ -1088,7 +1088,7 @@ static int sub_020864E4(void *applicationPtr) String_Free(string); PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, FALSE); - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; application->unk_B0E = 25; return 24; @@ -1220,7 +1220,7 @@ int sub_02086774(PartyMenuApplication *application) PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE); - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; application->unk_B0E = 25; return 24; @@ -1243,7 +1243,7 @@ void sub_020868B0(PartyMenuApplication *application) PartyMenu_PrintLongMessage(application, PRINT_MESSAGE_PRELOADED, TRUE); - application->partyMenu->menuSelectionResult = 0; + application->partyMenu->menuSelectionResult = PARTY_MENU_EXIT_CODE_DONE; application->unk_B0E = 25; } diff --git a/src/applications/party_menu/windows.c b/src/applications/party_menu/windows.c index 22aca54910..bc2242f549 100644 --- a/src/applications/party_menu/windows.c +++ b/src/applications/party_menu/windows.c @@ -782,13 +782,13 @@ void PartyMenu_DrawContextMenu(PartyMenuApplication *application, const u8 *entr StringList_AddFromString( application->contextMenuChoices, application->menuStrings[PARTY_MENU_STR_MOVE0 + numFieldMoves], - sub_02083370(entries[i])); + PartyMenu_GetAction(entries[i])); numFieldMoves++; } else { StringList_AddFromString( application->contextMenuChoices, application->menuStrings[entries[i]], - sub_02083370(entries[i])); + PartyMenu_GetAction(entries[i])); } } diff --git a/src/field_move_tasks.c b/src/field_move_tasks.c index 25ec31148e..4b26b6811f 100644 --- a/src/field_move_tasks.c +++ b/src/field_move_tasks.c @@ -350,7 +350,7 @@ static void FieldMoves_SetFlyTask(FieldMovePokemon *fieldMoveMon, const FieldMov TownMapContext_Init(fieldSystem, menu->taskData, TOWN_MAP_MODE_FLY); FieldSystem_OpenTownMap(fieldSystem, menu->taskData); - sub_0203B674(menu, sub_0203C434); + StartMenu_SetCallback(menu, sub_0203C434); } static enum FieldMoveError FieldMoves_CheckSurf(const FieldMoveContext *fieldMoveContext) diff --git a/src/item_use_functions.c b/src/item_use_functions.c index 678536fbf2..b8a29a1939 100644 --- a/src/item_use_functions.c +++ b/src/item_use_functions.c @@ -318,7 +318,7 @@ static void UseHealingItemFromMenu(ItemMenuUseContext *usageContext, const ItemU FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMenu); menu->taskData = partyMenu; - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } static void UseTownMapFromMenu(ItemMenuUseContext *usageContext, const ItemUseContext *additionalContext) @@ -327,7 +327,7 @@ static void UseTownMapFromMenu(ItemMenuUseContext *usageContext, const ItemUseCo StartMenu *menu = FieldTask_GetEnv(usageContext->fieldTask); menu->taskData = FieldSystem_OpenTownMapItem(fieldSystem); - sub_0203B674(menu, sub_0203C3F4); + StartMenu_SetCallback(menu, sub_0203C3F4); } static BOOL UseTownMapInField(ItemFieldUseContext *usageContext) @@ -515,7 +515,7 @@ static void UseJournalFromMenu(ItemMenuUseContext *usageContext, const ItemUseCo StartMenu *v1 = FieldTask_GetEnv(usageContext->fieldTask); sub_0203D30C(fieldSystem, NULL); - sub_0203B674(v1, sub_0203C50C); + StartMenu_SetCallback(v1, sub_0203C50C); } static BOOL UseJournalInField(ItemFieldUseContext *usageContext) @@ -552,7 +552,7 @@ static void UseTMHMFromMenu(ItemMenuUseContext *usageContext, const ItemUseConte FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMenu); menu->taskData = partyMenu; - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } static void UseMailFromMenu(ItemMenuUseContext *usageContext, const ItemUseContext *additionalContext) @@ -564,7 +564,7 @@ static void UseMailFromMenu(ItemMenuUseContext *usageContext, const ItemUseConte menu->unk_260 = sub_0203C540(usageContext->item, 3, 0); menu->taskData = v2; - sub_0203B674(menu, sub_0203C558); + StartMenu_SetCallback(menu, StartMenu_ExitMail); } static enum ItemUseCheckResult CanUseBerry(const ItemUseContext *usageContext) @@ -604,7 +604,7 @@ static void UsePoffinCaseFromMenu(ItemMenuUseContext *usageContext, const ItemUs PoffinCaseAppData *poffinCase = FieldSystem_LaunchPoffinCaseApp(fieldSystem, HEAP_ID_FIELD2); menu->taskData = poffinCase; - sub_0203B674(menu, sub_0203C710); + StartMenu_SetCallback(menu, sub_0203C710); } static BOOL UsePoffinCaseInField(ItemFieldUseContext *usageContext) @@ -625,7 +625,7 @@ static void UsePalPadFromMenu(ItemMenuUseContext *usageContext, const ItemUseCon sub_0203DE78(fieldSystem, fieldSystem->saveData); menu->taskData = NULL; - sub_0203B674(menu, sub_0203C750); + StartMenu_SetCallback(menu, sub_0203C750); } static BOOL UsePalPadInField(ItemFieldUseContext *usageContext) @@ -928,7 +928,7 @@ static void UseEvoStoneFromMenu(ItemMenuUseContext *usageContext, const ItemUseC FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMenu); menu->taskData = partyMenu; - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } static void UseEscapeRopeFromMenu(ItemMenuUseContext *usageContext, const ItemUseContext *additionalContext) @@ -1008,7 +1008,7 @@ static void UseVsRecorderFromMenu(ItemMenuUseContext *usageContext, const ItemUs sub_0203DE88(fieldSystem, fieldSystem->saveData); menu->taskData = NULL; - sub_0203B674(menu, sub_0203C784); + StartMenu_SetCallback(menu, sub_0203C784); } static BOOL UseVsRecorderInField(ItemFieldUseContext *usageContext) @@ -1031,7 +1031,7 @@ static void UseGracideaFromMenu(ItemMenuUseContext *usageContext, const ItemUseC StartMenu *menu = FieldTask_GetEnv(usageContext->fieldTask); menu->taskData = FieldSystem_OpenPartyMenu_SelectForItemUsage(fieldSystem, HEAP_ID_FIELD2, ITEM_GRACIDEA); - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } static BOOL UseGracideaInField(ItemFieldUseContext *usageContext) diff --git a/src/start_menu.c b/src/start_menu.c index c44ed9024b..147be94688 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -17,6 +17,7 @@ #include "struct_defs/struct_020708E0.h" #include "struct_defs/struct_02097728.h" +#include "applications/bag/application.h" #include "applications/party_menu/defs.h" #include "applications/party_menu/main.h" #include "applications/poffin_case/main.h" @@ -156,7 +157,7 @@ static void StartMenu_ApplicationStart(FieldTask *taskMan); static void StartMenu_ApplicationRun(FieldTask *taskMan); static BOOL StartMenu_SelectPokedex(FieldTask *taskMan); static BOOL StartMenu_OpenPokedex(FieldTask *taskMan); -static BOOL StartMenu_PokedexEnd(FieldTask *taskMan); +static BOOL StartMenu_ExitPokedex(FieldTask *taskMan); static BOOL StartMenu_SelectTrainerCard(FieldTask *taskMan); static BOOL StartMenu_TrainerCard(FieldTask *taskMan); static BOOL sub_0203BF00(FieldTask *taskMan); @@ -167,14 +168,14 @@ static BOOL StartMenu_SelectChat(FieldTask *taskMan); static BOOL sub_0203C0A0(FieldTask *taskMan); static BOOL sub_0203C0F8(FieldTask *taskMan); static BOOL StartMenu_SelectPokemon(FieldTask *taskMan); -static BOOL sub_0203B78C(FieldTask *taskMan); +static BOOL StartMenu_OpenPartyMenu(FieldTask *taskMan); static BOOL StartMenu_SelectBag(FieldTask *taskMan); static BOOL StartMenu_Bag(FieldTask *taskMan); -static BOOL sub_0203BC5C(FieldTask *taskMan); +static BOOL StartMenu_ExitBag(FieldTask *taskMan); static BOOL StartMenu_SelectSave(FieldTask *taskMan); static void StartMenu_SaveWait(FieldTask *taskMan); static void StartMenu_Save(FieldTask *taskMan); -static BOOL sub_0203C1C8(FieldTask *taskMan); +static BOOL StartMenu_ExitSummary(FieldTask *taskMan); static void sub_0203C2D8(FieldTask *taskMan, u16 param1); static BOOL sub_0203C390(FieldTask *taskMan); BOOL sub_0203C434(FieldTask *taskMan); @@ -922,7 +923,7 @@ static void StartMenu_ApplicationRun(FieldTask *taskMan) menu->callback(taskMan); } -void sub_0203B674(StartMenu *menu, void *callback) +void StartMenu_SetCallback(StartMenu *menu, void *callback) { menu->callback = callback; menu->state = START_MENU_STATE_APP_RUN; @@ -961,12 +962,12 @@ static BOOL StartMenu_OpenPokedex(FieldTask *taskMan) sub_0203E0AC(fieldSystem, pokedexArgs); menu->taskData = pokedexArgs; - menu->callback = StartMenu_PokedexEnd; + menu->callback = StartMenu_ExitPokedex; return FALSE; } -static BOOL StartMenu_PokedexEnd(FieldTask *taskMan) +static BOOL StartMenu_ExitPokedex(FieldTask *taskMan) { FieldSystem *fieldSystem = FieldTask_GetFieldSystem(taskMan); StartMenu *menu = FieldTask_GetEnv(taskMan); @@ -988,24 +989,24 @@ static BOOL StartMenu_SelectPokemon(FieldTask *taskMan) FieldMap_FadeScreen(FADE_TYPE_BRIGHTNESS_OUT); - menu->callback = sub_0203B78C; + menu->callback = StartMenu_OpenPartyMenu; menu->state = START_MENU_STATE_APP_START; return TRUE; } -static BOOL sub_0203B78C(FieldTask *taskMan) +static BOOL StartMenu_OpenPartyMenu(FieldTask *taskMan) { FieldSystem *fieldSystem = FieldTask_GetFieldSystem(taskMan); StartMenu *menu = FieldTask_GetEnv(taskMan); menu->taskData = FieldSystem_OpenPartyMenu(fieldSystem, &menu->fieldMoveContext, 0); - menu->callback = sub_0203B7C0; + menu->callback = StartMenu_ExitPartyMenu; return 0; } -BOOL sub_0203B7C0(FieldTask *taskMan) +BOOL StartMenu_ExitPartyMenu(FieldTask *taskMan) { FieldSystem *fieldSystem = FieldTask_GetFieldSystem(taskMan); StartMenu *menu = FieldTask_GetEnv(taskMan); @@ -1015,7 +1016,7 @@ BOOL sub_0203B7C0(FieldTask *taskMan) Heap_Free(menu->taskData); switch (partyMenu->menuSelectionResult) { - case 1: { + case PARTY_MENU_EXIT_CODE_SUMMARY: { PokemonSummary *summary = Heap_Alloc(HEAP_ID_FIELD2, sizeof(PokemonSummary)); summary->monData = SaveData_GetParty(fieldSystem->saveData); @@ -1035,9 +1036,9 @@ BOOL sub_0203B7C0(FieldTask *taskMan) FieldSystem_OpenSummaryScreen(fieldSystem, summary); menu->taskData = summary; - sub_0203B674(menu, sub_0203C1C8); + StartMenu_SetCallback(menu, StartMenu_ExitSummary); } break; - case 4: { + case PARTY_MENU_EXIT_CODE_LEARNED_MOVE: { PokemonSummary *summary = Heap_Alloc(HEAP_ID_FIELD2, sizeof(PokemonSummary)); summary->monData = SaveData_GetParty(fieldSystem->saveData); @@ -1062,9 +1063,9 @@ BOOL sub_0203B7C0(FieldTask *taskMan) menu->unk_260 = v5; menu->taskData = summary; - sub_0203B674(menu, sub_0203C1C8); + StartMenu_SetCallback(menu, StartMenu_ExitSummary); } break; - case 5: { + case PARTY_MENU_EXIT_CODE_FORGET_MOVE: { PokemonSummary *summary = Heap_Alloc(HEAP_ID_FIELD2, sizeof(PokemonSummary)); summary->monData = SaveData_GetParty(fieldSystem->saveData); @@ -1089,9 +1090,9 @@ BOOL sub_0203B7C0(FieldTask *taskMan) menu->unk_260 = v7; menu->taskData = summary; - sub_0203B674(menu, sub_0203C1C8); + StartMenu_SetCallback(menu, StartMenu_ExitSummary); } break; - case 6: { + case PARTY_MENU_EXIT_CODE_MAIL: { UnkStruct_02097728 *v8; v8 = sub_0203D920(fieldSystem, 2, partyMenu->selectedMonSlot, Item_MailNumber(partyMenu->usedItemID), HEAP_ID_FIELD2); @@ -1105,9 +1106,9 @@ BOOL sub_0203B7C0(FieldTask *taskMan) partyMenu->usedItemID, 1, partyMenu->selectedMonSlot); } - sub_0203B674(menu, sub_0203C558); + StartMenu_SetCallback(menu, StartMenu_ExitMail); } break; - case 7: { + case PARTY_MENU_EXIT_CODE_READ_MAIL: { UnkStruct_02097728 *v9; Pokemon *v10; @@ -1117,9 +1118,9 @@ BOOL sub_0203B7C0(FieldTask *taskMan) menu->taskData = v9; menu->unk_260 = sub_0203C540(partyMenu->usedItemID, 2, partyMenu->selectedMonSlot); - sub_0203B674(menu, sub_0203C558); + StartMenu_SetCallback(menu, StartMenu_ExitMail); } break; - case 3: { + case PARTY_MENU_EXIT_CODE_GIVE_ITEM: { u32 *v13 = (u32 *)Heap_Alloc(HEAP_ID_FIELD2, 4); *v13 = partyMenu->selectedMonSlot; menu->unk_260 = (void *)v13; @@ -1131,9 +1132,9 @@ BOOL sub_0203B7C0(FieldTask *taskMan) BagContext_Init(menu->taskData, fieldSystem->saveData, 1, fieldSystem->bagCursor); sub_0203D1E4(fieldSystem, menu->taskData); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); } break; - case 8: { + case PARTY_MENU_EXIT_CODE_EVOLVE_BY_ITEM: { UnkStruct_0203C7B8 *v14 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_0203C7B8)); v14->unk_02 = partyMenu->usedItemID; @@ -1145,7 +1146,7 @@ BOOL sub_0203B7C0(FieldTask *taskMan) menu->taskData = v14; menu->state = START_MENU_STATE_EVOLVE_INIT; } break; - case 9: { + case PARTY_MENU_EXIT_CODE_EVOLVE_BY_LEVEL: { UnkStruct_0203C7B8 *v15 = Heap_Alloc(HEAP_ID_FIELD2, sizeof(UnkStruct_0203C7B8)); v15->unk_02 = MapHeader_GetMapEvolutionMethod(fieldSystem->location->mapId); @@ -1156,19 +1157,19 @@ BOOL sub_0203B7C0(FieldTask *taskMan) menu->taskData = v15; menu->state = START_MENU_STATE_EVOLVE_INIT; } break; - case 16: - case 11: - case 12: - case 15: - case 14: - case 13: - case 18: - case 17: - case 19: - case 20: - case 21: - case 22: - case 23: + case PARTY_MENU_EXIT_CODE_ROCK_SMASH: + case PARTY_MENU_EXIT_CODE_CUT: + case PARTY_MENU_EXIT_CODE_FLY: + case PARTY_MENU_EXIT_CODE_DEFOG: + case PARTY_MENU_EXIT_CODE_STRENGTH: + case PARTY_MENU_EXIT_CODE_SURF: + case PARTY_MENU_EXIT_CODE_ROCK_CLIMB: + case PARTY_MENU_EXIT_CODE_WATERFALL: + case PARTY_MENU_EXIT_CODE_FLASH: + case PARTY_MENU_EXIT_CODE_TELEPORT: + case PARTY_MENU_EXIT_CODE_DIG: + case PARTY_MENU_EXIT_CODE_SWEET_SCENT: + case PARTY_MENU_EXIT_CODE_CHATTER: FieldMoveTaskContext v16; FieldMovePokemon fieldMoveMon; @@ -1179,9 +1180,9 @@ BOOL sub_0203B7C0(FieldTask *taskMan) v16 = (FieldMoveTaskContext)FieldMove_GetTaskOrError(FIELD_MOVE_TASK, fieldMoveMon.fieldMove); v16(&fieldMoveMon, &menu->fieldMoveContext); break; - case 10: + case PARTY_MENU_EXIT_CODE_RETURN_TO_BAG: menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); break; default: if ((partyMenu->mode == PARTY_MENU_MODE_USE_ITEM) || (partyMenu->mode == PARTY_MENU_MODE_TEACH_MOVE) || (partyMenu->mode == PARTY_MENU_MODE_TEACH_MOVE_DONE) || (partyMenu->mode == PARTY_MENU_MODE_USE_EVO_ITEM) || (partyMenu->mode == PARTY_MENU_MODE_LEVEL_MOVE_DONE)) { @@ -1193,10 +1194,10 @@ BOOL sub_0203B7C0(FieldTask *taskMan) BagContext_SetSelectedMonSlot(menu->taskData, partyMenu->selectedMonSlot); } - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); } else if (partyMenu->mode == PARTY_MENU_MODE_GIVE_ITEM) { menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); } else { FieldSystem_StartFieldMap(fieldSystem); menu->state = START_MENU_STATE_12; @@ -1227,39 +1228,39 @@ static BOOL StartMenu_Bag(FieldTask *taskMan) menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); BagContext_SetSelectedMonSlot(menu->taskData, 0); - menu->callback = sub_0203BC5C; + menu->callback = StartMenu_ExitBag; FieldSystem_SaveStateIfCommunicationOff(fieldSystem); return FALSE; } -static BOOL sub_0203BC5C(FieldTask *taskMan) +static BOOL StartMenu_ExitBag(FieldTask *taskMan) { FieldSystem *fieldSystem = FieldTask_GetFieldSystem(taskMan); StartMenu *menu = FieldTask_GetEnv(taskMan); - BagContext *v2 = BagContext_New(HEAP_ID_FIELD2); + BagContext *bagCtx = BagContext_New(HEAP_ID_FIELD2); - memcpy(v2, menu->taskData, BagContext_GetSize()); + memcpy(bagCtx, menu->taskData, BagContext_GetSize()); Heap_Free(menu->taskData); - switch (BagContext_GetExitCode(v2)) { - case 0: { + switch (BagContext_GetExitCode(bagCtx)) { + case BAG_EXIT_CODE_USE_ITEM: { ItemMenuUseFunc v3; ItemMenuUseContext v4; s32 v5; - v4.item = BagContext_GetItem(v2); - v4.selectedMonSlot = BagContext_GetSelectedMonSlot(v2); + v4.item = BagContext_GetItem(bagCtx); + v4.selectedMonSlot = BagContext_GetSelectedMonSlot(bagCtx); v4.fieldTask = taskMan; v5 = Item_LoadParam(v4.item, ITEM_PARAM_FIELD_USE_FUNC, HEAP_ID_FIELD2); v3 = (ItemMenuUseFunc)GetItemUseFunction(USE_ITEM_TASK_MENU, v5); v3(&v4, &menu->unk_230); } break; - case 1: - sub_0203C2D8(taskMan, BagContext_GetItem(v2)); + case BAG_EXIT_CODE_SHOW_BERRY_DATA: + sub_0203C2D8(taskMan, BagContext_GetItem(bagCtx)); break; - case 2: { + case BAG_EXIT_CODE_GIVE_ITEM: { PartyMenu *partyMenu = Heap_Alloc(HEAP_ID_FIELD2, sizeof(PartyMenu)); memset(partyMenu, 0, sizeof(PartyMenu)); @@ -1270,17 +1271,17 @@ static BOOL sub_0203BC5C(FieldTask *taskMan) partyMenu->fieldMoveContext = &menu->fieldMoveContext; partyMenu->type = PARTY_MENU_TYPE_BASIC; partyMenu->mode = PARTY_MENU_MODE_GIVE_ITEM; - partyMenu->usedItemID = BagContext_GetItem(v2); + partyMenu->usedItemID = BagContext_GetItem(bagCtx); partyMenu->fieldSystem = fieldSystem; FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMenu); menu->taskData = partyMenu; - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } break; - case 4: { + case BAG_EXIT_CODE_GIVE_FROM_MON_MENU: { Party *party = SaveData_GetParty(fieldSystem->saveData); u32 v9 = *(u32 *)menu->unk_260; - u16 item = BagContext_GetItem(v2); + u16 item = BagContext_GetItem(bagCtx); Pokemon *v8 = Party_GetPokemonBySlotIndex(party, v9); Heap_Free(menu->unk_260); @@ -1292,7 +1293,7 @@ static BOOL sub_0203BC5C(FieldTask *taskMan) v11 = sub_0203D920(fieldSystem, 2, v9, Item_MailNumber(item), HEAP_ID_FIELD2); menu->taskData = v11; menu->unk_260 = sub_0203C540(item, 0, (u8)v9); - sub_0203B674(menu, sub_0203C558); + StartMenu_SetCallback(menu, StartMenu_ExitMail); } else { PartyMenu *partyMenu = Heap_Alloc(HEAP_ID_FIELD2, sizeof(PartyMenu)); memset(partyMenu, 0, sizeof(PartyMenu)); @@ -1303,7 +1304,7 @@ static BOOL sub_0203BC5C(FieldTask *taskMan) partyMenu->options = SaveData_GetOptions(fieldSystem->saveData); partyMenu->fieldMoveContext = &menu->fieldMoveContext; partyMenu->type = PARTY_MENU_TYPE_BASIC; - partyMenu->usedItemID = BagContext_GetItem(v2); + partyMenu->usedItemID = BagContext_GetItem(bagCtx); partyMenu->selectedMonSlot = v9; // Maybe selected slot? partyMenu->fieldSystem = fieldSystem; @@ -1315,16 +1316,16 @@ static BOOL sub_0203BC5C(FieldTask *taskMan) FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMenu); menu->taskData = partyMenu; - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } } break; - case 5: + case BAG_EXIT_CODE_DONE: default: FieldSystem_StartFieldMap(fieldSystem); menu->state = START_MENU_STATE_12; } - Heap_Free(v2); + Heap_Free(bagCtx); return 0; } @@ -1537,7 +1538,7 @@ static BOOL StartMenu_SelectRetire(FieldTask *taskMan) return 0; } -static BOOL sub_0203C1C8(FieldTask *taskMan) +static BOOL StartMenu_ExitSummary(FieldTask *taskMan) { FieldSystem *fieldSystem = FieldTask_GetFieldSystem(taskMan); StartMenu *menu = FieldTask_GetEnv(taskMan); @@ -1577,11 +1578,11 @@ static BOOL sub_0203C1C8(FieldTask *taskMan) FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMenu); Heap_Free(menu->unk_260); menu->taskData = partyMenu; - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } break; default: menu->taskData = FieldSystem_OpenPartyMenu(fieldSystem, &menu->fieldMoveContext, v2->monIndex); - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } Heap_Free(v2); @@ -1615,7 +1616,7 @@ static void sub_0203C2D8(FieldTask *taskMan, u16 item) sub_0209733C(menu->taskData, v4, v5, v6 + 3); sub_0203D2E4(fieldSystem, menu->taskData); - sub_0203B674(menu, sub_0203C390); + StartMenu_SetCallback(menu, sub_0203C390); } static BOOL sub_0203C390(FieldTask *taskMan) @@ -1632,7 +1633,7 @@ static BOOL sub_0203C390(FieldTask *taskMan) Heap_FreeExplicit(HEAP_ID_FIELD2, menu->taskData); menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); return 0; } @@ -1644,7 +1645,7 @@ BOOL sub_0203C3F4(FieldTask *taskMan) Heap_FreeExplicit(HEAP_ID_FIELD2, menu->taskData); menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); return 0; } @@ -1667,7 +1668,7 @@ BOOL sub_0203C434(FieldTask *taskMan) if (!(v2->flyLocationSelected)) { Heap_FreeExplicit(HEAP_ID_FIELD2, menu->taskData); menu->taskData = FieldSystem_OpenPartyMenu(fieldSystem, &menu->fieldMoveContext, v3); - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } else { Pokemon *mon; void *v5; @@ -1695,7 +1696,7 @@ BOOL sub_0203C50C(FieldTask *taskMan) StartMenu *menu = FieldTask_GetEnv(taskMan); menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); return 0; } @@ -1713,7 +1714,7 @@ void *sub_0203C540(u16 fieldSystem, u8 param1, u8 param2) return (void *)v0; } -BOOL sub_0203C558(FieldTask *taskMan) +BOOL StartMenu_ExitMail(FieldTask *taskMan) { FieldSystem *fieldSystem = FieldTask_GetFieldSystem(taskMan); StartMenu *menu = FieldTask_GetEnv(taskMan); @@ -1723,12 +1724,12 @@ BOOL sub_0203C558(FieldTask *taskMan) case 3: sub_02097770(menu->taskData); menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); break; case 2: sub_02097770(menu->taskData); menu->taskData = FieldSystem_OpenPartyMenu(fieldSystem, &menu->fieldMoveContext, v2->unk_02); - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); break; case 0: if (sub_02097728(menu->taskData) == 1) { @@ -1736,7 +1737,7 @@ BOOL sub_0203C558(FieldTask *taskMan) } else { sub_02097770(menu->taskData); menu->taskData = FieldSystem_OpenPartyMenu(fieldSystem, &menu->fieldMoveContext, v2->unk_02); - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } break; case 1: @@ -1745,7 +1746,7 @@ BOOL sub_0203C558(FieldTask *taskMan) } else { sub_02097770(menu->taskData); menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); } break; } @@ -1776,7 +1777,7 @@ static void sub_0203C668(FieldSystem *fieldSystem, StartMenu *menu, u8 mode) // FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMenu); menu->taskData = partyMenu; - sub_0203B674(menu, sub_0203B7C0); + StartMenu_SetCallback(menu, StartMenu_ExitPartyMenu); } BOOL sub_0203C710(FieldTask *taskMan) @@ -1787,7 +1788,7 @@ BOOL sub_0203C710(FieldTask *taskMan) PoffinCaseAppData_Free(menu->taskData); menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); return 0; } @@ -1798,7 +1799,7 @@ BOOL sub_0203C750(FieldTask *taskMan) StartMenu *menu = FieldTask_GetEnv(taskMan); menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); return 0; } @@ -1809,7 +1810,7 @@ BOOL sub_0203C784(FieldTask *taskMan) StartMenu *menu = FieldTask_GetEnv(taskMan); menu->taskData = sub_0203D20C(fieldSystem, &menu->unk_230); - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); return 0; } @@ -1873,6 +1874,6 @@ static void StartMenu_Evolve(FieldTask *taskMan) Heap_Free(menu->unk_260); } - sub_0203B674(menu, sub_0203BC5C); + StartMenu_SetCallback(menu, StartMenu_ExitBag); } }