From 79a1127122d060a821afb941f53485ae714b5f60 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 24 May 2020 17:22:56 -0500 Subject: [PATCH] Match sub_817F9F4 --- src/pokemon_animation.c | 79 ++--------------------------------------- 1 file changed, 3 insertions(+), 76 deletions(-) diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index 622e1d584..1c07b0962 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -1138,11 +1138,9 @@ static void pokemonanimfunc_04(struct Sprite *sprite) sprite->callback = sub_817F978; } -#ifdef NONMATCHING static void sub_817F9F4(struct Sprite *sprite) { s32 counter = sprite->data[2]; - if (counter > 384) { sprite->callback = SpriteCB_SetDummyOnAnimEnd; @@ -1151,8 +1149,7 @@ static void sub_817F9F4(struct Sprite *sprite) } else { - s32 divCounter = counter / 128; - + s16 divCounter = counter / 128; switch (divCounter) { case 0: @@ -1161,7 +1158,8 @@ static void sub_817F9F4(struct Sprite *sprite) break; case 2: case 3: - sprite->pos2.y = -(Sin(counter - 256, sprite->data[0] * 3)); + counter -= 256; + sprite->pos2.y = -(Sin(counter, sprite->data[0] * 3)); break; } } @@ -1169,77 +1167,6 @@ static void sub_817F9F4(struct Sprite *sprite) sprite->data[2] += 12; } -#else -NAKED -static void sub_817F9F4(struct Sprite *sprite) -{ - asm(".syntax unified\n\ - push {r4,lr}\n\ - adds r4, r0, 0\n\ - movs r0, 0x32\n\ - ldrsh r1, [r4, r0]\n\ - movs r0, 0xC0\n\ - lsls r0, 1\n\ - cmp r1, r0\n\ - ble _0817FA14\n\ - ldr r0, =SpriteCB_SetDummyOnAnimEnd\n\ - str r0, [r4, 0x1C]\n\ - movs r0, 0\n\ - strh r0, [r4, 0x24]\n\ - b _0817FA5E\n\ - .pool\n\ -_0817FA14:\n\ - adds r0, r1, 0\n\ - cmp r1, 0\n\ - bge _0817FA1C\n\ - adds r0, 0x7F\n\ -_0817FA1C:\n\ - asrs r2, r0, 7\n\ - lsls r0, r2, 16\n\ - asrs r0, 16\n\ - cmp r0, 0\n\ - blt _0817FA60\n\ - cmp r0, 0x1\n\ - ble _0817FA48\n\ - cmp r0, 0x3\n\ - bgt _0817FA60\n\ - ldr r2, =0xffffff00\n\ - adds r1, r2\n\ - lsls r0, r1, 16\n\ - asrs r0, 16\n\ - movs r1, 0x2E\n\ - ldrsh r2, [r4, r1]\n\ - lsls r1, r2, 1\n\ - adds r1, r2\n\ - lsls r1, 16\n\ - b _0817FA56\n\ - .pool\n\ -_0817FA48:\n\ - lsls r0, r2, 7\n\ - subs r0, r1, r0\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r2, 0x2E\n\ - ldrsh r1, [r4, r2]\n\ - lsls r1, 17\n\ -_0817FA56:\n\ - asrs r1, 16\n\ - bl Sin\n\ - negs r0, r0\n\ -_0817FA5E:\n\ - strh r0, [r4, 0x26]\n\ -_0817FA60:\n\ - ldrh r0, [r4, 0x32]\n\ - adds r0, 0xC\n\ - strh r0, [r4, 0x32]\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided"); -} - -#endif // NONMATCHING - static void pokemonanimfunc_1E(struct Sprite *sprite) { sprite->data[0] = 4;