diff --git a/graphics/pokemon/eevee/backf.png b/graphics/pokemon/eevee/backf.png new file mode 100644 index 000000000..7689d995b Binary files /dev/null and b/graphics/pokemon/eevee/backf.png differ diff --git a/include/data.h b/include/data.h index 544bbfd1d..f10770a1f 100644 --- a/include/data.h +++ b/include/data.h @@ -93,6 +93,7 @@ extern const union AnimCmd *const gUnknown_082FF70C[]; extern const struct MonCoords gMonFrontPicCoords[]; extern const struct MonCoords gMonBackPicCoords[]; extern const struct CompressedSpriteSheet gMonBackPicTable[]; +extern const struct CompressedSpriteSheet gMonBackPicTableFemale[]; extern const struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gMonShinyPaletteTable[]; extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; diff --git a/include/graphics.h b/include/graphics.h index 856c06ef1..4eeb5fbcf 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -1020,6 +1020,7 @@ extern const u32 gMonBackPic_Gyarados[]; extern const u32 gMonBackPic_Lapras[]; extern const u32 gMonBackPic_Ditto[]; extern const u32 gMonBackPic_Eevee[]; +extern const u32 gMonBackPic_EeveeF[]; extern const u32 gMonBackPic_Vaporeon[]; extern const u32 gMonBackPic_Jolteon[]; extern const u32 gMonBackPic_Flareon[]; diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index ce501b3db..e5325be40 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -983,6 +983,7 @@ const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/back.4b const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back.4bpp.lz"); const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back.4bpp.lz"); const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back.4bpp.lz"); +const u32 gMonBackPic_EeveeF[] = INCBIN_U32("graphics/pokemon/eevee/backf.4bpp.lz"); const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/vaporeon/back.4bpp.lz"); const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/jolteon/back.4bpp.lz"); const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/flareon/back.4bpp.lz"); diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 14c8a29f8..0589e7f45 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -943,3 +943,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(UNOWN_EMARK, gMonBackPic_UnownExclamationMark), SPECIES_SPRITE(UNOWN_QMARK, gMonBackPic_UnownQuestionMark), }; + +const struct CompressedSpriteSheet gMonBackPicTableFemale[] = +{ + SPECIES_SPRITE(EEVEE, gMonBackPic_EeveeF), +}; diff --git a/src/decompress.c b/src/decompress.c index c40d32d4f..a7b783b78 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -95,6 +95,13 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 } else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); + else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + { + if (isFrontPic) + LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest); + else + LZ77UnCompWram(gMonBackPicTableFemale[species].data, dest); + } else LZ77UnCompWram(src->data, dest); @@ -311,6 +318,13 @@ void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s } else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); + else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + { + if (isFrontPic) + LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest); + else + LZ77UnCompWram(gMonBackPicTableFemale[species].data, dest); + } else LZ77UnCompWram(src->data, dest); @@ -364,7 +378,12 @@ void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) - LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest); + { + if (isFrontPic) + LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest); + else + LZ77UnCompWram(gMonBackPicTableFemale[species].data, dest); + } else LZ77UnCompWram(src->data, dest);