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.h67
1 files changed, 25 insertions, 42 deletions
diff --git a/include/party_menu.h b/include/party_menu.h
index 172435b2d..bfd2c6cae 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -43,49 +43,33 @@ struct PartyPopupMenu
/*0x4*/const u8 *items; // menu item ids (ids for a MenuAction2 array)
};
-// TODO: Unify these two structs
+#define pmStatGrowths data
+#define pmSetupState data[0]
+#define pmMonIndex data[1]
+#define pmUnk268 data[2]
+#define pmUnk272 data[7]
+#define pmUnk27E data[13]
+#define pmUnk280 data[14]
+#define pmUnk282 data[15]
struct Unk201B000
{
struct Pokemon unk0[6];
u8 menuType;
u8 promptTextId;
- u8 filler25A[2];
TaskFunc menuHandler;
u8 menuHandlerTaskId;
u8 unk261;
- u8 unk262;
+ u8 unk262; // Never read
u8 unk263;
- // Stat growth upon level-up. First 6 bytes = old stats, Second 6 bytes = new stats.
- s16 statGrowths[NUM_STATS * 2];
- u8 filler27C[2];
- s16 unk27E;
- s16 unk280;
- s16 unk282;
-};
-
-struct Struct201B000
-{
- u8 filler0[0x259];
- u8 promptTextId;
- u8 filler25A[6];
- u8 menuHandlerTaskId;
- u8 unk261;
- u8 unk262;
- s16 setupState;
- s16 monIndex;
- s16 unk268;
- u8 filler26A[8];
- u16 unk272;
- u8 filler274[14];
- u16 unk282;
+ s16 data[16];
};
struct Unk2001000
{
u8 unk0;
- u8 unk1;
- u8 unk2;
+ u8 slotId;
+ u8 slotId2;
u8 unk3;
u8 unk4;
u8 unk5;
@@ -97,18 +81,17 @@ struct Unk2001000
u16 array[53561];
};
-struct UnknownPokemonStruct2
+struct PartyMenu
{
- /*0x00*/ u16 species;
- /*0x02*/ u16 heldItem;
- /*0x04*/ u8 nickname[11];
- /*0x0F*/ u8 level;
- /*0x10*/ u16 hp;
- /*0x12*/ u16 maxhp;
- /*0x14*/ u32 status;
- /*0x18*/ u32 personality;
- /*0x1C*/ u8 gender;
- /*0x1D*/ u8 language;
+ /*0x00*/ struct Pokemon *pokemon;
+ /*0x04*/ u8 unk4;
+ /*0x05*/ u8 primarySelectedMonIndex;
+ /*0x06*/ u16 secondarySelectedIndex;
+ /*0x08*/ u16 unk8;
+ /*0x0A*/ u8 pad_0A[2];
+ /*0x0C*/ s32 unkC;
+ /*0x10*/ TaskFunc unk10;
+ /*0x14*/ TaskFunc unk14;
};
void CB2_PartyMenuMain(void);
@@ -137,7 +120,7 @@ void sub_806D3B4(u8 taskId, u16 species1, u16 species2);
void sub_806D4AC(u8 taskId, u16 species, u8 c);
void sub_806D50C(u8 taskId, u8 monIndex);
void PrintPartyMenuPromptText(u8 textId, u8 b);
-void sub_806D5A4(void);
+void PartyMenuEraseMsgBoxAndFrame(void);
void SetMonIconAnim(u8 spriteId, struct Pokemon *pokemon);
void CreatePartyMenuMonIcon(u8 taskId, u8 monIndex, u8 c, struct Pokemon *pokemon);
void TryCreatePartyMenuMonIcon(u8 a, u8 monIndex, struct Pokemon *pokemon);
@@ -151,7 +134,7 @@ void SetHeldItemIconVisibility(u8 a, u8 monIndex);
void PartyMenuDoPrintMonNickname(u8 monIndex, int b, const u8 *nameBuffer);
void PrintPartyMenuMonNickname(u8 monIndex, u8 b, struct Pokemon *pokemon);
void PrintPartyMenuMonNicknames(void);
-void CreateMonIcon_LinkMultiBattle(u8 taskId, u8 monIndex, u8 menuType, struct UnknownPokemonStruct2 *pokemon);
+void CreateMonIcon_LinkMultiBattle(u8 taskId, u8 monIndex, u8 menuType, struct MultiBattlePokemonTx *pokemon);
u8 *GetMonNickname(struct Pokemon *pokemon, u8 *stringBuffer);
void PartyMenuPutStatusTilemap(u8 monIndex, u8 b, u8 status);
void PartyMenuDoPrintLevel(u8 monIndex, u8 b, u8 level);
@@ -172,7 +155,7 @@ void SetPartyPopupMenuOffsets(u8 menuIndex, u8 *left, u8 *top, const struct Part
void ShowPartyPopupMenu(u8 menuIndex, const struct PartyPopupMenu *menu, const struct MenuAction2 *menuActions, u8 cursorPos);
void ClosePartyPopupMenu(u8 index, const struct PartyPopupMenu *menu);
TaskFunc PartyMenuGetPopupMenuFunc(u8 menuIndex, const struct PartyPopupMenu *menus, const struct MenuAction2 *menuActions, u8 itemIndex);
-u8 sub_806E834(const u8 *message, u8 arg1);
+u8 DisplayPartyMenuMessage(const u8 *message, u8 noClearAfter);
void sub_806E8D0(u8 taskId, u16 b, TaskFunc c);
void party_menu_link_mon_held_item_object(u8);
void Task_ConfirmGiveHeldItem(u8);