pokediamond/include/hall_of_fame.h
2020-08-25 15:42:23 -04:00

56 lines
1.3 KiB
C

#ifndef POKEDIAMOND_HALL_OF_FAME_H
#define POKEDIAMOND_HALL_OF_FAME_H
#define NUM_HOF_RECORDS 30
struct HOFMon
{
/* 0x00 */ u16 species;
/* 0x02 */ u8 level;
/* 0x03 */ u8 forme;
/* 0x04 */ u32 personality;
/* 0x08 */ u32 otid;
/* 0x0C */ u16 nickname[POKEMON_NAME_LENGTH + 1];
/* 0x22 */ u16 otname[OT_NAME_LENGTH + 1];
/* 0x32 */ u16 moves[4];
/* 0x3A */ u8 padding[2];
};
struct HOFParty
{
struct HOFMon party[6];
u16 year;
u8 month;
u8 day;
};
struct HallOfFame
{
struct HOFParty parties[NUM_HOF_RECORDS];
u32 next_record;
u32 num_total;
};
struct HofDisplayMon
{
struct String * nickname;
struct String * otname;
u32 personality;
u32 otid;
u16 species;
u8 level;
u8 forme;
u16 moves[4];
};
u32 Sav2_HOF_sizeof(void);
void Sav2_HOF_init(struct HallOfFame * hof);
void Sav2_HOF_RecordParty(struct HallOfFame * hof, struct PlayerParty * party, RTCDate * date);
u32 Sav2_HOF_GetNumRecords(struct HallOfFame * hof);
int Sav2_HOF_TranslateRecordIdx(struct HallOfFame * hof, int a1);
u32 Sav2_HOF_RecordCountMons(struct HallOfFame * hof, int a1);
void Sav2_HOF_GetMonStatsByIndexPair(struct HallOfFame * hof, int a1, int a2, struct HofDisplayMon * dest);
void Sav2_HOF_GetClearDate(struct HallOfFame * hof, int a1, RTCDate * dest);
#endif //POKEDIAMOND_HALL_OF_FAME_H