diff options
author | ultima-soul <akshayjhanji@hotmail.com> | 2019-04-07 18:36:10 -0700 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2019-04-08 17:29:44 -0500 |
commit | 2c432c314a95b5c48f411075fb6f2ff62fa69617 (patch) | |
tree | f8f4afb4e2be5b90702a2cfff5d962014e45e5fa /src | |
parent | 92851ba4e60bcd3710b9db89d3f588833e591531 (diff) |
Match sub_8159308
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_anim.c | 2 | ||||
-rw-r--r-- | src/battle_anim_sound_tasks.c | 71 |
2 files changed, 13 insertions, 60 deletions
diff --git a/src/battle_anim.c b/src/battle_anim.c index a667c6177..b265bf7bc 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -2936,7 +2936,7 @@ s8 BattleAnimAdjustPanning2(s8 pan) return pan; } -s16 KeepPanInRange(s16 panArg) +s16 KeepPanInRange(s16 panArg, int oldPan) { s16 pan = panArg; diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index e5f0cd165..8f90a6a16 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -53,7 +53,7 @@ static void sub_8158B98(u8 taskId) PlaySE12WithPanning(gTasks[taskId].data[0], pan); } pan += panIncrement; - gTasks[taskId].data[2] = KeepPanInRange(pan); + gTasks[taskId].data[2] = KeepPanInRange(pan, panIncrement); } } @@ -116,9 +116,12 @@ static void sub_8158D08(u8 taskId) if (gTasks[taskId].data[10]++ == gTasks[taskId].data[5]) { + u16 dPan, oldPan; gTasks[taskId].data[10] = 0; - gTasks[taskId].data[11] += gTasks[taskId].data[3]; - gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11]); + dPan = gTasks[taskId].data[3]; + oldPan = gTasks[taskId].data[11] ; + gTasks[taskId].data[11] = dPan + oldPan; + gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan); } } // task end @@ -368,71 +371,21 @@ void sub_8159278(u8 taskId) sub_8159308(taskId); } -#ifdef NONMATCHING void sub_8159308(u8 taskId) { - s16 panIncrement = gTasks[taskId].data[3]; + u16 panIncrement = gTasks[taskId].data[3]; if (gTasks[taskId].data[10]++ == gTasks[taskId].data[5]) { + u16 oldPan; gTasks[taskId].data[10] = 0; - - gTasks[taskId].data[11] += panIncrement; - gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11]); + oldPan = gTasks[taskId].data[11]; + gTasks[taskId].data[11] = panIncrement + oldPan; + gTasks[taskId].data[11] = KeepPanInRange(gTasks[taskId].data[11], oldPan); } gUnknown_02038440 = gTasks[taskId].data[11]; if (gTasks[taskId].data[11] == gTasks[taskId].data[2]) DestroyAnimVisualTask(taskId); } -#else -NAKED -void sub_8159308(u8 taskId) -{ - asm_unified(" push {r4,r5,lr}\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - adds r5, r0, 0\n\ - ldr r1, =gTasks\n\ - lsls r0, r5, 2\n\ - adds r0, r5\n\ - lsls r0, 3\n\ - adds r4, r0, r1\n\ - ldrh r2, [r4, 0xE]\n\ - ldrh r0, [r4, 0x1C]\n\ - adds r1, r0, 0x1\n\ - strh r1, [r4, 0x1C]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r3, 0x12\n\ - ldrsh r1, [r4, r3]\n\ - cmp r0, r1\n\ - bne _08159342\n\ - movs r0, 0\n\ - strh r0, [r4, 0x1C]\n\ - ldrh r1, [r4, 0x1E]\n\ - adds r0, r2, r1\n\ - strh r0, [r4, 0x1E]\n\ - movs r2, 0x1E\n\ - ldrsh r0, [r4, r2]\n\ - bl KeepPanInRange\n\ - strh r0, [r4, 0x1E]\n\ -_08159342:\n\ - ldr r1, =gUnknown_02038440\n\ - ldrh r0, [r4, 0x1E]\n\ - strb r0, [r1]\n\ - movs r3, 0x1E\n\ - ldrsh r1, [r4, r3]\n\ - movs r2, 0xC\n\ - ldrsh r0, [r4, r2]\n\ - cmp r1, r0\n\ - bne _0815935A\n\ - adds r0, r5, 0\n\ - bl DestroyAnimVisualTask\n\ -_0815935A:\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif + |