diff --git a/include/data.h b/include/data.h index 8fc4209d3d..a5918fcb98 100644 --- a/include/data.h +++ b/include/data.h @@ -28,6 +28,22 @@ struct MonCoords u8 y_offset; }; +struct TrainerSprite +{ + u8 y_offset; + struct CompressedSpriteSheet frontPic; + struct CompressedSpritePalette palette; + const union AnimCmd *const *const animation; +}; + +struct TrainerBacksprite +{ + struct MonCoords coordinates; + struct CompressedSpriteSheet backPic; + struct CompressedSpritePalette palette; + const union AnimCmd *const *const animation; +}; + #define MON_COORDS_SIZE(width, height)(DIV_ROUND_UP(width, 8) << 4 | DIV_ROUND_UP(height, 8)) #define GET_MON_COORDS_WIDTH(size)((size >> 4) * 8) #define GET_MON_COORDS_HEIGHT(size)((size & 0xF) * 8) @@ -91,15 +107,10 @@ extern const union AffineAnimCmd *const gAffineAnims_BattleSpriteOpponentSide[]; extern const union AffineAnimCmd *const gAffineAnims_BattleSpriteContest[]; extern const union AnimCmd sAnim_GeneralFrame0[]; +extern const union AnimCmd sAnim_GeneralFrame3[]; extern const union AnimCmd *const gAnims_MonPic[]; -extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; -extern const struct MonCoords gTrainerFrontPicCoords[]; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; -extern const struct MonCoords gTrainerBackPicCoords[]; -extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; // functionally unused -extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; +extern const struct TrainerSprite gTrainerSprites[]; +extern const struct TrainerBacksprite gTrainerBacksprites[]; extern const struct Trainer gTrainers[]; extern const struct Trainer gBattlePartners[]; diff --git a/include/graphics.h b/include/graphics.h index 94a8e322f2..9d7258e32d 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -65,207 +65,6 @@ extern const u32 gOpenPokeballGfx[]; // pokemon gfx extern const u16 gMonIconPalettes[][16]; -// trainer sprites -extern const u32 gTrainerFrontPic_Hiker[]; -extern const u32 gTrainerFrontPic_AquaGruntM[]; -extern const u32 gTrainerFrontPic_PokemonBreederF[]; -extern const u32 gTrainerFrontPic_CoolTrainerM[]; -extern const u32 gTrainerFrontPic_BirdKeeper[]; -extern const u32 gTrainerFrontPic_Collector[]; -extern const u32 gTrainerFrontPic_AquaGruntF[]; -extern const u32 gTrainerFrontPic_SwimmerM[]; -extern const u32 gTrainerFrontPic_MagmaGruntM[]; -extern const u32 gTrainerFrontPic_ExpertM[]; -extern const u32 gTrainerFrontPic_AquaAdminM[]; -extern const u32 gTrainerFrontPic_BlackBelt[]; -extern const u32 gTrainerFrontPic_AquaAdminF[]; -extern const u32 gTrainerFrontPic_AquaLeaderArchie[]; -extern const u32 gTrainerFrontPic_HexManiac[]; -extern const u32 gTrainerFrontPic_AromaLady[]; -extern const u32 gTrainerFrontPic_RuinManiac[]; -extern const u32 gTrainerFrontPic_Interviewer[]; -extern const u32 gTrainerFrontPic_TuberF[]; -extern const u32 gTrainerFrontPic_TuberM[]; -extern const u32 gTrainerFrontPic_CoolTrainerF[]; -extern const u32 gTrainerFrontPic_Lady[]; -extern const u32 gTrainerFrontPic_Beauty[]; -extern const u32 gTrainerFrontPic_RichBoy[]; -extern const u32 gTrainerFrontPic_ExpertF[]; -extern const u32 gTrainerFrontPic_Pokemaniac[]; -extern const u32 gTrainerFrontPic_MagmaGruntF[]; -extern const u32 gTrainerFrontPic_Guitarist[]; -extern const u32 gTrainerFrontPic_Kindler[]; -extern const u32 gTrainerFrontPic_Camper[]; -extern const u32 gTrainerFrontPic_Picnicker[]; -extern const u32 gTrainerFrontPic_BugManiac[]; -extern const u32 gTrainerFrontPic_PokemonBreederM[]; -extern const u32 gTrainerFrontPic_PsychicM[]; -extern const u32 gTrainerFrontPic_PsychicF[]; -extern const u32 gTrainerFrontPic_Gentleman[]; -extern const u32 gTrainerFrontPic_EliteFourSidney[]; -extern const u32 gTrainerFrontPic_EliteFourPhoebe[]; -extern const u32 gTrainerFrontPic_EliteFourGlacia[]; -extern const u32 gTrainerFrontPic_EliteFourDrake[]; -extern const u32 gTrainerFrontPic_LeaderRoxanne[]; -extern const u32 gTrainerFrontPic_LeaderBrawly[]; -extern const u32 gTrainerFrontPic_LeaderWattson[]; -extern const u32 gTrainerFrontPic_LeaderFlannery[]; -extern const u32 gTrainerFrontPic_LeaderNorman[]; -extern const u32 gTrainerFrontPic_LeaderWinona[]; -extern const u32 gTrainerFrontPic_LeaderTateAndLiza[]; -extern const u32 gTrainerFrontPic_LeaderJuan[]; -extern const u32 gTrainerFrontPic_SchoolKidM[]; -extern const u32 gTrainerFrontPic_SchoolKidF[]; -extern const u32 gTrainerFrontPic_SrAndJr[]; -extern const u32 gTrainerFrontPic_PokefanM[]; -extern const u32 gTrainerFrontPic_PokefanF[]; -extern const u32 gTrainerFrontPic_Youngster[]; -extern const u32 gTrainerFrontPic_ChampionWallace[]; -extern const u32 gTrainerFrontPic_Fisherman[]; -extern const u32 gTrainerFrontPic_CyclingTriathleteM[]; -extern const u32 gTrainerFrontPic_CyclingTriathleteF[]; -extern const u32 gTrainerFrontPic_RunningTriathleteM[]; -extern const u32 gTrainerFrontPic_RunningTriathleteF[]; -extern const u32 gTrainerFrontPic_SwimmingTriathleteM[]; -extern const u32 gTrainerFrontPic_SwimmingTriathleteF[]; -extern const u32 gTrainerFrontPic_DragonTamer[]; -extern const u32 gTrainerFrontPic_NinjaBoy[]; -extern const u32 gTrainerFrontPic_BattleGirl[]; -extern const u32 gTrainerFrontPic_ParasolLady[]; -extern const u32 gTrainerFrontPic_SwimmerF[]; -extern const u32 gTrainerFrontPic_Twins[]; -extern const u32 gTrainerFrontPic_Sailor[]; -extern const u32 gTrainerFrontPic_MagmaAdmin[]; -extern const u32 gTrainerFrontPic_Wally[]; -extern const u32 gTrainerFrontPic_Brendan[]; -extern const u32 gTrainerFrontPic_May[]; -extern const u32 gTrainerFrontPic_BugCatcher[]; -extern const u32 gTrainerFrontPic_PokemonRangerM[]; -extern const u32 gTrainerFrontPic_PokemonRangerF[]; -extern const u32 gTrainerFrontPic_MagmaLeaderMaxie[]; -extern const u32 gTrainerFrontPic_Lass[]; -extern const u32 gTrainerFrontPic_YoungCouple[]; -extern const u32 gTrainerFrontPic_OldCouple[]; -extern const u32 gTrainerFrontPic_SisAndBro[]; -extern const u32 gTrainerFrontPic_Steven[]; -extern const u32 gTrainerFrontPic_SalonMaidenAnabel[]; -extern const u32 gTrainerFrontPic_DomeAceTucker[]; -extern const u32 gTrainerFrontPic_PalaceMavenSpenser[]; -extern const u32 gTrainerFrontPic_ArenaTycoonGreta[]; -extern const u32 gTrainerFrontPic_FactoryHeadNoland[]; -extern const u32 gTrainerFrontPic_PikeQueenLucy[]; -extern const u32 gTrainerFrontPic_PyramidKingBrandon[]; -extern const u32 gTrainerFrontPic_Red[]; -extern const u32 gTrainerFrontPic_Leaf[]; -extern const u32 gTrainerFrontPic_RubySapphireBrendan[]; -extern const u32 gTrainerFrontPic_RubySapphireMay[]; - -extern const u32 gTrainerPalette_Hiker[]; -extern const u32 gTrainerPalette_AquaGruntM[]; -extern const u32 gTrainerPalette_PokemonBreederF[]; -extern const u32 gTrainerPalette_CoolTrainerM[]; -extern const u32 gTrainerPalette_BirdKeeper[]; -extern const u32 gTrainerPalette_Collector[]; -extern const u32 gTrainerPalette_AquaGruntF[]; -extern const u32 gTrainerPalette_SwimmerM[]; -extern const u32 gTrainerPalette_MagmaGruntM[]; -extern const u32 gTrainerPalette_ExpertM[]; -extern const u32 gTrainerPalette_AquaAdminM[]; -extern const u32 gTrainerPalette_BlackBelt[]; -extern const u32 gTrainerPalette_AquaAdminF[]; -extern const u32 gTrainerPalette_AquaLeaderArchie[]; -extern const u32 gTrainerPalette_HexManiac[]; -extern const u32 gTrainerPalette_AromaLady[]; -extern const u32 gTrainerPalette_RuinManiac[]; -extern const u32 gTrainerPalette_Interviewer[]; -extern const u32 gTrainerPalette_TuberF[]; -extern const u32 gTrainerPalette_TuberM[]; -extern const u32 gTrainerPalette_CoolTrainerF[]; -extern const u32 gTrainerPalette_Lady[]; -extern const u32 gTrainerPalette_Beauty[]; -extern const u32 gTrainerPalette_RichBoy[]; -extern const u32 gTrainerPalette_ExpertF[]; -extern const u32 gTrainerPalette_Pokemaniac[]; -extern const u32 gTrainerPalette_MagmaGruntF[]; -extern const u32 gTrainerPalette_Guitarist[]; -extern const u32 gTrainerPalette_Kindler[]; -extern const u32 gTrainerPalette_Camper[]; -extern const u32 gTrainerPalette_Picnicker[]; -extern const u32 gTrainerPalette_BugManiac[]; -extern const u32 gTrainerPalette_PokemonBreederM[]; -extern const u32 gTrainerPalette_PsychicM[]; -extern const u32 gTrainerPalette_PsychicF[]; -extern const u32 gTrainerPalette_Gentleman[]; -extern const u32 gTrainerPalette_EliteFourSidney[]; -extern const u32 gTrainerPalette_EliteFourPhoebe[]; -extern const u32 gTrainerPalette_EliteFourGlacia[]; -extern const u32 gTrainerPalette_EliteFourDrake[]; -extern const u32 gTrainerPalette_LeaderRoxanne[]; -extern const u32 gTrainerPalette_LeaderBrawly[]; -extern const u32 gTrainerPalette_LeaderWattson[]; -extern const u32 gTrainerPalette_LeaderFlannery[]; -extern const u32 gTrainerPalette_LeaderNorman[]; -extern const u32 gTrainerPalette_LeaderWinona[]; -extern const u32 gTrainerPalette_LeaderTateAndLiza[]; -extern const u32 gTrainerPalette_LeaderJuan[]; -extern const u32 gTrainerPalette_SchoolKidM[]; -extern const u32 gTrainerPalette_SchoolKidF[]; -extern const u32 gTrainerPalette_SrAndJr[]; -extern const u32 gTrainerPalette_PokefanM[]; -extern const u32 gTrainerPalette_PokefanF[]; -extern const u32 gTrainerPalette_Youngster[]; -extern const u32 gTrainerPalette_ChampionWallace[]; -extern const u32 gTrainerPalette_Fisherman[]; -extern const u32 gTrainerPalette_CyclingTriathleteM[]; -extern const u32 gTrainerPalette_CyclingTriathleteF[]; -extern const u32 gTrainerPalette_RunningTriathleteM[]; -extern const u32 gTrainerPalette_RunningTriathleteF[]; -extern const u32 gTrainerPalette_SwimmingTriathleteM[]; -extern const u32 gTrainerPalette_SwimmingTriathleteF[]; -extern const u32 gTrainerPalette_DragonTamer[]; -extern const u32 gTrainerPalette_NinjaBoy[]; -extern const u32 gTrainerPalette_BattleGirl[]; -extern const u32 gTrainerPalette_ParasolLady[]; -extern const u32 gTrainerPalette_SwimmerF[]; -extern const u32 gTrainerPalette_Twins[]; -extern const u32 gTrainerPalette_Sailor[]; -extern const u32 gTrainerPalette_MagmaAdmin[]; -extern const u32 gTrainerPalette_Wally[]; -extern const u32 gTrainerPalette_Brendan[]; -extern const u32 gTrainerPalette_May[]; -extern const u32 gTrainerPalette_BugCatcher[]; -extern const u32 gTrainerPalette_PokemonRangerM[]; -extern const u32 gTrainerPalette_PokemonRangerF[]; -extern const u32 gTrainerPalette_MagmaLeaderMaxie[]; -extern const u32 gTrainerPalette_Lass[]; -extern const u32 gTrainerPalette_YoungCouple[]; -extern const u32 gTrainerPalette_OldCouple[]; -extern const u32 gTrainerPalette_SisAndBro[]; -extern const u32 gTrainerPalette_Steven[]; -extern const u32 gTrainerPalette_SalonMaidenAnabel[]; -extern const u32 gTrainerPalette_DomeAceTucker[]; -extern const u32 gTrainerPalette_PalaceMavenSpenser[]; -extern const u32 gTrainerPalette_ArenaTycoonGreta[]; -extern const u32 gTrainerPalette_FactoryHeadNoland[]; -extern const u32 gTrainerPalette_PikeQueenLucy[]; -extern const u32 gTrainerPalette_PyramidKingBrandon[]; -extern const u32 gTrainerPalette_Red[]; -extern const u32 gTrainerPalette_Leaf[]; -extern const u32 gTrainerPalette_RubySapphireBrendan[]; -extern const u32 gTrainerPalette_RubySapphireMay[]; - -extern const u8 gTrainerBackPic_Brendan[]; -extern const u8 gTrainerBackPic_May[]; -extern const u8 gTrainerBackPic_Red[]; -extern const u8 gTrainerBackPic_Leaf[]; -extern const u8 gTrainerBackPic_RubySapphireBrendan[]; -extern const u8 gTrainerBackPic_RubySapphireMay[]; -extern const u8 gTrainerBackPic_Wally[]; -extern const u8 gTrainerBackPic_Steven[]; - -extern const u32 gTrainerBackPicPalette_Red[]; -extern const u32 gTrainerBackPicPalette_Leaf[]; - // pokeblock extern const u32 gMenuPokeblock_Gfx[]; extern const u32 gMenuPokeblock_Pal[]; diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 3a3cb7e8ce..b89c2263f3 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -462,7 +462,7 @@ static void LinkOpponentHandleDrawTrainerPic(u32 battler) } BtlController_HandleDrawTrainerPic(battler, trainerPicId, TRUE, - xPos, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicId].size), + xPos, 40 + 4 * (8 - gTrainerSprites[trainerPicId].y_offset), -1); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 4b8daeb1e1..58bbe676f0 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -234,7 +234,7 @@ static void LinkPartnerHandleDrawTrainerPic(u32 battler) trainerPicId = LinkPlayerGetTrainerPicId(GetBattlerMultiplayerId(battler)); BtlController_HandleDrawTrainerPic(battler, trainerPicId, FALSE, - xPos, 80 + 4 * (8 - gTrainerBackPicCoords[trainerPicId].size), + xPos, 80 + 4 * (8 - gTrainerBacksprites[trainerPicId].coordinates.size), -1); } @@ -261,7 +261,7 @@ static void LinkPartnerHandleHealthBarUpdate(u32 battler) static void LinkPartnerHandleIntroTrainerBallThrow(u32 battler) { u32 trainerPicId = LinkPlayerGetTrainerPicId(GetBattlerMultiplayerId(battler)); - const u32 *trainerPal = gTrainerBackPicPaletteTable[trainerPicId].data; + const u32 *trainerPal = gTrainerBacksprites[trainerPicId].palette.data; // Link partner uses the same intro sequence as the player partner. BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F9, trainerPal, 24, Controller_PlayerPartnerShowIntroHealthbox); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 6b09f0d41f..649240ce34 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -485,7 +485,7 @@ static void OpponentHandleDrawTrainerPic(u32 battler) } BtlController_HandleDrawTrainerPic(battler, trainerPicId, TRUE, - xPos, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicId].size), + xPos, 40 + 4 * (8 - gTrainerSprites[trainerPicId].y_offset), -1); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 711eef1d1e..10f0951950 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1879,18 +1879,18 @@ static void PlayerHandleDrawTrainerPic(u32 battler) if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId < TRAINER_PARTNER(PARTNER_NONE)) { xPos = 90; - yPos = (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 80; + yPos = (8 - gTrainerSprites[trainerPicId].y_offset) * 4 + 80; } else { - yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; + yPos = (8 - gTrainerBacksprites[trainerPicId].coordinates.size) * 4 + 80; } } else { xPos = 80; - yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; + yPos = (8 - gTrainerBacksprites[trainerPicId].coordinates.size) * 4 + 80; } // Use front pic table for any tag battles unless your partner is Steven or a custom partner. @@ -2233,7 +2233,7 @@ static void PlayerHandleOneReturnValue_Duplicate(u32 battler) static void PlayerHandleIntroTrainerBallThrow(u32 battler) { - const u32 *trainerPal = gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data; + const u32 *trainerPal = gTrainerBacksprites[gSaveBlock2Ptr->playerGender].palette.data; BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F8, trainerPal, 31, Intro_TryShinyAnimShowHealthbox); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 8f989c677d..62941c92af 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -301,19 +301,19 @@ static void PlayerPartnerHandleDrawTrainerPic(u32 battler) { trainerPicId = gBattlePartners[gPartnerTrainerId - TRAINER_PARTNER(PARTNER_NONE)].trainerPic; xPos = 90; - yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; + yPos = (8 - gTrainerBacksprites[trainerPicId].coordinates.size) * 4 + 80; } else if (IsAiVsAiBattle()) { trainerPicId = gTrainers[gPartnerTrainerId].trainerPic; xPos = 60; - yPos = (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 80; + yPos = (8 - gTrainerSprites[trainerPicId].y_offset) * 4 + 80; } else { trainerPicId = GetFrontierTrainerFrontSpriteId(gPartnerTrainerId); xPos = 32; - yPos = (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 80; + yPos = (8 - gTrainerSprites[trainerPicId].y_offset) * 4 + 80; } // Use back pic only if the partner Steven or is custom. @@ -435,11 +435,11 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(u32 battler) const u32 *trainerPal; if (gPartnerTrainerId > TRAINER_PARTNER(PARTNER_NONE)) - trainerPal = gTrainerBackPicPaletteTable[gPartnerSpriteId].data; + trainerPal = gTrainerBacksprites[gPartnerSpriteId].palette.data; else if (IsAiVsAiBattle()) - trainerPal = gTrainerFrontPicPaletteTable[gTrainers[gPartnerTrainerId].trainerPic].data; + trainerPal = gTrainerSprites[gTrainers[gPartnerTrainerId].trainerPic].palette.data; else - trainerPal = gTrainerFrontPicPaletteTable[GetFrontierTrainerFrontSpriteId(gPartnerTrainerId)].data; // 2 vs 2 multi battle in Battle Frontier, load front sprite and pal. + trainerPal = gTrainerSprites[GetFrontierTrainerFrontSpriteId(gPartnerTrainerId)].palette.data; // 2 vs 2 multi battle in Battle Frontier, load front sprite and pal. BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F9, trainerPal, 24, Controller_PlayerPartnerShowIntroHealthbox); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 58ef101ec9..36caa14c14 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -421,7 +421,7 @@ static void RecordedOpponentHandleDrawTrainerPic(u32 battler) } BtlController_HandleDrawTrainerPic(battler, trainerPicId, TRUE, - xPos, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicId].size), + xPos, 40 + 4 * (8 - gTrainerSprites[trainerPicId].y_offset), -1); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 39e869867e..b8322b3eaf 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -393,18 +393,18 @@ static void RecordedPlayerHandleDrawTrainerPic(u32 battler) if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { xPos = 90; - yPos = (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 80; + yPos = (8 - gTrainerSprites[trainerPicId].y_offset) * 4 + 80; } else { - yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; + yPos = (8 - gTrainerBacksprites[trainerPicId].coordinates.size) * 4 + 80; } } else { xPos = 80; - yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; + yPos = (8 - gTrainerBacksprites[trainerPicId].coordinates.size) * 4 + 80; } if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) @@ -517,7 +517,7 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(u32 battler) else trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; - trainerPal = gTrainerFrontPicPaletteTable[trainerPicId].data; + trainerPal = gTrainerSprites[trainerPicId].palette.data; BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F9, trainerPal, 24, Intro_TryShinyAnimShowHealthbox); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index b5a64c286b..39fbc63ab6 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -249,7 +249,7 @@ static void SafariHandleDrawTrainerPic(u32 battler) u32 trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; BtlController_HandleDrawTrainerPic(battler, trainerPicId, FALSE, - 80, 80 + 4 * (8 - gTrainerBackPicCoords[trainerPicId].size), + 80, 80 + 4 * (8 - gTrainerBacksprites[trainerPicId].coordinates.size), 30); } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index a262886f46..7b0bb6f154 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -297,7 +297,7 @@ static void WallyBufferExecCompleted(u32 battler) static void WallyHandleDrawTrainerPic(u32 battler) { BtlController_HandleDrawTrainerPic(battler, TRAINER_BACK_PIC_WALLY, FALSE, - 80, 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size), + 80, 80 + 4 * (8 - gTrainerBacksprites[TRAINER_BACK_PIC_WALLY].coordinates.size), 30); } @@ -420,7 +420,7 @@ static void WallyHandleFaintingCry(u32 battler) static void WallyHandleIntroTrainerBallThrow(u32 battler) { - const u32 *trainerPal = gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_WALLY].data; + const u32 *trainerPal = gTrainerBacksprites[TRAINER_BACK_PIC_WALLY].palette.data; BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F8, trainerPal, 31, Intro_TryShinyAnimShowHealthbox); } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 885e9394bb..632d7e50d8 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2480,7 +2480,7 @@ void BtlController_HandleDrawTrainerPic(u32 battler, u32 trainerPicId, bool32 is yPos, subpriority); - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerSprites[trainerPicId].palette.tag); gSprites[gBattlerSpriteIds[battler]].x2 = -DISPLAY_WIDTH; gSprites[gBattlerSpriteIds[battler]].sSpeedX = 2; gSprites[gBattlerSpriteIds[battler]].oam.affineParam = trainerPicId; @@ -2498,7 +2498,7 @@ void BtlController_HandleDrawTrainerPic(u32 battler, u32 trainerPicId, bool32 is yPos, subpriority); - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerSprites[trainerPicId].palette.tag); gSprites[gBattlerSpriteIds[battler]].oam.affineMode = ST_OAM_AFFINE_OFF; gSprites[gBattlerSpriteIds[battler]].hFlip = 1; gSprites[gBattlerSpriteIds[battler]].y2 = 48; @@ -2532,7 +2532,7 @@ void BtlController_HandleTrainerSlide(u32 battler, u32 trainerPicId) SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 80, - (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80, + (8 - gTrainerBacksprites[trainerPicId].coordinates.size) * 4 + 80, 30); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; gSprites[gBattlerSpriteIds[battler]].x2 = -96; @@ -2544,10 +2544,10 @@ void BtlController_HandleTrainerSlide(u32 battler, u32 trainerPicId) SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 176, - (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, + (8 - gTrainerSprites[trainerPicId].y_offset) * 4 + 40, 30); gSprites[gBattlerSpriteIds[battler]].oam.affineParam = trainerPicId; - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerSprites[trainerPicId].palette.tag); gSprites[gBattlerSpriteIds[battler]].x2 = 96; gSprites[gBattlerSpriteIds[battler]].x += 32; gSprites[gBattlerSpriteIds[battler]].sSpeedX = -2; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 4a4b47440b..b38ccf495b 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -650,23 +650,23 @@ void BattleGfxSfxDummy2(u16 species) void DecompressTrainerFrontPic(u16 frontPicId, u8 battler) { u8 position = GetBattlerPosition(battler); - DecompressPicFromTable(&gTrainerFrontPicTable[frontPicId], + DecompressPicFromTable(&gTrainerSprites[frontPicId].frontPic, gMonSpritesGfxPtr->sprites.ptr[position]); - LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[frontPicId]); + LoadCompressedSpritePalette(&gTrainerSprites[frontPicId].palette); } void DecompressTrainerBackPic(u16 backPicId, u8 battler) { u8 position = GetBattlerPosition(battler); - DecompressPicFromTable(&gTrainerBackPicTable[backPicId], + DecompressPicFromTable(&gTrainerBacksprites[backPicId].backPic, gMonSpritesGfxPtr->sprites.ptr[position]); - LoadCompressedPalette(gTrainerBackPicPaletteTable[backPicId].data, + LoadCompressedPalette(gTrainerBacksprites[backPicId].palette.data, OBJ_PLTT_ID(battler), PLTT_SIZE_4BPP); } void FreeTrainerFrontPicPalette(u16 frontPicId) { - FreeSpritePaletteByTag(gTrainerFrontPicPaletteTable[frontPicId].tag); + FreeSpritePaletteByTag(gTrainerSprites[frontPicId].palette.tag); } // Unused. diff --git a/src/data.c b/src/data.c index 1fda8b7876..da6edde3f3 100644 --- a/src/data.c +++ b/src/data.c @@ -47,79 +47,13 @@ const struct SpriteFrameImage gBattlerPicTable_OpponentRight[] = {BATTLER_OFFSET(15), MON_PIC_SIZE}, }; -const struct SpriteFrameImage gTrainerBackPicTable_Brendan[] = -{ - {gTrainerBackPic_Brendan + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Brendan + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Brendan + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Brendan + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, -}; - -const struct SpriteFrameImage gTrainerBackPicTable_May[] = -{ - {gTrainerBackPic_May + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, - {gTrainerBackPic_May + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, - {gTrainerBackPic_May + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, - {gTrainerBackPic_May + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, -}; - -const struct SpriteFrameImage gTrainerBackPicTable_Red[] = -{ - {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 4, TRAINER_PIC_SIZE}, -}; - -const struct SpriteFrameImage gTrainerBackPicTable_Leaf[] = -{ - {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 4, TRAINER_PIC_SIZE}, -}; - -const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[] = -{ - {gTrainerBackPic_RubySapphireBrendan + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, - {gTrainerBackPic_RubySapphireBrendan + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, - {gTrainerBackPic_RubySapphireBrendan + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, - {gTrainerBackPic_RubySapphireBrendan + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, -}; - -const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[] = -{ - {gTrainerBackPic_RubySapphireMay + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, - {gTrainerBackPic_RubySapphireMay + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, - {gTrainerBackPic_RubySapphireMay + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, - {gTrainerBackPic_RubySapphireMay + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, -}; - -const struct SpriteFrameImage gTrainerBackPicTable_Wally[] = -{ - {gTrainerBackPic_Wally + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Wally + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Wally + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Wally + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, -}; - -const struct SpriteFrameImage gTrainerBackPicTable_Steven[] = -{ - {gTrainerBackPic_Steven + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Steven + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Steven + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, - {gTrainerBackPic_Steven + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, -}; - const union AnimCmd sAnim_GeneralFrame0[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END, }; -static const union AnimCmd sAnim_GeneralFrame3[] = +const union AnimCmd sAnim_GeneralFrame3[] = { ANIMCMD_FRAME(3, 0), ANIMCMD_END, @@ -285,11 +219,6 @@ const union AnimCmd *const gAnims_MonPic[MAX_MON_PIC_FRAMES] = sAnim_MonPic_1, }; -#include "data/trainer_graphics/front_pic_anims.h" -#include "data/trainer_graphics/front_pic_tables.h" -#include "data/trainer_graphics/back_pic_anims.h" -#include "data/trainer_graphics/back_pic_tables.h" - #include "data/trainer_parties.h" #include "data/text/trainer_class_names.h" #include "data/trainers.h" diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h index fbdea74729..57269f0723 100644 --- a/src/data/graphics/trainers.h +++ b/src/data/graphics/trainers.h @@ -1,3 +1,6 @@ +#include "constants/trainers.h" +#include "data.h" + const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker.4bpp.lz"); const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker.gbapal.lz"); @@ -288,3 +291,235 @@ const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steve const u32 gTrainerBackPicPalette_Red[] = INCBIN_U32("graphics/trainers/back_pics/red.gbapal.lz"); const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/back_pics/leaf.gbapal.lz"); + +static const union AnimCmd *const sAnims_Trainer[] ={ + sAnim_GeneralFrame0, +}; + +#define TRAINER_SPRITE(trainerPic, file) \ + [TRAINER_PIC_##trainerPic] = \ + { \ + .y_offset = 8, \ + .frontPic = {gTrainerFrontPic_##file, TRAINER_PIC_SIZE, TRAINER_PIC_##trainerPic},\ + .palette = {gTrainerPalette_##file, TRAINER_PIC_##trainerPic}, \ + .animation = sAnims_Trainer, \ + } + +const struct TrainerSprite gTrainerSprites[] = +{ + TRAINER_SPRITE(HIKER, Hiker), + TRAINER_SPRITE(AQUA_GRUNT_M, AquaGruntM), + TRAINER_SPRITE(POKEMON_BREEDER_F, PokemonBreederF), + TRAINER_SPRITE(COOLTRAINER_M, CoolTrainerM), + TRAINER_SPRITE(BIRD_KEEPER, BirdKeeper), + TRAINER_SPRITE(COLLECTOR, Collector), + TRAINER_SPRITE(AQUA_GRUNT_F, AquaGruntF), + TRAINER_SPRITE(SWIMMER_M, SwimmerM), + TRAINER_SPRITE(MAGMA_GRUNT_M, MagmaGruntM), + TRAINER_SPRITE(EXPERT_M, ExpertM), + TRAINER_SPRITE(AQUA_ADMIN_M, AquaAdminM), + TRAINER_SPRITE(BLACK_BELT, BlackBelt), + TRAINER_SPRITE(AQUA_ADMIN_F, AquaAdminF), + TRAINER_SPRITE(AQUA_LEADER_ARCHIE, AquaLeaderArchie), + TRAINER_SPRITE(HEX_MANIAC, HexManiac), + TRAINER_SPRITE(AROMA_LADY, AromaLady), + TRAINER_SPRITE(RUIN_MANIAC, RuinManiac), + TRAINER_SPRITE(INTERVIEWER, Interviewer), + TRAINER_SPRITE(TUBER_F, TuberF), + TRAINER_SPRITE(TUBER_M, TuberM), + TRAINER_SPRITE(COOLTRAINER_F, CoolTrainerF), + TRAINER_SPRITE(LADY, Lady), + TRAINER_SPRITE(BEAUTY, Beauty), + TRAINER_SPRITE(RICH_BOY, RichBoy), + TRAINER_SPRITE(EXPERT_F, ExpertF), + TRAINER_SPRITE(POKEMANIAC, Pokemaniac), + TRAINER_SPRITE(MAGMA_GRUNT_F, MagmaGruntF), + TRAINER_SPRITE(GUITARIST, Guitarist), + TRAINER_SPRITE(KINDLER, Kindler), + TRAINER_SPRITE(CAMPER, Camper), + TRAINER_SPRITE(PICNICKER, Picnicker), + TRAINER_SPRITE(BUG_MANIAC, BugManiac), + TRAINER_SPRITE(POKEMON_BREEDER_M, PokemonBreederM), + TRAINER_SPRITE(PSYCHIC_M, PsychicM), + TRAINER_SPRITE(PSYCHIC_F, PsychicF), + TRAINER_SPRITE(GENTLEMAN, Gentleman), + TRAINER_SPRITE(ELITE_FOUR_SIDNEY, EliteFourSidney), + TRAINER_SPRITE(ELITE_FOUR_PHOEBE, EliteFourPhoebe), + TRAINER_SPRITE(ELITE_FOUR_GLACIA, EliteFourGlacia), + TRAINER_SPRITE(ELITE_FOUR_DRAKE, EliteFourDrake), + TRAINER_SPRITE(LEADER_ROXANNE, LeaderRoxanne), + TRAINER_SPRITE(LEADER_BRAWLY, LeaderBrawly), + TRAINER_SPRITE(LEADER_WATTSON, LeaderWattson), + TRAINER_SPRITE(LEADER_FLANNERY, LeaderFlannery), + TRAINER_SPRITE(LEADER_NORMAN, LeaderNorman), + TRAINER_SPRITE(LEADER_WINONA, LeaderWinona), + TRAINER_SPRITE(LEADER_TATE_AND_LIZA, LeaderTateAndLiza), + TRAINER_SPRITE(LEADER_JUAN, LeaderJuan), + TRAINER_SPRITE(SCHOOL_KID_M, SchoolKidM), + TRAINER_SPRITE(SCHOOL_KID_F, SchoolKidF), + TRAINER_SPRITE(SR_AND_JR, SrAndJr), + TRAINER_SPRITE(POKEFAN_M, PokefanM), + TRAINER_SPRITE(POKEFAN_F, PokefanF), + TRAINER_SPRITE(YOUNGSTER, Youngster), + TRAINER_SPRITE(CHAMPION_WALLACE, ChampionWallace), + TRAINER_SPRITE(FISHERMAN, Fisherman), + TRAINER_SPRITE(CYCLING_TRIATHLETE_M, CyclingTriathleteM), + TRAINER_SPRITE(CYCLING_TRIATHLETE_F, CyclingTriathleteF), + TRAINER_SPRITE(RUNNING_TRIATHLETE_M, RunningTriathleteM), + TRAINER_SPRITE(RUNNING_TRIATHLETE_F, RunningTriathleteF), + TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, SwimmingTriathleteM), + TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, SwimmingTriathleteF), + TRAINER_SPRITE(DRAGON_TAMER, DragonTamer), + TRAINER_SPRITE(NINJA_BOY, NinjaBoy), + TRAINER_SPRITE(BATTLE_GIRL, BattleGirl), + TRAINER_SPRITE(PARASOL_LADY, ParasolLady), + TRAINER_SPRITE(SWIMMER_F, SwimmerF), + TRAINER_SPRITE(TWINS, Twins), + TRAINER_SPRITE(SAILOR, Sailor), + TRAINER_SPRITE(MAGMA_ADMIN, MagmaAdmin), + TRAINER_SPRITE(WALLY, Wally), + TRAINER_SPRITE(BRENDAN, Brendan), + TRAINER_SPRITE(MAY, May), + TRAINER_SPRITE(BUG_CATCHER, BugCatcher), + TRAINER_SPRITE(POKEMON_RANGER_M, PokemonRangerM), + TRAINER_SPRITE(POKEMON_RANGER_F, PokemonRangerF), + TRAINER_SPRITE(MAGMA_LEADER_MAXIE, MagmaLeaderMaxie), + TRAINER_SPRITE(LASS, Lass), + TRAINER_SPRITE(YOUNG_COUPLE, YoungCouple), + TRAINER_SPRITE(OLD_COUPLE, OldCouple), + TRAINER_SPRITE(SIS_AND_BRO, SisAndBro), + TRAINER_SPRITE(STEVEN, Steven), + TRAINER_SPRITE(SALON_MAIDEN_ANABEL, SalonMaidenAnabel), + TRAINER_SPRITE(DOME_ACE_TUCKER, DomeAceTucker), + TRAINER_SPRITE(PALACE_MAVEN_SPENSER, PalaceMavenSpenser), + TRAINER_SPRITE(ARENA_TYCOON_GRETA, ArenaTycoonGreta), + TRAINER_SPRITE(FACTORY_HEAD_NOLAND, FactoryHeadNoland), + TRAINER_SPRITE(PIKE_QUEEN_LUCY, PikeQueenLucy), + TRAINER_SPRITE(PYRAMID_KING_BRANDON, PyramidKingBrandon), + TRAINER_SPRITE(RED, Red), + TRAINER_SPRITE(LEAF, Leaf), + TRAINER_SPRITE(RS_BRENDAN, RubySapphireBrendan), + TRAINER_SPRITE(RS_MAY, RubySapphireMay), +}; + +static const union AnimCmd sAnimCmd_Hoenn[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +static const union AnimCmd sAnimCmd_Kanto[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 24), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd *const sBackAnims_Hoenn[] = +{ + sAnim_GeneralFrame3, + sAnimCmd_Hoenn, +}; + +static const union AnimCmd *const sBackAnims_Kanto[] = +{ + sAnim_GeneralFrame0, + sAnimCmd_Kanto, +}; + +const struct SpriteFrameImage gTrainerBackPicTable_Brendan[] = +{ + {gTrainerBackPic_Brendan + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Brendan + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Brendan + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Brendan + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, +}; + +const struct SpriteFrameImage gTrainerBackPicTable_May[] = +{ + {gTrainerBackPic_May + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, + {gTrainerBackPic_May + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, + {gTrainerBackPic_May + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, + {gTrainerBackPic_May + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, +}; + +const struct SpriteFrameImage gTrainerBackPicTable_Red[] = +{ + {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Red + TRAINER_PIC_SIZE * 4, TRAINER_PIC_SIZE}, +}; + +const struct SpriteFrameImage gTrainerBackPicTable_Leaf[] = +{ + {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Leaf + TRAINER_PIC_SIZE * 4, TRAINER_PIC_SIZE}, +}; + +const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireBrendan[] = +{ + {gTrainerBackPic_RubySapphireBrendan + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, + {gTrainerBackPic_RubySapphireBrendan + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, + {gTrainerBackPic_RubySapphireBrendan + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, + {gTrainerBackPic_RubySapphireBrendan + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, +}; + +const struct SpriteFrameImage gTrainerBackPicTable_RubySapphireMay[] = +{ + {gTrainerBackPic_RubySapphireMay + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, + {gTrainerBackPic_RubySapphireMay + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, + {gTrainerBackPic_RubySapphireMay + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, + {gTrainerBackPic_RubySapphireMay + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, +}; + +const struct SpriteFrameImage gTrainerBackPicTable_Wally[] = +{ + {gTrainerBackPic_Wally + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Wally + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Wally + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Wally + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, +}; + +const struct SpriteFrameImage gTrainerBackPicTable_Steven[] = +{ + {gTrainerBackPic_Steven + TRAINER_PIC_SIZE * 0, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Steven + TRAINER_PIC_SIZE * 1, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Steven + TRAINER_PIC_SIZE * 2, TRAINER_PIC_SIZE}, + {gTrainerBackPic_Steven + TRAINER_PIC_SIZE * 3, TRAINER_PIC_SIZE}, +}; + +// .backPic goes functionally unused, since none of these pics are compressed +// and the place they would get extracted to gets overwritten later anyway +// the casts are so they'll play nice with the strict struct definition +#define TRAINER_BACK_SPRITE(trainerPic, yOffset, sprite, pal, anim) \ + [TRAINER_BACK_PIC_##trainerPic] = \ + { \ + .coordinates = {.size = 8, .y_offset = yOffset}, \ + .backPic = {(const u32 *)gTrainerBackPic_##sprite, TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_##sprite), TRAINER_BACK_PIC_##trainerPic}, \ + .palette = {gTrainer##pal, TRAINER_BACK_PIC_##trainerPic}, \ + .animation = sBackAnims_##anim, \ + } + +const struct TrainerBacksprite gTrainerBacksprites[] = +{ + TRAINER_BACK_SPRITE(BRENDAN, 4, Brendan, Palette_Brendan, Hoenn), + TRAINER_BACK_SPRITE(MAY, 4, May, Palette_May, Hoenn), + TRAINER_BACK_SPRITE(RED, 5, Red, BackPicPalette_Red, Kanto), + TRAINER_BACK_SPRITE(LEAF, 5, Leaf, BackPicPalette_Leaf, Kanto), + TRAINER_BACK_SPRITE(RUBY_SAPPHIRE_BRENDAN, 4, RubySapphireBrendan, Palette_RubySapphireBrendan, Hoenn), + TRAINER_BACK_SPRITE(RUBY_SAPPHIRE_MAY, 4, RubySapphireMay, Palette_RubySapphireMay, Hoenn), + TRAINER_BACK_SPRITE(WALLY, 4, Wally, Palette_Wally, Hoenn), + TRAINER_BACK_SPRITE(STEVEN, 4, Steven, Palette_Steven, Hoenn), +}; diff --git a/src/data/trainer_graphics/back_pic_anims.h b/src/data/trainer_graphics/back_pic_anims.h deleted file mode 100644 index ed12e0cb41..0000000000 --- a/src/data/trainer_graphics/back_pic_anims.h +++ /dev/null @@ -1,129 +0,0 @@ -static const union AnimCmd sAnimCmd_Brendan_1[] = -{ - ANIMCMD_FRAME(0, 24), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 24), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(3, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnimCmd_May_Steven_1[] = -{ - ANIMCMD_FRAME(0, 24), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 24), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(3, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnimCmd_Wally_1[] = -{ - ANIMCMD_FRAME(0, 24), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 24), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(3, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnimCmd_Red_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_FRAME(4, 24), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnimCmd_Leaf_1[] = -{ - ANIMCMD_FRAME(1, 20), - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_FRAME(4, 24), - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnimCmd_RubySapphireBrendan_1[] = -{ - ANIMCMD_FRAME(0, 24), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 24), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(3, 50), - ANIMCMD_END, -}; - -static const union AnimCmd sAnimCmd_RubySapphireMay_1[] = -{ - ANIMCMD_FRAME(0, 24), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 24), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(3, 50), - ANIMCMD_END, -}; - -static const union AnimCmd *const sBackAnims_Brendan[] = -{ - sAnim_GeneralFrame3, - sAnimCmd_Brendan_1, -}; - -static const union AnimCmd *const sBackAnims_May[] = -{ - sAnim_GeneralFrame3, - sAnimCmd_May_Steven_1, -}; - -static const union AnimCmd *const sBackAnims_Red[] = -{ - sAnim_GeneralFrame0, - sAnimCmd_Red_1, -}; - -static const union AnimCmd *const sBackAnims_Leaf[] = -{ - sAnim_GeneralFrame0, - sAnimCmd_Leaf_1, -}; - -static const union AnimCmd *const sBackAnims_RubySapphireBrendan[] = -{ - sAnim_GeneralFrame3, - sAnimCmd_RubySapphireBrendan_1, -}; - -static const union AnimCmd *const sBackAnims_RubySapphireMay[] = -{ - sAnim_GeneralFrame3, - sAnimCmd_RubySapphireMay_1, -}; - -static const union AnimCmd *const sBackAnims_Wally[] = -{ - sAnim_GeneralFrame3, - sAnimCmd_Wally_1, -}; - -static const union AnimCmd *const sBackAnims_Steven[] = -{ - sAnim_GeneralFrame3, - sAnimCmd_May_Steven_1, -}; - -const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] = -{ - [TRAINER_BACK_PIC_BRENDAN] = sBackAnims_Brendan, - [TRAINER_BACK_PIC_MAY] = sBackAnims_May, - [TRAINER_BACK_PIC_RED] = sBackAnims_Red, - [TRAINER_BACK_PIC_LEAF] = sBackAnims_Leaf, - [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = sBackAnims_RubySapphireBrendan, - [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = sBackAnims_RubySapphireMay, - [TRAINER_BACK_PIC_WALLY] = sBackAnims_Wally, - [TRAINER_BACK_PIC_STEVEN] = sBackAnims_Steven, -}; diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h deleted file mode 100644 index 524d48d480..0000000000 --- a/src/data/trainer_graphics/back_pic_tables.h +++ /dev/null @@ -1,72 +0,0 @@ -const struct MonCoords gTrainerBackPicCoords[] = -{ - [TRAINER_BACK_PIC_BRENDAN] = {.size = 8, .y_offset = 4}, - [TRAINER_BACK_PIC_MAY] = {.size = 8, .y_offset = 4}, - [TRAINER_BACK_PIC_RED] = {.size = 8, .y_offset = 5}, - [TRAINER_BACK_PIC_LEAF] = {.size = 8, .y_offset = 5}, - [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = {.size = 8, .y_offset = 4}, - [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = {.size = 8, .y_offset = 4}, - [TRAINER_BACK_PIC_WALLY] = {.size = 8, .y_offset = 4}, - [TRAINER_BACK_PIC_STEVEN] = {.size = 8, .y_offset = 4}, -}; - -// this table goes functionally unused, since none of these pics are compressed -// and the place they would get extracted to gets overwritten later anyway -// the casts are so they'll play nice with the strict struct definition -const struct CompressedSpriteSheet gTrainerBackPicTable[] = -{ - [TRAINER_BACK_PIC_BRENDAN] = { - .data = (const u32 *)gTrainerBackPic_Brendan, - .size = TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_Brendan), - .tag = TRAINER_BACK_PIC_BRENDAN, - }, - [TRAINER_BACK_PIC_MAY] = { - .data = (const u32 *)gTrainerBackPic_May, - .size = TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_May), - .tag = TRAINER_BACK_PIC_MAY, - }, - [TRAINER_BACK_PIC_RED] = { - .data = (const u32 *)gTrainerBackPic_Red, - .size = TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_Red), - .tag = TRAINER_BACK_PIC_RED, - }, - [TRAINER_BACK_PIC_LEAF] = { - .data = (const u32 *)gTrainerBackPic_Leaf, - .size = TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_Leaf), - .tag = TRAINER_BACK_PIC_LEAF, - }, - [TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN] = { - .data = (const u32 *)gTrainerBackPic_RubySapphireBrendan, - .size = TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_RubySapphireBrendan), - .tag = TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN, - }, - [TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY] = { - .data = (const u32 *)gTrainerBackPic_RubySapphireMay, - .size = TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_RubySapphireMay), - .tag = TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY, - }, - [TRAINER_BACK_PIC_WALLY] = { - .data = (const u32 *)gTrainerBackPic_Wally, - .size = TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_Wally), - .tag = TRAINER_BACK_PIC_WALLY, - }, - [TRAINER_BACK_PIC_STEVEN] = { - .data = (const u32 *)gTrainerBackPic_Steven, - .size = TRAINER_PIC_SIZE * ARRAY_COUNT(gTrainerBackPicTable_Steven), - .tag = TRAINER_BACK_PIC_STEVEN, - }, -}; - -#define TRAINER_BACK_PAL(trainerPic, pal) [TRAINER_BACK_PIC_##trainerPic] = {pal, TRAINER_BACK_PIC_##trainerPic} - -const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = -{ - TRAINER_BACK_PAL(BRENDAN, gTrainerPalette_Brendan), - TRAINER_BACK_PAL(MAY, gTrainerPalette_May), - TRAINER_BACK_PAL(RED, gTrainerBackPicPalette_Red), - TRAINER_BACK_PAL(LEAF, gTrainerBackPicPalette_Leaf), - TRAINER_BACK_PAL(RUBY_SAPPHIRE_BRENDAN, gTrainerPalette_RubySapphireBrendan), - TRAINER_BACK_PAL(RUBY_SAPPHIRE_MAY, gTrainerPalette_RubySapphireMay), - TRAINER_BACK_PAL(WALLY, gTrainerPalette_Wally), - TRAINER_BACK_PAL(STEVEN, gTrainerPalette_Steven), -}; diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h deleted file mode 100644 index f01394532a..0000000000 --- a/src/data/trainer_graphics/front_pic_anims.h +++ /dev/null @@ -1,468 +0,0 @@ -static const union AnimCmd *const sAnims_Hiker[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_AquaGruntM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PokemonBreederF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_CoolTrainerM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_BirdKeeper[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Collector[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_AquaGruntF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_SwimmerM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_MagmaGruntM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_ExpertM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_AquaAdminM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_BlackBelt[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_AquaAdminF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_AquaLeaderArchie[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_HexManiac[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_AromaLady[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_RuinManiac[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Interviewer[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_TuberF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_TuberM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_CoolTrainerF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Lady[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Beauty[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_RichBoy[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_ExpertF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Pokemaniac[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_MagmaGruntF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Guitarist[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Kindler[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Camper[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Picnicker[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_BugManiac[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PokemonBreederM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PsychicM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PsychicF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Gentleman[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_EliteFourSidney[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_EliteFourPhoebe[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_EliteFourGlacia[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_EliteFourDrake[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_LeaderRoxanne[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_LeaderBrawly[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_LeaderWattson[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_LeaderFlannery[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_LeaderNorman[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_LeaderWinona[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_LeaderTateAndLiza[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_LeaderJuan[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_SchoolKidM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_SchoolKidF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_SrAndJr[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PokefanM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PokefanF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Youngster[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_ChampionWallace[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Fisherman[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_CyclingTriathleteM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_CyclingTriathleteF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_RunningTriathleteM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_RunningTriathleteF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_SwimmingTriathleteM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_SwimmingTriathleteF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_DragonTamer[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_NinjaBoy[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_BattleGirl[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_ParasolLady[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_SwimmerF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Twins[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Sailor[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_MagmaAdmin[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Wally[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Brendan[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_May[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_BugCatcher[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PokemonRangerM[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PokemonRangerF[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_MagmaLeaderMaxie[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Lass[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_YoungCouple[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_OldCouple[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_SisAndBro[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Steven[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_SalonMaidenAnabel[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_DomeAceTucker[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PalaceMavenSpenser[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_ArenaTycoonGreta[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_FactoryHeadNoland[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PikeQueenLucy[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_PyramidKingBrandon[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Red[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_Leaf[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_RubySapphireBrendan[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_RubySapphireMay[] ={ - sAnim_GeneralFrame0, -}; - -const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] = -{ - [TRAINER_PIC_HIKER] = sAnims_Hiker, - [TRAINER_PIC_AQUA_GRUNT_M] = sAnims_AquaGruntM, - [TRAINER_PIC_POKEMON_BREEDER_F] = sAnims_PokemonBreederF, - [TRAINER_PIC_COOLTRAINER_M] = sAnims_CoolTrainerM, - [TRAINER_PIC_BIRD_KEEPER] = sAnims_BirdKeeper, - [TRAINER_PIC_COLLECTOR] = sAnims_Collector, - [TRAINER_PIC_AQUA_GRUNT_F] = sAnims_AquaGruntF, - [TRAINER_PIC_SWIMMER_M] = sAnims_SwimmerM, - [TRAINER_PIC_MAGMA_GRUNT_M] = sAnims_MagmaGruntM, - [TRAINER_PIC_EXPERT_M] = sAnims_ExpertM, - [TRAINER_PIC_AQUA_ADMIN_M] = sAnims_AquaAdminM, - [TRAINER_PIC_BLACK_BELT] = sAnims_BlackBelt, - [TRAINER_PIC_AQUA_ADMIN_F] = sAnims_AquaAdminF, - [TRAINER_PIC_AQUA_LEADER_ARCHIE] = sAnims_AquaLeaderArchie, - [TRAINER_PIC_HEX_MANIAC] = sAnims_HexManiac, - [TRAINER_PIC_AROMA_LADY] = sAnims_AromaLady, - [TRAINER_PIC_RUIN_MANIAC] = sAnims_RuinManiac, - [TRAINER_PIC_INTERVIEWER] = sAnims_Interviewer, - [TRAINER_PIC_TUBER_F] = sAnims_TuberF, - [TRAINER_PIC_TUBER_M] = sAnims_TuberM, - [TRAINER_PIC_COOLTRAINER_F] = sAnims_CoolTrainerF, - [TRAINER_PIC_LADY] = sAnims_Lady, - [TRAINER_PIC_BEAUTY] = sAnims_Beauty, - [TRAINER_PIC_RICH_BOY] = sAnims_RichBoy, - [TRAINER_PIC_EXPERT_F] = sAnims_ExpertF, - [TRAINER_PIC_POKEMANIAC] = sAnims_Pokemaniac, - [TRAINER_PIC_MAGMA_GRUNT_F] = sAnims_MagmaGruntF, - [TRAINER_PIC_GUITARIST] = sAnims_Guitarist, - [TRAINER_PIC_KINDLER] = sAnims_Kindler, - [TRAINER_PIC_CAMPER] = sAnims_Camper, - [TRAINER_PIC_PICNICKER] = sAnims_Picnicker, - [TRAINER_PIC_BUG_MANIAC] = sAnims_BugManiac, - [TRAINER_PIC_POKEMON_BREEDER_M] = sAnims_PokemonBreederM, - [TRAINER_PIC_PSYCHIC_M] = sAnims_PsychicM, - [TRAINER_PIC_PSYCHIC_F] = sAnims_PsychicF, - [TRAINER_PIC_GENTLEMAN] = sAnims_Gentleman, - [TRAINER_PIC_ELITE_FOUR_SIDNEY] = sAnims_EliteFourSidney, - [TRAINER_PIC_ELITE_FOUR_PHOEBE] = sAnims_EliteFourPhoebe, - [TRAINER_PIC_ELITE_FOUR_GLACIA] = sAnims_EliteFourGlacia, - [TRAINER_PIC_ELITE_FOUR_DRAKE] = sAnims_EliteFourDrake, - [TRAINER_PIC_LEADER_ROXANNE] = sAnims_LeaderRoxanne, - [TRAINER_PIC_LEADER_BRAWLY] = sAnims_LeaderBrawly, - [TRAINER_PIC_LEADER_WATTSON] = sAnims_LeaderWattson, - [TRAINER_PIC_LEADER_FLANNERY] = sAnims_LeaderFlannery, - [TRAINER_PIC_LEADER_NORMAN] = sAnims_LeaderNorman, - [TRAINER_PIC_LEADER_WINONA] = sAnims_LeaderWinona, - [TRAINER_PIC_LEADER_TATE_AND_LIZA] = sAnims_LeaderTateAndLiza, - [TRAINER_PIC_LEADER_JUAN] = sAnims_LeaderJuan, - [TRAINER_PIC_SCHOOL_KID_M] = sAnims_SchoolKidM, - [TRAINER_PIC_SCHOOL_KID_F] = sAnims_SchoolKidF, - [TRAINER_PIC_SR_AND_JR] = sAnims_SrAndJr, - [TRAINER_PIC_POKEFAN_M] = sAnims_PokefanM, - [TRAINER_PIC_POKEFAN_F] = sAnims_PokefanF, - [TRAINER_PIC_YOUNGSTER] = sAnims_Youngster, - [TRAINER_PIC_CHAMPION_WALLACE] = sAnims_ChampionWallace, - [TRAINER_PIC_FISHERMAN] = sAnims_Fisherman, - [TRAINER_PIC_CYCLING_TRIATHLETE_M] = sAnims_CyclingTriathleteM, - [TRAINER_PIC_CYCLING_TRIATHLETE_F] = sAnims_CyclingTriathleteF, - [TRAINER_PIC_RUNNING_TRIATHLETE_M] = sAnims_RunningTriathleteM, - [TRAINER_PIC_RUNNING_TRIATHLETE_F] = sAnims_RunningTriathleteF, - [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = sAnims_SwimmingTriathleteM, - [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = sAnims_SwimmingTriathleteF, - [TRAINER_PIC_DRAGON_TAMER] = sAnims_DragonTamer, - [TRAINER_PIC_NINJA_BOY] = sAnims_NinjaBoy, - [TRAINER_PIC_BATTLE_GIRL] = sAnims_BattleGirl, - [TRAINER_PIC_PARASOL_LADY] = sAnims_ParasolLady, - [TRAINER_PIC_SWIMMER_F] = sAnims_SwimmerF, - [TRAINER_PIC_TWINS] = sAnims_Twins, - [TRAINER_PIC_SAILOR] = sAnims_Sailor, - [TRAINER_PIC_MAGMA_ADMIN] = sAnims_MagmaAdmin, - [TRAINER_PIC_WALLY] = sAnims_Wally, - [TRAINER_PIC_BRENDAN] = sAnims_Brendan, - [TRAINER_PIC_MAY] = sAnims_May, - [TRAINER_PIC_BUG_CATCHER] = sAnims_BugCatcher, - [TRAINER_PIC_POKEMON_RANGER_M] = sAnims_PokemonRangerM, - [TRAINER_PIC_POKEMON_RANGER_F] = sAnims_PokemonRangerF, - [TRAINER_PIC_MAGMA_LEADER_MAXIE] = sAnims_MagmaLeaderMaxie, - [TRAINER_PIC_LASS] = sAnims_Lass, - [TRAINER_PIC_YOUNG_COUPLE] = sAnims_YoungCouple, - [TRAINER_PIC_OLD_COUPLE] = sAnims_OldCouple, - [TRAINER_PIC_SIS_AND_BRO] = sAnims_SisAndBro, - [TRAINER_PIC_STEVEN] = sAnims_Steven, - [TRAINER_PIC_SALON_MAIDEN_ANABEL] = sAnims_SalonMaidenAnabel, - [TRAINER_PIC_DOME_ACE_TUCKER] = sAnims_DomeAceTucker, - [TRAINER_PIC_PALACE_MAVEN_SPENSER] = sAnims_PalaceMavenSpenser, - [TRAINER_PIC_ARENA_TYCOON_GRETA] = sAnims_ArenaTycoonGreta, - [TRAINER_PIC_FACTORY_HEAD_NOLAND] = sAnims_FactoryHeadNoland, - [TRAINER_PIC_PIKE_QUEEN_LUCY] = sAnims_PikeQueenLucy, - [TRAINER_PIC_PYRAMID_KING_BRANDON] = sAnims_PyramidKingBrandon, - [TRAINER_PIC_RED] = sAnims_Red, - [TRAINER_PIC_LEAF] = sAnims_Leaf, - [TRAINER_PIC_RS_BRENDAN] = sAnims_RubySapphireBrendan, - [TRAINER_PIC_RS_MAY] = sAnims_RubySapphireMay, -}; diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h deleted file mode 100644 index dd4aa26de0..0000000000 --- a/src/data/trainer_graphics/front_pic_tables.h +++ /dev/null @@ -1,294 +0,0 @@ -const struct MonCoords gTrainerFrontPicCoords[] = -{ - [TRAINER_PIC_HIKER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_AQUA_GRUNT_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_POKEMON_BREEDER_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_COOLTRAINER_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_BIRD_KEEPER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_COLLECTOR] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_AQUA_GRUNT_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SWIMMER_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_MAGMA_GRUNT_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_EXPERT_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_AQUA_ADMIN_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_BLACK_BELT] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_AQUA_ADMIN_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_AQUA_LEADER_ARCHIE] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_HEX_MANIAC] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_AROMA_LADY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_RUIN_MANIAC] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_INTERVIEWER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_TUBER_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_TUBER_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_COOLTRAINER_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LADY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_BEAUTY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_RICH_BOY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_EXPERT_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_POKEMANIAC] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_MAGMA_GRUNT_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_GUITARIST] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_KINDLER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_CAMPER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_PICNICKER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_BUG_MANIAC] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_POKEMON_BREEDER_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_PSYCHIC_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_PSYCHIC_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_GENTLEMAN] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_ELITE_FOUR_SIDNEY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_ELITE_FOUR_PHOEBE] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_ELITE_FOUR_GLACIA] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_ELITE_FOUR_DRAKE] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LEADER_ROXANNE] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LEADER_BRAWLY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LEADER_WATTSON] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LEADER_FLANNERY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LEADER_NORMAN] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LEADER_WINONA] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LEADER_TATE_AND_LIZA] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LEADER_JUAN] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SCHOOL_KID_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SCHOOL_KID_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SR_AND_JR] = {.size = 8, .y_offset = 2}, - [TRAINER_PIC_POKEFAN_M] = {.size = 8, .y_offset = 2}, - [TRAINER_PIC_POKEFAN_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_YOUNGSTER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_CHAMPION_WALLACE] = {.size = 8, .y_offset = 2}, - [TRAINER_PIC_FISHERMAN] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_CYCLING_TRIATHLETE_M] = {.size = 8, .y_offset = 2}, - [TRAINER_PIC_CYCLING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_RUNNING_TRIATHLETE_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_RUNNING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_DRAGON_TAMER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_NINJA_BOY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_BATTLE_GIRL] = {.size = 8, .y_offset = 2}, - [TRAINER_PIC_PARASOL_LADY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SWIMMER_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_TWINS] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SAILOR] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_MAGMA_ADMIN] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_WALLY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_BRENDAN] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_MAY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_BUG_CATCHER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_POKEMON_RANGER_M] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_POKEMON_RANGER_F] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_MAGMA_LEADER_MAXIE] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LASS] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_YOUNG_COUPLE] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_OLD_COUPLE] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SIS_AND_BRO] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_STEVEN] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_SALON_MAIDEN_ANABEL] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_DOME_ACE_TUCKER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_PALACE_MAVEN_SPENSER] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_ARENA_TYCOON_GRETA] = {.size = 8, .y_offset = 2}, - [TRAINER_PIC_FACTORY_HEAD_NOLAND] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_PIKE_QUEEN_LUCY] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_PYRAMID_KING_BRANDON] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_RED] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_LEAF] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_RS_BRENDAN] = {.size = 8, .y_offset = 1}, - [TRAINER_PIC_RS_MAY] = {.size = 8, .y_offset = 1}, -}; - -#define TRAINER_SPRITE(trainerPic, sprite, size) [TRAINER_PIC_##trainerPic] = {sprite, size, TRAINER_PIC_##trainerPic} - -const struct CompressedSpriteSheet gTrainerFrontPicTable[] = -{ - TRAINER_SPRITE(HIKER, gTrainerFrontPic_Hiker, TRAINER_PIC_SIZE), - TRAINER_SPRITE(AQUA_GRUNT_M, gTrainerFrontPic_AquaGruntM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(POKEMON_BREEDER_F, gTrainerFrontPic_PokemonBreederF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(COOLTRAINER_M, gTrainerFrontPic_CoolTrainerM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(BIRD_KEEPER, gTrainerFrontPic_BirdKeeper, TRAINER_PIC_SIZE), - TRAINER_SPRITE(COLLECTOR, gTrainerFrontPic_Collector, TRAINER_PIC_SIZE), - TRAINER_SPRITE(AQUA_GRUNT_F, gTrainerFrontPic_AquaGruntF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SWIMMER_M, gTrainerFrontPic_SwimmerM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(MAGMA_GRUNT_M, gTrainerFrontPic_MagmaGruntM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(EXPERT_M, gTrainerFrontPic_ExpertM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(AQUA_ADMIN_M, gTrainerFrontPic_AquaAdminM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(BLACK_BELT, gTrainerFrontPic_BlackBelt, TRAINER_PIC_SIZE), - TRAINER_SPRITE(AQUA_ADMIN_F, gTrainerFrontPic_AquaAdminF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(AQUA_LEADER_ARCHIE, gTrainerFrontPic_AquaLeaderArchie, TRAINER_PIC_SIZE), - TRAINER_SPRITE(HEX_MANIAC, gTrainerFrontPic_HexManiac, TRAINER_PIC_SIZE), - TRAINER_SPRITE(AROMA_LADY, gTrainerFrontPic_AromaLady, TRAINER_PIC_SIZE), - TRAINER_SPRITE(RUIN_MANIAC, gTrainerFrontPic_RuinManiac, TRAINER_PIC_SIZE), - TRAINER_SPRITE(INTERVIEWER, gTrainerFrontPic_Interviewer, TRAINER_PIC_SIZE), - TRAINER_SPRITE(TUBER_F, gTrainerFrontPic_TuberF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(TUBER_M, gTrainerFrontPic_TuberM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(COOLTRAINER_F, gTrainerFrontPic_CoolTrainerF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LADY, gTrainerFrontPic_Lady, TRAINER_PIC_SIZE), - TRAINER_SPRITE(BEAUTY, gTrainerFrontPic_Beauty, TRAINER_PIC_SIZE), - TRAINER_SPRITE(RICH_BOY, gTrainerFrontPic_RichBoy, TRAINER_PIC_SIZE), - TRAINER_SPRITE(EXPERT_F, gTrainerFrontPic_ExpertF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(POKEMANIAC, gTrainerFrontPic_Pokemaniac, TRAINER_PIC_SIZE), - TRAINER_SPRITE(MAGMA_GRUNT_F, gTrainerFrontPic_MagmaGruntF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(GUITARIST, gTrainerFrontPic_Guitarist, TRAINER_PIC_SIZE), - TRAINER_SPRITE(KINDLER, gTrainerFrontPic_Kindler, TRAINER_PIC_SIZE), - TRAINER_SPRITE(CAMPER, gTrainerFrontPic_Camper, TRAINER_PIC_SIZE), - TRAINER_SPRITE(PICNICKER, gTrainerFrontPic_Picnicker, TRAINER_PIC_SIZE), - TRAINER_SPRITE(BUG_MANIAC, gTrainerFrontPic_BugManiac, TRAINER_PIC_SIZE), - TRAINER_SPRITE(POKEMON_BREEDER_M, gTrainerFrontPic_PokemonBreederM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(PSYCHIC_M, gTrainerFrontPic_PsychicM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(PSYCHIC_F, gTrainerFrontPic_PsychicF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(GENTLEMAN, gTrainerFrontPic_Gentleman, TRAINER_PIC_SIZE), - TRAINER_SPRITE(ELITE_FOUR_SIDNEY, gTrainerFrontPic_EliteFourSidney, TRAINER_PIC_SIZE), - TRAINER_SPRITE(ELITE_FOUR_PHOEBE, gTrainerFrontPic_EliteFourPhoebe, TRAINER_PIC_SIZE), - TRAINER_SPRITE(ELITE_FOUR_GLACIA, gTrainerFrontPic_EliteFourGlacia, TRAINER_PIC_SIZE), - TRAINER_SPRITE(ELITE_FOUR_DRAKE, gTrainerFrontPic_EliteFourDrake, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LEADER_ROXANNE, gTrainerFrontPic_LeaderRoxanne, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LEADER_BRAWLY, gTrainerFrontPic_LeaderBrawly, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LEADER_WATTSON, gTrainerFrontPic_LeaderWattson, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LEADER_FLANNERY, gTrainerFrontPic_LeaderFlannery, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LEADER_NORMAN, gTrainerFrontPic_LeaderNorman, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LEADER_WINONA, gTrainerFrontPic_LeaderWinona, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LEADER_TATE_AND_LIZA, gTrainerFrontPic_LeaderTateAndLiza, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LEADER_JUAN, gTrainerFrontPic_LeaderJuan, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SCHOOL_KID_M, gTrainerFrontPic_SchoolKidM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SCHOOL_KID_F, gTrainerFrontPic_SchoolKidF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SR_AND_JR, gTrainerFrontPic_SrAndJr, TRAINER_PIC_SIZE * 2), - TRAINER_SPRITE(POKEFAN_M, gTrainerFrontPic_PokefanM, TRAINER_PIC_SIZE * 2), - TRAINER_SPRITE(POKEFAN_F, gTrainerFrontPic_PokefanF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(YOUNGSTER, gTrainerFrontPic_Youngster, TRAINER_PIC_SIZE), - TRAINER_SPRITE(CHAMPION_WALLACE, gTrainerFrontPic_ChampionWallace, TRAINER_PIC_SIZE * 2), - TRAINER_SPRITE(FISHERMAN, gTrainerFrontPic_Fisherman, TRAINER_PIC_SIZE), - TRAINER_SPRITE(CYCLING_TRIATHLETE_M, gTrainerFrontPic_CyclingTriathleteM, TRAINER_PIC_SIZE * 2), - TRAINER_SPRITE(CYCLING_TRIATHLETE_F, gTrainerFrontPic_CyclingTriathleteF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(RUNNING_TRIATHLETE_M, gTrainerFrontPic_RunningTriathleteM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(RUNNING_TRIATHLETE_F, gTrainerFrontPic_RunningTriathleteF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SWIMMING_TRIATHLETE_M, gTrainerFrontPic_SwimmingTriathleteM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SWIMMING_TRIATHLETE_F, gTrainerFrontPic_SwimmingTriathleteF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(DRAGON_TAMER, gTrainerFrontPic_DragonTamer, TRAINER_PIC_SIZE), - TRAINER_SPRITE(NINJA_BOY, gTrainerFrontPic_NinjaBoy, TRAINER_PIC_SIZE), - TRAINER_SPRITE(BATTLE_GIRL, gTrainerFrontPic_BattleGirl, TRAINER_PIC_SIZE * 2), - TRAINER_SPRITE(PARASOL_LADY, gTrainerFrontPic_ParasolLady, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SWIMMER_F, gTrainerFrontPic_SwimmerF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(TWINS, gTrainerFrontPic_Twins, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SAILOR, gTrainerFrontPic_Sailor, TRAINER_PIC_SIZE), - TRAINER_SPRITE(MAGMA_ADMIN, gTrainerFrontPic_MagmaAdmin, TRAINER_PIC_SIZE), - TRAINER_SPRITE(WALLY, gTrainerFrontPic_Wally, TRAINER_PIC_SIZE), - TRAINER_SPRITE(BRENDAN, gTrainerFrontPic_Brendan, TRAINER_PIC_SIZE), - TRAINER_SPRITE(MAY, gTrainerFrontPic_May, TRAINER_PIC_SIZE), - TRAINER_SPRITE(BUG_CATCHER, gTrainerFrontPic_BugCatcher, TRAINER_PIC_SIZE), - TRAINER_SPRITE(POKEMON_RANGER_M, gTrainerFrontPic_PokemonRangerM, TRAINER_PIC_SIZE), - TRAINER_SPRITE(POKEMON_RANGER_F, gTrainerFrontPic_PokemonRangerF, TRAINER_PIC_SIZE), - TRAINER_SPRITE(MAGMA_LEADER_MAXIE, gTrainerFrontPic_MagmaLeaderMaxie, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LASS, gTrainerFrontPic_Lass, TRAINER_PIC_SIZE), - TRAINER_SPRITE(YOUNG_COUPLE, gTrainerFrontPic_YoungCouple, TRAINER_PIC_SIZE), - TRAINER_SPRITE(OLD_COUPLE, gTrainerFrontPic_OldCouple, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SIS_AND_BRO, gTrainerFrontPic_SisAndBro, TRAINER_PIC_SIZE), - TRAINER_SPRITE(STEVEN, gTrainerFrontPic_Steven, TRAINER_PIC_SIZE), - TRAINER_SPRITE(SALON_MAIDEN_ANABEL, gTrainerFrontPic_SalonMaidenAnabel, TRAINER_PIC_SIZE), - TRAINER_SPRITE(DOME_ACE_TUCKER, gTrainerFrontPic_DomeAceTucker, TRAINER_PIC_SIZE), - TRAINER_SPRITE(PALACE_MAVEN_SPENSER, gTrainerFrontPic_PalaceMavenSpenser, TRAINER_PIC_SIZE), - TRAINER_SPRITE(ARENA_TYCOON_GRETA, gTrainerFrontPic_ArenaTycoonGreta, TRAINER_PIC_SIZE * 2), - TRAINER_SPRITE(FACTORY_HEAD_NOLAND, gTrainerFrontPic_FactoryHeadNoland, TRAINER_PIC_SIZE), - TRAINER_SPRITE(PIKE_QUEEN_LUCY, gTrainerFrontPic_PikeQueenLucy, TRAINER_PIC_SIZE), - TRAINER_SPRITE(PYRAMID_KING_BRANDON, gTrainerFrontPic_PyramidKingBrandon, TRAINER_PIC_SIZE), - TRAINER_SPRITE(RED, gTrainerFrontPic_Red, TRAINER_PIC_SIZE), - TRAINER_SPRITE(LEAF, gTrainerFrontPic_Leaf, TRAINER_PIC_SIZE), - TRAINER_SPRITE(RS_BRENDAN, gTrainerFrontPic_RubySapphireBrendan, TRAINER_PIC_SIZE), - TRAINER_SPRITE(RS_MAY, gTrainerFrontPic_RubySapphireMay, TRAINER_PIC_SIZE), -}; - -#define TRAINER_PAL(trainerPic, pal) [TRAINER_PIC_##trainerPic] = {pal, TRAINER_PIC_##trainerPic} - -const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] = -{ - TRAINER_PAL(HIKER, gTrainerPalette_Hiker), - TRAINER_PAL(AQUA_GRUNT_M, gTrainerPalette_AquaGruntM), - TRAINER_PAL(POKEMON_BREEDER_F, gTrainerPalette_PokemonBreederF), - TRAINER_PAL(COOLTRAINER_M, gTrainerPalette_CoolTrainerM), - TRAINER_PAL(BIRD_KEEPER, gTrainerPalette_BirdKeeper), - TRAINER_PAL(COLLECTOR, gTrainerPalette_Collector), - TRAINER_PAL(AQUA_GRUNT_F, gTrainerPalette_AquaGruntF), - TRAINER_PAL(SWIMMER_M, gTrainerPalette_SwimmerM), - TRAINER_PAL(MAGMA_GRUNT_M, gTrainerPalette_MagmaGruntM), - TRAINER_PAL(EXPERT_M, gTrainerPalette_ExpertM), - TRAINER_PAL(AQUA_ADMIN_M, gTrainerPalette_AquaAdminM), - TRAINER_PAL(BLACK_BELT, gTrainerPalette_BlackBelt), - TRAINER_PAL(AQUA_ADMIN_F, gTrainerPalette_AquaAdminF), - TRAINER_PAL(AQUA_LEADER_ARCHIE, gTrainerPalette_AquaLeaderArchie), - TRAINER_PAL(HEX_MANIAC, gTrainerPalette_HexManiac), - TRAINER_PAL(AROMA_LADY, gTrainerPalette_AromaLady), - TRAINER_PAL(RUIN_MANIAC, gTrainerPalette_RuinManiac), - TRAINER_PAL(INTERVIEWER, gTrainerPalette_Interviewer), - TRAINER_PAL(TUBER_F, gTrainerPalette_TuberF), - TRAINER_PAL(TUBER_M, gTrainerPalette_TuberM), - TRAINER_PAL(COOLTRAINER_F, gTrainerPalette_CoolTrainerF), - TRAINER_PAL(LADY, gTrainerPalette_Lady), - TRAINER_PAL(BEAUTY, gTrainerPalette_Beauty), - TRAINER_PAL(RICH_BOY, gTrainerPalette_RichBoy), - TRAINER_PAL(EXPERT_F, gTrainerPalette_ExpertF), - TRAINER_PAL(POKEMANIAC, gTrainerPalette_Pokemaniac), - TRAINER_PAL(MAGMA_GRUNT_F, gTrainerPalette_MagmaGruntF), - TRAINER_PAL(GUITARIST, gTrainerPalette_Guitarist), - TRAINER_PAL(KINDLER, gTrainerPalette_Kindler), - TRAINER_PAL(CAMPER, gTrainerPalette_Camper), - TRAINER_PAL(PICNICKER, gTrainerPalette_Picnicker), - TRAINER_PAL(BUG_MANIAC, gTrainerPalette_BugManiac), - TRAINER_PAL(POKEMON_BREEDER_M, gTrainerPalette_PokemonBreederM), - TRAINER_PAL(PSYCHIC_M, gTrainerPalette_PsychicM), - TRAINER_PAL(PSYCHIC_F, gTrainerPalette_PsychicF), - TRAINER_PAL(GENTLEMAN, gTrainerPalette_Gentleman), - TRAINER_PAL(ELITE_FOUR_SIDNEY, gTrainerPalette_EliteFourSidney), - TRAINER_PAL(ELITE_FOUR_PHOEBE, gTrainerPalette_EliteFourPhoebe), - TRAINER_PAL(ELITE_FOUR_GLACIA, gTrainerPalette_EliteFourGlacia), - TRAINER_PAL(ELITE_FOUR_DRAKE, gTrainerPalette_EliteFourDrake), - TRAINER_PAL(LEADER_ROXANNE, gTrainerPalette_LeaderRoxanne), - TRAINER_PAL(LEADER_BRAWLY, gTrainerPalette_LeaderBrawly), - TRAINER_PAL(LEADER_WATTSON, gTrainerPalette_LeaderWattson), - TRAINER_PAL(LEADER_FLANNERY, gTrainerPalette_LeaderFlannery), - TRAINER_PAL(LEADER_NORMAN, gTrainerPalette_LeaderNorman), - TRAINER_PAL(LEADER_WINONA, gTrainerPalette_LeaderWinona), - TRAINER_PAL(LEADER_TATE_AND_LIZA, gTrainerPalette_LeaderTateAndLiza), - TRAINER_PAL(LEADER_JUAN, gTrainerPalette_LeaderJuan), - TRAINER_PAL(SCHOOL_KID_M, gTrainerPalette_SchoolKidM), - TRAINER_PAL(SCHOOL_KID_F, gTrainerPalette_SchoolKidF), - TRAINER_PAL(SR_AND_JR, gTrainerPalette_SrAndJr), - TRAINER_PAL(POKEFAN_M, gTrainerPalette_PokefanM), - TRAINER_PAL(POKEFAN_F, gTrainerPalette_PokefanF), - TRAINER_PAL(YOUNGSTER, gTrainerPalette_Youngster), - TRAINER_PAL(CHAMPION_WALLACE, gTrainerPalette_ChampionWallace), - TRAINER_PAL(FISHERMAN, gTrainerPalette_Fisherman), - TRAINER_PAL(CYCLING_TRIATHLETE_M, gTrainerPalette_CyclingTriathleteM), - TRAINER_PAL(CYCLING_TRIATHLETE_F, gTrainerPalette_CyclingTriathleteF), - TRAINER_PAL(RUNNING_TRIATHLETE_M, gTrainerPalette_RunningTriathleteM), - TRAINER_PAL(RUNNING_TRIATHLETE_F, gTrainerPalette_RunningTriathleteF), - TRAINER_PAL(SWIMMING_TRIATHLETE_M, gTrainerPalette_SwimmingTriathleteM), - TRAINER_PAL(SWIMMING_TRIATHLETE_F, gTrainerPalette_SwimmingTriathleteF), - TRAINER_PAL(DRAGON_TAMER, gTrainerPalette_DragonTamer), - TRAINER_PAL(NINJA_BOY, gTrainerPalette_NinjaBoy), - TRAINER_PAL(BATTLE_GIRL, gTrainerPalette_BattleGirl), - TRAINER_PAL(PARASOL_LADY, gTrainerPalette_ParasolLady), - TRAINER_PAL(SWIMMER_F, gTrainerPalette_SwimmerF), - TRAINER_PAL(TWINS, gTrainerPalette_Twins), - TRAINER_PAL(SAILOR, gTrainerPalette_Sailor), - TRAINER_PAL(MAGMA_ADMIN, gTrainerPalette_MagmaAdmin), - TRAINER_PAL(WALLY, gTrainerPalette_Wally), - TRAINER_PAL(BRENDAN, gTrainerPalette_Brendan), - TRAINER_PAL(MAY, gTrainerPalette_May), - TRAINER_PAL(BUG_CATCHER, gTrainerPalette_BugCatcher), - TRAINER_PAL(POKEMON_RANGER_M, gTrainerPalette_PokemonRangerM), - TRAINER_PAL(POKEMON_RANGER_F, gTrainerPalette_PokemonRangerF), - TRAINER_PAL(MAGMA_LEADER_MAXIE, gTrainerPalette_MagmaLeaderMaxie), - TRAINER_PAL(LASS, gTrainerPalette_Lass), - TRAINER_PAL(YOUNG_COUPLE, gTrainerPalette_YoungCouple), - TRAINER_PAL(OLD_COUPLE, gTrainerPalette_OldCouple), - TRAINER_PAL(SIS_AND_BRO, gTrainerPalette_SisAndBro), - TRAINER_PAL(STEVEN, gTrainerPalette_Steven), - TRAINER_PAL(SALON_MAIDEN_ANABEL, gTrainerPalette_SalonMaidenAnabel), - TRAINER_PAL(DOME_ACE_TUCKER, gTrainerPalette_DomeAceTucker), - TRAINER_PAL(PALACE_MAVEN_SPENSER, gTrainerPalette_PalaceMavenSpenser), - TRAINER_PAL(ARENA_TYCOON_GRETA, gTrainerPalette_ArenaTycoonGreta), - TRAINER_PAL(FACTORY_HEAD_NOLAND, gTrainerPalette_FactoryHeadNoland), - TRAINER_PAL(PIKE_QUEEN_LUCY, gTrainerPalette_PikeQueenLucy), - TRAINER_PAL(PYRAMID_KING_BRANDON, gTrainerPalette_PyramidKingBrandon), - TRAINER_PAL(RED, gTrainerPalette_Red), - TRAINER_PAL(LEAF, gTrainerPalette_Leaf), - TRAINER_PAL(RS_BRENDAN, gTrainerPalette_RubySapphireBrendan), - TRAINER_PAL(RS_MAY, gTrainerPalette_RubySapphireMay), -}; diff --git a/src/field_effect.c b/src/field_effect.c index be5b2c8820..5d0ba3a50d 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1,4 +1,5 @@ #include "global.h" +#include "data.h" #include "decompress.h" #include "event_object_movement.h" #include "field_camera.h" @@ -243,8 +244,6 @@ static void UseVsSeeker_CleanUpFieldEffect(struct Task *task); static u8 sActiveList[32]; // External declarations -extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern u8 *gFieldEffectScriptPointers[]; extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; @@ -894,10 +893,10 @@ bool8 FieldEffectActiveListContains(u8 id) u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer) { struct SpriteTemplate spriteTemplate; - LoadCompressedSpritePaletteOverrideBuffer(&gTrainerFrontPicPaletteTable[trainerSpriteID], buffer); - LoadCompressedSpriteSheetOverrideBuffer(&gTrainerFrontPicTable[trainerSpriteID], buffer); - spriteTemplate.tileTag = gTrainerFrontPicTable[trainerSpriteID].tag; - spriteTemplate.paletteTag = gTrainerFrontPicPaletteTable[trainerSpriteID].tag; + LoadCompressedSpritePaletteOverrideBuffer(&gTrainerSprites[trainerSpriteID].palette, buffer); + LoadCompressedSpriteSheetOverrideBuffer(&gTrainerSprites[trainerSpriteID].frontPic, buffer); + spriteTemplate.tileTag = gTrainerSprites[trainerSpriteID].frontPic.tag; + spriteTemplate.paletteTag = gTrainerSprites[trainerSpriteID].palette.tag; spriteTemplate.oam = &sOam_64x64; spriteTemplate.anims = gDummySpriteAnimTable; spriteTemplate.images = NULL; @@ -908,8 +907,8 @@ u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buf static void UNUSED LoadTrainerGfx_TrainerCard(u8 gender, u16 palOffset, u8 *dest) { - LZDecompressVram(gTrainerFrontPicTable[gender].data, dest); - LoadCompressedPalette(gTrainerFrontPicPaletteTable[gender].data, palOffset, PLTT_SIZE_4BPP); + LZDecompressVram(gTrainerSprites[gender].frontPic.data, dest); + LoadCompressedPalette(gTrainerSprites[gender].palette.data, palOffset, PLTT_SIZE_4BPP); } u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority) diff --git a/src/pokemon.c b/src/pokemon.c index 721a998bef..f89a37c61e 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1844,7 +1844,7 @@ void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerPicId, u8 battlerPosition if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) { gMultiuseSpriteTemplate = sTrainerBackSpriteTemplates[trainerPicId]; - gMultiuseSpriteTemplate.anims = gTrainerBackAnimsPtrTable[trainerPicId]; + gMultiuseSpriteTemplate.anims = gTrainerBacksprites[trainerPicId].animation; } else { @@ -1852,7 +1852,7 @@ void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerPicId, u8 battlerPosition gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; else gMultiuseSpriteTemplate = gBattlerSpriteTemplates[battlerPosition]; - gMultiuseSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[trainerPicId]; + gMultiuseSpriteTemplate.anims = gTrainerSprites[trainerPicId].animation; } } @@ -1864,7 +1864,7 @@ void SetMultiuseSpriteTemplateToTrainerFront(u16 trainerPicId, u8 battlerPositio gMultiuseSpriteTemplate = gBattlerSpriteTemplates[battlerPosition]; gMultiuseSpriteTemplate.paletteTag = trainerPicId; - gMultiuseSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[trainerPicId]; + gMultiuseSpriteTemplate.anims = gTrainerSprites[trainerPicId].animation; } static void EncryptBoxMon(struct BoxPokemon *boxMon) diff --git a/src/pokenav_match_call_gfx.c b/src/pokenav_match_call_gfx.c index d28d4a276e..594b4d83d4 100755 --- a/src/pokenav_match_call_gfx.c +++ b/src/pokenav_match_call_gfx.c @@ -1247,8 +1247,8 @@ static void LoadCheckPageTrainerPic(struct Pokenav_MatchCallGfx *gfx) int trainerPic = GetMatchCallTrainerPic(PokenavList_GetSelectedIndex()); if (trainerPic >= 0) { - DecompressPicFromTable(&gTrainerFrontPicTable[trainerPic], gfx->trainerPicGfx); - LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerPic].data, gfx->trainerPicPal); + DecompressPicFromTable(&gTrainerSprites[trainerPic].frontPic, gfx->trainerPicGfx); + LZ77UnCompWram(gTrainerSprites[trainerPic].palette.data, gfx->trainerPicPal); cursor = RequestDma3Copy(gfx->trainerPicGfx, gfx->trainerPicGfxPtr, sizeof(gfx->trainerPicGfx), 1); LoadPalette(gfx->trainerPicPal, gfx->trainerPicPalOffset, sizeof(gfx->trainerPicPal)); gfx->trainerPicSprite->data[0] = 0; diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 82d8542152..87f639194c 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -235,7 +235,7 @@ void CreateBattlerSprite(u32 battler) { SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT)); gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50, - (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80, + (8 - gTrainerBacksprites[gSaveBlock2Ptr->playerGender].coordinates.size) * 4 + 80, GetBattlerSpriteSubpriority(0)); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; @@ -245,7 +245,7 @@ void CreateBattlerSprite(u32 battler) { SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(0)); gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50, - (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size) * 4 + 80, + (8 - gTrainerBacksprites[TRAINER_BACK_PIC_WALLY].coordinates.size) * 4 + 80, GetBattlerSpriteSubpriority(0)); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 8b7d1bbdea..6ffbc836d7 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -66,9 +66,9 @@ static bool16 DecompressPic(u16 species, u32 personality, bool8 isFrontPic, u8 * else { if (isFrontPic) - DecompressPicFromTable(&gTrainerFrontPicTable[species], dest); + DecompressPicFromTable(&gTrainerSprites[species].frontPic, dest); else - DecompressPicFromTable(&gTrainerBackPicTable[species], dest); + DecompressPicFromTable(&gTrainerBacksprites[species].backPic, dest); } return FALSE; } @@ -93,12 +93,12 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8 if (paletteTag == TAG_NONE) { sCreatingSpriteTemplate.paletteTag = TAG_NONE; - LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); + LoadCompressedPalette(gTrainerSprites[species].palette.data, OBJ_PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } else { sCreatingSpriteTemplate.paletteTag = paletteTag; - LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[species]); + LoadCompressedSpritePalette(&gTrainerSprites[species].palette); } } } @@ -108,7 +108,7 @@ static void LoadPicPaletteBySlot(u16 species, u32 otId, u32 personality, u8 pale if (!isTrainer) LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, otId, personality), PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); else - LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); + LoadCompressedPalette(gTrainerSprites[species].palette.data, PLTT_ID(paletteSlot), PLTT_SIZE_4BPP); } static void AssignSpriteAnimsTable(bool8 isTrainer) @@ -116,7 +116,7 @@ static void AssignSpriteAnimsTable(bool8 isTrainer) if (!isTrainer) sCreatingSpriteTemplate.anims = gAnims_MonPic; else - sCreatingSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[0]; + sCreatingSpriteTemplate.anims = gTrainerSprites[0].animation; } static u16 CreatePicSprite(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag, bool8 isTrainer)