summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-12-19 10:01:24 -0600
committerMarcus Huderle <huderlem@gmail.com>2017-12-19 10:01:24 -0600
commit1e40c9572a59aa1a178ba634a5b130bb7b511a04 (patch)
tree675a5bdd010485ff98a32a37a40ef65b570adaa3
parent9d648402ebc070e9f3f0ab245d667e30bf8e54b2 (diff)
Decompile battle_anim fury_cutter_count
-rwxr-xr-xasm/fury_cutter_count.s48
-rw-r--r--data/battle_anim_scripts.s4
-rw-r--r--ld_script.txt2
-rw-r--r--src/battle/anim/fury_cutter_count.c20
4 files changed, 23 insertions, 51 deletions
diff --git a/asm/fury_cutter_count.s b/asm/fury_cutter_count.s
deleted file mode 100755
index 10444b254..000000000
--- a/asm/fury_cutter_count.s
+++ /dev/null
@@ -1,48 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- @ fury_cutter_count
-
- thumb_func_start sub_80D30AC
-sub_80D30AC: @ 80D30AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080D30C8 @ =gBattleAnimArgs
- ldr r1, _080D30CC @ =gDisableStructMoveAnim
- ldr r1, [r1]
- ldrb r2, [r1, 0x10]
- movs r1, 0x1
- ands r1, r2
- strh r1, [r3, 0xE]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080D30C8: .4byte gBattleAnimArgs
-_080D30CC: .4byte gDisableStructMoveAnim
- thumb_func_end sub_80D30AC
-
- thumb_func_start update_fury_cutter_counter_copy
-update_fury_cutter_counter_copy: @ 80D30D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080D30E8 @ =gBattleAnimArgs
- ldr r1, _080D30EC @ =gDisableStructMoveAnim
- ldr r1, [r1]
- ldrb r1, [r1, 0x10]
- strh r1, [r2, 0xE]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .align 2, 0
-_080D30E8: .4byte gBattleAnimArgs
-_080D30EC: .4byte gDisableStructMoveAnim
- thumb_func_end update_fury_cutter_counter_copy
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s
index de3d354ce..5e5293e63 100644
--- a/data/battle_anim_scripts.s
+++ b/data/battle_anim_scripts.s
@@ -1416,11 +1416,11 @@ Move_FURY_CUTTER: @ 81C914A
monbg 1
setalpha 12, 8
panse_19 SE_W013, 63
- createtask sub_80D30AC, 2
+ createtask UpdateFuryCutterAnimDirection, 2
jumpvareq 7, 0, _81C91A7
jump _81C91B9
_81C916A:
- createtask update_fury_cutter_counter_copy, 2
+ createtask UpdateFuryCutterAnimCount, 2
jumpvareq 7, 1, _81C918E
jumpvareq 7, 2, _81C91CB
jumpvareq 7, 3, _81C91E5
diff --git a/ld_script.txt b/ld_script.txt
index 636c31416..43c714c21 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -271,7 +271,7 @@ SECTIONS {
src/battle/anim/noise.o(.text);
src/battle/anim/note_spin.o(.text);
src/battle/anim/guard.o(.text);
- asm/fury_cutter_count.o(.text);
+ src/battle/anim/fury_cutter_count.o(.text);
asm/rain.o(.text);
src/battle/anim/bubble.o(.text);
src/battle/anim/aurora.o(.text);
diff --git a/src/battle/anim/fury_cutter_count.c b/src/battle/anim/fury_cutter_count.c
new file mode 100644
index 000000000..17b084585
--- /dev/null
+++ b/src/battle/anim/fury_cutter_count.c
@@ -0,0 +1,20 @@
+#include "global.h"
+#include "battle_anim.h"
+
+extern s16 gBattleAnimArgs[8];
+extern u8 *gDisableStructMoveAnim; // TODO: this is declared with a different type in different files
+
+// fury_cutter (updates the direction and count of the fury cutter animation)
+// Used in Fury Cutter.
+
+void UpdateFuryCutterAnimDirection(u8 taskId)
+{
+ gBattleAnimArgs[7] = gDisableStructMoveAnim[16] & 1;
+ DestroyAnimVisualTask(taskId);
+}
+
+void UpdateFuryCutterAnimCount(u8 taskId)
+{
+ gBattleAnimArgs[7] = gDisableStructMoveAnim[16];
+ DestroyAnimVisualTask(taskId);
+}