diff options
Diffstat (limited to 'src/battle_anim_effects_2.c')
-rwxr-xr-x | src/battle_anim_effects_2.c | 81 |
1 files changed, 8 insertions, 73 deletions
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 580b13864..65cc55604 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -1734,90 +1734,25 @@ void sub_8103FE8(struct Sprite *sprite) sprite->callback = sub_8104018; } -#ifdef NONMATCHING static void sub_8104018(struct Sprite *sprite) { - u16 r7; - u16 r5; + u16 id, val; int i; + if (++sprite->data[1] == 2) { sprite->data[1] = 0; - r5 = sprite->data[0]; - r7 = gPlttBufferFaded[8 + r5]; - for (i = 0; i < 8; i++) - { - gPlttBufferFaded[i + r5 + 8] = gPlttBufferFaded[i + r5 + 9]; - } - gPlttBufferFaded[r5 + 15] = r7; + id = sprite->data[0]; + val = gPlttBufferFaded[8 + id]; + for (i = 8; i < 16; i++) + gPlttBufferFaded[i + id] = gPlttBufferFaded[i + id + 1]; + + gPlttBufferFaded[id + 15] = val; if (++sprite->data[2] == 24) DestroyAnimSprite(sprite); } } -#else -NAKED -static void sub_8104018(struct Sprite *sprite) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - adds r4, r0, 0\n\ - ldrh r0, [r4, 0x30]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x30]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x2\n\ - bne _0810407C\n\ - movs r0, 0\n\ - strh r0, [r4, 0x30]\n\ - ldrh r5, [r4, 0x2E]\n\ - ldr r1, =gPlttBufferFaded\n\ - adds r0, r5, 0\n\ - adds r0, 0x8\n\ - lsls r0, 1\n\ - adds r0, r1 \n\ - ldrh r7, [r0]\n\ - adds r6, r1, 0\n\ - adds r1, r5, 0\n\ - adds r1, 0x9\n\ - lsls r0, r5, 1\n\ - adds r0, r6\n\ - adds r2, r0, 0\n\ - adds r2, 0x10\n\ - movs r3, 0x7\n\ - lsls r1, 1\n\ - adds r1, r6\n\ -_08104050:\n\ - ldrh r0, [r1]\n\ - strh r0, [r2]\n\ - adds r1, 0x2\n\ - adds r2, 0x2\n\ - subs r3, 0x1\n\ - cmp r3, 0\n\ - bge _08104050\n\ - adds r0, r5, 0\n\ - adds r0, 0xF\n\ - lsls r0, 1\n\ - adds r0, r6\n\ - strh r7, [r0]\n\ - ldrh r0, [r4, 0x32]\n\ - adds r0, 0x1\n\ - strh r0, [r4, 0x32]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x18\n\ - bne _0810407C\n\ - adds r0, r4, 0\n\ - bl DestroyAnimSprite\n\ -_0810407C:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ -.syntax divided\n"); -} -#endif void sub_8104088(struct Sprite *sprite) { |