From b86184a4f63d6e3d5c20c1e7e8edd7137d7724f6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 5 Jul 2023 18:23:18 -0400 Subject: [PATCH] Removed TrainerMonPtr --- include/data.h | 9 ++------- src/battle_main.c | 6 +++--- src/battle_script_commands.c | 2 +- src/battle_setup.c | 2 +- src/battle_tower.c | 2 +- src/data/trainers.h | 2 +- src/match_call.c | 4 ++-- 7 files changed, 11 insertions(+), 16 deletions(-) diff --git a/include/data.h b/include/data.h index 5d86c60320..e3642e8e46 100644 --- a/include/data.h +++ b/include/data.h @@ -52,17 +52,12 @@ struct TrainerMonCustomized bool8 isShiny : 1; }; -#define EVERYTHING_CUSTOMIZED(party) { .EverythingCustomized = party}, .partySize = ARRAY_COUNT(party) - -union TrainerMonPtr -{ - const struct TrainerMonCustomized *EverythingCustomized; -}; +#define EVERYTHING_CUSTOMIZED(partyArray) partyArray, .partySize = ARRAY_COUNT(partyArray) struct Trainer { /*0x00*/ u32 aiFlags; - /*0x04*/ union TrainerMonPtr party; + /*0x04*/ const struct TrainerMonCustomized *party; /*0x08*/ u16 items[MAX_TRAINER_ITEMS]; /*0x10*/ u8 trainerClass; /*0x11*/ u8 encounterMusic_gender; // last bit is gender diff --git a/src/battle_main.c b/src/battle_main.c index ed97ad7dfd..f212c34757 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1883,8 +1883,8 @@ static u32 Crc32B (const u8 *data, u32 size) static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i) { - const u8 *buffer = (const u8 *) &trainer->party.EverythingCustomized[i]; - u32 n = sizeof(*trainer->party.EverythingCustomized); + const u8 *buffer = (const u8 *) &trainer->party[i]; + u32 n = sizeof(*trainer->party); return Crc32B(buffer, n); } @@ -1962,7 +1962,7 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer for (i = 0; i < monsCount; i++) { u32 personalityHash = GeneratePartyHash(trainer, i); - const struct TrainerMonCustomized *partyData = trainer->party.EverythingCustomized; + const struct TrainerMonCustomized *partyData = trainer->party; u32 otIdType = OT_ID_RANDOM_NO_SHINY; u32 fixedOtId = 0; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 30bd30a198..e51e95065f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7337,7 +7337,7 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) } else { - const struct TrainerMonCustomized *party = gTrainers[trainerId].party.EverythingCustomized; + const struct TrainerMonCustomized *party = gTrainers[trainerId].party; lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; for (; gTrainerMoneyTable[i].classId != 0xFF; i++) diff --git a/src/battle_setup.c b/src/battle_setup.c index 5f5bca75b4..6075b42dde 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -765,7 +765,7 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) sum = 0; - party = gTrainers[opponentId].party.EverythingCustomized; + party = gTrainers[opponentId].party; for (i = 0; i < count; i++) sum += party[i].lvl; diff --git a/src/battle_tower.c b/src/battle_tower.c index 5a093e9910..ce79915313 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -3049,7 +3049,7 @@ static void FillPartnerParty(u16 trainerId) for (i = 0; i < 3 && i < gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].partySize; i++) { - const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.EverythingCustomized; + const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party; u32 otIdType = OT_ID_RANDOM_NO_SHINY; do { diff --git a/src/data/trainers.h b/src/data/trainers.h index 3aa0726c3a..d2ffe39723 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -9,7 +9,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 0, - .party = {.EverythingCustomized = NULL}, + .party = NULL, }, [TRAINER_SAWYER_1] = diff --git a/src/match_call.c b/src/match_call.c index f86cb7138f..ec85498d07 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1789,14 +1789,14 @@ static void PopulateSpeciesFromTrainerLocation(int matchCallId, u8 *destStr) static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) { u16 trainerId; - union TrainerMonPtr party; + const struct TrainerMonCustomized *party; u8 monId; const u8 *speciesName; trainerId = GetLastBeatenRematchTrainerId(sMatchCallTrainers[matchCallId].trainerId); party = gTrainers[trainerId].party; monId = Random() % gTrainers[trainerId].partySize; - speciesName = gSpeciesNames[party.EverythingCustomized[monId].species]; + speciesName = gSpeciesNames[party[monId].species]; StringCopy(destStr, speciesName); }