pokeemerald/include/trainer_hill.h

82 lines
2.2 KiB
C
Raw Normal View History

2019-01-13 13:15:23 +01:00
#ifndef GUARD_TRAINER_HILL_H
#define GUARD_TRAINER_HILL_H
2019-09-03 03:37:52 +02:00
#define HILL_TRAINER_NAME_LENGTH 11
struct TrainerHillTrainer
{
u8 name[HILL_TRAINER_NAME_LENGTH];
u8 facilityClass;
u32 unused;
u16 speechBefore[6];
u16 speechWin[6];
u16 speechLose[6];
u16 speechAfter[6];
struct BattleTowerPokemon mons[PARTY_SIZE];
};
struct TrHillRoomTrainers
{
u8 name[2][HILL_TRAINER_NAME_LENGTH];
u8 facilityClass[2];
};
struct TrHillDisplay
{
u8 data[0x100];
u16 unk3A0[16];
u8 coords[2]; // x first 4 bits, y last 4 bits
u8 direction; // array of 4 bits for each trainer
u8 range; // array of 4 bits for each trainer
};
struct TrHillFloor
{
2019-11-13 22:10:05 +01:00
u8 trainerNum1;
u8 trainerNum2;
struct TrainerHillTrainer trainers[2];
struct TrHillDisplay display;
};
struct TrHillTag
{
2019-11-13 22:31:01 +01:00
u8 numTrainers;
u8 unused1;
u8 numFloors;
u32 checksum;
struct TrHillFloor floors[0];
};
2019-03-01 07:49:11 +01:00
extern u32 *gTrainerHillVBlankCounter;
2019-01-13 13:15:23 +01:00
2019-01-13 20:50:08 +01:00
void CallTrainerHillFunction(void);
void ResetTrainerHillResults(void);
u8 GetTrainerHillOpponentClass(u16 trainerId);
void GetTrainerHillTrainerName(u8 *dst, u16 trainerId);
u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId);
void InitTrainerHillBattleStruct(void);
void FreeTrainerHillBattleStruct(void);
void CopyTrainerHillTrainerText(u8 which, u16 trainerId);
2019-10-07 02:04:30 +02:00
bool8 InTrainerHillChallenge(void);
2019-01-13 20:50:08 +01:00
void nullsub_129(void);
void PrintOnTrainerHillRecordsWindow(void);
void LoadTrainerHillObjectEventTemplates(void);
bool32 LoadTrainerHillFloorObjectEventScripts(void);
2019-11-13 22:10:05 +01:00
void GenerateTrainerHillFloorLayout(u16 *mapArg);
2019-01-13 20:50:08 +01:00
bool32 InTrainerHill(void);
u8 GetCurrentTrainerHillMapId(void);
2019-11-13 22:10:05 +01:00
const struct WarpEvent* SetWarpDestinationTrainerHill4F(void);
const struct WarpEvent* SetWarpDestinationTrainerHillFinalFloor(u8 warpEventId);
2019-01-13 20:50:08 +01:00
u16 LocalIdToHillTrainerId(u8 localId);
bool8 GetHillTrainerFlag(u8 objectEventId);
2019-01-13 20:50:08 +01:00
void SetHillTrainerFlag(void);
const u8 *GetTrainerHillTrainerScript(void);
2019-01-13 20:50:08 +01:00
void FillHillTrainerParty(void);
void FillHillTrainersParties(void);
u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId);
2019-11-13 22:10:05 +01:00
u8 GetNumFloorsInTrainerHillChallenge(void);
2019-01-13 20:50:08 +01:00
void sub_81D64C0(void);
bool32 sub_81D6534(void);
2019-01-13 13:15:23 +01:00
#endif // GUARD_TRAINER_HILL_H