summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Willems (M17.1) <progreon@gmail.com>2018-01-07 23:12:28 +0100
committerMarco Willems (M17.1) <progreon@gmail.com>2018-01-07 23:12:28 +0100
commite99816d2082d009457105a5e74524f97b80661c0 (patch)
treeab609d8dd50eca2dd4b94d79a404f9406a0748e2
parent589df520baf710078abf2756d35662bda944861c (diff)
Decompiled sub_812B108
-rw-r--r--asm/battle_anim_sfx.s69
-rw-r--r--src/battle/anim/sfx.c22
2 files changed, 22 insertions, 69 deletions
diff --git a/asm/battle_anim_sfx.s b/asm/battle_anim_sfx.s
index 4e92cfcee..1d0358bee 100644
--- a/asm/battle_anim_sfx.s
+++ b/asm/battle_anim_sfx.s
@@ -5,75 +5,6 @@
.text
- thumb_func_start sub_812B108
-sub_812B108: @ 812B108
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0812B14C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x20]
- adds r1, r0, 0x1
- strh r1, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _0812B150
- movs r0, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x8]
- movs r1, 0x1E
- ldrsb r1, [r4, r1]
- bl PlaySE12WithPanning
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bne _0812B150
- adds r0, r5, 0
- bl DestroyAnimSoundTask
- b _0812B182
- .align 2, 0
-_0812B14C: .4byte gTasks
-_0812B150:
- ldr r1, _0812B188 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _0812B182
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0xE]
- ldrh r1, [r4, 0x1E]
- adds r0, r1
- strh r0, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- bl sub_8077104
- strh r0, [r4, 0x1E]
-_0812B182:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0812B188: .4byte gTasks
- thumb_func_end sub_812B108
-
thumb_func_start sub_812B18C
sub_812B18C: @ 812B18C
push {r4-r6,lr}
diff --git a/src/battle/anim/sfx.c b/src/battle/anim/sfx.c
index e7e3c867e..981022f1e 100644
--- a/src/battle/anim/sfx.c
+++ b/src/battle/anim/sfx.c
@@ -251,3 +251,25 @@ _0812B104: .4byte sub_812B108\n\
.syntax divided\n");
}
#endif // NONMATCHING
+
+void sub_812B108(u8 taskId)
+{
+ if (TASK.data[12]++ == TASK.data[6])
+ {
+ TASK.data[12] = 0;
+ PlaySE12WithPanning(TASK.data[0], TASK.data[11]);
+
+ if (--TASK.data[4] == 0)
+ {
+ DestroyAnimSoundTask(taskId);
+ return;
+ }
+ }
+
+ if (TASK.data[10]++ == TASK.data[5])
+ {
+ TASK.data[10] = 0;
+ TASK.data[11] += TASK.data[3];
+ TASK.data[11] = sub_8077104(TASK.data[11]);
+ }
+}