Merge branch 'master' of github.com:pret/pokeemerald into trade

This commit is contained in:
Diegoisawesome
2018-12-18 19:31:04 -06:00
59 changed files with 11858 additions and 23135 deletions
+2 -2
View File
@@ -1656,7 +1656,7 @@ static void ScriptCmd_createsprite(void)
else
argVar *= -1;
subpriority = GetBattlerSubpriority(gBattleAnimTarget) + (s8)(argVar);
subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) + (s8)(argVar);
}
else
{
@@ -1665,7 +1665,7 @@ static void ScriptCmd_createsprite(void)
else
argVar *= -1;
subpriority = GetBattlerSubpriority(gBattleAnimAttacker) + (s8)(argVar);
subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) + (s8)(argVar);
}
if (subpriority < 3)
+165 -160
View File
@@ -40,18 +40,17 @@ void sub_80A7144(struct Sprite *sprite);
void sub_80A791C(struct Sprite *sprite);
void sub_80A8DFC(struct Sprite *sprite);
void sub_80A8E88(struct Sprite *sprite);
void sub_80A7E6C(u8 spriteId);
u16 sub_80A7F18(u8 spriteId);
void SetBattlerSpriteYOffsetFromYScale(u8 spriteId);
u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
void AnimTask_BlendMonInAndOutSetup(struct Task *task);
void sub_80A7AFC(u8 taskId);
void sub_80A8CAC(u8 taskId);
void AnimTask_BlendMonInAndOutStep(u8 taskId);
bool8 sub_80A7238(void);
u8 GetBattlerSubpriority(u8 battlerId);
void sub_80A8D78(struct Task *task, u8 taskId);
// EWRAM vars
EWRAM_DATA static union AffineAnimCmd *gUnknown_02038444 = NULL;
EWRAM_DATA static union AffineAnimCmd *gAnimTaskAffineAnim = NULL;
// Const rom data
static const struct UCoords8 sBattlerCoords[][4] =
@@ -124,8 +123,7 @@ static const struct SpriteSheet sUnknown_08525FC0[] =
{ gMiscBlank_Gfx, 0x800, 55126, },
};
// code
u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId)
u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
{
u8 retVal;
u16 species;
@@ -133,11 +131,11 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId)
if (IsContest())
{
if (attributeId == BATTLER_COORD_3 && battlerId == 3)
attributeId = BATTLER_COORD_Y;
if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battlerId == 3)
coordType = BATTLER_COORD_Y;
}
switch (attributeId)
switch (coordType)
{
case BATTLER_COORD_X:
case BATTLER_COORD_X_2:
@@ -146,15 +144,15 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId)
case BATTLER_COORD_Y:
retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y;
break;
case BATTLER_COORD_3:
case BATTLER_COORD_4:
case BATTLER_COORD_Y_PIC_OFFSET:
case BATTLER_COORD_Y_PIC_OFFSET_DEFAULT:
default:
if (IsContest())
{
if (shared19348.unk4_0)
species = shared19348.unk2;
if (gContestResources->field_18->unk4_0)
species = gContestResources->field_18->unk2;
else
species = shared19348.species;
species = gContestResources->field_18->species;
}
else
{
@@ -175,7 +173,7 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId)
species = spriteInfo[battlerId].transformSpecies;
}
}
if (attributeId == BATTLER_COORD_3)
if (coordType == BATTLER_COORD_Y_PIC_OFFSET)
retVal = GetBattlerSpriteFinal_Y(battlerId, species, TRUE);
else
retVal = GetBattlerSpriteFinal_Y(battlerId, species, FALSE);
@@ -199,10 +197,10 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species)
{
if (IsContest())
{
if (shared19348.unk4_0)
personality = shared19348.unk10;
if (gContestResources->field_18->unk4_0)
personality = gContestResources->field_18->unk10;
else
personality = shared19348.unk8;
personality = gContestResources->field_18->unk8;
}
else
{
@@ -307,19 +305,19 @@ u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3)
return y;
}
u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId)
u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType)
{
u16 species;
struct BattleSpriteInfo *spriteInfo;
if (attributeId == BATTLER_COORD_3 || attributeId == BATTLER_COORD_4)
if (coordType == BATTLER_COORD_Y_PIC_OFFSET || coordType == BATTLER_COORD_Y_PIC_OFFSET_DEFAULT)
{
if (IsContest())
{
if (shared19348.unk4_0)
species = shared19348.unk2;
if (gContestResources->field_18->unk4_0)
species = gContestResources->field_18->unk2;
else
species = shared19348.species;
species = gContestResources->field_18->species;
}
else
{
@@ -329,20 +327,20 @@ u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId)
else
species = spriteInfo[battlerId].transformSpecies;
}
if (attributeId == BATTLER_COORD_3)
if (coordType == BATTLER_COORD_Y_PIC_OFFSET)
return GetBattlerSpriteFinal_Y(battlerId, species, TRUE);
else
return GetBattlerSpriteFinal_Y(battlerId, species, FALSE);
}
else
{
return GetBattlerSpriteCoord(battlerId, attributeId);
return GetBattlerSpriteCoord(battlerId, coordType);
}
}
u8 GetBattlerSpriteDefault_Y(u8 battlerId)
{
return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_4);
return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT);
}
u8 GetSubstituteSpriteDefault_Y(u8 battlerId)
@@ -386,11 +384,11 @@ u8 GetBattlerYCoordWithElevation(u8 battlerId)
return y;
}
u8 GetAnimBattlerSpriteId(u8 which)
u8 GetAnimBattlerSpriteId(u8 animBattler)
{
u8 *sprites;
if (which == ANIM_ATTACKER)
if (animBattler == ANIM_ATTACKER)
{
if (IsBattlerSpritePresent(gBattleAnimAttacker))
{
@@ -402,7 +400,7 @@ u8 GetAnimBattlerSpriteId(u8 which)
return 0xff;
}
}
else if (which == ANIM_TARGET)
else if (animBattler == ANIM_TARGET)
{
if (IsBattlerSpritePresent(gBattleAnimTarget))
{
@@ -414,7 +412,7 @@ u8 GetAnimBattlerSpriteId(u8 which)
return 0xff;
}
}
else if (which == ANIM_ATK_PARTNER)
else if (animBattler == ANIM_ATK_PARTNER)
{
if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
return 0xff;
@@ -442,7 +440,7 @@ void SetCallbackToStoredInData6(struct Sprite *sprite)
sprite->callback = (void (*)(struct Sprite *))callback;
}
void sub_80A62EC(struct Sprite *sprite)
void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
{
if (sprite->data[3])
{
@@ -461,7 +459,7 @@ void sub_80A62EC(struct Sprite *sprite)
}
}
void sub_80A634C(struct Sprite *sprite)
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
{
if (sprite->data[3])
{
@@ -570,7 +568,7 @@ void TranslateSpriteOverDuration(struct Sprite *sprite)
}
}
void sub_80A656C(struct Sprite *sprite)
void TranslateAnimLinearSimple(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -665,7 +663,7 @@ void sub_80A66DC(struct Sprite *sprite)
}
}
void move_anim_8074EE0(struct Sprite *sprite)
void DestroySpriteAndMatrix(struct Sprite *sprite)
{
FreeSpriteOamMatrix(sprite);
DestroyAnimSprite(sprite);
@@ -683,16 +681,16 @@ void sub_80A6760(struct Sprite *sprite)
void sub_80A67A4(struct Sprite *sprite)
{
ResetPaletteStructByUid(sprite->data[5]);
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
void sub_80A67BC(struct Sprite *sprite)
void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite)
{
if (sprite->affineAnimEnded)
SetCallbackToStoredInData6(sprite);
}
void sub_80A67D8(struct Sprite *sprite)
void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite)
{
if (sprite->animEnded)
SetCallbackToStoredInData6(sprite);
@@ -712,31 +710,31 @@ void sub_80A6814(u8 taskId)
DestroyAnimVisualTask(taskId);
}
void sub_80A6838(struct Sprite *sprite)
void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
void sub_80A6864(struct Sprite *sprite, s16 a2)
void sub_80A6864(struct Sprite *sprite, s16 xOffset)
{
u16 v1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
u16 v2 = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
u16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
u16 targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
if (v1 > v2)
if (attackerX > targetX)
{
sprite->pos1.x -= a2;
sprite->pos1.x -= xOffset;
}
else if (v1 < v2)
else if (attackerX < targetX)
{
sprite->pos1.x += a2;
sprite->pos1.x += xOffset;
}
else
{
if (GetBattlerSide(gBattleAnimAttacker) != 0)
sprite->pos1.x -= a2;
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos1.x -= xOffset;
else
sprite->pos1.x += a2;
sprite->pos1.x += xOffset;
}
}
@@ -779,24 +777,24 @@ void sub_80A6980(struct Sprite *sprite, bool8 a2)
{
if (!a2)
{
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 0);
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 1);
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X);
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y);
}
sub_80A6864(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
}
void InitAnimSpritePos(struct Sprite *sprite, u8 a2)
void InitAnimSpritePos(struct Sprite *sprite, u8 respectMonPicOffsets)
{
if (!a2)
if (!respectMonPicOffsets)
{
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 0);
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 1);
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X);
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y);
}
else
{
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 3);
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
sub_80A6864(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
@@ -908,7 +906,7 @@ void sub_80A6B90(struct UnknownAnimStruct2 *unk, u32 arg1)
}
}
void sub_80A6BFC(struct UnknownAnimStruct2 *unk)
void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused)
{
unk->bgTiles = gUnknown_0202305C;
unk->unk4 = (u16 *)gUnknown_02023060;
@@ -1208,7 +1206,7 @@ void sub_80A718C(struct Sprite *sprite)
sprite->callback(sprite);
}
void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation)
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation)
{
int i;
struct ObjAffineSrcData src;
@@ -1242,7 +1240,7 @@ bool8 sub_80A7238(void)
}
}
void sub_80A7270(u8 spriteId, u8 objMode)
void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode)
{
u8 battlerId = gSprites[spriteId].data[0];
@@ -1251,32 +1249,34 @@ void sub_80A7270(u8 spriteId, u8 objMode)
gSprites[spriteId].oam.objMode = objMode;
gSprites[spriteId].affineAnimPaused = TRUE;
if (!IsContest() && !gSprites[spriteId].oam.affineMode)
gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].field_6;
gSprites[spriteId].oam.affineMode = 3;
gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].matrixNum;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
}
void sub_80A7344(u8 spriteId)
void ResetSpriteRotScale(u8 spriteId)
{
obj_id_set_rotscale(spriteId, 0x100, 0x100, 0);
gSprites[spriteId].oam.affineMode = 1;
SetSpriteRotScale(spriteId, 0x100, 0x100, 0);
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.objMode = 0;
gSprites[spriteId].affineAnimPaused = FALSE;
CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
}
void sub_80A73A0(u8 spriteId)
// Sets the sprite's y offset equal to the y displacement caused by the
// matrix's rotation.
void SetBattlerSpriteYOffsetFromRotation(u8 spriteId)
{
u16 matrix = gSprites[spriteId].oam.matrixNum;
s16 c = gOamMatrices[matrix].c;
u16 matrixNum = gSprites[spriteId].oam.matrixNum;
// The "c" component of the battler sprite matrix contains the sine of the rotation angle divided by some scale amount.
s16 c = gOamMatrices[matrixNum].c;
if (c < 0)
c = -c;
gSprites[spriteId].pos2.y = c >> 3;
}
// related to obj_id_set_rotscale
void sub_80A73E0(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation)
void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 xScale, s16 yScale, u16 rotation)
{
int i;
struct ObjAffineSrcData src;
@@ -1285,7 +1285,7 @@ void sub_80A73E0(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 ro
if (sprite->oam.affineMode & 1)
{
sprite->affineAnimPaused = TRUE;
if (a2)
if (recalcCenterVector)
CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
src.xScale = xScale;
src.yScale = yScale;
@@ -1303,7 +1303,7 @@ void sub_80A73E0(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 ro
void sub_80A749C(struct Sprite *sprite)
{
sub_80A73E0(sprite, TRUE, 0x100, 0x100, 0);
TrySetSpriteRotScale(sprite, TRUE, 0x100, 0x100, 0);
sprite->affineAnimPaused = FALSE;
CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode);
}
@@ -1319,32 +1319,32 @@ u16 ArcTan2Neg(s16 a, s16 b)
return -var;
}
void sub_80A750C(u16 a1, bool8 a2)
void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor)
{
int i;
struct PlttData *c;
struct PlttData *c2;
struct PlttData *originalColor;
struct PlttData *destColor;
u16 average;
a1 *= 0x10;
paletteNum *= 16;
if (!a2)
if (!restoreOriginalColor)
{
for (i = 0; i < 0x10; i++)
for (i = 0; i < 16; i++)
{
c = (struct PlttData *)&gPlttBufferUnfaded[a1 + i];
average = c->r + c->g + c->b;
originalColor = (struct PlttData *)&gPlttBufferUnfaded[paletteNum + i];
average = originalColor->r + originalColor->g + originalColor->b;
average /= 3;
c2 = (struct PlttData *)&gPlttBufferFaded[a1 + i];
c2->r = average;
c2->g = average;
c2->b = average;
destColor = (struct PlttData *)&gPlttBufferFaded[paletteNum + i];
destColor->r = average;
destColor->g = average;
destColor->b = average;
}
}
else
{
CpuCopy32(&gPlttBufferUnfaded[a1], &gPlttBufferFaded[a1], 0x20);
CpuCopy32(&gPlttBufferUnfaded[paletteNum], &gPlttBufferFaded[paletteNum], 32);
}
}
@@ -1479,7 +1479,7 @@ void sub_80A77C8(struct Sprite *sprite)
}
else if (sprite->animEnded || sprite->affineAnimEnded)
{
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
}
@@ -1494,7 +1494,7 @@ void sub_80A77C8(struct Sprite *sprite)
void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
{
bool8 v1;
u8 attributeId;
u8 coordType;
if (!(gBattleAnimArgs[5] & 0xff00))
v1 = TRUE;
@@ -1502,9 +1502,9 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
v1 = FALSE;
if (!(gBattleAnimArgs[5] & 0xff))
attributeId = BATTLER_COORD_3;
coordType = BATTLER_COORD_Y_PIC_OFFSET;
else
attributeId = BATTLER_COORD_Y;
coordType = BATTLER_COORD_Y;
InitAnimSpritePos(sprite, v1);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -1512,7 +1512,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, attributeId) + gBattleAnimArgs[3];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -1544,7 +1544,7 @@ void sub_80A7938(struct Sprite *sprite)
if (!gBattleAnimArgs[6])
{
r4 = TRUE;
attributeId = BATTLER_COORD_3;
attributeId = BATTLER_COORD_Y_PIC_OFFSET;
}
else
{
@@ -1571,19 +1571,19 @@ void sub_80A7938(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 whichBattler)
s16 CloneBattlerSpriteWithBlend(u8 animBattler)
{
u16 i;
u8 spriteId = GetAnimBattlerSpriteId(whichBattler);
u8 spriteId = GetAnimBattlerSpriteId(animBattler);
if (spriteId != 0xff)
if (spriteId != 0xFF)
{
for (i = 0; i < MAX_SPRITES; i++)
{
if (!gSprites[i].inUse)
{
gSprites[i] = gSprites[spriteId];
gSprites[i].oam.objMode = 1;
gSprites[i].oam.objMode = ST_OAM_OBJ_BLEND;
gSprites[i].invisible = FALSE;
return i;
}
@@ -1730,49 +1730,49 @@ void sub_80A7CB4(u8 task)
AnimTask_BlendMonInAndOutSetup(&gTasks[task]);
}
void sub_80A7CFC(struct Task *task, u8 a2, const void *a3)
void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds)
{
task->data[7] = 0;
task->data[8] = 0;
task->data[9] = 0;
task->data[15] = a2;
task->data[15] = spriteId;
task->data[10] = 0x100;
task->data[11] = 0x100;
task->data[12] = 0;
sub_80A8048(&task->data[13], &task->data[14], a3);
sub_80A7270(a2, 0);
StorePointerInVars(&task->data[13], &task->data[14], affineAnimCmds);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
}
bool8 sub_80A7D34(struct Task *task)
bool8 RunAffineAnimFromTaskData(struct Task *task)
{
gUnknown_02038444 = sub_80A8050(task->data[13], task->data[14]) + (task->data[7] << 3);
switch (gUnknown_02038444->type)
gAnimTaskAffineAnim = LoadPointerFromVars(task->data[13], task->data[14]) + (task->data[7] << 3);
switch (gAnimTaskAffineAnim->type)
{
default:
if (!gUnknown_02038444->frame.duration)
if (!gAnimTaskAffineAnim->frame.duration)
{
task->data[10] = gUnknown_02038444->frame.xScale;
task->data[11] = gUnknown_02038444->frame.yScale;
task->data[12] = gUnknown_02038444->frame.rotation;
task->data[10] = gAnimTaskAffineAnim->frame.xScale;
task->data[11] = gAnimTaskAffineAnim->frame.yScale;
task->data[12] = gAnimTaskAffineAnim->frame.rotation;
task->data[7]++;
gUnknown_02038444++;
gAnimTaskAffineAnim++;
}
task->data[10] += gUnknown_02038444->frame.xScale;
task->data[11] += gUnknown_02038444->frame.yScale;
task->data[12] += gUnknown_02038444->frame.rotation;
obj_id_set_rotscale(task->data[15], task->data[10], task->data[11], task->data[12]);
sub_80A7E6C(task->data[15]);
if (++task->data[8] >= gUnknown_02038444->frame.duration)
task->data[10] += gAnimTaskAffineAnim->frame.xScale;
task->data[11] += gAnimTaskAffineAnim->frame.yScale;
task->data[12] += gAnimTaskAffineAnim->frame.rotation;
SetSpriteRotScale(task->data[15], task->data[10], task->data[11], task->data[12]);
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
if (++task->data[8] >= gAnimTaskAffineAnim->frame.duration)
{
task->data[8] = 0;
task->data[7]++;
}
break;
case AFFINEANIMCMDTYPE_JUMP:
task->data[7] = gUnknown_02038444->jump.target;
task->data[7] = gAnimTaskAffineAnim->jump.target;
break;
case AFFINEANIMCMDTYPE_LOOP:
if (gUnknown_02038444->loop.count)
if (gAnimTaskAffineAnim->loop.count)
{
if (task->data[9])
{
@@ -1784,7 +1784,7 @@ bool8 sub_80A7D34(struct Task *task)
}
else
{
task->data[9] = gUnknown_02038444->loop.count;
task->data[9] = gAnimTaskAffineAnim->loop.count;
}
if (!task->data[7])
{
@@ -1793,8 +1793,8 @@ bool8 sub_80A7D34(struct Task *task)
for (;;)
{
task->data[7]--;
gUnknown_02038444--;
if (gUnknown_02038444->type == AFFINEANIMCMDTYPE_LOOP)
gAnimTaskAffineAnim--;
if (gAnimTaskAffineAnim->type == AFFINEANIMCMDTYPE_LOOP)
{
task->data[7]++;
return TRUE;
@@ -1807,36 +1807,40 @@ bool8 sub_80A7D34(struct Task *task)
break;
case AFFINEANIMCMDTYPE_END:
gSprites[task->data[15]].pos2.y = 0;
sub_80A7344(task->data[15]);
ResetSpriteRotScale(task->data[15]);
return FALSE;
}
return TRUE;
}
void sub_80A7E6C(u8 spriteId)
// Sets the sprite's y offset equal to the y displacement caused by the
// matrix's scale in the y dimension.
void SetBattlerSpriteYOffsetFromYScale(u8 spriteId)
{
int var = 0x40 - sub_80A7F18(spriteId) * 2;
int var = 64 - GetBattlerYDeltaFromSpriteId(spriteId) * 2;
u16 matrix = gSprites[spriteId].oam.matrixNum;
int var2 = (var << 8) / gOamMatrices[matrix].d;
if (var2 > 0x80)
var2 = 0x80;
if (var2 > 128)
var2 = 128;
gSprites[spriteId].pos2.y = (var - var2) / 2;
}
void sub_80A7EC0(u8 spriteId, u8 spriteId2)
// Sets the sprite's y offset equal to the y displacement caused by another sprite
// matrix's scale in the y dimension.
void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
{
int var = 0x40 - sub_80A7F18(spriteId2) * 2;
int var = 64 - GetBattlerYDeltaFromSpriteId(otherSpriteId) * 2;
u16 matrix = gSprites[spriteId].oam.matrixNum;
int var2 = (var << 8) / gOamMatrices[matrix].d;
if (var2 > 0x80)
var2 = 0x80;
if (var2 > 128)
var2 = 128;
gSprites[spriteId].pos2.y = (var - var2) / 2;
}
u16 sub_80A7F18(u8 spriteId)
u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
{
struct BattleSpriteInfo *spriteInfo;
u8 battlerId = gSprites[spriteId].data[0];
@@ -1849,7 +1853,7 @@ u16 sub_80A7F18(u8 spriteId)
{
if (IsContest())
{
species = shared19348.species;
species = gContestResources->field_18->species;
return gMonBackPicCoords[species].y_offset;
}
else
@@ -1883,18 +1887,18 @@ u16 sub_80A7F18(u8 spriteId)
}
}
}
return 0x40;
return 64;
}
void sub_80A8048(s16 *bottom, s16 *top, const void *ptr)
void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr)
{
*bottom = ((intptr_t) ptr) & 0xffff;
*top = (((intptr_t) ptr) >> 16) & 0xffff;
*lo = ((intptr_t) ptr) & 0xffff;
*hi = (((intptr_t) ptr) >> 16) & 0xffff;
}
void *sub_80A8050(s16 bottom, s16 top)
void *LoadPointerFromVars(s16 lo, s16 hi)
{
return (void *)((u16)bottom | ((u16)top << 16));
return (void *)((u16)lo | ((u16)hi << 16));
}
void sub_80A805C(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7)
@@ -1924,9 +1928,9 @@ u8 sub_80A80C8(struct Task *task)
task->data[9] = task->data[13];
task->data[10] = task->data[14];
}
obj_id_set_rotscale(task->data[15], task->data[9], task->data[10], 0);
SetSpriteRotScale(task->data[15], task->data[9], task->data[10], 0);
if (task->data[8])
sub_80A7E6C(task->data[15]);
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
else
gSprites[task->data[15]].pos2.y = 0;
return task->data[8];
@@ -1968,16 +1972,16 @@ void sub_80A8278(void)
{
if (IsBattlerSpriteVisible(i))
{
gSprites[gBattlerSpriteIds[i]].subpriority = GetBattlerSubpriority(i);
gSprites[gBattlerSpriteIds[i]].subpriority = GetBattlerSpriteSubpriority(i);
gSprites[gBattlerSpriteIds[i]].oam.priority = 2;
}
}
}
u8 GetBattlerSubpriority(u8 battlerId)
u8 GetBattlerSpriteSubpriority(u8 battlerId)
{
u8 position;
u8 ret;
u8 subpriority;
if (IsContest())
{
@@ -1990,15 +1994,16 @@ u8 GetBattlerSubpriority(u8 battlerId)
{
position = GetBattlerPosition(battlerId);
if (position == B_POSITION_PLAYER_LEFT)
ret = 30;
subpriority = 30;
else if (position == B_POSITION_PLAYER_RIGHT)
ret = 20;
subpriority = 20;
else if (position == B_POSITION_OPPONENT_LEFT)
ret = 40;
subpriority = 40;
else
ret = 50;
subpriority = 50;
}
return ret;
return subpriority;
}
u8 sub_80A8328(u8 battlerId)
@@ -2100,15 +2105,15 @@ s16 sub_80A861C(u8 battlerId, u8 a2)
if (IsContest())
{
if (shared19348.unk4_0)
if (gContestResources->field_18->unk4_0)
{
species = shared19348.unk2;
personality = shared19348.unk10;
species = gContestResources->field_18->unk2;
personality = gContestResources->field_18->unk10;
}
else
{
species = shared19348.species;
personality = shared19348.unk8;
species = gContestResources->field_18->species;
personality = gContestResources->field_18->unk8;
}
if (species == SPECIES_UNOWN)
{
@@ -2270,7 +2275,7 @@ u8 sub_80A89C8(int battlerId, u8 spriteId, int species)
void sub_80A8A6C(struct Sprite *sprite)
{
sub_80A6838(sprite);
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker))
{
sprite->pos1.x -= gBattleAnimArgs[0];
@@ -2286,7 +2291,7 @@ void sub_80A8A6C(struct Sprite *sprite)
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[3] = gBattleAnimArgs[4];
sprite->data[5] = gBattleAnimArgs[5];
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = sub_80A66DC;
}
@@ -2307,19 +2312,19 @@ void sub_80A8AEC(struct Sprite *sprite)
sprite->data[3] = gBattleAnimArgs[4];
sprite->data[5] = gBattleAnimArgs[5];
StartSpriteAnim(sprite, gBattleAnimArgs[6]);
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = sub_80A66DC;
}
void sub_80A8B64(struct Sprite *sprite)
{
sub_80A6838(sprite);
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker))
sprite->pos1.x -= gBattleAnimArgs[0];
else
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -2339,7 +2344,7 @@ void sub_80A8BC4(u8 taskId)
dest = (task->data[4] + 0x10) * 0x10;
src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10;
task->data[6] = GetBattlerSubpriority(gBattleAnimAttacker);
task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
if (task->data[6] == 20 || task->data[6] == 40)
task->data[6] = 2;
else
@@ -2384,7 +2389,7 @@ void sub_80A8CAC(u8 taskId)
void sub_80A8D78(struct Task *task, u8 taskId)
{
s16 spriteId = duplicate_obj_of_side_rel2move_in_transparent_mode(0);
s16 spriteId = CloneBattlerSpriteWithBlend(0);
if (spriteId >= 0)
{
gSprites[spriteId].oam.priority = task->data[6];
@@ -2410,7 +2415,7 @@ void sub_80A8DFC(struct Sprite *sprite)
void sub_80A8E30(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_3);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
if (!GetBattlerSide(gBattleAnimAttacker))
sprite->data[0] = 5;
else
+1 -1
View File
@@ -175,7 +175,7 @@ static void sub_80A9E78(struct Sprite *sprite)
void sub_80A9EF4(u8 taskId)
{
s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - 32;
s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_3) - 36;
s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) - 36;
u8 spriteId;
if (IsContest())
+8 -8
View File
@@ -834,7 +834,7 @@ void AnimTask_ScaleMonAndRestore(u8 taskId)
{
u8 spriteId;
spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[3]);
sub_80A7270(spriteId, gBattleAnimArgs[4]);
PrepareBattlerSpriteForRotScale(spriteId, gBattleAnimArgs[4]);
gTasks[taskId].data[0] = gBattleAnimArgs[0];
gTasks[taskId].data[1] = gBattleAnimArgs[1];
gTasks[taskId].data[2] = gBattleAnimArgs[2];
@@ -851,7 +851,7 @@ void AnimTask_ScaleMonAndRestoreStep(u8 taskId)
gTasks[taskId].data[10] += gTasks[taskId].data[0];
gTasks[taskId].data[11] += gTasks[taskId].data[1];
spriteId = gTasks[taskId].data[4];
obj_id_set_rotscale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[11], 0);
SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[11], 0);
if (--gTasks[taskId].data[2] == 0)
{
if (gTasks[taskId].data[3] > 0)
@@ -863,7 +863,7 @@ void AnimTask_ScaleMonAndRestoreStep(u8 taskId)
}
else
{
sub_80A7344(spriteId);
ResetSpriteRotScale(spriteId);
DestroyAnimVisualTask(taskId);
return;
}
@@ -874,7 +874,7 @@ void sub_80D6134(u8 taskId)
{
u8 spriteId;
spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]);
sub_80A7270(spriteId, 0);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[2] = gBattleAnimArgs[0];
if (gBattleAnimArgs[3] != 1)
@@ -918,7 +918,7 @@ void sub_80D622C(u8 taskId)
{
u8 spriteId;
spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]);
sub_80A7270(spriteId, 0);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[2] = gBattleAnimArgs[0];
if (gBattleAnimArgs[2] == 0)
@@ -955,17 +955,17 @@ void sub_80D622C(u8 taskId)
void sub_80D6308(u8 taskId)
{
gTasks[taskId].data[3] += gTasks[taskId].data[4];
obj_id_set_rotscale(gTasks[taskId].data[5], 0x100, 0x100, gTasks[taskId].data[3]);
SetSpriteRotScale(gTasks[taskId].data[5], 0x100, 0x100, gTasks[taskId].data[3]);
if (gTasks[taskId].data[7])
{
sub_80A73A0(gTasks[taskId].data[5]);
SetBattlerSpriteYOffsetFromRotation(gTasks[taskId].data[5]);
}
if (++gTasks[taskId].data[1] >= gTasks[taskId].data[2])
{
switch (gTasks[taskId].data[6])
{
case 1:
sub_80A7344(gTasks[taskId].data[5]);
ResetSpriteRotScale(gTasks[taskId].data[5]);
case 0:
default:
DestroyAnimVisualTask(taskId);
+8 -8
View File
@@ -604,19 +604,19 @@ void sub_8170B04(u8 taskId)
switch (gTasks[taskId].data[0])
{
case 0:
sub_80A7270(spriteId, 0);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
gTasks[taskId].data[10] = 0x100;
gTasks[taskId].data[0]++;
break;
case 1:
gTasks[taskId].data[10] += 0x30;
obj_id_set_rotscale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
sub_80A7E6C(spriteId);
SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
SetBattlerSpriteYOffsetFromYScale(spriteId);
if (gTasks[taskId].data[10] >= 0x2D0)
gTasks[taskId].data[0]++;
break;
case 2:
sub_80A7344(spriteId);
ResetSpriteRotScale(spriteId);
gSprites[spriteId].invisible = 1;
DestroyAnimVisualTask(taskId);
break;
@@ -756,7 +756,7 @@ void sub_8170F2C(u8 taskId)
}
ballId = ItemIdToBallId(gLastUsedItem);
subpriority = GetBattlerSubpriority(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + 1;
subpriority = GetBattlerSpriteSubpriority(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + 1;
spriteId = CreateSprite(&gBallSpriteTemplates[ballId], x + 32, y | 80, subpriority);
gSprites[spriteId].data[0] = 34;
gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
@@ -862,7 +862,7 @@ static void sub_8171240(struct Sprite *sprite)
switch (gTasks[taskId].data[0])
{
case 0:
sub_80A7270(spriteId, 0);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
gTasks[taskId].data[10] = 256;
gUnknown_030062DC = 28;
gUnknown_030062E4 = (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) - (sprite->pos1.y + sprite->pos2.y);
@@ -872,14 +872,14 @@ static void sub_8171240(struct Sprite *sprite)
break;
case 1:
gTasks[taskId].data[10] += 0x20;
obj_id_set_rotscale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
SetSpriteRotScale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
gTasks[taskId].data[3] += gTasks[taskId].data[2];
gSprites[spriteId].pos2.y = -gTasks[taskId].data[3] >> 8;
if (gTasks[taskId].data[10] >= 0x480)
gTasks[taskId].data[0]++;
break;
case 2:
sub_80A7344(spriteId);
ResetSpriteRotScale(spriteId);
gSprites[spriteId].invisible = 1;
gTasks[taskId].data[0]++;
break;
+64 -62
View File
@@ -1,9 +1,15 @@
#include "global.h"
#include "alloc.h"
#include "battle_anim.h"
#include "battle_interface.h"
#include "decompress.h"
#include "gpu_regs.h"
#include "graphics.h"
#include "main.h"
#include "math_util.h"
#include "palette.h"
#include "random.h"
#include "scanline_effect.h"
#include "sound.h"
#include "trig.h"
#include "util.h"
@@ -2220,7 +2226,7 @@ void sub_80FE8E0(struct Sprite* sprite)
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
void sub_80FE930(struct Sprite* sprite)
@@ -2257,9 +2263,9 @@ static void sub_80FE9E4(struct Sprite* sprite)
else
{
if (sprite->data[5] > 0x7F)
sprite->subpriority = GetBattlerSubpriority(gBattleAnimTarget) + 1;
sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) + 1;
else
sprite->subpriority = GetBattlerSubpriority(gBattleAnimTarget) + 6;
sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) + 6;
sprite->pos2.x += Sin(sprite->data[5], 5);
sprite->pos2.y += Cos(sprite->data[5], 14);
@@ -2278,7 +2284,7 @@ void sub_80FEA58(u8 taskId)
gBattleAnimArgs[1] = 0;
gBattleAnimArgs[2] = 80;
gBattleAnimArgs[3] = 0;
CreateSpriteAndAnimate(&gUnknown_08592210, 0, 0, GetBattlerSubpriority(gBattleAnimTarget) + 1);
CreateSpriteAndAnimate(&gUnknown_08592210, 0, 0, GetBattlerSpriteSubpriority(gBattleAnimTarget) + 1);
}
if (gTasks[taskId].data[1] == 15)
@@ -2465,9 +2471,9 @@ static void sub_80FEECC(struct Sprite* sprite)
sprite->pos2.x += Sin(sprite->data[5], 32);
sprite->pos2.y += Cos(sprite->data[5], -5);
if ((u16)(sprite->data[5] - 0x40) < 0x80)
sprite->subpriority = GetBattlerSubpriority(gBattleAnimAttacker) - 1;
sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
else
sprite->subpriority = GetBattlerSubpriority(gBattleAnimAttacker) + 1;
sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) + 1;
sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
}
@@ -2731,7 +2737,7 @@ void sub_80FF458(u8 taskId)
}
else
{
sub_80A7270(spriteId, 1);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_BLEND);
gTasks[taskId].data[14] = gSprites[spriteId].oam.priority;
gSprites[spriteId].oam.priority = sub_80A8328(gBattleAnimTarget);
spriteId = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER);
@@ -2753,8 +2759,8 @@ static void sub_80FF53C(u8 taskId)
gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x;
gTasks[taskId].data[11] += 16;
obj_id_set_rotscale(spriteId, gTasks[taskId].data[11], gTasks[taskId].data[11], 0);
sub_80A7E6C(spriteId);
SetSpriteRotScale(spriteId, gTasks[taskId].data[11], gTasks[taskId].data[11], 0);
SetBattlerSpriteYOffsetFromYScale(spriteId);
if (--gTasks[taskId].data[1] == 0)
{
gTasks[taskId].data[0] = 0;
@@ -2769,7 +2775,7 @@ static void sub_80FF5CC(u8 taskId)
if (gTasks[taskId].data[0] == 0)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
sub_80A7344(spriteId);
ResetSpriteRotScale(spriteId);
gSprites[spriteId].pos2.x = 0;
gSprites[spriteId].pos2.y = 0;
gSprites[spriteId].oam.priority = gTasks[taskId].data[14];
@@ -2795,7 +2801,6 @@ void sub_80FF698(struct Sprite* sprite)
switch (sprite->data[0])
{
case 0:
{
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
gBattleAnimArgs[0] *= -1;
@@ -2804,9 +2809,7 @@ void sub_80FF698(struct Sprite* sprite)
sprite->invisible = 1;
sprite->data[0]++;
break;
}
case 1:
{
sprite->invisible = 0;
if (sprite->affineAnimEnded)
{
@@ -2819,7 +2822,6 @@ void sub_80FF698(struct Sprite* sprite)
break;
}
}
}
}
void sub_80FF768(struct Sprite* sprite)
@@ -3205,7 +3207,7 @@ void sub_80FFFC0(u8 taskId)
{
struct Task *task = &gTasks[taskId];
task->data[4] = GetBattlerSubpriority(gBattleAnimTarget) - 1;
task->data[4] = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 1;
task->data[6] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
task->data[10] = sub_80A861C(gBattleAnimTarget, 1);
@@ -3529,7 +3531,7 @@ static void sub_810074C(struct Sprite* sprite)
return;
}
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
void sub_81007C4(u8 taskId)
@@ -3613,7 +3615,7 @@ void sub_8100898(struct Sprite* sprite)
if (IsContest())
c -= 0x8000;
sub_80A73E0(sprite, 0, 0x100, 0x100, c);
TrySetSpriteRotScale(sprite, 0, 0x100, 0x100, c);
sprite->callback = sub_81009A0;
}
}
@@ -3630,7 +3632,7 @@ static void sub_81009A0(struct Sprite* sprite)
}
else
{
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
}
@@ -3653,7 +3655,7 @@ void sub_81009F8(struct Sprite* sprite)
sprite->pos1.y += gBattleAnimArgs[1];
}
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -3676,7 +3678,7 @@ void sub_8100A94(struct Sprite* sprite)
sprite->data[3] = gBattleAnimArgs[4];
sprite->data[5] = gBattleAnimArgs[5];
StartSpriteAffineAnim(sprite, gBattleAnimArgs[6]);
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = sub_80A66DC;
}
@@ -4024,7 +4026,7 @@ static void sub_8101298(struct Sprite* sprite, int unk1, int unk2)
void sub_810130C(struct Sprite* sprite)
{
if (!gBattleAnimArgs[2])
sub_80A6838(sprite);
SetSpriteCoordsToAnimAttackerCoords(sprite);
sub_80A6864(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
@@ -4032,7 +4034,7 @@ void sub_810130C(struct Sprite* sprite)
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[2] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback = sub_80A656C;
sprite->callback = TranslateAnimLinearSimple;
}
void sub_810135C(struct Sprite* sprite)
@@ -4069,13 +4071,13 @@ void sub_810135C(struct Sprite* sprite)
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[2] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback = sub_80A656C;
sprite->callback = TranslateAnimLinearSimple;
}
void sub_8101440(struct Sprite* sprite)
{
sub_80A6838(sprite);
if (GetBattlerSide(gBattleAnimAttacker) == 0)
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
@@ -4105,7 +4107,7 @@ static void sub_81014A0(struct Sprite* sprite)
void sub_81014F4(struct Sprite* sprite)
{
sub_80A6838(sprite);
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
sprite->pos1.x += gBattleAnimArgs[0];
@@ -4130,7 +4132,7 @@ static void sub_8101560(struct Sprite* sprite)
sprite->data[4] += sprite->data[3] * 2;
sprite->data[0] += sprite->data[1];
if (++sprite->data[1] > 60)
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
void sub_81015AC(struct Sprite* sprite)
@@ -4347,14 +4349,14 @@ static void sub_81019E8(struct Sprite* sprite)
if (sprite->data[0] == 0)
{
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
sub_80A7270(sprite->data[3], 0);
PrepareBattlerSpriteForRotScale(sprite->data[3], ST_OAM_OBJ_NORMAL);
sprite->data[4] = (sprite->data[6] = GetBattlerSide(gBattleAnimAttacker)) ? 0x300 : 0xFFFFFD00;
sprite->data[5] = 0;
}
sprite->data[5] += sprite->data[4];
obj_id_set_rotscale(sprite->data[3], 0x100, 0x100, sprite->data[5]);
sub_80A73A0(sprite->data[3]);
SetSpriteRotScale(sprite->data[3], 0x100, 0x100, sprite->data[5]);
SetBattlerSpriteYOffsetFromRotation(sprite->data[3]);
if (++sprite->data[0] > 3)
{
sprite->data[0] = 0;
@@ -4400,11 +4402,11 @@ static void sub_8101AE8(struct Sprite* sprite)
}
sprite->data[5] += sprite->data[4];
obj_id_set_rotscale(sprite->data[3], 0x100, 0x100, sprite->data[5]);
sub_80A73A0(sprite->data[3]);
SetSpriteRotScale(sprite->data[3], 0x100, 0x100, sprite->data[5]);
SetBattlerSpriteYOffsetFromRotation(sprite->data[3]);
if (++sprite->data[0] > 2)
{
sub_80A7344(sprite->data[3]);
ResetSpriteRotScale(sprite->data[3]);
sprite->callback = sub_8101B84;
}
}
@@ -4430,13 +4432,13 @@ static void sub_8101BA0(struct Sprite *sprite)
sprite->data[3] = GetBattlerSide(gBattleAnimAttacker);
sprite->data[4] = (sprite->data[3] != B_SIDE_PLAYER) ? 0x200 : -0x200;
sprite->data[5] = 0;
sub_80A7270(sprite->data[2], 0);
PrepareBattlerSpriteForRotScale(sprite->data[2], ST_OAM_OBJ_NORMAL);
sprite->data[0]++;
// fall through
case 1:
sprite->data[5] += sprite->data[4];
obj_id_set_rotscale(sprite->data[2], 0x100, 0x100, sprite->data[5]);
sub_80A73A0(sprite->data[2]);
SetSpriteRotScale(sprite->data[2], 0x100, 0x100, sprite->data[5]);
SetBattlerSpriteYOffsetFromRotation(sprite->data[2]);
if (++sprite->data[1] > 3)
{
sprite->data[1] = 0;
@@ -4446,11 +4448,11 @@ static void sub_8101BA0(struct Sprite *sprite)
break;
case 2:
sprite->data[5] += sprite->data[4];
obj_id_set_rotscale(sprite->data[2], 0x100, 0x100, sprite->data[5]);
sub_80A73A0(sprite->data[2]);
SetSpriteRotScale(sprite->data[2], 0x100, 0x100, sprite->data[5]);
SetBattlerSpriteYOffsetFromRotation(sprite->data[2]);
if (++sprite->data[1] > 3)
{
sub_80A7344(sprite->data[2]);
ResetSpriteRotScale(sprite->data[2]);
DestroyAnimSprite(sprite);
}
break;
@@ -4512,7 +4514,7 @@ static void sub_8101D2C(u8 taskId)
task->data[3] = 8;
task->data[4] = 0;
task->data[5] = (task->data[1] == 0) ? -0xC0 : 0xC0;
sub_80A7270(task->data[0], 0);
PrepareBattlerSpriteForRotScale(task->data[0], ST_OAM_OBJ_NORMAL);
task->data[2]++;
}
break;
@@ -4520,8 +4522,8 @@ static void sub_8101D2C(u8 taskId)
if (task->data[3])
{
task->data[4] += task->data[5];
obj_id_set_rotscale(task->data[0], 0x100, 0x100, task->data[4]);
sub_80A73A0(task->data[0]);
SetSpriteRotScale(task->data[0], 0x100, 0x100, task->data[4]);
SetBattlerSpriteYOffsetFromRotation(task->data[0]);
task->data[3]--;
}
else
@@ -4592,13 +4594,13 @@ static void sub_8101EEC(u8 taskId)
if (task->data[3])
{
task->data[4] -= task->data[5];
obj_id_set_rotscale(task->data[0], 0x100, 0x100, task->data[4]);
sub_80A73A0(task->data[0]);
SetSpriteRotScale(task->data[0], 0x100, 0x100, task->data[4]);
SetBattlerSpriteYOffsetFromRotation(task->data[0]);
task->data[3]--;
}
else
{
sub_80A7344(task->data[0]);
ResetSpriteRotScale(task->data[0]);
DestroyAnimVisualTask(taskId);
}
}
@@ -4619,7 +4621,7 @@ void sub_8101F40(struct Sprite* sprite)
sprite->data[0] = 0;
sprite->data[1] = 0;
StoreSpriteCallbackInData6(sprite, sub_810208C);
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
void sub_8101FA8(struct Sprite* sprite)
@@ -4627,7 +4629,7 @@ void sub_8101FA8(struct Sprite* sprite)
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0;
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
StoreSpriteCallbackInData6(sprite, sub_8102044);
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
void sub_8101FF0(struct Sprite* sprite)
@@ -4914,7 +4916,7 @@ void sub_81025C0(u8 taskId)
gTasks[taskId].data[9] = 15;
b = sub_80A76C4(1, 1, 1, 1);
c = a | b;
sub_80A8048(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void*)c);
StorePointerInVars(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void*)c);
b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON));
d = IndexOfSpritePaletteTag(ANIM_TAG_GREEN_SPARKLE);
BeginNormalPaletteFade((0x10000 << d) | b, 0, 0, 16, RGB(27, 29, 31));
@@ -4989,7 +4991,7 @@ void sub_81026A8(u8 taskId)
case 2:
if (++task->data[1] > 30)
{
BeginNormalPaletteFade((u32)sub_80A8050(task->data[14], task->data[15]), 0, 16, 0, RGB(27, 29, 31));
BeginNormalPaletteFade((u32)LoadPointerFromVars(task->data[14], task->data[15]), 0, 16, 0, RGB(27, 29, 31));
task->data[0]++;
}
break;
@@ -5080,7 +5082,7 @@ void sub_81029B4(u8 taskId)
BlendPalette(r3, 16, 11, RGB(0, 0, 0));
task->data[3] = 0;
i = 0;
while (i < 2 && (obj = duplicate_obj_of_side_rel2move_in_transparent_mode(0)) >= 0)
while (i < 2 && (obj = CloneBattlerSpriteWithBlend(0)) >= 0)
{
gSprites[obj].oam.paletteNum = task->data[1];
gSprites[obj].data[0] = 0;
@@ -5138,7 +5140,7 @@ static void sub_8102B3C(struct Sprite* sprite)
void sub_8102BCC(struct Sprite* sprite)
{
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
void sub_8102BE8(u8 taskId)
@@ -5183,7 +5185,7 @@ void sub_8102CD4(struct Sprite* sprite)
u8 index;
u8 a;
u8 b;
sub_80A6838(sprite);
SetSpriteCoordsToAnimAttackerCoords(sprite);
StartSpriteAnim(sprite, gBattleAnimArgs[0]);
if ((index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[1]][0])) != 0xFF)
sprite->oam.paletteNum = index;
@@ -5242,7 +5244,7 @@ static void sub_8102DE4(struct Sprite* sprite)
if ((u32)((c + 16) << 16) > (0x110) << 16 || a < -16 || a > 0x80)
{
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
else
{
@@ -5296,7 +5298,7 @@ static void sub_8102F40(struct Sprite* sprite)
}
if (++sprite->data[0] == 48)
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
void sub_8102FB8(struct Sprite* sprite)
@@ -5323,7 +5325,7 @@ void sub_8103028(struct Sprite* sprite)
{
s16 xDiff;
u8 index;
sub_80A6838(sprite);
SetSpriteCoordsToAnimAttackerCoords(sprite);
sprite->pos1.y += 8;
StartSpriteAnim(sprite, gBattleAnimArgs[1]);
index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[2]][0]);
@@ -5385,7 +5387,7 @@ void sub_8103164(struct Sprite* sprite)
sprite->data[1] = a + 2;
StartSpriteAnim(sprite, a);
StoreSpriteCallbackInData6(sprite, sub_81031D0);
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
static void sub_81031D0(struct Sprite* sprite)
@@ -5394,7 +5396,7 @@ static void sub_81031D0(struct Sprite* sprite)
{
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
StartSpriteAnim(sprite, sprite->data[1]);
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
}
@@ -5409,7 +5411,7 @@ void sub_8103208(struct Sprite* sprite)
sub_810310C(battler, sprite);
sprite->data[0] = 0;
StoreSpriteCallbackInData6(sprite, sub_8103250);
sprite->callback = sub_80A67BC;
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
static void sub_8103250(struct Sprite* sprite)
@@ -5417,8 +5419,8 @@ static void sub_8103250(struct Sprite* sprite)
if (++sprite->data[0] > 16)
{
StartSpriteAffineAnim(sprite, 1);
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_80A67BC;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
}
@@ -5441,7 +5443,7 @@ void sub_8103284(struct Sprite* sprite)
sprite->data[3] = sprite->subpriority + 4;
sprite->data[4] = 0;
StoreSpriteCallbackInData6(sprite, sub_8103300);
sprite->callback = sub_80A67BC;
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
static void sub_8103300(struct Sprite* sprite)
@@ -5509,7 +5511,7 @@ static void sub_81033F0(struct Sprite* sprite)
sprite->data[1] = 0;
StartSpriteAnim(sprite, sprite->data[0]);
StoreSpriteCallbackInData6(sprite, sub_810342C);
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
}
+3884
View File
File diff suppressed because it is too large Load Diff
+4889
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -236,7 +236,7 @@ static void sub_81169F8(u8 taskId)
}
else
{
task->data[6] = duplicate_obj_of_side_rel2move_in_transparent_mode(task->data[0]);
task->data[6] = CloneBattlerSpriteWithBlend(task->data[0]);
if (task->data[6] >= 0)
{
gSprites[task->data[6]].oam.priority = task->data[0] ? 1 : 2;
+3 -3
View File
@@ -1136,7 +1136,7 @@ static void LinkOpponentHandleLoadMonSprite(void)
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(gActiveBattler, 2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSubpriority(gActiveBattler));
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
@@ -1170,7 +1170,7 @@ static void sub_8066494(u8 battlerId, bool8 dontClearSubstituteBit)
&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(battlerId, 2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSubpriority(battlerId));
GetBattlerSpriteSubpriority(battlerId));
gSprites[gUnknown_03005D7C[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
gSprites[gUnknown_03005D7C[battlerId]].data[2] = battlerId;
@@ -1302,7 +1302,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
xPos,
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
GetBattlerSubpriority(gActiveBattler));
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2;
+3 -3
View File
@@ -1024,7 +1024,7 @@ static void LinkPartnerHandleLoadMonSprite(void)
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(gActiveBattler, 2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSubpriority(gActiveBattler));
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
@@ -1055,7 +1055,7 @@ static void sub_814CC98(u8 battlerId, bool8 dontClearSubstituteBit)
&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(battlerId, 2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSubpriority(battlerId));
GetBattlerSpriteSubpriority(battlerId));
gSprites[gUnknown_03005D7C[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
gSprites[gUnknown_03005D7C[battlerId]].data[2] = battlerId;
@@ -1143,7 +1143,7 @@ static void LinkPartnerHandleDrawTrainerPic(void)
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, GetBattlerSubpriority(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
+3 -3
View File
@@ -1128,7 +1128,7 @@ static void OpponentHandleLoadMonSprite(void)
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(gActiveBattler, 2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSubpriority(gActiveBattler));
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
@@ -1163,7 +1163,7 @@ static void sub_80613DC(u8 battlerId, bool8 dontClearSubstituteBit)
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(battlerId, 2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSubpriority(battlerId));
GetBattlerSpriteSubpriority(battlerId));
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
@@ -1293,7 +1293,7 @@ static void OpponentHandleDrawTrainerPic(void)
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
xPos,
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
GetBattlerSubpriority(gActiveBattler));
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2;
+3 -3
View File
@@ -2200,7 +2200,7 @@ static void sub_805B258(u8 battlerId, bool8 dontClearSubstituteBit)
&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(battlerId, 2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSubpriority(battlerId));
GetBattlerSpriteSubpriority(battlerId));
gSprites[gUnknown_03005D7C[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
gSprites[gUnknown_03005D7C[battlerId]].data[2] = battlerId;
@@ -2314,7 +2314,7 @@ static void PlayerHandleDrawTrainerPic(void)
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSubpriority(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
@@ -2329,7 +2329,7 @@ static void PlayerHandleDrawTrainerPic(void)
{
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSubpriority(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
+4 -4
View File
@@ -1211,7 +1211,7 @@ static void PlayerPartnerHandleLoadMonSprite(void)
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(gActiveBattler, 2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSubpriority(gActiveBattler));
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
@@ -1242,7 +1242,7 @@ static void sub_81BD0E4(u8 battlerId, bool8 dontClearSubstituteBit)
&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(battlerId, 2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSubpriority(battlerId));
GetBattlerSpriteSubpriority(battlerId));
gSprites[gUnknown_03005D7C[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
gSprites[gUnknown_03005D7C[battlerId]].data[2] = battlerId;
@@ -1322,7 +1322,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
{
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSubpriority(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
@@ -1333,7 +1333,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
{
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSubpriority(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
+3 -5
View File
@@ -1119,9 +1119,7 @@ static void RecordedOpponentHandleLoadMonSprite(void)
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(gActiveBattler, 2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSubpriority(gActiveBattler));
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
@@ -1154,7 +1152,7 @@ static void sub_81885D8(u8 battlerId, bool8 dontClearSubstituteBit)
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(battlerId, 2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSubpriority(battlerId));
GetBattlerSpriteSubpriority(battlerId));
gSprites[gUnknown_03005D7C[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
gSprites[gUnknown_03005D7C[battlerId]].data[2] = battlerId;
@@ -1251,7 +1249,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
xPos,
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
GetBattlerSubpriority(gActiveBattler));
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 2;
+4 -4
View File
@@ -1105,7 +1105,7 @@ static void RecordedPlayerHandleLoadMonSprite(void)
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(gActiveBattler, 2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSubpriority(gActiveBattler));
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -240;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler;
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
@@ -1136,7 +1136,7 @@ static void sub_818BA6C(u8 battlerId, bool8 dontClearSubstituteBit)
&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(battlerId, 2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSubpriority(battlerId));
GetBattlerSpriteSubpriority(battlerId));
gSprites[gUnknown_03005D7C[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
gSprites[gUnknown_03005D7C[battlerId]].data[2] = battlerId;
@@ -1236,7 +1236,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSubpriority(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
@@ -1250,7 +1250,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
{
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSubpriority(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
+1 -1
View File
@@ -1464,7 +1464,7 @@ static void sub_816AA80(u8 battlerId)
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
GetBattlerSpriteCoord(battlerId, 2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSubpriority(battlerId));
GetBattlerSpriteSubpriority(battlerId));
gSprites[gUnknown_03005D7C[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
gSprites[gUnknown_03005D7C[battlerId]].data[2] = battlerId;
+4 -4
View File
@@ -526,7 +526,7 @@ static void sub_81A67EC(void)
}
var_40 = sub_81A6F70(factoryBattleMode, factoryLvlMode);
currSpecies = 0;
currSpecies = SPECIES_NONE;
i = 0;
while (i != PARTY_SIZE)
{
@@ -546,7 +546,7 @@ static void sub_81A67EC(void)
break;
if (species[j] == gFacilityTrainerMons[monSetId].species)
{
if (currSpecies == 0)
if (currSpecies == SPECIES_NONE)
currSpecies = gFacilityTrainerMons[monSetId].species;
else
break;
@@ -561,7 +561,7 @@ static void sub_81A67EC(void)
if (heldItems[j] != 0 && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
{
if (gFacilityTrainerMons[monSetId].species == currSpecies)
currSpecies = 0;
currSpecies = SPECIES_NONE;
break;
}
}
@@ -579,7 +579,7 @@ static void sub_81A67EC(void)
static void sub_81A6A08(void)
{
u8 i;
u8 typesCount[18];
u8 typesCount[NUMBER_OF_MON_TYPES];
u8 usedType[2];
gFacilityTrainerMons = gBattleFrontierMons;
+3 -3
View File
@@ -1097,14 +1097,14 @@ void sub_805EB9C(u8 affineMode)
if (IsBattlerSpritePresent(i))
{
gSprites[gBattlerSpriteIds[i]].oam.affineMode = affineMode;
if (affineMode == 0)
if (affineMode == ST_OAM_AFFINE_OFF)
{
gBattleSpritesDataPtr->healthBoxesData[i].field_6 = gSprites[gBattlerSpriteIds[i]].oam.matrixNum;
gBattleSpritesDataPtr->healthBoxesData[i].matrixNum = gSprites[gBattlerSpriteIds[i]].oam.matrixNum;
gSprites[gBattlerSpriteIds[i]].oam.matrixNum = 0;
}
else
{
gSprites[gBattlerSpriteIds[i]].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[i].field_6;
gSprites[gBattlerSpriteIds[i]].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[i].matrixNum;
}
}
}
+2 -2
View File
@@ -2122,12 +2122,12 @@ static void sub_8038B94(u8 taskId)
if (species != SPECIES_EGG && hp != 0 && status == 0)
r7 |= 1 << i * 2;
if (species == 0)
if (species == SPECIES_NONE)
continue;
if (hp != 0 && (species == SPECIES_EGG || status != 0))
r7 |= 2 << i * 2;
if (species == 0)
if (species == SPECIES_NONE)
continue;
if (species != SPECIES_EGG && hp == 0)
r7 |= 3 << i * 2;
+1 -1
View File
@@ -8648,7 +8648,7 @@ static void atkAE_healpartystatus(void)
u16 species = GetMonData(&party[i], MON_DATA_SPECIES2);
u8 abilityBit = GetMonData(&party[i], MON_DATA_ALT_ABILITY);
if (species != 0 && species != SPECIES_EGG)
if (species != SPECIES_NONE && species != SPECIES_EGG)
{
u8 ability;
+4 -3
View File
@@ -13,6 +13,7 @@
#include "string_util.h"
#include "constants/items.h"
#include "constants/region_map_sections.h"
#include "constants/species.h"
// This file's functions.
static void sub_81B99D4(void);
@@ -292,7 +293,7 @@ static void sub_81B9EC0(void)
heldItems[i] = 0;
}
gFacilityTrainerMons = gSlateportBattleTentMons;
currSpecies = 0;
currSpecies = SPECIES_NONE;
i = 0;
while (i != PARTY_SIZE)
{
@@ -305,7 +306,7 @@ static void sub_81B9EC0(void)
break;
if (species[j] == gFacilityTrainerMons[monSetId].species)
{
if (currSpecies == 0)
if (currSpecies == SPECIES_NONE)
currSpecies = gFacilityTrainerMons[monSetId].species;
else
break;
@@ -320,7 +321,7 @@ static void sub_81B9EC0(void)
if (heldItems[j] != 0 && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
{
if (gFacilityTrainerMons[monSetId].species == currSpecies)
currSpecies = 0;
currSpecies = SPECIES_NONE;
break;
}
}
+4 -4
View File
@@ -395,7 +395,7 @@ void AnimTranslateStinger(struct Sprite *sprite)
lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
rot = ArcTan2Neg(lVarX - sprite->pos1.x, lVarY - sprite->pos1.y);
rot += 0xC000;
sub_80A73E0(sprite, FALSE, 0x100, 0x100, rot);
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rot);
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = lVarX;
@@ -458,7 +458,7 @@ static void AnimMissileArcStep(struct Sprite *sprite)
u16 rotation = ArcTan2Neg(sprite->pos1.x + sprite->pos2.x - x2,
sprite->pos1.y + sprite->pos2.y - y2);
rotation += 0xC000;
sub_80A73E0(sprite, FALSE, 0x100, 0x100, rotation);
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rotation);
for (i = 0; i < 8; i++)
data[i] = tempData[i];
@@ -479,6 +479,6 @@ void sub_8110994(struct Sprite *sprite)
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 18;
}
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_80A67BC;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
+1 -1
View File
@@ -2520,7 +2520,7 @@ u8 sub_80DB174(u16 species, u32 otId, u32 personality, u32 index)
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x70, GetBattlerSpriteFinal_Y(2, species, FALSE), 30);
gSprites[spriteId].oam.paletteNum = 2;
gSprites[spriteId].oam.priority = 2;
gSprites[spriteId].subpriority = GetBattlerSubpriority(2);
gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(2);
gSprites[spriteId].callback = SpriteCallbackDummy;
gSprites[spriteId].data[0] = gSprites[spriteId].oam.paletteNum;
gSprites[spriteId].data[2] = species;
+444 -441
View File
@@ -1,4 +1,4 @@

const union AnimCmd gAnimCmd_NONE_1[] =
{
ANIMCMD_FRAME(0, 30),
@@ -6946,446 +6946,449 @@ const union AnimCmd *const gAnims_UNOWN_QMARK[] ={
gAnimCmd_UNOWN_QMARK_1,
};
#define ANIM_CMD(name) [SPECIES_##name] = gAnims_##name
#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims
const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] =
{
gAnims_NONE,
gAnims_BULBASAUR,
gAnims_IVYSAUR,
gAnims_VENUSAUR,
gAnims_CHARMANDER,
gAnims_CHARMELEON,
gAnims_CHARIZARD,
gAnims_SQUIRTLE,
gAnims_WARTORTLE,
gAnims_BLASTOISE,
gAnims_CATERPIE,
gAnims_METAPOD,
gAnims_BUTTERFREE,
gAnims_WEEDLE,
gAnims_KAKUNA,
gAnims_BEEDRILL,
gAnims_PIDGEY,
gAnims_PIDGEOTTO,
gAnims_PIDGEOT,
gAnims_RATTATA,
gAnims_RATICATE,
gAnims_SPEAROW,
gAnims_FEAROW,
gAnims_EKANS,
gAnims_ARBOK,
gAnims_PIKACHU,
gAnims_RAICHU,
gAnims_SANDSHREW,
gAnims_SANDSLASH,
gAnims_NIDORAN_F,
gAnims_NIDORINA,
gAnims_NIDOQUEEN,
gAnims_NIDORAN_M,
gAnims_NIDORINO,
gAnims_NIDOKING,
gAnims_CLEFAIRY,
gAnims_CLEFABLE,
gAnims_VULPIX,
gAnims_NINETALES,
gAnims_JIGGLYPUFF,
gAnims_WIGGLYTUFF,
gAnims_ZUBAT,
gAnims_GOLBAT,
gAnims_ODDISH,
gAnims_GLOOM,
gAnims_VILEPLUME,
gAnims_PARAS,
gAnims_PARASECT,
gAnims_VENONAT,
gAnims_VENOMOTH,
gAnims_DIGLETT,
gAnims_DUGTRIO,
gAnims_MEOWTH,
gAnims_PERSIAN,
gAnims_PSYDUCK,
gAnims_GOLDUCK,
gAnims_MANKEY,
gAnims_PRIMEAPE,
gAnims_GROWLITHE,
gAnims_ARCANINE,
gAnims_POLIWAG,
gAnims_POLIWHIRL,
gAnims_POLIWRATH,
gAnims_ABRA,
gAnims_KADABRA,
gAnims_ALAKAZAM,
gAnims_MACHOP,
gAnims_MACHOKE,
gAnims_MACHAMP,
gAnims_BELLSPROUT,
gAnims_WEEPINBELL,
gAnims_VICTREEBEL,
gAnims_TENTACOOL,
gAnims_TENTACRUEL,
gAnims_GEODUDE,
gAnims_GRAVELER,
gAnims_GOLEM,
gAnims_PONYTA,
gAnims_RAPIDASH,
gAnims_SLOWPOKE,
gAnims_SLOWBRO,
gAnims_MAGNEMITE,
gAnims_MAGNETON,
gAnims_FARFETCHD,
gAnims_DODUO,
gAnims_DODRIO,
gAnims_SEEL,
gAnims_DEWGONG,
gAnims_GRIMER,
gAnims_MUK,
gAnims_SHELLDER,
gAnims_CLOYSTER,
gAnims_GASTLY,
gAnims_HAUNTER,
gAnims_GENGAR,
gAnims_ONIX,
gAnims_DROWZEE,
gAnims_HYPNO,
gAnims_KRABBY,
gAnims_KINGLER,
gAnims_VOLTORB,
gAnims_ELECTRODE,
gAnims_EXEGGCUTE,
gAnims_EXEGGUTOR,
gAnims_CUBONE,
gAnims_MAROWAK,
gAnims_HITMONLEE,
gAnims_HITMONCHAN,
gAnims_LICKITUNG,
gAnims_KOFFING,
gAnims_WEEZING,
gAnims_RHYHORN,
gAnims_RHYDON,
gAnims_CHANSEY,
gAnims_TANGELA,
gAnims_KANGASKHAN,
gAnims_HORSEA,
gAnims_SEADRA,
gAnims_GOLDEEN,
gAnims_SEAKING,
gAnims_STARYU,
gAnims_STARMIE,
gAnims_MR_MIME,
gAnims_SCYTHER,
gAnims_JYNX,
gAnims_ELECTABUZZ,
gAnims_MAGMAR,
gAnims_PINSIR,
gAnims_TAUROS,
gAnims_MAGIKARP,
gAnims_GYARADOS,
gAnims_LAPRAS,
gAnims_DITTO,
gAnims_EEVEE,
gAnims_VAPOREON,
gAnims_JOLTEON,
gAnims_FLAREON,
gAnims_PORYGON,
gAnims_OMANYTE,
gAnims_OMASTAR,
gAnims_KABUTO,
gAnims_KABUTOPS,
gAnims_AERODACTYL,
gAnims_SNORLAX,
gAnims_ARTICUNO,
gAnims_ZAPDOS,
gAnims_MOLTRES,
gAnims_DRATINI,
gAnims_DRAGONAIR,
gAnims_DRAGONITE,
gAnims_MEWTWO,
gAnims_MEW,
gAnims_CHIKORITA,
gAnims_BAYLEEF,
gAnims_MEGANIUM,
gAnims_CYNDAQUIL,
gAnims_QUILAVA,
gAnims_TYPHLOSION,
gAnims_TOTODILE,
gAnims_CROCONAW,
gAnims_FERALIGATR,
gAnims_SENTRET,
gAnims_FURRET,
gAnims_HOOTHOOT,
gAnims_NOCTOWL,
gAnims_LEDYBA,
gAnims_LEDIAN,
gAnims_SPINARAK,
gAnims_ARIADOS,
gAnims_CROBAT,
gAnims_CHINCHOU,
gAnims_LANTURN,
gAnims_PICHU,
gAnims_CLEFFA,
gAnims_IGGLYBUFF,
gAnims_TOGEPI,
gAnims_TOGETIC,
gAnims_NATU,
gAnims_XATU,
gAnims_MAREEP,
gAnims_FLAAFFY,
gAnims_AMPHAROS,
gAnims_BELLOSSOM,
gAnims_MARILL,
gAnims_AZUMARILL,
gAnims_SUDOWOODO,
gAnims_POLITOED,
gAnims_HOPPIP,
gAnims_SKIPLOOM,
gAnims_JUMPLUFF,
gAnims_AIPOM,
gAnims_SUNKERN,
gAnims_SUNFLORA,
gAnims_YANMA,
gAnims_WOOPER,
gAnims_QUAGSIRE,
gAnims_ESPEON,
gAnims_UMBREON,
gAnims_MURKROW,
gAnims_SLOWKING,
gAnims_MISDREAVUS,
gAnims_UNOWN,
gAnims_WOBBUFFET,
gAnims_GIRAFARIG,
gAnims_PINECO,
gAnims_FORRETRESS,
gAnims_DUNSPARCE,
gAnims_GLIGAR,
gAnims_STEELIX,
gAnims_SNUBBULL,
gAnims_GRANBULL,
gAnims_QWILFISH,
gAnims_SCIZOR,
gAnims_SHUCKLE,
gAnims_HERACROSS,
gAnims_SNEASEL,
gAnims_TEDDIURSA,
gAnims_URSARING,
gAnims_SLUGMA,
gAnims_MAGCARGO,
gAnims_SWINUB,
gAnims_PILOSWINE,
gAnims_CORSOLA,
gAnims_REMORAID,
gAnims_OCTILLERY,
gAnims_DELIBIRD,
gAnims_MANTINE,
gAnims_SKARMORY,
gAnims_HOUNDOUR,
gAnims_HOUNDOOM,
gAnims_KINGDRA,
gAnims_PHANPY,
gAnims_DONPHAN,
gAnims_PORYGON2,
gAnims_STANTLER,
gAnims_SMEARGLE,
gAnims_TYROGUE,
gAnims_HITMONTOP,
gAnims_SMOOCHUM,
gAnims_ELEKID,
gAnims_MAGBY,
gAnims_MILTANK,
gAnims_BLISSEY,
gAnims_RAIKOU,
gAnims_ENTEI,
gAnims_SUICUNE,
gAnims_LARVITAR,
gAnims_PUPITAR,
gAnims_TYRANITAR,
gAnims_LUGIA,
gAnims_HO_OH,
gAnims_CELEBI,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_OLD_UNOWN_B,
gAnims_TREECKO,
gAnims_GROVYLE,
gAnims_SCEPTILE,
gAnims_TORCHIC,
gAnims_COMBUSKEN,
gAnims_BLAZIKEN,
gAnims_MUDKIP,
gAnims_MARSHTOMP,
gAnims_SWAMPERT,
gAnims_POOCHYENA,
gAnims_MIGHTYENA,
gAnims_ZIGZAGOON,
gAnims_LINOONE,
gAnims_WURMPLE,
gAnims_SILCOON,
gAnims_BEAUTIFLY,
gAnims_CASCOON,
gAnims_DUSTOX,
gAnims_LOTAD,
gAnims_LOMBRE,
gAnims_LUDICOLO,
gAnims_SEEDOT,
gAnims_NUZLEAF,
gAnims_SHIFTRY,
gAnims_NINCADA,
gAnims_NINJASK,
gAnims_SHEDINJA,
gAnims_TAILLOW,
gAnims_SWELLOW,
gAnims_SHROOMISH,
gAnims_BRELOOM,
gAnims_SPINDA,
gAnims_WINGULL,
gAnims_PELIPPER,
gAnims_SURSKIT,
gAnims_MASQUERAIN,
gAnims_WAILMER,
gAnims_WAILORD,
gAnims_SKITTY,
gAnims_DELCATTY,
gAnims_KECLEON,
gAnims_BALTOY,
gAnims_CLAYDOL,
gAnims_NOSEPASS,
gAnims_TORKOAL,
gAnims_SABLEYE,
gAnims_BARBOACH,
gAnims_WHISCASH,
gAnims_LUVDISC,
gAnims_CORPHISH,
gAnims_CRAWDAUNT,
gAnims_FEEBAS,
gAnims_MILOTIC,
gAnims_CARVANHA,
gAnims_SHARPEDO,
gAnims_TRAPINCH,
gAnims_VIBRAVA,
gAnims_FLYGON,
gAnims_MAKUHITA,
gAnims_HARIYAMA,
gAnims_ELECTRIKE,
gAnims_MANECTRIC,
gAnims_NUMEL,
gAnims_CAMERUPT,
gAnims_SPHEAL,
gAnims_SEALEO,
gAnims_WALREIN,
gAnims_CACNEA,
gAnims_CACTURNE,
gAnims_SNORUNT,
gAnims_GLALIE,
gAnims_LUNATONE,
gAnims_SOLROCK,
gAnims_AZURILL,
gAnims_SPOINK,
gAnims_GRUMPIG,
gAnims_PLUSLE,
gAnims_MINUN,
gAnims_MAWILE,
gAnims_MEDITITE,
gAnims_MEDICHAM,
gAnims_SWABLU,
gAnims_ALTARIA,
gAnims_WYNAUT,
gAnims_DUSKULL,
gAnims_DUSCLOPS,
gAnims_ROSELIA,
gAnims_SLAKOTH,
gAnims_VIGOROTH,
gAnims_SLAKING,
gAnims_GULPIN,
gAnims_SWALOT,
gAnims_TROPIUS,
gAnims_WHISMUR,
gAnims_LOUDRED,
gAnims_EXPLOUD,
gAnims_CLAMPERL,
gAnims_HUNTAIL,
gAnims_GOREBYSS,
gAnims_ABSOL,
gAnims_SHUPPET,
gAnims_BANETTE,
gAnims_SEVIPER,
gAnims_ZANGOOSE,
gAnims_RELICANTH,
gAnims_ARON,
gAnims_LAIRON,
gAnims_AGGRON,
gAnims_CASTFORM,
gAnims_VOLBEAT,
gAnims_ILLUMISE,
gAnims_LILEEP,
gAnims_CRADILY,
gAnims_ANORITH,
gAnims_ARMALDO,
gAnims_RALTS,
gAnims_KIRLIA,
gAnims_GARDEVOIR,
gAnims_BAGON,
gAnims_SHELGON,
gAnims_SALAMENCE,
gAnims_BELDUM,
gAnims_METANG,
gAnims_METAGROSS,
gAnims_REGIROCK,
gAnims_REGICE,
gAnims_REGISTEEL,
gAnims_KYOGRE,
gAnims_GROUDON,
gAnims_RAYQUAZA,
gAnims_LATIAS,
gAnims_LATIOS,
gAnims_JIRACHI,
gAnims_DEOXYS,
gAnims_CHIMECHO,
gAnims_EGG,
gAnims_UNOWN_B,
gAnims_UNOWN_C,
gAnims_UNOWN_D,
gAnims_UNOWN_E,
gAnims_UNOWN_F,
gAnims_UNOWN_G,
gAnims_UNOWN_H,
gAnims_UNOWN_I,
gAnims_UNOWN_J,
gAnims_UNOWN_K,
gAnims_UNOWN_L,
gAnims_UNOWN_M,
gAnims_UNOWN_N,
gAnims_UNOWN_O,
gAnims_UNOWN_P,
gAnims_UNOWN_Q,
gAnims_UNOWN_R,
gAnims_UNOWN_S,
gAnims_UNOWN_T,
gAnims_UNOWN_U,
gAnims_UNOWN_V,
gAnims_UNOWN_W,
gAnims_UNOWN_X,
gAnims_UNOWN_Y,
gAnims_UNOWN_Z,
gAnims_UNOWN_EMARK,
gAnims_UNOWN_QMARK,
ANIM_CMD(NONE),
ANIM_CMD(BULBASAUR),
ANIM_CMD(IVYSAUR),
ANIM_CMD(VENUSAUR),
ANIM_CMD(CHARMANDER),
ANIM_CMD(CHARMELEON),
ANIM_CMD(CHARIZARD),
ANIM_CMD(SQUIRTLE),
ANIM_CMD(WARTORTLE),
ANIM_CMD(BLASTOISE),
ANIM_CMD(CATERPIE),
ANIM_CMD(METAPOD),
ANIM_CMD(BUTTERFREE),
ANIM_CMD(WEEDLE),
ANIM_CMD(KAKUNA),
ANIM_CMD(BEEDRILL),
ANIM_CMD(PIDGEY),
ANIM_CMD(PIDGEOTTO),
ANIM_CMD(PIDGEOT),
ANIM_CMD(RATTATA),
ANIM_CMD(RATICATE),
ANIM_CMD(SPEAROW),
ANIM_CMD(FEAROW),
ANIM_CMD(EKANS),
ANIM_CMD(ARBOK),
ANIM_CMD(PIKACHU),
ANIM_CMD(RAICHU),
ANIM_CMD(SANDSHREW),
ANIM_CMD(SANDSLASH),
ANIM_CMD(NIDORAN_F),
ANIM_CMD(NIDORINA),
ANIM_CMD(NIDOQUEEN),
ANIM_CMD(NIDORAN_M),
ANIM_CMD(NIDORINO),
ANIM_CMD(NIDOKING),
ANIM_CMD(CLEFAIRY),
ANIM_CMD(CLEFABLE),
ANIM_CMD(VULPIX),
ANIM_CMD(NINETALES),
ANIM_CMD(JIGGLYPUFF),
ANIM_CMD(WIGGLYTUFF),
ANIM_CMD(ZUBAT),
ANIM_CMD(GOLBAT),
ANIM_CMD(ODDISH),
ANIM_CMD(GLOOM),
ANIM_CMD(VILEPLUME),
ANIM_CMD(PARAS),
ANIM_CMD(PARASECT),
ANIM_CMD(VENONAT),
ANIM_CMD(VENOMOTH),
ANIM_CMD(DIGLETT),
ANIM_CMD(DUGTRIO),
ANIM_CMD(MEOWTH),
ANIM_CMD(PERSIAN),
ANIM_CMD(PSYDUCK),
ANIM_CMD(GOLDUCK),
ANIM_CMD(MANKEY),
ANIM_CMD(PRIMEAPE),
ANIM_CMD(GROWLITHE),
ANIM_CMD(ARCANINE),
ANIM_CMD(POLIWAG),
ANIM_CMD(POLIWHIRL),
ANIM_CMD(POLIWRATH),
ANIM_CMD(ABRA),
ANIM_CMD(KADABRA),
ANIM_CMD(ALAKAZAM),
ANIM_CMD(MACHOP),
ANIM_CMD(MACHOKE),
ANIM_CMD(MACHAMP),
ANIM_CMD(BELLSPROUT),
ANIM_CMD(WEEPINBELL),
ANIM_CMD(VICTREEBEL),
ANIM_CMD(TENTACOOL),
ANIM_CMD(TENTACRUEL),
ANIM_CMD(GEODUDE),
ANIM_CMD(GRAVELER),
ANIM_CMD(GOLEM),
ANIM_CMD(PONYTA),
ANIM_CMD(RAPIDASH),
ANIM_CMD(SLOWPOKE),
ANIM_CMD(SLOWBRO),
ANIM_CMD(MAGNEMITE),
ANIM_CMD(MAGNETON),
ANIM_CMD(FARFETCHD),
ANIM_CMD(DODUO),
ANIM_CMD(DODRIO),
ANIM_CMD(SEEL),
ANIM_CMD(DEWGONG),
ANIM_CMD(GRIMER),
ANIM_CMD(MUK),
ANIM_CMD(SHELLDER),
ANIM_CMD(CLOYSTER),
ANIM_CMD(GASTLY),
ANIM_CMD(HAUNTER),
ANIM_CMD(GENGAR),
ANIM_CMD(ONIX),
ANIM_CMD(DROWZEE),
ANIM_CMD(HYPNO),
ANIM_CMD(KRABBY),
ANIM_CMD(KINGLER),
ANIM_CMD(VOLTORB),
ANIM_CMD(ELECTRODE),
ANIM_CMD(EXEGGCUTE),
ANIM_CMD(EXEGGUTOR),
ANIM_CMD(CUBONE),
ANIM_CMD(MAROWAK),
ANIM_CMD(HITMONLEE),
ANIM_CMD(HITMONCHAN),
ANIM_CMD(LICKITUNG),
ANIM_CMD(KOFFING),
ANIM_CMD(WEEZING),
ANIM_CMD(RHYHORN),
ANIM_CMD(RHYDON),
ANIM_CMD(CHANSEY),
ANIM_CMD(TANGELA),
ANIM_CMD(KANGASKHAN),
ANIM_CMD(HORSEA),
ANIM_CMD(SEADRA),
ANIM_CMD(GOLDEEN),
ANIM_CMD(SEAKING),
ANIM_CMD(STARYU),
ANIM_CMD(STARMIE),
ANIM_CMD(MR_MIME),
ANIM_CMD(SCYTHER),
ANIM_CMD(JYNX),
ANIM_CMD(ELECTABUZZ),
ANIM_CMD(MAGMAR),
ANIM_CMD(PINSIR),
ANIM_CMD(TAUROS),
ANIM_CMD(MAGIKARP),
ANIM_CMD(GYARADOS),
ANIM_CMD(LAPRAS),
ANIM_CMD(DITTO),
ANIM_CMD(EEVEE),
ANIM_CMD(VAPOREON),
ANIM_CMD(JOLTEON),
ANIM_CMD(FLAREON),
ANIM_CMD(PORYGON),
ANIM_CMD(OMANYTE),
ANIM_CMD(OMASTAR),
ANIM_CMD(KABUTO),
ANIM_CMD(KABUTOPS),
ANIM_CMD(AERODACTYL),
ANIM_CMD(SNORLAX),
ANIM_CMD(ARTICUNO),
ANIM_CMD(ZAPDOS),
ANIM_CMD(MOLTRES),
ANIM_CMD(DRATINI),
ANIM_CMD(DRAGONAIR),
ANIM_CMD(DRAGONITE),
ANIM_CMD(MEWTWO),
ANIM_CMD(MEW),
ANIM_CMD(CHIKORITA),
ANIM_CMD(BAYLEEF),
ANIM_CMD(MEGANIUM),
ANIM_CMD(CYNDAQUIL),
ANIM_CMD(QUILAVA),
ANIM_CMD(TYPHLOSION),
ANIM_CMD(TOTODILE),
ANIM_CMD(CROCONAW),
ANIM_CMD(FERALIGATR),
ANIM_CMD(SENTRET),
ANIM_CMD(FURRET),
ANIM_CMD(HOOTHOOT),
ANIM_CMD(NOCTOWL),
ANIM_CMD(LEDYBA),
ANIM_CMD(LEDIAN),
ANIM_CMD(SPINARAK),
ANIM_CMD(ARIADOS),
ANIM_CMD(CROBAT),
ANIM_CMD(CHINCHOU),
ANIM_CMD(LANTURN),
ANIM_CMD(PICHU),
ANIM_CMD(CLEFFA),
ANIM_CMD(IGGLYBUFF),
ANIM_CMD(TOGEPI),
ANIM_CMD(TOGETIC),
ANIM_CMD(NATU),
ANIM_CMD(XATU),
ANIM_CMD(MAREEP),
ANIM_CMD(FLAAFFY),
ANIM_CMD(AMPHAROS),
ANIM_CMD(BELLOSSOM),
ANIM_CMD(MARILL),
ANIM_CMD(AZUMARILL),
ANIM_CMD(SUDOWOODO),
ANIM_CMD(POLITOED),
ANIM_CMD(HOPPIP),
ANIM_CMD(SKIPLOOM),
ANIM_CMD(JUMPLUFF),
ANIM_CMD(AIPOM),
ANIM_CMD(SUNKERN),
ANIM_CMD(SUNFLORA),
ANIM_CMD(YANMA),
ANIM_CMD(WOOPER),
ANIM_CMD(QUAGSIRE),
ANIM_CMD(ESPEON),
ANIM_CMD(UMBREON),
ANIM_CMD(MURKROW),
ANIM_CMD(SLOWKING),
ANIM_CMD(MISDREAVUS),
ANIM_CMD(UNOWN),
ANIM_CMD(WOBBUFFET),
ANIM_CMD(GIRAFARIG),
ANIM_CMD(PINECO),
ANIM_CMD(FORRETRESS),
ANIM_CMD(DUNSPARCE),
ANIM_CMD(GLIGAR),
ANIM_CMD(STEELIX),
ANIM_CMD(SNUBBULL),
ANIM_CMD(GRANBULL),
ANIM_CMD(QWILFISH),
ANIM_CMD(SCIZOR),
ANIM_CMD(SHUCKLE),
ANIM_CMD(HERACROSS),
ANIM_CMD(SNEASEL),
ANIM_CMD(TEDDIURSA),
ANIM_CMD(URSARING),
ANIM_CMD(SLUGMA),
ANIM_CMD(MAGCARGO),
ANIM_CMD(SWINUB),
ANIM_CMD(PILOSWINE),
ANIM_CMD(CORSOLA),
ANIM_CMD(REMORAID),
ANIM_CMD(OCTILLERY),
ANIM_CMD(DELIBIRD),
ANIM_CMD(MANTINE),
ANIM_CMD(SKARMORY),
ANIM_CMD(HOUNDOUR),
ANIM_CMD(HOUNDOOM),
ANIM_CMD(KINGDRA),
ANIM_CMD(PHANPY),
ANIM_CMD(DONPHAN),
ANIM_CMD(PORYGON2),
ANIM_CMD(STANTLER),
ANIM_CMD(SMEARGLE),
ANIM_CMD(TYROGUE),
ANIM_CMD(HITMONTOP),
ANIM_CMD(SMOOCHUM),
ANIM_CMD(ELEKID),
ANIM_CMD(MAGBY),
ANIM_CMD(MILTANK),
ANIM_CMD(BLISSEY),
ANIM_CMD(RAIKOU),
ANIM_CMD(ENTEI),
ANIM_CMD(SUICUNE),
ANIM_CMD(LARVITAR),
ANIM_CMD(PUPITAR),
ANIM_CMD(TYRANITAR),
ANIM_CMD(LUGIA),
ANIM_CMD(HO_OH),
ANIM_CMD(CELEBI),
ANIM_CMD(OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_C, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_D, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_E, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_F, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_G, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_H, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_I, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_J, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_K, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_L, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_M, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_N, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_O, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_P, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_Q, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_R, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_S, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_T, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_U, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_V, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_W, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_X, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_Y, gAnims_OLD_UNOWN_B),
ANIM_CMD_FULL(OLD_UNOWN_Z, gAnims_OLD_UNOWN_B),
ANIM_CMD(TREECKO),
ANIM_CMD(GROVYLE),
ANIM_CMD(SCEPTILE),
ANIM_CMD(TORCHIC),
ANIM_CMD(COMBUSKEN),
ANIM_CMD(BLAZIKEN),
ANIM_CMD(MUDKIP),
ANIM_CMD(MARSHTOMP),
ANIM_CMD(SWAMPERT),
ANIM_CMD(POOCHYENA),
ANIM_CMD(MIGHTYENA),
ANIM_CMD(ZIGZAGOON),
ANIM_CMD(LINOONE),
ANIM_CMD(WURMPLE),
ANIM_CMD(SILCOON),
ANIM_CMD(BEAUTIFLY),
ANIM_CMD(CASCOON),
ANIM_CMD(DUSTOX),
ANIM_CMD(LOTAD),
ANIM_CMD(LOMBRE),
ANIM_CMD(LUDICOLO),
ANIM_CMD(SEEDOT),
ANIM_CMD(NUZLEAF),
ANIM_CMD(SHIFTRY),
ANIM_CMD(NINCADA),
ANIM_CMD(NINJASK),
ANIM_CMD(SHEDINJA),
ANIM_CMD(TAILLOW),
ANIM_CMD(SWELLOW),
ANIM_CMD(SHROOMISH),
ANIM_CMD(BRELOOM),
ANIM_CMD(SPINDA),
ANIM_CMD(WINGULL),
ANIM_CMD(PELIPPER),
ANIM_CMD(SURSKIT),
ANIM_CMD(MASQUERAIN),
ANIM_CMD(WAILMER),
ANIM_CMD(WAILORD),
ANIM_CMD(SKITTY),
ANIM_CMD(DELCATTY),
ANIM_CMD(KECLEON),
ANIM_CMD(BALTOY),
ANIM_CMD(CLAYDOL),
ANIM_CMD(NOSEPASS),
ANIM_CMD(TORKOAL),
ANIM_CMD(SABLEYE),
ANIM_CMD(BARBOACH),
ANIM_CMD(WHISCASH),
ANIM_CMD(LUVDISC),
ANIM_CMD(CORPHISH),
ANIM_CMD(CRAWDAUNT),
ANIM_CMD(FEEBAS),
ANIM_CMD(MILOTIC),
ANIM_CMD(CARVANHA),
ANIM_CMD(SHARPEDO),
ANIM_CMD(TRAPINCH),
ANIM_CMD(VIBRAVA),
ANIM_CMD(FLYGON),
ANIM_CMD(MAKUHITA),
ANIM_CMD(HARIYAMA),
ANIM_CMD(ELECTRIKE),
ANIM_CMD(MANECTRIC),
ANIM_CMD(NUMEL),
ANIM_CMD(CAMERUPT),
ANIM_CMD(SPHEAL),
ANIM_CMD(SEALEO),
ANIM_CMD(WALREIN),
ANIM_CMD(CACNEA),
ANIM_CMD(CACTURNE),
ANIM_CMD(SNORUNT),
ANIM_CMD(GLALIE),
ANIM_CMD(LUNATONE),
ANIM_CMD(SOLROCK),
ANIM_CMD(AZURILL),
ANIM_CMD(SPOINK),
ANIM_CMD(GRUMPIG),
ANIM_CMD(PLUSLE),
ANIM_CMD(MINUN),
ANIM_CMD(MAWILE),
ANIM_CMD(MEDITITE),
ANIM_CMD(MEDICHAM),
ANIM_CMD(SWABLU),
ANIM_CMD(ALTARIA),
ANIM_CMD(WYNAUT),
ANIM_CMD(DUSKULL),
ANIM_CMD(DUSCLOPS),
ANIM_CMD(ROSELIA),
ANIM_CMD(SLAKOTH),
ANIM_CMD(VIGOROTH),
ANIM_CMD(SLAKING),
ANIM_CMD(GULPIN),
ANIM_CMD(SWALOT),
ANIM_CMD(TROPIUS),
ANIM_CMD(WHISMUR),
ANIM_CMD(LOUDRED),
ANIM_CMD(EXPLOUD),
ANIM_CMD(CLAMPERL),
ANIM_CMD(HUNTAIL),
ANIM_CMD(GOREBYSS),
ANIM_CMD(ABSOL),
ANIM_CMD(SHUPPET),
ANIM_CMD(BANETTE),
ANIM_CMD(SEVIPER),
ANIM_CMD(ZANGOOSE),
ANIM_CMD(RELICANTH),
ANIM_CMD(ARON),
ANIM_CMD(LAIRON),
ANIM_CMD(AGGRON),
ANIM_CMD(CASTFORM),
ANIM_CMD(VOLBEAT),
ANIM_CMD(ILLUMISE),
ANIM_CMD(LILEEP),
ANIM_CMD(CRADILY),
ANIM_CMD(ANORITH),
ANIM_CMD(ARMALDO),
ANIM_CMD(RALTS),
ANIM_CMD(KIRLIA),
ANIM_CMD(GARDEVOIR),
ANIM_CMD(BAGON),
ANIM_CMD(SHELGON),
ANIM_CMD(SALAMENCE),
ANIM_CMD(BELDUM),
ANIM_CMD(METANG),
ANIM_CMD(METAGROSS),
ANIM_CMD(REGIROCK),
ANIM_CMD(REGICE),
ANIM_CMD(REGISTEEL),
ANIM_CMD(KYOGRE),
ANIM_CMD(GROUDON),
ANIM_CMD(RAYQUAZA),
ANIM_CMD(LATIAS),
ANIM_CMD(LATIOS),
ANIM_CMD(JIRACHI),
ANIM_CMD(DEOXYS),
ANIM_CMD(CHIMECHO),
ANIM_CMD(EGG),
ANIM_CMD(UNOWN_B),
ANIM_CMD(UNOWN_C),
ANIM_CMD(UNOWN_D),
ANIM_CMD(UNOWN_E),
ANIM_CMD(UNOWN_F),
ANIM_CMD(UNOWN_G),
ANIM_CMD(UNOWN_H),
ANIM_CMD(UNOWN_I),
ANIM_CMD(UNOWN_J),
ANIM_CMD(UNOWN_K),
ANIM_CMD(UNOWN_L),
ANIM_CMD(UNOWN_M),
ANIM_CMD(UNOWN_N),
ANIM_CMD(UNOWN_O),
ANIM_CMD(UNOWN_P),
ANIM_CMD(UNOWN_Q),
ANIM_CMD(UNOWN_R),
ANIM_CMD(UNOWN_S),
ANIM_CMD(UNOWN_T),
ANIM_CMD(UNOWN_U),
ANIM_CMD(UNOWN_V),
ANIM_CMD(UNOWN_W),
ANIM_CMD(UNOWN_X),
ANIM_CMD(UNOWN_Y),
ANIM_CMD(UNOWN_Z),
ANIM_CMD(UNOWN_EMARK),
ANIM_CMD(UNOWN_QMARK),
};
+443 -441
View File
@@ -1,446 +1,448 @@
#define STILL_FRONT_PIC(species, frontpic) [SPECIES_##species] = {frontpic, 0x800, SPECIES_##species}
const struct CompressedSpriteSheet gMonStillFrontPicTable[] =
{ //.data .size .tag
gMonStillFrontPic_CircledQuestionMark, 0x800, 0,
gMonStillFrontPic_Bulbasaur, 0x800, 1,
gMonStillFrontPic_Ivysaur, 0x800, 2,
gMonStillFrontPic_Venusaur, 0x800, 3,
gMonStillFrontPic_Charmander, 0x800, 4,
gMonStillFrontPic_Charmeleon, 0x800, 5,
gMonStillFrontPic_Charizard, 0x800, 6,
gMonStillFrontPic_Squirtle, 0x800, 7,
gMonStillFrontPic_Wartortle, 0x800, 8,
gMonStillFrontPic_Blastoise, 0x800, 9,
gMonStillFrontPic_Caterpie, 0x800, 10,
gMonStillFrontPic_Metapod, 0x800, 11,
gMonStillFrontPic_Butterfree, 0x800, 12,
gMonStillFrontPic_Weedle, 0x800, 13,
gMonStillFrontPic_Kakuna, 0x800, 14,
gMonStillFrontPic_Beedrill, 0x800, 15,
gMonStillFrontPic_Pidgey, 0x800, 16,
gMonStillFrontPic_Pidgeotto, 0x800, 17,
gMonStillFrontPic_Pidgeot, 0x800, 18,
gMonStillFrontPic_Rattata, 0x800, 19,
gMonStillFrontPic_Raticate, 0x800, 20,
gMonStillFrontPic_Spearow, 0x800, 21,
gMonStillFrontPic_Fearow, 0x800, 22,
gMonStillFrontPic_Ekans, 0x800, 23,
gMonStillFrontPic_Arbok, 0x800, 24,
gMonStillFrontPic_Pikachu, 0x800, 25,
gMonStillFrontPic_Raichu, 0x800, 26,
gMonStillFrontPic_Sandshrew, 0x800, 27,
gMonStillFrontPic_Sandslash, 0x800, 28,
gMonStillFrontPic_NidoranF, 0x800, 29,
gMonStillFrontPic_Nidorina, 0x800, 30,
gMonStillFrontPic_Nidoqueen, 0x800, 31,
gMonStillFrontPic_NidoranM, 0x800, 32,
gMonStillFrontPic_Nidorino, 0x800, 33,
gMonStillFrontPic_Nidoking, 0x800, 34,
gMonStillFrontPic_Clefairy, 0x800, 35,
gMonStillFrontPic_Clefable, 0x800, 36,
gMonStillFrontPic_Vulpix, 0x800, 37,
gMonStillFrontPic_Ninetales, 0x800, 38,
gMonStillFrontPic_Jigglypuff, 0x800, 39,
gMonStillFrontPic_Wigglytuff, 0x800, 40,
gMonStillFrontPic_Zubat, 0x800, 41,
gMonStillFrontPic_Golbat, 0x800, 42,
gMonStillFrontPic_Oddish, 0x800, 43,
gMonStillFrontPic_Gloom, 0x800, 44,
gMonStillFrontPic_Vileplume, 0x800, 45,
gMonStillFrontPic_Paras, 0x800, 46,
gMonStillFrontPic_Parasect, 0x800, 47,
gMonStillFrontPic_Venonat, 0x800, 48,
gMonStillFrontPic_Venomoth, 0x800, 49,
gMonStillFrontPic_Diglett, 0x800, 50,
gMonStillFrontPic_Dugtrio, 0x800, 51,
gMonStillFrontPic_Meowth, 0x800, 52,
gMonStillFrontPic_Persian, 0x800, 53,
gMonStillFrontPic_Psyduck, 0x800, 54,
gMonStillFrontPic_Golduck, 0x800, 55,
gMonStillFrontPic_Mankey, 0x800, 56,
gMonStillFrontPic_Primeape, 0x800, 57,
gMonStillFrontPic_Growlithe, 0x800, 58,
gMonStillFrontPic_Arcanine, 0x800, 59,
gMonStillFrontPic_Poliwag, 0x800, 60,
gMonStillFrontPic_Poliwhirl, 0x800, 61,
gMonStillFrontPic_Poliwrath, 0x800, 62,
gMonStillFrontPic_Abra, 0x800, 63,
gMonStillFrontPic_Kadabra, 0x800, 64,
gMonStillFrontPic_Alakazam, 0x800, 65,
gMonStillFrontPic_Machop, 0x800, 66,
gMonStillFrontPic_Machoke, 0x800, 67,
gMonStillFrontPic_Machamp, 0x800, 68,
gMonStillFrontPic_Bellsprout, 0x800, 69,
gMonStillFrontPic_Weepinbell, 0x800, 70,
gMonStillFrontPic_Victreebel, 0x800, 71,
gMonStillFrontPic_Tentacool, 0x800, 72,
gMonStillFrontPic_Tentacruel, 0x800, 73,
gMonStillFrontPic_Geodude, 0x800, 74,
gMonStillFrontPic_Graveler, 0x800, 75,
gMonStillFrontPic_Golem, 0x800, 76,
gMonStillFrontPic_Ponyta, 0x800, 77,
gMonStillFrontPic_Rapidash, 0x800, 78,
gMonStillFrontPic_Slowpoke, 0x800, 79,
gMonStillFrontPic_Slowbro, 0x800, 80,
gMonStillFrontPic_Magnemite, 0x800, 81,
gMonStillFrontPic_Magneton, 0x800, 82,
gMonStillFrontPic_Farfetchd, 0x800, 83,
gMonStillFrontPic_Doduo, 0x800, 84,
gMonStillFrontPic_Dodrio, 0x800, 85,
gMonStillFrontPic_Seel, 0x800, 86,
gMonStillFrontPic_Dewgong, 0x800, 87,
gMonStillFrontPic_Grimer, 0x800, 88,
gMonStillFrontPic_Muk, 0x800, 89,
gMonStillFrontPic_Shellder, 0x800, 90,
gMonStillFrontPic_Cloyster, 0x800, 91,
gMonStillFrontPic_Gastly, 0x800, 92,
gMonStillFrontPic_Haunter, 0x800, 93,
gMonStillFrontPic_Gengar, 0x800, 94,
gMonStillFrontPic_Onix, 0x800, 95,
gMonStillFrontPic_Drowzee, 0x800, 96,
gMonStillFrontPic_Hypno, 0x800, 97,
gMonStillFrontPic_Krabby, 0x800, 98,
gMonStillFrontPic_Kingler, 0x800, 99,
gMonStillFrontPic_Voltorb, 0x800, 100,
gMonStillFrontPic_Electrode, 0x800, 101,
gMonStillFrontPic_Exeggcute, 0x800, 102,
gMonStillFrontPic_Exeggutor, 0x800, 103,
gMonStillFrontPic_Cubone, 0x800, 104,
gMonStillFrontPic_Marowak, 0x800, 105,
gMonStillFrontPic_Hitmonlee, 0x800, 106,
gMonStillFrontPic_Hitmonchan, 0x800, 107,
gMonStillFrontPic_Lickitung, 0x800, 108,
gMonStillFrontPic_Koffing, 0x800, 109,
gMonStillFrontPic_Weezing, 0x800, 110,
gMonStillFrontPic_Rhyhorn, 0x800, 111,
gMonStillFrontPic_Rhydon, 0x800, 112,
gMonStillFrontPic_Chansey, 0x800, 113,
gMonStillFrontPic_Tangela, 0x800, 114,
gMonStillFrontPic_Kangaskhan, 0x800, 115,
gMonStillFrontPic_Horsea, 0x800, 116,
gMonStillFrontPic_Seadra, 0x800, 117,
gMonStillFrontPic_Goldeen, 0x800, 118,
gMonStillFrontPic_Seaking, 0x800, 119,
gMonStillFrontPic_Staryu, 0x800, 120,
gMonStillFrontPic_Starmie, 0x800, 121,
gMonStillFrontPic_Mrmime, 0x800, 122,
gMonStillFrontPic_Scyther, 0x800, 123,
gMonStillFrontPic_Jynx, 0x800, 124,
gMonStillFrontPic_Electabuzz, 0x800, 125,
gMonStillFrontPic_Magmar, 0x800, 126,
gMonStillFrontPic_Pinsir, 0x800, 127,
gMonStillFrontPic_Tauros, 0x800, 128,
gMonStillFrontPic_Magikarp, 0x800, 129,
gMonStillFrontPic_Gyarados, 0x800, 130,
gMonStillFrontPic_Lapras, 0x800, 131,
gMonStillFrontPic_Ditto, 0x800, 132,
gMonStillFrontPic_Eevee, 0x800, 133,
gMonStillFrontPic_Vaporeon, 0x800, 134,
gMonStillFrontPic_Jolteon, 0x800, 135,
gMonStillFrontPic_Flareon, 0x800, 136,
gMonStillFrontPic_Porygon, 0x800, 137,
gMonStillFrontPic_Omanyte, 0x800, 138,
gMonStillFrontPic_Omastar, 0x800, 139,
gMonStillFrontPic_Kabuto, 0x800, 140,
gMonStillFrontPic_Kabutops, 0x800, 141,
gMonStillFrontPic_Aerodactyl, 0x800, 142,
gMonStillFrontPic_Snorlax, 0x800, 143,
gMonStillFrontPic_Articuno, 0x800, 144,
gMonStillFrontPic_Zapdos, 0x800, 145,
gMonStillFrontPic_Moltres, 0x800, 146,
gMonStillFrontPic_Dratini, 0x800, 147,
gMonStillFrontPic_Dragonair, 0x800, 148,
gMonStillFrontPic_Dragonite, 0x800, 149,
gMonStillFrontPic_Mewtwo, 0x800, 150,
gMonStillFrontPic_Mew, 0x800, 151,
{
STILL_FRONT_PIC(NONE, gMonStillFrontPic_CircledQuestionMark),
STILL_FRONT_PIC(BULBASAUR, gMonStillFrontPic_Bulbasaur),
STILL_FRONT_PIC(IVYSAUR, gMonStillFrontPic_Ivysaur),
STILL_FRONT_PIC(VENUSAUR, gMonStillFrontPic_Venusaur),
STILL_FRONT_PIC(CHARMANDER, gMonStillFrontPic_Charmander),
STILL_FRONT_PIC(CHARMELEON, gMonStillFrontPic_Charmeleon),
STILL_FRONT_PIC(CHARIZARD, gMonStillFrontPic_Charizard),
STILL_FRONT_PIC(SQUIRTLE, gMonStillFrontPic_Squirtle),
STILL_FRONT_PIC(WARTORTLE, gMonStillFrontPic_Wartortle),
STILL_FRONT_PIC(BLASTOISE, gMonStillFrontPic_Blastoise),
STILL_FRONT_PIC(CATERPIE, gMonStillFrontPic_Caterpie),
STILL_FRONT_PIC(METAPOD, gMonStillFrontPic_Metapod),
STILL_FRONT_PIC(BUTTERFREE, gMonStillFrontPic_Butterfree),
STILL_FRONT_PIC(WEEDLE, gMonStillFrontPic_Weedle),
STILL_FRONT_PIC(KAKUNA, gMonStillFrontPic_Kakuna),
STILL_FRONT_PIC(BEEDRILL, gMonStillFrontPic_Beedrill),
STILL_FRONT_PIC(PIDGEY, gMonStillFrontPic_Pidgey),
STILL_FRONT_PIC(PIDGEOTTO, gMonStillFrontPic_Pidgeotto),
STILL_FRONT_PIC(PIDGEOT, gMonStillFrontPic_Pidgeot),
STILL_FRONT_PIC(RATTATA, gMonStillFrontPic_Rattata),
STILL_FRONT_PIC(RATICATE, gMonStillFrontPic_Raticate),
STILL_FRONT_PIC(SPEAROW, gMonStillFrontPic_Spearow),
STILL_FRONT_PIC(FEAROW, gMonStillFrontPic_Fearow),
STILL_FRONT_PIC(EKANS, gMonStillFrontPic_Ekans),
STILL_FRONT_PIC(ARBOK, gMonStillFrontPic_Arbok),
STILL_FRONT_PIC(PIKACHU, gMonStillFrontPic_Pikachu),
STILL_FRONT_PIC(RAICHU, gMonStillFrontPic_Raichu),
STILL_FRONT_PIC(SANDSHREW, gMonStillFrontPic_Sandshrew),
STILL_FRONT_PIC(SANDSLASH, gMonStillFrontPic_Sandslash),
STILL_FRONT_PIC(NIDORAN_F, gMonStillFrontPic_NidoranF),
STILL_FRONT_PIC(NIDORINA, gMonStillFrontPic_Nidorina),
STILL_FRONT_PIC(NIDOQUEEN, gMonStillFrontPic_Nidoqueen),
STILL_FRONT_PIC(NIDORAN_M, gMonStillFrontPic_NidoranM),
STILL_FRONT_PIC(NIDORINO, gMonStillFrontPic_Nidorino),
STILL_FRONT_PIC(NIDOKING, gMonStillFrontPic_Nidoking),
STILL_FRONT_PIC(CLEFAIRY, gMonStillFrontPic_Clefairy),
STILL_FRONT_PIC(CLEFABLE, gMonStillFrontPic_Clefable),
STILL_FRONT_PIC(VULPIX, gMonStillFrontPic_Vulpix),
STILL_FRONT_PIC(NINETALES, gMonStillFrontPic_Ninetales),
STILL_FRONT_PIC(JIGGLYPUFF, gMonStillFrontPic_Jigglypuff),
STILL_FRONT_PIC(WIGGLYTUFF, gMonStillFrontPic_Wigglytuff),
STILL_FRONT_PIC(ZUBAT, gMonStillFrontPic_Zubat),
STILL_FRONT_PIC(GOLBAT, gMonStillFrontPic_Golbat),
STILL_FRONT_PIC(ODDISH, gMonStillFrontPic_Oddish),
STILL_FRONT_PIC(GLOOM, gMonStillFrontPic_Gloom),
STILL_FRONT_PIC(VILEPLUME, gMonStillFrontPic_Vileplume),
STILL_FRONT_PIC(PARAS, gMonStillFrontPic_Paras),
STILL_FRONT_PIC(PARASECT, gMonStillFrontPic_Parasect),
STILL_FRONT_PIC(VENONAT, gMonStillFrontPic_Venonat),
STILL_FRONT_PIC(VENOMOTH, gMonStillFrontPic_Venomoth),
STILL_FRONT_PIC(DIGLETT, gMonStillFrontPic_Diglett),
STILL_FRONT_PIC(DUGTRIO, gMonStillFrontPic_Dugtrio),
STILL_FRONT_PIC(MEOWTH, gMonStillFrontPic_Meowth),
STILL_FRONT_PIC(PERSIAN, gMonStillFrontPic_Persian),
STILL_FRONT_PIC(PSYDUCK, gMonStillFrontPic_Psyduck),
STILL_FRONT_PIC(GOLDUCK, gMonStillFrontPic_Golduck),
STILL_FRONT_PIC(MANKEY, gMonStillFrontPic_Mankey),
STILL_FRONT_PIC(PRIMEAPE, gMonStillFrontPic_Primeape),
STILL_FRONT_PIC(GROWLITHE, gMonStillFrontPic_Growlithe),
STILL_FRONT_PIC(ARCANINE, gMonStillFrontPic_Arcanine),
STILL_FRONT_PIC(POLIWAG, gMonStillFrontPic_Poliwag),
STILL_FRONT_PIC(POLIWHIRL, gMonStillFrontPic_Poliwhirl),
STILL_FRONT_PIC(POLIWRATH, gMonStillFrontPic_Poliwrath),
STILL_FRONT_PIC(ABRA, gMonStillFrontPic_Abra),
STILL_FRONT_PIC(KADABRA, gMonStillFrontPic_Kadabra),
STILL_FRONT_PIC(ALAKAZAM, gMonStillFrontPic_Alakazam),
STILL_FRONT_PIC(MACHOP, gMonStillFrontPic_Machop),
STILL_FRONT_PIC(MACHOKE, gMonStillFrontPic_Machoke),
STILL_FRONT_PIC(MACHAMP, gMonStillFrontPic_Machamp),
STILL_FRONT_PIC(BELLSPROUT, gMonStillFrontPic_Bellsprout),
STILL_FRONT_PIC(WEEPINBELL, gMonStillFrontPic_Weepinbell),
STILL_FRONT_PIC(VICTREEBEL, gMonStillFrontPic_Victreebel),
STILL_FRONT_PIC(TENTACOOL, gMonStillFrontPic_Tentacool),
STILL_FRONT_PIC(TENTACRUEL, gMonStillFrontPic_Tentacruel),
STILL_FRONT_PIC(GEODUDE, gMonStillFrontPic_Geodude),
STILL_FRONT_PIC(GRAVELER, gMonStillFrontPic_Graveler),
STILL_FRONT_PIC(GOLEM, gMonStillFrontPic_Golem),
STILL_FRONT_PIC(PONYTA, gMonStillFrontPic_Ponyta),
STILL_FRONT_PIC(RAPIDASH, gMonStillFrontPic_Rapidash),
STILL_FRONT_PIC(SLOWPOKE, gMonStillFrontPic_Slowpoke),
STILL_FRONT_PIC(SLOWBRO, gMonStillFrontPic_Slowbro),
STILL_FRONT_PIC(MAGNEMITE, gMonStillFrontPic_Magnemite),
STILL_FRONT_PIC(MAGNETON, gMonStillFrontPic_Magneton),
STILL_FRONT_PIC(FARFETCHD, gMonStillFrontPic_Farfetchd),
STILL_FRONT_PIC(DODUO, gMonStillFrontPic_Doduo),
STILL_FRONT_PIC(DODRIO, gMonStillFrontPic_Dodrio),
STILL_FRONT_PIC(SEEL, gMonStillFrontPic_Seel),
STILL_FRONT_PIC(DEWGONG, gMonStillFrontPic_Dewgong),
STILL_FRONT_PIC(GRIMER, gMonStillFrontPic_Grimer),
STILL_FRONT_PIC(MUK, gMonStillFrontPic_Muk),
STILL_FRONT_PIC(SHELLDER, gMonStillFrontPic_Shellder),
STILL_FRONT_PIC(CLOYSTER, gMonStillFrontPic_Cloyster),
STILL_FRONT_PIC(GASTLY, gMonStillFrontPic_Gastly),
STILL_FRONT_PIC(HAUNTER, gMonStillFrontPic_Haunter),
STILL_FRONT_PIC(GENGAR, gMonStillFrontPic_Gengar),
STILL_FRONT_PIC(ONIX, gMonStillFrontPic_Onix),
STILL_FRONT_PIC(DROWZEE, gMonStillFrontPic_Drowzee),
STILL_FRONT_PIC(HYPNO, gMonStillFrontPic_Hypno),
STILL_FRONT_PIC(KRABBY, gMonStillFrontPic_Krabby),
STILL_FRONT_PIC(KINGLER, gMonStillFrontPic_Kingler),
STILL_FRONT_PIC(VOLTORB, gMonStillFrontPic_Voltorb),
STILL_FRONT_PIC(ELECTRODE, gMonStillFrontPic_Electrode),
STILL_FRONT_PIC(EXEGGCUTE, gMonStillFrontPic_Exeggcute),
STILL_FRONT_PIC(EXEGGUTOR, gMonStillFrontPic_Exeggutor),
STILL_FRONT_PIC(CUBONE, gMonStillFrontPic_Cubone),
STILL_FRONT_PIC(MAROWAK, gMonStillFrontPic_Marowak),
STILL_FRONT_PIC(HITMONLEE, gMonStillFrontPic_Hitmonlee),
STILL_FRONT_PIC(HITMONCHAN, gMonStillFrontPic_Hitmonchan),
STILL_FRONT_PIC(LICKITUNG, gMonStillFrontPic_Lickitung),
STILL_FRONT_PIC(KOFFING, gMonStillFrontPic_Koffing),
STILL_FRONT_PIC(WEEZING, gMonStillFrontPic_Weezing),
STILL_FRONT_PIC(RHYHORN, gMonStillFrontPic_Rhyhorn),
STILL_FRONT_PIC(RHYDON, gMonStillFrontPic_Rhydon),
STILL_FRONT_PIC(CHANSEY, gMonStillFrontPic_Chansey),
STILL_FRONT_PIC(TANGELA, gMonStillFrontPic_Tangela),
STILL_FRONT_PIC(KANGASKHAN, gMonStillFrontPic_Kangaskhan),
STILL_FRONT_PIC(HORSEA, gMonStillFrontPic_Horsea),
STILL_FRONT_PIC(SEADRA, gMonStillFrontPic_Seadra),
STILL_FRONT_PIC(GOLDEEN, gMonStillFrontPic_Goldeen),
STILL_FRONT_PIC(SEAKING, gMonStillFrontPic_Seaking),
STILL_FRONT_PIC(STARYU, gMonStillFrontPic_Staryu),
STILL_FRONT_PIC(STARMIE, gMonStillFrontPic_Starmie),
STILL_FRONT_PIC(MR_MIME, gMonStillFrontPic_Mrmime),
STILL_FRONT_PIC(SCYTHER, gMonStillFrontPic_Scyther),
STILL_FRONT_PIC(JYNX, gMonStillFrontPic_Jynx),
STILL_FRONT_PIC(ELECTABUZZ, gMonStillFrontPic_Electabuzz),
STILL_FRONT_PIC(MAGMAR, gMonStillFrontPic_Magmar),
STILL_FRONT_PIC(PINSIR, gMonStillFrontPic_Pinsir),
STILL_FRONT_PIC(TAUROS, gMonStillFrontPic_Tauros),
STILL_FRONT_PIC(MAGIKARP, gMonStillFrontPic_Magikarp),
STILL_FRONT_PIC(GYARADOS, gMonStillFrontPic_Gyarados),
STILL_FRONT_PIC(LAPRAS, gMonStillFrontPic_Lapras),
STILL_FRONT_PIC(DITTO, gMonStillFrontPic_Ditto),
STILL_FRONT_PIC(EEVEE, gMonStillFrontPic_Eevee),
STILL_FRONT_PIC(VAPOREON, gMonStillFrontPic_Vaporeon),
STILL_FRONT_PIC(JOLTEON, gMonStillFrontPic_Jolteon),
STILL_FRONT_PIC(FLAREON, gMonStillFrontPic_Flareon),
STILL_FRONT_PIC(PORYGON, gMonStillFrontPic_Porygon),
STILL_FRONT_PIC(OMANYTE, gMonStillFrontPic_Omanyte),
STILL_FRONT_PIC(OMASTAR, gMonStillFrontPic_Omastar),
STILL_FRONT_PIC(KABUTO, gMonStillFrontPic_Kabuto),
STILL_FRONT_PIC(KABUTOPS, gMonStillFrontPic_Kabutops),
STILL_FRONT_PIC(AERODACTYL, gMonStillFrontPic_Aerodactyl),
STILL_FRONT_PIC(SNORLAX, gMonStillFrontPic_Snorlax),
STILL_FRONT_PIC(ARTICUNO, gMonStillFrontPic_Articuno),
STILL_FRONT_PIC(ZAPDOS, gMonStillFrontPic_Zapdos),
STILL_FRONT_PIC(MOLTRES, gMonStillFrontPic_Moltres),
STILL_FRONT_PIC(DRATINI, gMonStillFrontPic_Dratini),
STILL_FRONT_PIC(DRAGONAIR, gMonStillFrontPic_Dragonair),
STILL_FRONT_PIC(DRAGONITE, gMonStillFrontPic_Dragonite),
STILL_FRONT_PIC(MEWTWO, gMonStillFrontPic_Mewtwo),
STILL_FRONT_PIC(MEW, gMonStillFrontPic_Mew),
// Gen II
gMonStillFrontPic_Chikorita, 0x800, 152,
gMonStillFrontPic_Bayleef, 0x800, 153,
gMonStillFrontPic_Meganium, 0x800, 154,
gMonStillFrontPic_Cyndaquil, 0x800, 155,
gMonStillFrontPic_Quilava, 0x800, 156,
gMonStillFrontPic_Typhlosion, 0x800, 157,
gMonStillFrontPic_Totodile, 0x800, 158,
gMonStillFrontPic_Croconaw, 0x800, 159,
gMonStillFrontPic_Feraligatr, 0x800, 160,
gMonStillFrontPic_Sentret, 0x800, 161,
gMonStillFrontPic_Furret, 0x800, 162,
gMonStillFrontPic_Hoothoot, 0x800, 163,
gMonStillFrontPic_Noctowl, 0x800, 164,
gMonStillFrontPic_Ledyba, 0x800, 165,
gMonStillFrontPic_Ledian, 0x800, 166,
gMonStillFrontPic_Spinarak, 0x800, 167,
gMonStillFrontPic_Ariados, 0x800, 168,
gMonStillFrontPic_Crobat, 0x800, 169,
gMonStillFrontPic_Chinchou, 0x800, 170,
gMonStillFrontPic_Lanturn, 0x800, 171,
gMonStillFrontPic_Pichu, 0x800, 172,
gMonStillFrontPic_Cleffa, 0x800, 173,
gMonStillFrontPic_Igglybuff, 0x800, 174,
gMonStillFrontPic_Togepi, 0x800, 175,
gMonStillFrontPic_Togetic, 0x800, 176,
gMonStillFrontPic_Natu, 0x800, 177,
gMonStillFrontPic_Xatu, 0x800, 178,
gMonStillFrontPic_Mareep, 0x800, 179,
gMonStillFrontPic_Flaaffy, 0x800, 180,
gMonStillFrontPic_Ampharos, 0x800, 181,
gMonStillFrontPic_Bellossom, 0x800, 182,
gMonStillFrontPic_Marill, 0x800, 183,
gMonStillFrontPic_Azumarill, 0x800, 184,
gMonStillFrontPic_Sudowoodo, 0x800, 185,
gMonStillFrontPic_Politoed, 0x800, 186,
gMonStillFrontPic_Hoppip, 0x800, 187,
gMonStillFrontPic_Skiploom, 0x800, 188,
gMonStillFrontPic_Jumpluff, 0x800, 189,
gMonStillFrontPic_Aipom, 0x800, 190,
gMonStillFrontPic_Sunkern, 0x800, 191,
gMonStillFrontPic_Sunflora, 0x800, 192,
gMonStillFrontPic_Yanma, 0x800, 193,
gMonStillFrontPic_Wooper, 0x800, 194,
gMonStillFrontPic_Quagsire, 0x800, 195,
gMonStillFrontPic_Espeon, 0x800, 196,
gMonStillFrontPic_Umbreon, 0x800, 197,
gMonStillFrontPic_Murkrow, 0x800, 198,
gMonStillFrontPic_Slowking, 0x800, 199,
gMonStillFrontPic_Misdreavus, 0x800, 200,
gMonStillFrontPic_UnownA, 0x800, 201,
gMonStillFrontPic_Wobbuffet, 0x800, 202,
gMonStillFrontPic_Girafarig, 0x800, 203,
gMonStillFrontPic_Pineco, 0x800, 204,
gMonStillFrontPic_Forretress, 0x800, 205,
gMonStillFrontPic_Dunsparce, 0x800, 206,
gMonStillFrontPic_Gligar, 0x800, 207,
gMonStillFrontPic_Steelix, 0x800, 208,
gMonStillFrontPic_Snubbull, 0x800, 209,
gMonStillFrontPic_Granbull, 0x800, 210,
gMonStillFrontPic_Qwilfish, 0x800, 211,
gMonStillFrontPic_Scizor, 0x800, 212,
gMonStillFrontPic_Shuckle, 0x800, 213,
gMonStillFrontPic_Heracross, 0x800, 214,
gMonStillFrontPic_Sneasel, 0x800, 215,
gMonStillFrontPic_Teddiursa, 0x800, 216,
gMonStillFrontPic_Ursaring, 0x800, 217,
gMonStillFrontPic_Slugma, 0x800, 218,
gMonStillFrontPic_Magcargo, 0x800, 219,
gMonStillFrontPic_Swinub, 0x800, 220,
gMonStillFrontPic_Piloswine, 0x800, 221,
gMonStillFrontPic_Corsola, 0x800, 222,
gMonStillFrontPic_Remoraid, 0x800, 223,
gMonStillFrontPic_Octillery, 0x800, 224,
gMonStillFrontPic_Delibird, 0x800, 225,
gMonStillFrontPic_Mantine, 0x800, 226,
gMonStillFrontPic_Skarmory, 0x800, 227,
gMonStillFrontPic_Houndour, 0x800, 228,
gMonStillFrontPic_Houndoom, 0x800, 229,
gMonStillFrontPic_Kingdra, 0x800, 230,
gMonStillFrontPic_Phanpy, 0x800, 231,
gMonStillFrontPic_Donphan, 0x800, 232,
gMonStillFrontPic_Porygon2, 0x800, 233,
gMonStillFrontPic_Stantler, 0x800, 234,
gMonStillFrontPic_Smeargle, 0x800, 235,
gMonStillFrontPic_Tyrogue, 0x800, 236,
gMonStillFrontPic_Hitmontop, 0x800, 237,
gMonStillFrontPic_Smoochum, 0x800, 238,
gMonStillFrontPic_Elekid, 0x800, 239,
gMonStillFrontPic_Magby, 0x800, 240,
gMonStillFrontPic_Miltank, 0x800, 241,
gMonStillFrontPic_Blissey, 0x800, 242,
gMonStillFrontPic_Raikou, 0x800, 243,
gMonStillFrontPic_Entei, 0x800, 244,
gMonStillFrontPic_Suicune, 0x800, 245,
gMonStillFrontPic_Larvitar, 0x800, 246,
gMonStillFrontPic_Pupitar, 0x800, 247,
gMonStillFrontPic_Tyranitar, 0x800, 248,
gMonStillFrontPic_Lugia, 0x800, 249,
gMonStillFrontPic_HoOh, 0x800, 250,
gMonStillFrontPic_Celebi, 0x800, 251,
STILL_FRONT_PIC(CHIKORITA, gMonStillFrontPic_Chikorita),
STILL_FRONT_PIC(BAYLEEF, gMonStillFrontPic_Bayleef),
STILL_FRONT_PIC(MEGANIUM, gMonStillFrontPic_Meganium),
STILL_FRONT_PIC(CYNDAQUIL, gMonStillFrontPic_Cyndaquil),
STILL_FRONT_PIC(QUILAVA, gMonStillFrontPic_Quilava),
STILL_FRONT_PIC(TYPHLOSION, gMonStillFrontPic_Typhlosion),
STILL_FRONT_PIC(TOTODILE, gMonStillFrontPic_Totodile),
STILL_FRONT_PIC(CROCONAW, gMonStillFrontPic_Croconaw),
STILL_FRONT_PIC(FERALIGATR, gMonStillFrontPic_Feraligatr),
STILL_FRONT_PIC(SENTRET, gMonStillFrontPic_Sentret),
STILL_FRONT_PIC(FURRET, gMonStillFrontPic_Furret),
STILL_FRONT_PIC(HOOTHOOT, gMonStillFrontPic_Hoothoot),
STILL_FRONT_PIC(NOCTOWL, gMonStillFrontPic_Noctowl),
STILL_FRONT_PIC(LEDYBA, gMonStillFrontPic_Ledyba),
STILL_FRONT_PIC(LEDIAN, gMonStillFrontPic_Ledian),
STILL_FRONT_PIC(SPINARAK, gMonStillFrontPic_Spinarak),
STILL_FRONT_PIC(ARIADOS, gMonStillFrontPic_Ariados),
STILL_FRONT_PIC(CROBAT, gMonStillFrontPic_Crobat),
STILL_FRONT_PIC(CHINCHOU, gMonStillFrontPic_Chinchou),
STILL_FRONT_PIC(LANTURN, gMonStillFrontPic_Lanturn),
STILL_FRONT_PIC(PICHU, gMonStillFrontPic_Pichu),
STILL_FRONT_PIC(CLEFFA, gMonStillFrontPic_Cleffa),
STILL_FRONT_PIC(IGGLYBUFF, gMonStillFrontPic_Igglybuff),
STILL_FRONT_PIC(TOGEPI, gMonStillFrontPic_Togepi),
STILL_FRONT_PIC(TOGETIC, gMonStillFrontPic_Togetic),
STILL_FRONT_PIC(NATU, gMonStillFrontPic_Natu),
STILL_FRONT_PIC(XATU, gMonStillFrontPic_Xatu),
STILL_FRONT_PIC(MAREEP, gMonStillFrontPic_Mareep),
STILL_FRONT_PIC(FLAAFFY, gMonStillFrontPic_Flaaffy),
STILL_FRONT_PIC(AMPHAROS, gMonStillFrontPic_Ampharos),
STILL_FRONT_PIC(BELLOSSOM, gMonStillFrontPic_Bellossom),
STILL_FRONT_PIC(MARILL, gMonStillFrontPic_Marill),
STILL_FRONT_PIC(AZUMARILL, gMonStillFrontPic_Azumarill),
STILL_FRONT_PIC(SUDOWOODO, gMonStillFrontPic_Sudowoodo),
STILL_FRONT_PIC(POLITOED, gMonStillFrontPic_Politoed),
STILL_FRONT_PIC(HOPPIP, gMonStillFrontPic_Hoppip),
STILL_FRONT_PIC(SKIPLOOM, gMonStillFrontPic_Skiploom),
STILL_FRONT_PIC(JUMPLUFF, gMonStillFrontPic_Jumpluff),
STILL_FRONT_PIC(AIPOM, gMonStillFrontPic_Aipom),
STILL_FRONT_PIC(SUNKERN, gMonStillFrontPic_Sunkern),
STILL_FRONT_PIC(SUNFLORA, gMonStillFrontPic_Sunflora),
STILL_FRONT_PIC(YANMA, gMonStillFrontPic_Yanma),
STILL_FRONT_PIC(WOOPER, gMonStillFrontPic_Wooper),
STILL_FRONT_PIC(QUAGSIRE, gMonStillFrontPic_Quagsire),
STILL_FRONT_PIC(ESPEON, gMonStillFrontPic_Espeon),
STILL_FRONT_PIC(UMBREON, gMonStillFrontPic_Umbreon),
STILL_FRONT_PIC(MURKROW, gMonStillFrontPic_Murkrow),
STILL_FRONT_PIC(SLOWKING, gMonStillFrontPic_Slowking),
STILL_FRONT_PIC(MISDREAVUS, gMonStillFrontPic_Misdreavus),
STILL_FRONT_PIC(UNOWN, gMonStillFrontPic_UnownA),
STILL_FRONT_PIC(WOBBUFFET, gMonStillFrontPic_Wobbuffet),
STILL_FRONT_PIC(GIRAFARIG, gMonStillFrontPic_Girafarig),
STILL_FRONT_PIC(PINECO, gMonStillFrontPic_Pineco),
STILL_FRONT_PIC(FORRETRESS, gMonStillFrontPic_Forretress),
STILL_FRONT_PIC(DUNSPARCE, gMonStillFrontPic_Dunsparce),
STILL_FRONT_PIC(GLIGAR, gMonStillFrontPic_Gligar),
STILL_FRONT_PIC(STEELIX, gMonStillFrontPic_Steelix),
STILL_FRONT_PIC(SNUBBULL, gMonStillFrontPic_Snubbull),
STILL_FRONT_PIC(GRANBULL, gMonStillFrontPic_Granbull),
STILL_FRONT_PIC(QWILFISH, gMonStillFrontPic_Qwilfish),
STILL_FRONT_PIC(SCIZOR, gMonStillFrontPic_Scizor),
STILL_FRONT_PIC(SHUCKLE, gMonStillFrontPic_Shuckle),
STILL_FRONT_PIC(HERACROSS, gMonStillFrontPic_Heracross),
STILL_FRONT_PIC(SNEASEL, gMonStillFrontPic_Sneasel),
STILL_FRONT_PIC(TEDDIURSA, gMonStillFrontPic_Teddiursa),
STILL_FRONT_PIC(URSARING, gMonStillFrontPic_Ursaring),
STILL_FRONT_PIC(SLUGMA, gMonStillFrontPic_Slugma),
STILL_FRONT_PIC(MAGCARGO, gMonStillFrontPic_Magcargo),
STILL_FRONT_PIC(SWINUB, gMonStillFrontPic_Swinub),
STILL_FRONT_PIC(PILOSWINE, gMonStillFrontPic_Piloswine),
STILL_FRONT_PIC(CORSOLA, gMonStillFrontPic_Corsola),
STILL_FRONT_PIC(REMORAID, gMonStillFrontPic_Remoraid),
STILL_FRONT_PIC(OCTILLERY, gMonStillFrontPic_Octillery),
STILL_FRONT_PIC(DELIBIRD, gMonStillFrontPic_Delibird),
STILL_FRONT_PIC(MANTINE, gMonStillFrontPic_Mantine),
STILL_FRONT_PIC(SKARMORY, gMonStillFrontPic_Skarmory),
STILL_FRONT_PIC(HOUNDOUR, gMonStillFrontPic_Houndour),
STILL_FRONT_PIC(HOUNDOOM, gMonStillFrontPic_Houndoom),
STILL_FRONT_PIC(KINGDRA, gMonStillFrontPic_Kingdra),
STILL_FRONT_PIC(PHANPY, gMonStillFrontPic_Phanpy),
STILL_FRONT_PIC(DONPHAN, gMonStillFrontPic_Donphan),
STILL_FRONT_PIC(PORYGON2, gMonStillFrontPic_Porygon2),
STILL_FRONT_PIC(STANTLER, gMonStillFrontPic_Stantler),
STILL_FRONT_PIC(SMEARGLE, gMonStillFrontPic_Smeargle),
STILL_FRONT_PIC(TYROGUE, gMonStillFrontPic_Tyrogue),
STILL_FRONT_PIC(HITMONTOP, gMonStillFrontPic_Hitmontop),
STILL_FRONT_PIC(SMOOCHUM, gMonStillFrontPic_Smoochum),
STILL_FRONT_PIC(ELEKID, gMonStillFrontPic_Elekid),
STILL_FRONT_PIC(MAGBY, gMonStillFrontPic_Magby),
STILL_FRONT_PIC(MILTANK, gMonStillFrontPic_Miltank),
STILL_FRONT_PIC(BLISSEY, gMonStillFrontPic_Blissey),
STILL_FRONT_PIC(RAIKOU, gMonStillFrontPic_Raikou),
STILL_FRONT_PIC(ENTEI, gMonStillFrontPic_Entei),
STILL_FRONT_PIC(SUICUNE, gMonStillFrontPic_Suicune),
STILL_FRONT_PIC(LARVITAR, gMonStillFrontPic_Larvitar),
STILL_FRONT_PIC(PUPITAR, gMonStillFrontPic_Pupitar),
STILL_FRONT_PIC(TYRANITAR, gMonStillFrontPic_Tyranitar),
STILL_FRONT_PIC(LUGIA, gMonStillFrontPic_Lugia),
STILL_FRONT_PIC(HO_OH, gMonStillFrontPic_HoOh),
STILL_FRONT_PIC(CELEBI, gMonStillFrontPic_Celebi),
// Empty slots
gMonStillFrontPic_DoubleQuestionMark, 0x800, 252,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 253,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 254,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 255,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 256,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 257,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 258,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 259,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 260,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 261,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 262,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 263,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 264,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 265,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 266,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 267,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 268,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 269,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 270,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 271,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 272,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 273,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 274,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 275,
gMonStillFrontPic_DoubleQuestionMark, 0x800, 276,
STILL_FRONT_PIC(OLD_UNOWN_B, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_C, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_D, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_E, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_F, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_G, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_H, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_I, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_J, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_K, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_L, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_M, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_N, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_O, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_P, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_Q, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_R, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_S, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_T, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_U, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_V, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_W, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_X, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_Y, gMonStillFrontPic_DoubleQuestionMark),
STILL_FRONT_PIC(OLD_UNOWN_Z, gMonStillFrontPic_DoubleQuestionMark),
// Gen III
gMonStillFrontPic_Treecko, 0x800, 277,
gMonStillFrontPic_Grovyle, 0x800, 278,
gMonStillFrontPic_Sceptile, 0x800, 279,
gMonStillFrontPic_Torchic, 0x800, 280,
gMonStillFrontPic_Combusken, 0x800, 281,
gMonStillFrontPic_Blaziken, 0x800, 282,
gMonStillFrontPic_Mudkip, 0x800, 283,
gMonStillFrontPic_Marshtomp, 0x800, 284,
gMonStillFrontPic_Swampert, 0x800, 285,
gMonStillFrontPic_Poochyena, 0x800, 286,
gMonStillFrontPic_Mightyena, 0x800, 287,
gMonStillFrontPic_Zigzagoon, 0x800, 288,
gMonStillFrontPic_Linoone, 0x800, 289,
gMonStillFrontPic_Wurmple, 0x800, 290,
gMonStillFrontPic_Silcoon, 0x800, 291,
gMonStillFrontPic_Beautifly, 0x800, 292,
gMonStillFrontPic_Cascoon, 0x800, 293,
gMonStillFrontPic_Dustox, 0x800, 294,
gMonStillFrontPic_Lotad, 0x800, 295,
gMonStillFrontPic_Lombre, 0x800, 296,
gMonStillFrontPic_Ludicolo, 0x800, 297,
gMonStillFrontPic_Seedot, 0x800, 298,
gMonStillFrontPic_Nuzleaf, 0x800, 299,
gMonStillFrontPic_Shiftry, 0x800, 300,
gMonStillFrontPic_Nincada, 0x800, 301,
gMonStillFrontPic_Ninjask, 0x800, 302,
gMonStillFrontPic_Shedinja, 0x800, 303,
gMonStillFrontPic_Taillow, 0x800, 304,
gMonStillFrontPic_Swellow, 0x800, 305,
gMonStillFrontPic_Shroomish, 0x800, 306,
gMonStillFrontPic_Breloom, 0x800, 307,
gMonStillFrontPic_Spinda, 0x800, 308,
gMonStillFrontPic_Wingull, 0x800, 309,
gMonStillFrontPic_Pelipper, 0x800, 310,
gMonStillFrontPic_Surskit, 0x800, 311,
gMonStillFrontPic_Masquerain, 0x800, 312,
gMonStillFrontPic_Wailmer, 0x800, 313,
gMonStillFrontPic_Wailord, 0x800, 314,
gMonStillFrontPic_Skitty, 0x800, 315,
gMonStillFrontPic_Delcatty, 0x800, 316,
gMonStillFrontPic_Kecleon, 0x800, 317,
gMonStillFrontPic_Baltoy, 0x800, 318,
gMonStillFrontPic_Claydol, 0x800, 319,
gMonStillFrontPic_Nosepass, 0x800, 320,
gMonStillFrontPic_Torkoal, 0x800, 321,
gMonStillFrontPic_Sableye, 0x800, 322,
gMonStillFrontPic_Barboach, 0x800, 323,
gMonStillFrontPic_Whiscash, 0x800, 324,
gMonStillFrontPic_Luvdisc, 0x800, 325,
gMonStillFrontPic_Corphish, 0x800, 326,
gMonStillFrontPic_Crawdaunt, 0x800, 327,
gMonStillFrontPic_Feebas, 0x800, 328,
gMonStillFrontPic_Milotic, 0x800, 329,
gMonStillFrontPic_Carvanha, 0x800, 330,
gMonStillFrontPic_Sharpedo, 0x800, 331,
gMonStillFrontPic_Trapinch, 0x800, 332,
gMonStillFrontPic_Vibrava, 0x800, 333,
gMonStillFrontPic_Flygon, 0x800, 334,
gMonStillFrontPic_Makuhita, 0x800, 335,
gMonStillFrontPic_Hariyama, 0x800, 336,
gMonStillFrontPic_Electrike, 0x800, 337,
gMonStillFrontPic_Manectric, 0x800, 338,
gMonStillFrontPic_Numel, 0x800, 339,
gMonStillFrontPic_Camerupt, 0x800, 340,
gMonStillFrontPic_Spheal, 0x800, 341,
gMonStillFrontPic_Sealeo, 0x800, 342,
gMonStillFrontPic_Walrein, 0x800, 343,
gMonStillFrontPic_Cacnea, 0x800, 344,
gMonStillFrontPic_Cacturne, 0x800, 345,
gMonStillFrontPic_Snorunt, 0x800, 346,
gMonStillFrontPic_Glalie, 0x800, 347,
gMonStillFrontPic_Lunatone, 0x800, 348,
gMonStillFrontPic_Solrock, 0x800, 349,
gMonStillFrontPic_Azurill, 0x800, 350,
gMonStillFrontPic_Spoink, 0x800, 351,
gMonStillFrontPic_Grumpig, 0x800, 352,
gMonStillFrontPic_Plusle, 0x800, 353,
gMonStillFrontPic_Minun, 0x800, 354,
gMonStillFrontPic_Mawile, 0x800, 355,
gMonStillFrontPic_Meditite, 0x800, 356,
gMonStillFrontPic_Medicham, 0x800, 357,
gMonStillFrontPic_Swablu, 0x800, 358,
gMonStillFrontPic_Altaria, 0x800, 359,
gMonStillFrontPic_Wynaut, 0x800, 360,
gMonStillFrontPic_Duskull, 0x800, 361,
gMonStillFrontPic_Dusclops, 0x800, 362,
gMonStillFrontPic_Roselia, 0x800, 363,
gMonStillFrontPic_Slakoth, 0x800, 364,
gMonStillFrontPic_Vigoroth, 0x800, 365,
gMonStillFrontPic_Slaking, 0x800, 366,
gMonStillFrontPic_Gulpin, 0x800, 367,
gMonStillFrontPic_Swalot, 0x800, 368,
gMonStillFrontPic_Tropius, 0x800, 369,
gMonStillFrontPic_Whismur, 0x800, 370,
gMonStillFrontPic_Loudred, 0x800, 371,
gMonStillFrontPic_Exploud, 0x800, 372,
gMonStillFrontPic_Clamperl, 0x800, 373,
gMonStillFrontPic_Huntail, 0x800, 374,
gMonStillFrontPic_Gorebyss, 0x800, 375,
gMonStillFrontPic_Absol, 0x800, 376,
gMonStillFrontPic_Shuppet, 0x800, 377,
gMonStillFrontPic_Banette, 0x800, 378,
gMonStillFrontPic_Seviper, 0x800, 379,
gMonStillFrontPic_Zangoose, 0x800, 380,
gMonStillFrontPic_Relicanth, 0x800, 381,
gMonStillFrontPic_Aron, 0x800, 382,
gMonStillFrontPic_Lairon, 0x800, 383,
gMonStillFrontPic_Aggron, 0x800, 384,
gMonStillFrontPic_Castform, 0x800, 385,
gMonStillFrontPic_Volbeat, 0x800, 386,
gMonStillFrontPic_Illumise, 0x800, 387,
gMonStillFrontPic_Lileep, 0x800, 388,
gMonStillFrontPic_Cradily, 0x800, 389,
gMonStillFrontPic_Anorith, 0x800, 390,
gMonStillFrontPic_Armaldo, 0x800, 391,
gMonStillFrontPic_Ralts, 0x800, 392,
gMonStillFrontPic_Kirlia, 0x800, 393,
gMonStillFrontPic_Gardevoir, 0x800, 394,
gMonStillFrontPic_Bagon, 0x800, 395,
gMonStillFrontPic_Shelgon, 0x800, 396,
gMonStillFrontPic_Salamence, 0x800, 397,
gMonStillFrontPic_Beldum, 0x800, 398,
gMonStillFrontPic_Metang, 0x800, 399,
gMonStillFrontPic_Metagross, 0x800, 400,
gMonStillFrontPic_Regirock, 0x800, 401,
gMonStillFrontPic_Regice, 0x800, 402,
gMonStillFrontPic_Registeel, 0x800, 403,
gMonStillFrontPic_Kyogre, 0x800, 404,
gMonStillFrontPic_Groudon, 0x800, 405,
gMonStillFrontPic_Rayquaza, 0x800, 406,
gMonStillFrontPic_Latias, 0x800, 407,
gMonStillFrontPic_Latios, 0x800, 408,
gMonStillFrontPic_Jirachi, 0x800, 409,
gMonStillFrontPic_Deoxys, 0x800, 410,
gMonStillFrontPic_Chimecho, 0x800, 411,
gMonStillFrontPic_Egg, 0x800, 412,
gMonStillFrontPic_UnownB, 0x800, 413,
gMonStillFrontPic_UnownC, 0x800, 414,
gMonStillFrontPic_UnownD, 0x800, 415,
gMonStillFrontPic_UnownE, 0x800, 416,
gMonStillFrontPic_UnownF, 0x800, 417,
gMonStillFrontPic_UnownG, 0x800, 418,
gMonStillFrontPic_UnownH, 0x800, 419,
gMonStillFrontPic_UnownI, 0x800, 420,
gMonStillFrontPic_UnownJ, 0x800, 421,
gMonStillFrontPic_UnownK, 0x800, 422,
gMonStillFrontPic_UnownL, 0x800, 423,
gMonStillFrontPic_UnownM, 0x800, 424,
gMonStillFrontPic_UnownN, 0x800, 425,
gMonStillFrontPic_UnownO, 0x800, 426,
gMonStillFrontPic_UnownP, 0x800, 427,
gMonStillFrontPic_UnownQ, 0x800, 428,
gMonStillFrontPic_UnownR, 0x800, 429,
gMonStillFrontPic_UnownS, 0x800, 430,
gMonStillFrontPic_UnownT, 0x800, 431,
gMonStillFrontPic_UnownU, 0x800, 432,
gMonStillFrontPic_UnownV, 0x800, 433,
gMonStillFrontPic_UnownW, 0x800, 434,
gMonStillFrontPic_UnownX, 0x800, 435,
gMonStillFrontPic_UnownY, 0x800, 436,
gMonStillFrontPic_UnownZ, 0x800, 437,
gMonStillFrontPic_UnownExclamationMark, 0x800, 438,
gMonStillFrontPic_UnownQuestionMark, 0x800, 439,
STILL_FRONT_PIC(TREECKO, gMonStillFrontPic_Treecko),
STILL_FRONT_PIC(GROVYLE, gMonStillFrontPic_Grovyle),
STILL_FRONT_PIC(SCEPTILE, gMonStillFrontPic_Sceptile),
STILL_FRONT_PIC(TORCHIC, gMonStillFrontPic_Torchic),
STILL_FRONT_PIC(COMBUSKEN, gMonStillFrontPic_Combusken),
STILL_FRONT_PIC(BLAZIKEN, gMonStillFrontPic_Blaziken),
STILL_FRONT_PIC(MUDKIP, gMonStillFrontPic_Mudkip),
STILL_FRONT_PIC(MARSHTOMP, gMonStillFrontPic_Marshtomp),
STILL_FRONT_PIC(SWAMPERT, gMonStillFrontPic_Swampert),
STILL_FRONT_PIC(POOCHYENA, gMonStillFrontPic_Poochyena),
STILL_FRONT_PIC(MIGHTYENA, gMonStillFrontPic_Mightyena),
STILL_FRONT_PIC(ZIGZAGOON, gMonStillFrontPic_Zigzagoon),
STILL_FRONT_PIC(LINOONE, gMonStillFrontPic_Linoone),
STILL_FRONT_PIC(WURMPLE, gMonStillFrontPic_Wurmple),
STILL_FRONT_PIC(SILCOON, gMonStillFrontPic_Silcoon),
STILL_FRONT_PIC(BEAUTIFLY, gMonStillFrontPic_Beautifly),
STILL_FRONT_PIC(CASCOON, gMonStillFrontPic_Cascoon),
STILL_FRONT_PIC(DUSTOX, gMonStillFrontPic_Dustox),
STILL_FRONT_PIC(LOTAD, gMonStillFrontPic_Lotad),
STILL_FRONT_PIC(LOMBRE, gMonStillFrontPic_Lombre),
STILL_FRONT_PIC(LUDICOLO, gMonStillFrontPic_Ludicolo),
STILL_FRONT_PIC(SEEDOT, gMonStillFrontPic_Seedot),
STILL_FRONT_PIC(NUZLEAF, gMonStillFrontPic_Nuzleaf),
STILL_FRONT_PIC(SHIFTRY, gMonStillFrontPic_Shiftry),
STILL_FRONT_PIC(NINCADA, gMonStillFrontPic_Nincada),
STILL_FRONT_PIC(NINJASK, gMonStillFrontPic_Ninjask),
STILL_FRONT_PIC(SHEDINJA, gMonStillFrontPic_Shedinja),
STILL_FRONT_PIC(TAILLOW, gMonStillFrontPic_Taillow),
STILL_FRONT_PIC(SWELLOW, gMonStillFrontPic_Swellow),
STILL_FRONT_PIC(SHROOMISH, gMonStillFrontPic_Shroomish),
STILL_FRONT_PIC(BRELOOM, gMonStillFrontPic_Breloom),
STILL_FRONT_PIC(SPINDA, gMonStillFrontPic_Spinda),
STILL_FRONT_PIC(WINGULL, gMonStillFrontPic_Wingull),
STILL_FRONT_PIC(PELIPPER, gMonStillFrontPic_Pelipper),
STILL_FRONT_PIC(SURSKIT, gMonStillFrontPic_Surskit),
STILL_FRONT_PIC(MASQUERAIN, gMonStillFrontPic_Masquerain),
STILL_FRONT_PIC(WAILMER, gMonStillFrontPic_Wailmer),
STILL_FRONT_PIC(WAILORD, gMonStillFrontPic_Wailord),
STILL_FRONT_PIC(SKITTY, gMonStillFrontPic_Skitty),
STILL_FRONT_PIC(DELCATTY, gMonStillFrontPic_Delcatty),
STILL_FRONT_PIC(KECLEON, gMonStillFrontPic_Kecleon),
STILL_FRONT_PIC(BALTOY, gMonStillFrontPic_Baltoy),
STILL_FRONT_PIC(CLAYDOL, gMonStillFrontPic_Claydol),
STILL_FRONT_PIC(NOSEPASS, gMonStillFrontPic_Nosepass),
STILL_FRONT_PIC(TORKOAL, gMonStillFrontPic_Torkoal),
STILL_FRONT_PIC(SABLEYE, gMonStillFrontPic_Sableye),
STILL_FRONT_PIC(BARBOACH, gMonStillFrontPic_Barboach),
STILL_FRONT_PIC(WHISCASH, gMonStillFrontPic_Whiscash),
STILL_FRONT_PIC(LUVDISC, gMonStillFrontPic_Luvdisc),
STILL_FRONT_PIC(CORPHISH, gMonStillFrontPic_Corphish),
STILL_FRONT_PIC(CRAWDAUNT, gMonStillFrontPic_Crawdaunt),
STILL_FRONT_PIC(FEEBAS, gMonStillFrontPic_Feebas),
STILL_FRONT_PIC(MILOTIC, gMonStillFrontPic_Milotic),
STILL_FRONT_PIC(CARVANHA, gMonStillFrontPic_Carvanha),
STILL_FRONT_PIC(SHARPEDO, gMonStillFrontPic_Sharpedo),
STILL_FRONT_PIC(TRAPINCH, gMonStillFrontPic_Trapinch),
STILL_FRONT_PIC(VIBRAVA, gMonStillFrontPic_Vibrava),
STILL_FRONT_PIC(FLYGON, gMonStillFrontPic_Flygon),
STILL_FRONT_PIC(MAKUHITA, gMonStillFrontPic_Makuhita),
STILL_FRONT_PIC(HARIYAMA, gMonStillFrontPic_Hariyama),
STILL_FRONT_PIC(ELECTRIKE, gMonStillFrontPic_Electrike),
STILL_FRONT_PIC(MANECTRIC, gMonStillFrontPic_Manectric),
STILL_FRONT_PIC(NUMEL, gMonStillFrontPic_Numel),
STILL_FRONT_PIC(CAMERUPT, gMonStillFrontPic_Camerupt),
STILL_FRONT_PIC(SPHEAL, gMonStillFrontPic_Spheal),
STILL_FRONT_PIC(SEALEO, gMonStillFrontPic_Sealeo),
STILL_FRONT_PIC(WALREIN, gMonStillFrontPic_Walrein),
STILL_FRONT_PIC(CACNEA, gMonStillFrontPic_Cacnea),
STILL_FRONT_PIC(CACTURNE, gMonStillFrontPic_Cacturne),
STILL_FRONT_PIC(SNORUNT, gMonStillFrontPic_Snorunt),
STILL_FRONT_PIC(GLALIE, gMonStillFrontPic_Glalie),
STILL_FRONT_PIC(LUNATONE, gMonStillFrontPic_Lunatone),
STILL_FRONT_PIC(SOLROCK, gMonStillFrontPic_Solrock),
STILL_FRONT_PIC(AZURILL, gMonStillFrontPic_Azurill),
STILL_FRONT_PIC(SPOINK, gMonStillFrontPic_Spoink),
STILL_FRONT_PIC(GRUMPIG, gMonStillFrontPic_Grumpig),
STILL_FRONT_PIC(PLUSLE, gMonStillFrontPic_Plusle),
STILL_FRONT_PIC(MINUN, gMonStillFrontPic_Minun),
STILL_FRONT_PIC(MAWILE, gMonStillFrontPic_Mawile),
STILL_FRONT_PIC(MEDITITE, gMonStillFrontPic_Meditite),
STILL_FRONT_PIC(MEDICHAM, gMonStillFrontPic_Medicham),
STILL_FRONT_PIC(SWABLU, gMonStillFrontPic_Swablu),
STILL_FRONT_PIC(ALTARIA, gMonStillFrontPic_Altaria),
STILL_FRONT_PIC(WYNAUT, gMonStillFrontPic_Wynaut),
STILL_FRONT_PIC(DUSKULL, gMonStillFrontPic_Duskull),
STILL_FRONT_PIC(DUSCLOPS, gMonStillFrontPic_Dusclops),
STILL_FRONT_PIC(ROSELIA, gMonStillFrontPic_Roselia),
STILL_FRONT_PIC(SLAKOTH, gMonStillFrontPic_Slakoth),
STILL_FRONT_PIC(VIGOROTH, gMonStillFrontPic_Vigoroth),
STILL_FRONT_PIC(SLAKING, gMonStillFrontPic_Slaking),
STILL_FRONT_PIC(GULPIN, gMonStillFrontPic_Gulpin),
STILL_FRONT_PIC(SWALOT, gMonStillFrontPic_Swalot),
STILL_FRONT_PIC(TROPIUS, gMonStillFrontPic_Tropius),
STILL_FRONT_PIC(WHISMUR, gMonStillFrontPic_Whismur),
STILL_FRONT_PIC(LOUDRED, gMonStillFrontPic_Loudred),
STILL_FRONT_PIC(EXPLOUD, gMonStillFrontPic_Exploud),
STILL_FRONT_PIC(CLAMPERL, gMonStillFrontPic_Clamperl),
STILL_FRONT_PIC(HUNTAIL, gMonStillFrontPic_Huntail),
STILL_FRONT_PIC(GOREBYSS, gMonStillFrontPic_Gorebyss),
STILL_FRONT_PIC(ABSOL, gMonStillFrontPic_Absol),
STILL_FRONT_PIC(SHUPPET, gMonStillFrontPic_Shuppet),
STILL_FRONT_PIC(BANETTE, gMonStillFrontPic_Banette),
STILL_FRONT_PIC(SEVIPER, gMonStillFrontPic_Seviper),
STILL_FRONT_PIC(ZANGOOSE, gMonStillFrontPic_Zangoose),
STILL_FRONT_PIC(RELICANTH, gMonStillFrontPic_Relicanth),
STILL_FRONT_PIC(ARON, gMonStillFrontPic_Aron),
STILL_FRONT_PIC(LAIRON, gMonStillFrontPic_Lairon),
STILL_FRONT_PIC(AGGRON, gMonStillFrontPic_Aggron),
STILL_FRONT_PIC(CASTFORM, gMonStillFrontPic_Castform),
STILL_FRONT_PIC(VOLBEAT, gMonStillFrontPic_Volbeat),
STILL_FRONT_PIC(ILLUMISE, gMonStillFrontPic_Illumise),
STILL_FRONT_PIC(LILEEP, gMonStillFrontPic_Lileep),
STILL_FRONT_PIC(CRADILY, gMonStillFrontPic_Cradily),
STILL_FRONT_PIC(ANORITH, gMonStillFrontPic_Anorith),
STILL_FRONT_PIC(ARMALDO, gMonStillFrontPic_Armaldo),
STILL_FRONT_PIC(RALTS, gMonStillFrontPic_Ralts),
STILL_FRONT_PIC(KIRLIA, gMonStillFrontPic_Kirlia),
STILL_FRONT_PIC(GARDEVOIR, gMonStillFrontPic_Gardevoir),
STILL_FRONT_PIC(BAGON, gMonStillFrontPic_Bagon),
STILL_FRONT_PIC(SHELGON, gMonStillFrontPic_Shelgon),
STILL_FRONT_PIC(SALAMENCE, gMonStillFrontPic_Salamence),
STILL_FRONT_PIC(BELDUM, gMonStillFrontPic_Beldum),
STILL_FRONT_PIC(METANG, gMonStillFrontPic_Metang),
STILL_FRONT_PIC(METAGROSS, gMonStillFrontPic_Metagross),
STILL_FRONT_PIC(REGIROCK, gMonStillFrontPic_Regirock),
STILL_FRONT_PIC(REGICE, gMonStillFrontPic_Regice),
STILL_FRONT_PIC(REGISTEEL, gMonStillFrontPic_Registeel),
STILL_FRONT_PIC(KYOGRE, gMonStillFrontPic_Kyogre),
STILL_FRONT_PIC(GROUDON, gMonStillFrontPic_Groudon),
STILL_FRONT_PIC(RAYQUAZA, gMonStillFrontPic_Rayquaza),
STILL_FRONT_PIC(LATIAS, gMonStillFrontPic_Latias),
STILL_FRONT_PIC(LATIOS, gMonStillFrontPic_Latios),
STILL_FRONT_PIC(JIRACHI, gMonStillFrontPic_Jirachi),
STILL_FRONT_PIC(DEOXYS, gMonStillFrontPic_Deoxys),
STILL_FRONT_PIC(CHIMECHO, gMonStillFrontPic_Chimecho),
STILL_FRONT_PIC(EGG, gMonStillFrontPic_Egg),
STILL_FRONT_PIC(UNOWN_B, gMonStillFrontPic_UnownB),
STILL_FRONT_PIC(UNOWN_C, gMonStillFrontPic_UnownC),
STILL_FRONT_PIC(UNOWN_D, gMonStillFrontPic_UnownD),
STILL_FRONT_PIC(UNOWN_E, gMonStillFrontPic_UnownE),
STILL_FRONT_PIC(UNOWN_F, gMonStillFrontPic_UnownF),
STILL_FRONT_PIC(UNOWN_G, gMonStillFrontPic_UnownG),
STILL_FRONT_PIC(UNOWN_H, gMonStillFrontPic_UnownH),
STILL_FRONT_PIC(UNOWN_I, gMonStillFrontPic_UnownI),
STILL_FRONT_PIC(UNOWN_J, gMonStillFrontPic_UnownJ),
STILL_FRONT_PIC(UNOWN_K, gMonStillFrontPic_UnownK),
STILL_FRONT_PIC(UNOWN_L, gMonStillFrontPic_UnownL),
STILL_FRONT_PIC(UNOWN_M, gMonStillFrontPic_UnownM),
STILL_FRONT_PIC(UNOWN_N, gMonStillFrontPic_UnownN),
STILL_FRONT_PIC(UNOWN_O, gMonStillFrontPic_UnownO),
STILL_FRONT_PIC(UNOWN_P, gMonStillFrontPic_UnownP),
STILL_FRONT_PIC(UNOWN_Q, gMonStillFrontPic_UnownQ),
STILL_FRONT_PIC(UNOWN_R, gMonStillFrontPic_UnownR),
STILL_FRONT_PIC(UNOWN_S, gMonStillFrontPic_UnownS),
STILL_FRONT_PIC(UNOWN_T, gMonStillFrontPic_UnownT),
STILL_FRONT_PIC(UNOWN_U, gMonStillFrontPic_UnownU),
STILL_FRONT_PIC(UNOWN_V, gMonStillFrontPic_UnownV),
STILL_FRONT_PIC(UNOWN_W, gMonStillFrontPic_UnownW),
STILL_FRONT_PIC(UNOWN_X, gMonStillFrontPic_UnownX),
STILL_FRONT_PIC(UNOWN_Y, gMonStillFrontPic_UnownY),
STILL_FRONT_PIC(UNOWN_Z, gMonStillFrontPic_UnownZ),
STILL_FRONT_PIC(UNOWN_EMARK, gMonStillFrontPic_UnownExclamationMark),
STILL_FRONT_PIC(UNOWN_QMARK, gMonStillFrontPic_UnownQuestionMark),
};
+5 -5
View File
@@ -208,13 +208,13 @@ void sub_8113064(struct Sprite *sprite)
sprite->data[3] = gBattleAnimArgs[4];
sprite->data[5] = gBattleAnimArgs[5];
sprite->invisible = 1;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = sub_80A66DC;
}
static void sub_8113100(struct Sprite *sprite)
{
sub_80A6838(sprite);
SetSpriteCoordsToAnimAttackerCoords(sprite);
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -235,7 +235,7 @@ static void sub_8113100(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[4];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
void sub_81131B4(struct Sprite *sprite)
@@ -253,8 +253,8 @@ void sub_81131B4(struct Sprite *sprite)
sub_80A6864(sprite, gBattleAnimArgs[1]);
sprite->pos1.y += gBattleAnimArgs[2];
sprite->callback = sub_80A67D8;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = RunStoredCallbackWhenAnimEnds;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
void sub_8113224(struct Sprite *sprite)
-1197
View File
File diff suppressed because it is too large Load Diff
+63 -74
View File
@@ -5,7 +5,6 @@
#include "constants/songs.h"
#include "sound.h"
extern void sub_80A62EC(struct Sprite *);
extern void sub_810E2C8(struct Sprite *);
extern bool8 sub_810B614(struct Task *task, u8 taskId);
extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
@@ -487,13 +486,13 @@ static void sub_810A214(struct Sprite *sprite)
static void sub_810A258(struct Sprite *sprite)
{
if (sprite->affineAnimEnded)
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
static void sub_810A274(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
@@ -509,65 +508,55 @@ static void sub_810A274(struct Sprite *sprite)
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
sprite->data[3] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_80A62EC;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = TranslateSpriteInCircleOverDuration;
}
static void sub_810A308(struct Sprite *sprite)
{
u8 slot;
u8 battler;
u32 matrixNum;
s16 sineVal;
switch (gBattleAnimArgs[4])
{
case 0:
slot = gBattleAnimAttacker;
battler = gBattleAnimAttacker;
break;
case 1:
default:
slot = gBattleAnimTarget;
battler = gBattleAnimTarget;
break;
case 2:
if (!IsBattlerSpriteVisible(gBattleAnimAttacker ^ 2))
{
slot = gBattleAnimAttacker;
}
if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
battler = gBattleAnimAttacker;
else
{
slot = gBattleAnimAttacker ^ 2;
}
battler = BATTLE_PARTNER(gBattleAnimAttacker);
break;
case 3:
if (IsBattlerSpriteVisible(gBattleAnimAttacker ^ 2))
{
slot = gBattleAnimTarget ^ 2;
}
if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
battler = BATTLE_PARTNER(gBattleAnimTarget);
else
{
slot = gBattleAnimTarget;
}
battler = gBattleAnimTarget;
break;
}
if (gBattleAnimArgs[5] == 0)
{
sprite->pos1.x = GetBattlerSpriteCoord(slot, 0);
sprite->pos1.y = GetBattlerSpriteCoord(slot, 1);
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y);
}
else
{
sprite->pos1.x = GetBattlerSpriteCoord(slot, 2);
sprite->pos1.y = GetBattlerSpriteCoord(slot, 3);
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET);
}
sprite->pos2.x = (gSineTable[gBattleAnimArgs[0]] * gBattleAnimArgs[1]) >> 8;
sprite->pos2.y = (gSineTable[gBattleAnimArgs[0] + 64] * gBattleAnimArgs[1]) >> 8;
if (gBattleAnimArgs[6] & 1)
{
sprite->oam.priority = sub_80A8328(slot) + 1;
}
sprite->oam.priority = sub_80A8328(battler) + 1;
matrixNum = sprite->oam.matrixNum;
sineVal = gSineTable[gBattleAnimArgs[2]];
@@ -585,9 +574,9 @@ static void sub_810A46C(struct Sprite *sprite)
InitAnimSpritePos(sprite, 1);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite);
sprite->data[5] = gBattleAnimArgs[2];
sprite->data[6] = gBattleAnimArgs[5];
@@ -627,8 +616,8 @@ static void sub_810A5BC(struct Sprite *sprite)
if (IsContest() || GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[1];
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[2];
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
sprite->data[3] = gBattleAnimArgs[0];
sprite->data[4] = gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[3];
@@ -637,19 +626,19 @@ static void sub_810A5BC(struct Sprite *sprite)
static void sub_810A628(struct Sprite *sprite)
{
u8 bank;
u8 battler;
sprite->data[0] = gBattleAnimArgs[3];
if (gBattleAnimArgs[7] & 0x8000)
bank = gBattleAnimTarget;
battler = gBattleAnimTarget;
else
bank = gBattleAnimAttacker;
battler = gBattleAnimAttacker;
if (IsContest() || GetBattlerSide(bank) == B_SIDE_PLAYER)
if (IsContest() || GetBattlerSide(battler) == B_SIDE_PLAYER)
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
sprite->pos1.x = GetBattlerSpriteCoord(bank, 2) + gBattleAnimArgs[0];
sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) + gBattleAnimArgs[1];
sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
sprite->data[4] = gBattleAnimArgs[7] & 0x7FFF;
sprite->data[5] = gBattleAnimArgs[2];
@@ -658,7 +647,7 @@ static void sub_810A628(struct Sprite *sprite)
sprite->oam.tileNum += gBattleAnimArgs[6] * 4;
sprite->callback = sub_810A6EC;
sub_810A6EC(sprite);
sprite->callback(sprite);
}
static void sub_810A6EC(struct Sprite *sprite)
@@ -1015,13 +1004,13 @@ void sub_810AAFC(u8 taskId)
if (!gBattleAnimArgs[0])
{
task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
else
{
task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
task->data[15] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
task->data[15] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
task->data[6] = gBattleAnimArgs[1];
@@ -1061,7 +1050,7 @@ void sub_810AB78(u8 taskId)
InitAnimLinearTranslation(sprite);
StoreSpriteCallbackInData6(sprite, sub_810ACC0);
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
if (++task->data[9] > 15)
task->data[9] = 0;
@@ -1101,43 +1090,43 @@ static void sub_810ACD8(struct Sprite *sprite)
{
if (!gBattleAnimArgs[0])
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
else
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_80A67BC;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
static void sub_810AD30(struct Sprite *sprite)
{
if (!gBattleAnimArgs[0])
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
else
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
sprite->pos2.x = gBattleAnimArgs[1];
sprite->pos2.y = gBattleAnimArgs[2];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
static void sub_810AD98(struct Sprite *sprite)
{
StartSpriteAffineAnim(sprite, 1);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[6] = GetAnimBattlerSpriteId(0);
sprite->data[7] = 16;
@@ -1159,7 +1148,7 @@ static void sub_810ADF8(struct Sprite *sprite)
sprite->pos1.x += sprite->data[7];
gSprites[sprite->data[6]].pos2.x += sprite->data[7];
if ((u16)(sprite->pos1.x + 80) > 400)
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
}
@@ -1171,7 +1160,7 @@ void sub_810AE5C(u8 taskId)
{
case 0:
task->data[15] = GetAnimBattlerSpriteId(0);
task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
task->data[14] = -32;
@@ -1230,14 +1219,14 @@ void sub_810AFCC(u8 taskId)
switch (gBattleAnimArgs[0])
{
case 0:
task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
task->data[5] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
task->data[5] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
task->data[4] = (task->data[1] * 128) + 120;
break;
case 4:
task->data[3] = 120 - (task->data[1] * 128);
task->data[5] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
task->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) - (task->data[1] * 32);
task->data[5] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
task->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) - (task->data[1] * 32);
break;
default:
if ((gBattleAnimArgs[0] & 1) != 0)
@@ -1337,14 +1326,14 @@ static void sub_810B23C(struct Sprite *sprite)
switch (sprite->data[0])
{
case 0:
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
StartSpriteAffineAnim(sprite, 2);
sprite->data[0]++;
break;
case 1:
if (sprite->affineAnimEnded)
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
}
@@ -1355,10 +1344,10 @@ void sub_810B29C(u8 taskId)
switch (task->data[0])
{
case 0:
task->data[6] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
task->data[7] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
task->data[6] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
task->data[7] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
task->data[8] = 4;
task->data[10] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
task->data[10] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
task->data[9] = (task->data[10] - task->data[6]) / 5;
task->data[4] = 7;
task->data[5] = -1;
@@ -1479,15 +1468,15 @@ void sub_810B55C(u8 taskId)
switch (task->data[0])
{
case 0:
task->data[15] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 32;
task->data[15] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 32;
task->data[14] = task->data[15];
while (task->data[14] > 16)
{
task->data[14] -= 32;
}
task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
task->data[12] = GetBattlerSubpriority(gBattleAnimTarget) - 2;
task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
task->data[12] = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 2;
task->data[0]++;
break;
case 1:
+5 -5
View File
@@ -828,7 +828,7 @@ static void sub_810D6A8(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3);
InitAnimLinearTranslation(sprite);
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = sub_80A6F98;
}
}
@@ -839,7 +839,7 @@ void sub_810D714(struct Sprite *sprite)
sprite->pos1.y = 120;
sprite->data[0] = gBattleAnimArgs[3];
sub_80A8048(&sprite->data[4], &sprite->data[5], (void *)(sprite->pos1.y << 8));
StorePointerInVars(&sprite->data[4], &sprite->data[5], (void *)(sprite->pos1.y << 8));
sprite->data[6] = gBattleAnimArgs[1];
sprite->oam.tileNum += gBattleAnimArgs[2] * 4;
@@ -853,9 +853,9 @@ static void sub_810D770(struct Sprite *sprite)
if (sprite->data[0] != 0)
{
var0 = sub_80A8050(sprite->data[4], sprite->data[5]);
var0 = LoadPointerFromVars(sprite->data[4], sprite->data[5]);
var0 -= sprite->data[6];
sub_80A8048(&sprite->data[4], &sprite->data[5], var0);
StorePointerInVars(&sprite->data[4], &sprite->data[5], var0);
var0 = (void *)(((intptr_t)var0) >> 8);
sprite->pos1.y = (intptr_t)var0;
@@ -978,7 +978,7 @@ void sub_810DA10(struct Sprite *sprite)
StartSpriteAnim(sprite, 1);
}
sprite->callback = sub_80A67D8;
sprite->callback = RunStoredCallbackWhenAnimEnds;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
+9 -9
View File
@@ -466,7 +466,7 @@ static void sub_8108EC8(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback = sub_80A634C;
sprite->callback = TranslateSpriteInGrowingCircleOverDuration;
sprite->callback(sprite);
}
@@ -479,13 +479,13 @@ static void sub_8108F08(struct Sprite *sprite)
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
sprite->callback = sub_80A656C;
sprite->callback = TranslateAnimLinearSimple;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
static void sub_8108F4C(struct Sprite *sprite)
{
sub_80A6838(sprite);
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker))
{
@@ -538,12 +538,12 @@ static void sub_8109028(struct Sprite *sprite)
}
if (sprite->data[0] == sprite->data[1])
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
static void sub_8109064(struct Sprite *sprite)
{
sub_80A6838(sprite);
SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker))
{
@@ -588,7 +588,7 @@ static void sub_81090D8(struct Sprite *sprite)
}
else
{
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
}
}
@@ -779,7 +779,7 @@ void sub_8109460(u8 taskId) // initialize animation task for Move_ERUPTION?
task->data[5] = GetBattlerSide(gBattleAnimAttacker);
task->data[6] = 0;
sub_80A7270(task->data[15], 0);
PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
task->func = sub_81094D0;
}
@@ -816,7 +816,7 @@ static void sub_81094D0(u8 taskId) // animate Move_ERUPTION?
if(!sub_80A80C8(task))
{
sub_80A7E6C(task->data[15]);
SetBattlerSpriteYOffsetFromYScale(task->data[15]);
gSprites[task->data[15]].pos2.x = 0;
task->data[1] = 0;
@@ -879,7 +879,7 @@ static void sub_81094D0(u8 taskId) // animate Move_ERUPTION?
if (!sub_80A80C8(task))
{
gSprites[task->data[15]].pos1.y = task->data[4];
sub_80A7344(task->data[15]);
ResetSpriteRotScale(task->data[15]);
task->data[2] = 0;
task->data[0]++;
+10 -10
View File
@@ -342,8 +342,8 @@ void sub_811188C(u8 taskId)
SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10));
spriteId = GetAnimBattlerSpriteId(0);
sub_80A7270(spriteId, 1);
obj_id_set_rotscale(spriteId, 128, 128, 0);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_BLEND);
SetSpriteRotScale(spriteId, 128, 128, 0);
gSprites[spriteId].invisible = FALSE;
gTasks[taskId].data[0] = 128;
gTasks[taskId].data[1] = *gBattleAnimArgs;
@@ -381,11 +381,11 @@ static void sub_811196C(u8 taskId)
gTasks[taskId].data[0] += 8;
if (gTasks[taskId].data[0] <= 0xFF)
{
obj_id_set_rotscale(spriteId, gTasks[taskId].data[0], gTasks[taskId].data[0], 0);
SetSpriteRotScale(spriteId, gTasks[taskId].data[0], gTasks[taskId].data[0], 0);
}
else
{
sub_80A7344(spriteId);
ResetSpriteRotScale(spriteId);
DestroyAnimVisualTask(taskId);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
@@ -454,7 +454,7 @@ static void AnimShadowBallStep(struct Sprite *sprite)
sprite->data[0] += 1;
break;
case 3:
move_anim_8074EE0(sprite);
DestroySpriteAndMatrix(sprite);
break;
}
}
@@ -510,7 +510,7 @@ void sub_8111C50(u8 taskId)
struct Task *task;
task = &gTasks[taskId];
task->data[0] = duplicate_obj_of_side_rel2move_in_transparent_mode(1);
task->data[0] = CloneBattlerSpriteWithBlend(1);
if (task->data[0] < 0)
{
DestroyAnimVisualTask(taskId);
@@ -536,7 +536,7 @@ void sub_8111C50(u8 taskId)
gSprites[task->data[0]].data[3] = 0;
gSprites[task->data[0]].data[4] = 0;
StoreSpriteCallbackInData6(&gSprites[task->data[0]], SpriteCallbackDummy);
gSprites[task->data[0]].callback = sub_80A656C;
gSprites[task->data[0]].callback = TranslateAnimLinearSimple;
task->func = sub_8111D78;
}
@@ -602,7 +602,7 @@ static void sub_8111E78(u8 taskId)
}
else
{
task->data[0] = duplicate_obj_of_side_rel2move_in_transparent_mode(1);
task->data[0] = CloneBattlerSpriteWithBlend(1);
if (task->data[0] < 0)
{
FreeSpritePaletteByTag(0x2771);
@@ -1171,7 +1171,7 @@ void sub_8112C6C(u8 taskId)
task->data[11] = (sub_80A861C(gBattleAnimAttacker, 1) / 2) + 8;
task->data[7] = 0;
task->data[5] = sub_80A8328(gBattleAnimAttacker);
task->data[6] = GetBattlerSubpriority(gBattleAnimAttacker) - 2;
task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 2;
task->data[3] = 0;
task->data[4] = 16;
SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
@@ -1322,6 +1322,6 @@ static void sub_8112FB8(struct Sprite *sprite)
gSprites[sprite->data[5]].pos2.x = 0;
gSprites[sprite->data[5]].pos2.y = 0;
gSprites[sprite->data[5]].pos1.y -= 8;
sprite->callback = move_anim_8074EE0;
sprite->callback = DestroySpriteAndMatrix;
}
}
+3 -3
View File
@@ -897,9 +897,9 @@ const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6
const u32 gBattleStatMask7_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat7.gbapal.lz");
const u32 gBattleStatMask8_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat8.gbapal.lz");
const u32 gUnknown_08C2DC68[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.4bpp.lz");
const u32 gUnknown_08C2DDA4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz");
const u32 gUnknown_08C2DDC4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz");
const u8 gUnknown_08C2DC68[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.4bpp.lz");
const u16 gUnknown_08C2DDA4[] = INCBIN_U16("graphics/battle_anims/masks/cure_bubbles.gbapal.lz");
const u8 gUnknown_08C2DDC4[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.bin.lz");
const u32 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz");
const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz");
+1 -1
View File
@@ -221,7 +221,7 @@ void AnimDirtScatter(struct Sprite *sprite)
sprite->data[2] = targetXPos + xOffset;
sprite->data[4] = targetYPos + yOffset;
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
// Moves a particle of dirt in the Mud Sport animation.
+1 -1
View File
@@ -497,7 +497,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, lastSavedTeam++)
{
if (lastSavedTeam->mon[0].species == 0)
if (lastSavedTeam->mon[0].species == SPECIES_NONE)
break;
}
if (i >= HALL_OF_FAME_MAX_TEAMS)
+8 -8
View File
@@ -410,8 +410,8 @@ void sub_81159B4(struct Sprite *sprite)
sprite->data[3] = 40;
sprite->data[4] = 112;
sprite->data[5] = 0;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_80A634C;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = TranslateSpriteInGrowingCircleOverDuration;
sprite->callback(sprite);
}
@@ -884,7 +884,7 @@ void sub_8116388(struct Sprite *sprite)
else
sub_80A6980(sprite, TRUE);
sprite->callback = sub_80A67BC;
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -897,7 +897,7 @@ static void sub_81163D0(struct Sprite *sprite)
sub_80A6980(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[4];
sprite->callback = sub_80A67BC;
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
StoreSpriteCallbackInData6(sprite, sub_810E2C8);
}
@@ -923,8 +923,8 @@ void sub_8116458(struct Sprite *sprite)
sprite->pos2.x += (Random2() % 48) - 24;
sprite->pos2.y += (Random2() % 24) - 12;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_80A67BC;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
void sub_81164F0(struct Sprite *sprite)
@@ -935,8 +935,8 @@ void sub_81164F0(struct Sprite *sprite)
sprite->pos2.x = gBattleAnimArgs[1];
sprite->pos2.y = gBattleAnimArgs[2];
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = sub_80A67BC;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
}
void sub_8116560(struct Sprite *sprite)
+1 -1
View File
@@ -258,7 +258,7 @@ void sub_810DCD0(struct Sprite *sprite)
static void sub_810DD24(struct Sprite *sprite)
{
sub_80A656C(sprite);
TranslateAnimLinearSimple(sprite);
sprite->data[1] -= sprite->data[5];
sprite->data[2] -= sprite->data[6];
+4 -4
View File
@@ -5929,13 +5929,13 @@ u16 HoennToNationalOrder(u16 hoennNum)
u16 SpeciesToCryId(u16 species)
{
if (species <= 250)
if (species <= SPECIES_CELEBI - 1)
return species;
if (species < 276)
return 200;
if (species < SPECIES_TREECKO - 1)
return SPECIES_UNOWN - 1;
return gSpeciesIdToCryId[species - 276];
return gSpeciesIdToCryId[species - (SPECIES_TREECKO - 1)];
}
void sub_806D544(u16 species, u32 personality, u8 *dest)
+4 -4
View File
@@ -226,7 +226,7 @@ static void CreateBattlerSprite(u8 battler)
return;
SetMultiuseSpriteTemplateToPokemon(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, GetBattlerSubpriority(battler));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, GetBattlerSpriteSubpriority(battler));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
@@ -241,7 +241,7 @@ static void CreateBattlerSprite(u8 battler)
SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50,
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80,
GetBattlerSubpriority(0));
GetBattlerSpriteSubpriority(0));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
@@ -251,7 +251,7 @@ static void CreateBattlerSprite(u8 battler)
SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(0));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50,
(8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords) * 4 + 80,
GetBattlerSubpriority(0));
GetBattlerSpriteSubpriority(0));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
@@ -262,7 +262,7 @@ static void CreateBattlerSprite(u8 battler)
return;
SetMultiuseSpriteTemplateToPokemon(GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, GetBattlerSubpriority(battler));
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, GetBattlerSpriteSubpriority(battler));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
+3 -3
View File
@@ -340,7 +340,7 @@ static void sub_8110A70(struct Sprite *sprite)
sprite->data[3] = 32;
sprite->data[4] = -24;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = sub_80A6450;
sprite->callback(sprite);
}
@@ -367,8 +367,8 @@ void sub_8110AB4(struct Sprite *sprite)
sprite->data[3] = 0;
sprite->data[4] = 0;
sprite->callback = sub_80A656C;
StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
sprite->callback = TranslateAnimLinearSimple;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
void sub_8110B38(struct Sprite *sprite)
+1 -1
View File
@@ -3231,7 +3231,7 @@ u16 TV_GetSomeOtherSpeciesAlreadySeenByPlayer(u16 passedSpecies)
initSpecies = species;
while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_SEEN) != TRUE || species == passedSpecies)
{
if (species == 1)
if (species == SPECIES_NONE + 1)
{
species = NUM_SPECIES - 1;
}