mirror of
https://github.com/rh-hideout/pokeemerald-expansion.git
synced 2026-03-21 18:04:50 -05:00
fix tag collisions
This commit is contained in:
parent
f34a3e9453
commit
002b6d4bbe
|
|
@ -14,9 +14,9 @@ bool8 IsBattleSEPlaying(enum BattlerId battler);
|
|||
void BattleLoadMonSpriteGfx(struct Pokemon *mon, enum BattlerId battler);
|
||||
void DecompressGhostFrontPic(u32 battler);
|
||||
void BattleGfxSfxDummy2(u16 species);
|
||||
void DecompressTrainerFrontPic(u16 frontPicId, enum BattlerId battler);
|
||||
void DecompressTrainerBackPic(enum TrainerPicID backPicId, enum BattlerId battler);
|
||||
void FreeTrainerFrontPicPalette(u16 frontPicId);
|
||||
void DecompressTrainerFrontPic(enum TrainerPicID trainerPicId, enum BattlerId battler);
|
||||
void DecompressTrainerBackPic(enum TrainerPicID trainerPicId, enum BattlerId battler);
|
||||
void FreeTrainerFrontPicPalette(enum TrainerPicID trainerPicId);
|
||||
bool8 BattleLoadAllHealthBoxesGfx(u8 state);
|
||||
void LoadBattleBarGfx(u8 unused);
|
||||
bool8 BattleInitAllSprites(u8 *state1, u8 *battler);
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ void ReturnToFieldFromFlyMapSelect(void);
|
|||
void FieldCallback_UseFly(void);
|
||||
u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority);
|
||||
void FieldEffectStop(struct Sprite *sprite, u8 id);
|
||||
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
|
||||
u8 CreateTrainerSprite(enum TrainerPicID trainerPicId, s16 x, s16 y, u8 subpriority, u8 *buffer);
|
||||
void FldEff_TeleportWarpOut(void);
|
||||
void FieldEffectActiveListRemove(u8 id);
|
||||
void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
|
||||
|
|
|
|||
|
|
@ -6,4 +6,10 @@
|
|||
|
||||
enum TrainerPicID GetPlayerTrainerPic(enum Gender gender, enum GameVersion version);
|
||||
|
||||
|
||||
static inline u16 GetTrainerPicTag(enum TrainerPicID trainerPicId, bool32 isFrontPic)
|
||||
{
|
||||
return isFrontPic ? trainerPicId : TRAINER_PIC_COUNT + trainerPicId;
|
||||
}
|
||||
|
||||
#endif // GUARD_TRAINER_H
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include "task.h"
|
||||
#include "test_runner.h"
|
||||
#include "text.h"
|
||||
#include "trainer.h"
|
||||
#include "util.h"
|
||||
#include "wild_encounter.h"
|
||||
#include "constants/abilities.h"
|
||||
|
|
@ -2433,7 +2434,7 @@ void BtlController_HandleDrawTrainerPic(enum BattlerId battler, enum TrainerPicI
|
|||
yPos,
|
||||
subpriority);
|
||||
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(trainerPicId);
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(GetTrainerPicTag(trainerPicId, TRUE));
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x2 = -DISPLAY_WIDTH;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].sSpeedX = 2;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.affineParam = trainerPicId;
|
||||
|
|
@ -2451,7 +2452,7 @@ void BtlController_HandleDrawTrainerPic(enum BattlerId battler, enum TrainerPicI
|
|||
yPos,
|
||||
subpriority);
|
||||
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(trainerPicId);
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(GetTrainerPicTag(trainerPicId, TRUE));
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.affineMode = ST_OAM_AFFINE_OFF;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].hFlip = 1;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].y2 = 48;
|
||||
|
|
@ -2471,7 +2472,7 @@ void BtlController_HandleDrawTrainerPic(enum BattlerId battler, enum TrainerPicI
|
|||
|
||||
// Sets sprite priority to 1 so mons don't remain in foreground
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.priority = 1;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(trainerPicId);
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(GetTrainerPicTag(trainerPicId, FALSE));
|
||||
}
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x2 = DISPLAY_WIDTH;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].sSpeedX = -2;
|
||||
|
|
@ -2498,7 +2499,7 @@ void BtlController_HandleTrainerSlide(enum BattlerId battler, enum TrainerPicID
|
|||
gBattlerSpriteIds[battler] = gBattleStruct->trainerSlideSpriteIds[battler];
|
||||
// Sets sprite priority to 1 so mons don't remain in foreground
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.priority = 1;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(trainerPicId);
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(GetTrainerPicTag(trainerPicId, FALSE));
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x2 = -96;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].sSpeedX = 2;
|
||||
}
|
||||
|
|
@ -2508,7 +2509,7 @@ void BtlController_HandleTrainerSlide(enum BattlerId battler, enum TrainerPicID
|
|||
SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(battler));
|
||||
gBattleStruct->trainerSlideSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 176, 40, 0);
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.affineParam = trainerPicId;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(trainerPicId);
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(GetTrainerPicTag(trainerPicId, TRUE));
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x2 = 96;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].x += 32;
|
||||
gSprites[gBattleStruct->trainerSlideSpriteIds[battler]].sSpeedX = -2;
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
#include "data.h"
|
||||
#include "palette.h"
|
||||
#include "contest.h"
|
||||
#include "trainer.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/rgb.h"
|
||||
|
|
@ -689,23 +690,23 @@ void BattleGfxSfxDummy2(u16 species)
|
|||
{
|
||||
}
|
||||
|
||||
void DecompressTrainerFrontPic(u16 frontPicId, enum BattlerId battler)
|
||||
void DecompressTrainerFrontPic(enum TrainerPicID trainerPicId, enum BattlerId battler)
|
||||
{
|
||||
enum BattlerPosition position = GetBattlerPosition(battler);
|
||||
DecompressDataWithHeaderWram(GetTrainerFrontPicData(frontPicId), gMonSpritesGfxPtr->spritesGfx[position]);
|
||||
LoadSpritePaletteWithTag(GetTrainerFrontPicPalette(frontPicId), frontPicId);
|
||||
DecompressDataWithHeaderWram(GetTrainerFrontPicData(trainerPicId), gMonSpritesGfxPtr->spritesGfx[position]);
|
||||
LoadSpritePaletteWithTag(GetTrainerFrontPicPalette(trainerPicId), GetTrainerPicTag(trainerPicId, TRUE));
|
||||
}
|
||||
|
||||
void DecompressTrainerBackPic(enum TrainerPicID backPicId, enum BattlerId battler)
|
||||
void DecompressTrainerBackPic(enum TrainerPicID trainerPicId, enum BattlerId battler)
|
||||
{
|
||||
enum BattlerPosition position = GetBattlerPosition(battler);
|
||||
CopyTrainerBackspriteFramesToDest(backPicId, gMonSpritesGfxPtr->spritesGfx[position]);
|
||||
LoadSpritePaletteWithTag(GetTrainerBackPicPalette(backPicId), backPicId);
|
||||
CopyTrainerBackspriteFramesToDest(trainerPicId, gMonSpritesGfxPtr->spritesGfx[position]);
|
||||
LoadSpritePaletteWithTag(GetTrainerBackPicPalette(trainerPicId), GetTrainerPicTag(trainerPicId, FALSE));
|
||||
}
|
||||
|
||||
void FreeTrainerFrontPicPalette(u16 frontPicId)
|
||||
void FreeTrainerFrontPicPalette(enum TrainerPicID trainerPicId)
|
||||
{
|
||||
FreeSpritePaletteByTag(frontPicId);
|
||||
FreeSpritePaletteByTag(GetTrainerPicTag(trainerPicId, TRUE));
|
||||
}
|
||||
|
||||
// Unused.
|
||||
|
|
|
|||
|
|
@ -2583,9 +2583,9 @@ static void Mugshots_CreateTrainerPics(struct Task *task)
|
|||
{
|
||||
struct Sprite *opponentSpriteA, *opponentSpriteB=0, *playerSprite, *partnerSprite=0;
|
||||
|
||||
u8 trainerAPicId = GetTrainerPicFromId(TRAINER_BATTLE_PARAM.opponentA);
|
||||
u8 trainerBPicId = GetTrainerPicFromId(TRAINER_BATTLE_PARAM.opponentB);
|
||||
u8 partnerPicId = GetTrainerPicFromId(gPartnerTrainerId);
|
||||
enum TrainerPicID trainerAPicId = GetTrainerPicFromId(TRAINER_BATTLE_PARAM.opponentA);
|
||||
enum TrainerPicID trainerBPicId = GetTrainerPicFromId(TRAINER_BATTLE_PARAM.opponentB);
|
||||
enum TrainerPicID partnerPicId = GetTrainerPicFromId(gPartnerTrainerId);
|
||||
struct Coords16 mugshotCoordsA = GetTrainerFrontPicMugshotCoords(trainerAPicId);
|
||||
s16 opponentARotationScales = 0;
|
||||
s16 opponentBRotationScales = 0;
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
#include "sound.h"
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
#include "trainer.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "trig.h"
|
||||
#include "util.h"
|
||||
|
|
@ -976,7 +977,7 @@ bool8 FieldEffectActiveListContains(u8 id)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer)
|
||||
u8 CreateTrainerSprite(enum TrainerPicID trainerPicId, s16 x, s16 y, u8 subpriority, u8 *buffer)
|
||||
{
|
||||
struct CompressedSpriteSheet spriteSheet;
|
||||
struct SpriteTemplate spriteTemplate;
|
||||
|
|
@ -989,17 +990,17 @@ u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buf
|
|||
alloced = TRUE;
|
||||
}
|
||||
|
||||
spriteSheet.data = GetTrainerFrontPicData(trainerSpriteID);
|
||||
spriteSheet.data = GetTrainerFrontPicData(trainerPicId);
|
||||
spriteSheet.size = TRAINER_PIC_SIZE;
|
||||
spriteSheet.tag = trainerSpriteID;
|
||||
spriteSheet.tag = GetTrainerPicTag(trainerPicId, TRUE);
|
||||
|
||||
LoadSpritePaletteWithTag(GetTrainerFrontPicPalette(trainerSpriteID), trainerSpriteID);
|
||||
LoadSpritePaletteWithTag(GetTrainerFrontPicPalette(trainerPicId), GetTrainerPicTag(trainerPicId, TRUE));
|
||||
LoadCompressedSpriteSheetOverrideBuffer(&spriteSheet, buffer);
|
||||
if (alloced)
|
||||
Free(buffer);
|
||||
|
||||
spriteTemplate.tileTag = trainerSpriteID;
|
||||
spriteTemplate.paletteTag = trainerSpriteID;
|
||||
spriteTemplate.tileTag = GetTrainerPicTag(trainerPicId, TRUE);
|
||||
spriteTemplate.paletteTag = GetTrainerPicTag(trainerPicId, TRUE);
|
||||
spriteTemplate.oam = &sOam_64x64;
|
||||
spriteTemplate.anims = gDummySpriteAnimTable;
|
||||
spriteTemplate.images = NULL;
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@
|
|||
#include "task.h"
|
||||
#include "test_runner.h"
|
||||
#include "text.h"
|
||||
#include "trainer.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "util.h"
|
||||
#include "constants/abilities.h"
|
||||
|
|
@ -2342,7 +2343,7 @@ void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, enum BattlerPosition bat
|
|||
|
||||
void SetMultiuseSpriteTemplateToTrainerBack(enum TrainerPicID trainerPicId, enum BattlerPosition battlerPosition)
|
||||
{
|
||||
gMultiuseSpriteTemplate.paletteTag = trainerPicId;
|
||||
gMultiuseSpriteTemplate.paletteTag = GetTrainerPicTag(trainerPicId, FALSE);
|
||||
if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT)
|
||||
{
|
||||
gMultiuseSpriteTemplate = sTrainerBackSpriteTemplate;
|
||||
|
|
@ -2366,7 +2367,7 @@ void SetMultiuseSpriteTemplateToTrainerFront(enum TrainerPicID trainerPicId, enu
|
|||
else
|
||||
gMultiuseSpriteTemplate = gBattlerSpriteTemplates[battlerPosition];
|
||||
|
||||
gMultiuseSpriteTemplate.paletteTag = trainerPicId;
|
||||
gMultiuseSpriteTemplate.paletteTag = GetTrainerPicTag(trainerPicId, TRUE);
|
||||
gMultiuseSpriteTemplate.anims = gAnims_Trainer;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -335,7 +335,7 @@ void CreateBattlerSprite(enum BattlerId battler)
|
|||
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50,
|
||||
(8 - GetTrainerBackPicCoords(trainerPicId)->size) * 4 + 80,
|
||||
GetBattlerSpriteSubpriority(0));
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(trainerPicId);
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(GetTrainerPicTag(trainerPicId, FALSE));
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
}
|
||||
|
|
@ -345,7 +345,7 @@ void CreateBattlerSprite(enum BattlerId battler)
|
|||
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50,
|
||||
(8 - GetTrainerBackPicCoords(CATCH_TUTORIAL_TRAINER_PIC)->size) * 4 + 80,
|
||||
GetBattlerSpriteSubpriority(0));
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(CATCH_TUTORIAL_TRAINER_PIC);
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(GetTrainerPicTag(CATCH_TUTORIAL_TRAINER_PIC, FALSE));
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "malloc.h"
|
||||
#include "palette.h"
|
||||
#include "decompress.h"
|
||||
#include "trainer.h"
|
||||
#include "trainer_pokemon_sprites.h"
|
||||
#include "data.h"
|
||||
#include "pokemon.h"
|
||||
|
|
@ -100,7 +101,7 @@ static void LoadPicPaletteByTagOrSlot(u16 species, bool8 isShiny, u32 personalit
|
|||
else
|
||||
{
|
||||
sCreatingSpriteTemplate.paletteTag = paletteTag;
|
||||
LoadSpritePaletteWithTag(GetTrainerFrontPicPalette(species), species);
|
||||
LoadSpritePaletteWithTag(GetTrainerFrontPicPalette(species), GetTrainerPicTag(species, TRUE));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user