diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-12-20 11:34:56 -0600 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2017-12-20 11:35:41 -0600 |
commit | 5e6bfe67a87e041ebdc9e0b573d1ae1f22b79d59 (patch) | |
tree | 6899e26a068d4854a026e3d13b7c51c36b68208a | |
parent | ad33b833f35800ff2cfc13aaca09e2e57842703a (diff) |
Decompile battle_anim beta_beat_up
-rwxr-xr-x | asm/beta_beat_up.s | 63 | ||||
-rw-r--r-- | ld_script.txt | 2 | ||||
-rw-r--r-- | src/battle/anim/beta_beat_up.c | 34 |
3 files changed, 35 insertions, 64 deletions
diff --git a/asm/beta_beat_up.s b/asm/beta_beat_up.s deleted file mode 100755 index d6e1ba675..000000000 --- a/asm/beta_beat_up.s +++ /dev/null @@ -1,63 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - @ beta_beat_up - - thumb_func_start sub_80D6234 -sub_80D6234: @ 80D6234 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080D6254 @ =gBattleAnimBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080D625C - ldr r0, _080D6258 @ =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r0, [r0] - subs r1, r0 - strh r1, [r4, 0x20] - b _080D6266 - .align 2, 0 -_080D6254: .4byte gBattleAnimBankAttacker -_080D6258: .4byte gBattleAnimArgs -_080D625C: - ldr r0, _080D6270 @ =gBattleAnimArgs - ldrh r0, [r0] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] -_080D6266: - ldr r0, _080D6274 @ =sub_80D6278 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D6270: .4byte gBattleAnimArgs -_080D6274: .4byte sub_80D6278 - thumb_func_end sub_80D6234 - - thumb_func_start sub_80D6278 -sub_80D6278: @ 80D6278 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080D628E - adds r0, r2, 0 - bl move_anim_8074EE0 -_080D628E: - pop {r0} - bx r0 - thumb_func_end sub_80D6278 - - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 22c01bac3..bc5df01bf 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -285,7 +285,7 @@ SECTIONS { src/battle/anim/wisp_orb.o(.text); asm/wisp_fire.o(.text); src/battle/anim/thunder.o(.text); - asm/beta_beat_up.o(.text); + src/battle/anim/beta_beat_up.o(.text); src/battle/anim/shock.o(.text); asm/current.o(.text); asm/ice.o(.text); diff --git a/src/battle/anim/beta_beat_up.c b/src/battle/anim/beta_beat_up.c new file mode 100644 index 000000000..499e52a80 --- /dev/null +++ b/src/battle/anim/beta_beat_up.c @@ -0,0 +1,34 @@ +#include "global.h" +#include "battle_anim.h" +#include "rom_8077ABC.h" +#include "trig.h" + +extern s16 gBattleAnimArgs[8]; +extern u8 gBattleAnimBankAttacker; +extern u8 gBattleAnimBankTarget; + +static void sub_80D6278(struct Sprite *); + +// beta_beat_up + +void sub_80D6234(struct Sprite *sprite) +{ + if (GetBankSide(gBattleAnimBankAttacker) != 0) + { + sprite->pos1.x -= gBattleAnimArgs[0]; + } + else + { + sprite->pos1.x += gBattleAnimArgs[0]; + } + + sprite->callback = sub_80D6278; +} + +static void sub_80D6278(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + { + move_anim_8074EE0(sprite); + } +} |