diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2020-12-31 00:40:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-31 00:40:45 -0500 |
commit | ec85c01e7c6d15060eddcc653db33a4b317646d2 (patch) | |
tree | 4266c43bcdc1c80c52def44e1470182d3f1c665c /src/pokemon_animation.c | |
parent | 093610b46e99b517a416ccd5a572054dff09801b (diff) | |
parent | 0c74e2097ffbe8395d6f3659c2a49fc829d69b99 (diff) |
Merge branch 'master' into doc-factscreen
Diffstat (limited to 'src/pokemon_animation.c')
-rw-r--r-- | src/pokemon_animation.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 37abb90e9..c4077aff4 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -8,7 +8,6 @@ #include "util.h" #include "constants/battle_anim.h" #include "constants/rgb.h" -#include "constants/species.h" struct UnkAnimStruct { @@ -1042,6 +1041,14 @@ static void sub_817F77C(struct Sprite *sprite) sprite->oam.matrixNum |= (sprite->hFlip << 3); sprite->oam.affineMode = ST_OAM_AFFINE_OFF; } +#ifdef BUGFIX + else + { + // 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->affineAnims = gUnknown_082FF694; + } +#endif // BUGFIX } static void pokemonanimfunc_01(struct Sprite *sprite) @@ -2884,13 +2891,9 @@ static void sub_8181C2C(struct Sprite *sprite) } else { - #ifndef NONMATCHING - register s32 var asm("r4") = sUnknown_03001240[sprite->data[0]].field_8; - #else - s32 var = sUnknown_03001240[sprite->data[0]].field_8; - #endif + s32 var = sUnknown_03001240[sprite->data[0]].field_8; - sprite->pos2.x = (var << 3) * (counter % 128) / 128 - (sUnknown_03001240[sprite->data[0]].field_8 * 8); + sprite->pos2.x = var * ((counter % 128) * 8) / 128 + 8 * -var; sprite->pos2.y = -(Sin(counter % 128, 8)); } |