diff options
Diffstat (limited to 'asm/battle_anim_sfx.s')
-rw-r--r-- | asm/battle_anim_sfx.s | 677 |
1 files changed, 677 insertions, 0 deletions
diff --git a/asm/battle_anim_sfx.s b/asm/battle_anim_sfx.s new file mode 100644 index 000000000..520c119cb --- /dev/null +++ b/asm/battle_anim_sfx.s @@ -0,0 +1,677 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_812AF30 +sub_812AF30: @ 812AF30 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0812AF8C @ =gTasks + lsls r6, r0, 2 + adds r6, r0 + lsls r6, 3 + adds r6, r1 + ldr r1, _0812AF90 @ =gBattleAnimArgs + ldrh r0, [r1] + strh r0, [r6, 0x8] + ldrh r0, [r1, 0x2] + strh r0, [r6, 0xA] + movs r0, 0x40 + negs r0, r0 + bl BattleAnimAdjustPanning + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x3F + bl BattleAnimAdjustPanning + adds r5, r0, 0 + lsls r4, 24 + asrs r4, 24 + lsls r5, 24 + asrs r5, 24 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0x2 + bl CalculatePanIncrement + strh r4, [r6, 0xC] + strh r5, [r6, 0xE] + lsls r0, 24 + asrs r0, 24 + strh r0, [r6, 0x10] + movs r0, 0xA + strh r0, [r6, 0x1C] + ldr r0, _0812AF94 @ =sub_812AF98 + str r0, [r6] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0812AF8C: .4byte gTasks +_0812AF90: .4byte gBattleAnimArgs +_0812AF94: .4byte sub_812AF98 + thumb_func_end sub_812AF30 + + thumb_func_start sub_812AF98 +sub_812AF98: @ 812AF98 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0812AFC8 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r5, [r4, 0xC] + ldrb r6, [r4, 0x10] + ldrh r0, [r4, 0x1E] + adds r0, 0x1 + movs r1, 0 + strh r0, [r4, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6F + bne _0812AFD0 + movs r0, 0x5 + strh r0, [r4, 0x1C] + strh r1, [r4, 0x1E] + ldr r0, _0812AFCC @ =sub_812B004 + str r0, [r4] + b _0812AFFE + .align 2, 0 +_0812AFC8: .4byte gTasks +_0812AFCC: .4byte sub_812B004 +_0812AFD0: + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB + bne _0812AFEA + strh r1, [r4, 0x1C] + ldrh r0, [r4, 0x8] + lsls r1, r5, 24 + asrs r1, 24 + bl PlaySE12WithPanning +_0812AFEA: + lsls r1, r6, 24 + asrs r1, 24 + lsls r0, r5, 16 + asrs r0, 16 + adds r0, r1 + lsls r0, 16 + asrs r0, 16 + bl sub_8077104 + strh r0, [r4, 0xC] +_0812AFFE: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_812AF98 + + thumb_func_start sub_812B004 +sub_812B004: @ 812B004 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0812B054 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x6 + bne _0812B04C + movs r0, 0 + strh r0, [r4, 0x1C] + movs r0, 0x3F + bl BattleAnimAdjustPanning + adds r1, r0, 0 + ldrh r0, [r4, 0xA] + lsls r1, 24 + asrs r1, 24 + bl PlaySE12WithPanning + ldrh r0, [r4, 0x1E] + adds r0, 0x1 + strh r0, [r4, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _0812B04C + adds r0, r5, 0 + bl DestroyAnimSoundTask +_0812B04C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0812B054: .4byte gTasks + thumb_func_end sub_812B004 + + thumb_func_start sub_812B058 +sub_812B058: @ 812B058 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + mov r8, r0 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _0812B0FC @ =gBattleAnimArgs + ldrh r1, [r0] + str r1, [sp] + ldrb r5, [r0, 0x4] + ldrb r6, [r0, 0x6] + ldrb r3, [r0, 0x8] + mov r10, r3 + ldrb r7, [r0, 0xA] + ldrb r1, [r0, 0xC] + mov r9, r1 + ldrb r0, [r0, 0x2] + lsls r0, 24 + asrs r0, 24 + bl BattleAnimAdjustPanning + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + asrs r5, 24 + adds r0, r5, 0 + bl BattleAnimAdjustPanning + adds r5, r0, 0 + lsls r4, 24 + asrs r4, 24 + lsls r5, 24 + asrs r5, 24 + lsls r6, 24 + asrs r6, 24 + adds r0, r4, 0 + adds r1, r5, 0 + adds r2, r6, 0 + bl CalculatePanIncrement + ldr r2, _0812B100 @ =gTasks + mov r3, r8 + lsls r1, r3, 2 + add r1, r8 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + mov r6, sp + ldrh r6, [r6] + strh r6, [r1, 0x8] + strh r4, [r1, 0xA] + strh r5, [r1, 0xC] + lsls r0, 24 + asrs r0, 24 + strh r0, [r1, 0xE] + mov r0, r10 + strh r0, [r1, 0x10] + strh r7, [r1, 0x12] + mov r3, r9 + strh r3, [r1, 0x14] + strh r2, [r1, 0x1C] + strh r4, [r1, 0x1E] + strh r3, [r1, 0x20] + ldr r2, _0812B104 @ =sub_812B108 + str r2, [r1] + mov r0, r8 + bl _call_via_r2 + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0812B0FC: .4byte gBattleAnimArgs +_0812B100: .4byte gTasks +_0812B104: .4byte sub_812B108 + thumb_func_end sub_812B058 + + 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} + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + movs r0, 0x40 + negs r0, r0 + bl BattleAnimAdjustPanning + lsls r0, 24 + lsrs r6, r0, 24 + bl IsContest + lsls r0, 24 + cmp r0, 0 + beq _0812B1CC + ldr r0, _0812B1BC @ =gBattleAnimArgs + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _0812B1C4 + ldr r0, _0812B1C0 @ =gSharedMem + 0x19348 + ldrh r4, [r0] + b _0812B272 + .align 2, 0 +_0812B1BC: .4byte gBattleAnimArgs +_0812B1C0: .4byte gSharedMem + 0x19348 +_0812B1C4: + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _0812B272 +_0812B1CC: + ldr r0, _0812B1E0 @ =gBattleAnimArgs + movs r2, 0 + ldrsh r1, [r0, r2] + adds r2, r0, 0 + cmp r1, 0 + bne _0812B1E8 + ldr r0, _0812B1E4 @ =gAnimBankAttacker + ldrb r4, [r0] + b _0812B20E + .align 2, 0 +_0812B1E0: .4byte gBattleAnimArgs +_0812B1E4: .4byte gAnimBankAttacker +_0812B1E8: + cmp r1, 0x1 + bne _0812B1F8 + ldr r0, _0812B1F4 @ =gAnimBankTarget + ldrb r4, [r0] + b _0812B20E + .align 2, 0 +_0812B1F4: .4byte gAnimBankTarget +_0812B1F8: + cmp r1, 0x2 + bne _0812B204 + ldr r0, _0812B200 @ =gAnimBankAttacker + b _0812B206 + .align 2, 0 +_0812B200: .4byte gAnimBankAttacker +_0812B204: + ldr r0, _0812B230 @ =gAnimBankTarget +_0812B206: + ldrb r1, [r0] + movs r0, 0x2 + adds r4, r0, 0 + eors r4, r1 +_0812B20E: + movs r1, 0 + ldrsh r0, [r2, r1] + cmp r0, 0x1 + beq _0812B21A + cmp r0, 0x3 + bne _0812B234 +_0812B21A: + adds r0, r4, 0 + bl IsAnimBankSpriteVisible + lsls r0, 24 + cmp r0, 0 + bne _0812B234 + adds r0, r5, 0 + bl DestroyAnimVisualTask + b _0812B2B0 + .align 2, 0 +_0812B230: .4byte gAnimBankTarget +_0812B234: + adds r0, r4, 0 + bl GetBankSide + lsls r0, 24 + cmp r0, 0 + beq _0812B258 + ldr r1, _0812B250 @ =gBattlePartyID + lsls r0, r4, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0812B254 @ =gEnemyParty + b _0812B266 + .align 2, 0 +_0812B250: .4byte gBattlePartyID +_0812B254: .4byte gEnemyParty +_0812B258: + ldr r1, _0812B290 @ =gBattlePartyID + lsls r0, r4, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0812B294 @ =gPlayerParty +_0812B266: + adds r0, r1 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r4, r0, 16 +_0812B272: + cmp r4, 0 + beq _0812B2AA + ldr r0, _0812B298 @ =gBattleAnimArgs + ldrh r2, [r0, 0x2] + movs r1, 0x2 + ldrsh r0, [r0, r1] + cmp r0, 0xFF + bne _0812B29C + lsls r1, r6, 24 + asrs r1, 24 + adds r0, r4, 0 + bl PlayCry1 + b _0812B2AA + .align 2, 0 +_0812B290: .4byte gBattlePartyID +_0812B294: .4byte gPlayerParty +_0812B298: .4byte gBattleAnimArgs +_0812B29C: + lsls r1, r6, 24 + asrs r1, 24 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + bl PlayCry3 +_0812B2AA: + adds r0, r5, 0 + bl DestroyAnimVisualTask +_0812B2B0: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_812B18C + + thumb_func_start sub_812B2B8 +sub_812B2B8: @ 812B2B8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r0, 0x40 + negs r0, r0 + bl BattleAnimAdjustPanning + lsls r0, 24 + lsrs r4, r0, 24 + bl IsContest + lsls r0, 24 + cmp r0, 0 + beq _0812B2DC + ldr r0, _0812B2D8 @ =gSharedMem + 0x19348 + b _0812B2E6 + .align 2, 0 +_0812B2D8: .4byte gSharedMem + 0x19348 +_0812B2DC: + ldr r1, _0812B304 @ =gAnimSpeciesByBanks + ldr r0, _0812B308 @ =gAnimBankAttacker + ldrb r0, [r0] + lsls r0, 1 + adds r0, r1 +_0812B2E6: + ldrh r0, [r0] + cmp r0, 0 + beq _0812B2F6 + lsls r1, r4, 24 + asrs r1, 24 + movs r2, 0x4 + bl PlayCry3 +_0812B2F6: + adds r0, r5, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0812B304: .4byte gAnimSpeciesByBanks +_0812B308: .4byte gAnimBankAttacker + thumb_func_end sub_812B2B8 + + thumb_func_start sub_812B30C +sub_812B30C: @ 812B30C + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0812B33C @ =gBattleAnimArgs + ldrh r5, [r0] + ldrb r0, [r0, 0x2] + lsls r0, 24 + asrs r0, 24 + bl BattleAnimAdjustPanning + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + adds r0, r5, 0 + bl PlaySE1WithPanning + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0812B33C: .4byte gBattleAnimArgs + thumb_func_end sub_812B30C + + thumb_func_start sub_812B340 +sub_812B340: @ 812B340 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0812B370 @ =gBattleAnimArgs + ldrh r5, [r0] + ldrb r0, [r0, 0x2] + lsls r0, 24 + asrs r0, 24 + bl BattleAnimAdjustPanning + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + adds r0, r5, 0 + bl PlaySE2WithPanning + adds r0, r4, 0 + bl DestroyAnimVisualTask + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0812B370: .4byte gBattleAnimArgs + thumb_func_end sub_812B340 + + thumb_func_start sub_812B374 +sub_812B374: @ 812B374 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + mov r8, r0 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _0812B3F8 @ =gBattleAnimArgs + ldrb r5, [r0, 0x2] + ldrb r6, [r0, 0x4] + ldrh r1, [r0, 0x6] + mov r9, r1 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + bl BattleAnimAdjustPanning + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r5, 24 + asrs r5, 24 + adds r0, r5, 0 + bl BattleAnimAdjustPanning + adds r5, r0, 0 + lsls r4, 24 + asrs r4, 24 + lsls r5, 24 + asrs r5, 24 + lsls r6, 24 + asrs r6, 24 + adds r0, r4, 0 + adds r1, r5, 0 + adds r2, r6, 0 + bl CalculatePanIncrement + ldr r2, _0812B3FC @ =gTasks + mov r3, r8 + lsls r1, r3, 2 + add r1, r8 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r4, [r1, 0xA] + strh r5, [r1, 0xC] + lsls r0, 24 + asrs r0, 24 + strh r0, [r1, 0xE] + mov r0, r9 + strh r0, [r1, 0x12] + strh r2, [r1, 0x1C] + strh r4, [r1, 0x1E] + ldr r2, _0812B400 @ =sub_812B404 + str r2, [r1] + mov r0, r8 + bl _call_via_r2 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0812B3F8: .4byte gBattleAnimArgs +_0812B3FC: .4byte gTasks +_0812B400: .4byte sub_812B404 + thumb_func_end sub_812B374 + + thumb_func_start sub_812B404 +sub_812B404: @ 812B404 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _0812B45C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r2, [r4, 0xE] + ldrh r0, [r4, 0x1C] + adds r1, r0, 0x1 + strh r1, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + movs r3, 0x12 + ldrsh r1, [r4, r3] + cmp r0, r1 + bne _0812B43E + movs r0, 0 + strh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + adds r0, r2, r1 + strh r0, [r4, 0x1E] + movs r2, 0x1E + ldrsh r0, [r4, r2] + bl sub_8077104 + strh r0, [r4, 0x1E] +_0812B43E: + ldr r1, _0812B460 @ =gUnknown_0202F7D2 + ldrh r0, [r4, 0x1E] + strb r0, [r1] + movs r3, 0x1E + ldrsh r1, [r4, r3] + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _0812B456 + adds r0, r5, 0 + bl DestroyAnimVisualTask +_0812B456: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0812B45C: .4byte gTasks +_0812B460: .4byte gUnknown_0202F7D2 + thumb_func_end sub_812B404 + + .align 2, 0 @ Don't pad with nop. +
\ No newline at end of file |