pmd-red/include/pokemon_summary_window.h
2025-12-18 07:14:45 -05:00

64 lines
1.9 KiB
C

#ifndef GUARD_POKEMON_SUMMARY_WINDOW_H
#define GUARD_POKEMON_SUMMARY_WINDOW_H
#include "structs/str_pokemon.h"
enum MonSummarySubWindow
{
SUB_WINDOW_NONE,
SUB_WINDOW_STATUS,
SUB_WINDOW_STATS,
SUB_WINDOW_FEATURES,
SUB_WINDOW_IQ,
SUB_WINDOW_INFO,
};
#define MON_SUMMARY_UNK58_COUNT 12
// Size: R=0x64 | B=?
typedef struct MonSummaryInfo
{
/* R=0x00 | B=0x00 */ s16 species;
/* R=0x02 | B=0x02 */ u8 nameBuffer[20];
/* R=0x16 | B=0x16 */ u8 types[2];
/* R=0x18 | B=0x18 */ u8 abilities[2];
/* R=0x1A | B=???? */ u8 fill1A[0x1C - 0x1A];
/* R=0x1C | B=???? */ DungeonLocation dungeonLocation;
/* R=0x20 | B=???? */ Item item;
/* R=0x24 | B=???? */ s32 HP1;
/* R=0x28 | B=???? */ s32 HP2;
/* R=0x2C | B=???? */ s32 level;
/* R=0x30 | B=???? */ u32 exp;
/* R=0x34 | B=???? */ Offense offense;
/* R=0x38 | B=???? */ bool8 isTeamLeader;
/* R=0x39 | B=???? */ u8 atkBoost;
/* R=0x3A | B=???? */ u8 spAtkBoost;
/* R=0x3B | B=???? */ u8 defBoost;
/* R=0x3C | B=???? */ u8 spDefBoost;
/* R=0x3D | B=???? */ u8 fill3D;
/* R=0x3E | B=???? */ s16 IQ;
/* R=0x40 | B=???? */ s16 unk40;
/* R=0x42 | B=???? */ s16 fill42;
/* R=0x44 | B=???? */ unkPokeSubStruct_C unk44[2];
/* R=0x4C | B=???? */ u8 evoStringId;
/* R=0x4D | B=???? */ u8 fill4D[3];
/* R=0x50 | B=???? */ IqSkillFlags IQSkills;
/* R=0x54 | B=???? */ u8 tactic;
/* R=0x55 | B=???? */ u8 fill55;
/* R=0x56 | B=???? */ s16 unk56;
/* R=0x58 | B=???? */ u8 unk58[MON_SUMMARY_UNK58_COUNT];
} MonSummaryInfo;
// Size: 0x30
typedef struct UnkInfoTabStruct
{
u8 unk0[12];
s32 unkC[9];
} UnkInfoTabStruct;
// which: See enum "MonSummarySubWindow"
void ShowPokemonSummaryWindow(s32 which, s32 currSubWindowId, MonSummaryInfo *monInfo, UnkInfoTabStruct *param_4, u32 windowId);
void SetMonSummaryInfo(MonSummaryInfo *dst, Pokemon *pokemon, bool8 unlockedEvolutions);
#endif // GUARD_POKEMON_SUMMARY_WINDOW_H