summaryrefslogtreecommitdiff
path: root/include/party_menu.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/party_menu.h')
-rw-r--r--include/party_menu.h123
1 files changed, 60 insertions, 63 deletions
diff --git a/include/party_menu.h b/include/party_menu.h
index a26cdb4cd..126931762 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -4,93 +4,90 @@
#include "main.h"
#include "task.h"
-#include "constants/party_menu.h"
-
-struct Struct203CEC8
+// seems like the last two fields may have been left as all-purpose vars
+// and the second of the two just happens to only be used in one case
+struct PartyMenu
{
MainCallback exitCallback;
- TaskFunc unk4;
- u8 unk8_0:4;
- u8 mode:2;
- u8 unk8_2:2;
+ TaskFunc task;
+ u8 menuType:4;
+ u8 layout:2;
s8 slotId;
- s8 unkA;
- u8 unkB;
- u16 unkC;
- s16 unkE;
- s16 unk10;
+ s8 slotId2;
+ u8 action;
+ u16 bagItem;
+ s16 data1; // used variously as a moveId, counter, moveSlotId, or cursorPos
+ s16 learnMoveState; // data2, used only as a learn move state
};
-extern struct Struct203CEC8 gUnknown_0203CEC8;
-extern u8 gUnknown_0203CEE8;
-extern u8 gUnknown_0203CEE9;
+extern struct PartyMenu gPartyMenu;
+extern bool8 gPartyMenuUseExitCallback;
+extern u8 gSelectedMonPartyId;
extern MainCallback gPostMenuFieldCallback;
extern u8 gSelectedOrderFromParty[4];
-extern u8 gUnknown_0203CF00[3];
+extern u8 gBattlePartyCurrentOrder[3];
-extern void (*gUnknown_03006328)(u8, TaskFunc);
+extern void (*gItemUseCB)(u8, TaskFunc);
extern const u16 gTutorMoves[];
-void sub_81B0FCC(u8 slot, u8 b);
+void AnimatePartySlot(u8 slot, u8 animNum);
bool8 IsMultiBattle(void);
u8 GetCursorSelectionMonId(void);
-u8 sub_81B1360(void);
-void sub_81B1370(u8 taskId);
+u8 GetPartyMenuType(void);
+void Task_HandleChooseMonInput(u8 taskId);
u8* GetMonNickname(struct Pokemon *mon, u8 *dest);
-u8 DisplayPartyMenuMessage(const u8* str, u8 b);
-bool8 sub_81B1BD4(void);
-void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func);
-u8 pokemon_ailments_get_primary(u32 status);
+u8 DisplayPartyMenuMessage(const u8* str, bool8 keepOpen);
+bool8 IsPartyMenuTextPrinterActive(void);
+void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 HPDifference, TaskFunc task);
+u8 GetAilmentFromStatus(u32 status);
u8 GetMonAilment(struct Pokemon *mon);
-void DisplayPartyMenuStdMessage(u32 stringID);
-void sub_81B47E0(u8 taskId);
+void DisplayPartyMenuStdMessage(u32 stringId);
bool8 FieldCallback_PrepareFadeInFromMenu(void);
-void sub_81B58A8(void);
+void CB2_ReturnToPartyMenuFromFlyMap(void);
void LoadHeldItemIcons(void);
-void DrawHeldItemIconsForTrade(u8 *a, u8 *b, u8 c);
-void sub_81B617C(void);
+void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty);
+void CB2_ShowPartyMenuForItemUse(void);
void ItemUseCB_Medicine(u8 taskId, TaskFunc task);
-void sub_81B67C8(u8 taskId, TaskFunc task);
-void dp05_ether(u8 taskId, TaskFunc task);
-void dp05_pp_up(u8 taskId, TaskFunc task);
+void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task);
+void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task);
+void ItemUseCB_PPUp(u8 taskId, TaskFunc task);
u16 ItemIdToBattleMoveId(u16 item);
bool8 IsMoveHm(u16 move);
bool8 MonKnowsMove(struct Pokemon *mon, u16 move);
-void sub_81B6DC4(u8 taskId, TaskFunc task);
-void dp05_rare_candy(u8 taskId, TaskFunc task);
-void sub_81B79E8(u8 taskId, TaskFunc task);
-void sub_81B7C74(u8 taskId, TaskFunc task);
+void ItemUseCB_TMHM(u8 taskId, TaskFunc task);
+void ItemUseCB_RareCandy(u8 taskId, TaskFunc task);
+void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task);
+void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc task);
u8 GetItemEffectType(u16 item);
void CB2_PartyMenuFromStartMenu(void);
-void sub_81B7F60(void);
-void sub_81B8448(void);
+void CB2_ChooseMonToGiveItem(void);
+void ChooseMonToGiveMailFromMailbox(void);
void InitChooseHalfPartyForBattle(u8 unused);
-void sub_81B8558(void);
-void sub_81B8904(u8 initArg, MainCallback callback);
-void OpenPartyMenuForMoveTutor(void);
-void ChooseMonForWirelessMinigame(void);
+void ClearSelectedPartyOrder(void);
+void ChooseMonForTradingBoard(u8 menuType, MainCallback callback);
+void ChooseMonForMoveTutor(void);
void ChooseMonForWirelessMinigame(void);
-void OpenPartyMenuInBattle(u8 arg);
-void sub_81B89F0(void);
-void sub_81B8C68(void);
-void sub_81B8D64(u8 battlerId, u8 multiplayerFlag);
-void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex);
-void sub_81B8FB0(u8 slot, u8 slot2);
-u8 pokemon_order_func(u8 slot);
-void sub_81B9150(void);
-void sub_81B9328(void);
-bool8 hm_add_c3_without_phase_2(void);
-void sub_81B9404(void);
-void sub_81B94B0(void);
-void sub_81B951C(void);
-void sub_81B9620(void);
-void sub_81B95E0(void);
-void sub_81B98DC(void);
-void sub_81B9918(void);
-void sub_81B9770(void);
-void sub_81B9718(void);
-void sub_81B96D0(void);
-void sub_81B968C(void);
+void OpenPartyMenuInBattle(u8 partyAction);
+void ChooseMonForInBattleItem(void);
+void BufferBattlePartyCurrentOrder(void);
+void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId);
+void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 arrayIndex);
+void SwitchPartyMonSlots(u8 slot, u8 slot2);
+u8 GetPartyIdFromBattlePartyId(u8 slot);
+void ShowPartyMenuToShowcaseMultiBattleParty(void);
+void ChooseMonForDaycare(void);
+bool8 CB2_FadeFromPartyMenu(void);
+void ChooseContestMon(void);
+void ChoosePartyMon(void);
+void ChooseMonForMoveRelearner(void);
+void BattlePyramidChooseMonHeldItems(void);
+void DoBattlePyramidMonsHaveHeldItem(void);
+void IsSelectedMonEgg(void);
+void IsLastMonThatKnowsSurf(void);
+void MoveDeleterForgetMove(void);
+void BufferMoveDeleterNicknameAndMove(void);
+void GetNumMovesSelectedMonHas(void);
+void MoveDeleterChooseMoveToForget(void);
#endif // GUARD_PARTY_MENU_H