summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSierraffinity <sierra@domoreaweso.me>2020-12-30 17:36:53 -0800
committerSierraffinity <sierra@domoreaweso.me>2020-12-30 17:36:53 -0800
commitef7832a55cbf8ef0262ba63400afcf5648e8b0be (patch)
treef29b9035d2fe9bb999de48a3c548137800617833 /src
parent127bb97c0e5c50b9f22715bdf4e958937f7ef992 (diff)
Change how mon affine transform fix is handled
Diffstat (limited to 'src')
-rw-r--r--src/pokeball.c5
-rw-r--r--src/pokemon_animation.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/pokeball.c b/src/pokeball.c
index 92081a296..916c86287 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -1133,6 +1133,11 @@ static void sub_80767D4(struct Sprite *sprite)
AnimateBallOpenParticlesForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r6);
sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, r8, r5);
sprite->callback = sub_807687C;
+#ifdef BUGFIX
+ // FIX: If this is used on a sprite that has previously had an affine animation, it will not
+ // play the shrink anim properly due to being paused. Works together with the fix to `sub_817F77C`.
+ gSprites[r7].affineAnimPaused = FALSE;
+#endif // BUGFIX
StartSpriteAffineAnim(&gSprites[r7], 2);
AnimateSprite(&gSprites[r7]);
gSprites[r7].data[1] = 0;
diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c
index 58c174263..c4077aff4 100644
--- a/src/pokemon_animation.c
+++ b/src/pokemon_animation.c
@@ -1046,7 +1046,6 @@ static void sub_817F77C(struct Sprite *sprite)
{
// FIX: Reset these back to normal after they were changed so Poké Ball catch/release
// animations without a screen transition in between don't break
- sprite->affineAnimPaused = FALSE;
sprite->affineAnims = gUnknown_082FF694;
}
#endif // BUGFIX