summaryrefslogtreecommitdiff
path: root/src/pokeball.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pokeball.c')
-rw-r--r--src/pokeball.c206
1 files changed, 104 insertions, 102 deletions
diff --git a/src/pokeball.c b/src/pokeball.c
index 678b9da33..52d47b534 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -12,28 +12,29 @@
#include "task.h"
#include "trig.h"
#include "util.h"
+#include "data.h"
#include "constants/songs.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
// this file's functions
static void Task_DoPokeballSendOutAnim(u8 taskId);
-static void SpriteCB_TestBallThrow(struct Sprite *sprite);
static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite);
static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite);
static void SpriteCB_OpponentMonSendOut(struct Sprite *sprite);
-static void sub_80756D4(struct Sprite *sprite);
-static void sub_80756E0(struct Sprite *sprite);
-static void sub_807574C(struct Sprite *sprite);
-static void sub_80757E4(struct Sprite *sprite);
-static void sub_8075838(struct Sprite *sprite);
-static void sub_8075930(struct Sprite *sprite);
+static void SpriteCB_BallThrow(struct Sprite *sprite);
+static void SpriteCB_BallThrow_ReachMon(struct Sprite *sprite);
+static void SpriteCB_BallThrow_StartShrinkMon(struct Sprite *sprite);
+static void SpriteCB_BallThrow_ShrinkMon(struct Sprite *sprite);
+static void SpriteCB_BallThrow_Close(struct Sprite *sprite);
+static void SpriteCB_BallThrow_FallToGround(struct Sprite *sprite);
+static void SpriteCB_BallThrow_StartShakes(struct Sprite *sprite);
+static void SpriteCB_BallThrow_Shake(struct Sprite *sprite);
+static void SpriteCB_BallThrow_StartCaptureMon(struct Sprite *sprite);
+static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite);
static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite);
static void SpriteCB_ReleaseMon2FromBall(struct Sprite *sprite);
-static void sub_8075970(struct Sprite *sprite);
static void HandleBallAnimEnd(struct Sprite *sprite);
-static void sub_8075FB4(struct Sprite *sprite);
-static void sub_80760F8(struct Sprite *sprite);
static void SpriteCB_PokeballReleaseMon(struct Sprite *sprite);
static void SpriteCB_ReleasedMonFlyOut(struct Sprite *sprite);
static void SpriteCB_TradePokeball(struct Sprite *sprite);
@@ -213,7 +214,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_GREATBALL,
@@ -222,7 +223,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_SAFARIBALL,
@@ -231,7 +232,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_ULTRABALL,
@@ -240,7 +241,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_MASTERBALL,
@@ -249,7 +250,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_NETBALL,
@@ -258,7 +259,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_DIVEBALL,
@@ -267,7 +268,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_NESTBALL,
@@ -276,7 +277,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_REPEATBALL,
@@ -285,7 +286,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_TIMERBALL,
@@ -294,7 +295,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_LUXURYBALL,
@@ -303,7 +304,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
{
.tileTag = GFX_TAG_PREMIERBALL,
@@ -312,7 +313,7 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] =
.anims = sBallAnimSequences,
.images = NULL,
.affineAnims = sAffineAnim_BallRotate,
- .callback = SpriteCB_TestBallThrow,
+ .callback = SpriteCB_BallThrow,
},
};
@@ -372,13 +373,13 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
{
case POKEBALL_PLAYER_SENDOUT:
gBattlerTarget = battlerId;
- gSprites[ballSpriteId].pos1.x = 24;
- gSprites[ballSpriteId].pos1.y = 68;
+ gSprites[ballSpriteId].x = 24;
+ gSprites[ballSpriteId].y = 68;
gSprites[ballSpriteId].callback = SpriteCB_PlayerMonSendOut_1;
break;
case POKEBALL_OPPONENT_SENDOUT:
- gSprites[ballSpriteId].pos1.x = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X);
- gSprites[ballSpriteId].pos1.y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 24;
+ gSprites[ballSpriteId].x = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X);
+ gSprites[ballSpriteId].y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 24;
gBattlerTarget = battlerId;
gSprites[ballSpriteId].data[0] = 0;
gSprites[ballSpriteId].callback = SpriteCB_OpponentMonSendOut;
@@ -408,7 +409,10 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
PlaySE(SE_BALL_THROW);
}
-static void SpriteCB_TestBallThrow(struct Sprite *sprite)
+// This sequence of functions is very similar to those that get run when
+// a Pokéball gets thrown at a wild Pokémon, starting at SpriteCB_Ball_Arc.
+// These do not seem to get run.
+static void SpriteCB_BallThrow(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
{
@@ -419,18 +423,18 @@ static void SpriteCB_TestBallThrow(struct Sprite *sprite)
StartSpriteAnim(sprite, 1);
sprite->affineAnimPaused = 1;
- sprite->pos1.x += sprite->pos2.x;
- sprite->pos1.y += sprite->pos2.y;
- sprite->pos2.x = 0;
- sprite->pos2.y = 0;
+ sprite->x += sprite->x2;
+ sprite->y += sprite->y2;
+ sprite->x2 = 0;
+ sprite->y2 = 0;
sprite->data[5] = 0;
ballId = ItemIdToBallId(GetBattlerPokeballItemId(opponentBattler));
- AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
+ AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 0x1C, ballId);
sprite->data[0] = LaunchBallFadeMonTask(FALSE, opponentBattler, 14, ballId);
sprite->sBattler = opponentBattler;
sprite->data[7] = noOfShakes;
DestroyTask(taskId);
- sprite->callback = sub_80756D4;
+ sprite->callback = SpriteCB_BallThrow_ReachMon;
}
}
@@ -440,26 +444,24 @@ static void SpriteCB_TestBallThrow(struct Sprite *sprite)
#undef tBattler
#undef tOpponentBattler
-static void sub_80756D4(struct Sprite *sprite)
+static void SpriteCB_BallThrow_ReachMon(struct Sprite *sprite)
{
- sprite->callback = sub_80756E0;
+ sprite->callback = SpriteCB_BallThrow_StartShrinkMon;
}
-// Start something for battler
-static void sub_80756E0(struct Sprite *sprite)
+static void SpriteCB_BallThrow_StartShrinkMon(struct Sprite *sprite)
{
if (++sprite->data[5] == 10)
{
sprite->data[5] = 0;
- sprite->callback = sub_807574C;
- StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[sprite->sBattler]], 2);
+ sprite->callback = SpriteCB_BallThrow_ShrinkMon;
+ StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[sprite->sBattler]], BATTLER_AFFINE_RETURN);
AnimateSprite(&gSprites[gBattlerSpriteIds[sprite->sBattler]]);
gSprites[gBattlerSpriteIds[sprite->sBattler]].data[1] = 0;
}
}
-// Shrink player
-static void sub_807574C(struct Sprite *sprite)
+static void SpriteCB_BallThrow_ShrinkMon(struct Sprite *sprite)
{
sprite->data[5]++;
if (sprite->data[5] == 11)
@@ -469,16 +471,16 @@ static void sub_807574C(struct Sprite *sprite)
StartSpriteAnim(sprite, 2);
gSprites[gBattlerSpriteIds[sprite->sBattler]].invisible = TRUE;
sprite->data[5] = 0;
- sprite->callback = sub_80757E4;
+ sprite->callback = SpriteCB_BallThrow_Close;
}
else
{
gSprites[gBattlerSpriteIds[sprite->sBattler]].data[1] += 0x60;
- gSprites[gBattlerSpriteIds[sprite->sBattler]].pos2.y = -gSprites[gBattlerSpriteIds[sprite->sBattler]].data[1] >> 8;
+ gSprites[gBattlerSpriteIds[sprite->sBattler]].y2 = -gSprites[gBattlerSpriteIds[sprite->sBattler]].data[1] >> 8;
}
}
-static void sub_80757E4(struct Sprite *sprite)
+static void SpriteCB_BallThrow_Close(struct Sprite *sprite)
{
if (sprite->animEnded)
{
@@ -488,21 +490,21 @@ static void sub_80757E4(struct Sprite *sprite)
sprite->data[3] = 0;
sprite->data[4] = 32;
sprite->data[5] = 0;
- sprite->pos1.y += Cos(0, 32);
- sprite->pos2.y = -Cos(0, sprite->data[4]);
- sprite->callback = sub_8075838;
+ sprite->y += Cos(0, 32);
+ sprite->y2 = -Cos(0, sprite->data[4]);
+ sprite->callback = SpriteCB_BallThrow_FallToGround;
}
}
}
-static void sub_8075838(struct Sprite *sprite)
+static void SpriteCB_BallThrow_FallToGround(struct Sprite *sprite)
{
bool8 r5 = FALSE;
switch (sprite->data[3] & 0xFF)
{
case 0:
- sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
+ sprite->y2 = -Cos(sprite->data[5], sprite->data[4]);
sprite->data[5] += 4 + (sprite->data[3] >> 8);
if (sprite->data[5] >= 64)
{
@@ -528,7 +530,7 @@ static void sub_8075838(struct Sprite *sprite)
}
break;
case 1:
- sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
+ sprite->y2 = -Cos(sprite->data[5], sprite->data[4]);
sprite->data[5] -= 4 + (sprite->data[3] >> 8);
if (sprite->data[5] <= 0)
{
@@ -540,22 +542,22 @@ static void sub_8075838(struct Sprite *sprite)
if (r5)
{
sprite->data[3] = 0;
- sprite->pos1.y += Cos(64, 32);
- sprite->pos2.y = 0;
+ sprite->y += Cos(64, 32);
+ sprite->y2 = 0;
if (sprite->data[7] == 0)
{
sprite->callback = SpriteCB_ReleaseMonFromBall;
}
else
{
- sprite->callback = sub_8075930;
+ sprite->callback = SpriteCB_BallThrow_StartShakes;
sprite->data[4] = 1;
sprite->data[5] = 0;
}
}
}
-static void sub_8075930(struct Sprite *sprite)
+static void SpriteCB_BallThrow_StartShakes(struct Sprite *sprite)
{
sprite->data[3]++;
if (sprite->data[3] == 31)
@@ -563,18 +565,18 @@ static void sub_8075930(struct Sprite *sprite)
sprite->data[3] = 0;
sprite->affineAnimPaused = TRUE;
StartSpriteAffineAnim(sprite, 1);
- sprite->callback = sub_8075970;
+ sprite->callback = SpriteCB_BallThrow_Shake;
PlaySE(SE_BALL);
}
}
-static void sub_8075970(struct Sprite *sprite)
+static void SpriteCB_BallThrow_Shake(struct Sprite *sprite)
{
switch (sprite->data[3] & 0xFF)
{
case 0:
case 2:
- sprite->pos2.x += sprite->data[4];
+ sprite->x2 += sprite->data[4];
sprite->data[5] += sprite->data[4];
sprite->affineAnimPaused = FALSE;
if (sprite->data[5] > 3 || sprite->data[5] < -3)
@@ -611,7 +613,7 @@ static void sub_8075970(struct Sprite *sprite)
{
if (sprite->data[7] == 4 && sprite->data[3] >> 8 == 3)
{
- sprite->callback = sub_8075FB4;
+ sprite->callback = SpriteCB_BallThrow_StartCaptureMon;
sprite->affineAnimPaused = TRUE;
}
else
@@ -738,7 +740,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
StartSpriteAnim(sprite, 1);
ballId = ItemIdToBallId(GetBattlerPokeballItemId(battlerId));
- AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
+ AnimateBallOpenParticles(sprite->x, sprite->y - 5, 1, 0x1C, ballId);
sprite->data[0] = LaunchBallFadeMonTask(TRUE, sprite->sBattler, 14, ballId);
sprite->callback = HandleBallAnimEnd;
@@ -791,12 +793,12 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
gTasks[taskId].tCryTaskWantedCry = wantedCryCase;
gTasks[taskId].tCryTaskBattler = battlerId;
gTasks[taskId].tCryTaskMonSpriteId = gBattlerSpriteIds[sprite->sBattler];
- gTasks[taskId].tCryTaskMonPtr1 = (u32)(mon) >> 0x10;
+ gTasks[taskId].tCryTaskMonPtr1 = (u32)(mon) >> 16;
gTasks[taskId].tCryTaskMonPtr2 = (u32)(mon);
gTasks[taskId].tCryTaskState = 0;
}
- StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[sprite->sBattler]], 1);
+ StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[sprite->sBattler]], BATTLER_AFFINE_EMERGE);
if (GetBattlerSide(sprite->sBattler) == B_SIDE_OPPONENT)
gSprites[gBattlerSpriteIds[sprite->sBattler]].callback = SpriteCb_OpponentMonFromBall;
@@ -817,10 +819,10 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
#undef tCryTaskFrames
#undef tCryTaskState
-static void sub_8075FB4(struct Sprite *sprite)
+static void SpriteCB_BallThrow_StartCaptureMon(struct Sprite *sprite)
{
sprite->animPaused = TRUE;
- sprite->callback = sub_80760F8;
+ sprite->callback = SpriteCB_BallThrow_CaptureMon;
sprite->data[3] = 0;
sprite->data[4] = 0;
sprite->data[5] = 0;
@@ -836,19 +838,19 @@ static void HandleBallAnimEnd(struct Sprite *sprite)
sprite->invisible = TRUE;
if (gSprites[gBattlerSpriteIds[battlerId]].affineAnimEnded)
{
- StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0);
+ StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[battlerId]], BATTLER_AFFINE_NORMAL);
affineAnimEnded = TRUE;
}
else
{
gSprites[gBattlerSpriteIds[battlerId]].data[1] -= 288;
- gSprites[gBattlerSpriteIds[battlerId]].pos2.y = gSprites[gBattlerSpriteIds[battlerId]].data[1] >> 8;
+ gSprites[gBattlerSpriteIds[battlerId]].y2 = gSprites[gBattlerSpriteIds[battlerId]].data[1] >> 8;
}
if (sprite->animEnded && affineAnimEnded)
{
s32 i, doneBattlers;
- gSprites[gBattlerSpriteIds[battlerId]].pos2.y = 0;
+ gSprites[gBattlerSpriteIds[battlerId]].y2 = 0;
gDoingBattleAnim = FALSE;
gBattleSpritesDataPtr->healthBoxesData[battlerId].ballAnimActive = 0;
FreeSpriteOamMatrix(sprite);
@@ -867,7 +869,7 @@ static void HandleBallAnimEnd(struct Sprite *sprite)
}
}
-static void sub_80760F8(struct Sprite *sprite)
+static void SpriteCB_BallThrow_CaptureMon(struct Sprite *sprite)
{
u8 battlerId = sprite->sBattler;
@@ -925,7 +927,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
r4 = sprite->data[0];
AnimTranslateLinear(sprite);
sprite->data[7] += sprite->sBattler / 3;
- sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]);
+ sprite->y2 += Sin(HIBYTE(sprite->data[7]), sprite->data[5]);
sprite->oam.affineParam += 0x100;
if ((sprite->oam.affineParam >> 8) % 3 != 0)
sprite->data[0] = r4;
@@ -943,10 +945,10 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
{
if (TranslateAnimHorizontalArc(sprite))
{
- sprite->pos1.x += sprite->pos2.x;
- sprite->pos1.y += sprite->pos2.y;
- sprite->pos2.y = 0;
- sprite->pos2.x = 0;
+ sprite->x += sprite->x2;
+ sprite->y += sprite->y2;
+ sprite->y2 = 0;
+ sprite->x2 = 0;
sprite->sBattler = sprite->oam.affineParam & 0xFF;
sprite->data[0] = 0;
@@ -1006,11 +1008,11 @@ void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battlerId, u8 x, u8 y,
spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subpriortiy);
gSprites[spriteId].data[0] = monSpriteId;
- gSprites[spriteId].data[5] = gSprites[monSpriteId].pos1.x;
- gSprites[spriteId].data[6] = gSprites[monSpriteId].pos1.y;
+ gSprites[spriteId].data[5] = gSprites[monSpriteId].x;
+ gSprites[spriteId].data[6] = gSprites[monSpriteId].y;
- gSprites[monSpriteId].pos1.x = x;
- gSprites[monSpriteId].pos1.y = y;
+ gSprites[monSpriteId].x = x;
+ gSprites[monSpriteId].y = y;
gSprites[monSpriteId].data[7] = species;
gSprites[spriteId].data[1] = g;
@@ -1038,11 +1040,11 @@ static void SpriteCB_PokeballReleaseMon(struct Sprite *sprite)
r5 = 0;
StartSpriteAnim(sprite, 1);
- AnimateBallOpenParticlesForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r5);
+ AnimateBallOpenParticlesForPokeball(sprite->x, sprite->y - 5, sprite->oam.priority, r5);
sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, battlerId, r4);
sprite->callback = SpriteCB_ReleasedMonFlyOut;
gSprites[r7].invisible = FALSE;
- StartSpriteAffineAnim(&gSprites[r7], 1);
+ StartSpriteAffineAnim(&gSprites[r7], BATTLER_AFFINE_EMERGE);
AnimateSprite(&gSprites[r7]);
gSprites[r7].data[1] = 0x1000;
sprite->data[7] = 0;
@@ -1065,27 +1067,27 @@ static void SpriteCB_ReleasedMonFlyOut(struct Sprite *sprite)
sprite->invisible = TRUE;
if (gSprites[monSpriteId].affineAnimEnded)
{
- StartSpriteAffineAnim(&gSprites[monSpriteId], 0);
+ StartSpriteAffineAnim(&gSprites[monSpriteId], BATTLER_AFFINE_NORMAL);
r12 = TRUE;
}
- var1 = (sprite->data[5] - sprite->pos1.x) * sprite->data[7] / 128 + sprite->pos1.x;
- var2 = (sprite->data[6] - sprite->pos1.y) * sprite->data[7] / 128 + sprite->pos1.y;
- gSprites[monSpriteId].pos1.x = var1;
- gSprites[monSpriteId].pos1.y = var2;
+ var1 = (sprite->data[5] - sprite->x) * sprite->data[7] / 128 + sprite->x;
+ var2 = (sprite->data[6] - sprite->y) * sprite->data[7] / 128 + sprite->y;
+ gSprites[monSpriteId].x = var1;
+ gSprites[monSpriteId].y = var2;
if (sprite->data[7] < 128)
{
s16 sine = -(gSineTable[(u8)sprite->data[7]] / 8);
sprite->data[7] += 4;
- gSprites[monSpriteId].pos2.x = sine;
- gSprites[monSpriteId].pos2.y = sine;
+ gSprites[monSpriteId].x2 = sine;
+ gSprites[monSpriteId].y2 = sine;
}
else
{
- gSprites[monSpriteId].pos1.x = sprite->data[5];
- gSprites[monSpriteId].pos1.y = sprite->data[6];
- gSprites[monSpriteId].pos2.x = 0;
- gSprites[monSpriteId].pos2.y = 0;
+ gSprites[monSpriteId].x = sprite->data[5];
+ gSprites[monSpriteId].y = sprite->data[6];
+ gSprites[monSpriteId].x2 = 0;
+ gSprites[monSpriteId].y2 = 0;
r6 = TRUE;
}
if (sprite->animEnded && r12 && r6)
@@ -1131,7 +1133,7 @@ static void SpriteCB_TradePokeball(struct Sprite *sprite)
r6 = 0;
StartSpriteAnim(sprite, 1);
- AnimateBallOpenParticlesForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r6);
+ AnimateBallOpenParticlesForPokeball(sprite->x, sprite->y - 5, sprite->oam.priority, r6);
sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, r8, r5);
sprite->callback = SpriteCB_TradePokeballSendOff;
#ifdef BUGFIX
@@ -1139,7 +1141,7 @@ static void SpriteCB_TradePokeball(struct Sprite *sprite)
// play the shrink anim properly due to being paused. Works together with the fix to `sub_817F77C`.
gSprites[monSpriteId].affineAnimPaused = FALSE;
#endif // BUGFIX
- StartSpriteAffineAnim(&gSprites[monSpriteId], 2);
+ StartSpriteAffineAnim(&gSprites[monSpriteId], BATTLER_AFFINE_RETURN);
AnimateSprite(&gSprites[monSpriteId]);
gSprites[monSpriteId].data[1] = 0;
}
@@ -1167,7 +1169,7 @@ static void SpriteCB_TradePokeballSendOff(struct Sprite *sprite)
else
{
gSprites[monSpriteId].data[1] += 96;
- gSprites[monSpriteId].pos2.y = -gSprites[monSpriteId].data[1] >> 8;
+ gSprites[monSpriteId].y2 = -gSprites[monSpriteId].data[1] >> 8;
}
}
@@ -1193,15 +1195,15 @@ void StartHealthboxSlideIn(u8 battlerId)
healthboxSprite->sSpeedX = 5;
healthboxSprite->sSpeedY = 0;
- healthboxSprite->pos2.x = 0x73;
- healthboxSprite->pos2.y = 0;
+ healthboxSprite->x2 = 0x73;
+ healthboxSprite->y2 = 0;
healthboxSprite->callback = SpriteCB_HealthboxSlideIn;
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
{
healthboxSprite->sSpeedX = -healthboxSprite->sSpeedX;
healthboxSprite->sSpeedY = -healthboxSprite->sSpeedY;
- healthboxSprite->pos2.x = -healthboxSprite->pos2.x;
- healthboxSprite->pos2.y = -healthboxSprite->pos2.y;
+ healthboxSprite->x2 = -healthboxSprite->x2;
+ healthboxSprite->y2 = -healthboxSprite->y2;
}
gSprites[healthboxSprite->data[5]].callback(&gSprites[healthboxSprite->data[5]]);
if (GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT)
@@ -1220,9 +1222,9 @@ static void SpriteCB_HealthboxSlideInDelayed(struct Sprite *sprite)
static void SpriteCB_HealthboxSlideIn(struct Sprite *sprite)
{
- sprite->pos2.x -= sprite->sSpeedX;
- sprite->pos2.y -= sprite->sSpeedY;
- if (sprite->pos2.x == 0 && sprite->pos2.y == 0)
+ sprite->x2 -= sprite->sSpeedX;
+ sprite->y2 -= sprite->sSpeedY;
+ if (sprite->x2 == 0 && sprite->y2 == 0)
sprite->callback = SpriteCallbackDummy;
}
@@ -1244,13 +1246,13 @@ static void SpriteCB_HitAnimHealthoxEffect(struct Sprite *sprite)
{
u8 r1 = sprite->data[1];
- gSprites[r1].pos2.y = sprite->data[0];
+ gSprites[r1].y2 = sprite->data[0];
sprite->data[0] = -sprite->data[0];
sprite->data[2]++;
if (sprite->data[2] == 21)
{
- gSprites[r1].pos2.x = 0;
- gSprites[r1].pos2.y = 0;
+ gSprites[r1].x2 = 0;
+ gSprites[r1].y2 = 0;
DestroySprite(sprite);
}
}