Sync DRAW_SPINDA_SPOTS from pokeemerald
This commit is contained in:
+1
-1
@@ -407,7 +407,7 @@ u16 NationalPokedexNumToSpecies(u16 nationalNum);
|
|||||||
u16 SpeciesToNationalPokedexNum(u16 species);
|
u16 SpeciesToNationalPokedexNum(u16 species);
|
||||||
u16 HoennToNationalOrder(u16 hoennNum);
|
u16 HoennToNationalOrder(u16 hoennNum);
|
||||||
u16 SpeciesToCryId(u16 species);
|
u16 SpeciesToCryId(u16 species);
|
||||||
void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4);
|
void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, bool8 isFrontPic);
|
||||||
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
|
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
|
||||||
bool8 GetPlayerFlankId(void);
|
bool8 GetPlayerFlankId(void);
|
||||||
bool16 GetLinkTrainerFlankId(u8 linkPlayerId);
|
bool16 GetLinkTrainerFlankId(u8 linkPlayerId);
|
||||||
|
|||||||
+50
-83
@@ -5099,96 +5099,63 @@ u16 SpeciesToCryId(u16 species)
|
|||||||
return sHoennSpeciesIdToCryId[species - ((SPECIES_OLD_UNOWN_Z + 1) - 1)];
|
return sHoennSpeciesIdToCryId[species - ((SPECIES_OLD_UNOWN_Z + 1) - 1)];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8043338(u16 species, u32 personality, u8 *dest)
|
#define DRAW_SPINDA_SPOTS \
|
||||||
|
{ \
|
||||||
|
int i; \
|
||||||
|
for (i = 0; i < 4; i++) \
|
||||||
|
{ \
|
||||||
|
int j; \
|
||||||
|
u8 x = sSpindaSpotGraphics[i].x + ((personality & 0x0F) - 8); \
|
||||||
|
u8 y = sSpindaSpotGraphics[i].y + (((personality & 0xF0) >> 4) - 8); \
|
||||||
|
\
|
||||||
|
for (j = 0; j < 16; j++) \
|
||||||
|
{ \
|
||||||
|
int k; \
|
||||||
|
s32 row = sSpindaSpotGraphics[i].image[j]; \
|
||||||
|
\
|
||||||
|
for (k = x; k < x + 16; k++) \
|
||||||
|
{ \
|
||||||
|
u8 *val = dest + ((k / 8) * 32) + \
|
||||||
|
((k % 8) / 2) + \
|
||||||
|
((y >> 3) << 8) + \
|
||||||
|
((y & 7) << 2); \
|
||||||
|
\
|
||||||
|
if (row & 1) \
|
||||||
|
{ \
|
||||||
|
if (k & 1) \
|
||||||
|
{ \
|
||||||
|
if ((u8)((*val & 0xF0) - 0x10) <= 0x20) \
|
||||||
|
*val += 0x40; \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
if ((u8)((*val & 0xF) - 0x01) <= 0x02) \
|
||||||
|
*val += 0x04; \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
\
|
||||||
|
row >>= 1; \
|
||||||
|
} \
|
||||||
|
\
|
||||||
|
y++; \
|
||||||
|
} \
|
||||||
|
\
|
||||||
|
personality >>= 8; \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
static void DrawSpindaSpotsUnused(u16 species, u32 personality, u8 *dest)
|
||||||
{
|
{
|
||||||
if (species == SPECIES_SPINDA
|
if (species == SPECIES_SPINDA
|
||||||
&& dest != gMonSpritesGfxPtr->sprites[0]
|
&& dest != gMonSpritesGfxPtr->sprites[0]
|
||||||
&& dest != gMonSpritesGfxPtr->sprites[2])
|
&& dest != gMonSpritesGfxPtr->sprites[2])
|
||||||
{
|
DRAW_SPINDA_SPOTS;
|
||||||
int i;
|
|
||||||
for (i = 0; i < 4; i++)
|
|
||||||
{
|
|
||||||
int j;
|
|
||||||
u8 x = sSpindaSpotGraphics[i].x + ((personality & 0x0F) - 8);
|
|
||||||
u8 y = sSpindaSpotGraphics[i].y + (((personality & 0xF0) >> 4) - 8);
|
|
||||||
|
|
||||||
for (j = 0; j < 16; j++)
|
|
||||||
{
|
|
||||||
int k;
|
|
||||||
s32 row = sSpindaSpotGraphics[i].image[j];
|
|
||||||
|
|
||||||
for (k = x; k < x + 16; k++)
|
|
||||||
{
|
|
||||||
u8 *val = dest + ((k / 8) * 32) + ((k % 8) / 2) + ((y >> 3) << 8) + ((y & 7) << 2);
|
|
||||||
|
|
||||||
if (row & 1)
|
|
||||||
{
|
|
||||||
if (k & 1)
|
|
||||||
{
|
|
||||||
if ((u8)((*val & 0xF0) - 0x10) <= 0x20)
|
|
||||||
*val += 0x40;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ((u8)((*val & 0xF) - 0x01) <= 0x02)
|
|
||||||
*val += 0x04;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
row >>= 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
y++;
|
|
||||||
}
|
|
||||||
|
|
||||||
personality >>= 8;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4)
|
void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, bool8 isFrontPic)
|
||||||
{
|
{
|
||||||
if (species == SPECIES_SPINDA && a4)
|
if (species == SPECIES_SPINDA && isFrontPic)
|
||||||
{
|
DRAW_SPINDA_SPOTS;
|
||||||
int i;
|
|
||||||
for (i = 0; i < 4; i++)
|
|
||||||
{
|
|
||||||
int j;
|
|
||||||
u8 x = sSpindaSpotGraphics[i].x + ((personality & 0x0F) - 8);
|
|
||||||
u8 y = sSpindaSpotGraphics[i].y + (((personality & 0xF0) >> 4) - 8);
|
|
||||||
|
|
||||||
for (j = 0; j < 16; j++)
|
|
||||||
{
|
|
||||||
int k;
|
|
||||||
s32 row = sSpindaSpotGraphics[i].image[j];
|
|
||||||
|
|
||||||
for (k = x; k < x + 16; k++)
|
|
||||||
{
|
|
||||||
u8 *val = dest + ((k / 8) * 32) + ((k % 8) / 2) + ((y >> 3) << 8) + ((y & 7) << 2);
|
|
||||||
|
|
||||||
if (row & 1)
|
|
||||||
{
|
|
||||||
if (k & 1)
|
|
||||||
{
|
|
||||||
if ((u8)((*val & 0xF0) - 0x10) <= 0x20)
|
|
||||||
*val += 0x40;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ((u8)((*val & 0xF) - 0x01) <= 0x02)
|
|
||||||
*val += 0x04;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
row >>= 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
y++;
|
|
||||||
}
|
|
||||||
|
|
||||||
personality >>= 8;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies)
|
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies)
|
||||||
|
|||||||
Reference in New Issue
Block a user