summaryrefslogtreecommitdiff
path: root/src/party_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/party_menu.c')
-rw-r--r--src/party_menu.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/party_menu.c b/src/party_menu.c
index bd20ce5ed..38a01345e 100644
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -60,6 +60,12 @@ struct UnknownStruct5
u16 *unk4;
};
+struct GenderIconCoords
+{
+ u8 x;
+ u8 y;
+};
+
#define ewram1C000 (*(struct Unk201C000 *)(ewram + 0x1C000))
#define ewram1F000 (*(struct Unk201F000 *)(ewram + 0x1F000))
@@ -72,6 +78,7 @@ extern u8 gPlayerPartyCount;
extern s32 gBattleMoveDamage;
extern u16 gMoveToLearn;
+extern struct GenderIconCoords const gUnknown_08376738[12][6];
//extern const u16 gUnknown_083769A8[][6];
//extern const u8 gUnknown_083769A8[][12];
extern u16 *const gUnknown_08376858[][6];
@@ -84,6 +91,8 @@ extern const struct UnknownStruct5 gUnknown_08376BB4[][6];
extern u8 gUnknown_02039460[];
extern u8 gTileBuffer[];
+extern void PartyMenuWriteTilemap(u8, u8 b, u8 c);
+
static void sub_806E884(u8 taskId);
static void sub_8070D90(u8 taskId);
@@ -112,6 +121,36 @@ void sub_806AEDC(void)
#endif
+void PartyMenuDoPrintGenderIcon(u16 species, u8 gender, u8 c, u8 monIndex, u8 *nickname)
+{
+ if (!ShouldHideGenderIcon(species, nickname))
+ {
+ u8 x = gUnknown_08376738[c][monIndex].x + 3;
+ u8 y = gUnknown_08376738[c][monIndex].y + 1;
+
+ switch (gender)
+ {
+ case MON_MALE:
+ PartyMenuWriteTilemap(0x42, x, y);
+ break;
+ case MON_FEMALE:
+ PartyMenuWriteTilemap(0x44, x, y);
+ break;
+ }
+ }
+}
+
+void PartyMenuPrintGenderIcon(u8 monIndex, u8 b, struct Pokemon *pokemon)
+{
+ u16 species2;
+ u8 gender;
+
+ GetMonNickname(pokemon, gStringVar1);
+ species2 = GetMonData(pokemon, MON_DATA_SPECIES2);
+ gender = GetMonGender(pokemon);
+ PartyMenuDoPrintGenderIcon(species2, gender, b, monIndex, gStringVar1);
+}
+
void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP)
{
u32 *var;