diff --git a/graphics/pokemon/cherrim/anim_front.png b/graphics/pokemon/cherrim/normal/anim_front.png similarity index 100% rename from graphics/pokemon/cherrim/anim_front.png rename to graphics/pokemon/cherrim/normal/anim_front.png diff --git a/graphics/pokemon/cherrim/back.png b/graphics/pokemon/cherrim/normal/back.png similarity index 100% rename from graphics/pokemon/cherrim/back.png rename to graphics/pokemon/cherrim/normal/back.png diff --git a/graphics/pokemon/cherrim/front.png b/graphics/pokemon/cherrim/normal/front.png similarity index 100% rename from graphics/pokemon/cherrim/front.png rename to graphics/pokemon/cherrim/normal/front.png diff --git a/graphics/pokemon/cherrim/icon.png b/graphics/pokemon/cherrim/normal/icon.png similarity index 100% rename from graphics/pokemon/cherrim/icon.png rename to graphics/pokemon/cherrim/normal/icon.png diff --git a/graphics/pokemon/cherrim/normal.pal b/graphics/pokemon/cherrim/normal/normal.pal similarity index 100% rename from graphics/pokemon/cherrim/normal.pal rename to graphics/pokemon/cherrim/normal/normal.pal diff --git a/graphics/pokemon/cherrim/shiny.pal b/graphics/pokemon/cherrim/normal/shiny.pal similarity index 100% rename from graphics/pokemon/cherrim/shiny.pal rename to graphics/pokemon/cherrim/normal/shiny.pal diff --git a/graphics/pokemon/cherrim/sun/back.png b/graphics/pokemon/cherrim/sun/back.png new file mode 100644 index 0000000000..5df400429c Binary files /dev/null and b/graphics/pokemon/cherrim/sun/back.png differ diff --git a/graphics/pokemon/cherrim/sun/front.png b/graphics/pokemon/cherrim/sun/front.png new file mode 100644 index 0000000000..42c7893893 Binary files /dev/null and b/graphics/pokemon/cherrim/sun/front.png differ diff --git a/graphics/pokemon/cherrim/sun/normal.pal b/graphics/pokemon/cherrim/sun/normal.pal new file mode 100644 index 0000000000..434b8ec780 --- /dev/null +++ b/graphics/pokemon/cherrim/sun/normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +88 48 56 +152 80 88 +248 192 184 +16 16 16 +192 120 128 +248 168 160 +248 96 128 +248 224 240 +120 104 40 +208 176 80 +248 224 136 +40 112 48 +48 160 56 +200 56 104 +120 96 40 diff --git a/graphics/pokemon/cherrim/sun/shiny.pal b/graphics/pokemon/cherrim/sun/shiny.pal new file mode 100644 index 0000000000..636edb2602 --- /dev/null +++ b/graphics/pokemon/cherrim/sun/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +152 208 160 +112 40 56 +192 88 120 +248 232 232 +16 16 16 +224 128 184 +240 176 216 +224 136 176 +248 224 240 +160 88 32 +248 168 56 +248 208 120 +0 96 16 +24 144 56 +192 88 120 +160 88 32 diff --git a/include/constants/species.h b/include/constants/species.h index cde0daa398..f49e73c639 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -911,6 +911,9 @@ #define SPECIES_UNOWN_EMARK NUM_SPECIES + 27 #define SPECIES_UNOWN_QMARK NUM_SPECIES + 28 +// Cherrim's sun form, not an actual species, just a different sprite. +#define SPECIES_CHERRIM_SUN NUM_SPECIES + 29 + // National Dex Index Defines #define NATIONAL_DEX_NONE 0 diff --git a/include/graphics.h b/include/graphics.h index 2fab2911df..cf3c4b4de9 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -489,7 +489,8 @@ extern const u32 gMonFrontPic_Pachirisu[]; extern const u32 gMonFrontPic_Buizel[]; extern const u32 gMonFrontPic_Floatzel[]; extern const u32 gMonFrontPic_Cherubi[]; -extern const u32 gMonFrontPic_Cherrim[]; +extern const u32 gMonFrontPic_CherrimNormal[]; +extern const u32 gMonFrontPic_CherrimSun[]; extern const u32 gMonFrontPic_ShellosE[]; extern const u32 gMonFrontPic_GastrodonE[]; extern const u32 gMonFrontPic_Ambipom[]; @@ -1336,7 +1337,8 @@ extern const u32 gMonBackPic_Pachirisu[]; extern const u32 gMonBackPic_Buizel[]; extern const u32 gMonBackPic_Floatzel[]; extern const u32 gMonBackPic_Cherubi[]; -extern const u32 gMonBackPic_Cherrim[]; +extern const u32 gMonBackPic_CherrimNormal[]; +extern const u32 gMonBackPic_CherrimSun[]; extern const u32 gMonBackPic_ShellosE[]; extern const u32 gMonBackPic_GastrodonE[]; extern const u32 gMonBackPic_Ambipom[]; @@ -2157,7 +2159,8 @@ extern const u32 gMonPalette_Pachirisu[]; extern const u32 gMonPalette_Buizel[]; extern const u32 gMonPalette_Floatzel[]; extern const u32 gMonPalette_Cherubi[]; -extern const u32 gMonPalette_Cherrim[]; +extern const u32 gMonPalette_CherrimNormal[]; +extern const u32 gMonPalette_CherrimSun[]; extern const u32 gMonPalette_ShellosE[]; extern const u32 gMonPalette_GastrodonE[]; extern const u32 gMonPalette_Ambipom[]; @@ -2977,7 +2980,8 @@ extern const u32 gMonShinyPalette_Pachirisu[]; extern const u32 gMonShinyPalette_Buizel[]; extern const u32 gMonShinyPalette_Floatzel[]; extern const u32 gMonShinyPalette_Cherubi[]; -extern const u32 gMonShinyPalette_Cherrim[]; +extern const u32 gMonShinyPalette_CherrimNormal[]; +extern const u32 gMonShinyPalette_CherrimSun[]; extern const u32 gMonShinyPalette_ShellosE[]; extern const u32 gMonShinyPalette_GastrodonE[]; extern const u32 gMonShinyPalette_Ambipom[]; diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 08e1547daa..617936fb40 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -452,7 +452,8 @@ const u32 gMonFrontPic_Pachirisu[] = INCBIN_U32("graphics/pokemon/pachirisu/anim const u32 gMonFrontPic_Buizel[] = INCBIN_U32("graphics/pokemon/buizel/anim_front.4bpp.lz"); const u32 gMonFrontPic_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/anim_front.4bpp.lz"); const u32 gMonFrontPic_Cherubi[] = INCBIN_U32("graphics/pokemon/cherubi/anim_front.4bpp.lz"); -const u32 gMonFrontPic_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/anim_front.4bpp.lz"); +const u32 gMonFrontPic_CherrimNormal[] = INCBIN_U32("graphics/pokemon/cherrim/normal/anim_front.4bpp.lz"); +const u32 gMonFrontPic_CherrimSun[] = INCBIN_U32("graphics/pokemon/cherrim/sun/front.4bpp.lz"); const u32 gMonFrontPic_ShellosE[] = INCBIN_U32("graphics/pokemon/shellosE/anim_front.4bpp.lz"); const u32 gMonFrontPic_GastrodonE[] = INCBIN_U32("graphics/pokemon/gastrodonE/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ambipom[] = INCBIN_U32("graphics/pokemon/ambipom/anim_front.4bpp.lz"); @@ -1299,7 +1300,8 @@ const u32 gMonBackPic_Pachirisu[] = INCBIN_U32("graphics/pokemon/pachirisu/back. const u32 gMonBackPic_Buizel[] = INCBIN_U32("graphics/pokemon/buizel/back.4bpp.lz"); const u32 gMonBackPic_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/back.4bpp.lz"); const u32 gMonBackPic_Cherubi[] = INCBIN_U32("graphics/pokemon/cherubi/back.4bpp.lz"); -const u32 gMonBackPic_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/back.4bpp.lz"); +const u32 gMonBackPic_CherrimNormal[] = INCBIN_U32("graphics/pokemon/cherrim/normal/back.4bpp.lz"); +const u32 gMonBackPic_CherrimSun[] = INCBIN_U32("graphics/pokemon/cherrim/sun/back.4bpp.lz"); const u32 gMonBackPic_ShellosE[] = INCBIN_U32("graphics/pokemon/shellosE/back.4bpp.lz"); const u32 gMonBackPic_GastrodonE[] = INCBIN_U32("graphics/pokemon/gastrodonE/back.4bpp.lz"); const u32 gMonBackPic_Ambipom[] = INCBIN_U32("graphics/pokemon/ambipom/back.4bpp.lz"); @@ -2120,7 +2122,8 @@ const u32 gMonPalette_Pachirisu[] = INCBIN_U32("graphics/pokemon/pachirisu/norma const u32 gMonPalette_Buizel[] = INCBIN_U32("graphics/pokemon/buizel/normal.gbapal.lz"); const u32 gMonPalette_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/normal.gbapal.lz"); const u32 gMonPalette_Cherubi[] = INCBIN_U32("graphics/pokemon/cherubi/normal.gbapal.lz"); -const u32 gMonPalette_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/normal.gbapal.lz"); +const u32 gMonPalette_CherrimNormal[] = INCBIN_U32("graphics/pokemon/cherrim/normal/normal.gbapal.lz"); +const u32 gMonPalette_CherrimSun[] = INCBIN_U32("graphics/pokemon/cherrim/sun/normal.gbapal.lz"); const u32 gMonPalette_ShellosE[] = INCBIN_U32("graphics/pokemon/shellosE/normal.gbapal.lz"); const u32 gMonPalette_GastrodonE[] = INCBIN_U32("graphics/pokemon/gastrodonE/normal.gbapal.lz"); const u32 gMonPalette_Ambipom[] = INCBIN_U32("graphics/pokemon/ambipom/normal.gbapal.lz"); @@ -2940,7 +2943,8 @@ const u32 gMonShinyPalette_Pachirisu[] = INCBIN_U32("graphics/pokemon/pachirisu/ const u32 gMonShinyPalette_Buizel[] = INCBIN_U32("graphics/pokemon/buizel/shiny.gbapal.lz"); const u32 gMonShinyPalette_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/shiny.gbapal.lz"); const u32 gMonShinyPalette_Cherubi[] = INCBIN_U32("graphics/pokemon/cherubi/shiny.gbapal.lz"); -const u32 gMonShinyPalette_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/shiny.gbapal.lz"); +const u32 gMonShinyPalette_CherrimNormal[] = INCBIN_U32("graphics/pokemon/cherrim/normal/shiny.gbapal.lz"); +const u32 gMonShinyPalette_CherrimSun[] = INCBIN_U32("graphics/pokemon/cherrim/sun/shiny.gbapal.lz"); const u32 gMonShinyPalette_ShellosE[] = INCBIN_U32("graphics/pokemon/shellosE/shiny.gbapal.lz"); const u32 gMonShinyPalette_GastrodonE[] = INCBIN_U32("graphics/pokemon/gastrodonE/shiny.gbapal.lz"); const u32 gMonShinyPalette_Ambipom[] = INCBIN_U32("graphics/pokemon/ambipom/shiny.gbapal.lz"); @@ -3988,7 +3992,7 @@ const u8 gMonIcon_Pachirisu[] = INCBIN_U8("graphics/pokemon/pachirisu/icon.4bpp" const u8 gMonIcon_Buizel[] = INCBIN_U8("graphics/pokemon/buizel/icon.4bpp"); const u8 gMonIcon_Floatzel[] = INCBIN_U8("graphics/pokemon/floatzel/icon.4bpp"); const u8 gMonIcon_Cherubi[] = INCBIN_U8("graphics/pokemon/cherubi/icon.4bpp"); -const u8 gMonIcon_Cherrim[] = INCBIN_U8("graphics/pokemon/cherrim/icon.4bpp"); +const u8 gMonIcon_Cherrim[] = INCBIN_U8("graphics/pokemon/cherrim/normal/icon.4bpp"); const u8 gMonIcon_Shellos[] = INCBIN_U8("graphics/pokemon/shellosE/icon.4bpp"); const u8 gMonIcon_Gastrodon[] = INCBIN_U8("graphics/pokemon/gastrodonE/icon.4bpp"); const u8 gMonIcon_Ambipom[] = INCBIN_U8("graphics/pokemon/ambipom/icon.4bpp"); diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 03c48d9aa4..9d384b8e05 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -425,7 +425,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(BUIZEL, gMonBackPic_Buizel), SPECIES_SPRITE(FLOATZEL, gMonBackPic_Floatzel), SPECIES_SPRITE(CHERUBI, gMonBackPic_Cherubi), - SPECIES_SPRITE(CHERRIM, gMonBackPic_Cherrim), + SPECIES_SPRITE(CHERRIM, gMonBackPic_CherrimNormal), SPECIES_SPRITE(SHELLOS, gMonBackPic_ShellosE), SPECIES_SPRITE(GASTRODON, gMonBackPic_GastrodonE), SPECIES_SPRITE(AMBIPOM, gMonBackPic_Ambipom), @@ -899,4 +899,6 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(UNOWN_Z, gMonBackPic_UnownZ), SPECIES_SPRITE(UNOWN_EMARK, gMonBackPic_UnownExclamationMark), SPECIES_SPRITE(UNOWN_QMARK, gMonBackPic_UnownQuestionMark), + + SPECIES_SPRITE(CHERRIM_SUN, gMonBackPic_CherrimSun), }; diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index e7e130bc35..b38b4609f0 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -5109,6 +5109,12 @@ static const union AnimCmd sAnim_CHERRIM_1[] = ANIMCMD_END, }; +static const union AnimCmd sAnim_CHERRIM_SUN[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + static const union AnimCmd sAnim_SHELLOS_1[] = { ANIMCMD_FRAME(0, 30), @@ -10497,6 +10503,7 @@ static const union AnimCmd *const sAnims_CHERUBI[] ={ static const union AnimCmd *const sAnims_CHERRIM[] ={ sAnim_GeneralFrame0, sAnim_CHERRIM_1, + sAnim_CHERRIM_SUN, }; static const union AnimCmd *const sAnims_SHELLOS[] ={ diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 86efa56dc3..f514b9397d 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -425,7 +425,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(BUIZEL, gMonFrontPic_Buizel), SPECIES_SPRITE(FLOATZEL, gMonFrontPic_Floatzel), SPECIES_SPRITE(CHERUBI, gMonFrontPic_Cherubi), - SPECIES_SPRITE(CHERRIM, gMonFrontPic_Cherrim), + SPECIES_SPRITE(CHERRIM, gMonFrontPic_CherrimNormal), SPECIES_SPRITE(SHELLOS, gMonFrontPic_ShellosE), SPECIES_SPRITE(GASTRODON, gMonFrontPic_GastrodonE), SPECIES_SPRITE(AMBIPOM, gMonFrontPic_Ambipom), @@ -899,4 +899,6 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(UNOWN_Z, gMonFrontPic_UnownZ), SPECIES_SPRITE(UNOWN_EMARK, gMonFrontPic_UnownExclamationMark), SPECIES_SPRITE(UNOWN_QMARK, gMonFrontPic_UnownQuestionMark), + + SPECIES_SPRITE(CHERRIM_SUN, gMonFrontPic_CherrimSun), }; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 5f6d202f8e..055fc9db0a 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -425,7 +425,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(BUIZEL, gMonPalette_Buizel), SPECIES_PAL(FLOATZEL, gMonPalette_Floatzel), SPECIES_PAL(CHERUBI, gMonPalette_Cherubi), - SPECIES_PAL(CHERRIM, gMonPalette_Cherrim), + SPECIES_PAL(CHERRIM, gMonPalette_CherrimNormal), SPECIES_PAL(SHELLOS, gMonPalette_ShellosE), SPECIES_PAL(GASTRODON, gMonPalette_GastrodonE), SPECIES_PAL(AMBIPOM, gMonPalette_Ambipom), @@ -899,4 +899,6 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(UNOWN_Z, gMonPalette_Unown), SPECIES_PAL(UNOWN_EMARK, gMonPalette_Unown), SPECIES_PAL(UNOWN_QMARK, gMonPalette_Unown), + + SPECIES_PAL(CHERRIM_SUN, gMonPalette_CherrimSun), }; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index 2a9578e620..8145c20807 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -425,7 +425,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(BUIZEL, gMonShinyPalette_Buizel), SPECIES_SHINY_PAL(FLOATZEL, gMonShinyPalette_Floatzel), SPECIES_SHINY_PAL(CHERUBI, gMonShinyPalette_Cherubi), - SPECIES_SHINY_PAL(CHERRIM, gMonShinyPalette_Cherrim), + SPECIES_SHINY_PAL(CHERRIM, gMonShinyPalette_CherrimNormal), SPECIES_SHINY_PAL(SHELLOS, gMonShinyPalette_ShellosE), SPECIES_SHINY_PAL(GASTRODON, gMonShinyPalette_GastrodonE), SPECIES_SHINY_PAL(AMBIPOM, gMonShinyPalette_Ambipom), @@ -899,4 +899,6 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(UNOWN_Z, gMonShinyPalette_Unown), SPECIES_SHINY_PAL(UNOWN_EMARK, gMonShinyPalette_Unown), SPECIES_SHINY_PAL(UNOWN_QMARK, gMonShinyPalette_Unown), + + SPECIES_SHINY_PAL(CHERRIM_SUN, gMonShinyPalette_CherrimSun), };