Unified loading of mon palettes
This commit is contained in:
parent
5233d0dc97
commit
47578fc666
2 changed files with 7 additions and 43 deletions
|
@ -5362,30 +5362,13 @@ const u32 *GetMonFrontSpritePal(struct Pokemon *mon)
|
||||||
|
|
||||||
const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, bool32 isShiny, u32 personality)
|
const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, bool32 isShiny, u32 personality)
|
||||||
{
|
{
|
||||||
species = SanitizeSpeciesId(species);
|
return GetMonSpritePalFromSpecies(species, isShiny, IsPersonalityFemale(species, personality));
|
||||||
|
|
||||||
if (isShiny)
|
|
||||||
{
|
|
||||||
if (gSpeciesInfo[species].shinyPaletteFemale != NULL && IsPersonalityFemale(species, personality))
|
|
||||||
return gSpeciesInfo[species].shinyPaletteFemale;
|
|
||||||
else if (gSpeciesInfo[species].shinyPalette != NULL)
|
|
||||||
return gSpeciesInfo[species].shinyPalette;
|
|
||||||
else
|
|
||||||
return gSpeciesInfo[SPECIES_NONE].shinyPalette;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (gSpeciesInfo[species].paletteFemale != NULL && IsPersonalityFemale(species, personality))
|
|
||||||
return gSpeciesInfo[species].paletteFemale;
|
|
||||||
else if (gSpeciesInfo[species].palette != NULL)
|
|
||||||
return gSpeciesInfo[species].palette;
|
|
||||||
else
|
|
||||||
return gSpeciesInfo[SPECIES_NONE].palette;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const u32 *GetMonSpritePalFromSpecies(u16 species, bool32 isShiny, bool32 isFemale)
|
const u32 *GetMonSpritePalFromSpecies(u16 species, bool32 isShiny, bool32 isFemale)
|
||||||
{
|
{
|
||||||
|
species = SanitizeSpeciesId(species);
|
||||||
|
|
||||||
if (isShiny)
|
if (isShiny)
|
||||||
{
|
{
|
||||||
if (gSpeciesInfo[species].shinyPaletteFemale != NULL && isFemale)
|
if (gSpeciesInfo[species].shinyPaletteFemale != NULL && isFemale)
|
||||||
|
|
|
@ -682,31 +682,12 @@ static void UpdateBattlerValue(struct PokemonDebugMenu *data)
|
||||||
|
|
||||||
static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bool8 isShiny, u8 battlerId)
|
static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bool8 isShiny, u8 battlerId)
|
||||||
{
|
{
|
||||||
const void *lzPaletteData;
|
const u32 *lzPaletteData = GetMonSpritePalFromSpecies(species, isShiny, isFemale);
|
||||||
u16 paletteOffset = 0x100 + battlerId * 16;;
|
u16 paletteOffset = OBJ_PLTT_ID(battlerId);
|
||||||
|
|
||||||
if (isShiny)
|
|
||||||
{
|
|
||||||
if (gSpeciesInfo[species].shinyPaletteFemale != NULL && isFemale)
|
|
||||||
lzPaletteData = gSpeciesInfo[species].shinyPaletteFemale;
|
|
||||||
else if (gSpeciesInfo[species].shinyPalette != NULL)
|
|
||||||
lzPaletteData = gSpeciesInfo[species].shinyPalette;
|
|
||||||
else
|
|
||||||
lzPaletteData = gSpeciesInfo[SPECIES_NONE].shinyPalette;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (gSpeciesInfo[species].paletteFemale != NULL && isFemale)
|
|
||||||
lzPaletteData = gSpeciesInfo[species].paletteFemale;
|
|
||||||
else if (gSpeciesInfo[species].palette != NULL)
|
|
||||||
lzPaletteData = gSpeciesInfo[species].palette;
|
|
||||||
else
|
|
||||||
lzPaletteData = gSpeciesInfo[SPECIES_NONE].palette;
|
|
||||||
}
|
|
||||||
|
|
||||||
LZDecompressWram(lzPaletteData, gDecompressionBuffer);
|
LZDecompressWram(lzPaletteData, gDecompressionBuffer);
|
||||||
LoadPalette(gDecompressionBuffer, paletteOffset, 0x20);
|
LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP);
|
||||||
LoadPalette(gDecompressionBuffer, 0x80 + battlerId * 16, 0x20);
|
LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void SetConstSpriteValues(struct PokemonDebugMenu *data)
|
static void SetConstSpriteValues(struct PokemonDebugMenu *data)
|
||||||
|
|
Loading…
Reference in a new issue