Decompile trainer data

This necessitated changes in other files which access this data.

Three macro constants were migrated from trainer_constants.inc to
trainer.h

data/trainers.inc and data-de/trainers.inc have been deleted
This commit is contained in:
Blampharos 2018-01-25 17:31:41 +01:00
parent 776016e9ec
commit 0bf16dd66a
10 changed files with 19454 additions and 16667 deletions

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,6 @@
.section .rodata
@ 81F04FC
.include "data/trainers.inc"
@ 81F716C
.include "data/text/species_names.inc"

File diff suppressed because it is too large Load Diff

View File

@ -53,7 +53,7 @@ struct Trainer
/*0x18*/ bool8 doubleBattle;
/*0x1C*/ u32 aiFlags;
/*0x20*/ u8 partySize;
/*0x24*/ void *party;
/*0x24*/ const void *party;
};
struct UnkBattleStruct1 // AI_Opponent_Info?

View File

@ -16,6 +16,14 @@
#define TRAINER_ENCOUNTER_MUSIC_INTERVIEWER 12
#define TRAINER_ENCOUNTER_MUSIC_RICH 13 // Rich Boys and Gentlemen
#define F_TRAINER_FEMALE 1 << 7
// All trainer parties specify the IV, level, and species for each Pokémon in
// the party. Some trainer parties also specify held items and custom moves
// for each Pokémon.
#define F_TRAINER_PARTY_CUSTOM_MOVESET 1 << 0
#define F_TRAINER_PARTY_HELD_ITEM 1 << 1
enum {
FACILITY_CLASS_AQUA_LEADER,
FACILITY_CLASS_TEAM_AQUA_M,

View File

@ -1,9 +1,12 @@
#include "global.h"
#include "data2.h"
#include "battle_setup.h"
#include "battle.h"
#include "trainer.h"
#include "constants/species.h"
#include "constants/moves.h"
#include "constants/items.h"
#include "constants/opponents.h"
const struct MonCoords gTrainerBackPicCoords[] = {
{8, 4},
@ -452,6 +455,9 @@ const u8 gEnemyMonElevation[] = {
#if ENGLISH
#include "../data/text/trainer_class_names_en.h"
#include "../data/trainers_en.h"
#elif GERMAN
#include "../data/text/trainer_class_names_de.h"
#include "../data/trainers_de.h"
#endif

View File

@ -985,7 +985,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
{
case 0:
{
struct TrainerPartyMember0 *partyData = gTrainers[trainerNum].party;
const struct TrainerPartyMember0 *partyData = gTrainers[trainerNum].party;
for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
@ -996,7 +996,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
}
case 1:
{
struct TrainerPartyMember1 *partyData = gTrainers[trainerNum].party;
const struct TrainerPartyMember1 *partyData = gTrainers[trainerNum].party;
for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
@ -1013,7 +1013,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
}
case 2:
{
struct TrainerPartyMember2 *partyData = gTrainers[trainerNum].party;
const struct TrainerPartyMember2 *partyData = gTrainers[trainerNum].party;
for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
@ -1026,7 +1026,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
}
case 3:
{
struct TrainerPartyMember3 *partyData = gTrainers[trainerNum].party;
const struct TrainerPartyMember3 *partyData = gTrainers[trainerNum].party;
for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
nameHash += gSpeciesNames[partyData[i].species][j];

View File

@ -748,7 +748,7 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons)
u8 i;
u8 sum;
u32 count = numMons;
void *party;
const void *party;
if (gTrainers[opponentId].partySize < count)
count = gTrainers[opponentId].partySize;

9717
src/data/trainers_de.h Normal file

File diff suppressed because it is too large Load Diff

9717
src/data/trainers_en.h Normal file

File diff suppressed because it is too large Load Diff