diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_anim_812C144.s | 1835 |
1 files changed, 0 insertions, 1835 deletions
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s index 6264b1ead..6345d9d3b 100644 --- a/asm/battle_anim_812C144.s +++ b/asm/battle_anim_812C144.s @@ -5,1841 +5,6 @@ .text - thumb_func_start sub_812CA04 -sub_812CA04: @ 812CA04 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bhi _0812CAC4 - lsls r0, 2 - ldr r1, _0812CA1C @ =_0812CA20 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812CA1C: .4byte _0812CA20 - .align 2, 0 -_0812CA20: - .4byte _0812CA38 - .4byte _0812CA56 - .4byte _0812CA76 - .4byte _0812CA56 - .4byte _0812CA96 - .4byte _0812CAA6 -_0812CA38: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812CAC4 - b _0812CA9E -_0812CA56: - ldrh r0, [r4, 0x30] - adds r0, 0x75 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _0812CAC4 - movs r0, 0 - strh r0, [r4, 0x32] - b _0812CA9E -_0812CA76: - ldrh r0, [r4, 0x30] - subs r0, 0x75 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x29 - bne _0812CAC4 - movs r0, 0 - strh r0, [r4, 0x32] - b _0812CA9E -_0812CA96: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim -_0812CA9E: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0812CAC4 -_0812CAA6: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0812CAC4 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812CACC @ =sub_812CAD0 - str r0, [r4, 0x1C] -_0812CAC4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CACC: .4byte sub_812CAD0 - thumb_func_end sub_812CA04 - - thumb_func_start sub_812CAD0 -sub_812CAD0: @ 812CAD0 - push {r4,lr} - ldr r2, _0812CAF4 @ =REG_WINOUT - ldr r3, _0812CAF8 @ =0x00003f3f - adds r1, r3, 0 - strh r1, [r2] - movs r3, 0x80 - lsls r3, 19 - ldrh r1, [r3] - movs r4, 0x80 - lsls r4, 8 - adds r2, r4, 0 - eors r1, r2 - strh r1, [r3] - bl DestroyAnimSprite - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CAF4: .4byte REG_WINOUT -_0812CAF8: .4byte 0x00003f3f - thumb_func_end sub_812CAD0 - - thumb_func_start sub_812CAFC -sub_812CAFC: @ 812CAFC - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _0812CB70 @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0812CB28 - ldr r4, _0812CB74 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] -_0812CB28: - ldrh r0, [r6] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r3, 0 - strh r0, [r5, 0x20] - ldrh r0, [r6, 0x2] - ldrh r4, [r5, 0x22] - adds r0, r4 - strh r0, [r5, 0x22] - ldrh r2, [r5, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r4, _0812CB78 @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _0812CB7C @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0812CB84 - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x3] - ldr r0, _0812CB80 @ =0x0000fff4 - strh r0, [r5, 0x24] - movs r0, 0x2 - b _0812CB8A - .align 2, 0 -_0812CB70: .4byte gBattleAnimArgs -_0812CB74: .4byte gAnimBankAttacker -_0812CB78: .4byte 0x000003ff -_0812CB7C: .4byte 0xfffffc00 -_0812CB80: .4byte 0x0000fff4 -_0812CB84: - movs r0, 0xC - strh r0, [r5, 0x24] - ldr r0, _0812CBA8 @ =0x0000fffe -_0812CB8A: - strh r0, [r5, 0x30] - ldr r1, _0812CBAC @ =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x2E] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0xFF - beq _0812CB9E - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x34] -_0812CB9E: - ldr r0, _0812CBB0 @ =sub_812CBB4 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812CBA8: .4byte 0x0000fffe -_0812CBAC: .4byte gBattleAnimArgs -_0812CBB0: .4byte sub_812CBB4 - thumb_func_end sub_812CAFC - - thumb_func_start sub_812CBB4 -sub_812CBB4: @ 812CBB4 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812CBF2 - ldrh r0, [r4, 0x30] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _0812CC12 - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812CC12 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xDE - bl PlaySE1WithPanning - b _0812CC12 -_0812CBF2: - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x30] - subs r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x24 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _0812CC04 - negs r0, r0 -_0812CC04: - cmp r0, 0xC - bne _0812CC12 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - subs r0, r2, 0x1 - strh r0, [r4, 0x32] -_0812CC12: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812CC20 - adds r0, r4, 0 - bl DestroyAnimSprite -_0812CC20: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812CBB4 - - thumb_func_start sub_812CC28 -sub_812CC28: @ 812CC28 - push {lr} - ldrb r2, [r0, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - movs r1, 0xFF - strh r1, [r0, 0x34] - bl sub_812CAFC - pop {r0} - bx r0 - thumb_func_end sub_812CC28 - - thumb_func_start sub_812CC44 -sub_812CC44: @ 812CC44 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0812CC7A - ldr r1, _0812CC88 @ =REG_WININ - ldr r2, _0812CC8C @ =0x00001f3f - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0812CC90 @ =gBattle_WIN1H - ldr r2, _0812CC94 @ =0x000098f0 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0812CC98 @ =gBattle_WIN1V - movs r0, 0xA0 - strh r0, [r1] - ldr r1, _0812CC9C @ =REG_WIN1H - ldr r0, _0812CCA0 @ =gBattle_WIN0H - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x4 - ldr r0, _0812CCA4 @ =gBattle_WIN0V - ldrh r0, [r0] - strh r0, [r1] -_0812CC7A: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CC88: .4byte REG_WININ -_0812CC8C: .4byte 0x00001f3f -_0812CC90: .4byte gBattle_WIN1H -_0812CC94: .4byte 0x000098f0 -_0812CC98: .4byte gBattle_WIN1V -_0812CC9C: .4byte REG_WIN1H -_0812CCA0: .4byte gBattle_WIN0H -_0812CCA4: .4byte gBattle_WIN0V - thumb_func_end sub_812CC44 - - thumb_func_start sub_812CCA8 -sub_812CCA8: @ 812CCA8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0812CCCA - ldr r1, _0812CCD8 @ =REG_WININ - ldr r2, _0812CCDC @ =0x00003f3f - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0812CCE0 @ =gBattle_WIN1H - movs r1, 0 - strh r1, [r0] - ldr r0, _0812CCE4 @ =gBattle_WIN1V - strh r1, [r0] -_0812CCCA: - adds r0, r4, 0 - bl DestroyAnimVisualTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812CCD8: .4byte REG_WININ -_0812CCDC: .4byte 0x00003f3f -_0812CCE0: .4byte gBattle_WIN1H -_0812CCE4: .4byte gBattle_WIN1V - thumb_func_end sub_812CCA8 - - thumb_func_start sub_812CCE8 -sub_812CCE8: @ 812CCE8 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _0812CCFC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0812CD04 - ldr r4, _0812CD00 @ =gAnimBankAttacker - b _0812CD06 - .align 2, 0 -_0812CCFC: .4byte gBattleAnimArgs -_0812CD00: .4byte gAnimBankAttacker -_0812CD04: - ldr r4, _0812CD58 @ =gAnimBankTarget -_0812CD06: - ldrb r0, [r4] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x2] - adds r0, r6 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r2, _0812CD5C @ =gBattleAnimArgs - ldrh r0, [r2, 0x4] - strh r0, [r5, 0x26] - movs r3, 0 - lsls r0, 16 - asrs r0, 16 - ldrh r4, [r2, 0x6] - movs r6, 0x6 - ldrsh r1, [r2, r6] - cmp r0, r1 - ble _0812CD3E - movs r3, 0x1 -_0812CD3E: - strh r3, [r5, 0x2E] - movs r0, 0 - strh r0, [r5, 0x30] - ldrh r0, [r2, 0x8] - strh r0, [r5, 0x32] - ldrh r0, [r2, 0xA] - strh r0, [r5, 0x34] - strh r4, [r5, 0x36] - ldr r0, _0812CD60 @ =sub_812CD64 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812CD58: .4byte gAnimBankTarget -_0812CD5C: .4byte gBattleAnimArgs -_0812CD60: .4byte sub_812CD64 - thumb_func_end sub_812CCE8 - - thumb_func_start sub_812CD64 -sub_812CD64: @ 812CD64 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r2, 0x30] - ldr r1, _0812CDAC @ =gSineTable - movs r3, 0x30 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x26] - adds r1, r0, r3 - strh r1, [r2, 0x26] - movs r3, 0x2E - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _0812CDB0 - lsls r0, r1, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - bge _0812CDC2 - adds r0, r2, 0 - bl DestroyAnimSprite - b _0812CDC2 - .align 2, 0 -_0812CDAC: .4byte gSineTable -_0812CDB0: - lsls r0, r1, 16 - asrs r0, 16 - movs r3, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - ble _0812CDC2 - adds r0, r2, 0 - bl DestroyAnimSprite -_0812CDC2: - pop {r0} - bx r0 - thumb_func_end sub_812CD64 - - thumb_func_start sub_812CDC8 -sub_812CDC8: @ 812CDC8 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0812CDE8 @ =gTasks - adds r5, r1, r0 - ldr r0, _0812CDEC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0812CDF4 - ldr r4, _0812CDF0 @ =gAnimBankAttacker - b _0812CDF6 - .align 2, 0 -_0812CDE8: .4byte gTasks -_0812CDEC: .4byte gBattleAnimArgs -_0812CDF0: .4byte gAnimBankAttacker -_0812CDF4: - ldr r4, _0812CE3C @ =gAnimBankTarget -_0812CDF6: - ldrb r0, [r4] - bl sub_8077FC0 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl GetBattlerPosition_permutated - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r6, 0 - adds r1, r0, 0 - adds r1, 0x24 - movs r2, 0 - strh r1, [r5, 0x8] - strh r1, [r5, 0xA] - subs r0, 0x21 - strh r0, [r5, 0xC] - cmp r0, 0 - bge _0812CE20 - strh r2, [r5, 0xC] -_0812CE20: - ldrh r0, [r5, 0x8] - strh r0, [r5, 0xE] - movs r0, 0x8 - strh r0, [r5, 0x10] - ldr r1, _0812CE40 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - strh r0, [r5, 0x12] - strh r2, [r5, 0x14] - strh r2, [r5, 0x16] - cmp r7, 0x1 - bne _0812CE48 - ldr r0, _0812CE44 @ =gBattle_BG1_X - b _0812CE4A - .align 2, 0 -_0812CE3C: .4byte gAnimBankTarget -_0812CE40: .4byte gBattleAnimArgs -_0812CE44: .4byte gBattle_BG1_X -_0812CE48: - ldr r0, _0812CE68 @ =gBattle_BG2_X -_0812CE4A: - ldrh r2, [r0] - strh r2, [r5, 0x18] - adds r3, r2, 0 - adds r3, 0xF0 - strh r3, [r5, 0x1A] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x1C] - movs r4, 0x4 - ldrsh r0, [r1, r4] - cmp r0, 0 - bne _0812CE6C - strh r3, [r5, 0x1E] - ldrh r3, [r5, 0x18] - b _0812CE70 - .align 2, 0 -_0812CE68: .4byte gBattle_BG2_X -_0812CE6C: - strh r2, [r5, 0x1E] - ldrh r3, [r5, 0x1A] -_0812CE70: - movs r0, 0 - strh r0, [r5, 0x26] - ldrh r1, [r5, 0xC] - lsls r2, r1, 16 - asrs r1, r2, 16 - movs r6, 0xE - ldrsh r0, [r5, r6] - cmp r1, r0 - bgt _0812CEA6 - ldr r4, _0812CEB0 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r0, r4 - mov r12, r0 -_0812CE8C: - asrs r2, 16 - lsls r1, r2, 1 - adds r0, r1, r4 - strh r3, [r0] - add r1, r12 - strh r3, [r1] - adds r2, 0x1 - lsls r2, 16 - asrs r1, r2, 16 - movs r6, 0xE - ldrsh r0, [r5, r6] - cmp r1, r0 - ble _0812CE8C -_0812CEA6: - cmp r7, 0x1 - bne _0812CEB8 - ldr r0, _0812CEB4 @ =REG_BG1HOFS - b _0812CEBA - .align 2, 0 -_0812CEB0: .4byte gScanlineEffectRegBuffers -_0812CEB4: .4byte REG_BG1HOFS -_0812CEB8: - ldr r0, _0812CEE4 @ =REG_BG2HOFS -_0812CEBA: - str r0, [sp] - ldr r0, _0812CEE8 @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r2, 0 - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - strb r2, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - ldr r0, _0812CEEC @ =sub_812CEF0 - str r0, [r5] - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812CEE4: .4byte REG_BG2HOFS -_0812CEE8: .4byte 0xa2600001 -_0812CEEC: .4byte sub_812CEF0 - thumb_func_end sub_812CDC8 - - thumb_func_start sub_812CEF0 -sub_812CEF0: @ 812CEF0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _0812CF40 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0xC] - movs r3, 0xC - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0812CF18 - strh r2, [r4, 0x8] -_0812CF18: - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0812CF44 - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r4, 0xC] - movs r3, 0xC - ldrsh r1, [r4, r3] - cmp r0, r1 - bge _0812CF48 - strh r2, [r4, 0xA] - movs r0, 0x1 - strh r0, [r4, 0x26] - b _0812CF48 - .align 2, 0 -_0812CF40: .4byte gTasks -_0812CF44: - subs r0, r1, 0x1 - strh r0, [r4, 0x10] -_0812CF48: - ldrh r0, [r4, 0x14] - adds r0, 0x1 - strh r0, [r4, 0x14] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0812CF74 - movs r0, 0 - strh r0, [r4, 0x14] - movs r1, 0 - movs r2, 0x16 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0812CF66 - movs r1, 0x1 -_0812CF66: - strh r1, [r4, 0x16] - cmp r1, 0 - beq _0812CF70 - ldrh r0, [r4, 0x18] - b _0812CF72 -_0812CF70: - ldrh r0, [r4, 0x1A] -_0812CF72: - strh r0, [r4, 0x20] -_0812CF74: - ldrh r1, [r4, 0x8] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - bge _0812CFA8 - ldr r5, _0812D000 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_0812CF8A: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x20] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x20] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _0812CF8A -_0812CFA8: - ldrh r1, [r4, 0xA] - lsls r3, r1, 16 - asrs r1, r3, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - bgt _0812CFDC - ldr r5, _0812D000 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r6, r5, r0 -_0812CFBE: - asrs r3, 16 - lsls r1, r3, 1 - adds r2, r1, r5 - ldrh r0, [r4, 0x1E] - strh r0, [r2] - adds r1, r6 - ldrh r0, [r4, 0x1E] - strh r0, [r1] - adds r3, 0x1 - lsls r3, 16 - asrs r1, r3, 16 - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - ble _0812CFBE -_0812CFDC: - movs r3, 0x26 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0812CFF8 - movs r1, 0x1C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812CFF2 - ldr r1, _0812D004 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] -_0812CFF2: - adds r0, r7, 0 - bl DestroyAnimVisualTask -_0812CFF8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812D000: .4byte gScanlineEffectRegBuffers -_0812D004: .4byte gScanlineEffect - thumb_func_end sub_812CEF0 - - thumb_func_start sub_812D008 -sub_812D008: @ 812D008 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0812D05C @ =gTasks - adds r4, r0 - movs r5, 0 - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - ldr r6, _0812D060 @ =gAnimBankAttacker - ldrb r0, [r6] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - ldrb r0, [r6] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xE] - movs r0, 0x20 - strh r0, [r4, 0x10] - ldr r0, _0812D064 @ =0x0000ffec - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _0812D068 @ =sub_812D06C - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812D05C: .4byte gTasks -_0812D060: .4byte gAnimBankAttacker -_0812D064: .4byte 0x0000ffec -_0812D068: .4byte sub_812D06C - thumb_func_end sub_812D008 - - thumb_func_start sub_812D06C -sub_812D06C: @ 812D06C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _0812D098 @ =gTasks - adds r6, r0, r1 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0x5 - bls _0812D08C - b _0812D246 -_0812D08C: - lsls r0, 2 - ldr r1, _0812D09C @ =_0812D0A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812D098: .4byte gTasks -_0812D09C: .4byte _0812D0A0 - .align 2, 0 -_0812D0A0: - .4byte _0812D0B8 - .4byte _0812D178 - .4byte _0812D1A6 - .4byte _0812D1BA - .4byte _0812D1D0 - .4byte _0812D238 -_0812D0B8: - movs r0, 0xC - ldrsh r2, [r6, r0] - ldrh r1, [r6, 0xA] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812D0CE - movs r1, 0x10 - ldrsh r0, [r6, r1] - subs r0, r2, r0 - b _0812D0D4 -_0812D0CE: - movs r1, 0x10 - ldrsh r0, [r6, r1] - adds r0, r2, r0 -_0812D0D4: - lsls r0, 16 - lsrs r1, r0, 16 - ldrh r2, [r6, 0x12] - ldrh r0, [r6, 0xE] - adds r2, r0 - ldr r0, _0812D168 @ =gBattleAnimSpriteTemplate_83D7220 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - ldrb r4, [r6, 0xA] - movs r3, 0x6 - subs r3, r4 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x40 - negs r0, r0 - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xBA - bl PlaySE12WithPanning - cmp r4, 0x40 - beq _0812D138 - ldr r5, _0812D16C @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r3, r1, r5 - ldrh r0, [r6, 0xA] - movs r2, 0x1 - ands r2, r0 - adds r3, 0x3F - ldrb r4, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r4 - orrs r0, r2 - strb r0, [r3] - adds r5, 0x1C - adds r1, r5 - ldr r0, _0812D170 @ =SpriteCallbackDummy - str r0, [r1] -_0812D138: - ldrh r1, [r6, 0xA] - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0812D150 - ldrh r0, [r6, 0x10] - subs r0, 0x6 - strh r0, [r6, 0x10] - ldrh r0, [r6, 0x12] - subs r0, 0x6 - strh r0, [r6, 0x12] -_0812D150: - ldrh r1, [r6, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D174 @ =gUnknown_08402400 - adds r0, r6, 0 - bl sub_80798F4 - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - strh r4, [r6, 0x8] - b _0812D246 - .align 2, 0 -_0812D168: .4byte gBattleAnimSpriteTemplate_83D7220 -_0812D16C: .4byte gSprites -_0812D170: .4byte SpriteCallbackDummy -_0812D174: .4byte gUnknown_08402400 -_0812D178: - adds r0, r6, 0 - bl sub_807992C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0812D246 - movs r2, 0xA - ldrsh r1, [r6, r2] - cmp r1, 0x6 - bne _0812D198 - movs r0, 0x8 - strh r0, [r6, 0x14] - movs r0, 0x3 - strh r0, [r6, 0x8] - b _0812D246 -_0812D198: - cmp r1, 0x2 - bgt _0812D19E - movs r0, 0xA -_0812D19E: - strh r0, [r6, 0x14] - movs r0, 0x2 - strh r0, [r6, 0x8] - b _0812D246 -_0812D1A6: - ldrh r0, [r6, 0x14] - movs r2, 0x14 - ldrsh r1, [r6, r2] - cmp r1, 0 - beq _0812D1B6 - subs r0, 0x1 - strh r0, [r6, 0x14] - b _0812D246 -_0812D1B6: - strh r1, [r6, 0x8] - b _0812D246 -_0812D1BA: - ldrh r1, [r6, 0x14] - movs r2, 0x14 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _0812D1CA - subs r0, r1, 0x1 - strh r0, [r6, 0x14] - b _0812D246 -_0812D1CA: - movs r0, 0x4 - strh r0, [r6, 0x8] - b _0812D246 -_0812D1D0: - movs r5, 0 - movs r7, 0 - ldr r3, _0812D22C @ =gSprites - movs r0, 0x1C - adds r0, r3 - mov r8, r0 -_0812D1DC: - lsls r0, r5, 4 - adds r0, r5 - lsls r4, r0, 2 - adds r0, r3, 0 - adds r0, 0x14 - adds r0, r4, r0 - ldr r1, [r0] - ldr r0, _0812D230 @ =gBattleAnimSpriteTemplate_83D7220 - cmp r1, r0 - bne _0812D218 - adds r0, r4, r3 - strh r2, [r0, 0x2E] - movs r1, 0x6 - strh r1, [r0, 0x30] - movs r1, 0x2 - str r2, [sp] - str r3, [sp, 0x4] - bl StartSpriteAnim - mov r0, r8 - adds r1, r4, r0 - ldr r0, _0812D234 @ =sub_812D254 - str r0, [r1] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r2, [sp] - ldr r3, [sp, 0x4] - cmp r7, 0x6 - beq _0812D222 -_0812D218: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3F - bls _0812D1DC -_0812D222: - strh r7, [r6, 0x14] - movs r0, 0x5 - strh r0, [r6, 0x8] - b _0812D246 - .align 2, 0 -_0812D22C: .4byte gSprites -_0812D230: .4byte gBattleAnimSpriteTemplate_83D7220 -_0812D234: .4byte sub_812D254 -_0812D238: - movs r1, 0x14 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0812D246 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_0812D246: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812D06C - - thumb_func_start sub_812D254 -sub_812D254: @ 812D254 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0812D288 - ldr r3, _0812D290 @ =gTasks - movs r0, 0x30 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r3, 0x8 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r0, r4, 0 - bl DestroySprite -_0812D288: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D290: .4byte gTasks - thumb_func_end sub_812D254 - - thumb_func_start sub_812D294 -sub_812D294: @ 812D294 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0812D2A8 - adds r0, r5, 0 - movs r1, 0 - bl InitAnimSpritePos -_0812D2A8: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - bgt _0812D2DA - ldrh r0, [r5, 0x2E] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0812D2CC - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _0812D2D8 -_0812D2CC: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 -_0812D2D8: - strb r0, [r2] -_0812D2DA: - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x1E - ble _0812D2F0 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0812D2F0: - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x3D - bne _0812D33C - ldr r1, _0812D344 @ =DestroyAnimSprite - adds r0, r5, 0 - bl StoreSpriteCallbackInData - ldrh r0, [r5, 0x24] - ldrh r2, [r5, 0x20] - adds r0, r2 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x24] - strh r1, [r5, 0x26] - movs r0, 0x14 - strh r0, [r5, 0x2E] - ldr r4, _0812D348 @ =gAnimBankTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _0812D34C @ =StartTranslateAnimSpriteByDeltas - str r0, [r5, 0x1C] -_0812D33C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812D344: .4byte DestroyAnimSprite -_0812D348: .4byte gAnimBankTarget -_0812D34C: .4byte StartTranslateAnimSpriteByDeltas - thumb_func_end sub_812D294 - - thumb_func_start sub_812D350 -sub_812D350: @ 812D350 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0812D370 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812D374 - cmp r0, 0x1 - beq _0812D394 - b _0812D3A6 - .align 2, 0 -_0812D370: .4byte gTasks -_0812D374: - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D390 @ =gUnknown_084024B0 - adds r0, r4, 0 - bl sub_80798F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812D3A6 - .align 2, 0 -_0812D390: .4byte gUnknown_084024B0 -_0812D394: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _0812D3A6 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812D3A6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D350 - - thumb_func_start sub_812D3AC -sub_812D3AC: @ 812D3AC - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r6, r0, 24 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0812D40C - cmp r0, 0x1 - bgt _0812D3CC - cmp r0, 0 - beq _0812D3D6 - b _0812D4AE -_0812D3CC: - cmp r0, 0x2 - beq _0812D43C - cmp r0, 0x3 - beq _0812D490 - b _0812D4AE -_0812D3D6: - ldr r4, _0812D408 @ =gAnimBankAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - adds r0, r6, 0 - movs r1, 0 - bl sub_8078E70 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x30] - strh r0, [r5, 0x32] - b _0812D484 - .align 2, 0 -_0812D408: .4byte gAnimBankAttacker -_0812D40C: - ldrh r0, [r5, 0x30] - adds r0, 0x60 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - subs r0, 0x1A - strh r0, [r5, 0x32] - movs r2, 0x30 - ldrsh r1, [r5, r2] - movs r0, 0x32 - ldrsh r2, [r5, r0] - adds r0, r6, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0812D43C - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0812D43C: - ldrh r0, [r5, 0x30] - adds r0, 0x60 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x30 - strh r0, [r5, 0x32] - movs r2, 0x30 - ldrsh r1, [r5, r2] - movs r0, 0x32 - ldrsh r2, [r5, r0] - adds r0, r6, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _0812D4AE - movs r0, 0 - strh r0, [r5, 0x34] - ldr r1, _0812D48C @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0 - bl sub_8078F40 -_0812D484: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _0812D4AE - .align 2, 0 -_0812D48C: .4byte gSprites -_0812D490: - ldrh r0, [r5, 0x26] - subs r0, 0x6 - strh r0, [r5, 0x26] - movs r1, 0x22 - ldrsh r0, [r5, r1] - movs r2, 0x26 - ldrsh r1, [r5, r2] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - bge _0812D4AE - adds r0, r5, 0 - bl DestroyAnimSprite -_0812D4AE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_812D3AC - - thumb_func_start sub_812D4B4 -sub_812D4B4: @ 812D4B4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0812D4CC @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0812D4D4 - ldr r0, _0812D4D0 @ =0x0000fff0 - b _0812D4D8 - .align 2, 0 -_0812D4CC: .4byte gAnimBankAttacker -_0812D4D0: .4byte 0x0000fff0 -_0812D4D4: - movs r0, 0x80 - lsls r0, 1 -_0812D4D8: - strh r0, [r4, 0x20] - movs r0, 0 - strh r0, [r4, 0x22] - ldr r0, _0812D4E8 @ =sub_812D4EC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D4E8: .4byte sub_812D4EC - thumb_func_end sub_812D4B4 - - thumb_func_start sub_812D4EC -sub_812D4EC: @ 812D4EC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x48 - strh r0, [r4, 0x2E] - ldr r0, _0812D50C @ =gAnimBankAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0812D510 - ldrh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 20 - b _0812D518 - .align 2, 0 -_0812D50C: .4byte gAnimBankAttacker -_0812D510: - ldrh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 20 - negs r0, r0 -_0812D518: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x10 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r5, r0, r1 - strh r5, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _0812D564 - ldr r0, _0812D584 @ =gSpriteTemplate_8402500 - ldrh r1, [r4, 0x24] - ldrh r2, [r4, 0x20] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - ldrh r2, [r4, 0x22] - adds r2, r5 - lsls r2, 16 - asrs r2, 16 - adds r3, r4, 0 - adds r3, 0x43 - ldrb r3, [r3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl CreateSpriteAndAnimate -_0812D564: - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - adds r0, 0x20 - movs r1, 0x98 - lsls r1, 1 - cmp r0, r1 - bls _0812D57E - adds r0, r4, 0 - bl DestroyAnimSprite -_0812D57E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812D584: .4byte gSpriteTemplate_8402500 - thumb_func_end sub_812D4EC - - thumb_func_start sub_812D588 -sub_812D588: @ 812D588 - push {r4,lr} - adds r4, r0, 0 - bl Random - movs r1, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0812D5A2 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x4 - b _0812D5AA -_0812D5A2: - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x5 -_0812D5AA: - ldr r3, _0812D5DC @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _0812D5E0 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - bl Random - movs r1, 0x7 - ands r0, r1 - adds r1, r0, 0 - cmp r1, 0x3 - ble _0812D5CC - negs r0, r1 - lsls r0, 24 - lsrs r0, 24 -_0812D5CC: - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _0812D5E4 @ =sub_812D5E8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812D5DC: .4byte 0x000003ff -_0812D5E0: .4byte 0xfffffc00 -_0812D5E4: .4byte sub_812D5E8 - thumb_func_end sub_812D588 - - thumb_func_start sub_812D5E8 -sub_812D5E8: @ 812D5E8 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - adds r0, 0x1 - strh r0, [r3, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1D - bgt _0812D62A - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _0812D65E - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r0, 0 - b _0812D65C -_0812D62A: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x2 - bne _0812D640 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0812D640: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0x3 - bne _0812D658 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0812D670 @ =0x0000ffff - strh r0, [r3, 0x30] -_0812D658: - ldrh r0, [r3, 0x30] - adds r0, 0x1 -_0812D65C: - strh r0, [r3, 0x30] -_0812D65E: - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x3C - ble _0812D66C - adds r0, r3, 0 - bl DestroySprite -_0812D66C: - pop {r0} - bx r0 - .align 2, 0 -_0812D670: .4byte 0x0000ffff - thumb_func_end sub_812D5E8 - - thumb_func_start sub_812D674 -sub_812D674: @ 812D674 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _0812D6AC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D6B4 - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D6B0 @ =gUnknown_08402518 - adds r0, r4, 0 - bl sub_80798F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812D6C6 - .align 2, 0 -_0812D6AC: .4byte gTasks -_0812D6B0: .4byte gUnknown_08402518 -_0812D6B4: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _0812D6C6 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812D6C6: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D674 - - thumb_func_start sub_812D6CC -sub_812D6CC: @ 812D6CC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _0812D704 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D70C - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D708 @ =gUnknown_08402540 - adds r0, r4, 0 - bl sub_80798F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812D71E - .align 2, 0 -_0812D704: .4byte gTasks -_0812D708: .4byte gUnknown_08402540 -_0812D70C: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _0812D71E - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812D71E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D6CC - - thumb_func_start sub_812D724 -sub_812D724: @ 812D724 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0812D736 - cmp r0, 0x1 - beq _0812D760 - b _0812D788 -_0812D736: - adds r0, r4, 0 - movs r1, 0 - bl InitAnimSpritePos - movs r0, 0x90 - lsls r0, 4 - strh r0, [r4, 0x30] - ldr r0, _0812D75C @ =gAnimBankAttacker - ldrb r0, [r0] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0812D788 - .align 2, 0 -_0812D75C: .4byte gAnimBankAttacker -_0812D760: - ldrh r2, [r4, 0x30] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - subs r2, 0x60 - strh r2, [r4, 0x30] - movs r2, 0x22 - ldrsh r0, [r4, r2] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0x32 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _0812D788 - adds r0, r4, 0 - bl DestroyAnimSprite -_0812D788: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812D724 - - thumb_func_start sub_812D790 -sub_812D790: @ 812D790 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _0812D7C8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812D7D0 - movs r0, 0 - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0812D7CC @ =gUnknown_08402590 - adds r0, r4, 0 - bl sub_80798F4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0812D7E2 - .align 2, 0 -_0812D7C8: .4byte gTasks -_0812D7CC: .4byte gUnknown_08402590 -_0812D7D0: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _0812D7E2 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_0812D7E2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812D790 - thumb_func_start sub_812D7E8 sub_812D7E8: @ 812D7E8 push {r4-r7,lr} |