More battle tower.

This commit is contained in:
DizzyEggg
2018-10-21 00:06:42 +02:00
parent f4e55999a5
commit 16026fe91d
18 changed files with 1126 additions and 2660 deletions
+13 -11
View File
@@ -1,9 +1,9 @@
#ifndef GUARD_BATTLE_TOWER_H
#define GUARD_BATTLE_TOWER_H
#define BATTLE_TOWER_EREADER_TRAINER_ID 200
#define BATTLE_TOWER_RECORD_MIXING_TRAINER_BASE_ID 300
#define BATTLE_TOWER_RECORD_APPRENTICE_BASE_ID 400
#define BATTLE_TOWER_EREADER_TRAINER_ID 500
struct RSBattleTowerRecord
{
@@ -12,9 +12,7 @@ struct RSBattleTowerRecord
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[4];
/*0x10*/ struct {
u16 easyChat[6];
} greeting;
/*0x10*/ u16 greeting[6];
/*0x1C*/ struct UnknownPokemonStruct party[3];
/*0xA0*/ u32 checksum;
/*0xA4*/ u16 unk_11c8;
@@ -26,16 +24,15 @@ union BattleTowerRecord
struct EmeraldBattleTowerRecord emerald;
};
#define FRONTIER_TRAINER_NAME_LENGTH 7
struct BattleFrontierTrainer
{
u32 facilityClass;
u8 trainerName[FRONTIER_TRAINER_NAME_LENGTH + 1];
u8 facilityClass;
u8 filler1[3];
u8 trainerName[PLAYER_NAME_LENGTH + 1];
u16 speechBefore[6];
u16 speechWin[6];
u16 speechLose[6];
const u16 *btMonPool;
const u16 *bfMonPool;
};
struct FacilityMon
@@ -47,6 +44,11 @@ struct FacilityMon
u8 nature;
};
extern const u8 gTowerMaleFacilityClasses[30];
extern const u8 gTowerMaleTrainerGfxIds[30];
extern const u8 gTowerFemaleFacilityClasses[20];
extern const u8 gTowerFemaleTrainerGfxIds[20];
extern const struct BattleFrontierTrainer *gFacilityTrainers;
extern const struct FacilityMon *gFacilityTrainerMons;
@@ -54,8 +56,8 @@ u16 GetCurrentBattleTowerWinStreak(u8, u8);
void sub_81659DC(struct RSBattleTowerRecord *a0, struct RSBattleTowerRecord *a1);
bool32 sub_816587C(union BattleTowerRecord *, union BattleTowerRecord *);
void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *);
void sub_81628A0(union BattleTowerRecord *);
void sub_8162614(u16 trainerId, u8);
void PutNewBattleTowerRecord(union BattleTowerRecord *);
void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId);
void ConvertBattleFrontierTrainerSpeechToString(const u16 *words);
void GetFrontierTrainerName(u8 *dest, u16 trainerIdx);
void GetEreaderTrainerName(u8 *dest);