summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_anim_bug.c36
-rw-r--r--src/battle_anim_dragon.c24
-rw-r--r--src/battle_anim_effects_1.c133
-rwxr-xr-xsrc/battle_anim_effects_2.c130
-rwxr-xr-xsrc/battle_anim_effects_3.c82
-rw-r--r--src/battle_anim_electric.c6
-rw-r--r--src/battle_anim_fight.c56
-rw-r--r--src/battle_anim_fire.c14
-rw-r--r--src/battle_anim_flying.c30
-rw-r--r--src/battle_anim_ghost.c42
-rw-r--r--src/battle_anim_ground.c28
-rw-r--r--src/battle_anim_ice.c6
-rw-r--r--src/battle_anim_mon_movement.c12
-rw-r--r--src/battle_anim_mons.c434
-rw-r--r--src/battle_anim_normal.c2
-rw-r--r--src/battle_anim_poison.c4
-rw-r--r--src/battle_anim_psychic.c6
-rw-r--r--src/battle_anim_rock.c16
-rw-r--r--src/battle_anim_utility_funcs.c2
-rw-r--r--src/battle_anim_water.c42
-rw-r--r--src/battle_controller_link_opponent.c4
-rw-r--r--src/battle_controller_link_partner.c4
-rw-r--r--src/battle_controller_opponent.c4
-rw-r--r--src/battle_controller_player.c2
-rw-r--r--src/battle_controller_player_partner.c4
-rw-r--r--src/battle_controller_recorded_opponent.c4
-rw-r--r--src/battle_controller_recorded_player.c4
-rw-r--r--src/battle_controller_wally.c2
-rw-r--r--src/battle_gfx_sfx_util.c10
-rw-r--r--src/battle_main.c8
-rw-r--r--src/data/pokemon_graphics/back_pic_coordinates.h884
-rw-r--r--src/data/pokemon_graphics/front_pic_coordinates.h884
-rw-r--r--src/pokeball.c4
-rw-r--r--src/pokemon_icon.c2
-rw-r--r--src/reshow_battle_screen.c4
35 files changed, 1522 insertions, 1407 deletions
diff --git a/src/battle_anim_bug.c b/src/battle_anim_bug.c
index 105cc611e..14b98fcb2 100644
--- a/src/battle_anim_bug.c
+++ b/src/battle_anim_bug.c
@@ -212,12 +212,12 @@ static void AnimMegahornHorn(struct Sprite *sprite)
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
}
- sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
- sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
@@ -236,12 +236,12 @@ static void AnimLeechLifeNeedle(struct Sprite *sprite)
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
}
- sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
- sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[2];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
@@ -266,8 +266,8 @@ static void AnimTranslateWebThread(struct Sprite *sprite)
if (!gBattleAnimArgs[4])
{
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
else
{
@@ -394,8 +394,8 @@ static void AnimTranslateStinger(struct Sprite *sprite)
InitSpritePosToAnimAttacker(sprite, 1);
- lVarX = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
- lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ lVarX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
rot = ArcTan2Neg(lVarX - sprite->x, lVarY - sprite->y);
rot += 0xC000;
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rot);
@@ -423,8 +423,8 @@ static void AnimMissileArc(struct Sprite *sprite)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5];
InitAnimArcTranslation(sprite);
@@ -473,13 +473,13 @@ static void AnimTailGlowOrb(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 18;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + 18;
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 18;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + 18;
}
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
diff --git a/src/battle_anim_dragon.c b/src/battle_anim_dragon.c
index 1bc0f569b..029a5c30d 100644
--- a/src/battle_anim_dragon.c
+++ b/src/battle_anim_dragon.c
@@ -189,8 +189,8 @@ const struct SpriteTemplate gOverheatFlameSpriteTemplate =
static void AnimOutrageFlame(struct Sprite *sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
sprite->x -= gBattleAnimArgs[0];
@@ -215,8 +215,8 @@ static void AnimOutrageFlame(struct Sprite *sprite)
static void StartDragonFireTranslation(struct Sprite *sprite)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
sprite->x -= gBattleAnimArgs[1];
@@ -242,13 +242,13 @@ static void AnimDragonRageFirePlume(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
}
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[1]);
@@ -270,8 +270,8 @@ static void AnimDragonDanceOrb(struct Sprite *sprite)
{
u16 r5;
u16 r0;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[4] = 0;
sprite->data[5] = 1;
sprite->data[6] = gBattleAnimArgs[0];
@@ -417,8 +417,8 @@ static void AnimOverheatFlame(struct Sprite *sprite)
{
int i;
int yAmplitude = (gBattleAnimArgs[2] * 3) / 5;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[4];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[4];
sprite->data[1] = Cos(gBattleAnimArgs[1], gBattleAnimArgs[2]);
sprite->data[2] = Sin(gBattleAnimArgs[1], yAmplitude);
sprite->x += sprite->data[1] * gBattleAnimArgs[0];
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c
index f54ebfbf7..d460b9236 100644
--- a/src/battle_anim_effects_1.c
+++ b/src/battle_anim_effects_1.c
@@ -2548,7 +2548,7 @@ static void AnimPetalDanceSmallFlower(struct Sprite* sprite)
sprite->data[1] = sprite->x;
sprite->data[2] = sprite->x;
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
InitAnimLinearTranslation(sprite);
sprite->data[5] = 0x40;
sprite->callback = AnimPetalDanceSmallFlower_Step;
@@ -2971,8 +2971,8 @@ static void AnimIngrainOrb(struct Sprite* sprite)
{
if (!sprite->data[0])
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
sprite->data[3] = gBattleAnimArgs[4];
@@ -3309,8 +3309,8 @@ void AnimTask_LeafBlade(u8 taskId)
struct Task *task = &gTasks[taskId];
task->data[4] = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 1;
- task->data[6] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ task->data[6] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
task->data[10] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_WIDTH);
task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT);
task->data[5] = (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) ? 1 : -1;
@@ -3601,11 +3601,11 @@ static void AnimFlyingParticle(struct Sprite* sprite)
sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
break;
case 2:
- sprite->y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[0];
sprite->oam.priority = GetBattlerSpriteBGPriority(battler);
break;
case 3:
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[0];
GetAnimBattlerSpriteId(ANIM_TARGET);
sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
break;
@@ -3681,13 +3681,13 @@ static void AnimNeedleArmSpike(struct Sprite* sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- a = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- b = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ a = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ b = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
else
{
- a = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- b = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
sprite->data[0] = gBattleAnimArgs[4];
@@ -3790,8 +3790,8 @@ static void AnimFlickeringPunch(struct Sprite* sprite)
// arg 2: slice direction; 0 = right-to-left, 1 = left-to-right
static void AnimCuttingSlice(struct Sprite* sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
sprite->y += 8;
@@ -3816,32 +3816,31 @@ static void AnimCuttingSlice(struct Sprite* sprite)
static void AnimAirCutterSlice(struct Sprite* sprite)
{
- u8 a;
- u8 b;
+ u8 x, y;
switch (gBattleAnimArgs[3])
{
case 1:
- a = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 0);
- b = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 1);
+ x = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), BATTLER_COORD_X);
+ y = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), BATTLER_COORD_Y);
break;
case 2:
- a = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- b = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
{
- a = (GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 0) + a) / 2;
- b = (GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 1) + b) / 2;
+ x = (GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), BATTLER_COORD_X) + x) / 2;
+ y = (GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), BATTLER_COORD_Y) + y) / 2;
}
break;
case 0:
default:
- a = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- b = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
break;
}
- sprite->x = a;
- sprite->y = b;
+ sprite->x = x;
+ sprite->y = y;
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
sprite->y += 8;
@@ -3956,8 +3955,8 @@ static void AnimProtect(struct Sprite* sprite)
if (IsContest())
gBattleAnimArgs[1] += 8;
- sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 0) + gBattleAnimArgs[0];
- sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || IsContest())
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker) + 1;
else
@@ -4016,8 +4015,8 @@ static void AnimProtect_Step(struct Sprite *sprite)
static void AnimMilkBottle(struct Sprite* sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 0xFFE8;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + 0xFFE8;
sprite->data[0] = 0;
sprite->data[1] = 0;
sprite->data[2] = 0;
@@ -4156,13 +4155,13 @@ static void AnimSparkingStars(struct Sprite* sprite)
{
if (!gBattleAnimArgs[6])
{
- sprite->x = GetBattlerSpriteCoord(battler, 0);
- sprite->y = GetBattlerSpriteCoord(battler, 1) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + gBattleAnimArgs[1];
}
else
{
- sprite->x = GetBattlerSpriteCoord(battler, 2);
- sprite->y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
}
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
@@ -4325,8 +4324,8 @@ static void AnimLockOnTarget_Step3(struct Sprite* sprite)
sprite->y2 = 0;
sprite->x2 = 0;
sprite->data[0] = 6;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + a;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + b;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + a;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + b;
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, AnimLockOnTarget_Step5);
}
@@ -4442,7 +4441,7 @@ static void AnimBowMon_Step1(struct Sprite* sprite)
sprite->data[2] = 0;
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
StoreSpriteCallbackInData6(sprite, AnimBowMon_Step1_Callback);
- sprite->callback = TranslateMonSpriteLinear;
+ sprite->callback = TranslateSpriteLinearById;
}
static void AnimBowMon_Step1_Callback(struct Sprite* sprite)
@@ -4472,7 +4471,7 @@ static void AnimBowMon_Step2(struct Sprite* sprite)
sprite->data[2] = 0;
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
StoreSpriteCallbackInData6(sprite, AnimBowMon_Step4);
- sprite->callback = TranslateMonSpriteLinear;
+ sprite->callback = TranslateSpriteLinearById;
}
static void AnimBowMon_Step3(struct Sprite* sprite)
@@ -4710,13 +4709,13 @@ static void AnimSlashSlice(struct Sprite* sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[1];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[2];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
}
sprite->data[0] = 0;
@@ -4727,16 +4726,16 @@ static void AnimSlashSlice(struct Sprite* sprite)
static void AnimFalseSwipeSlice(struct Sprite* sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0;
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + 0xFFD0;
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSlice_Step1);
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
static void AnimFalseSwipePositionedSlice(struct Sprite* sprite)
{
- sprite->x = sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0 + gBattleAnimArgs[0];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->x = sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + 0xFFD0 + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
StartSpriteAnim(sprite, 1);
sprite->data[0] = 0;
sprite->data[1] = 0;
@@ -4777,13 +4776,13 @@ static void AnimEndureEnergy(struct Sprite* sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[2];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[1];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[2];
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[2];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[1];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[2];
}
sprite->data[0] = 0;
@@ -4806,8 +4805,8 @@ static void AnimEndureEnergy_Step(struct Sprite* sprite)
static void AnimSharpenSphere(struct Sprite* sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - 12;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) - 12;
sprite->data[0] = 0;
sprite->data[1] = 2;
sprite->data[2] = 0;
@@ -4845,8 +4844,8 @@ static void AnimConversion(struct Sprite* sprite)
{
if (sprite->data[0] == 0)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
if (IsContest())
sprite->y += 10;
@@ -4899,8 +4898,8 @@ static void AnimConversion2_Step(struct Sprite* sprite)
{
sprite->animPaused = 0;
sprite->data[0] = 30;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -4971,7 +4970,7 @@ static void AnimMoon_Step(struct Sprite* sprite)
static void AnimMoonlightSparkle(struct Sprite* sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
sprite->y = gBattleAnimArgs[1];
sprite->data[0] = 0;
sprite->data[1] = 0;
@@ -5112,8 +5111,8 @@ static void AnimHornHit(struct Sprite* sprite)
sprite->data[0] = 0;
sprite->data[1] = gBattleAnimArgs[2];
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
sprite->data[6] = sprite->x;
sprite->data[7] = sprite->y;
if (IsContest())
@@ -5226,7 +5225,7 @@ static void AnimDoubleTeam(struct Sprite* sprite)
if (sprite->data[0] > 64)
{
gTasks[sprite->data[2]].data[3]--;
- obj_delete_but_dont_free_vram(sprite);
+ DestroySpriteWithActiveSheet(sprite);
}
else
{
@@ -5300,8 +5299,8 @@ static void AnimWavyMusicNotes(struct Sprite* sprite)
}
else
{
- a = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- b = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
sprite->data[4] = sprite->x << 4;
@@ -5364,8 +5363,8 @@ static void AnimFlyingMusicNotes(struct Sprite* sprite)
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
gBattleAnimArgs[1] *= -1;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
StartSpriteAnim(sprite, gBattleAnimArgs[0]);
sprite->data[2] = 0;
sprite->data[3] = 0;
@@ -5408,8 +5407,8 @@ static void AnimBellyDrumHand(struct Sprite* sprite)
a = -16;
}
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + a;
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 8;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + a;
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + 8;
sprite->data[0] = 8;
sprite->callback = WaitAnimForDuration;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
@@ -5463,7 +5462,7 @@ void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite)
else
sprite->x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8;
- sprite->y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4;
+ sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4;
}
static void AnimThoughtBubble(struct Sprite* sprite)
@@ -5526,7 +5525,7 @@ static void AnimFollowMeFinger(struct Sprite* sprite)
else
battler = gBattleAnimTarget;
- sprite->x = GetBattlerSpriteCoord(battler, 0);
+ sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
sprite->y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP);
if (sprite->y <= 9)
sprite->y = 10;
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index 27149873d..c2a89ed4b 100755
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -1262,20 +1262,30 @@ const struct SpriteTemplate gGuardRingSpriteTemplate =
.callback = AnimGuardRing,
};
+#define sAmplitudeX data[1]
+#define sCircleSpeed data[2]
+#define sMoveSteps data[3]
+#define sAmplitudeY data[4]
+
static void AnimCirclingFinger(struct Sprite *sprite)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->y += gBattleAnimArgs[1];
- sprite->data[1] = gBattleAnimArgs[2];
- sprite->data[2] = gBattleAnimArgs[4];
- sprite->data[3] = gBattleAnimArgs[5];
- sprite->data[4] = gBattleAnimArgs[3];
+ sprite->sAmplitudeX = gBattleAnimArgs[2];
+ sprite->sCircleSpeed = gBattleAnimArgs[4];
+ sprite->sMoveSteps = gBattleAnimArgs[5];
+ sprite->sAmplitudeY = gBattleAnimArgs[3];
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = TranslateSpriteInEllipseOverDuration;
+ sprite->callback = TranslateSpriteInEllipse;
sprite->callback(sprite);
}
+#undef sAmplitudeX
+#undef sCircleSpeed
+#undef sMoveSteps
+#undef sAmplitudeY
+
static void AnimBouncingMusicNote(struct Sprite *sprite)
{
u8 battler;
@@ -1329,8 +1339,8 @@ static void AnimVibrateBattlerBack_Step(struct Sprite *sprite)
static void AnimVibrateBattlerBack(struct Sprite *sprite)
{
u8 spriteId;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
spriteId = gBattlerSpriteIds[gBattleAnimTarget];
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->x -= gBattleAnimArgs[0];
@@ -1498,8 +1508,8 @@ static void AnimSonicBoomProjectile(struct Sprite *sprite)
}
InitSpritePosToAnimAttacker(sprite, TRUE);
- targetXPos = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
- targetYPos = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ targetXPos = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ targetYPos = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
rotation = ArcTan2Neg(targetXPos - sprite->x, targetYPos - sprite->y);
rotation += 0xF000;
if (IsContest())
@@ -1772,8 +1782,8 @@ static void AnimCoinThrow(struct Sprite *sprite)
u16 var;
InitSpritePosToAnimAttacker(sprite, TRUE);
- r6 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- r7 = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ r6 = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ r7 = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -1883,7 +1893,7 @@ static void AnimRazorWindTornado(struct Sprite *sprite)
sprite->data[2] = gBattleAnimArgs[5];
sprite->data[3] = gBattleAnimArgs[6];
sprite->data[4] = gBattleAnimArgs[3];
- sprite->callback = TranslateSpriteInCircleOverDuration;
+ sprite->callback = TranslateSpriteInCircle;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback(sprite);
}
@@ -2113,7 +2123,7 @@ static void CreateMinimizeSprite(struct Task* task, u8 taskId)
{
if ((matrixNum = AllocOamMatrix()) == 0xFF)
{
- obj_delete_but_dont_free_vram(&gSprites[spriteId]);
+ DestroySpriteWithActiveSheet(&gSprites[spriteId]);
}
else
{
@@ -2141,7 +2151,7 @@ static void ClonedMinizeSprite_Step(struct Sprite *sprite)
{
gTasks[sprite->data[1]].data[sprite->data[2]]--;
FreeOamMatrix(sprite->oam.matrixNum);
- obj_delete_but_dont_free_vram(sprite);
+ DestroySpriteWithActiveSheet(sprite);
}
}
@@ -2467,7 +2477,7 @@ static void AnimTask_SketchDrawMon_Step(u8 taskId)
static void AnimPencil(struct Sprite *sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) - 16;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) - 16;
sprite->y = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 16;
sprite->data[0] = 0;
sprite->data[1] = 0;
@@ -2555,9 +2565,9 @@ static void AnimBlendThinRing(struct Sprite *sprite)
{
SetAverageBattlerPositions(battler, r4, &sp0, &sp1);
if (r4 == 0)
- r4 = GetBattlerSpriteCoord(battler, 0);
+ r4 = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
else
- r4 = GetBattlerSpriteCoord(battler, 2);
+ r4 = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
gBattleAnimArgs[0] -= (sp0 - r4) - gBattleAnimArgs[0]; // This is weird.
@@ -2580,14 +2590,14 @@ static void AnimHyperVoiceRing_WaitEnd(struct Sprite *sprite)
static void AnimHyperVoiceRing(struct Sprite *sprite)
{
- u16 r9 = 0;
- u16 r6 = 0;
- s16 sp0 = 0;
- s16 sp1 = 0;
- u8 sp4;
+ u16 startX = 0;
+ u16 startY = 0;
+ s16 x = 0;
+ s16 y = 0;
+ u8 yCoordType;
u8 battler1;
u8 battler2;
- u8 r10;
+ u8 xCoordType;
if (gBattleAnimArgs[5] == 0)
{
@@ -2602,18 +2612,18 @@ static void AnimHyperVoiceRing(struct Sprite *sprite)
if (!gBattleAnimArgs[6])
{
- r10 = 0;
- sp4 = 1;
+ xCoordType = BATTLER_COORD_X;
+ yCoordType = BATTLER_COORD_Y;
}
else
{
- r10 = 2;
- sp4 = 3;
+ xCoordType = BATTLER_COORD_X_2;
+ yCoordType = BATTLER_COORD_Y_PIC_OFFSET;
}
if (GetBattlerSide(battler1) != B_SIDE_PLAYER)
{
- r9 = GetBattlerSpriteCoord(battler1, r10) + gBattleAnimArgs[0];
+ startX = GetBattlerSpriteCoord(battler1, xCoordType) + gBattleAnimArgs[0];
if (IsBattlerSpriteVisible(BATTLE_PARTNER(battler2)))
sprite->subpriority = gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler2)]].subpriority - 1;
else
@@ -2621,7 +2631,7 @@ static void AnimHyperVoiceRing(struct Sprite *sprite)
}
else
{
- r9 = GetBattlerSpriteCoord(battler1, r10) - gBattleAnimArgs[0];
+ startX = GetBattlerSpriteCoord(battler1, xCoordType) - gBattleAnimArgs[0];
if (!IsContest() && IsBattlerSpriteVisible(BATTLE_PARTNER(battler1)))
{
if (gSprites[gBattlerSpriteIds[battler1]].x < gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler1)]].x)
@@ -2636,27 +2646,27 @@ static void AnimHyperVoiceRing(struct Sprite *sprite)
}
- r6 = GetBattlerSpriteCoord(battler1, sp4) + gBattleAnimArgs[1];
+ startY = GetBattlerSpriteCoord(battler1, yCoordType) + gBattleAnimArgs[1];
if (!IsContest() && IsBattlerSpriteVisible(BATTLE_PARTNER(battler2)))
{
- SetAverageBattlerPositions(battler2, gBattleAnimArgs[6], &sp0, &sp1);
+ SetAverageBattlerPositions(battler2, gBattleAnimArgs[6], &x, &y);
}
else
{
- sp0 = GetBattlerSpriteCoord(battler2, r10);
- sp1 = GetBattlerSpriteCoord(battler2, sp4);
+ x = GetBattlerSpriteCoord(battler2, xCoordType);
+ y = GetBattlerSpriteCoord(battler2, yCoordType);
}
if (GetBattlerSide(battler2))
- sp0 += gBattleAnimArgs[3];
+ x += gBattleAnimArgs[3];
else
- sp0 -= gBattleAnimArgs[3];
+ x -= gBattleAnimArgs[3];
- sp1 += gBattleAnimArgs[4];
- sprite->x = sprite->data[1] = r9;
- sprite->y = sprite->data[3] = r6;
- sprite->data[2] = sp0;
- sprite->data[4] = sp1;
+ y += gBattleAnimArgs[4];
+ sprite->x = sprite->data[1] = startX;
+ sprite->y = sprite->data[3] = startY;
+ sprite->data[2] = x;
+ sprite->data[4] = y;
sprite->data[0] = gBattleAnimArgs[0];
InitAnimLinearTranslation(sprite);
sprite->callback = AnimHyperVoiceRing_WaitEnd;
@@ -2923,8 +2933,8 @@ void AnimTask_SpeedDust(u8 taskId)
task->data[7] = 0;
task->data[8] = 0;
task->data[13] = 0;
- task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_ATTACKER);
- task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_TARGET);
+ task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
task->func = AnimTask_SpeedDust_Step;
}
@@ -3047,8 +3057,8 @@ static void AnimHealBellMusicNote(struct Sprite *sprite)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[3];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
SetMusicNotePalette(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]);
@@ -3165,9 +3175,9 @@ static void AnimRedHeartProjectile(struct Sprite *sprite)
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = 95;
sprite->data[1] = sprite->x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite);
sprite->callback = AnimRedHeartProjectile_Step;
}
@@ -3402,8 +3412,8 @@ static void AnimTask_ScaryFace_Step(u8 taskId)
// arg 1: initial wave offset
static void AnimOrbitFast(struct Sprite *sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->affineAnimPaused = 1;
sprite->data[0] = gBattleAnimArgs[0];
sprite->data[1] = gBattleAnimArgs[1];
@@ -3453,8 +3463,8 @@ static void AnimOrbitFast_Step(struct Sprite *sprite)
// arg 0: initial wave offset
static void AnimOrbitScatter(struct Sprite *sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
sprite->callback = AnimOrbitScatter_Step;
@@ -3479,8 +3489,8 @@ static void AnimSpitUpOrb_Step(struct Sprite *sprite)
static void AnimSpitUpOrb(struct Sprite *sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
sprite->data[2] = gBattleAnimArgs[1];
@@ -3617,13 +3627,13 @@ static void AnimMovementWaves(struct Sprite *sprite)
{
if (!gBattleAnimArgs[0])
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
if (!gBattleAnimArgs[1])
@@ -3671,8 +3681,8 @@ static void AnimJaggedMusicNote(struct Sprite *sprite)
if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
gBattleAnimArgs[1] *= -1;
- sprite->x = GetBattlerSpriteCoord(battler, 2) + gBattleAnimArgs[1];
- sprite->y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[2];
+ sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
+ sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
sprite->data[0] = 0;
sprite->data[1] = (u16)sprite->x << 3;
sprite->data[2] = (u16)sprite->y << 3;
@@ -3804,8 +3814,8 @@ static void AnimGuardRing(struct Sprite *sprite)
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 40;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 40;
}
sprite->data[0] = 13;
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index 85dee5287..f73393de4 100755
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -1211,8 +1211,8 @@ static void AnimBlackSmoke_Step(struct Sprite *sprite)
void AnimTask_SmokescreenImpact(u8 taskId)
{
SmokescreenImpact(
- GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 8,
- GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 8,
+ GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + 8,
+ GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + 8,
0);
DestroyAnimVisualTask(taskId);
}
@@ -1247,8 +1247,8 @@ static void AnimWhiteHalo_Step2(struct Sprite *sprite)
static void AnimTealAlert(struct Sprite *sprite)
{
u16 rotation;
- u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- u8 y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ u8 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitSpritePosToAnimTarget(sprite, TRUE);
@@ -1608,8 +1608,8 @@ static void AnimClappingHand(struct Sprite *sprite)
{
if (gBattleAnimArgs[3] == 0)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
}
sprite->x += gBattleAnimArgs[0];
@@ -1710,13 +1710,13 @@ static void AnimRapidSpin(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[1];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[1];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
}
sprite->y2 = gBattleAnimArgs[2];
@@ -1896,8 +1896,8 @@ void AnimTask_TormentAttacker(u8 taskId)
task->data[0] = 0;
task->data[1] = 0;
- task->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ task->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
task->data[4] = 32;
task->data[5] = -20;
task->data[6] = 0;
@@ -2038,8 +2038,8 @@ static void AnimTriAttackTriangle(struct Sprite *sprite)
sprite->x2 = 0;
sprite->y2 = 0;
sprite->data[0] = 20;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation;
}
}
@@ -2066,8 +2066,8 @@ static void AnimBatonPassPokeball(struct Sprite *sprite)
switch (sprite->data[0])
{
case 0:
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
sprite->data[1] = 256;
sprite->data[2] = 256;
@@ -2222,7 +2222,7 @@ static void AnimSwallowBlueOrb(struct Sprite *sprite)
case 0:
InitSpritePosToAnimAttacker(sprite, FALSE);
sprite->data[1] = 0x900;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0]++;
break;
case 1:
@@ -2283,7 +2283,7 @@ void AnimTask_TransformMon(u8 taskId)
break;
case 2:
HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, gTasks[taskId].data[10]);
- sub_80A6BFC(&animBg, gBattleAnimAttacker);
+ GetBgDataForTransform(&animBg, gBattleAnimAttacker);
if (IsContest())
position = B_POSITION_PLAYER_LEFT;
@@ -2476,8 +2476,8 @@ static void AnimGreenStar(struct Sprite *sprite)
if (xOffset > 31)
xOffset = 32 - xOffset;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + xOffset;
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + xOffset;
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 32;
sprite->data[1] = gBattleAnimArgs[0];
sprite->data[2] = gBattleAnimArgs[1];
@@ -3246,8 +3246,8 @@ void AnimTask_RolePlaySilhouette(u8 taskId)
}
}
- coord1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- coord2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ coord1 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ coord2 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
spriteId = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, TRUE);
gSprites[spriteId].oam.priority = priority;
@@ -4165,7 +4165,7 @@ static void AnimSmellingSaltsHand(struct Sprite *sprite)
sprite->oam.tileNum += 16;
sprite->data[6] = gBattleAnimArgs[2];
sprite->data[7] = gBattleAnimArgs[1] == 0 ? -1 : 1;
- sprite->y = GetBattlerSpriteCoord(battler, 3);
+ sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET);
if (gBattleAnimArgs[1] == 0)
{
sprite->oam.matrixNum |= ST_OAM_HFLIP;
@@ -4280,12 +4280,12 @@ static void AnimSmellingSaltExclamation(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP);
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->y = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP);
}
@@ -4426,9 +4426,9 @@ void AnimTask_HelpingHandAttackerMovement(u8 taskId)
{
if (IsDoubleBattle() == TRUE)
{
- int x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- int y = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimAttacker), 0);
- if (x > y)
+ int attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ int partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimAttacker), BATTLER_COORD_X);
+ if (attackerX > partnerX)
task->data[14] = 1;
else
task->data[14] = -1;
@@ -4566,24 +4566,24 @@ static void AnimForesightMagnifyingGlass_Step(struct Sprite *sprite)
sprite->data[6] = 0;
case 0:
case 4:
- x = GetBattlerSpriteCoordAttr(sprite->data[7], 5) - 4;
- y = GetBattlerSpriteCoordAttr(sprite->data[7], 3) - 4;
+ x = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_RIGHT) - 4;
+ y = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_BOTTOM) - 4;
break;
case 1:
- x = GetBattlerSpriteCoordAttr(sprite->data[7], 5) - 4;
- y = GetBattlerSpriteCoordAttr(sprite->data[7], 2) + 4;
+ x = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_RIGHT) - 4;
+ y = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_TOP) + 4;
break;
case 2:
- x = GetBattlerSpriteCoordAttr(sprite->data[7], 4) + 4;
- y = GetBattlerSpriteCoordAttr(sprite->data[7], 3) - 4;
+ x = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_LEFT) + 4;
+ y = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_BOTTOM) - 4;
break;
case 3:
- x = GetBattlerSpriteCoordAttr(sprite->data[7], 4) + 4;
- y = GetBattlerSpriteCoordAttr(sprite->data[7], 2) - 4;
+ x = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_LEFT) + 4;
+ y = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_TOP) - 4;
break;
case 5:
- x = GetBattlerSpriteCoord(sprite->data[7], 2);
- y = GetBattlerSpriteCoord(sprite->data[7], 3);
+ x = GetBattlerSpriteCoord(sprite->data[7], BATTLER_COORD_X_2);
+ y = GetBattlerSpriteCoord(sprite->data[7], BATTLER_COORD_Y_PIC_OFFSET);
break;
}
@@ -4814,7 +4814,7 @@ static void AnimBlockX(struct Sprite *sprite)
y = -96;
}
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->y2 = y;
sprite->callback = AnimBlockX_Step;
}
@@ -4896,7 +4896,7 @@ void AnimTask_OdorSleuthMovement(u8 taskId)
spriteId2 = CloneBattlerSpriteWithBlend(ANIM_TARGET);
if (spriteId2 < 0)
{
- obj_delete_but_dont_free_vram(&gSprites[spriteId1]);
+ DestroySpriteWithActiveSheet(&gSprites[spriteId1]);
DestroyAnimVisualTask(taskId);
return;
}
@@ -4974,7 +4974,7 @@ static void MoveOdorSleuthClone(struct Sprite *sprite)
if (sprite->data[5] < 0)
{
gTasks[sprite->data[6]].data[sprite->data[7]]--;
- obj_delete_but_dont_free_vram(sprite);
+ DestroySpriteWithActiveSheet(sprite);
}
}
break;
diff --git a/src/battle_anim_electric.c b/src/battle_anim_electric.c
index a9a876920..635aa550e 100644
--- a/src/battle_anim_electric.c
+++ b/src/battle_anim_electric.c
@@ -509,7 +509,7 @@ static void AnimUnusedCirclingShock(struct Sprite *sprite)
sprite->data[2] = gBattleAnimArgs[3];
sprite->data[3] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = TranslateSpriteInCircleOverDuration;
+ sprite->callback = TranslateSpriteInCircle;
}
static void AnimSparkElectricity(struct Sprite *sprite)
@@ -682,8 +682,8 @@ static void AnimElectricity(struct Sprite *sprite)
// The vertical falling thunder bolt used in Thunder Wave/Shock/Bolt
void AnimTask_ElectricBolt(u8 taskId)
{
- gTasks[taskId].data[0] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[0];
- gTasks[taskId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[1];
+ gTasks[taskId].data[0] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[1];
gTasks[taskId].data[2] = gBattleAnimArgs[2];
gTasks[taskId].func = AnimTask_ElectricBolt_Step;
}
diff --git a/src/battle_anim_fight.c b/src/battle_anim_fight.c
index 47bb9312f..ca4668e02 100644
--- a/src/battle_anim_fight.c
+++ b/src/battle_anim_fight.c
@@ -478,8 +478,8 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite)
gBattleAnimArgs[2] = Random2() % 5;
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
- sprite->x = GetBattlerSpriteCoord(battler, 2);
- sprite->y = GetBattlerSpriteCoord(battler, 3);
+ sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET);
xMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 2;
yMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4;
@@ -646,8 +646,8 @@ static void AnimStompFoot_Step(struct Sprite *sprite)
if (--sprite->data[0] == -1)
{
sprite->data[0] = 6;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, AnimStompFoot_End);
@@ -691,13 +691,13 @@ static void AnimBrickBreakWall(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
}
sprite->x += gBattleAnimArgs[1];
@@ -745,13 +745,13 @@ static void AnimBrickBreakWallShard(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[2];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[2];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[3];
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[2];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[3];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[2];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[3];
}
sprite->oam.tileNum += gBattleAnimArgs[1] * 16;
@@ -796,8 +796,8 @@ static void AnimSuperpowerOrb(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{
- sprite->x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattlerAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattlerAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
sprite->data[7] = gBattleAnimTarget;
}
@@ -821,13 +821,13 @@ static void AnimSuperpowerOrb_Step(struct Sprite *sprite)
sprite->data[0] = 16;
sprite->data[1] = sprite->x;
- sprite->data[2] = GetBattlerSpriteCoord(sprite->data[7], 2);
+ sprite->data[2] = GetBattlerSpriteCoord(sprite->data[7], BATTLER_COORD_X_2);
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3);
+ sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = AnimTranslateLinear_WaitEnd;
+ sprite->callback = AnimTranslateLinear_WithFollowup;
}
}
@@ -865,10 +865,10 @@ static void AnimSuperpowerRock_Step1(struct Sprite *sprite)
}
else
{
- s16 pos0 = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- s16 pos1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
- s16 pos2 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- s16 pos3 = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ s16 pos0 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ s16 pos1 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ s16 pos2 = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ s16 pos3 = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0] = pos2 - pos0;
sprite->data[1] = pos3 - pos1;
@@ -899,8 +899,8 @@ static void AnimSuperpowerFireball(struct Sprite *sprite)
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{
- sprite->x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattlerAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattlerAttacker, BATTLER_COORD_Y_PIC_OFFSET);
battler = gBattleAnimTarget;
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
}
@@ -917,13 +917,13 @@ static void AnimSuperpowerFireball(struct Sprite *sprite)
sprite->data[0] = 16;
sprite->data[1] = sprite->x;
- sprite->data[2] = GetBattlerSpriteCoord(battler, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(battler, 3);
+ sprite->data[4] = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite);
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = AnimTranslateLinear_WaitEnd;
+ sprite->callback = AnimTranslateLinear_WithFollowup;
}
static void AnimArmThrustHit_Step(struct Sprite *sprite)
@@ -938,8 +938,8 @@ static void AnimArmThrustHit(struct Sprite *sprite)
{
u8 turn;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[2] = gBattleAnimArgs[0];
sprite->data[3] = gBattleAnimArgs[1];
diff --git a/src/battle_anim_fire.c b/src/battle_anim_fire.c
index 912391280..8ecb60713 100644
--- a/src/battle_anim_fire.c
+++ b/src/battle_anim_fire.c
@@ -472,7 +472,7 @@ static void AnimFireSpiralInward(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = TranslateSpriteInGrowingCircleOverDuration;
+ sprite->callback = TranslateSpriteInGrowingCircle;
sprite->callback(sprite);
}
@@ -665,9 +665,9 @@ static void AnimFireRing_Step1(struct Sprite *sprite)
{
sprite->data[0] = 0x19;
sprite->data[1] = sprite->x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite);
@@ -681,8 +681,8 @@ static void AnimFireRing_Step2(struct Sprite *sprite)
{
sprite->data[0] = 0;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->y2 = 0;
sprite->x2 = 0;
@@ -1101,9 +1101,9 @@ static void AnimWillOWispOrb(struct Sprite *sprite)
sprite->data[0] = 256;
sprite->data[1] = sprite->x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslationWithSpeed(sprite);
sprite->callback = AnimWillOWispOrb_Step;
diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c
index b1098ad80..3c6341faa 100644
--- a/src/battle_anim_flying.c
+++ b/src/battle_anim_flying.c
@@ -895,8 +895,8 @@ static void AnimFallingFeather_Step(struct Sprite *sprite)
static void AnimUnusedBubbleThrow(struct Sprite *sprite)
{
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget);
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = TranslateAnimSpriteToTargetMonLocation;
}
@@ -955,8 +955,8 @@ void AnimTask_DrillPeckHitSplats(u8 task)
gBattleAnimArgs[3] = 3;
CreateSpriteAndAnimate(&gFlashingHitSplatSpriteTemplate,
- GetBattlerSpriteCoord(gBattleAnimTarget, 2),
- GetBattlerSpriteCoord(gBattleAnimTarget, 3),
+ GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2),
+ GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET),
3);
}
@@ -987,7 +987,7 @@ static void AnimBounceBallLand(struct Sprite *sprite)
switch (sprite->data[0])
{
case 0:
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
sprite->y2 = -sprite->y - 32;
sprite->data[0]++;
break;
@@ -1056,13 +1056,13 @@ static void AnimDiveWaterSplash(struct Sprite *sprite)
case 0:
if (!gBattleAnimArgs[0])
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
}
sprite->data[1] = 0x200;
@@ -1123,13 +1123,13 @@ static void AnimSprayWaterDroplet(struct Sprite *sprite)
if (gBattleAnimArgs[1] == 0)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 32;
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 32;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 32;
}
sprite->callback = AnimSprayWaterDroplet_Step;
@@ -1190,8 +1190,8 @@ static void AnimSkyAttackBird(struct Sprite *sprite)
s16 posx = sprite->x;
s16 posy = sprite->y;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[4] = sprite->x << 4;
sprite->data[5] = sprite->y << 4;
diff --git a/src/battle_anim_ghost.c b/src/battle_anim_ghost.c
index 03a003c60..c6005ebc2 100644
--- a/src/battle_anim_ghost.c
+++ b/src/battle_anim_ghost.c
@@ -222,9 +222,9 @@ static void AnimConfuseRayBallBounce(struct Sprite *sprite)
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslationWithSpeed(sprite);
sprite->callback = AnimConfuseRayBallBounce_Step1;
sprite->data[6] = 16;
@@ -400,8 +400,8 @@ static void AnimShadowBall(struct Sprite *sprite)
s16 oldPosX = sprite->x;
s16 oldPosY = sprite->y;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0] = 0;
sprite->data[1] = gBattleAnimArgs[0];
sprite->data[2] = gBattleAnimArgs[1];
@@ -431,8 +431,8 @@ static void AnimShadowBall_Step(struct Sprite *sprite)
sprite->data[2] -= 1;
if (sprite->data[2] > 0)
break;
- sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[4] = sprite->x << 4;
sprite->data[5] = sprite->y << 4;
sprite->data[6] = ((sprite->data[1] - sprite->x) << 4) / sprite->data[3];
@@ -447,8 +447,8 @@ static void AnimShadowBall_Step(struct Sprite *sprite)
sprite->data[3] -= 1;
if (sprite->data[3] > 0)
break;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0] += 1;
break;
case 3:
@@ -567,7 +567,7 @@ static void AnimTask_NightmareClone_Step(u8 taskId)
break;
if (task->data[1] <= 80)
break;
- obj_delete_but_dont_free_vram(&gSprites[task->data[0]]);
+ DestroySpriteWithActiveSheet(&gSprites[task->data[0]]);
task->data[4] = 1;
break;
case 1:
@@ -723,7 +723,7 @@ static void AnimTask_SpiteTargetShadow_Step3(u8 taskId)
break;
case 2:
gSprites[task->data[14]].invisible = TRUE;
- obj_delete_but_dont_free_vram(&gSprites[task->data[0]]);
+ DestroySpriteWithActiveSheet(&gSprites[task->data[0]]);
FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
@@ -747,17 +747,17 @@ static void AnimDestinyBondWhiteShadow(struct Sprite *sprite)
if (gBattleAnimArgs[0] == 0)
{
- battler1X = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- battler1Y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 28;
- battler2X = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- battler2Y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 28;
+ battler1X = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ battler1Y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 28;
+ battler2X = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ battler2Y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 28;
}
else
{
- battler1X = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- battler1Y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 28;
- battler2X = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- battler2Y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 28;
+ battler1X = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ battler1Y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 28;
+ battler2X = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ battler2Y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 28;
}
yDiff = battler2Y - battler1Y;
@@ -807,7 +807,7 @@ void AnimTask_DestinyBondWhiteShadow(u8 taskId)
task->data[9] = 16;
task->data[10] = gBattleAnimArgs[0];
- baseX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ baseX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
baseY = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM);
if (!IsContest())
{
@@ -820,7 +820,7 @@ void AnimTask_DestinyBondWhiteShadow(u8 taskId)
spriteId = CreateSprite(&gDestinyBondWhiteShadowSpriteTemplate, baseX, baseY, 55);
if (spriteId != MAX_SPRITES)
{
- x = GetBattlerSpriteCoord(battler, 2);
+ x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_BOTTOM);
gSprites[spriteId].data[0] = baseX << 4;
gSprites[spriteId].data[1] = baseY << 4;
@@ -1175,7 +1175,7 @@ void AnimTask_GrudgeFlames(u8 taskId)
task->data[0] = 0;
task->data[1] = 16;
- task->data[9] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ task->data[9] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
task->data[10] = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
task->data[11] = (GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2) + 8;
task->data[7] = 0;
diff --git a/src/battle_anim_ground.c b/src/battle_anim_ground.c
index 81b3d160f..0e581035e 100644
--- a/src/battle_anim_ground.c
+++ b/src/battle_anim_ground.c
@@ -141,11 +141,11 @@ const struct SpriteTemplate gDirtMoundSpriteTemplate =
// a boomerang. After hitting the target mon, it comes back to the user.
static void AnimBonemerangProjectile(struct Sprite *sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0] = 20;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[5] = -40;
InitAnimArcTranslation(sprite);
sprite->callback = AnimBonemerangProjectile_Step;
@@ -160,8 +160,8 @@ static void AnimBonemerangProjectile_Step(struct Sprite *sprite)
sprite->y2 = 0;
sprite->x2 = 0;
sprite->data[0] = 20;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[5] = 40;
InitAnimArcTranslation(sprite);
sprite->callback = AnimBonemerangProjectile_End;
@@ -188,8 +188,8 @@ static void AnimBoneHitProjectile(struct Sprite *sprite)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -207,8 +207,8 @@ static void AnimDirtScatter(struct Sprite *sprite)
InitSpritePosToAnimAttacker(sprite, 1);
- targetXPos = GetBattlerSpriteCoord2(gBattleAnimTarget, 2);
- targetYPos = GetBattlerSpriteCoord2(gBattleAnimTarget, 3);
+ targetXPos = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X_2);
+ targetYPos = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
xOffset = Random2() & 0x1F;
yOffset = Random2() & 0x1F;
@@ -234,8 +234,8 @@ static void AnimMudSportDirt(struct Sprite *sprite)
sprite->oam.tileNum++;
if (gBattleAnimArgs[0] == 0)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[1] > 0 ? 1 : -1;
sprite->callback = AnimMudSportDirtRising;
}
@@ -518,7 +518,7 @@ void AnimDirtPlumeParticle(struct Sprite *sprite)
gBattleAnimArgs[2] *= -1;
}
- sprite->x = GetBattlerSpriteCoord(battler, 2) + xOffset;
+ sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + xOffset;
sprite->y = GetBattlerYCoordWithElevation(battler) + 30;
sprite->data[0] = gBattleAnimArgs[5];
sprite->data[2] = sprite->x + gBattleAnimArgs[2];
@@ -549,7 +549,7 @@ static void AnimDigDirtMound(struct Sprite *sprite)
else
battler = gBattleAnimTarget;
- sprite->x = GetBattlerSpriteCoord(battler, 0) - 16 + (gBattleAnimArgs[1] * 32);
+ sprite->x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X) - 16 + (gBattleAnimArgs[1] * 32);
sprite->y = GetBattlerYCoordWithElevation(battler) + 32;
sprite->oam.tileNum += gBattleAnimArgs[1] * 8;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c
index 95c64f7ca..0b89c1f59 100644
--- a/src/battle_anim_ice.c
+++ b/src/battle_anim_ice.c
@@ -538,7 +538,7 @@ static void AnimUnusedIceCrystalThrow(struct Sprite *sprite)
sprite->data[2] = gBattleAnimArgs[2] + targetX;
sprite->data[3] = gBattleAnimArgs[1] + attackerY;
sprite->data[4] = gBattleAnimArgs[3] + targetY;
- sub_80A64EC(sprite);
+ ConvertPosDataToTranslateLinearData(sprite);
for (;(targetX >= -32 && targetX <= DISPLAY_WIDTH + 32) && (targetY >= -32 && targetY <= DISPLAY_HEIGHT + 32);
targetX += sprite->data[1], targetY += sprite->data[2])
@@ -557,7 +557,7 @@ static void AnimUnusedIceCrystalThrow(struct Sprite *sprite)
sprite->data[2] = targetX;
sprite->data[3] = attackerY;
sprite->data[4] = targetY;
- sub_80A64EC(sprite);
+ ConvertPosDataToTranslateLinearData(sprite);
sprite->data[3] = gBattleAnimArgs[5];
sprite->data[4] = gBattleAnimArgs[6];
sprite->callback = AnimUnusedIceCrystalThrow_Step;
@@ -592,7 +592,7 @@ static void AnimIcePunchSwirlingParticle(struct Sprite *sprite)
sprite->data[3] = 30;
sprite->data[4] = -512;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = TranslateSpriteInGrowingCircleOverDuration;
+ sprite->callback = TranslateSpriteInGrowingCircle;
sprite->callback(sprite);
}
diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c
index 31857c4dc..ba2cbe29a 100644
--- a/src/battle_anim_mon_movement.c
+++ b/src/battle_anim_mon_movement.c
@@ -441,14 +441,14 @@ static void DoHorizontalLunge(struct Sprite *sprite)
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
sprite->data[4] = gBattleAnimArgs[0];
StoreSpriteCallbackInData6(sprite, ReverseHorizontalLungeDirection);
- sprite->callback = TranslateMonSpriteLinear;
+ sprite->callback = TranslateSpriteLinearById;
}
static void ReverseHorizontalLungeDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[1] = -sprite->data[1];
- sprite->callback = TranslateMonSpriteLinear;
+ sprite->callback = TranslateSpriteLinearById;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -468,14 +468,14 @@ static void DoVerticalDip(struct Sprite *sprite)
sprite->data[3] = spriteId;
sprite->data[4] = gBattleAnimArgs[0];
StoreSpriteCallbackInData6(sprite, ReverseVerticalDipDirection);
- sprite->callback = TranslateMonSpriteLinear;
+ sprite->callback = TranslateSpriteLinearById;
}
static void ReverseVerticalDipDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[2] = -sprite->data[2];
- sprite->callback = TranslateMonSpriteLinear;
+ sprite->callback = TranslateSpriteLinearById;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -581,7 +581,7 @@ static void SlideMonToOffset(struct Sprite *sprite)
sprite->data[5] = monSpriteId;
sprite->invisible = TRUE;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = TranslateMonSpriteLinearFixedPoint;
+ sprite->callback = TranslateSpriteLinearByIdFixedPoint;
}
static void SlideMonToOffsetAndBack(struct Sprite *sprite)
@@ -622,7 +622,7 @@ static void SlideMonToOffsetAndBack(struct Sprite *sprite)
{
StoreSpriteCallbackInData6(sprite, SlideMonToOffsetAndBack_End);
}
- sprite->callback = TranslateMonSpriteLinearFixedPoint;
+ sprite->callback = TranslateSpriteLinearByIdFixedPoint;
}
diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c
index 6471c67d5..a03196ee1 100644
--- a/src/battle_anim_mons.c
+++ b/src/battle_anim_mons.c
@@ -20,23 +20,21 @@
extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64;
-static void sub_80A6FB4(struct Sprite *sprite);
+static void AnimTranslateLinear_WithFollowup_SetCornerVecX(struct Sprite *sprite);
static void AnimFastTranslateLinearWaitEnd(struct Sprite *sprite);
static void AnimThrowProjectile_Step(struct Sprite *sprite);
-static void sub_80A8DFC(struct Sprite *sprite);
+static void AnimBattlerTrace(struct Sprite *sprite);
static void AnimWeatherBallUp_Step(struct Sprite *sprite);
static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
static void AnimTask_BlendPalInAndOutSetup(struct Task *task);
static void AnimTask_AlphaFadeIn_Step(u8 taskId);
static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId);
static void AnimTask_BlendMonInAndOut_Step(u8 taskId);
-static bool8 sub_80A7238(void);
-static void sub_80A8D78(struct Task *task, u8 taskId);
+static bool8 ShouldRotScaleSpeciesBeFlipped(void);
+static void CreateBattlerTrace(struct Task *task, u8 taskId);
-// EWRAM vars
-EWRAM_DATA static union AffineAnimCmd *gAnimTaskAffineAnim = NULL;
+EWRAM_DATA static union AffineAnimCmd *sAnimTaskAffineAnim = NULL;
-// Const rom data
static const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] =
{
{ // Single battle
@@ -56,10 +54,10 @@ static const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] =
// One entry for each of the four Castform forms.
const struct MonCoords gCastformFrontSpriteCoords[NUM_CASTFORM_FORMS] =
{
- [CASTFORM_NORMAL] = { .size = 0x44, .y_offset = 17 },
- [CASTFORM_FIRE] = { .size = 0x66, .y_offset = 9 },
- [CASTFORM_WATER] = { .size = 0x46, .y_offset = 9 },
- [CASTFORM_ICE] = { .size = 0x86, .y_offset = 8 },
+ [CASTFORM_NORMAL] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 17 },
+ [CASTFORM_FIRE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 },
+ [CASTFORM_WATER] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 },
+ [CASTFORM_ICE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 },
};
static const u8 sCastformElevations[NUM_CASTFORM_FORMS] =
@@ -287,8 +285,8 @@ u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3)
{
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
y += 8;
- if (y > 104)
- y = 104;
+ if (y > DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8)
+ y = DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8;
}
return y;
}
@@ -385,7 +383,7 @@ u8 GetAnimBattlerSpriteId(u8 animBattler)
}
else
{
- return 0xff;
+ return SPRITE_NONE;
}
}
else if (animBattler == ANIM_TARGET)
@@ -397,13 +395,13 @@ u8 GetAnimBattlerSpriteId(u8 animBattler)
}
else
{
- return 0xff;
+ return SPRITE_NONE;
}
}
else if (animBattler == ANIM_ATK_PARTNER)
{
if (!IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
- return 0xff;
+ return SPRITE_NONE;
else
return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)];
}
@@ -412,7 +410,7 @@ u8 GetAnimBattlerSpriteId(u8 animBattler)
if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
return gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimTarget)];
else
- return 0xff;
+ return SPRITE_NONE;
}
}
@@ -428,18 +426,38 @@ void SetCallbackToStoredInData6(struct Sprite *sprite)
sprite->callback = (void (*)(struct Sprite *))callback;
}
-void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
+// Sprite data for TranslateSpriteInCircle/Ellipse and related
+#define sCirclePos data[0]
+#define sAmplitude data[1]
+#define sCircleSpeed data[2]
+#define sDuration data[3]
+
+// TranslateSpriteInGrowingCircle
+#define sAmplitudeSpeed data[4]
+#define sAmplitudeChange data[5]
+
+// TranslateSpriteInEllipse
+#define sAmplitudeX sAmplitude
+#define sAmplitudeY data[4]
+
+// TranslateSpriteInWavePattern
+#define sCirclePosX sCirclePos
+#define sCircleSpeedX sCircleSpeed
+#define sCirclePosY data[4]
+#define sCircleSpeedY data[5]
+
+void TranslateSpriteInCircle(struct Sprite *sprite)
{
- if (sprite->data[3])
+ if (sprite->sDuration)
{
- sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
- sprite->y2 = Cos(sprite->data[0], sprite->data[1]);
- sprite->data[0] += sprite->data[2];
- if (sprite->data[0] >= 0x100)
- sprite->data[0] -= 0x100;
- else if (sprite->data[0] < 0)
- sprite->data[0] += 0x100;
- sprite->data[3]--;
+ sprite->x2 = Sin(sprite->sCirclePos, sprite->sAmplitude);
+ sprite->y2 = Cos(sprite->sCirclePos, sprite->sAmplitude);
+ sprite->sCirclePos += sprite->sCircleSpeed;
+ if (sprite->sCirclePos >= 0x100)
+ sprite->sCirclePos -= 0x100;
+ else if (sprite->sCirclePos < 0)
+ sprite->sCirclePos += 0x100;
+ sprite->sDuration--;
}
else
{
@@ -447,19 +465,19 @@ void TranslateSpriteInCircleOverDuration(struct Sprite *sprite)
}
}
-void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
+void TranslateSpriteInGrowingCircle(struct Sprite *sprite)
{
- if (sprite->data[3])
+ if (sprite->sDuration)
{
- sprite->x2 = Sin(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
- sprite->y2 = Cos(sprite->data[0], (sprite->data[5] >> 8) + sprite->data[1]);
- sprite->data[0] += sprite->data[2];
- sprite->data[5] += sprite->data[4];
- if (sprite->data[0] >= 0x100)
- sprite->data[0] -= 0x100;
- else if (sprite->data[0] < 0)
- sprite->data[0] += 0x100;
- sprite->data[3]--;
+ sprite->x2 = Sin(sprite->sCirclePos, (sprite->sAmplitudeChange >> 8) + sprite->sAmplitude);
+ sprite->y2 = Cos(sprite->sCirclePos, (sprite->sAmplitudeChange >> 8) + sprite->sAmplitude);
+ sprite->sCirclePos += sprite->sCircleSpeed;
+ sprite->sAmplitudeChange += sprite->sAmplitudeSpeed;
+ if (sprite->sCirclePos >= 0x100)
+ sprite->sCirclePos -= 0x100;
+ else if (sprite->sCirclePos < 0)
+ sprite->sCirclePos += 0x100;
+ sprite->sDuration--;
}
else
{
@@ -467,23 +485,28 @@ void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *sprite)
}
}
-void sub_80A63C8(struct Sprite *sprite)
+// Unused
+// Exact shape depends on arguments. Can move in a figure-8-like pattern, or circular, etc.
+static void TranslateSpriteInWavePattern(struct Sprite *sprite)
{
- if (sprite->data[3])
+ if (sprite->sDuration)
{
- sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
- sprite->y2 = Cos(sprite->data[4], sprite->data[1]);
- sprite->data[0] += sprite->data[2];
- sprite->data[4] += sprite->data[5];
- if (sprite->data[0] >= 0x100)
- sprite->data[0] -= 0x100;
- else if (sprite->data[0] < 0)
- sprite->data[0] += 0x100;
- if (sprite->data[4] >= 0x100)
- sprite->data[4] -= 0x100;
- else if (sprite->data[4] < 0)
- sprite->data[4] += 0x100;
- sprite->data[3]--;
+ sprite->x2 = Sin(sprite->sCirclePosX, sprite->sAmplitude);
+ sprite->y2 = Cos(sprite->sCirclePosY, sprite->sAmplitude);
+ sprite->sCirclePosX += sprite->sCircleSpeedX;
+ sprite->sCirclePosY += sprite->sCircleSpeedY;
+
+ if (sprite->sCirclePosX >= 0x100)
+ sprite->sCirclePosX -= 0x100;
+ else if (sprite->sCirclePosX < 0)
+ sprite->sCirclePosX += 0x100;
+
+ if (sprite->sCirclePosY >= 0x100)
+ sprite->sCirclePosY -= 0x100;
+ else if (sprite->sCirclePosY < 0)
+ sprite->sCirclePosY += 0x100;
+
+ sprite->sDuration--;
}
else
{
@@ -491,18 +514,18 @@ void sub_80A63C8(struct Sprite *sprite)
}
}
-void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite)
+void TranslateSpriteInEllipse(struct Sprite *sprite)
{
- if (sprite->data[3])
+ if (sprite->sDuration)
{
- sprite->x2 = Sin(sprite->data[0], sprite->data[1]);
- sprite->y2 = Cos(sprite->data[0], sprite->data[4]);
- sprite->data[0] += sprite->data[2];
- if (sprite->data[0] >= 0x100)
- sprite->data[0] -= 0x100;
- else if (sprite->data[0] < 0)
- sprite->data[0] += 0x100;
- sprite->data[3]--;
+ sprite->x2 = Sin(sprite->sCirclePos, sprite->sAmplitudeX);
+ sprite->y2 = Cos(sprite->sCirclePos, sprite->sAmplitudeY);
+ sprite->sCirclePos += sprite->sCircleSpeed;
+ if (sprite->sCirclePos >= 0x100)
+ sprite->sCirclePos -= 0x100;
+ else if (sprite->sCirclePos < 0)
+ sprite->sCirclePos += 0x100;
+ sprite->sDuration--;
}
else
{
@@ -510,6 +533,19 @@ void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite)
}
}
+#undef sCirclePos
+#undef sAmplitude
+#undef sCircleSpeed
+#undef sDuration
+#undef sAmplitudeSpeed
+#undef sAmplitudeChange
+#undef sAmplitudeX
+#undef sAmplitudeY
+#undef sCirclePosX
+#undef sCircleSpeedX
+#undef sCirclePosY
+#undef sCircleSpeedY
+
// Simply waits until the sprite's data[0] hits zero.
// This is used to let sprite anims or affine anims to run for a designated
// duration.
@@ -521,34 +557,47 @@ void WaitAnimForDuration(struct Sprite *sprite)
SetCallbackToStoredInData6(sprite);
}
-static void sub_80A64D0(struct Sprite *sprite)
+// Sprite data for ConvertPosDataToTranslateLinearData
+#define sStepsX data[0]
+#define sStartX data[1]
+#define sTargetX data[2]
+#define sStartY data[3]
+#define sTargetY data[4]
+
+// Sprite data for TranslateSpriteLinear
+#define sMoveSteps data[0]
+#define sSpeedX data[1]
+#define sSpeedY data[2]
+
+// Functionally unused
+static void AnimPosToTranslateLinear(struct Sprite *sprite)
{
- sub_80A64EC(sprite);
+ ConvertPosDataToTranslateLinearData(sprite);
sprite->callback = TranslateSpriteLinear;
sprite->callback(sprite);
}
-void sub_80A64EC(struct Sprite *sprite)
+void ConvertPosDataToTranslateLinearData(struct Sprite *sprite)
{
s16 old;
int xDiff;
- if (sprite->data[1] > sprite->data[2])
- sprite->data[0] = -sprite->data[0];
- xDiff = sprite->data[2] - sprite->data[1];
- old = sprite->data[0];
- sprite->data[0] = abs(xDiff / sprite->data[0]);
- sprite->data[2] = (sprite->data[4] - sprite->data[3]) / sprite->data[0];
- sprite->data[1] = old;
+ if (sprite->sStartX > sprite->sTargetX)
+ sprite->sStepsX = -sprite->sStepsX;
+ xDiff = sprite->sTargetX - sprite->sStartX;
+ old = sprite->sStepsX;
+ sprite->sMoveSteps = abs(xDiff / sprite->sStepsX);
+ sprite->sSpeedY = (sprite->sTargetY - sprite->sStartY) / sprite->sMoveSteps;
+ sprite->sSpeedX = old;
}
void TranslateSpriteLinear(struct Sprite *sprite)
{
- if (sprite->data[0] > 0)
+ if (sprite->sMoveSteps > 0)
{
- sprite->data[0]--;
- sprite->x2 += sprite->data[1];
- sprite->y2 += sprite->data[2];
+ sprite->sMoveSteps--;
+ sprite->x2 += sprite->sSpeedX;
+ sprite->y2 += sprite->sSpeedY;
}
else
{
@@ -590,16 +639,18 @@ static void TranslateSpriteLinearFixedPointIconFrame(struct Sprite *sprite)
UpdateMonIconFrame(sprite);
}
-void sub_80A65EC(struct Sprite *sprite)
+// Unused
+static void TranslateSpriteToBattleTargetPos(struct Sprite *sprite)
{
- sprite->data[1] = sprite->x + sprite->x2;
- sprite->data[3] = sprite->y + sprite->y2;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
- sprite->callback = sub_80A64D0;
+ sprite->sStartX = sprite->x + sprite->x2;
+ sprite->sStartY = sprite->y + sprite->y2;
+ sprite->sTargetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->sTargetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
+ sprite->callback = AnimPosToTranslateLinear;
}
-void TranslateMonSpriteLinear(struct Sprite *sprite)
+// Same as TranslateSpriteLinear but takes an id to specify which sprite to move
+void TranslateSpriteLinearById(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -613,7 +664,7 @@ void TranslateMonSpriteLinear(struct Sprite *sprite)
}
}
-void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite)
+void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -656,15 +707,22 @@ void DestroySpriteAndMatrix(struct Sprite *sprite)
DestroyAnimSprite(sprite);
}
-void sub_80A6760(struct Sprite *sprite)
+// Unused
+static void TranslateSpriteToBattleAttackerPos(struct Sprite *sprite)
{
- sprite->data[1] = sprite->x + sprite->x2;
- sprite->data[3] = sprite->y + sprite->y2;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
- sprite->callback = sub_80A64D0;
+ sprite->sStartX = sprite->x + sprite->x2;
+ sprite->sStartY = sprite->y + sprite->y2;
+ sprite->sTargetX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->sTargetY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ sprite->callback = AnimPosToTranslateLinear;
}
+#undef sStepsX
+#undef sStartX
+#undef sTargetX
+#undef sStartY
+#undef sTargetY
+
// Unused
static void EndUnkPaletteAnim(struct Sprite *sprite)
{
@@ -898,7 +956,7 @@ void GetBattleAnimBgData(struct BattleAnimBgData *out, u32 bgId)
}
}
-void sub_80A6BFC(struct BattleAnimBgData *out, u8 unused)
+void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battlerId)
{
out->bgTiles = gBattleAnimBgTileBuffer;
out->bgTilemap = (u16 *)gBattleAnimBgTilemapBuffer;
@@ -1037,16 +1095,17 @@ void StartAnimLinearTranslation(struct Sprite *sprite)
sprite->data[1] = sprite->x;
sprite->data[3] = sprite->y;
InitAnimLinearTranslation(sprite);
- sprite->callback = AnimTranslateLinear_WaitEnd;
+ sprite->callback = AnimTranslateLinear_WithFollowup;
sprite->callback(sprite);
}
-void sub_80A6F14(struct Sprite *sprite)
+// Unused
+static void StartAnimLinearTranslation_SetCornerVecX(struct Sprite *sprite)
{
sprite->data[1] = sprite->x;
sprite->data[3] = sprite->y;
InitAnimLinearTranslation(sprite);
- sprite->callback = sub_80A6FB4;
+ sprite->callback = AnimTranslateLinear_WithFollowup_SetCornerVecX;
sprite->callback(sprite);
}
@@ -1080,15 +1139,16 @@ bool8 AnimTranslateLinear(struct Sprite *sprite)
return FALSE;
}
-void AnimTranslateLinear_WaitEnd(struct Sprite *sprite)
+void AnimTranslateLinear_WithFollowup(struct Sprite *sprite)
{
if (AnimTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
}
-static void sub_80A6FB4(struct Sprite *sprite)
+// Functionally unused
+static void AnimTranslateLinear_WithFollowup_SetCornerVecX(struct Sprite *sprite)
{
- sub_8039E9C(sprite);
+ AnimSetCenterToCornerVecX(sprite);
if (AnimTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
}
@@ -1105,7 +1165,7 @@ void InitAnimLinearTranslationWithSpeedAndPos(struct Sprite *sprite)
sprite->data[1] = sprite->x;
sprite->data[3] = sprite->y;
InitAnimLinearTranslationWithSpeed(sprite);
- sprite->callback = AnimTranslateLinear_WaitEnd;
+ sprite->callback = AnimTranslateLinear_WithFollowup;
sprite->callback(sprite);
}
@@ -1207,7 +1267,7 @@ void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation)
src.xScale = xScale;
src.yScale = yScale;
src.rotation = rotation;
- if (sub_80A7238())
+ if (ShouldRotScaleSpeciesBeFlipped())
src.xScale = -src.xScale;
i = gSprites[spriteId].oam.matrixNum;
ObjAffineSet(&src, &matrix, 1, 2);
@@ -1217,7 +1277,8 @@ void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation)
gOamMatrices[i].d = matrix.d;
}
-static bool8 sub_80A7238(void)
+// Pokémon in Contests (except Unown) should be flipped.
+static bool8 ShouldRotScaleSpeciesBeFlipped(void)
{
if (IsContest())
{
@@ -1282,7 +1343,7 @@ void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 x
src.xScale = xScale;
src.yScale = yScale;
src.rotation = rotation;
- if (sub_80A7238())
+ if (ShouldRotScaleSpeciesBeFlipped())
src.xScale = -src.xScale;
i = sprite->oam.matrixNum;
ObjAffineSet(&src, &matrix, 1, 2);
@@ -1586,7 +1647,7 @@ s16 CloneBattlerSpriteWithBlend(u8 animBattler)
return -1;
}
-void obj_delete_but_dont_free_vram(struct Sprite *sprite)
+void DestroySpriteWithActiveSheet(struct Sprite *sprite)
{
sprite->usingSheet = TRUE;
DestroySprite(sprite);
@@ -1741,34 +1802,34 @@ void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union Aff
bool8 RunAffineAnimFromTaskData(struct Task *task)
{
- gAnimTaskAffineAnim = &((union AffineAnimCmd *)LoadPointerFromVars(task->data[13], task->data[14]))[task->data[7]];
- switch (gAnimTaskAffineAnim->type)
+ sAnimTaskAffineAnim = &((union AffineAnimCmd *)LoadPointerFromVars(task->data[13], task->data[14]))[task->data[7]];
+ switch (sAnimTaskAffineAnim->type)
{
default:
- if (!gAnimTaskAffineAnim->frame.duration)
+ if (!sAnimTaskAffineAnim->frame.duration)
{
- task->data[10] = gAnimTaskAffineAnim->frame.xScale;
- task->data[11] = gAnimTaskAffineAnim->frame.yScale;
- task->data[12] = gAnimTaskAffineAnim->frame.rotation;
+ task->data[10] = sAnimTaskAffineAnim->frame.xScale;
+ task->data[11] = sAnimTaskAffineAnim->frame.yScale;
+ task->data[12] = sAnimTaskAffineAnim->frame.rotation;
task->data[7]++;
- gAnimTaskAffineAnim++;
+ sAnimTaskAffineAnim++;
}
- task->data[10] += gAnimTaskAffineAnim->frame.xScale;
- task->data[11] += gAnimTaskAffineAnim->frame.yScale;
- task->data[12] += gAnimTaskAffineAnim->frame.rotation;
+ task->data[10] += sAnimTaskAffineAnim->frame.xScale;
+ task->data[11] += sAnimTaskAffineAnim->frame.yScale;
+ task->data[12] += sAnimTaskAffineAnim->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)
+ if (++task->data[8] >= sAnimTaskAffineAnim->frame.duration)
{
task->data[8] = 0;
task->data[7]++;
}
break;
case AFFINEANIMCMDTYPE_JUMP:
- task->data[7] = gAnimTaskAffineAnim->jump.target;
+ task->data[7] = sAnimTaskAffineAnim->jump.target;
break;
case AFFINEANIMCMDTYPE_LOOP:
- if (gAnimTaskAffineAnim->loop.count)
+ if (sAnimTaskAffineAnim->loop.count)
{
if (task->data[9])
{
@@ -1780,7 +1841,7 @@ bool8 RunAffineAnimFromTaskData(struct Task *task)
}
else
{
- task->data[9] = gAnimTaskAffineAnim->loop.count;
+ task->data[9] = sAnimTaskAffineAnim->loop.count;
}
if (!task->data[7])
{
@@ -1789,8 +1850,8 @@ bool8 RunAffineAnimFromTaskData(struct Task *task)
for (;;)
{
task->data[7]--;
- gAnimTaskAffineAnim--;
- if (gAnimTaskAffineAnim->type == AFFINEANIMCMDTYPE_LOOP)
+ sAnimTaskAffineAnim--;
+ if (sAnimTaskAffineAnim->type == AFFINEANIMCMDTYPE_LOOP)
{
task->data[7]++;
return TRUE;
@@ -1814,12 +1875,12 @@ bool8 RunAffineAnimFromTaskData(struct Task *task)
// matrix's scale in the y dimension.
void SetBattlerSpriteYOffsetFromYScale(u8 spriteId)
{
- int var = 64 - GetBattlerYDeltaFromSpriteId(spriteId) * 2;
+ int var = MON_PIC_HEIGHT - GetBattlerYDeltaFromSpriteId(spriteId) * 2;
u16 matrix = gSprites[spriteId].oam.matrixNum;
int var2 = SAFE_DIV(var << 8, gOamMatrices[matrix].d);
- if (var2 > 128)
- var2 = 128;
+ if (var2 > MON_PIC_HEIGHT * 2)
+ var2 = MON_PIC_HEIGHT * 2;
gSprites[spriteId].y2 = (var - var2) / 2;
}
@@ -1827,12 +1888,12 @@ void SetBattlerSpriteYOffsetFromYScale(u8 spriteId)
// matrix's scale in the y dimension.
void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
{
- int var = 64 - GetBattlerYDeltaFromSpriteId(otherSpriteId) * 2;
+ int var = MON_PIC_HEIGHT - GetBattlerYDeltaFromSpriteId(otherSpriteId) * 2;
u16 matrix = gSprites[spriteId].oam.matrixNum;
int var2 = SAFE_DIV(var << 8, gOamMatrices[matrix].d);
- if (var2 > 128)
- var2 = 128;
+ if (var2 > MON_PIC_HEIGHT * 2)
+ var2 = MON_PIC_HEIGHT * 2;
gSprites[spriteId].y2 = (var - var2) / 2;
}
@@ -1883,7 +1944,7 @@ static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
}
}
}
- return 64;
+ return MON_PIC_HEIGHT;
}
void StorePointerInVars(s16 *lo, s16 *hi, const void *ptr)
@@ -2210,17 +2271,17 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
switch (attr)
{
case BATTLER_COORD_ATTR_HEIGHT:
- return (coords->size & 0xf) * 8;
+ return GET_MON_COORDS_HEIGHT(coords->size);
case BATTLER_COORD_ATTR_WIDTH:
- return (coords->size >> 4) * 8;
+ return GET_MON_COORDS_WIDTH(coords->size);
case BATTLER_COORD_ATTR_LEFT:
- return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - ((coords->size >> 4) * 4);
+ return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - (GET_MON_COORDS_WIDTH(coords->size) / 2);
case BATTLER_COORD_ATTR_RIGHT:
- return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + ((coords->size >> 4) * 4);
+ return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + (GET_MON_COORDS_WIDTH(coords->size) / 2);
case BATTLER_COORD_ATTR_TOP:
- return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - ((coords->size & 0xf) * 4);
+ return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - (GET_MON_COORDS_HEIGHT(coords->size) / 2);
case BATTLER_COORD_ATTR_BOTTOM:
- return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + ((coords->size & 0xf) * 4);
+ return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + (GET_MON_COORDS_HEIGHT(coords->size) / 2);
case BATTLER_COORD_ATTR_RAW_BOTTOM:
ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31;
return ret - coords->y_offset;
@@ -2332,6 +2393,19 @@ void AnimSpinningSparkle(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
+// Task and sprite data for AnimTask_AttackerPunchWithTrace
+#define tBattlerSpriteId data[0]
+#define tMoveSpeed data[1]
+#define tState data[2]
+#define tCounter data[3]
+#define tPaletteNum data[4]
+#define tNumTracesActive data[5]
+#define tPriority data[6]
+
+#define sActiveTime data[0]
+#define sTaskId data[1]
+#define sSpriteId data[2]
+
// Slides attacker to right and back with a cloned trace of the specified color
// arg0: Trace palette blend color
// arg1: Trace palette blend coeff
@@ -2341,21 +2415,24 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId)
u16 dest;
struct Task *task = &gTasks[taskId];
- task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
- task->data[1] = ((GetBattlerSide(gBattleAnimAttacker)) != B_SIDE_PLAYER) ? -8 : 8;
- task->data[2] = 0;
- task->data[3] = 0;
- gSprites[task->data[0]].x2 -= task->data[0];
- task->data[4] = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
- task->data[5] = 0;
-
- dest = (task->data[4] + 0x10) * 0x10;
- src = (gSprites[task->data[0]].oam.paletteNum + 0x10) * 0x10;
- task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
- if (task->data[6] == 20 || task->data[6] == 40)
- task->data[6] = 2;
+ task->tBattlerSpriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ task->tMoveSpeed = (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) ? -8 : 8;
+ task->tState = 0;
+ task->tCounter = 0;
+ gSprites[task->tBattlerSpriteId].x2 -= task->tBattlerSpriteId;
+ task->tPaletteNum = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
+ task->tNumTracesActive = 0;
+
+ dest = (task->tPaletteNum + 16) * 16;
+ src = (gSprites[task->tBattlerSpriteId].oam.paletteNum + 0x10) * 0x10;
+
+ // Set trace's priority based on battler's subpriority
+ task->tPriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
+ if (task->tPriority == 20 || task->tPriority == 40)
+ task->tPriority = 2;
else
- task->data[6] = 3;
+ task->tPriority = 3;
+
CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20);
BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]);
task->func = AnimTask_AttackerPunchWithTrace_Step;
@@ -2364,28 +2441,30 @@ void AnimTask_AttackerPunchWithTrace(u8 taskId)
static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- switch (task->data[2])
+ switch (task->tState)
{
case 0:
- sub_80A8D78(task, taskId);
- gSprites[task->data[0]].x2 += task->data[1];
- if (++task->data[3] == 5)
+ // Move forward
+ CreateBattlerTrace(task, taskId);
+ gSprites[task->tBattlerSpriteId].x2 += task->tMoveSpeed;
+ if (++task->tCounter == 5)
{
- task->data[3]--;
- task->data[2]++;
+ task->tCounter--;
+ task->tState++;
}
break;
case 1:
- sub_80A8D78(task, taskId);
- gSprites[task->data[0]].x2 -= task->data[1];
- if (--task->data[3] == 0)
+ // Move back (do same number of traces as before)
+ CreateBattlerTrace(task, taskId);
+ gSprites[task->tBattlerSpriteId].x2 -= task->tMoveSpeed;
+ if (--task->tCounter == 0)
{
- gSprites[task->data[0]].x2 = 0;
- task->data[2]++;
+ gSprites[task->tBattlerSpriteId].x2 = 0;
+ task->tState++;
}
break;
case 2:
- if (!task->data[5])
+ if (task->tNumTracesActive == 0)
{
FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
DestroyAnimVisualTask(taskId);
@@ -2394,31 +2473,44 @@ static void AnimTask_AttackerPunchWithTrace_Step(u8 taskId)
}
}
-static void sub_80A8D78(struct Task *task, u8 taskId)
+static void CreateBattlerTrace(struct Task *task, u8 taskId)
{
s16 spriteId = CloneBattlerSpriteWithBlend(0);
if (spriteId >= 0)
{
- gSprites[spriteId].oam.priority = task->data[6];
- gSprites[spriteId].oam.paletteNum = task->data[4];
- gSprites[spriteId].data[0] = 8;
- gSprites[spriteId].data[1] = taskId;
- gSprites[spriteId].data[2] = spriteId;
- gSprites[spriteId].x2 = gSprites[task->data[0]].x2;
- gSprites[spriteId].callback = sub_80A8DFC;
- task->data[5]++;
+ gSprites[spriteId].oam.priority = task->tPriority;
+ gSprites[spriteId].oam.paletteNum = task->tPaletteNum;
+ gSprites[spriteId].sActiveTime = 8;
+ gSprites[spriteId].sTaskId = taskId;
+ gSprites[spriteId].sSpriteId = spriteId;
+ gSprites[spriteId].x2 = gSprites[task->tBattlerSpriteId].x2;
+ gSprites[spriteId].callback = AnimBattlerTrace;
+ task->tNumTracesActive++;
}
}
-static void sub_80A8DFC(struct Sprite *sprite)
+// Just waits until destroyed
+static void AnimBattlerTrace(struct Sprite *sprite)
{
- if (--sprite->data[0] == 0)
+ if (--sprite->sActiveTime == 0)
{
- gTasks[sprite->data[1]].data[5]--;
- obj_delete_but_dont_free_vram(sprite);
+ gTasks[sprite->sTaskId].tNumTracesActive--;
+ DestroySpriteWithActiveSheet(sprite);
}
}
+#undef tBattlerSpriteId
+#undef tMoveSpeed
+#undef tState
+#undef tCounter
+#undef tPaletteNum
+#undef tNumTracesActive
+#undef tPriority
+
+#undef sActiveTime
+#undef sTaskId
+#undef sSpriteId
+
void AnimWeatherBallUp(struct Sprite *sprite)
{
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
diff --git a/src/battle_anim_normal.c b/src/battle_anim_normal.c
index d79f344ed..ebf9a588f 100644
--- a/src/battle_anim_normal.c
+++ b/src/battle_anim_normal.c
@@ -409,7 +409,7 @@ static void AnimCirclingSparkle(struct Sprite *sprite)
sprite->data[4] = 112;
sprite->data[5] = 0;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = TranslateSpriteInGrowingCircleOverDuration;
+ sprite->callback = TranslateSpriteInGrowingCircle;
sprite->callback(sprite);
}
diff --git a/src/battle_anim_poison.c b/src/battle_anim_poison.c
index 6dedbd955..664df389d 100644
--- a/src/battle_anim_poison.c
+++ b/src/battle_anim_poison.c
@@ -193,8 +193,8 @@ static void AnimSludgeProjectile(struct Sprite *sprite)
InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[5] = -30;
InitAnimArcTranslation(sprite);
diff --git a/src/battle_anim_psychic.c b/src/battle_anim_psychic.c
index b3c7b4ce8..a7faa7658 100644
--- a/src/battle_anim_psychic.c
+++ b/src/battle_anim_psychic.c
@@ -650,8 +650,8 @@ static void AnimQuestionMark(struct Sprite *sprite)
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
x = -x;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + x;
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + y;
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + x;
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + y;
if (sprite->y < 16)
sprite->y = 16;
@@ -1108,7 +1108,7 @@ static void AnimTask_TransparentCloneGrowAndShrink_Step(u8 taskId)
task->data[0]++;
break;
case 2:
- obj_delete_but_dont_free_vram(&gSprites[task->data[15]]);
+ DestroySpriteWithActiveSheet(&gSprites[task->data[15]]);
task->data[0]++;
break;
case 3:
diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c
index 905f51a79..5aa8f28c3 100644
--- a/src/battle_anim_rock.c
+++ b/src/battle_anim_rock.c
@@ -313,7 +313,7 @@ static void AnimFallingRock(struct Sprite *sprite)
sprite->data[5] = gBattleAnimArgs[2];
StoreSpriteCallbackInData6(sprite, AnimFallingRock_Step);
- sprite->callback = TranslateSpriteInEllipseOverDuration;
+ sprite->callback = TranslateSpriteInEllipse;
sprite->callback(sprite);
}
@@ -328,7 +328,7 @@ static void AnimFallingRock_Step(struct Sprite *sprite)
sprite->data[4] = -24;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
- sprite->callback = TranslateSpriteInEllipseOverDuration;
+ sprite->callback = TranslateSpriteInEllipse;
sprite->callback(sprite);
}
@@ -564,10 +564,10 @@ void AnimTask_Rollout(u8 taskId)
task = &gTasks[taskId];
- var0 = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- var1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 24;
- var2 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- var3 = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 24;
+ var0 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ var1 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 24;
+ var2 = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ var3 = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 24;
if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget)
var3 = var1;
@@ -787,8 +787,8 @@ static void AnimRockBlastRock(struct Sprite *sprite)
static void AnimRockScatter(struct Sprite *sprite)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
sprite->x += gBattleAnimArgs[0];
sprite->y += gBattleAnimArgs[1];
diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c
index b0eab5b74..e2c674c57 100644
--- a/src/battle_anim_utility_funcs.c
+++ b/src/battle_anim_utility_funcs.c
@@ -267,7 +267,7 @@ static void AnimMonTrace(struct Sprite *sprite)
else
{
gTasks[sprite->data[1]].data[sprite->data[2]]--;
- obj_delete_but_dont_free_vram(sprite);
+ DestroySpriteWithActiveSheet(sprite);
}
}
diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c
index 50918a24e..3d6733d47 100644
--- a/src/battle_anim_water.c
+++ b/src/battle_anim_water.c
@@ -517,23 +517,23 @@ static void AnimWaterBubbleProjectile(struct Sprite *sprite)
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) - gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
sprite->animPaused = TRUE;
}
else
{
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
sprite->animPaused = TRUE;
}
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[6];
sprite->data[1] = sprite->x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite);
spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
sprite->data[5] = spriteId;
@@ -595,9 +595,9 @@ static void AnimAuroraBeamRings(struct Sprite *sprite)
unkArg = gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[1] = sprite->x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + unkArg;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + unkArg;
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
InitAnimLinearTranslation(sprite);
sprite->callback = AnimAuroraBeamRings_Step;
sprite->affineAnimPaused = TRUE;
@@ -650,9 +650,9 @@ static void AnimToTargetInSinWave(struct Sprite *sprite)
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = 30;
sprite->data[1] = sprite->x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite);
sprite->data[5] = 0xD200 / sprite->data[0];
sprite->data[7] = gBattleAnimArgs[3];
@@ -705,8 +705,8 @@ static void AnimHydroCannonCharge(struct Sprite *sprite)
{
u8 priority;
- sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
sprite->y2 = -10;
priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
if (!IsContest())
@@ -752,14 +752,14 @@ static void AnimHydroCannonBeam(struct Sprite *sprite)
else
animType = FALSE;
if ((u8)gBattleAnimArgs[5] == 0)
- coordType = 3;
+ coordType = BATTLER_COORD_Y_PIC_OFFSET;
else
- coordType = 1;
+ coordType = BATTLER_COORD_Y;
InitSpritePosToAnimAttacker(sprite, animType);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
@@ -1167,8 +1167,8 @@ static u8 GetWaterSpoutPowerForAnim(void)
static void CreateWaterSpoutLaunchDroplets(struct Task *task, u8 taskId)
{
s16 i;
- s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- s16 attackerCoordY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ s16 attackerCoordY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
s16 trigIndex = 172;
u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
s16 increment = 4 - task->data[1];
@@ -1341,8 +1341,8 @@ void AnimTask_WaterSport(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1;
if (IsContest())
task->data[7] *= -1;
@@ -1514,8 +1514,8 @@ static void AnimWaterPulseRingBubble(struct Sprite *sprite)
void AnimWaterPulseRing(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, TRUE);
- sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[3] = gBattleAnimArgs[2];
sprite->data[4] = gBattleAnimArgs[3];
sprite->callback = AnimWaterPulseRing_Step;
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index efc327091..2ec2e61dc 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -1127,7 +1127,7 @@ static void LinkOpponentHandleLoadMonSprite(void)
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(gActiveBattler, 2),
+ GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSpriteSubpriority(gActiveBattler));
@@ -1161,7 +1161,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
gBattlerSpriteIds[battlerId] = CreateSprite(
&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(battlerId, 2),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSpriteSubpriority(battlerId));
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 682618c07..0fa156a43 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -1017,7 +1017,7 @@ static void LinkPartnerHandleLoadMonSprite(void)
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(gActiveBattler, 2),
+ GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
@@ -1048,7 +1048,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
gBattlerSpriteIds[battlerId] = CreateSprite(
&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(battlerId, 2),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSpriteSubpriority(battlerId));
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 2bea4183b..8e1a8327a 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -1136,7 +1136,7 @@ static void OpponentHandleLoadMonSprite(void)
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(gActiveBattler, 2),
+ GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSpriteSubpriority(gActiveBattler));
@@ -1171,7 +1171,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(battlerId, 2),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSpriteSubpriority(battlerId));
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 02dc7ce29..ff5591e55 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -2205,7 +2205,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
gBattlerSpriteIds[battlerId] = CreateSprite(
&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(battlerId, 2),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSpriteSubpriority(battlerId));
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index 745354795..2c9098271 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -1201,7 +1201,7 @@ static void PlayerPartnerHandleLoadMonSprite(void)
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(gActiveBattler, 2),
+ GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
@@ -1232,7 +1232,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
gBattlerSpriteIds[battlerId] = CreateSprite(
&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(battlerId, 2),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSpriteSubpriority(battlerId));
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index 0af395693..54156da35 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -1110,7 +1110,7 @@ static void RecordedOpponentHandleLoadMonSprite(void)
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(gActiveBattler, 2),
+ GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSpriteSubpriority(gActiveBattler));
@@ -1143,7 +1143,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(battlerId, 2),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSpriteSubpriority(battlerId));
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index 264e27344..a28e87a42 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -1092,7 +1092,7 @@ static void RecordedPlayerHandleLoadMonSprite(void)
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(gActiveBattler, 2),
+ GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(gActiveBattler),
GetBattlerSpriteSubpriority(gActiveBattler));
gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH;
@@ -1123,7 +1123,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
gBattlerSpriteIds[battlerId] = CreateSprite(
&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(battlerId, 2),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSpriteSubpriority(battlerId));
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index 29e8d2b7d..f7c331257 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -1468,7 +1468,7 @@ static void StartSendOutAnim(u8 battlerId)
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
- GetBattlerSpriteCoord(battlerId, 2),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
GetBattlerSpriteDefault_Y(battlerId),
GetBattlerSpriteSubpriority(battlerId));
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index f36524f37..2a690d129 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -1147,13 +1147,19 @@ void LoadAndCreateEnemyShadowSprites(void)
LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow);
battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
- gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBattlerSpriteCoord(battlerId, 0), GetBattlerSpriteCoord(battlerId, 1) + 29, 0xC8);
+ gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow,
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29,
+ 0xC8);
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId;
if (IsDoubleBattle())
{
battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
- gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBattlerSpriteCoord(battlerId, 0), GetBattlerSpriteCoord(battlerId, 1) + 29, 0xC8);
+ gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow,
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X),
+ GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29,
+ 0xC8);
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId;
}
}
diff --git a/src/battle_main.c b/src/battle_main.c
index 2d2afed71..ac00567a0 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -307,7 +307,7 @@ static const u16 *const sUnused1Ptr = sUnused1;
static const u16 sUnused2[] = {0xfff0, 0, 0x0400, 0, 0, 0, 0x3c00, 0, 0x7ffe, 1, 0, 0};
static const u16 *const sUnused2Ptr = sUnused2;
-static const s8 gUnknown_0831ACE0[] ={-32, -16, -16, -32, -32, 0, 0, 0};
+static const s8 sCenterToCornerVecXs[8] ={-32, -16, -16, -32, -32};
// format: attacking type, defending type, damage multiplier
// the multiplier is a (decimal) fixed-point number:
@@ -2983,7 +2983,7 @@ void SpriteCB_PlayerMonFromBall(struct Sprite *sprite)
static void SpriteCB_TrainerThrowObject_Main(struct Sprite *sprite)
{
- sub_8039E9C(sprite);
+ AnimSetCenterToCornerVecX(sprite);
if (sprite->animEnded)
sprite->callback = SpriteCB_Idle;
}
@@ -2996,10 +2996,10 @@ void SpriteCB_TrainerThrowObject(struct Sprite *sprite)
sprite->callback = SpriteCB_TrainerThrowObject_Main;
}
-void sub_8039E9C(struct Sprite *sprite)
+void AnimSetCenterToCornerVecX(struct Sprite *sprite)
{
if (sprite->animDelayCounter == 0)
- sprite->centerToCornerVecX = gUnknown_0831ACE0[sprite->animCmdIndex];
+ sprite->centerToCornerVecX = sCenterToCornerVecXs[sprite->animCmdIndex];
}
void BeginBattleIntroDummy(void)
diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h
index 131ac13d9..addb48285 100644
--- a/src/data/pokemon_graphics/back_pic_coordinates.h
+++ b/src/data/pokemon_graphics/back_pic_coordinates.h
@@ -1,2203 +1,2207 @@
+// All Pokémon pics are 64x64, but this data table defines where in this 64x64 frame
+// the sprite's non-transparent pixels actually are.
+// .size is the dimensions of this drawn pixel area.
+// .y_offset is the number of pixels between the drawn pixel area and the bottom edge.
const struct MonCoords gMonBackPicCoords[] =
{
[SPECIES_NONE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_BULBASAUR] =
{
- .size = 0x64,
+ .size = MON_COORDS_SIZE(48, 32),
.y_offset = 16,
},
[SPECIES_IVYSAUR] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_VENUSAUR] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_CHARMANDER] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 14,
},
[SPECIES_CHARMELEON] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_CHARIZARD] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_SQUIRTLE] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 14,
},
[SPECIES_WARTORTLE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_BLASTOISE] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_CATERPIE] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_METAPOD] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_BUTTERFREE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_WEEDLE] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 11,
},
[SPECIES_KAKUNA] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 10,
},
[SPECIES_BEEDRILL] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_PIDGEY] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_PIDGEOTTO] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 12,
},
[SPECIES_PIDGEOT] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 2,
},
[SPECIES_RATTATA] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_RATICATE] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 13,
},
[SPECIES_SPEAROW] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_FEAROW] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_EKANS] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_ARBOK] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_PIKACHU] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_RAICHU] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_SANDSHREW] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_SANDSLASH] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_NIDORAN_F] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 12,
},
[SPECIES_NIDORINA] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_NIDOQUEEN] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_NIDORAN_M] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 8,
},
[SPECIES_NIDORINO] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_NIDOKING] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_CLEFAIRY] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_CLEFABLE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_VULPIX] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_NINETALES] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_JIGGLYPUFF] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_WIGGLYTUFF] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_ZUBAT] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_GOLBAT] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_ODDISH] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 11,
},
[SPECIES_GLOOM] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_VILEPLUME] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_PARAS] =
{
- .size = 0x63,
+ .size = MON_COORDS_SIZE(48, 24),
.y_offset = 20,
},
[SPECIES_PARASECT] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_VENONAT] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_VENOMOTH] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_DIGLETT] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 16,
},
[SPECIES_DUGTRIO] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_MEOWTH] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_PERSIAN] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_PSYDUCK] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 7,
},
[SPECIES_GOLDUCK] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_MANKEY] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_PRIMEAPE] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_GROWLITHE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_ARCANINE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_POLIWAG] =
{
- .size = 0x74,
+ .size = MON_COORDS_SIZE(56, 32),
.y_offset = 16,
},
[SPECIES_POLIWHIRL] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_POLIWRATH] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 11,
},
[SPECIES_ABRA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_KADABRA] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_ALAKAZAM] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 5,
},
[SPECIES_MACHOP] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_MACHOKE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_MACHAMP] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 4,
},
[SPECIES_BELLSPROUT] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_WEEPINBELL] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_VICTREEBEL] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_TENTACOOL] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 10,
},
[SPECIES_TENTACRUEL] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 11,
},
[SPECIES_GEODUDE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_GRAVELER] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 12,
},
[SPECIES_GOLEM] =
{
- .size = 0x84,
+ .size = MON_COORDS_SIZE(64, 32),
.y_offset = 16,
},
[SPECIES_PONYTA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_RAPIDASH] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_SLOWPOKE] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 14,
},
[SPECIES_SLOWBRO] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_MAGNEMITE] =
{
- .size = 0x43,
+ .size = MON_COORDS_SIZE(32, 24),
.y_offset = 20,
},
[SPECIES_MAGNETON] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_FARFETCHD] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_DODUO] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_DODRIO] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_SEEL] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_DEWGONG] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_GRIMER] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 12,
},
[SPECIES_MUK] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_SHELLDER] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_CLOYSTER] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_GASTLY] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 14,
},
[SPECIES_HAUNTER] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_GENGAR] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_ONIX] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_DROWZEE] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_HYPNO] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_KRABBY] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_KINGLER] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_VOLTORB] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 14,
},
[SPECIES_ELECTRODE] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_EXEGGCUTE] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_EXEGGUTOR] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_CUBONE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_MAROWAK] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_HITMONLEE] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_HITMONCHAN] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_LICKITUNG] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 14,
},
[SPECIES_KOFFING] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_WEEZING] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_RHYHORN] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 12,
},
[SPECIES_RHYDON] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_CHANSEY] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 11,
},
[SPECIES_TANGELA] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 14,
},
[SPECIES_KANGASKHAN] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_HORSEA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_SEADRA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_GOLDEEN] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_SEAKING] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_STARYU] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_STARMIE] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 14,
},
[SPECIES_MR_MIME] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 13,
},
[SPECIES_SCYTHER] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_JYNX] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_ELECTABUZZ] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_MAGMAR] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_PINSIR] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_TAUROS] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 13,
},
[SPECIES_MAGIKARP] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_GYARADOS] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_LAPRAS] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_DITTO] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 17,
},
[SPECIES_EEVEE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_VAPOREON] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_JOLTEON] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_FLAREON] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 5,
},
[SPECIES_PORYGON] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_OMANYTE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_OMASTAR] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_KABUTO] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_KABUTOPS] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_AERODACTYL] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_SNORLAX] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 11,
},
[SPECIES_ARTICUNO] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_ZAPDOS] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_MOLTRES] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_DRATINI] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_DRAGONAIR] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_DRAGONITE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_MEWTWO] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 1,
},
[SPECIES_MEW] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_CHIKORITA] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 10,
},
[SPECIES_BAYLEEF] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_MEGANIUM] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_CYNDAQUIL] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_QUILAVA] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_TYPHLOSION] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_TOTODILE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_CROCONAW] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 7,
},
[SPECIES_FERALIGATR] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_SENTRET] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 5,
},
[SPECIES_FURRET] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_HOOTHOOT] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_NOCTOWL] =
{
- .size = 0x68,
+ .size = MON_COORDS_SIZE(48, 64),
.y_offset = 3,
},
[SPECIES_LEDYBA] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_LEDIAN] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_SPINARAK] =
{
- .size = 0x73,
+ .size = MON_COORDS_SIZE(56, 24),
.y_offset = 21,
},
[SPECIES_ARIADOS] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 11,
},
[SPECIES_CROBAT] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_CHINCHOU] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_LANTURN] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_PICHU] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_CLEFFA] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 15,
},
[SPECIES_IGGLYBUFF] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_TOGEPI] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 16,
},
[SPECIES_TOGETIC] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_NATU] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 17,
},
[SPECIES_XATU] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_MAREEP] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_FLAAFFY] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_AMPHAROS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_BELLOSSOM] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_MARILL] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 12,
},
[SPECIES_AZUMARILL] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_SUDOWOODO] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_POLITOED] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_HOPPIP] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_SKIPLOOM] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_JUMPLUFF] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_AIPOM] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_SUNKERN] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 10,
},
[SPECIES_SUNFLORA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_YANMA] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_WOOPER] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 15,
},
[SPECIES_QUAGSIRE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_ESPEON] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_UMBREON] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_MURKROW] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_SLOWKING] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_MISDREAVUS] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_UNOWN] =
{
- .size = 0x36,
+ .size = MON_COORDS_SIZE(24, 48),
.y_offset = 8,
},
[SPECIES_WOBBUFFET] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 12,
},
[SPECIES_GIRAFARIG] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_PINECO] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 15,
},
[SPECIES_FORRETRESS] =
{
- .size = 0x84,
+ .size = MON_COORDS_SIZE(64, 32),
.y_offset = 16,
},
[SPECIES_DUNSPARCE] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 15,
},
[SPECIES_GLIGAR] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_STEELIX] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_SNUBBULL] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_GRANBULL] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_QWILFISH] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_SCIZOR] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_SHUCKLE] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 11,
},
[SPECIES_HERACROSS] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_SNEASEL] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_TEDDIURSA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_URSARING] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_SLUGMA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_MAGCARGO] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_SWINUB] =
{
- .size = 0x63,
+ .size = MON_COORDS_SIZE(48, 24),
.y_offset = 21,
},
[SPECIES_PILOSWINE] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 13,
},
[SPECIES_CORSOLA] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_REMORAID] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 13,
},
[SPECIES_OCTILLERY] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_DELIBIRD] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_MANTINE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_SKARMORY] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_HOUNDOUR] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 12,
},
[SPECIES_HOUNDOOM] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_KINGDRA] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_PHANPY] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 14,
},
[SPECIES_DONPHAN] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 13,
},
[SPECIES_PORYGON2] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_STANTLER] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 3,
},
[SPECIES_SMEARGLE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_TYROGUE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_HITMONTOP] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_SMOOCHUM] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 9,
},
[SPECIES_ELEKID] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_MAGBY] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_MILTANK] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_BLISSEY] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 13,
},
[SPECIES_RAIKOU] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_ENTEI] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_SUICUNE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_LARVITAR] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_PUPITAR] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 5,
},
[SPECIES_TYRANITAR] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_LUGIA] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_HO_OH] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_CELEBI] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_OLD_UNOWN_B] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_C] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_D] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_E] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_F] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_G] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_H] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_I] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_J] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_K] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_L] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_M] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_N] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_O] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_P] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_Q] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_R] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_S] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_T] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_U] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_V] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_W] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_X] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_Y] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_OLD_UNOWN_Z] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_TREECKO] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_GROVYLE] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_SCEPTILE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_TORCHIC] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 5,
},
[SPECIES_COMBUSKEN] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_BLAZIKEN] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_MUDKIP] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_MARSHTOMP] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_SWAMPERT] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_POOCHYENA] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_MIGHTYENA] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_ZIGZAGOON] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_LINOONE] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 15,
},
[SPECIES_WURMPLE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_SILCOON] =
{
- .size = 0x83,
+ .size = MON_COORDS_SIZE(64, 24),
.y_offset = 21,
},
[SPECIES_BEAUTIFLY] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_CASCOON] =
{
- .size = 0x73,
+ .size = MON_COORDS_SIZE(56, 24),
.y_offset = 20,
},
[SPECIES_DUSTOX] =
{
- .size = 0x83,
+ .size = MON_COORDS_SIZE(64, 24),
.y_offset = 20,
},
[SPECIES_LOTAD] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 15,
},
[SPECIES_LOMBRE] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_LUDICOLO] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_SEEDOT] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_NUZLEAF] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_SHIFTRY] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_NINCADA] =
{
- .size = 0x83,
+ .size = MON_COORDS_SIZE(64, 24),
.y_offset = 20,
},
[SPECIES_NINJASK] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_SHEDINJA] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_TAILLOW] =
{
- .size = 0x64,
+ .size = MON_COORDS_SIZE(48, 32),
.y_offset = 17,
},
[SPECIES_SWELLOW] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_SHROOMISH] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 13,
},
[SPECIES_BRELOOM] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_SPINDA] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_WINGULL] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 14,
},
[SPECIES_PELIPPER] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_SURSKIT] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 11,
},
[SPECIES_MASQUERAIN] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_WAILMER] =
{
- .size = 0x83,
+ .size = MON_COORDS_SIZE(64, 24),
.y_offset = 21,
},
[SPECIES_WAILORD] =
{
- .size = 0x83,
+ .size = MON_COORDS_SIZE(64, 24),
.y_offset = 22,
},
[SPECIES_SKITTY] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_DELCATTY] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_KECLEON] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_BALTOY] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_CLAYDOL] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_NOSEPASS] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 12,
},
[SPECIES_TORKOAL] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_SABLEYE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_BARBOACH] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_WHISCASH] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_LUVDISC] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 10,
},
[SPECIES_CORPHISH] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_CRAWDAUNT] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_FEEBAS] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 7,
},
[SPECIES_MILOTIC] =
{
- .size = 0x68,
+ .size = MON_COORDS_SIZE(48, 64),
.y_offset = 2,
},
[SPECIES_CARVANHA] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_SHARPEDO] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_TRAPINCH] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 14,
},
[SPECIES_VIBRAVA] =
{
- .size = 0x74,
+ .size = MON_COORDS_SIZE(56, 32),
.y_offset = 17,
},
[SPECIES_FLYGON] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_MAKUHITA] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_HARIYAMA] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_ELECTRIKE] =
{
- .size = 0x84,
+ .size = MON_COORDS_SIZE(64, 32),
.y_offset = 16,
},
[SPECIES_MANECTRIC] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_NUMEL] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 11,
},
[SPECIES_CAMERUPT] =
{
- .size = 0x84,
+ .size = MON_COORDS_SIZE(64, 32),
.y_offset = 19,
},
[SPECIES_SPHEAL] =
{
- .size = 0x64,
+ .size = MON_COORDS_SIZE(48, 32),
.y_offset = 18,
},
[SPECIES_SEALEO] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_WALREIN] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_CACNEA] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 15,
},
[SPECIES_CACTURNE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_SNORUNT] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_GLALIE] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 12,
},
[SPECIES_LUNATONE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_SOLROCK] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_AZURILL] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_SPOINK] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 11,
},
[SPECIES_GRUMPIG] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_PLUSLE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_MINUN] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_MAWILE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_MEDITITE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_MEDICHAM] =
{
- .size = 0x68,
+ .size = MON_COORDS_SIZE(48, 64),
.y_offset = 3,
},
[SPECIES_SWABLU] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_ALTARIA] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_WYNAUT] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_DUSKULL] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_DUSCLOPS] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_ROSELIA] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_SLAKOTH] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 15,
},
[SPECIES_VIGOROTH] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_SLAKING] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_GULPIN] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_SWALOT] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_TROPIUS] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_WHISMUR] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 13,
},
[SPECIES_LOUDRED] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_EXPLOUD] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_CLAMPERL] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 13,
},
[SPECIES_HUNTAIL] =
{
- .size = 0x68,
+ .size = MON_COORDS_SIZE(48, 64),
.y_offset = 2,
},
[SPECIES_GOREBYSS] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_ABSOL] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 3,
},
[SPECIES_SHUPPET] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_BANETTE] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_SEVIPER] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_ZANGOOSE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_RELICANTH] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_ARON] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 17,
},
[SPECIES_LAIRON] =
{
- .size = 0x84,
+ .size = MON_COORDS_SIZE(64, 32),
.y_offset = 17,
},
[SPECIES_AGGRON] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_CASTFORM] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 13,
},
[SPECIES_VOLBEAT] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_ILLUMISE] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_LILEEP] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_CRADILY] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_ANORITH] =
{
- .size = 0x83,
+ .size = MON_COORDS_SIZE(64, 24),
.y_offset = 23,
},
[SPECIES_ARMALDO] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_RALTS] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 13,
},
[SPECIES_KIRLIA] =
{
- .size = 0x57,
+ .size = MON_COORDS_SIZE(40, 56),
.y_offset = 6,
},
[SPECIES_GARDEVOIR] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_BAGON] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_SHELGON] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 13,
},
[SPECIES_SALAMENCE] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_BELDUM] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_METANG] =
{
- .size = 0x84,
+ .size = MON_COORDS_SIZE(64, 32),
.y_offset = 16,
},
[SPECIES_METAGROSS] =
{
- .size = 0x83,
+ .size = MON_COORDS_SIZE(64, 24),
.y_offset = 20,
},
[SPECIES_REGIROCK] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_REGICE] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 14,
},
[SPECIES_REGISTEEL] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 14,
},
[SPECIES_KYOGRE] =
{
- .size = 0x84,
+ .size = MON_COORDS_SIZE(64, 32),
.y_offset = 19,
},
[SPECIES_GROUDON] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_RAYQUAZA] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_LATIAS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_LATIOS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_JIRACHI] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_DEOXYS] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_CHIMECHO] =
{
- .size = 0x47,
+ .size = MON_COORDS_SIZE(32, 56),
.y_offset = 7,
},
[SPECIES_EGG] =
{
- .size = 0x36,
+ .size = MON_COORDS_SIZE(24, 48),
.y_offset = 10,
},
[SPECIES_UNOWN_B] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 9,
},
[SPECIES_UNOWN_C] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_UNOWN_D] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 8,
},
[SPECIES_UNOWN_E] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 10,
},
[SPECIES_UNOWN_F] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_UNOWN_G] =
{
- .size = 0x57,
+ .size = MON_COORDS_SIZE(40, 56),
.y_offset = 5,
},
[SPECIES_UNOWN_H] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_UNOWN_I] =
{
- .size = 0x37,
+ .size = MON_COORDS_SIZE(24, 56),
.y_offset = 7,
},
[SPECIES_UNOWN_J] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 9,
},
[SPECIES_UNOWN_K] =
{
- .size = 0x57,
+ .size = MON_COORDS_SIZE(40, 56),
.y_offset = 7,
},
[SPECIES_UNOWN_L] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 10,
},
[SPECIES_UNOWN_M] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_UNOWN_N] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_UNOWN_O] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_UNOWN_P] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 10,
},
[SPECIES_UNOWN_Q] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_UNOWN_R] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 12,
},
[SPECIES_UNOWN_S] =
{
- .size = 0x57,
+ .size = MON_COORDS_SIZE(40, 56),
.y_offset = 4,
},
[SPECIES_UNOWN_T] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 13,
},
[SPECIES_UNOWN_U] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_UNOWN_V] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 11,
},
[SPECIES_UNOWN_W] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 13,
},
[SPECIES_UNOWN_X] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_UNOWN_Y] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 10,
},
[SPECIES_UNOWN_Z] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 10,
},
[SPECIES_UNOWN_EMARK] =
{
- .size = 0x37,
+ .size = MON_COORDS_SIZE(24, 56),
.y_offset = 6,
},
[SPECIES_UNOWN_QMARK] =
{
- .size = 0x47,
+ .size = MON_COORDS_SIZE(32, 56),
.y_offset = 6,
},
};
diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h
index b787877b9..6022f9cc1 100644
--- a/src/data/pokemon_graphics/front_pic_coordinates.h
+++ b/src/data/pokemon_graphics/front_pic_coordinates.h
@@ -1,2203 +1,2207 @@
+// All Pokémon pics are 64x64, but this data table defines where in this 64x64 frame
+// the sprite's non-transparent pixels actually are.
+// .size is the dimensions of this drawn pixel area.
+// .y_offset is the number of pixels between the drawn pixel area and the bottom edge.
const struct MonCoords gMonFrontPicCoords[] =
{
[SPECIES_NONE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_BULBASAUR] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 14,
},
[SPECIES_IVYSAUR] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 10,
},
[SPECIES_VENUSAUR] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_CHARMANDER] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 12,
},
[SPECIES_CHARMELEON] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_CHARIZARD] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_SQUIRTLE] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_WARTORTLE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_BLASTOISE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_CATERPIE] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 16,
},
[SPECIES_METAPOD] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 20,
},
[SPECIES_BUTTERFREE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_WEEDLE] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 18,
},
[SPECIES_KAKUNA] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 14,
},
[SPECIES_BEEDRILL] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_PIDGEY] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_PIDGEOTTO] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 11,
},
[SPECIES_PIDGEOT] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_RATTATA] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 16,
},
[SPECIES_RATICATE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_SPEAROW] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 15,
},
[SPECIES_FEAROW] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_EKANS] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_ARBOK] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_PIKACHU] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 9,
},
[SPECIES_RAICHU] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 4,
},
[SPECIES_SANDSHREW] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 14,
},
[SPECIES_SANDSLASH] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_NIDORAN_F] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 15,
},
[SPECIES_NIDORINA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_NIDOQUEEN] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 3,
},
[SPECIES_NIDORAN_M] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 12,
},
[SPECIES_NIDORINO] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_NIDOKING] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 2,
},
[SPECIES_CLEFAIRY] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 16,
},
[SPECIES_CLEFABLE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_VULPIX] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_NINETALES] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_JIGGLYPUFF] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 16,
},
[SPECIES_WIGGLYTUFF] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 8,
},
[SPECIES_ZUBAT] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_GOLBAT] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_ODDISH] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 15,
},
[SPECIES_GLOOM] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_VILEPLUME] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_PARAS] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_PARASECT] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_VENONAT] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_VENOMOTH] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_DIGLETT] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 18,
},
[SPECIES_DUGTRIO] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 13,
},
[SPECIES_MEOWTH] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 12,
},
[SPECIES_PERSIAN] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_PSYDUCK] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 9,
},
[SPECIES_GOLDUCK] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 2,
},
[SPECIES_MANKEY] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 14,
},
[SPECIES_PRIMEAPE] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_GROWLITHE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_ARCANINE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_POLIWAG] =
{
- .size = 0x74,
+ .size = MON_COORDS_SIZE(56, 32),
.y_offset = 19,
},
[SPECIES_POLIWHIRL] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_POLIWRATH] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_ABRA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_KADABRA] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_ALAKAZAM] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_MACHOP] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 11,
},
[SPECIES_MACHOKE] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_MACHAMP] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_BELLSPROUT] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 15,
},
[SPECIES_WEEPINBELL] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_VICTREEBEL] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_TENTACOOL] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 9,
},
[SPECIES_TENTACRUEL] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_GEODUDE] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 18,
},
[SPECIES_GRAVELER] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_GOLEM] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_PONYTA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_RAPIDASH] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_SLOWPOKE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_SLOWBRO] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_MAGNEMITE] =
{
- .size = 0x43,
+ .size = MON_COORDS_SIZE(32, 24),
.y_offset = 21,
},
[SPECIES_MAGNETON] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_FARFETCHD] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_DODUO] =
{
- .size = 0x57,
+ .size = MON_COORDS_SIZE(40, 56),
.y_offset = 5,
},
[SPECIES_DODRIO] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_SEEL] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_DEWGONG] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_GRIMER] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_MUK] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_SHELLDER] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 16,
},
[SPECIES_CLOYSTER] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_GASTLY] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_HAUNTER] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_GENGAR] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_ONIX] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 2,
},
[SPECIES_DROWZEE] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_HYPNO] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_KRABBY] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 13,
},
[SPECIES_KINGLER] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_VOLTORB] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 19,
},
[SPECIES_ELECTRODE] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 14,
},
[SPECIES_EXEGGCUTE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_EXEGGUTOR] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_CUBONE] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_MAROWAK] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 11,
},
[SPECIES_HITMONLEE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_HITMONCHAN] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 4,
},
[SPECIES_LICKITUNG] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_KOFFING] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_WEEZING] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_RHYHORN] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_RHYDON] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_CHANSEY] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_TANGELA] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 7,
},
[SPECIES_KANGASKHAN] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_HORSEA] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 15,
},
[SPECIES_SEADRA] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 7,
},
[SPECIES_GOLDEEN] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_SEAKING] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_STARYU] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_STARMIE] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_MR_MIME] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_SCYTHER] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_JYNX] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_ELECTABUZZ] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 2,
},
[SPECIES_MAGMAR] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_PINSIR] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_TAUROS] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_MAGIKARP] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_GYARADOS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 8,
},
[SPECIES_LAPRAS] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 13,
},
[SPECIES_DITTO] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 17,
},
[SPECIES_EEVEE] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 9,
},
[SPECIES_VAPOREON] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_JOLTEON] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_FLAREON] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_PORYGON] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 13,
},
[SPECIES_OMANYTE] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 15,
},
[SPECIES_OMASTAR] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 7,
},
[SPECIES_KABUTO] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 17,
},
[SPECIES_KABUTOPS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_AERODACTYL] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_SNORLAX] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_ARTICUNO] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_ZAPDOS] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_MOLTRES] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_DRATINI] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 14,
},
[SPECIES_DRAGONAIR] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_DRAGONITE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_MEWTWO] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_MEW] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 13,
},
[SPECIES_CHIKORITA] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 13,
},
[SPECIES_BAYLEEF] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_MEGANIUM] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_CYNDAQUIL] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 14,
},
[SPECIES_QUILAVA] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_TYPHLOSION] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_TOTODILE] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_CROCONAW] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_FERALIGATR] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_SENTRET] =
{
- .size = 0x47,
+ .size = MON_COORDS_SIZE(32, 56),
.y_offset = 4,
},
[SPECIES_FURRET] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 7,
},
[SPECIES_HOOTHOOT] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 13,
},
[SPECIES_NOCTOWL] =
{
- .size = 0x58,
+ .size = MON_COORDS_SIZE(40, 64),
.y_offset = 3,
},
[SPECIES_LEDYBA] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 12,
},
[SPECIES_LEDIAN] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 4,
},
[SPECIES_SPINARAK] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 19,
},
[SPECIES_ARIADOS] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_CROBAT] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_CHINCHOU] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 16,
},
[SPECIES_LANTURN] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 11,
},
[SPECIES_PICHU] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 12,
},
[SPECIES_CLEFFA] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 20,
},
[SPECIES_IGGLYBUFF] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 18,
},
[SPECIES_TOGEPI] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 20,
},
[SPECIES_TOGETIC] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 9,
},
[SPECIES_NATU] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 20,
},
[SPECIES_XATU] =
{
- .size = 0x47,
+ .size = MON_COORDS_SIZE(32, 56),
.y_offset = 7,
},
[SPECIES_MAREEP] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 16,
},
[SPECIES_FLAAFFY] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 10,
},
[SPECIES_AMPHAROS] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_BELLOSSOM] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 14,
},
[SPECIES_MARILL] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 14,
},
[SPECIES_AZUMARILL] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_SUDOWOODO] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_POLITOED] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_HOPPIP] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_SKIPLOOM] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_JUMPLUFF] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_AIPOM] =
{
- .size = 0x58,
+ .size = MON_COORDS_SIZE(40, 64),
.y_offset = 3,
},
[SPECIES_SUNKERN] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 16,
},
[SPECIES_SUNFLORA] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 8,
},
[SPECIES_YANMA] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_WOOPER] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 16,
},
[SPECIES_QUAGSIRE] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 7,
},
[SPECIES_ESPEON] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_UMBREON] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 8,
},
[SPECIES_MURKROW] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_SLOWKING] =
{
- .size = 0x58,
+ .size = MON_COORDS_SIZE(40, 64),
.y_offset = 1,
},
[SPECIES_MISDREAVUS] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 12,
},
[SPECIES_UNOWN] =
{
- .size = 0x35,
+ .size = MON_COORDS_SIZE(24, 40),
.y_offset = 15,
},
[SPECIES_WOBBUFFET] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_GIRAFARIG] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_PINECO] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 10,
},
[SPECIES_FORRETRESS] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_DUNSPARCE] =
{
- .size = 0x74,
+ .size = MON_COORDS_SIZE(56, 32),
.y_offset = 17,
},
[SPECIES_GLIGAR] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 3,
},
[SPECIES_STEELIX] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_SNUBBULL] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 13,
},
[SPECIES_GRANBULL] =
{
- .size = 0x57,
+ .size = MON_COORDS_SIZE(40, 56),
.y_offset = 6,
},
[SPECIES_QWILFISH] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 10,
},
[SPECIES_SCIZOR] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_SHUCKLE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_HERACROSS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_SNEASEL] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 5,
},
[SPECIES_TEDDIURSA] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 13,
},
[SPECIES_URSARING] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 1,
},
[SPECIES_SLUGMA] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 13,
},
[SPECIES_MAGCARGO] =
{
- .size = 0x57,
+ .size = MON_COORDS_SIZE(40, 56),
.y_offset = 13,
},
[SPECIES_SWINUB] =
{
- .size = 0x43,
+ .size = MON_COORDS_SIZE(32, 24),
.y_offset = 20,
},
[SPECIES_PILOSWINE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_CORSOLA] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_REMORAID] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 14,
},
[SPECIES_OCTILLERY] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_DELIBIRD] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 8,
},
[SPECIES_MANTINE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_SKARMORY] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_HOUNDOUR] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 11,
},
[SPECIES_HOUNDOOM] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_KINGDRA] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 4,
},
[SPECIES_PHANPY] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 16,
},
[SPECIES_DONPHAN] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_PORYGON2] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_STANTLER] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_SMEARGLE] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_TYROGUE] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 9,
},
[SPECIES_HITMONTOP] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 5,
},
[SPECIES_SMOOCHUM] =
{
- .size = 0x35,
+ .size = MON_COORDS_SIZE(24, 40),
.y_offset = 15,
},
[SPECIES_ELEKID] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_MAGBY] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 13,
},
[SPECIES_MILTANK] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_BLISSEY] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 6,
},
[SPECIES_RAIKOU] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_ENTEI] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_SUICUNE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_LARVITAR] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 9,
},
[SPECIES_PUPITAR] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 9,
},
[SPECIES_TYRANITAR] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_LUGIA] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_HO_OH] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_CELEBI] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 14,
},
[SPECIES_OLD_UNOWN_B] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_C] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_D] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_E] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_F] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_G] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_H] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_I] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_J] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_K] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_L] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_M] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_N] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_O] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_P] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_Q] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_R] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_S] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_T] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_U] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_V] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_W] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_X] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_Y] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_OLD_UNOWN_Z] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_TREECKO] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_GROVYLE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_SCEPTILE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_TORCHIC] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 8,
},
[SPECIES_COMBUSKEN] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_BLAZIKEN] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_MUDKIP] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 12,
},
[SPECIES_MARSHTOMP] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_SWAMPERT] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_POOCHYENA] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 12,
},
[SPECIES_MIGHTYENA] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_ZIGZAGOON] =
{
- .size = 0x85,
+ .size = MON_COORDS_SIZE(64, 40),
.y_offset = 15,
},
[SPECIES_LINOONE] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 3,
},
[SPECIES_WURMPLE] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 14,
},
[SPECIES_SILCOON] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 17,
},
[SPECIES_BEAUTIFLY] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 9,
},
[SPECIES_CASCOON] =
{
- .size = 0x74,
+ .size = MON_COORDS_SIZE(56, 32),
.y_offset = 16,
},
[SPECIES_DUSTOX] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 15,
},
[SPECIES_LOTAD] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 14,
},
[SPECIES_LOMBRE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_LUDICOLO] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_SEEDOT] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 16,
},
[SPECIES_NUZLEAF] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 8,
},
[SPECIES_SHIFTRY] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_NINCADA] =
{
- .size = 0x74,
+ .size = MON_COORDS_SIZE(56, 32),
.y_offset = 18,
},
[SPECIES_NINJASK] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_SHEDINJA] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_TAILLOW] =
{
- .size = 0x64,
+ .size = MON_COORDS_SIZE(48, 32),
.y_offset = 16,
},
[SPECIES_SWELLOW] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_SHROOMISH] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 16,
},
[SPECIES_BRELOOM] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_SPINDA] =
{
- .size = 0x68,
+ .size = MON_COORDS_SIZE(48, 64),
.y_offset = 8,
},
[SPECIES_WINGULL] =
{
- .size = 0x84,
+ .size = MON_COORDS_SIZE(64, 32),
.y_offset = 24,
},
[SPECIES_PELIPPER] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 4,
},
[SPECIES_SURSKIT] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 15,
},
[SPECIES_MASQUERAIN] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_WAILMER] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 15,
},
[SPECIES_WAILORD] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 10,
},
[SPECIES_SKITTY] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 11,
},
[SPECIES_DELCATTY] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_KECLEON] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 7,
},
[SPECIES_BALTOY] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 16,
},
[SPECIES_CLAYDOL] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 6,
},
[SPECIES_NOSEPASS] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 12,
},
[SPECIES_TORKOAL] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_SABLEYE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_BARBOACH] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 11,
},
[SPECIES_WHISCASH] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 9,
},
[SPECIES_LUVDISC] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 24,
},
[SPECIES_CORPHISH] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 12,
},
[SPECIES_CRAWDAUNT] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_FEEBAS] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 13,
},
[SPECIES_MILOTIC] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_CARVANHA] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 6,
},
[SPECIES_SHARPEDO] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 3,
},
[SPECIES_TRAPINCH] =
{
- .size = 0x54,
+ .size = MON_COORDS_SIZE(40, 32),
.y_offset = 16,
},
[SPECIES_VIBRAVA] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 12,
},
[SPECIES_FLYGON] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_MAKUHITA] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_HARIYAMA] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_ELECTRIKE] =
{
- .size = 0x64,
+ .size = MON_COORDS_SIZE(48, 32),
.y_offset = 18,
},
[SPECIES_MANECTRIC] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 4,
},
[SPECIES_NUMEL] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 15,
},
[SPECIES_CAMERUPT] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 9,
},
[SPECIES_SPHEAL] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 16,
},
[SPECIES_SEALEO] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 10,
},
[SPECIES_WALREIN] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_CACNEA] =
{
- .size = 0x74,
+ .size = MON_COORDS_SIZE(56, 32),
.y_offset = 16,
},
[SPECIES_CACTURNE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_SNORUNT] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 11,
},
[SPECIES_GLALIE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 10,
},
[SPECIES_LUNATONE] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_SOLROCK] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_AZURILL] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_SPOINK] =
{
- .size = 0x46,
+ .size = MON_COORDS_SIZE(32, 48),
.y_offset = 9,
},
[SPECIES_GRUMPIG] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_PLUSLE] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 14,
},
[SPECIES_MINUN] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 12,
},
[SPECIES_MAWILE] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_MEDITITE] =
{
- .size = 0x65,
+ .size = MON_COORDS_SIZE(48, 40),
.y_offset = 12,
},
[SPECIES_MEDICHAM] =
{
- .size = 0x68,
+ .size = MON_COORDS_SIZE(48, 64),
.y_offset = 1,
},
[SPECIES_SWABLU] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 17,
},
[SPECIES_ALTARIA] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_WYNAUT] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 12,
},
[SPECIES_DUSKULL] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 10,
},
[SPECIES_DUSCLOPS] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 5,
},
[SPECIES_ROSELIA] =
{
- .size = 0x76,
+ .size = MON_COORDS_SIZE(56, 48),
.y_offset = 8,
},
[SPECIES_SLAKOTH] =
{
- .size = 0x74,
+ .size = MON_COORDS_SIZE(56, 32),
.y_offset = 18,
},
[SPECIES_VIGOROTH] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_SLAKING] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 8,
},
[SPECIES_GULPIN] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 18,
},
[SPECIES_SWALOT] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_TROPIUS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_WHISMUR] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 14,
},
[SPECIES_LOUDRED] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 3,
},
[SPECIES_EXPLOUD] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_CLAMPERL] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 14,
},
[SPECIES_HUNTAIL] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 3,
},
[SPECIES_GOREBYSS] =
{
- .size = 0x86,
+ .size = MON_COORDS_SIZE(64, 48),
.y_offset = 11,
},
[SPECIES_ABSOL] =
{
- .size = 0x68,
+ .size = MON_COORDS_SIZE(48, 64),
.y_offset = 0,
},
[SPECIES_SHUPPET] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 14,
},
[SPECIES_BANETTE] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 12,
},
[SPECIES_SEVIPER] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 8,
},
[SPECIES_ZANGOOSE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 5,
},
[SPECIES_RELICANTH] =
{
- .size = 0x77,
+ .size = MON_COORDS_SIZE(56, 56),
.y_offset = 11,
},
[SPECIES_ARON] =
{
- .size = 0x43,
+ .size = MON_COORDS_SIZE(32, 24),
.y_offset = 20,
},
[SPECIES_LAIRON] =
{
- .size = 0x75,
+ .size = MON_COORDS_SIZE(56, 40),
.y_offset = 13,
},
[SPECIES_AGGRON] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_CASTFORM] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 17,
},
[SPECIES_VOLBEAT] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_ILLUMISE] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 8,
},
[SPECIES_LILEEP] =
{
- .size = 0x67,
+ .size = MON_COORDS_SIZE(48, 56),
.y_offset = 7,
},
[SPECIES_CRADILY] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 0,
},
[SPECIES_ANORITH] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 8,
},
[SPECIES_ARMALDO] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_RALTS] =
{
- .size = 0x35,
+ .size = MON_COORDS_SIZE(24, 40),
.y_offset = 15,
},
[SPECIES_KIRLIA] =
{
- .size = 0x47,
+ .size = MON_COORDS_SIZE(32, 56),
.y_offset = 6,
},
[SPECIES_GARDEVOIR] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 1,
},
[SPECIES_BAGON] =
{
- .size = 0x56,
+ .size = MON_COORDS_SIZE(40, 48),
.y_offset = 11,
},
[SPECIES_SHELGON] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 9,
},
[SPECIES_SALAMENCE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_BELDUM] =
{
- .size = 0x55,
+ .size = MON_COORDS_SIZE(40, 40),
.y_offset = 15,
},
[SPECIES_METANG] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 7,
},
[SPECIES_METAGROSS] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 6,
},
[SPECIES_REGIROCK] =
{
- .size = 0x78,
+ .size = MON_COORDS_SIZE(56, 64),
.y_offset = 4,
},
[SPECIES_REGICE] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_REGISTEEL] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 3,
},
[SPECIES_KYOGRE] =
{
- .size = 0x87,
+ .size = MON_COORDS_SIZE(64, 56),
.y_offset = 4,
},
[SPECIES_GROUDON] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_RAYQUAZA] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 0,
},
[SPECIES_LATIAS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_LATIOS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 2,
},
[SPECIES_JIRACHI] =
{
- .size = 0x66,
+ .size = MON_COORDS_SIZE(48, 48),
.y_offset = 13,
},
[SPECIES_DEOXYS] =
{
- .size = 0x88,
+ .size = MON_COORDS_SIZE(64, 64),
.y_offset = 1,
},
[SPECIES_CHIMECHO] =
{
- .size = 0x37,
+ .size = MON_COORDS_SIZE(24, 56),
.y_offset = 6,
},
[SPECIES_EGG] =
{
- .size = 0x33,
+ .size = MON_COORDS_SIZE(24, 24),
.y_offset = 20,
},
[SPECIES_UNOWN_B] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 16,
},
[SPECIES_UNOWN_C] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 16,
},
[SPECIES_UNOWN_D] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 16,
},
[SPECIES_UNOWN_E] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 17,
},
[SPECIES_UNOWN_F] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 17,
},
[SPECIES_UNOWN_G] =
{
- .size = 0x35,
+ .size = MON_COORDS_SIZE(24, 40),
.y_offset = 14,
},
[SPECIES_UNOWN_H] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 16,
},
[SPECIES_UNOWN_I] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 16,
},
[SPECIES_UNOWN_J] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 17,
},
[SPECIES_UNOWN_K] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 17,
},
[SPECIES_UNOWN_L] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 19,
},
[SPECIES_UNOWN_M] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 19,
},
[SPECIES_UNOWN_N] =
{
- .size = 0x43,
+ .size = MON_COORDS_SIZE(32, 24),
.y_offset = 20,
},
[SPECIES_UNOWN_O] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 16,
},
[SPECIES_UNOWN_P] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 19,
},
[SPECIES_UNOWN_Q] =
{
- .size = 0x43,
+ .size = MON_COORDS_SIZE(32, 24),
.y_offset = 21,
},
[SPECIES_UNOWN_R] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 19,
},
[SPECIES_UNOWN_S] =
{
- .size = 0x45,
+ .size = MON_COORDS_SIZE(32, 40),
.y_offset = 12,
},
[SPECIES_UNOWN_T] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 18,
},
[SPECIES_UNOWN_U] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 18,
},
[SPECIES_UNOWN_V] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 18,
},
[SPECIES_UNOWN_W] =
{
- .size = 0x44,
+ .size = MON_COORDS_SIZE(32, 32),
.y_offset = 19,
},
[SPECIES_UNOWN_X] =
{
- .size = 0x33,
+ .size = MON_COORDS_SIZE(24, 24),
.y_offset = 21,
},
[SPECIES_UNOWN_Y] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 17,
},
[SPECIES_UNOWN_Z] =
{
- .size = 0x34,
+ .size = MON_COORDS_SIZE(24, 32),
.y_offset = 16,
},
[SPECIES_UNOWN_EMARK] =
{
- .size = 0x35,
+ .size = MON_COORDS_SIZE(24, 40),
.y_offset = 15,
},
[SPECIES_UNOWN_QMARK] =
{
- .size = 0x35,
+ .size = MON_COORDS_SIZE(24, 40),
.y_offset = 13,
},
};
diff --git a/src/pokeball.c b/src/pokeball.c
index a0800d38f..501d86ca3 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -897,8 +897,8 @@ static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite)
static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite)
{
sprite->data[0] = 25;
- sprite->data[2] = GetBattlerSpriteCoord(sprite->sBattler, 2);
- sprite->data[4] = GetBattlerSpriteCoord(sprite->sBattler, 3) + 24;
+ sprite->data[2] = GetBattlerSpriteCoord(sprite->sBattler, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(sprite->sBattler, BATTLER_COORD_Y_PIC_OFFSET) + 24;
sprite->data[5] = -30;
sprite->oam.affineParam = sprite->sBattler;
InitAnimArcTranslation(sprite);
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
index 58d0b3420..2c010f35e 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon_icon.c
@@ -1116,7 +1116,7 @@ u16 GetIconSpeciesNoPersonality(u16 species)
}
else
{
- if (species > (SPECIES_UNOWN_B - 1))
+ if (species > NUM_SPECIES)
species = INVALID_ICON_SPECIES;
return GetIconSpecies(species, 0);
}
diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c
index c8c03ede2..1b49a374c 100644
--- a/src/reshow_battle_screen.c
+++ b/src/reshow_battle_screen.c
@@ -222,7 +222,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, GetBattlerSpriteSubpriority(battler));
+ gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), posY, GetBattlerSpriteSubpriority(battler));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
@@ -258,7 +258,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, GetBattlerSpriteSubpriority(battler));
+ gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), posY, GetBattlerSpriteSubpriority(battler));
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;