diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_anim_80CA710.s | 14462 |
1 files changed, 0 insertions, 14462 deletions
diff --git a/asm/battle_anim_80CA710.s b/asm/battle_anim_80CA710.s index fd5b9fb88..363234319 100644 --- a/asm/battle_anim_80CA710.s +++ b/asm/battle_anim_80CA710.s @@ -6,14468 +6,6 @@ .text - thumb_func_start sub_80CA710 -sub_80CA710: @ 80CA710 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080CA744 @ =gBattleAnimArgs - ldrh r0, [r5] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x30] - ldr r0, _080CA748 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CA74C - ldrh r0, [r5, 0x8] - negs r0, r0 - b _080CA74E - .align 2, 0 -_080CA744: .4byte gBattleAnimArgs -_080CA748: .4byte gBattleAnimPlayerMonIndex -_080CA74C: - ldrh r0, [r5, 0x8] -_080CA74E: - strh r0, [r4, 0x34] - ldr r0, _080CA760 @ =gBattleAnimArgs - ldrh r0, [r0, 0xA] - strh r0, [r4, 0x36] - ldr r0, _080CA764 @ =sub_80CA768 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CA760: .4byte gBattleAnimArgs -_080CA764: .4byte sub_80CA768 - thumb_func_end sub_80CA710 - - thumb_func_start sub_80CA768 -sub_80CA768: @ 80CA768 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080CA7A4 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r1, r0 - strh r1, [r4, 0x32] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080CA7AA -_080CA7A4: - adds r0, r4, 0 - bl move_anim_8072740 -_080CA7AA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CA768 - - thumb_func_start sub_80CA7B0 -sub_80CA7B0: @ 80CA7B0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80787B0 - ldr r0, _080CA7F0 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r5, _080CA7F4 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _080CA7F8 @ =sub_8078B34 - str r0, [r4, 0x1C] - ldr r1, _080CA7FC @ =move_anim_8074EE0 - adds r0, r4, 0 - bl oamt_set_x3A_32 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CA7F0: .4byte gBattleAnimArgs -_080CA7F4: .4byte gBattleAnimPlayerMonIndex -_080CA7F8: .4byte sub_8078B34 -_080CA7FC: .4byte move_anim_8074EE0 - thumb_func_end sub_80CA7B0 - - thumb_func_start sub_80CA800 -sub_80CA800: @ 80CA800 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80787B0 - ldr r5, _080CA848 @ =gBattleAnimArgs - ldrb r1, [r5, 0x6] - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldr r5, _080CA84C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _080CA850 @ =sub_8078B34 - str r0, [r4, 0x1C] - ldr r1, _080CA854 @ =move_anim_8072740 - adds r0, r4, 0 - bl oamt_set_x3A_32 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CA848: .4byte gBattleAnimArgs -_080CA84C: .4byte gBattleAnimEnemyMonIndex -_080CA850: .4byte sub_8078B34 -_080CA854: .4byte move_anim_8072740 - thumb_func_end sub_80CA800 - - thumb_func_start sub_80CA858 -sub_80CA858: @ 80CA858 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80787B0 - ldr r6, _080CA8A8 @ =gBattleAnimArgs - ldrh r0, [r6, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - ldr r5, _080CA8AC @ =gBattleAnimEnemyMonIndex - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldrh r0, [r6, 0x6] - strh r0, [r4, 0x38] - ldr r1, _080CA8B0 @ =sub_80CA8B4 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CA8A8: .4byte gBattleAnimArgs -_080CA8AC: .4byte gBattleAnimEnemyMonIndex -_080CA8B0: .4byte sub_80CA8B4 - thumb_func_end sub_80CA858 - - thumb_func_start sub_80CA8B4 -sub_80CA8B4: @ 80CA8B4 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078B5C - lsls r0, 24 - cmp r0, 0 - beq _080CA8CA - adds r0, r4, 0 - bl DestroySprite - b _080CA91E -_080CA8CA: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - ble _080CA8E4 - ldr r0, _080CA8E0 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079E90 - adds r0, 0x1 - b _080CA8EE - .align 2, 0 -_080CA8E0: .4byte gBattleAnimEnemyMonIndex -_080CA8E4: - ldr r0, _080CA924 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079E90 - adds r0, 0x6 -_080CA8EE: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x5 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xE - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0xF - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] -_080CA91E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CA924: .4byte gBattleAnimEnemyMonIndex - thumb_func_end sub_80CA8B4 - - thumb_func_start sub_80CA928 -sub_80CA928: @ 80CA928 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _080CA998 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - subs r0, 0x1 - movs r2, 0 - strh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080CA982 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - movs r0, 0x6 - strh r0, [r5, 0x8] - ldr r1, _080CA99C @ =gBattleAnimArgs - movs r0, 0xF - strh r0, [r1] - strh r2, [r1, 0x2] - movs r0, 0x50 - strh r0, [r1, 0x4] - strh r2, [r1, 0x6] - ldr r4, _080CA9A0 @ =gSpriteTemplate_83D631C - ldr r0, _080CA9A4 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079E90 - adds r3, r0, 0 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl CreateSpriteAndAnimate -_080CA982: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0xF - bne _080CA990 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080CA990: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CA998: .4byte gTasks -_080CA99C: .4byte gBattleAnimArgs -_080CA9A0: .4byte gSpriteTemplate_83D631C -_080CA9A4: .4byte gBattleAnimEnemyMonIndex - thumb_func_end sub_80CA928 - - thumb_func_start sub_80CA9A8 -sub_80CA9A8: @ 80CA9A8 - push {r4-r6,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8078764 - ldr r6, _080CA9EC @ =gBattleAnimArgs - ldrh r0, [r6, 0x6] - strh r0, [r4, 0x2E] - ldr r5, _080CA9F0 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldrh r0, [r6, 0x4] - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_80786EC - ldr r0, _080CA9F4 @ =sub_80CA9F8 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CA9EC: .4byte gBattleAnimArgs -_080CA9F0: .4byte gBattleAnimPlayerMonIndex -_080CA9F4: .4byte sub_80CA9F8 - thumb_func_end sub_80CA9A8 - - thumb_func_start sub_80CA9F8 -sub_80CA9F8: @ 80CA9F8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _080CAA0C - adds r0, r4, 0 - bl move_anim_8072740 -_080CAA0C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CA9F8 - - thumb_func_start sub_80CAA14 -sub_80CAA14: @ 80CAA14 - push {r4,r5,lr} - adds r5, r0, 0 - bl Random - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x7 - ands r1, r0 - adds r0, r5, 0 - bl StartSpriteAnim - ldr r4, _080CAA5C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CAA60 - ldrh r0, [r5, 0x20] - subs r0, 0x14 - b _080CAA64 - .align 2, 0 -_080CAA5C: .4byte gBattleAnimPlayerMonIndex -_080CAA60: - ldrh r0, [r5, 0x20] - adds r0, 0x14 -_080CAA64: - strh r0, [r5, 0x20] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1F - ands r0, r1 - adds r0, 0x40 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, _080CAAC4 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8078D60 - bl Random - movs r1, 0xFF - ands r1, r0 - strh r1, [r5, 0x38] - adds r0, r5, 0 - adds r0, 0x43 - ldrb r0, [r0] - strh r0, [r5, 0x3A] - ldr r1, _080CAAC8 @ =sub_80CAACC - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CAAC4: .4byte gBattleAnimEnemyMonIndex -_080CAAC8: .4byte sub_80CAACC - thumb_func_end sub_80CAA14 - - thumb_func_start sub_80CAACC -sub_80CAACC: @ 80CAACC - push {r4,lr} - adds r4, r0, 0 - bl sub_8078CE8 - lsls r0, 24 - cmp r0, 0 - beq _080CAAE2 - adds r0, r4, 0 - bl move_anim_8072740 - b _080CAB12 -_080CAAE2: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0xC - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x7E - bgt _080CAAFE - ldrh r0, [r4, 0x3A] - b _080CAB02 -_080CAAFE: - ldrh r0, [r4, 0x3A] - adds r0, 0x1 -_080CAB02: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r0, [r4, 0x38] - adds r0, 0x18 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] -_080CAB12: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CAACC - - thumb_func_start sub_80CAB18 -sub_80CAB18: @ 80CAB18 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_80787B0 - ldr r0, _080CAB78 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CAB38 - ldr r1, _080CAB7C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080CAB38: - ldr r4, _080CAB7C @ =gBattleAnimArgs - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x2E] - ldr r5, _080CAB80 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r5] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x4] - adds r0, r1 - strh r0, [r6, 0x32] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r6, 0x36] - ldrh r0, [r4, 0xA] - strh r0, [r6, 0x38] - adds r0, r6, 0 - bl sub_80786EC - ldr r0, _080CAB84 @ =sub_80CAB88 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CAB78: .4byte gBattleAnimPlayerMonIndex -_080CAB7C: .4byte gBattleAnimArgs -_080CAB80: .4byte gBattleAnimEnemyMonIndex -_080CAB84: .4byte sub_80CAB88 - thumb_func_end sub_80CAB18 - - thumb_func_start sub_80CAB88 -sub_80CAB88: @ 80CAB88 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _080CABB2 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0xA - strh r0, [r4, 0x2E] - ldr r0, _080CABB8 @ =sub_80782D8 - str r0, [r4, 0x1C] - ldr r1, _080CABBC @ =sub_80CABC0 - adds r0, r4, 0 - bl oamt_set_x3A_32 -_080CABB2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CABB8: .4byte sub_80782D8 -_080CABBC: .4byte sub_80CABC0 - thumb_func_end sub_80CAB88 - - thumb_func_start sub_80CABC0 -sub_80CABC0: @ 80CABC0 - push {r4,lr} - adds r4, r0, 0 - 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 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x3C - strh r0, [r4, 0x2E] - ldr r0, _080CABF0 @ =sub_80782D8 - str r0, [r4, 0x1C] - ldr r1, _080CABF4 @ =move_anim_8072740 - adds r0, r4, 0 - bl oamt_set_x3A_32 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CABF0: .4byte sub_80782D8 -_080CABF4: .4byte move_anim_8072740 - thumb_func_end sub_80CABC0 - - thumb_func_start sub_80CABF8 -sub_80CABF8: @ 80CABF8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_8078764 - ldr r5, _080CAC3C @ =gBattleAnimArgs - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - bl StartSpriteAnim - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _080CAC22 - ldrb r0, [r4, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r4, 0x1] -_080CAC22: - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x30] - ldr r1, _080CAC40 @ =sub_80CAC44 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CAC3C: .4byte gBattleAnimArgs -_080CAC40: .4byte sub_80CAC44 - thumb_func_end sub_80CABF8 - - thumb_func_start sub_80CAC44 -sub_80CAC44: @ 80CAC44 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x3 - negs r1, r1 - bl Cos - ldrh r1, [r4, 0x32] - adds r1, 0x18 - strh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _080CAC98 - ldr r0, _080CAC94 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079ED4 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - b _080CACBC - .align 2, 0 -_080CAC94: .4byte gBattleAnimEnemyMonIndex -_080CAC98: - ldr r0, _080CACE8 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079ED4 - adds r0, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080CACAC - movs r2, 0x3 -_080CACAC: - movs r0, 0x3 - ands r2, r0 - lsls r2, 2 - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 -_080CACBC: - strb r0, [r4, 0x5] - ldrh r0, [r4, 0x30] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _080CACE0 - adds r0, r4, 0 - bl move_anim_8072740 -_080CACE0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CACE8: .4byte gBattleAnimEnemyMonIndex - thumb_func_end sub_80CAC44 - - thumb_func_start sub_80CACEC -sub_80CACEC: @ 80CACEC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080CAD06 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - bne _080CAD0E -_080CAD06: - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080CAD4A -_080CAD0E: - ldr r0, _080CAD2C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl GetBankIdentity_permutated - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CAD34 - ldr r0, _080CAD30 @ =REG_BG2CNT - ldrb r1, [r0] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0] - b _080CAD44 - .align 2, 0 -_080CAD2C: .4byte gBattleAnimEnemyMonIndex -_080CAD30: .4byte REG_BG2CNT -_080CAD34: - ldr r2, _080CAD50 @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_080CAD44: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080CAD4A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CAD50: .4byte REG_BG1CNT - thumb_func_end sub_80CACEC - - thumb_func_start sub_80CAD54 -sub_80CAD54: @ 80CAD54 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_80787B0 - ldr r5, _080CAD9C @ =gBattleAnimArgs - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldr r0, _080CADA0 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x4] - adds r0, r5 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - movs r0, 0x40 - strh r0, [r4, 0x38] - ldr r1, _080CADA4 @ =sub_80CADA8 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CAD9C: .4byte gBattleAnimArgs -_080CADA0: .4byte gBattleAnimPlayerMonIndex -_080CADA4: .4byte sub_80CADA8 - thumb_func_end sub_80CAD54 - - thumb_func_start sub_80CADA8 -sub_80CADA8: @ 80CADA8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078B5C - lsls r0, 24 - cmp r0, 0 - bne _080CAE14 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x20 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x5 - negs r1, r1 - bl Cos - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x7F - bhi _080CADF4 - ldr r0, _080CADF0 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl sub_8079E90 - subs r0, 0x1 - b _080CADFE - .align 2, 0 -_080CADF0: .4byte gBattleAnimPlayerMonIndex -_080CADF4: - ldr r0, _080CAE10 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl sub_8079E90 - adds r0, 0x1 -_080CADFE: - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r0, [r4, 0x38] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080CAE1A - .align 2, 0 -_080CAE10: .4byte gBattleAnimPlayerMonIndex -_080CAE14: - adds r0, r4, 0 - bl move_anim_8072740 -_080CAE1A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CADA8 - - thumb_func_start sub_80CAE20 -sub_80CAE20: @ 80CAE20 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80787B0 - ldr r5, _080CAE68 @ =gBattleAnimArgs - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - ldr r0, _080CAE6C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x4] - adds r0, r5 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - movs r0, 0x40 - strh r0, [r4, 0x38] - ldr r1, _080CAE70 @ =sub_80CAE74 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CAE68: .4byte gBattleAnimArgs -_080CAE6C: .4byte gBattleAnimPlayerMonIndex -_080CAE70: .4byte sub_80CAE74 - thumb_func_end sub_80CAE20 - - thumb_func_start sub_80CAE74 -sub_80CAE74: @ 80CAE74 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078B5C - lsls r0, 24 - cmp r0, 0 - bne _080CAECC - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldrh r1, [r4, 0x38] - adds r0, r1, 0 - subs r0, 0x3B - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _080CAEAC - adds r0, r1, 0 - subs r0, 0xBB - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _080CAEC0 -_080CAEAC: - ldrb r2, [r4, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x8 - eors r1, r0 - lsls r1, 1 - subs r0, 0x47 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] -_080CAEC0: - ldrh r0, [r4, 0x38] - adds r0, 0x5 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080CAED2 -_080CAECC: - adds r0, r4, 0 - bl move_anim_8072740 -_080CAED2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CAE74 - - thumb_func_start sub_80CAED8 -sub_80CAED8: @ 80CAED8 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080CAF14 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r1, _080CAF18 @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldr r0, _080CAF1C @ =sub_80CAF20 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CAF14: .4byte gBattleAnimPlayerMonIndex -_080CAF18: .4byte gBattleAnimArgs -_080CAF1C: .4byte sub_80CAF20 - thumb_func_end sub_80CAED8 - - thumb_func_start sub_80CAF20 -sub_80CAF20: @ 80CAF20 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x32] - movs r2, 0x32 - ldrsh r3, [r1, r2] - cmp r3, 0 - bne _080CAF54 - ldrh r0, [r1, 0x30] - movs r2, 0x1 - ands r2, r0 - cmp r2, 0 - beq _080CAF42 - movs r0, 0x80 - strh r0, [r1, 0x2E] - strh r3, [r1, 0x30] - strh r3, [r1, 0x32] - b _080CAF48 -_080CAF42: - strh r2, [r1, 0x2E] - strh r2, [r1, 0x30] - strh r2, [r1, 0x32] -_080CAF48: - ldr r0, _080CAF50 @ =sub_80CAF6C - str r0, [r1, 0x1C] - b _080CAF68 - .align 2, 0 -_080CAF50: .4byte sub_80CAF6C -_080CAF54: - subs r0, 0x1 - strh r0, [r1, 0x32] - ldrh r0, [r1, 0x2E] - ldrh r2, [r1, 0x20] - adds r0, r2 - strh r0, [r1, 0x20] - ldrh r0, [r1, 0x30] - ldrh r2, [r1, 0x22] - adds r0, r2 - strh r0, [r1, 0x22] -_080CAF68: - pop {r0} - bx r0 - thumb_func_end sub_80CAF20 - - thumb_func_start sub_80CAF6C -sub_80CAF6C: @ 80CAF6C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080CAF8C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CAF90 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl Sin - negs r0, r0 - b _080CAF9A - .align 2, 0 -_080CAF8C: .4byte gBattleAnimPlayerMonIndex -_080CAF90: - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x19 - bl Sin -_080CAF9A: - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x2E] - adds r0, 0x2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080CAFBA - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] -_080CAFBA: - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x50 - ble _080CAFC8 - adds r0, r4, 0 - bl move_anim_8072740 -_080CAFC8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CAF6C - - thumb_func_start sub_80CAFD0 -sub_80CAFD0: @ 80CAFD0 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x1 - bl sub_80787B0 - ldr r0, _080CB024 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CAFF0 - ldr r1, _080CB028 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080CAFF0: - ldr r6, _080CB028 @ =gBattleAnimArgs - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - movs r1, 0xC - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080CB030 - ldr r4, _080CB02C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x6] - adds r0, r6 - b _080CB050 - .align 2, 0 -_080CB024: .4byte gBattleAnimPlayerMonIndex -_080CB028: .4byte gBattleAnimArgs -_080CB02C: .4byte gBattleAnimEnemyMonIndex -_080CB030: - ldr r0, _080CB07C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - adds r2, r5, 0 - adds r2, 0x32 - adds r3, r5, 0 - adds r3, 0x36 - movs r1, 0x1 - bl sub_807A3FC - ldrh r0, [r6, 0x4] - ldrh r1, [r5, 0x32] - adds r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r6, 0x6] - ldrh r1, [r5, 0x36] - adds r0, r1 -_080CB050: - strh r0, [r5, 0x36] - ldr r0, _080CB080 @ =gBattleAnimArgs - ldrh r0, [r0, 0xA] - strh r0, [r5, 0x38] - adds r0, r5, 0 - bl sub_80786EC - ldr r0, _080CB084 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - adds r4, r0, 0 - ldr r0, _080CB07C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080CB088 - movs r0, 0x1 - b _080CB08A - .align 2, 0 -_080CB07C: .4byte gBattleAnimEnemyMonIndex -_080CB080: .4byte gBattleAnimArgs -_080CB084: .4byte gBattleAnimPlayerMonIndex -_080CB088: - movs r0, 0 -_080CB08A: - strh r0, [r5, 0x2E] - ldr r0, _080CB098 @ =sub_80CB09C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB098: .4byte sub_80CB09C - thumb_func_end sub_80CAFD0 - - thumb_func_start sub_80CB09C -sub_80CB09C: @ 80CB09C - push {r4-r7,lr} - adds r6, r0, 0 - movs r7, 0 - ldrh r5, [r6, 0x2E] - ldrh r4, [r6, 0x3C] - movs r0, 0x1 - strh r0, [r6, 0x2E] - adds r0, r6, 0 - bl sub_8078718 - ldrh r0, [r6, 0x3C] - strh r5, [r6, 0x2E] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0xC8 - ble _080CB0CE - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x37 - bgt _080CB0CE - ldrh r0, [r6, 0x6] - cmp r0, 0 - bne _080CB0D4 - adds r0, 0x1 - strh r0, [r6, 0x6] -_080CB0CE: - ldrh r0, [r6, 0x6] - cmp r0, 0 - beq _080CB106 -_080CB0D4: - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080CB106 - adds r3, r6, 0 - adds r3, 0x3E - ldrb r2, [r3] - 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 - strb r0, [r3] - ldrh r0, [r6, 0x6] - adds r0, 0x1 - strh r0, [r6, 0x6] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1E - bne _080CB106 - movs r7, 0x1 -_080CB106: - movs r2, 0x20 - ldrsh r0, [r6, r2] - movs r2, 0x24 - ldrsh r1, [r6, r2] - adds r0, r1 - adds r0, 0x10 - movs r1, 0x88 - lsls r1, 1 - cmp r0, r1 - bhi _080CB130 - movs r0, 0x22 - ldrsh r1, [r6, r0] - movs r2, 0x26 - ldrsh r0, [r6, r2] - adds r1, r0 - cmp r1, 0xA0 - bgt _080CB130 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bge _080CB132 -_080CB130: - movs r7, 0x1 -_080CB132: - cmp r7, 0 - beq _080CB13C - adds r0, r6, 0 - bl move_anim_8072740 -_080CB13C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80CB09C - - thumb_func_start sub_80CB144 -sub_80CB144: @ 80CB144 - push {r4,lr} - adds r4, r0, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080CB170 - bl IsDoubleBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CB170 - ldr r0, _080CB198 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r1, 0x1 - bl sub_807A3FC -_080CB170: - ldrh r0, [r4, 0x22] - adds r0, 0x20 - strh r0, [r4, 0x22] - ldr r1, _080CB19C @ =gBattleAnimArgs - ldrh r0, [r1] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x2] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x36] - ldr r0, _080CB1A0 @ =sub_80CB1A4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CB198: .4byte gBattleAnimEnemyMonIndex -_080CB19C: .4byte gBattleAnimArgs -_080CB1A0: .4byte sub_80CB1A4 - thumb_func_end sub_80CB144 - - thumb_func_start sub_80CB1A4 -sub_80CB1A4: @ 80CB1A4 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0xFF - bne _080CB1BA - ldrh r0, [r4, 0x22] - subs r0, 0x2 - strh r0, [r4, 0x22] - b _080CB1C8 -_080CB1BA: - cmp r0, 0 - ble _080CB1C8 - ldrh r0, [r4, 0x22] - subs r0, 0x2 - strh r0, [r4, 0x22] - subs r0, r1, 0x2 - strh r0, [r4, 0x30] -_080CB1C8: - ldrh r3, [r4, 0x32] - ldrh r5, [r4, 0x38] - adds r2, r3, r5 - strh r2, [r4, 0x38] - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r5, 0x36 - ldrsh r0, [r4, r5] - cmp r1, r0 - bge _080CB1E0 - adds r0, r2, r3 - strh r0, [r4, 0x38] -_080CB1E0: - ldrh r1, [r4, 0x38] - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x34 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r5, 0x38 - ldrsh r0, [r4, r5] - movs r1, 0x5 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0x7F - bgt _080CB220 - ldr r0, _080CB21C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079ED4 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - b _080CB22E - .align 2, 0 -_080CB21C: .4byte gBattleAnimEnemyMonIndex -_080CB220: - ldr r0, _080CB258 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079ED4 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 -_080CB22E: - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080CB252 - adds r0, r4, 0 - bl move_anim_8072740 -_080CB252: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CB258: .4byte gBattleAnimEnemyMonIndex - thumb_func_end sub_80CB1A4 - - thumb_func_start sub_80CB25C -sub_80CB25C: @ 80CB25C - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0 - bl sub_8078764 - adds r2, r5, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r4, _080CB290 @ =gBattleAnimArgs - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl StartSpriteAffineAnim - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x3A] - ldrh r0, [r4, 0x6] - strh r0, [r5, 0x3C] - ldr r0, _080CB294 @ =sub_80CB298 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CB290: .4byte gBattleAnimArgs -_080CB294: .4byte sub_80CB298 - thumb_func_end sub_80CB25C - - thumb_func_start sub_80CB298 -sub_80CB298: @ 80CB298 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080CB2C8 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080CB2CC @ =0x0000ffff - cmp r1, r0 - bne _080CB2C2 - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r0, 0x1 - bl obj_id_for_side_relative_to_move - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x2E] - ldr r0, _080CB2D0 @ =sub_80CB2D4 - str r0, [r4, 0x1C] -_080CB2C2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CB2C8: .4byte gBattleAnimArgs -_080CB2CC: .4byte 0x0000ffff -_080CB2D0: .4byte sub_80CB2D4 - thumb_func_end sub_80CB298 - - thumb_func_start sub_80CB2D4 -sub_80CB2D4: @ 80CB2D4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - bl obj_id_for_side_relative_to_move - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080CB2EC - ldrh r0, [r4, 0x2E] - adds r0, 0xB - b _080CB2F0 -_080CB2EC: - ldrh r0, [r4, 0x2E] - subs r0, 0xB -_080CB2F0: - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080CB30C - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x32] -_080CB30C: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080CB33A - ldrh r0, [r4, 0x3C] - subs r0, 0x1 - strh r0, [r4, 0x3C] - lsls r0, 16 - cmp r0, 0 - ble _080CB334 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAffineAnim - b _080CB33A -_080CB334: - adds r0, r4, 0 - bl move_anim_8072740 -_080CB33A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CB2D4 - - thumb_func_start sub_80CB340 -sub_80CB340: @ 80CB340 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080CB36C @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _080CB370 - adds r0, r4, 0 - bl DestroyAnimVisualTask - b _080CB396 - .align 2, 0 -_080CB36C: .4byte gSprites -_080CB370: - adds r0, r2, 0 - movs r1, 0x1 - bl sub_8078E70 - ldr r1, _080CB39C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r2, _080CB3A0 @ =gBattleAnimArgs - ldrh r1, [r2] - strh r1, [r0, 0x8] - ldrh r1, [r2, 0x2] - strh r1, [r0, 0xA] - movs r1, 0x80 - lsls r1, 1 - strh r1, [r0, 0x1E] - ldr r1, _080CB3A4 @ =sub_80CB3A8 - str r1, [r0] -_080CB396: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CB39C: .4byte gTasks -_080CB3A0: .4byte gBattleAnimArgs -_080CB3A4: .4byte sub_80CB3A8 - thumb_func_end sub_80CB340 - - thumb_func_start sub_80CB3A8 -sub_80CB3A8: @ 80CB3A8 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - ldr r1, _080CB428 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x8] - ldrh r0, [r4, 0x1C] - adds r1, r0 - strh r1, [r4, 0x1C] - ldr r2, _080CB42C @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r5, r0, r2 - lsls r1, 16 - asrs r1, 24 - strh r1, [r5, 0x24] - ldr r0, _080CB430 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CB3F2 - ldrh r0, [r5, 0x24] - negs r0, r0 - strh r0, [r5, 0x24] -_080CB3F2: - ldrh r0, [r4, 0x1E] - adds r0, 0x10 - strh r0, [r4, 0x1E] - movs r0, 0x1E - ldrsh r2, [r4, r0] - adds r0, r6, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - adds r0, r6, 0 - bl sub_8079A64 - ldrh r0, [r4, 0xA] - subs r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _080CB420 - strh r0, [r4, 0x8] - ldr r0, _080CB434 @ =sub_80CB438 - str r0, [r4] -_080CB420: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB428: .4byte gTasks -_080CB42C: .4byte gSprites -_080CB430: .4byte gBattleAnimEnemyMonIndex -_080CB434: .4byte sub_80CB438 - thumb_func_end sub_80CB3A8 - - thumb_func_start sub_80CB438 -sub_80CB438: @ 80CB438 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _080CB484 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080CB488 @ =0x0000ffff - cmp r1, r0 - bne _080CB494 - ldr r0, _080CB48C @ =gTasks - lsls r2, r3, 2 - adds r1, r2, r3 - lsls r1, 3 - adds r6, r1, r0 - movs r1, 0x8 - ldrsh r5, [r6, r1] - adds r4, r0, 0 - cmp r5, 0 - bne _080CB4A8 - movs r0, 0x1 - bl obj_id_for_side_relative_to_move - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8078F40 - ldr r1, _080CB490 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - strh r5, [r0, 0x24] - strh r5, [r0, 0x26] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _080CB4C2 - .align 2, 0 -_080CB484: .4byte gBattleAnimArgs -_080CB488: .4byte 0x0000ffff -_080CB48C: .4byte gTasks -_080CB490: .4byte gSprites -_080CB494: - ldr r1, _080CB4C8 @ =gTasks - lsls r2, r3, 2 - adds r0, r2, r3 - lsls r0, 3 - adds r0, r1 - movs r4, 0x8 - ldrsh r0, [r0, r4] - adds r4, r1, 0 - cmp r0, 0 - beq _080CB4C2 -_080CB4A8: - adds r1, r2, r3 - lsls r1, 3 - adds r1, r4 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bne _080CB4C2 - adds r0, r3, 0 - bl DestroyAnimVisualTask -_080CB4C2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB4C8: .4byte gTasks - thumb_func_end sub_80CB438 - - thumb_func_start sub_80CB4CC -sub_80CB4CC: @ 80CB4CC - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080CB4DE - cmp r0, 0x1 - beq _080CB538 - b _080CB58A -_080CB4DE: - ldr r6, _080CB530 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r6] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CB4F6 - ldr r1, _080CB534 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1] -_080CB4F6: - ldrb r0, [r6] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - ldr r4, _080CB534 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r5, 0x22] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080CB58A - .align 2, 0 -_080CB530: .4byte gBattleAnimEnemyMonIndex -_080CB534: .4byte gBattleAnimArgs -_080CB538: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080CB58A - adds r0, r5, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - movs r0, 0x19 - strh r0, [r5, 0x2E] - ldr r4, _080CB590 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _080CB594 @ =sub_8078CC0 - str r0, [r5, 0x1C] - ldr r1, _080CB598 @ =move_anim_8072740 - adds r0, r5, 0 - bl oamt_set_x3A_32 -_080CB58A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB590: .4byte gBattleAnimPlayerMonIndex -_080CB594: .4byte sub_8078CC0 -_080CB598: .4byte move_anim_8072740 - thumb_func_end sub_80CB4CC - - thumb_func_start sub_80CB59C -sub_80CB59C: @ 80CB59C - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080CB608 - ldr r4, _080CB614 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r4, _080CB618 @ =gBattleAnimArgs - ldrh r0, [r4] - strh r0, [r5, 0x24] - ldrh r0, [r4, 0x2] - strh r0, [r5, 0x26] - ldrb r0, [r4, 0x4] - adds r0, 0x1E - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r4, 0x6] - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - movs r2, 0x22 - ldrsh r0, [r5, r2] - movs r2, 0x26 - ldrsh r1, [r5, r2] - adds r0, r1 - cmp r0, 0x78 - ble _080CB608 - ldrh r0, [r5, 0x22] - adds r1, r0, 0 - subs r1, 0x78 - ldrh r2, [r5, 0x26] - adds r0, r2 - adds r1, r0 - strh r1, [r5, 0x22] -_080CB608: - ldr r0, _080CB61C @ =sub_80CB710 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CB614: .4byte gBattleAnimPlayerMonIndex -_080CB618: .4byte gBattleAnimArgs -_080CB61C: .4byte sub_80CB710 - thumb_func_end sub_80CB59C - - thumb_func_start sub_80CB620 -sub_80CB620: @ 80CB620 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - mov r9, r0 - ldr r4, _080CB6FC @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, _080CB700 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8077ABC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8077ABC - adds r2, r0, 0 - lsls r2, 24 - subs r4, r5 - lsls r4, 16 - lsrs r2, 24 - mov r1, r8 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - lsrs r3, r4, 16 - mov r10, r3 - asrs r4, 16 - ldr r6, _080CB704 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - muls r0, r4 - movs r1, 0x64 - str r2, [sp] - bl __divsi3 - adds r5, r0 - mov r3, r9 - strh r5, [r3, 0x20] - ldr r2, [sp] - lsls r0, r2, 16 - asrs r0, 16 - movs r3, 0 - ldrsh r1, [r6, r3] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - add r8, r0 - mov r1, r8 - mov r0, r9 - strh r1, [r0, 0x22] - ldrh r0, [r6, 0x2] - mov r3, r9 - strh r0, [r3, 0x24] - ldrh r0, [r6, 0x4] - strh r0, [r3, 0x26] - ldrb r0, [r6, 0x6] - adds r0, 0x1E - mov r1, r9 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0x8] - mov r0, r9 - bl StartSpriteAnim - ldrh r0, [r6, 0xA] - mov r1, r9 - strh r0, [r1, 0x32] - ldr r0, _080CB708 @ =sub_80CB710 - str r0, [r1, 0x1C] - ldr r1, _080CB70C @ =gUnknown_03000728 - mov r3, r9 - ldrh r0, [r3, 0x20] - strh r0, [r1] - ldrh r0, [r3, 0x22] - strh r0, [r1, 0x2] - mov r0, r10 - strh r0, [r1, 0x4] - ldr r2, [sp] - strh r2, [r1, 0x6] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB6FC: .4byte gBattleAnimPlayerMonIndex -_080CB700: .4byte gBattleAnimEnemyMonIndex -_080CB704: .4byte gBattleAnimArgs -_080CB708: .4byte sub_80CB710 -_080CB70C: .4byte gUnknown_03000728 - thumb_func_end sub_80CB620 - - thumb_func_start sub_80CB710 -sub_80CB710: @ 80CB710 - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x2E] - adds r1, 0x1 - strh r1, [r3, 0x2E] - lsls r1, 16 - asrs r1, 16 - movs r2, 0x32 - ldrsh r0, [r3, r2] - subs r0, 0xA - cmp r1, r0 - ble _080CB750 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - movs r2, 0x3E - adds r2, r3 - mov r12, r2 - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] -_080CB750: - movs r2, 0x2E - ldrsh r1, [r3, r2] - movs r2, 0x32 - ldrsh r0, [r3, r2] - cmp r1, r0 - ble _080CB762 - adds r0, r3, 0 - bl move_anim_8072740 -_080CB762: - pop {r0} - bx r0 - thumb_func_end sub_80CB710 - - thumb_func_start sub_80CB768 -sub_80CB768: @ 80CB768 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080CB7A8 - ldr r5, _080CB7E4 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - ldr r4, _080CB7E8 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r2, [r4] - adds r0, r2 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r6, 0x22] - ldrh r0, [r4, 0x4] - strh r0, [r6, 0x30] - ldrh r0, [r4, 0x6] - strh r0, [r6, 0x32] - ldrh r0, [r4, 0x8] - strh r0, [r6, 0x34] -_080CB7A8: - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] - ldrh r1, [r6, 0x30] - muls r0, r1 - strh r0, [r6, 0x24] - movs r2, 0x2E - ldrsh r1, [r6, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - movs r1, 0xFF - ands r0, r1 - movs r2, 0x32 - ldrsh r1, [r6, r2] - bl Sin - strh r0, [r6, 0x26] - movs r0, 0x2E - ldrsh r1, [r6, r0] - movs r2, 0x34 - ldrsh r0, [r6, r2] - cmp r1, r0 - ble _080CB7DE - adds r0, r6, 0 - bl move_anim_8072740 -_080CB7DE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB7E4: .4byte gBattleAnimPlayerMonIndex -_080CB7E8: .4byte gBattleAnimArgs - thumb_func_end sub_80CB768 - - thumb_func_start sub_80CB7EC -sub_80CB7EC: @ 80CB7EC - push {r4,r5,lr} - movs r2, 0x20 - ldrsh r4, [r0, r2] - lsls r4, 8 - movs r3, 0x22 - ldrsh r2, [r0, r3] - orrs r4, r2 - movs r5, 0x3A - ldrsh r2, [r0, r5] - lsls r2, 8 - movs r5, 0x3C - ldrsh r3, [r0, r5] - orrs r2, r3 - lsls r1, 8 - strh r4, [r0, 0x38] - strh r2, [r0, 0x3A] - strh r1, [r0, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80CB7EC - - thumb_func_start sub_80CB814 -sub_80CB814: @ 80CB814 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - ldrh r0, [r0, 0x38] - lsrs r1, r0, 8 - mov r10, r1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r1, r8 - ldrh r0, [r1, 0x3A] - lsrs r2, r0, 8 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r1, [r1, 0x3C] - lsls r0, r1, 16 - asrs r0, 24 - lsls r0, 16 - lsrs r6, r0, 16 - movs r3, 0xFF - ands r3, r1 - cmp r2, 0 - bne _080CB84E - movs r2, 0x20 - negs r2, r2 - b _080CB856 -_080CB84E: - cmp r2, 0xFF - bne _080CB856 - movs r2, 0x88 - lsls r2, 1 -_080CB856: - mov r0, r9 - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - mov r1, r10 - subs r0, r2, r1 - lsls r5, r3, 16 - asrs r5, 16 - muls r0, r5 - lsls r1, r6, 16 - asrs r7, r1, 16 - adds r1, r7, 0 - bl __divsi3 - adds r6, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - muls r0, r5 - adds r1, r7, 0 - bl __divsi3 - add r6, r10 - mov r1, r8 - strh r6, [r1, 0x20] - add r0, r9 - strh r0, [r1, 0x22] - adds r5, 0x1 - lsls r5, 16 - lsrs r3, r5, 16 - asrs r5, 16 - cmp r5, r7 - beq _080CB8A8 - lsls r1, r7, 8 - lsls r0, r3, 16 - asrs r0, 16 - orrs r0, r1 - mov r1, r8 - strh r0, [r1, 0x3C] - movs r0, 0 - b _080CB8AA -_080CB8A8: - movs r0, 0x1 -_080CB8AA: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80CB814 - - thumb_func_start sub_80CB8B8 -sub_80CB8B8: @ 80CB8B8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0xA - bne _080CB8CC - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080CB8CC: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - ble _080CB8E0 - adds r0, r4, 0 - bl move_anim_8072740 -_080CB8E0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CB8B8 - - thumb_func_start sub_80CB8E8 -sub_80CB8E8: @ 80CB8E8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - ldrh r1, [r4, 0x2E] - adds r1, r0 - movs r5, 0 - strh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080CB912 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - strh r5, [r4, 0x2E] -_080CB912: - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - ldrsh r2, [r4, r1] - lsls r2, 3 - movs r1, 0x1E - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - bl sub_80CB814 - lsls r0, 24 - cmp r0, 0 - beq _080CB942 - strh r5, [r4, 0x26] - strh r5, [r4, 0x2E] - ldr r0, _080CB948 @ =sub_80CB8B8 - str r0, [r4, 0x1C] -_080CB942: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CB948: .4byte sub_80CB8B8 - thumb_func_end sub_80CB8E8 - - thumb_func_start sub_80CB94C -sub_80CB94C: @ 80CB94C - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0 - bl sub_80787B0 - ldr r4, _080CB994 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080CB998 @ =gBattleAnimPlayerMonIndex - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - ldrb r4, [r4] - cmp r0, r4 - bne _080CB99C - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80CB7EC - movs r0, 0x1 - b _080CB9AE - .align 2, 0 -_080CB994: .4byte gBattleAnimEnemyMonIndex -_080CB998: .4byte gBattleAnimPlayerMonIndex -_080CB99C: - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80CB7EC - movs r0, 0x3 -_080CB9AE: - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, _080CB9C0 @ =sub_80CB8E8 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CB9C0: .4byte sub_80CB8E8 - thumb_func_end sub_80CB94C - - thumb_func_start sub_80CB9C4 -sub_80CB9C4: @ 80CB9C4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - ldrh r1, [r4, 0x2E] - adds r1, r0 - movs r5, 0 - strh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080CB9EE - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - strh r5, [r4, 0x2E] -_080CB9EE: - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - ldrsh r2, [r4, r1] - lsls r2, 3 - movs r1, 0x1E - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - bl sub_80CB814 - lsls r0, 24 - cmp r0, 0 - beq _080CBA20 - strh r5, [r4, 0x26] - strh r5, [r4, 0x2E] - adds r0, r4, 0 - bl move_anim_8072740 -_080CBA20: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80CB9C4 - - thumb_func_start sub_80CBA28 -sub_80CBA28: @ 80CBA28 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080CBA64 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080CBA6C - strh r0, [r5, 0x3A] - adds r0, r6, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x28 - bl sub_80CB7EC - movs r0, 0x3 - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, _080CBA68 @ =sub_80CB8E8 - b _080CBA96 - .align 2, 0 -_080CBA64: .4byte gBattleAnimEnemyMonIndex -_080CBA68: .4byte sub_80CB8E8 -_080CBA6C: - movs r0, 0xFF - strh r0, [r5, 0x3A] - adds r0, r6, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CBA84 - movs r0, 0 - strh r0, [r5, 0x3A] -_080CBA84: - adds r0, r5, 0 - movs r1, 0x28 - bl sub_80CB7EC - movs r0, 0x3 - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, _080CBAA0 @ =sub_80CB9C4 -_080CBA96: - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CBAA0: .4byte sub_80CB9C4 - thumb_func_end sub_80CBA28 - - thumb_func_start sub_80CBAA4 -sub_80CBAA4: @ 80CBAA4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080CBABE - adds r0, r4, 0 - movs r1, 0 - bl sub_8078764 - ldr r0, _080CBAE4 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x30] -_080CBABE: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - muls r0, r1 - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080CBADE - adds r0, r4, 0 - bl move_anim_8072740 -_080CBADE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CBAE4: .4byte gBattleAnimArgs - thumb_func_end sub_80CBAA4 - - thumb_func_start sub_80CBAE8 -sub_80CBAE8: @ 80CBAE8 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0 - bl sub_8078764 - ldr r4, _080CBB30 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080CBB34 @ =gBattleAnimEnemyMonIndex - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - ldrb r4, [r4] - cmp r0, r4 - bne _080CBB38 - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80CB7EC - movs r0, 0x1 - b _080CBB4A - .align 2, 0 -_080CBB30: .4byte gBattleAnimPlayerMonIndex -_080CBB34: .4byte gBattleAnimEnemyMonIndex -_080CBB38: - strh r6, [r5, 0x3A] - adds r0, r2, 0 - adds r0, 0xA - strh r0, [r5, 0x3C] - adds r0, r5, 0 - movs r1, 0x3C - bl sub_80CB7EC - movs r0, 0x3 -_080CBB4A: - strh r0, [r5, 0x34] - movs r0, 0x3C - strh r0, [r5, 0x36] - ldr r0, _080CBB5C @ =sub_80CBB60 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CBB5C: .4byte sub_80CBB60 - thumb_func_end sub_80CBAE8 - - thumb_func_start sub_80CBB60 -sub_80CBB60: @ 80CBB60 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 7 - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl __divsi3 - ldrh r1, [r4, 0x2E] - adds r1, r0 - movs r5, 0 - strh r1, [r4, 0x2E] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7F - ble _080CBB8A - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - strh r5, [r4, 0x2E] -_080CBB8A: - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x30 - ldrsh r2, [r4, r1] - lsls r2, 3 - movs r1, 0x1E - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - bne _080CBBBE - movs r0, 0x3F - bl sub_8076F98 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x7D - bl PlaySE12WithPanning -_080CBBBE: - adds r0, r4, 0 - bl sub_80CB814 - lsls r0, 24 - cmp r0, 0 - beq _080CBBE6 - strh r5, [r4, 0x26] - strh r5, [r4, 0x2E] - ldr r0, _080CBBEC @ =sub_80CB8B8 - str r0, [r4, 0x1C] - movs r0, 0x40 - negs r0, r0 - bl sub_8076F98 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x7D - bl PlaySE12WithPanning -_080CBBE6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CBBEC: .4byte sub_80CB8B8 - thumb_func_end sub_80CBB60 - - thumb_func_start sub_80CBBF0 -sub_80CBBF0: @ 80CBBF0 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080CBC84 - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080CBC18 - ldr r0, _080CBC14 @ =gBattleAnimArgs - ldrh r1, [r0, 0x2] - strh r1, [r4, 0x30] - movs r1, 0x78 - strh r1, [r4, 0x20] - adds r5, r0, 0 - b _080CBC3A - .align 2, 0 -_080CBC14: .4byte gBattleAnimArgs -_080CBC18: - ldr r0, _080CBC74 @ =gBattleAnimArgs - movs r1, 0x2 - ldrsh r3, [r0, r1] - adds r1, r3, 0 - subs r1, 0x20 - adds r2, r1, 0 - adds r5, r0, 0 - cmp r1, 0 - bge _080CBC2E - adds r2, r3, 0 - adds r2, 0xDF -_080CBC2E: - asrs r0, r2, 8 - lsls r0, 8 - subs r0, r1, r0 - strh r0, [r4, 0x30] - movs r0, 0x46 - strh r0, [r4, 0x20] -_080CBC3A: - ldrh r0, [r5] - strh r0, [r4, 0x22] - strh r0, [r4, 0x32] - movs r0, 0x14 - strh r0, [r4, 0x36] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x3C - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - ldr r0, _080CBC78 @ =sub_80CBC8C - str r0, [r4, 0x1C] - ldrh r0, [r4, 0x30] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBE - bhi _080CBC7C - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F - b _080CBC82 - .align 2, 0 -_080CBC74: .4byte gBattleAnimArgs -_080CBC78: .4byte sub_80CBC8C -_080CBC7C: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D -_080CBC82: - strb r0, [r1] -_080CBC84: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80CBBF0 - - thumb_func_start sub_80CBC8C -sub_80CBC8C: @ 80CBC8C - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080CBC9E - cmp r0, 0x1 - beq _080CBCCE - b _080CBCEE -_080CBC9E: - ldrh r5, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x4E - ble _080CBCB6 - movs r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _080CBCEE -_080CBCB6: - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __divsi3 - adds r0, r5, r0 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x36] - adds r1, 0x3 - strh r1, [r4, 0x36] - strh r0, [r4, 0x22] - b _080CBCEE -_080CBCCE: - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080CBCEE - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080CBCEE - movs r0, 0 - strh r0, [r4, 0x2E] - strh r0, [r4, 0x32] - ldr r0, _080CBCF4 @ =sub_80CBCF8 - str r0, [r4, 0x1C] -_080CBCEE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CBCF4: .4byte sub_80CBCF8 - thumb_func_end sub_80CBC8C - - thumb_func_start sub_80CBCF8 -sub_80CBCF8: @ 80CBCF8 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _080CBD3C @ =gUnknown_083D680C - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r3, r0, r1 - adds r0, r5, 0x1 - adds r0, r3, r0 - ldrh r2, [r4, 0x32] - movs r6, 0x32 - ldrsh r1, [r4, r6] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r1, r0 - bne _080CBD44 - adds r0, r5, 0x2 - adds r0, r3, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x7F - bne _080CBD30 - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080CBD40 @ =sub_80CBDB0 - str r0, [r4, 0x1C] -_080CBD30: - movs r0, 0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080CBDAA - .align 2, 0 -_080CBD3C: .4byte gUnknown_083D680C -_080CBD40: .4byte sub_80CBDB0 -_080CBD44: - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - adds r1, r0, r5 - movs r2, 0 - ldrsb r2, [r1, r2] - adds r1, r5, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r0, r2 - ldrh r1, [r4, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080CBD92 - ldrh r0, [r4, 0x30] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBE - bhi _080CBD8A - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F - b _080CBD90 -_080CBD8A: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D -_080CBD90: - strb r0, [r1] -_080CBD92: - movs r6, 0x30 - ldrsh r0, [r4, r6] - movs r1, 0x3C - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] -_080CBDAA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CBCF8 - - thumb_func_start sub_80CBDB0 -sub_80CBDB0: @ 80CBDB0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x14 - ble _080CBDC2 - adds r0, r4, 0 - bl move_anim_8072740 -_080CBDC2: - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsrs r0, r1, 31 - adds r0, r1, r0 - asrs r0, 1 - lsls r0, 1 - subs r1, r0 - adds r3, r4, 0 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CBDB0 - - thumb_func_start sub_80CBDF4 -sub_80CBDF4: @ 80CBDF4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080CBF48 @ =gTasks - adds r5, r0, r1 - ldr r4, _080CBF4C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - bl sub_8079E90 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - strh r0, [r5, 0x10] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x14] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x16] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_807A100 - strh r0, [r5, 0x1C] - ldrb r0, [r4] - movs r1, 0 - bl sub_807A100 - strh r0, [r5, 0x1E] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0x1 - bne _080CBE5C - movs r1, 0x1 -_080CBE5C: - strh r1, [r5, 0x12] - movs r3, 0x12 - ldrsh r0, [r5, r3] - lsls r0, 6 - movs r1, 0x38 - subs r1, r0 - strh r1, [r5, 0x1A] - ldrh r0, [r5, 0x16] - subs r0, r1 - ldrh r1, [r5, 0x14] - adds r0, r1 - strh r0, [r5, 0x18] - ldr r0, _080CBF50 @ =gSpriteTemplate_83D6884 - movs r2, 0x18 - ldrsh r1, [r5, r2] - movs r3, 0x1A - ldrsh r2, [r5, r3] - ldrb r3, [r5, 0x10] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xC] - cmp r0, 0x40 - bne _080CBE94 - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080CBE94: - ldr r4, _080CBF54 @ =gSprites - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA - strh r1, [r0, 0x2E] - movs r2, 0xC - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x18] - strh r1, [r0, 0x30] - movs r3, 0xC - ldrsh r0, [r5, r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - movs r1, 0x1C - ldrsh r0, [r5, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r5, r3] - muls r1, r0 - ldrh r0, [r5, 0x14] - subs r0, r1 - strh r0, [r2, 0x32] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r5, 0x1A] - strh r1, [r0, 0x34] - movs r1, 0xC - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x1E - ldrsh r0, [r5, r2] - lsrs r2, r0, 31 - adds r0, r2 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r2, [r5, r3] - muls r0, r2 - ldrh r2, [r5, 0x16] - adds r0, r2 - strh r0, [r1, 0x36] - movs r3, 0xC - ldrsh r1, [r5, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl sub_80CC338 - movs r1, 0xC - ldrsh r2, [r5, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - strh r0, [r1, 0x38] - movs r2, 0xC - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl sub_80786EC - ldr r0, _080CBF58 @ =sub_80CBF5C - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CBF48: .4byte gTasks -_080CBF4C: .4byte gBattleAnimEnemyMonIndex -_080CBF50: .4byte gSpriteTemplate_83D6884 -_080CBF54: .4byte gSprites -_080CBF58: .4byte sub_80CBF5C - thumb_func_end sub_80CBDF4 - - thumb_func_start sub_80CBF5C -sub_80CBF5C: @ 80CBF5C - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080CBFA0 @ =gTasks - adds r6, r0, r1 - movs r0, 0xC - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080CBFA4 @ =gSprites - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r5, [r6, r1] - cmp r5, 0x7 - bne _080CBF84 - b _080CC1B4 -_080CBF84: - cmp r5, 0x7 - bgt _080CBFD2 - cmp r5, 0x3 - bne _080CBF8E - b _080CC0A6 -_080CBF8E: - cmp r5, 0x3 - bgt _080CBFA8 - cmp r5, 0x1 - beq _080CC038 - cmp r5, 0x1 - bgt _080CC088 - cmp r5, 0 - beq _080CC01A - b _080CC330 - .align 2, 0 -_080CBFA0: .4byte gTasks -_080CBFA4: .4byte gSprites -_080CBFA8: - cmp r5, 0x5 - bne _080CBFAE - b _080CC11C -_080CBFAE: - cmp r5, 0x5 - ble _080CBFB4 - b _080CC196 -_080CBFB4: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80CC358 - adds r0, r4, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - bne _080CBFCA - b _080CC330 -_080CBFCA: - movs r0, 0x5 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080CC32E -_080CBFD2: - cmp r5, 0xB - bne _080CBFD8 - b _080CC298 -_080CBFD8: - cmp r5, 0xB - bgt _080CC006 - cmp r5, 0x9 - bne _080CBFE2 - b _080CC206 -_080CBFE2: - cmp r5, 0x9 - ble _080CBFE8 - b _080CC27C -_080CBFE8: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80CC358 - adds r0, r4, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - bne _080CBFFE - b _080CC330 -_080CBFFE: - movs r0, 0x9 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080CC32E -_080CC006: - cmp r5, 0xD - bne _080CC00C - b _080CC30A -_080CC00C: - cmp r5, 0xD - bge _080CC012 - b _080CC2EA -_080CC012: - cmp r5, 0xFF - bne _080CC018 - b _080CC31A -_080CC018: - b _080CC330 -_080CC01A: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80CC358 - adds r0, r4, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - bne _080CC030 - b _080CC330 -_080CC030: - movs r0, 0x1 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080CC32E -_080CC038: - ldrh r2, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r2, r3 - movs r0, 0 - strh r2, [r4, 0x20] - ldrh r1, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrh r0, [r6, 0x14] - strh r0, [r4, 0x32] - strh r1, [r4, 0x34] - ldrh r0, [r6, 0x16] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80CC338 - strh r0, [r4, 0x38] - ldrh r0, [r6, 0x10] - adds r0, 0x2 - strh r0, [r6, 0x10] - strh r5, [r6, 0xE] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_80786EC - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080CC32E -_080CC088: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80CC358 - adds r0, r4, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - bne _080CC09E - b _080CC330 -_080CC09E: - movs r0, 0x3 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080CC32E -_080CC0A6: - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r1, r0 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r1, r0 - ldrh r0, [r6, 0x14] - subs r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - movs r1, 0x1E - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r2, 0x12 - ldrsh r1, [r6, r2] - muls r1, r0 - ldrh r0, [r6, 0x16] - subs r0, r1 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80CC338 - strh r0, [r4, 0x38] - movs r0, 0x2 - strh r0, [r6, 0xE] - ldrh r0, [r6, 0x10] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_80786EC - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080CC32E -_080CC11C: - ldrh r1, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r1, r3 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r0, r1 - ldrh r1, [r6, 0x14] - adds r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - movs r2, 0x1E - ldrsh r0, [r6, r2] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r0, r1 - ldrh r1, [r6, 0x16] - adds r0, r1 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80CC338 - strh r0, [r4, 0x38] - ldrh r1, [r6, 0x10] - subs r1, 0x2 - strh r1, [r6, 0x10] - movs r0, 0x3 - strh r0, [r6, 0xE] - adds r0, r4, 0 - adds r0, 0x43 - strb r1, [r0] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_80786EC - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080CC32E -_080CC196: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80CC358 - adds r0, r4, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - bne _080CC1AC - b _080CC330 -_080CC1AC: - movs r0, 0x7 - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080CC32E -_080CC1B4: - ldrh r2, [r4, 0x24] - ldrh r3, [r4, 0x20] - adds r2, r3 - movs r0, 0 - strh r2, [r4, 0x20] - ldrh r1, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrh r0, [r6, 0x14] - strh r0, [r4, 0x32] - strh r1, [r4, 0x34] - ldrh r0, [r6, 0x16] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80CC338 - strh r0, [r4, 0x38] - ldrh r1, [r6, 0x10] - adds r1, 0x2 - strh r1, [r6, 0x10] - movs r0, 0x4 - strh r0, [r6, 0xE] - adds r0, r4, 0 - adds r0, 0x43 - strb r1, [r0] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_80786EC - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080CC32E -_080CC206: - ldrh r1, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r1, r0 - movs r0, 0 - strh r1, [r4, 0x20] - ldrh r2, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r2, r3 - strh r2, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r3, 0x12 - ldrsh r1, [r6, r3] - muls r1, r0 - ldrh r0, [r6, 0x14] - subs r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x34] - movs r1, 0x1E - ldrsh r0, [r6, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r0, 0xA - movs r2, 0x12 - ldrsh r1, [r6, r2] - muls r0, r1 - ldrh r3, [r6, 0x16] - adds r0, r3 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80CC338 - strh r0, [r4, 0x38] - movs r0, 0x5 - strh r0, [r6, 0xE] - ldrh r0, [r6, 0x10] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_80786EC - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080CC32E -_080CC27C: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80CC358 - adds r0, r4, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _080CC330 - movs r0, 0xB - strh r0, [r6, 0x26] - movs r0, 0xFF - b _080CC32E -_080CC298: - ldrh r2, [r4, 0x24] - ldrh r0, [r4, 0x20] - adds r2, r0 - movs r0, 0 - strh r2, [r4, 0x20] - ldrh r1, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r1, r3 - strh r1, [r4, 0x22] - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - movs r0, 0xA - strh r0, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrh r0, [r6, 0x18] - strh r0, [r4, 0x32] - strh r1, [r4, 0x34] - ldrh r0, [r6, 0x1A] - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl sub_80CC338 - strh r0, [r4, 0x38] - ldrh r1, [r6, 0x10] - subs r1, 0x2 - strh r1, [r6, 0x10] - movs r0, 0x6 - strh r0, [r6, 0xE] - adds r0, r4, 0 - adds r0, 0x43 - strb r1, [r0] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl sub_80786EC - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080CC32E -_080CC2EA: - adds r0, r6, 0 - adds r1, r2, 0 - bl sub_80CC358 - adds r0, r4, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _080CC330 - adds r0, r4, 0 - bl DestroySprite - ldrh r0, [r6, 0x8] - adds r0, 0x1 - b _080CC32E -_080CC30A: - movs r1, 0x20 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080CC330 - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _080CC330 -_080CC31A: - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080CC330 - movs r0, 0 - strh r0, [r6, 0xA] - ldrh r0, [r6, 0x26] -_080CC32E: - strh r0, [r6, 0x8] -_080CC330: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CBF5C - - thumb_func_start sub_80CC338 -sub_80CC338: @ 80CC338 - push {lr} - movs r2, 0x8 - movs r3, 0x36 - ldrsh r1, [r0, r3] - movs r3, 0x22 - ldrsh r0, [r0, r3] - cmp r1, r0 - bge _080CC34E - negs r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 -_080CC34E: - lsls r0, r2, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80CC338 - - thumb_func_start sub_80CC358 -sub_80CC358: @ 80CC358 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - ldrh r0, [r6, 0x24] - adds r0, 0x1 - strh r0, [r6, 0x24] - lsls r0, 16 - cmp r0, 0 - ble _080CC3EE - movs r0, 0 - strh r0, [r6, 0x24] - ldr r0, _080CC3F8 @ =gSprites - mov r8, r0 - movs r2, 0xC - ldrsh r1, [r6, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - ldrh r2, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r2, r0 - ldr r0, _080CC3FC @ =gSpriteTemplate_83D6884 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - ldrb r3, [r6, 0x10] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080CC3EE - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - mov r0, r8 - adds r4, r5, r0 - strh r7, [r4, 0x3A] - movs r0, 0xC - strh r0, [r4, 0x3C] - ldr r0, _080CC400 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldrh r2, [r6, 0x22] - movs r0, 0x1 - ands r0, r2 - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] - ldrb r1, [r6, 0xE] - adds r0, r4, 0 - bl StartSpriteAnim - ldrh r0, [r6, 0x10] - adds r4, 0x43 - strb r0, [r4] - mov r0, r8 - adds r0, 0x1C - adds r5, r0 - ldr r0, _080CC404 @ =sub_80CC408 - str r0, [r5] -_080CC3EE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CC3F8: .4byte gSprites -_080CC3FC: .4byte gSpriteTemplate_83D6884 -_080CC400: .4byte gTasks -_080CC404: .4byte sub_80CC408 - thumb_func_end sub_80CC358 - - thumb_func_start sub_80CC408 -sub_80CC408: @ 80CC408 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080CC46A - movs r0, 0 - strh r0, [r4, 0x2E] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - 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 - strb r0, [r3] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080CC46A - ldr r3, _080CC470 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x3A - 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 -_080CC46A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CC470: .4byte gTasks - thumb_func_end sub_80CC408 - - thumb_func_start sub_80CC474 -sub_80CC474: @ 80CC474 - push {r4-r7,lr} - adds r4, r0, 0 - ldr r0, _080CC488 @ =gBattleAnimArgs - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080CC490 - ldr r0, _080CC48C @ =gBattleAnimPlayerMonIndex - b _080CC492 - .align 2, 0 -_080CC488: .4byte gBattleAnimArgs -_080CC48C: .4byte gBattleAnimPlayerMonIndex -_080CC490: - ldr r0, _080CC4B0 @ =gBattleAnimEnemyMonIndex -_080CC492: - ldrb r6, [r0] - adds r0, r6, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CC4BC - movs r0, 0 - strh r0, [r4, 0x36] - ldr r1, _080CC4B4 @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x32] - ldr r0, _080CC4B8 @ =0x0000fff0 - b _080CC4CC - .align 2, 0 -_080CC4B0: .4byte gBattleAnimEnemyMonIndex -_080CC4B4: .4byte gBattleAnimArgs -_080CC4B8: .4byte 0x0000fff0 -_080CC4BC: - movs r0, 0x1 - strh r0, [r4, 0x36] - ldr r1, _080CC4F0 @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r4, 0x32] - movs r0, 0x80 - lsls r0, 1 -_080CC4CC: - strh r0, [r4, 0x20] - adds r7, r1, 0 - adds r5, r7, 0 - ldrh r0, [r5, 0x2] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x34] - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080CC502 - cmp r0, 0x1 - bgt _080CC4F4 - cmp r0, 0 - beq _080CC4FE - b _080CC56C - .align 2, 0 -_080CC4F0: .4byte gBattleAnimArgs -_080CC4F4: - cmp r0, 0x2 - beq _080CC508 - cmp r0, 0x3 - beq _080CC534 - b _080CC56C -_080CC4FE: - ldrh r0, [r5] - b _080CC518 -_080CC502: - ldrh r0, [r5] - strh r0, [r4, 0x22] - b _080CC54E -_080CC508: - adds r0, r6, 0 - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5] - adds r0, r5 -_080CC518: - strh r0, [r4, 0x22] - adds r0, r6, 0 - bl sub_8079ED4 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - b _080CC56C -_080CC534: - ldr r0, _080CC578 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r7, [r7] - adds r0, r7 - strh r0, [r4, 0x22] - movs r0, 0x1 - bl obj_id_for_side_relative_to_move -_080CC54E: - adds r0, r6, 0 - bl sub_8079ED4 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r4, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x5] -_080CC56C: - ldr r0, _080CC57C @ =sub_80CC580 - str r0, [r4, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CC578: .4byte gBattleAnimEnemyMonIndex -_080CC57C: .4byte sub_80CC580 - thumb_func_end sub_80CC474 - - thumb_func_start sub_80CC580 -sub_80CC580: @ 80CC580 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x3C - ldrsh r3, [r4, r0] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - movs r1, 0x30 - ldrsh r2, [r4, r1] - ldr r1, _080CC5D4 @ =gSineTable - movs r5, 0x2E - ldrsh r0, [r4, r5] - lsls r0, 1 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - muls r0, r2 - asrs r0, 8 - strh r0, [r4, 0x26] - movs r2, 0x32 - ldrsh r0, [r4, r2] - muls r0, r3 - strh r0, [r4, 0x24] - movs r5, 0x34 - ldrsh r0, [r4, r5] - muls r0, r3 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080CC5D8 - movs r2, 0x24 - ldrsh r0, [r4, r2] - movs r5, 0x20 - ldrsh r1, [r4, r5] - adds r0, r1 - cmp r0, 0xF7 - ble _080CC5F0 - b _080CC5EA - .align 2, 0 -_080CC5D4: .4byte gSineTable -_080CC5D8: - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r2, 0x20 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bgt _080CC5F0 -_080CC5EA: - adds r0, r4, 0 - bl move_anim_8074EE0 -_080CC5F0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80CC580 - - thumb_func_start sub_80CC5F8 -sub_80CC5F8: @ 80CC5F8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080CC618 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080CC61C - cmp r0, 0x1 - beq _080CC650 - b _080CC6AA - .align 2, 0 -_080CC618: .4byte gTasks -_080CC61C: - ldr r0, _080CC648 @ =0x0000274f - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r2, 0x80 - lsls r2, 1 - adds r4, r2, 0 - adds r0, r4 - strh r0, [r5, 0x18] - ldr r0, _080CC64C @ =0x000027b0 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - adds r0, r4 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080CC6AA - .align 2, 0 -_080CC648: .4byte 0x0000274f -_080CC64C: .4byte 0x000027b0 -_080CC650: - ldrh r0, [r5, 0x1A] - adds r0, 0x1 - movs r7, 0 - strh r0, [r5, 0x1A] - lsls r0, 16 - cmp r0, 0 - blt _080CC6AA - strh r7, [r5, 0x1A] - ldrh r0, [r5, 0x18] - ldrb r2, [r5, 0x1C] - ldr r4, _080CC6C4 @ =gUnknown_083D6984 - movs r3, 0x1E - ldrsh r1, [r5, r3] - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r5, 0x20] - ldrb r2, [r5, 0x1C] - movs r3, 0x1E - ldrsh r1, [r5, r3] - lsls r1, 1 - adds r1, r4 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x11 - bne _080CC6AA - strh r7, [r5, 0x1C] - ldrh r0, [r5, 0x1E] - adds r0, 0x1 - strh r0, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bne _080CC6AA - strh r7, [r5, 0x1E] -_080CC6AA: - ldr r0, _080CC6C8 @ =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080CC6BE - adds r0, r6, 0 - bl DestroyAnimVisualTask -_080CC6BE: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CC6C4: .4byte gUnknown_083D6984 -_080CC6C8: .4byte gBattleAnimArgs - thumb_func_end sub_80CC5F8 - - thumb_func_start sub_80CC6CC -sub_80CC6CC: @ 80CC6CC - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldr r1, _080CC6E4 @ =gBattleAnimArgs - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080CC6E8 - adds r0, r6, 0 - bl move_anim_8072740 - b _080CC7C2 - .align 2, 0 -_080CC6E4: .4byte gBattleAnimArgs -_080CC6E8: - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080CC6F8 - ldr r4, _080CC6F4 @ =gBattleAnimPlayerMonIndex - b _080CC6FA - .align 2, 0 -_080CC6F4: .4byte gBattleAnimPlayerMonIndex -_080CC6F8: - ldr r4, _080CC734 @ =gBattleAnimEnemyMonIndex -_080CC6FA: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080CC738 @ =gBattleAnimArgs - ldrh r1, [r0, 0x8] - strh r1, [r6, 0x2E] - movs r3, 0x2 - ldrsh r1, [r0, r3] - adds r7, r0, 0 - cmp r1, 0 - bne _080CC73C - ldrh r0, [r7, 0x4] - adds r0, r5 - strh r0, [r6, 0x20] - ldrh r0, [r7, 0x6] - adds r0, r2 - strh r0, [r6, 0x22] - strh r5, [r6, 0x38] - strh r2, [r6, 0x3A] - b _080CC74C - .align 2, 0 -_080CC734: .4byte gBattleAnimEnemyMonIndex -_080CC738: .4byte gBattleAnimArgs -_080CC73C: - strh r5, [r6, 0x20] - strh r2, [r6, 0x22] - ldrh r0, [r7, 0x4] - adds r0, r5 - strh r0, [r6, 0x38] - ldrh r0, [r7, 0x6] - adds r0, r2 - strh r0, [r6, 0x3A] -_080CC74C: - ldrh r4, [r6, 0x20] - lsls r0, r4, 4 - strh r0, [r6, 0x30] - ldrh r5, [r6, 0x22] - lsls r0, r5, 4 - strh r0, [r6, 0x32] - movs r1, 0x38 - ldrsh r0, [r6, r1] - movs r2, 0x20 - ldrsh r1, [r6, r2] - subs r0, r1 - lsls r0, 4 - movs r3, 0x8 - ldrsh r1, [r7, r3] - bl __divsi3 - strh r0, [r6, 0x34] - movs r1, 0x3A - ldrsh r0, [r6, r1] - movs r2, 0x22 - ldrsh r1, [r6, r2] - subs r0, r1 - lsls r0, 4 - movs r3, 0x8 - ldrsh r1, [r7, r3] - bl __divsi3 - strh r0, [r6, 0x36] - ldrh r0, [r6, 0x38] - subs r0, r4 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r6, 0x3A] - subs r1, r5 - lsls r1, 16 - asrs r1, 16 - bl sub_80790F0 - lsls r0, 16 - lsrs r4, r0, 16 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CC7AE - ldr r1, _080CC7CC @ =0xffff8000 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_080CC7AE: - movs r3, 0x80 - lsls r3, 1 - str r4, [sp] - adds r0, r6, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8078FDC - ldr r0, _080CC7D0 @ =sub_80CC7D4 - str r0, [r6, 0x1C] -_080CC7C2: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CC7CC: .4byte 0xffff8000 -_080CC7D0: .4byte sub_80CC7D4 - thumb_func_end sub_80CC6CC - - thumb_func_start sub_80CC7D4 -sub_80CC7D4: @ 80CC7D4 - push {r4,lr} - adds r2, r0, 0 - ldrh r3, [r2, 0x2E] - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080CC804 - ldrh r0, [r2, 0x34] - ldrh r4, [r2, 0x30] - adds r0, r4 - strh r0, [r2, 0x30] - ldrh r1, [r2, 0x36] - ldrh r4, [r2, 0x32] - adds r1, r4 - strh r1, [r2, 0x32] - lsls r0, 16 - asrs r0, 20 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r2, 0x22] - subs r0, r3, 0x1 - strh r0, [r2, 0x2E] - b _080CC80A -_080CC804: - adds r0, r2, 0 - bl move_anim_8074EE0 -_080CC80A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CC7D4 - - thumb_func_start sub_80CC810 -sub_80CC810: @ 80CC810 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080CC826 - adds r0, r2, 0 - bl move_anim_8072740 -_080CC826: - pop {r0} - bx r0 - thumb_func_end sub_80CC810 - - thumb_func_start sub_80CC82C -sub_80CC82C: @ 80CC82C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080CC84C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CC854 - ldr r2, _080CC850 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - b _080CC860 - .align 2, 0 -_080CC84C: .4byte gBattleAnimPlayerMonIndex -_080CC850: .4byte gBattleAnimArgs -_080CC854: - ldr r0, _080CC878 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] -_080CC860: - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _080CC87C @ =sub_8078600 - str r0, [r4, 0x1C] - ldr r1, _080CC880 @ =move_anim_8072740 - adds r0, r4, 0 - bl oamt_set_x3A_32 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CC878: .4byte gBattleAnimArgs -_080CC87C: .4byte sub_8078600 -_080CC880: .4byte move_anim_8072740 - thumb_func_end sub_80CC82C - - thumb_func_start sub_80CC884 -sub_80CC884: @ 80CC884 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080CC8BC @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CC89E - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080CC89E: - ldr r0, _080CC8C0 @ =sub_80CC810 - str r0, [r5, 0x1C] - ldr r4, _080CC8C4 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r4, r0] - adds r0, r5, 0 - bl sub_807867C - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CC8BC: .4byte gBattleAnimPlayerMonIndex -_080CC8C0: .4byte sub_80CC810 -_080CC8C4: .4byte gBattleAnimArgs - thumb_func_end sub_80CC884 - - thumb_func_start sub_80CC8C8 -sub_80CC8C8: @ 80CC8C8 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080CC908 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x38] - ldrb r1, [r1, 0xC] - adds r0, r4, 0 - bl StartSpriteAffineAnim - ldr r1, _080CC90C @ =move_anim_8074EE0 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CC910 @ =sub_8078504 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CC908: .4byte gBattleAnimArgs -_080CC90C: .4byte move_anim_8074EE0 -_080CC910: .4byte sub_8078504 - thumb_func_end sub_80CC8C8 - - thumb_func_start sub_80CC914 -sub_80CC914: @ 80CC914 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080CC964 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CC948 - ldrh r0, [r5, 0x22] - adds r0, 0x8 - strh r0, [r5, 0x22] -_080CC948: - ldr r0, _080CC968 @ =sub_80CCB00 - str r0, [r5, 0x1C] - ldr r0, _080CC96C @ =gBattleAnimArgs - movs r2, 0x4 - ldrsh r1, [r0, r2] - adds r3, r0, 0 - cmp r1, 0 - bne _080CC970 - ldrh r0, [r3] - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x20] - b _080CC984 - .align 2, 0 -_080CC964: .4byte gBattleAnimEnemyMonIndex -_080CC968: .4byte sub_80CCB00 -_080CC96C: .4byte gBattleAnimArgs -_080CC970: - ldrh r0, [r5, 0x20] - ldrh r1, [r3] - subs r0, r1 - strh r0, [r5, 0x20] - adds r2, r5, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_080CC984: - ldrh r0, [r3, 0x2] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - ldr r1, _080CC9B8 @ =0xfffffc00 - adds r0, r1, 0 - ldrh r2, [r5, 0x30] - adds r1, r0, r2 - strh r1, [r5, 0x30] - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - ldrh r2, [r5, 0x32] - adds r0, r2 - strh r0, [r5, 0x32] - ldrh r0, [r3, 0x4] - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080CC9B2 - negs r0, r1 - strh r0, [r5, 0x30] -_080CC9B2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CC9B8: .4byte 0xfffffc00 - thumb_func_end sub_80CC914 - - thumb_func_start sub_80CC9BC -sub_80CC9BC: @ 80CC9BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r0, _080CC9D8 @ =gBattleAnimArgs - movs r1, 0x6 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _080CC9DC - cmp r0, 0x1 - ble _080CCA58 - cmp r0, 0x2 - beq _080CC9FC - b _080CCA58 - .align 2, 0 -_080CC9D8: .4byte gBattleAnimArgs -_080CC9DC: - ldr r5, _080CC9F8 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r5] - movs r4, 0x2 - eors r0, r4 - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r5] - eors r4, r0 - adds r0, r4, 0 - b _080CCA68 - .align 2, 0 -_080CC9F8: .4byte gBattleAnimEnemyMonIndex -_080CC9FC: - ldr r5, _080CCA54 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r5] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r4, r0, 24 - ldrb r0, [r5] - movs r2, 0x2 - mov r8, r2 - mov r1, r8 - eors r0, r1 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080CCA72 - ldrb r0, [r5] - mov r2, r8 - eors r0, r2 - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, r7 - lsrs r7, r0, 1 - ldrb r0, [r5] - mov r1, r8 - eors r0, r1 - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - lsrs r4, r0, 1 - b _080CCA72 - .align 2, 0 -_080CCA54: .4byte gBattleAnimEnemyMonIndex -_080CCA58: - ldr r4, _080CCAA4 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] -_080CCA68: - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r4, r0, 24 -_080CCA72: - strh r7, [r6, 0x20] - strh r4, [r6, 0x22] - ldr r0, _080CCAA4 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CCA8A - ldrh r0, [r6, 0x22] - adds r0, 0x8 - strh r0, [r6, 0x22] -_080CCA8A: - ldr r0, _080CCAA8 @ =sub_80CCB00 - str r0, [r6, 0x1C] - ldr r0, _080CCAAC @ =gBattleAnimArgs - movs r2, 0x4 - ldrsh r1, [r0, r2] - adds r3, r0, 0 - cmp r1, 0 - bne _080CCAB0 - ldrh r0, [r3] - ldrh r1, [r6, 0x20] - adds r0, r1 - strh r0, [r6, 0x20] - b _080CCAC4 - .align 2, 0 -_080CCAA4: .4byte gBattleAnimEnemyMonIndex -_080CCAA8: .4byte sub_80CCB00 -_080CCAAC: .4byte gBattleAnimArgs -_080CCAB0: - ldrh r0, [r6, 0x20] - ldrh r1, [r3] - subs r0, r1 - strh r0, [r6, 0x20] - adds r2, r6, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] -_080CCAC4: - ldrh r0, [r3, 0x2] - ldrh r2, [r6, 0x22] - adds r0, r2 - strh r0, [r6, 0x22] - ldr r1, _080CCAFC @ =0xfffffc00 - adds r0, r1, 0 - ldrh r2, [r6, 0x30] - adds r1, r0, r2 - strh r1, [r6, 0x30] - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - ldrh r2, [r6, 0x32] - adds r0, r2 - strh r0, [r6, 0x32] - ldrh r0, [r3, 0x4] - strh r0, [r6, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080CCAF2 - negs r0, r1 - strh r0, [r6, 0x30] -_080CCAF2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CCAFC: .4byte 0xfffffc00 - thumb_func_end sub_80CC9BC - - thumb_func_start sub_80CCB00 -sub_80CCB00: @ 80CCB00 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x34] - adds r0, r1, r2 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - movs r2, 0x38 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080CCB22 - adds r0, r1, 0 - adds r0, 0x18 - b _080CCB26 -_080CCB22: - adds r0, r1, 0 - subs r0, 0x18 -_080CCB26: - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - subs r0, 0x18 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080CCB5C - ldr r1, _080CCB64 @ =move_anim_8072740 - adds r0, r4, 0 - bl oamt_set_x3A_32 - movs r0, 0x3 - strh r0, [r4, 0x2E] - ldr r0, _080CCB68 @ =sub_80782D8 - str r0, [r4, 0x1C] -_080CCB5C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CCB64: .4byte move_anim_8072740 -_080CCB68: .4byte sub_80782D8 - thumb_func_end sub_80CCB00 - - thumb_func_start unref_sub_80CCB6C -unref_sub_80CCB6C: @ 80CCB6C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r0, 0x1 - ble _080CCC10 - ldrh r1, [r5, 0x34] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CCBC8 - adds r3, r5, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - strb r0, [r3] - ldr r4, _080CCBC4 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r3, [r0] - adds r1, r2, 0 - ands r1, r3 - strb r1, [r0] - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - b _080CCBFE - .align 2, 0 -_080CCBC4: .4byte gSprites -_080CCBC8: - adds r1, r5, 0 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r3, _080CCC0C @ =gSprites - movs r0, 0x2E - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] -_080CCBFE: - movs r0, 0 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - b _080CCC14 - .align 2, 0 -_080CCC0C: .4byte gSprites -_080CCC10: - adds r0, r1, 0x1 - strh r0, [r5, 0x32] -_080CCC14: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xA - bne _080CCC44 - movs r2, 0x2E - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _080CCC4C @ =gSprites - adds r0, r4 - bl DestroySprite - movs r0, 0x30 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - adds r0, r5, 0 - bl move_anim_8072740 -_080CCC44: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CCC4C: .4byte gSprites - thumb_func_end unref_sub_80CCB6C - - thumb_func_start sub_80CCC50 -sub_80CCC50: @ 80CCC50 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _080CCC70 @ =gBattleAnimArgs - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x2E] - ldr r0, _080CCC74 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CCC78 - ldrh r0, [r5, 0x20] - ldrh r1, [r4] - subs r0, r1 - b _080CCC7E - .align 2, 0 -_080CCC70: .4byte gBattleAnimArgs -_080CCC74: .4byte gBattleAnimPlayerMonIndex -_080CCC78: - ldrh r0, [r4] - ldrh r1, [r5, 0x20] - adds r0, r1 -_080CCC7E: - strh r0, [r5, 0x20] - ldr r4, _080CCCAC @ =gBattleAnimArgs - ldrb r1, [r4, 0xA] - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x6] - negs r0, r0 - strh r0, [r5, 0x30] - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x34] - ldr r1, _080CCCB0 @ =sub_80CCCB4 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CCCAC: .4byte gBattleAnimArgs -_080CCCB0: .4byte sub_80CCCB4 - thumb_func_end sub_80CCC50 - - thumb_func_start sub_80CCCB4 -sub_80CCCB4: @ 80CCCB4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x64 - bl Cos - strh r0, [r4, 0x24] - movs r2, 0x2E - ldrsh r0, [r4, r2] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x7F - bgt _080CCCE0 - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0 - b _080CCCE6 -_080CCCE0: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0xE -_080CCCE6: - strb r0, [r1] - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x2E] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x38] - adds r0, 0x82 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x34 - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _080CCD1C - adds r0, r4, 0 - bl move_anim_8072740 -_080CCD1C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CCCB4 - - thumb_func_start sub_80CCD24 -sub_80CCD24: @ 80CCD24 - push {r4-r6,lr} - adds r5, r0, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CCD3A - ldr r1, _080CCD98 @ =gBattleAnimArgs - ldrh r0, [r1, 0x2] - adds r0, 0x8 - strh r0, [r1, 0x2] -_080CCD3A: - ldr r6, _080CCD9C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r6] - movs r1, 0 - bl sub_8077EE4 - lsls r0, 24 - ldr r4, _080CCD98 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r6] - movs r1, 0x1 - bl sub_8077EE4 - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r5, 0x22] - ldrb r0, [r6] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CCD78 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CCDA0 -_080CCD78: - ldrb r0, [r6] - bl sub_8079ED4 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - movs r1, 0x3 - ands r0, r1 - lsls r0, 2 - ldrb r2, [r5, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x5] - b _080CCDB8 - .align 2, 0 -_080CCD98: .4byte gBattleAnimArgs -_080CCD9C: .4byte gBattleAnimPlayerMonIndex -_080CCDA0: - ldrb r0, [r6] - bl sub_8079ED4 - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] -_080CCDB8: - ldr r0, _080CCDF8 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r5, 0x2E] - ldr r0, _080CCDFC @ =0x00002828 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r3, 0x80 - lsls r3, 1 - adds r0, r3 - strh r0, [r5, 0x32] - movs r2, 0x10 - movs r0, 0x10 - strh r0, [r5, 0x3C] - ldr r1, _080CCE00 @ =REG_BLDCNT - movs r3, 0xFD - lsls r3, 6 - adds r0, r3, 0 - strh r0, [r1] - ldr r3, _080CCE04 @ =REG_BLDALPHA - ldrh r1, [r5, 0x3C] - lsls r0, r1, 8 - subs r2, r1 - orrs r0, r2 - strh r0, [r3] - ldr r0, _080CCE08 @ =sub_80CCE0C - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CCDF8: .4byte gBattleAnimArgs -_080CCDFC: .4byte 0x00002828 -_080CCE00: .4byte REG_BLDCNT -_080CCE04: .4byte REG_BLDALPHA -_080CCE08: .4byte sub_80CCE0C - thumb_func_end sub_80CCD24 - - thumb_func_start sub_80CCE0C -sub_80CCE0C: @ 80CCE0C - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x60 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080CCE6A - movs r0, 0 - strh r0, [r4, 0x30] - ldr r1, _080CCEB0 @ =gPlttBufferFaded - movs r2, 0x32 - ldrsh r0, [r4, r2] - adds r0, 0x1 - lsls r0, 1 - adds r0, r1 - ldrh r5, [r0] - movs r2, 0 - adds r6, r1, 0 - adds r3, r6, 0 -_080CCE44: - movs r1, 0x32 - ldrsh r0, [r4, r1] - adds r2, 0x1 - adds r0, r2 - lsls r1, r0, 1 - adds r1, r3 - adds r0, 0x1 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - cmp r2, 0x5 - ble _080CCE44 - movs r2, 0x32 - ldrsh r0, [r4, r2] - adds r0, 0x7 - lsls r0, 1 - adds r0, r6 - strh r5, [r0] -_080CCE6A: - ldrh r2, [r4, 0x3C] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x6 - ble _080CCE9E - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - ble _080CCEB8 - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080CCE9E - movs r0, 0 - strh r0, [r4, 0x3A] - subs r2, 0x1 - strh r2, [r4, 0x3C] - ldr r3, _080CCEB4 @ =REG_BLDALPHA - lsls r1, r2, 8 - movs r0, 0x10 - subs r0, r2 - orrs r1, r0 - strh r1, [r3] -_080CCE9E: - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080CCEB8 - subs r0, r1, 0x1 - strh r0, [r4, 0x2E] - b _080CCEF4 - .align 2, 0 -_080CCEB0: .4byte gPlttBufferFaded -_080CCEB4: .4byte REG_BLDALPHA -_080CCEB8: - ldrh r0, [r4, 0x3A] - adds r0, 0x1 - strh r0, [r4, 0x3A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080CCEF4 - movs r0, 0 - strh r0, [r4, 0x3A] - ldrh r1, [r4, 0x3C] - adds r1, 0x1 - strh r1, [r4, 0x3C] - ldr r3, _080CCEFC @ =REG_BLDALPHA - lsls r2, r1, 8 - movs r0, 0x10 - subs r0, r1 - orrs r2, r0 - strh r2, [r3] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080CCEF4 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080CCF00 @ =sub_807861C - str r0, [r4, 0x1C] -_080CCEF4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CCEFC: .4byte REG_BLDALPHA -_080CCF00: .4byte sub_807861C - thumb_func_end sub_80CCE0C - - thumb_func_start sub_80CCF04 -sub_80CCF04: @ 80CCF04 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _080CCF5C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x20] - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080CCF60 @ =0x0000ffe8 - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x2E] - strh r5, [r4, 0x30] - strh r5, [r4, 0x32] - strh r5, [r4, 0x34] - strh r5, [r4, 0x36] - strh r5, [r4, 0x3A] - movs r0, 0x10 - strh r0, [r4, 0x3C] - ldr r1, _080CCF64 @ =REG_BLDCNT - movs r2, 0xFD - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - ldr r2, _080CCF68 @ =REG_BLDALPHA - ldrh r0, [r4, 0x3C] - lsls r0, 8 - ldrh r1, [r4, 0x3A] - orrs r0, r1 - strh r0, [r2] - ldr r0, _080CCF6C @ =sub_80CCF70 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CCF5C: .4byte gBattleAnimEnemyMonIndex -_080CCF60: .4byte 0x0000ffe8 -_080CCF64: .4byte REG_BLDCNT -_080CCF68: .4byte REG_BLDALPHA -_080CCF6C: .4byte sub_80CCF70 - thumb_func_end sub_80CCF04 - - thumb_func_start sub_80CCF70 -sub_80CCF70: @ 80CCF70 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080CCF7E - b _080CD0C0 -_080CCF7E: - lsls r0, 2 - ldr r1, _080CCF88 @ =_080CCF8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CCF88: .4byte _080CCF8C - .align 2, 0 -_080CCF8C: - .4byte _080CCFA0 - .4byte _080CD004 - .4byte _080CD020 - .4byte _080CD09C - .4byte _080CD0B0 -_080CCFA0: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - cmp r0, 0 - bgt _080CCFAE - b _080CD0C0 -_080CCFAE: - movs r0, 0 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CCFD0 - ldrh r1, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080CCFDE - adds r0, r1, 0x1 - strh r0, [r4, 0x3A] - b _080CCFDE -_080CCFD0: - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080CCFDE - subs r0, r1, 0x1 - strh r0, [r4, 0x3C] -_080CCFDE: - ldr r2, _080CD000 @ =REG_BLDALPHA - ldrh r0, [r4, 0x3C] - lsls r0, 8 - ldrh r1, [r4, 0x3A] - orrs r0, r1 - strh r0, [r2] - movs r1, 0x3A - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080CD0C0 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080CD0C0 - strh r0, [r4, 0x30] - b _080CD0A8 - .align 2, 0 -_080CD000: .4byte REG_BLDALPHA -_080CD004: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080CD0C0 - movs r0, 0 - strh r0, [r4, 0x30] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _080CD0A8 -_080CD020: - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x4 - bl sub_80CD0CC - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080CD042 - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - adds r0, 0x1 - strh r0, [r4, 0x22] -_080CD042: - ldrh r0, [r4, 0x32] - adds r1, r0, 0x1 - strh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x1D - ble _080CD0C0 - movs r0, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080CD068 - ldrh r1, [r4, 0x3A] - movs r2, 0x3A - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080CD076 - subs r0, r1, 0x1 - strh r0, [r4, 0x3A] - b _080CD076 -_080CD068: - ldrh r1, [r4, 0x3C] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0xF - bgt _080CD076 - adds r0, r1, 0x1 - strh r0, [r4, 0x3C] -_080CD076: - ldr r0, _080CD098 @ =REG_BLDALPHA - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r2, [r4, 0x3A] - orrs r1, r2 - strh r1, [r0] - movs r0, 0x3A - ldrsh r1, [r4, r0] - cmp r1, 0 - bne _080CD0C0 - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bne _080CD0C0 - strh r1, [r4, 0x30] - strh r1, [r4, 0x32] - b _080CD0A8 - .align 2, 0 -_080CD098: .4byte REG_BLDALPHA -_080CD09C: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080CD0A8: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080CD0C0 -_080CD0B0: - ldr r0, _080CD0C8 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, r4, 0 - bl move_anim_8072740 -_080CD0C0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CD0C8: .4byte REG_BLDCNT - thumb_func_end sub_80CCF70 - - thumb_func_start sub_80CD0CC -sub_80CD0CC: @ 80CD0CC - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0xB - bgt _080CD0DE - ldrh r0, [r4, 0x36] - adds r0, 0x2 - strh r0, [r4, 0x36] -_080CD0DE: - ldrh r5, [r4, 0x34] - adds r0, r5, 0 - subs r0, 0x12 - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - cmp r0, 0x17 - bhi _080CD0F4 - ldrh r0, [r4, 0x36] - subs r0, 0x2 - strh r0, [r4, 0x36] -_080CD0F4: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x2F - ble _080CD102 - ldrh r0, [r4, 0x36] - adds r0, 0x2 - strh r0, [r4, 0x36] -_080CD102: - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0x9 - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x36 - ldrsh r0, [r4, r1] - movs r1, 0xE - bl __divsi3 - strh r0, [r4, 0x26] - lsls r0, 16 - cmp r0, 0 - bge _080CD128 - movs r1, 0x26 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x26] -_080CD128: - adds r0, r5, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _080CD138 - movs r0, 0 - strh r0, [r4, 0x34] -_080CD138: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80CD0CC - - thumb_func_start sub_80CD140 -sub_80CD140: @ 80CD140 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080CD184 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080CD154 - adds r0, r4, 0 - bl sub_8078650 -_080CD154: - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_807867C - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x32] - ldr r1, _080CD188 @ =move_anim_8072740 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CD18C @ =sub_8078394 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CD184: .4byte gBattleAnimArgs -_080CD188: .4byte move_anim_8072740 -_080CD18C: .4byte sub_8078394 - thumb_func_end sub_80CD140 - - thumb_func_start sub_80CD190 -sub_80CD190: @ 80CD190 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _080CD1A4 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080CD1AC - ldr r0, _080CD1A8 @ =gBattleAnimPlayerMonIndex - b _080CD1AE - .align 2, 0 -_080CD1A4: .4byte gBattleAnimArgs -_080CD1A8: .4byte gBattleAnimPlayerMonIndex -_080CD1AC: - ldr r0, _080CD1F0 @ =gBattleAnimEnemyMonIndex -_080CD1AE: - ldrb r6, [r0] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080CD1F8 - movs r1, 0x2 - adds r0, r6, 0 - eors r0, r1 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080CD1F8 - ldr r4, _080CD1F4 @ =gBattleAnimArgs - ldrb r1, [r4, 0xC] - adds r2, r5, 0 - adds r2, 0x20 - adds r3, r5, 0 - adds r3, 0x22 - adds r0, r6, 0 - bl sub_807A3FC - movs r2, 0 - ldrsh r1, [r4, r2] - adds r0, r5, 0 - bl sub_807867C - ldrh r0, [r4, 0x2] - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - b _080CD248 - .align 2, 0 -_080CD1F0: .4byte gBattleAnimEnemyMonIndex -_080CD1F4: .4byte gBattleAnimArgs -_080CD1F8: - ldr r4, _080CD218 @ =gBattleAnimArgs - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080CD21C - adds r0, r6, 0 - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - adds r0, r6, 0 - movs r1, 0x1 - b _080CD22E - .align 2, 0 -_080CD218: .4byte gBattleAnimArgs -_080CD21C: - adds r0, r6, 0 - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - adds r0, r6, 0 - movs r1, 0x3 -_080CD22E: - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x2] - adds r0, r4 - strh r0, [r5, 0x22] - ldr r0, _080CD268 @ =gBattleAnimArgs - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r5, 0 - bl sub_807867C -_080CD248: - ldr r1, _080CD268 @ =gBattleAnimArgs - ldrh r0, [r1, 0xA] - strh r0, [r5, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r5, 0x32] - ldr r1, _080CD26C @ =move_anim_8072740 - adds r0, r5, 0 - bl oamt_set_x3A_32 - ldr r0, _080CD270 @ =sub_8078394 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CD268: .4byte gBattleAnimArgs -_080CD26C: .4byte move_anim_8072740 -_080CD270: .4byte sub_8078394 - thumb_func_end sub_80CD190 - - thumb_func_start sub_80CD274 -sub_80CD274: @ 80CD274 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078650 - ldr r0, _080CD2A0 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CD2A8 - ldr r0, _080CD2A4 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - b _080CD2C2 - .align 2, 0 -_080CD2A0: .4byte gBattleAnimPlayerMonIndex -_080CD2A4: .4byte gBattleAnimArgs -_080CD2A8: - ldr r2, _080CD2CC @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080CD2C2: - ldr r0, _080CD2D0 @ =sub_80CD2D4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CD2CC: .4byte gBattleAnimArgs -_080CD2D0: .4byte sub_80CD2D4 - thumb_func_end sub_80CD274 - - thumb_func_start sub_80CD2D4 -sub_80CD2D4: @ 80CD2D4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _080CD30C - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r0, 0x1E - subs r0, r1 - movs r1, 0x3 - bl __divsi3 - strh r0, [r4, 0x26] - movs r1, 0x30 - ldrsh r0, [r4, r1] - lsls r0, 18 - asrs r0, 16 - movs r1, 0x3 - bl Sin - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_080CD30C: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080CD320 - adds r0, r4, 0 - bl move_anim_8072740 -_080CD320: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CD2D4 - - thumb_func_start sub_80CD328 -sub_80CD328: @ 80CD328 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078650 - ldr r0, _080CD358 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CD360 - ldr r1, _080CD35C @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x1 - strh r0, [r4, 0x34] - b _080CD37E - .align 2, 0 -_080CD358: .4byte gBattleAnimPlayerMonIndex -_080CD35C: .4byte gBattleAnimArgs -_080CD360: - ldr r2, _080CD388 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - ldr r0, _080CD38C @ =0x0000ffff - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_080CD37E: - ldr r0, _080CD390 @ =sub_80CD394 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CD388: .4byte gBattleAnimArgs -_080CD38C: .4byte 0x0000ffff -_080CD390: .4byte sub_80CD394 - thumb_func_end sub_80CD328 - - thumb_func_start sub_80CD394 -sub_80CD394: @ 80CD394 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x28 - bl __divsi3 - negs r0, r0 - strh r0, [r4, 0x26] - movs r2, 0x36 - ldrsh r0, [r4, r2] - movs r1, 0xA - bl __divsi3 - strh r0, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - lsls r0, 1 - ldrh r2, [r4, 0x36] - adds r0, r2 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x30] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - ble _080CD3D8 - adds r0, r4, 0 - bl move_anim_8074EE0 -_080CD3D8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CD394 - - thumb_func_start sub_80CD3E0 -sub_80CD3E0: @ 80CD3E0 - push {lr} - ldrh r1, [r0, 0x20] - subs r1, 0x20 - strh r1, [r0, 0x20] - ldrh r1, [r0, 0x22] - subs r1, 0x20 - strh r1, [r0, 0x22] - movs r1, 0x14 - strh r1, [r0, 0x2E] - ldr r1, _080CD400 @ =sub_80782D8 - str r1, [r0, 0x1C] - ldr r1, _080CD404 @ =sub_80CD408 - bl oamt_set_x3A_32 - pop {r0} - bx r0 - .align 2, 0 -_080CD400: .4byte sub_80782D8 -_080CD404: .4byte sub_80CD408 - thumb_func_end sub_80CD3E0 - - thumb_func_start sub_80CD408 -sub_80CD408: @ 80CD408 - push {r4-r6,lr} - adds r5, r0, 0 - ldrh r6, [r5, 0x38] - movs r1, 0x1 - adds r0, r1, 0 - ands r0, r6 - cmp r0, 0 - beq _080CD41E - cmp r0, 0x1 - beq _080CD438 - b _080CD49E -_080CD41E: - strh r1, [r5, 0x2E] - ldr r0, _080CD430 @ =sub_80782D8 - str r0, [r5, 0x1C] - ldr r1, _080CD434 @ =sub_80CD408 - adds r0, r5, 0 - bl oamt_set_x3A_32 - b _080CD49E - .align 2, 0 -_080CD430: .4byte sub_80782D8 -_080CD434: .4byte sub_80CD408 -_080CD438: - ldrh r3, [r5, 0x24] - ldrh r0, [r5, 0x20] - adds r3, r0 - movs r0, 0 - strh r3, [r5, 0x20] - ldrh r4, [r5, 0x26] - ldrh r1, [r5, 0x22] - adds r4, r1 - strh r4, [r5, 0x22] - strh r0, [r5, 0x26] - strh r0, [r5, 0x24] - movs r0, 0x8 - strh r0, [r5, 0x2E] - ldr r2, _080CD4AC @ =gUnknown_083D6DDC - lsls r0, r6, 16 - asrs r0, 24 - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - adds r3, r1 - strh r3, [r5, 0x32] - adds r2, 0x1 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r4, r0 - strh r4, [r5, 0x36] - ldr r0, _080CD4B0 @ =sub_8078B34 - str r0, [r5, 0x1C] - ldr r1, _080CD4B4 @ =sub_80CD4B8 - adds r0, r5, 0 - bl oamt_set_x3A_32 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r1, [r5, 0x38] - adds r0, r1 - strh r0, [r5, 0x38] - movs r0, 0x3F - bl sub_8076F98 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xD2 - bl PlaySE12WithPanning -_080CD49E: - ldrh r0, [r5, 0x38] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x38] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CD4AC: .4byte gUnknown_083D6DDC -_080CD4B0: .4byte sub_8078B34 -_080CD4B4: .4byte sub_80CD4B8 - thumb_func_end sub_80CD408 - - thumb_func_start sub_80CD4B8 -sub_80CD4B8: @ 80CD4B8 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x38] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _080CD4E0 - movs r0, 0xA - strh r0, [r2, 0x2E] - ldr r0, _080CD4D8 @ =sub_80782D8 - str r0, [r2, 0x1C] - ldr r1, _080CD4DC @ =sub_80CD4EC - adds r0, r2, 0 - bl oamt_set_x3A_32 - b _080CD4E4 - .align 2, 0 -_080CD4D8: .4byte sub_80782D8 -_080CD4DC: .4byte sub_80CD4EC -_080CD4E0: - ldr r0, _080CD4E8 @ =sub_80CD408 - str r0, [r2, 0x1C] -_080CD4E4: - pop {r0} - bx r0 - .align 2, 0 -_080CD4E8: .4byte sub_80CD408 - thumb_func_end sub_80CD4B8 - - thumb_func_start sub_80CD4EC -sub_80CD4EC: @ 80CD4EC - push {r4-r7,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x6] - cmp r1, 0 - bne _080CD514 - movs r0, 0x3 - strh r0, [r5, 0x2E] - strh r1, [r5, 0x30] - strh r1, [r5, 0x32] - ldr r0, _080CD50C @ =sub_80782D8 - str r0, [r5, 0x1C] - ldr r1, _080CD510 @ =sub_80CD5A8 - adds r0, r5, 0 - bl oamt_set_x3A_32 - b _080CD594 - .align 2, 0 -_080CD50C: .4byte sub_80782D8 -_080CD510: .4byte sub_80CD5A8 -_080CD514: - ldrh r0, [r5, 0x6] - cmp r0, 0x2 - beq _080CD534 - cmp r0, 0x2 - bgt _080CD524 - cmp r0, 0x1 - beq _080CD52A - b _080CD548 -_080CD524: - cmp r0, 0x3 - beq _080CD53C - b _080CD548 -_080CD52A: - ldr r6, _080CD530 @ =0x0000fff8 - adds r7, r6, 0 - b _080CD54C - .align 2, 0 -_080CD530: .4byte 0x0000fff8 -_080CD534: - ldr r7, _080CD538 @ =0x0000fff8 - b _080CD54A - .align 2, 0 -_080CD538: .4byte 0x0000fff8 -_080CD53C: - movs r7, 0x8 - ldr r6, _080CD544 @ =0x0000fff8 - b _080CD54C - .align 2, 0 -_080CD544: .4byte 0x0000fff8 -_080CD548: - movs r7, 0x8 -_080CD54A: - movs r6, 0x8 -_080CD54C: - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - 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, 0x26] - strh r1, [r5, 0x24] - movs r0, 0x6 - strh r0, [r5, 0x2E] - ldr r4, _080CD59C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, r7 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x36] - ldr r0, _080CD5A0 @ =sub_8078B34 - str r0, [r5, 0x1C] - ldr r1, _080CD5A4 @ =sub_80CD654 - adds r0, r5, 0 - bl oamt_set_x3A_32 -_080CD594: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CD59C: .4byte gBattleAnimEnemyMonIndex -_080CD5A0: .4byte sub_8078B34 -_080CD5A4: .4byte sub_80CD654 - thumb_func_end sub_80CD4EC - - thumb_func_start sub_80CD5A8 -sub_80CD5A8: @ 80CD5A8 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080CD5C8 - ldrh r0, [r4, 0x30] - adds r0, 0x3 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080CD5D8 - movs r0, 0x10 - b _080CD5D6 -_080CD5C8: - ldrh r0, [r4, 0x30] - subs r0, 0x3 - strh r0, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - bge _080CD5D8 - movs r0, 0 -_080CD5D6: - strh r0, [r4, 0x30] -_080CD5D8: - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x1 - bl sub_80791A8 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080CD634 @ =0x00007fff - bl BlendPalettes - movs r3, 0x30 - ldrsh r0, [r4, r3] - cmp r0, 0x10 - bne _080CD640 - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - lsls r0, r1, 5 - ldr r2, _080CD638 @ =gPlttBufferUnfaded + 0x210 - adds r0, r2 - lsls r1, 4 - ldr r3, _080CD63C @ =0x00000101 - adds r2, r3, 0 - orrs r1, r2 - movs r2, 0x4 - bl LoadPalette - movs r0, 0x3F - bl sub_8076F98 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xC0 - bl PlaySE12WithPanning - b _080CD648 - .align 2, 0 -_080CD634: .4byte 0x00007fff -_080CD638: .4byte gPlttBufferUnfaded + 0x210 -_080CD63C: .4byte 0x00000101 -_080CD640: - cmp r0, 0 - bne _080CD648 - ldr r0, _080CD650 @ =sub_80CD654 - str r0, [r4, 0x1C] -_080CD648: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CD650: .4byte sub_80CD654 - thumb_func_end sub_80CD5A8 - - thumb_func_start sub_80CD654 -sub_80CD654: @ 80CD654 - push {lr} - adds r2, r0, 0 - ldr r0, _080CD670 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080CD674 @ =0x0000ffff - cmp r1, r0 - bne _080CD66C - movs r0, 0 - strh r0, [r2, 0x30] - strh r0, [r2, 0x2E] - ldr r0, _080CD678 @ =sub_80CD67C - str r0, [r2, 0x1C] -_080CD66C: - pop {r0} - bx r0 - .align 2, 0 -_080CD670: .4byte gBattleAnimArgs -_080CD674: .4byte 0x0000ffff -_080CD678: .4byte sub_80CD67C - thumb_func_end sub_80CD654 - - thumb_func_start sub_80CD67C -sub_80CD67C: @ 80CD67C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _080CD6B0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - 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 - strb r0, [r3] -_080CD6B0: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _080CD6C4 - adds r0, r4, 0 - bl move_anim_8072740 -_080CD6C4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CD67C - - thumb_func_start sub_80CD6CC -sub_80CD6CC: @ 80CD6CC - push {r4,lr} - adds r3, r0, 0 - ldr r0, _080CD6EC @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r3, 0x6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080CD6F0 - ldrh r0, [r3, 0x20] - subs r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - subs r0, 0x18 - strh r0, [r3, 0x22] - b _080CD742 - .align 2, 0 -_080CD6EC: .4byte gBattleAnimArgs -_080CD6F0: - cmp r0, 0x2 - bne _080CD70C - ldrh r0, [r3, 0x20] - subs r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - adds r0, 0x18 - strh r0, [r3, 0x22] - ldrb r1, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x20 - b _080CD73E -_080CD70C: - cmp r0, 0x3 - bne _080CD728 - ldrh r0, [r3, 0x20] - adds r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - subs r0, 0x18 - strh r0, [r3, 0x22] - ldrb r1, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - b _080CD73E -_080CD728: - ldrh r0, [r3, 0x20] - adds r0, 0x18 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x22] - adds r0, 0x18 - strh r0, [r3, 0x22] - ldrb r1, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x30 -_080CD73E: - orrs r0, r1 - strb r0, [r3, 0x3] -_080CD742: - ldrh r2, [r3, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r4, _080CD768 @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _080CD76C @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r3, 0x4] - ldr r1, _080CD770 @ =sub_80CD3E0 - str r1, [r3, 0x1C] - adds r0, r3, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CD768: .4byte 0x000003ff -_080CD76C: .4byte 0xfffffc00 -_080CD770: .4byte sub_80CD3E0 - thumb_func_end sub_80CD6CC - - thumb_func_start sub_80CD774 -sub_80CD774: @ 80CD774 - push {lr} - adds r3, r0, 0 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - strh r0, [r3, 0x2E] - ldr r0, _080CD79C @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - beq _080CD7B0 - cmp r0, 0x1 - bgt _080CD7A0 - cmp r0, 0 - beq _080CD7A6 - b _080CD7C0 - .align 2, 0 -_080CD79C: .4byte gBattleAnimArgs -_080CD7A0: - cmp r0, 0x2 - beq _080CD7B8 - b _080CD7C0 -_080CD7A6: - ldr r0, _080CD7AC @ =sub_80CD7CC - b _080CD7C2 - .align 2, 0 -_080CD7AC: .4byte sub_80CD7CC -_080CD7B0: - ldr r0, _080CD7B4 @ =sub_80CD8A8 - b _080CD7C2 - .align 2, 0 -_080CD7B4: .4byte sub_80CD8A8 -_080CD7B8: - ldr r0, _080CD7BC @ =sub_80CD8F8 - b _080CD7C2 - .align 2, 0 -_080CD7BC: .4byte sub_80CD8F8 -_080CD7C0: - ldr r0, _080CD7C8 @ =sub_80CD9B8 -_080CD7C2: - str r0, [r3, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_080CD7C8: .4byte sub_80CD9B8 - thumb_func_end sub_80CD774 - - thumb_func_start sub_80CD7CC -sub_80CD7CC: @ 80CD7CC - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x6 - strh r0, [r4, 0x2E] - ldr r5, _080CD80C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r5] - bl GetBankSide - lsls r0, 24 - movs r2, 0x2 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - beq _080CD7EA - movs r1, 0x2 -_080CD7EA: - strh r1, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r1, _080CD810 @ =gObjectBankIDs - ldrb r0, [r5] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x34] - ldr r1, _080CD814 @ =sub_80CD81C - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CD818 @ =sub_8078458 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CD80C: .4byte gBattleAnimPlayerMonIndex -_080CD810: .4byte gObjectBankIDs -_080CD814: .4byte sub_80CD81C -_080CD818: .4byte sub_8078458 - thumb_func_end sub_80CD7CC - - thumb_func_start sub_80CD81C -sub_80CD81C: @ 80CD81C - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r6, [r5, r0] - cmp r6, 0 - bne _080CD858 - ldr r1, _080CD898 @ =gObjectBankIDs - ldr r4, _080CD89C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r5, 0x34] - movs r1, 0 - bl sub_8078E70 - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - ldr r2, _080CD8A0 @ =0xfffffd00 - adds r1, r2, 0 - cmp r0, 0 - beq _080CD854 - movs r0, 0xC0 - lsls r0, 2 - adds r1, r0, 0 -_080CD854: - strh r1, [r5, 0x36] - strh r6, [r5, 0x38] -_080CD858: - ldrh r0, [r5, 0x36] - ldrh r1, [r5, 0x38] - adds r0, r1 - strh r0, [r5, 0x38] - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r5, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F9C - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080CD892 - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, _080CD8A4 @ =sub_80CD9B8 - str r0, [r5, 0x1C] -_080CD892: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CD898: .4byte gObjectBankIDs -_080CD89C: .4byte gBattleAnimPlayerMonIndex -_080CD8A0: .4byte 0xfffffd00 -_080CD8A4: .4byte sub_80CD9B8 - thumb_func_end sub_80CD81C - - thumb_func_start sub_80CD8A8 -sub_80CD8A8: @ 80CD8A8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x4 - strh r0, [r4, 0x2E] - ldr r5, _080CD8E8 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r5] - bl GetBankSide - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _080CD8C6 - movs r0, 0x3 - negs r0, r0 - adds r1, r0, 0 -_080CD8C6: - strh r1, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r1, _080CD8EC @ =gObjectBankIDs - ldrb r0, [r5] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x34] - ldr r1, _080CD8F0 @ =sub_80CD9B8 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CD8F4 @ =sub_8078458 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CD8E8: .4byte gBattleAnimPlayerMonIndex -_080CD8EC: .4byte gObjectBankIDs -_080CD8F0: .4byte sub_80CD9B8 -_080CD8F4: .4byte sub_8078458 - thumb_func_end sub_80CD8A8 - - thumb_func_start sub_80CD8F8 -sub_80CD8F8: @ 80CD8F8 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080CD912 - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, _080CD918 @ =sub_80CD91C - str r0, [r1, 0x1C] -_080CD912: - pop {r0} - bx r0 - .align 2, 0 -_080CD918: .4byte sub_80CD91C - thumb_func_end sub_80CD8F8 - - thumb_func_start sub_80CD91C -sub_80CD91C: @ 80CD91C - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080CD96C - ldr r1, _080CD958 @ =gObjectBankIDs - ldr r4, _080CD95C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r5, 0x34] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x3A] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CD960 - movs r0, 0xFC - lsls r0, 8 - strh r0, [r5, 0x36] - movs r0, 0xC0 - lsls r0, 4 - b _080CD96A - .align 2, 0 -_080CD958: .4byte gObjectBankIDs -_080CD95C: .4byte gBattleAnimPlayerMonIndex -_080CD960: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r5, 0x36] - movs r0, 0xF4 - lsls r0, 8 -_080CD96A: - strh r0, [r5, 0x38] -_080CD96C: - ldrh r0, [r5, 0x36] - ldrh r1, [r5, 0x38] - adds r0, r1 - strh r0, [r5, 0x38] - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r5, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F9C - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080CD9AC - ldrh r0, [r5, 0x34] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F40 - ldr r0, _080CD9B4 @ =sub_80CD9B8 - str r0, [r5, 0x1C] -_080CD9AC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CD9B4: .4byte sub_80CD9B8 - thumb_func_end sub_80CD91C - - thumb_func_start sub_80CD9B8 -sub_80CD9B8: @ 80CD9B8 - push {lr} - bl move_anim_8072740 - pop {r0} - bx r0 - thumb_func_end sub_80CD9B8 - - thumb_func_start sub_80CD9C4 -sub_80CD9C4: @ 80CD9C4 - movs r1, 0 - strh r1, [r0, 0x2E] - ldr r1, _080CD9D0 @ =sub_80CD9D4 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080CD9D0: .4byte sub_80CD9D4 - thumb_func_end sub_80CD9C4 - - thumb_func_start sub_80CD9D4 -sub_80CD9D4: @ 80CD9D4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080CDA2E - cmp r5, 0x1 - bgt _080CD9EA - cmp r5, 0 - beq _080CD9F0 - b _080CDAC2 -_080CD9EA: - cmp r5, 0x2 - beq _080CDA80 - b _080CDAC2 -_080CD9F0: - strh r5, [r4, 0x30] - ldr r1, _080CDA74 @ =gObjectBankIDs - ldr r2, _080CDA78 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x32] - ldrb r0, [r2] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x34] - ldr r2, _080CDA7C @ =0xfffffe00 - adds r1, r2, 0 - cmp r0, 0 - beq _080CDA18 - movs r0, 0x80 - lsls r0, 2 - adds r1, r0, 0 -_080CDA18: - strh r1, [r4, 0x36] - strh r5, [r4, 0x38] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8078E70 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_080CDA2E: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F9C - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080CDAC2 - movs r0, 0 - strh r0, [r4, 0x30] - movs r2, 0x36 - ldrsh r0, [r4, r2] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080CDAC2 - .align 2, 0 -_080CDA74: .4byte gObjectBankIDs -_080CDA78: .4byte gBattleAnimPlayerMonIndex -_080CDA7C: .4byte 0xfffffe00 -_080CDA80: - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x38] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F9C - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080CDAC2 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_8078F40 - adds r0, r4, 0 - bl move_anim_8072740 -_080CDAC2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80CD9D4 - - thumb_func_start sub_80CDAC8 -sub_80CDAC8: @ 80CDAC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080CDB0C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldr r1, _080CDB10 @ =gObjectBankIDs - ldr r2, _080CDB14 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r2] - adds r0, r1 - ldrb r0, [r0] - movs r4, 0 - strh r0, [r5, 0x8] - ldrb r0, [r2] - bl GetBankSide - lsls r0, 24 - lsrs r2, r0, 24 - strh r2, [r5, 0xA] - strh r4, [r5, 0xC] - ldr r0, _080CDB18 @ =gBattleAnimArgs - movs r3, 0 - ldrsh r1, [r0, r3] - cmp r1, 0 - beq _080CDB1C - cmp r1, 0x1 - beq _080CDB38 - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _080CDB56 - .align 2, 0 -_080CDB0C: .4byte gTasks -_080CDB10: .4byte gObjectBankIDs -_080CDB14: .4byte gBattleAnimPlayerMonIndex -_080CDB18: .4byte gBattleAnimArgs -_080CDB1C: - strh r1, [r5, 0xC] - movs r0, 0x8 - strh r0, [r5, 0xE] - strh r1, [r5, 0x10] - movs r0, 0x3 - strh r0, [r5, 0x12] - cmp r2, 0 - bne _080CDB30 - negs r0, r0 - strh r0, [r5, 0x12] -_080CDB30: - ldr r0, _080CDB34 @ =sub_80CDB60 - b _080CDB54 - .align 2, 0 -_080CDB34: .4byte sub_80CDB60 -_080CDB38: - movs r0, 0x8 - strh r0, [r5, 0xE] - movs r0, 0xC0 - lsls r0, 3 - strh r0, [r5, 0x10] - movs r1, 0xC0 - strh r1, [r5, 0x12] - cmp r2, 0 - bne _080CDB52 - negs r0, r0 - strh r0, [r5, 0x10] - negs r0, r1 - strh r0, [r5, 0x12] -_080CDB52: - ldr r0, _080CDB5C @ =sub_80CDD20 -_080CDB54: - str r0, [r5] -_080CDB56: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CDB5C: .4byte sub_80CDD20 - thumb_func_end sub_80CDAC8 - - thumb_func_start sub_80CDB60 -sub_80CDB60: @ 80CDB60 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080CDB84 @ =gTasks - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bls _080CDB7A - b _080CDD1A -_080CDB7A: - lsls r0, 2 - ldr r1, _080CDB88 @ =_080CDB8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080CDB84: .4byte gTasks -_080CDB88: .4byte _080CDB8C - .align 2, 0 -_080CDB8C: - .4byte _080CDBA0 - .4byte _080CDBD2 - .4byte _080CDC2C - .4byte _080CDCA4 - .4byte _080CDCE8 -_080CDBA0: - movs r2, 0xE - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _080CDBB0 - ldrh r2, [r4, 0x12] - ldrh r3, [r4, 0x10] - adds r2, r3 - b _080CDCF6 -_080CDBB0: - movs r0, 0x8 - strh r0, [r4, 0xE] - strh r1, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r1, 0xC0 - cmp r0, 0 - bne _080CDBC6 - movs r2, 0xC0 - negs r2, r2 - adds r1, r2, 0 -_080CDBC6: - strh r1, [r4, 0x12] - ldrb r0, [r4, 0x8] - movs r1, 0 - bl sub_8078E70 - b _080CDCDC -_080CDBD2: - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080CDBF8 - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0x10] - adds r0, r1 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x10] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_8078F9C - b _080CDD08 -_080CDBF8: - movs r0, 0x8 - strh r0, [r4, 0xE] - ldr r2, _080CDC28 @ =gSprites - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x24] - strh r0, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x2 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080CDC1E - movs r1, 0x2 -_080CDC1E: - strh r1, [r4, 0x12] - movs r0, 0x1 - strh r0, [r4, 0x14] - b _080CDCDC - .align 2, 0 -_080CDC28: .4byte gSprites -_080CDC2C: - ldrh r2, [r4, 0xE] - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080CDC88 - ldrh r1, [r4, 0x14] - movs r3, 0x14 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080CDC46 - subs r0, r1, 0x1 - strh r0, [r4, 0x14] - b _080CDD1A -_080CDC46: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080CDC68 - ldr r2, _080CDC64 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x12] - ldrh r2, [r4, 0x10] - adds r1, r2 - b _080CDC7C - .align 2, 0 -_080CDC64: .4byte gSprites -_080CDC68: - ldr r2, _080CDC84 @ =gSprites - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - ldrh r2, [r4, 0x12] - subs r1, r2 -_080CDC7C: - strh r1, [r0, 0x24] - movs r0, 0x1 - strh r0, [r4, 0x14] - b _080CDD08 - .align 2, 0 -_080CDC84: .4byte gSprites -_080CDC88: - ldr r2, _080CDCA0 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - strh r1, [r0, 0x24] - movs r0, 0xC - strh r0, [r4, 0xE] - b _080CDCDC - .align 2, 0 -_080CDCA0: .4byte gSprites -_080CDCA4: - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080CDCB4 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _080CDD1A -_080CDCB4: - movs r0, 0x3 - strh r0, [r4, 0xE] - ldr r2, _080CDCE4 @ =gSprites - movs r3, 0x8 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x24] - strh r0, [r4, 0x10] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x8 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080CDCDA - movs r1, 0x8 -_080CDCDA: - strh r1, [r4, 0x12] -_080CDCDC: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _080CDD1A - .align 2, 0 -_080CDCE4: .4byte gSprites -_080CDCE8: - movs r3, 0xE - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _080CDD14 - ldrh r2, [r4, 0x12] - ldrh r0, [r4, 0x10] - adds r2, r0 -_080CDCF6: - strh r2, [r4, 0x10] - ldr r3, _080CDD10 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x24] -_080CDD08: - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _080CDD1A - .align 2, 0 -_080CDD10: .4byte gSprites -_080CDD14: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080CDD1A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CDB60 - - thumb_func_start sub_80CDD20 -sub_80CDD20: @ 80CDD20 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080CDD5C @ =gTasks - adds r4, r0, r1 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080CDD60 - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x12] - subs r0, r1 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r2, 0x80 - lsls r2, 1 - ldrh r3, [r4, 0x10] - adds r1, r2, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_8078F9C - ldrh r0, [r4, 0xE] - subs r0, 0x1 - strh r0, [r4, 0xE] - b _080CDD6C - .align 2, 0 -_080CDD5C: .4byte gTasks -_080CDD60: - ldrb r0, [r4, 0x8] - bl sub_8078F40 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080CDD6C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80CDD20 - - thumb_func_start sub_80CDD74 -sub_80CDD74: @ 80CDD74 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080CDD88 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080CDD90 - ldr r4, _080CDD8C @ =gBattleAnimPlayerMonIndex - b _080CDD92 - .align 2, 0 -_080CDD88: .4byte gBattleAnimArgs -_080CDD8C: .4byte gBattleAnimPlayerMonIndex -_080CDD90: - ldr r4, _080CDDD0 @ =gBattleAnimEnemyMonIndex -_080CDD92: - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x2] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x4] - adds r0, r6 - strh r0, [r5, 0x22] - movs r0, 0 - strh r0, [r5, 0x2E] - strh r0, [r5, 0x30] - ldr r1, _080CDDD4 @ =sub_80CDEC0 - adds r0, r5, 0 - bl oamt_set_x3A_32 - ldr r0, _080CDDD8 @ =sub_8078600 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CDDD0: .4byte gBattleAnimEnemyMonIndex -_080CDDD4: .4byte sub_80CDEC0 -_080CDDD8: .4byte sub_8078600 - thumb_func_end sub_80CDD74 - - thumb_func_start sub_80CDDDC -sub_80CDDDC: @ 80CDDDC - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080CDE14 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080CDE18 @ =0x0000ffd0 - adds r0, r1 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - ldr r1, _080CDE1C @ =sub_80CDE78 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CDE20 @ =sub_8078600 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CDE14: .4byte gBattleAnimEnemyMonIndex -_080CDE18: .4byte 0x0000ffd0 -_080CDE1C: .4byte sub_80CDE78 -_080CDE20: .4byte sub_8078600 - thumb_func_end sub_80CDDDC - - thumb_func_start sub_80CDE24 -sub_80CDE24: @ 80CDE24 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r5, _080CDE68 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080CDE6C @ =gBattleAnimArgs - ldr r2, _080CDE70 @ =0x0000ffd0 - adds r0, r2 - ldrh r1, [r1] - adds r0, r1 - movs r6, 0 - strh r0, [r4, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - strh r6, [r4, 0x2E] - strh r6, [r4, 0x30] - ldr r0, _080CDE74 @ =sub_80CDEC0 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CDE68: .4byte gBattleAnimEnemyMonIndex -_080CDE6C: .4byte gBattleAnimArgs -_080CDE70: .4byte 0x0000ffd0 -_080CDE74: .4byte sub_80CDEC0 - thumb_func_end sub_80CDE24 - - thumb_func_start sub_80CDE78 -sub_80CDE78: @ 80CDE78 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080CDEA2 - movs r0, 0xC - strh r0, [r4, 0x2E] - movs r0, 0x8 - strh r0, [r4, 0x30] - movs r0, 0 - strh r0, [r4, 0x32] - ldr r1, _080CDEA8 @ =sub_80CDEB0 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CDEAC @ =sub_8078364 - str r0, [r4, 0x1C] -_080CDEA2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CDEA8: .4byte sub_80CDEB0 -_080CDEAC: .4byte sub_8078364 - thumb_func_end sub_80CDE78 - - thumb_func_start sub_80CDEB0 -sub_80CDEB0: @ 80CDEB0 - movs r1, 0 - strh r1, [r0, 0x2E] - strh r1, [r0, 0x30] - ldr r1, _080CDEBC @ =sub_80CDEC0 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080CDEBC: .4byte sub_80CDEC0 - thumb_func_end sub_80CDEB0 - - thumb_func_start sub_80CDEC0 -sub_80CDEC0: @ 80CDEC0 - 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, 0x1 - ble _080CDF08 - movs r0, 0 - strh r0, [r3, 0x2E] - movs r0, 0x3E - adds r0, r3 - mov r12, r0 - ldrb r2, [r0] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080CDF08 - adds r0, r3, 0 - bl move_anim_8072740 -_080CDF08: - pop {r0} - bx r0 - thumb_func_end sub_80CDEC0 - - thumb_func_start sub_80CDF0C -sub_80CDF0C: @ 80CDF0C - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080CDF20 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080CDF28 - ldr r4, _080CDF24 @ =gBattleAnimPlayerMonIndex - b _080CDF2A - .align 2, 0 -_080CDF20: .4byte gBattleAnimArgs -_080CDF24: .4byte gBattleAnimPlayerMonIndex -_080CDF28: - ldr r4, _080CDF64 @ =gBattleAnimEnemyMonIndex -_080CDF2A: - ldrb r0, [r4] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x2] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x4] - adds r0, r6 - strh r0, [r5, 0x22] - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, _080CDF68 @ =gBattleAnimArgs - ldrh r0, [r0, 0x6] - strh r0, [r5, 0x30] - ldr r0, _080CDF6C @ =sub_80CDF70 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CDF64: .4byte gBattleAnimEnemyMonIndex -_080CDF68: .4byte gBattleAnimArgs -_080CDF6C: .4byte sub_80CDF70 - thumb_func_end sub_80CDF0C - - thumb_func_start sub_80CDF70 -sub_80CDF70: @ 80CDF70 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x30 - ldrsh r1, [r2, r3] - cmp r0, r1 - ble _080CDF90 - movs r0, 0 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x22] - subs r0, 0x1 - strh r0, [r2, 0x22] -_080CDF90: - ldrh r0, [r2, 0x22] - ldrh r1, [r2, 0x2E] - subs r0, r1 - strh r0, [r2, 0x22] - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080CDFAC - adds r0, r2, 0 - bl move_anim_8072740 -_080CDFAC: - pop {r0} - bx r0 - thumb_func_end sub_80CDF70 - - thumb_func_start sub_80CDFB0 -sub_80CDFB0: @ 80CDFB0 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _080CDFF8 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x20] - ldrb r0, [r6] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - subs r0, 0xC - strh r0, [r4, 0x22] - strh r5, [r4, 0x2E] - movs r0, 0x2 - strh r0, [r4, 0x30] - strh r5, [r4, 0x32] - strh r5, [r4, 0x34] - strh r5, [r4, 0x36] - subs r0, 0x42 - bl sub_8076F98 - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x38] - ldr r0, _080CDFFC @ =sub_80CE000 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CDFF8: .4byte gBattleAnimPlayerMonIndex -_080CDFFC: .4byte sub_80CE000 - thumb_func_end sub_80CDFB0 - - thumb_func_start sub_80CE000 -sub_80CE000: @ 80CE000 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x30 - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _080CE06C - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080CE052 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080CE052 - ldrh r1, [r4, 0x38] - lsls r1, 24 - asrs r1, 24 - movs r0, 0xC2 - bl PlaySE12WithPanning -_080CE052: - movs r1, 0 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080CE06C - strh r1, [r4, 0x32] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] -_080CE06C: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080CE096 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - ble _080CE096 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080CE096 - adds r0, r4, 0 - bl move_anim_8072740 -_080CE096: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CE000 - - thumb_func_start sub_80CE09C -sub_80CE09C: @ 80CE09C - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x2E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _080CE0E6 - ldr r4, _080CE0FC @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - ldr r5, _080CE100 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r5] - adds r0, r1 - strh r0, [r6, 0x20] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x2] - adds r0, r5 - strh r0, [r6, 0x22] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CE0E0 - ldrh r0, [r6, 0x22] - adds r0, 0xA - strh r0, [r6, 0x22] -_080CE0E0: - ldrh r0, [r6, 0x2E] - adds r0, 0x1 - strh r0, [r6, 0x2E] -_080CE0E6: - ldr r0, _080CE100 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080CE104 @ =0x0000ffff - cmp r1, r0 - bne _080CE0F6 - adds r0, r6, 0 - bl move_anim_8072740 -_080CE0F6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CE0FC: .4byte gBattleAnimPlayerMonIndex -_080CE100: .4byte gBattleAnimArgs -_080CE104: .4byte 0x0000ffff - thumb_func_end sub_80CE09C - - thumb_func_start sub_80CE108 -sub_80CE108: @ 80CE108 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080CE128 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _080CE134 - ldr r1, _080CE12C @ =gBattleAnimArgs - ldr r0, _080CE130 @ =0x0000ffff - strh r0, [r1, 0xE] - b _080CE16C - .align 2, 0 -_080CE128: .4byte gTasks -_080CE12C: .4byte gBattleAnimArgs -_080CE130: .4byte 0x0000ffff -_080CE134: - cmp r0, 0x2 - bne _080CE140 - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _080CE172 -_080CE140: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080CE172 - movs r0, 0 - strh r0, [r4, 0x8] - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - ldr r3, _080CE178 @ =REG_BLDALPHA - lsls r2, r1, 8 - movs r0, 0x10 - subs r0, r1 - orrs r2, r0 - strh r2, [r3] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _080CE172 -_080CE16C: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_080CE172: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CE178: .4byte REG_BLDALPHA - thumb_func_end sub_80CE108 - - thumb_func_start sub_80CE17C -sub_80CE17C: @ 80CE17C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_8078764 - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080CE1A4 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x2E] - ldr r0, _080CE1A8 @ =sub_80CE1AC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CE1A4: .4byte gBattleAnimArgs -_080CE1A8: .4byte sub_80CE1AC - thumb_func_end sub_80CE17C - - thumb_func_start sub_80CE1AC -sub_80CE1AC: @ 80CE1AC - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _080CE1C0 - subs r0, r1, 0x1 - strh r0, [r5, 0x2E] - b _080CE1FC -_080CE1C0: - adds r2, r5, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x1E - strh r0, [r5, 0x2E] - ldr r4, _080CE204 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - ldr r0, _080CE208 @ =sub_8078B34 - str r0, [r5, 0x1C] - ldr r1, _080CE20C @ =move_anim_8072740 - adds r0, r5, 0 - bl oamt_set_x3A_32 -_080CE1FC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CE204: .4byte gBattleAnimPlayerMonIndex -_080CE208: .4byte sub_8078B34 -_080CE20C: .4byte move_anim_8072740 - thumb_func_end sub_80CE1AC - - thumb_func_start sub_80CE210 -sub_80CE210: @ 80CE210 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080CE258 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0x8] - adds r0, 0x1 - strh r0, [r3, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _080CE252 - movs r0, 0 - strh r0, [r3, 0x8] - ldrh r1, [r3, 0xA] - adds r1, 0x1 - strh r1, [r3, 0xA] - ldr r2, _080CE25C @ =REG_BLDALPHA - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - strh r1, [r2] - movs r1, 0xA - ldrsh r0, [r3, r1] - cmp r0, 0x10 - bne _080CE252 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080CE252: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CE258: .4byte gTasks -_080CE25C: .4byte REG_BLDALPHA - thumb_func_end sub_80CE210 - - thumb_func_start unref_sub_80CE260 -unref_sub_80CE260: @ 80CE260 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0 - ldr r0, _080CE2C8 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r4, r0 - bcs _080CE2BC - ldr r6, _080CE2CC @ =gBattleAnimArgs - ldr r5, _080CE2D0 @ =gHealthboxIDs -_080CE274: - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _080CE290 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CE290 - adds r0, r4, r5 - ldrb r0, [r0] - bl sub_8043DB0 -_080CE290: - movs r1, 0x2 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bne _080CE2AE - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CE2AE - adds r0, r4, r5 - ldrb r0, [r0] - bl sub_8043DB0 -_080CE2AE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080CE2C8 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r4, r0 - bcc _080CE274 -_080CE2BC: - adds r0, r7, 0 - bl DestroyAnimVisualTask - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CE2C8: .4byte gNoOfAllBanks -_080CE2CC: .4byte gBattleAnimArgs -_080CE2D0: .4byte gHealthboxIDs - thumb_func_end unref_sub_80CE260 - - thumb_func_start unref_sub_80CE2D4 -unref_sub_80CE2D4: @ 80CE2D4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - b _080CE2EE -_080CE2DE: - ldr r0, _080CE304 @ =gHealthboxIDs - adds r0, r4, r0 - ldrb r0, [r0] - bl sub_8043DFC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080CE2EE: - ldr r0, _080CE308 @ =gNoOfAllBanks - ldrb r0, [r0] - cmp r4, r0 - bcc _080CE2DE - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CE304: .4byte gHealthboxIDs -_080CE308: .4byte gNoOfAllBanks - thumb_func_end unref_sub_80CE2D4 - - thumb_func_start sub_80CE30C -sub_80CE30C: @ 80CE30C - push {r4,lr} - adds r4, r0, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CE322 - movs r0, 0x30 - strh r0, [r4, 0x20] - movs r0, 0x28 - b _080CE32A -_080CE322: - ldr r0, _080CE34C @ =gBattleAnimArgs - ldrh r1, [r0] - strh r1, [r4, 0x20] - ldrh r0, [r0, 0x2] -_080CE32A: - strh r0, [r4, 0x22] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r4, 0x3] - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080CE350 @ =sub_80CE354 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CE34C: .4byte gBattleAnimArgs -_080CE350: .4byte sub_80CE354 - thumb_func_end sub_80CE30C - - thumb_func_start sub_80CE354 -sub_80CE354: @ 80CE354 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080CE366 - adds r0, r1, 0 - bl move_anim_8072740 -_080CE366: - pop {r0} - bx r0 - thumb_func_end sub_80CE354 - - thumb_func_start sub_80CE36C -sub_80CE36C: @ 80CE36C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080CE3A4 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - ldr r2, _080CE3A8 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r2] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - strh r0, [r4, 0x22] - strh r1, [r4, 0x2E] - strh r1, [r4, 0x30] - strh r1, [r4, 0x32] - strh r1, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x36] - ldr r0, _080CE3AC @ =sub_80CE3B0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CE3A4: .4byte gBattleAnimPlayerMonIndex -_080CE3A8: .4byte gBattleAnimArgs -_080CE3AC: .4byte sub_80CE3B0 - thumb_func_end sub_80CE36C - - thumb_func_start sub_80CE3B0 -sub_80CE3B0: @ 80CE3B0 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080CE3DA - movs r0, 0 - strh r0, [r1, 0x30] - ldrh r2, [r1, 0x32] - movs r3, 0x32 - ldrsh r0, [r1, r3] - cmp r0, 0x77 - bgt _080CE3DA - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] - adds r0, r2, 0x1 - strh r0, [r1, 0x32] -_080CE3DA: - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080CE3E8 - adds r0, r1, 0 - bl move_anim_8072740 -_080CE3E8: - pop {r0} - bx r0 - thumb_func_end sub_80CE3B0 - - thumb_func_start sub_80CE3EC -sub_80CE3EC: @ 80CE3EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r7, r0, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80791A8 - mov r8, r0 - ldr r0, _080CE4BC @ =0x0000ffff - mov r1, r8 - ands r1, r0 - mov r8, r1 - ldr r0, _080CE4C0 @ =gTasks - mov r9, r0 - lsls r5, r7, 2 - adds r5, r7 - lsls r5, 3 - adds r6, r5, r0 - strh r4, [r6, 0x8] - strh r4, [r6, 0xA] - strh r4, [r6, 0xC] - strh r1, [r6, 0xE] - strh r4, [r6, 0x10] - strh r4, [r6, 0x12] - strh r4, [r6, 0x14] - movs r0, 0xD - strh r0, [r6, 0x16] - movs r0, 0xE - strh r0, [r6, 0x18] - movs r0, 0xF - strh r0, [r6, 0x1A] - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x1 - bl sub_80792C0 - mov r10, r0 - mov r1, r8 - orrs r1, r0 - mov r8, r1 - movs r0, 0x8 - add r9, r0 - add r5, r9 - adds r0, r5, 0 - adds r0, 0x1C - adds r5, 0x1E - adds r1, r5, 0 - mov r2, r8 - bl sub_8079BF4 - ldr r0, _080CE4C4 @ =0x000027d2 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x80 - lsls r4, 9 - adds r1, r4, 0 - lsls r1, r0 - mov r0, r10 - orrs r0, r1 - mov r10, r0 - ldr r0, _080CE4C8 @ =0x000027d3 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0 - mov r1, r10 - orrs r4, r1 - ldr r0, _080CE4CC @ =0x00007fbb - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _080CE4D0 @ =sub_80CE4D4 - str r1, [r6] - adds r0, r7, 0 - bl _call_via_r1 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CE4BC: .4byte 0x0000ffff -_080CE4C0: .4byte gTasks -_080CE4C4: .4byte 0x000027d2 -_080CE4C8: .4byte 0x000027d3 -_080CE4CC: .4byte 0x00007fbb -_080CE4D0: .4byte sub_80CE4D4 - thumb_func_end sub_80CE3EC - - thumb_func_start sub_80CE4D4 -sub_80CE4D4: @ 80CE4D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080CE4FC @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080CE5C0 - cmp r1, 0x1 - bgt _080CE500 - cmp r1, 0 - beq _080CE50E - b _080CE65E - .align 2, 0 -_080CE4FC: .4byte gTasks -_080CE500: - cmp r1, 0x2 - bne _080CE506 - b _080CE618 -_080CE506: - cmp r1, 0x3 - bne _080CE50C - b _080CE64C -_080CE50C: - b _080CE65E -_080CE50E: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bgt _080CE51C - b _080CE65E -_080CE51C: - strh r1, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _080CE568 - ldrh r0, [r4, 0x16] - ldrh r1, [r4, 0x10] - adds r0, r1 - strh r0, [r4, 0x10] - ldrh r2, [r4, 0x18] - ldrh r3, [r4, 0x12] - adds r2, r3 - strh r2, [r4, 0x12] - ldrh r1, [r4, 0x1A] - ldrh r5, [r4, 0x14] - adds r1, r5 - strh r1, [r4, 0x14] - lsls r0, 16 - asrs r0, 19 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - asrs r2, 19 - lsls r2, 16 - lsls r1, 16 - asrs r1, 19 - lsls r1, 16 - lsrs r2, 11 - orrs r0, r2 - lsrs r1, 6 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - b _080CE572 -_080CE568: - ldr r7, _080CE5B8 @ =0x00007fbb - mov r12, r7 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080CE572: - movs r2, 0x1 - movs r3, 0 - movs r1, 0 -_080CE578: - movs r5, 0xE - ldrsh r0, [r4, r5] - ands r0, r2 - lsls r5, r2, 17 - adds r6, r3, 0 - adds r6, 0x10 - adds r1, 0x1 - mov r8, r1 - cmp r0, 0 - beq _080CE5A4 - movs r1, 0x1 - ldr r2, _080CE5BC @ =gPlttBufferFaded -_080CE590: - adds r0, r3, r1 - lsls r0, 1 - adds r0, r2 - mov r7, r12 - strh r7, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _080CE590 -_080CE5A4: - lsrs r2, r5, 16 - lsls r0, r6, 16 - lsrs r3, r0, 16 - mov r1, r8 - lsls r0, r1, 16 - lsrs r1, r0, 16 - cmp r1, 0xF - bls _080CE578 - b _080CE65E - .align 2, 0 -_080CE5B8: .4byte 0x00007fbb -_080CE5BC: .4byte gPlttBufferFaded -_080CE5C0: - ldr r0, _080CE608 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080CE65E - movs r2, 0 - ldr r3, _080CE60C @ =gSprites - movs r5, 0x14 - adds r5, r3 - mov r12, r5 - ldr r7, _080CE610 @ =gBattleAnimSpriteTemplate_83D6FC8 - mov r8, r7 - ldr r6, _080CE614 @ =gBattleAnimSpriteTemplate_83D6FF8 - movs r5, 0x1 -_080CE5DE: - lsls r0, r2, 4 - adds r0, r2 - lsls r1, r0, 2 - mov r7, r12 - adds r0, r1, r7 - ldr r0, [r0] - cmp r0, r8 - beq _080CE5F2 - cmp r0, r6 - bne _080CE5F6 -_080CE5F2: - adds r0, r1, r3 - strh r5, [r0, 0x2E] -_080CE5F6: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _080CE5DE - movs r0, 0 - strh r0, [r4, 0xA] - b _080CE640 - .align 2, 0 -_080CE608: .4byte gPaletteFade -_080CE60C: .4byte gSprites -_080CE610: .4byte gBattleAnimSpriteTemplate_83D6FC8 -_080CE614: .4byte gBattleAnimSpriteTemplate_83D6FF8 -_080CE618: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - ble _080CE65E - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r2, 0x26 - ldrsh r1, [r4, r2] - bl sub_8079BFC - ldr r1, _080CE648 @ =0x00007fbb - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_080CE640: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080CE65E - .align 2, 0 -_080CE648: .4byte 0x00007fbb -_080CE64C: - ldr r0, _080CE66C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080CE65E - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080CE65E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CE66C: .4byte gPaletteFade - thumb_func_end sub_80CE4D4 - - thumb_func_start sub_80CE670 -sub_80CE670: @ 80CE670 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r6, _080CE6F4 @ =gBattleAnimArgs - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0x1 - bgt _080CE682 - movs r0, 0x2 - strh r0, [r6, 0x4] -_080CE682: - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0x7F - ble _080CE68E - movs r0, 0x7F - strh r0, [r6, 0x4] -_080CE68E: - movs r0, 0 - strh r0, [r5, 0x2E] - ldrh r0, [r6, 0x4] - strh r0, [r5, 0x30] - ldr r4, _080CE6F8 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6] - adds r0, r1 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r6, [r6, 0x2] - adds r0, r6 - strh r0, [r5, 0x22] - ldrh r1, [r5, 0x20] - strh r1, [r5, 0x3A] - strh r0, [r5, 0x3C] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CE700 - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrh r0, [r5, 0x20] - adds r0, 0x28 - strh r0, [r5, 0x20] - ldrh r4, [r5, 0x22] - adds r4, 0x14 - strh r4, [r5, 0x22] - lsls r0, 7 - strh r0, [r5, 0x32] - movs r0, 0x30 - ldrsh r1, [r5, r0] - ldr r0, _080CE6FC @ =0xffffec00 - b _080CE726 - .align 2, 0 -_080CE6F4: .4byte gBattleAnimArgs -_080CE6F8: .4byte gBattleAnimEnemyMonIndex -_080CE6FC: .4byte 0xffffec00 -_080CE700: - ldr r0, _080CE740 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CE748 - ldrh r0, [r5, 0x20] - subs r0, 0x28 - strh r0, [r5, 0x20] - ldrh r4, [r5, 0x22] - adds r4, 0x14 - strh r4, [r5, 0x22] - lsls r0, 7 - strh r0, [r5, 0x32] - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r0, 0xA0 - lsls r0, 5 -_080CE726: - bl __divsi3 - strh r0, [r5, 0x34] - lsls r4, 7 - strh r4, [r5, 0x36] - movs r0, 0x30 - ldrsh r1, [r5, r0] - ldr r0, _080CE744 @ =0xfffff600 - bl __divsi3 - strh r0, [r5, 0x38] - b _080CE784 - .align 2, 0 -_080CE740: .4byte gBattleAnimPlayerMonIndex -_080CE744: .4byte 0xfffff600 -_080CE748: - ldrh r0, [r5, 0x20] - adds r0, 0x28 - strh r0, [r5, 0x20] - ldrh r4, [r5, 0x22] - subs r4, 0x14 - strh r4, [r5, 0x22] - lsls r0, 7 - strh r0, [r5, 0x32] - movs r0, 0x30 - ldrsh r1, [r5, r0] - ldr r0, _080CE790 @ =0xffffec00 - bl __divsi3 - strh r0, [r5, 0x34] - lsls r4, 7 - strh r4, [r5, 0x36] - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r0, 0xA0 - lsls r0, 4 - bl __divsi3 - strh r0, [r5, 0x38] - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x30 - orrs r0, r1 - strb r0, [r5, 0x3] -_080CE784: - ldr r0, _080CE794 @ =sub_80CE798 - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CE790: .4byte 0xffffec00 -_080CE794: .4byte sub_80CE798 - thumb_func_end sub_80CE670 - - thumb_func_start sub_80CE798 -sub_80CE798: @ 80CE798 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x34] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r1, [r2, 0x38] - ldrh r3, [r2, 0x36] - adds r1, r3 - strh r1, [r2, 0x36] - lsls r0, 16 - asrs r0, 23 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 23 - strh r1, [r2, 0x22] - ldrh r0, [r2, 0x30] - subs r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080CE7CE - ldrh r0, [r2, 0x3A] - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x3C] - strh r0, [r2, 0x22] -_080CE7CE: - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _080CE7DC - adds r0, r2, 0 - bl move_anim_8072740 -_080CE7DC: - pop {r0} - bx r0 - thumb_func_end sub_80CE798 - - thumb_func_start sub_80CE7E0 -sub_80CE7E0: @ 80CE7E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, _080CE870 @ =gTasks - adds r6, r0, r1 - movs r0, 0 - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x8] - ldr r0, _080CE874 @ =0x00002771 - bl AllocSpritePalette - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0xA] - movs r1, 0xA - ldrsh r0, [r6, r1] - lsls r0, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r3, r0, 16 - ldr r2, _080CE878 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - lsls r4, r0, 4 - movs r5, 0x1 - ldr r2, _080CE87C @ =gPlttBufferUnfaded -_080CE838: - adds r1, r3, r5 - lsls r1, 1 - adds r1, r2 - adds r0, r4, r5 - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xF - bls _080CE838 - adds r0, r3, 0 - movs r1, 0x10 - movs r2, 0xB - movs r3, 0 - bl BlendPalette - movs r0, 0 - strh r0, [r6, 0xE] - movs r5, 0 - ldr r7, _080CE878 @ =gSprites - movs r1, 0x1C - adds r1, r7 - mov r9, r1 - b _080CE8B4 - .align 2, 0 -_080CE870: .4byte gTasks -_080CE874: .4byte 0x00002771 -_080CE878: .4byte gSprites -_080CE87C: .4byte gPlttBufferUnfaded -_080CE880: - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r4, r2, r7 - ldrb r1, [r6, 0xA] - lsls r1, 4 - ldrb r3, [r4, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r1 - strb r0, [r4, 0x5] - movs r0, 0 - strh r0, [r4, 0x2E] - lsls r0, r5, 7 - strh r0, [r4, 0x30] - mov r0, r8 - strh r0, [r4, 0x32] - add r2, r9 - ldr r0, _080CE8E4 @ =sub_80CE974 - str r0, [r2] - ldrh r0, [r6, 0xE] - adds r0, 0x1 - strh r0, [r6, 0xE] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080CE8B4: - cmp r5, 0x1 - bhi _080CE8C6 - movs r0, 0 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080CE880 -_080CE8C6: - ldr r0, _080CE8E8 @ =sub_80CE910 - str r0, [r6] - ldr r0, _080CE8EC @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankIdentity_permutated - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CE8F4 - movs r2, 0x80 - lsls r2, 19 - ldrh r1, [r2] - ldr r0, _080CE8F0 @ =0x0000fdff - b _080CE8FC - .align 2, 0 -_080CE8E4: .4byte sub_80CE974 -_080CE8E8: .4byte sub_80CE910 -_080CE8EC: .4byte gBattleAnimPlayerMonIndex -_080CE8F0: .4byte 0x0000fdff -_080CE8F4: - movs r2, 0x80 - lsls r2, 19 - ldrh r1, [r2] - ldr r0, _080CE90C @ =0x0000fbff -_080CE8FC: - ands r0, r1 - strh r0, [r2] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CE90C: .4byte 0x0000fbff - thumb_func_end sub_80CE7E0 - - thumb_func_start sub_80CE910 -sub_80CE910: @ 80CE910 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080CE944 @ =gTasks - adds r0, r1 - movs r1, 0xE - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080CE968 - ldr r0, _080CE948 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankIdentity_permutated - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CE94C - movs r0, 0x80 - lsls r0, 19 - ldrh r1, [r0] - movs r3, 0x80 - lsls r3, 2 - b _080CE956 - .align 2, 0 -_080CE944: .4byte gTasks -_080CE948: .4byte gBattleAnimPlayerMonIndex -_080CE94C: - movs r0, 0x80 - lsls r0, 19 - ldrh r1, [r0] - movs r3, 0x80 - lsls r3, 3 -_080CE956: - adds r2, r3, 0 - orrs r1, r2 - strh r1, [r0] - ldr r0, _080CE970 @ =0x00002771 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080CE968: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CE970: .4byte 0x00002771 - thumb_func_end sub_80CE910 - - thumb_func_start sub_80CE974 -sub_80CE974: @ 80CE974 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080CE990 - movs r0, 0 - strh r0, [r5, 0x34] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_080CE990: - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x40 - ble _080CE9B8 - ldr r2, _080CE9B4 @ =gTasks - movs r0, 0x32 - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0xE] - subs r1, 0x1 - strh r1, [r0, 0xE] - adds r0, r5, 0 - bl obj_delete_but_dont_free_vram - b _080CE9FA - .align 2, 0 -_080CE9B4: .4byte gTasks -_080CE9B8: - ldr r4, _080CEA00 @ =gSineTable - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r4 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0x6 - bl __divsi3 - strh r0, [r5, 0x36] - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r0, 1 - adds r0, r4 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0xD - bl __divsi3 - strh r0, [r5, 0x38] - ldrh r1, [r5, 0x30] - adds r1, r0 - movs r0, 0xFF - ands r1, r0 - strh r1, [r5, 0x30] - movs r1, 0x30 - ldrsh r0, [r5, r1] - movs r2, 0x36 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] -_080CE9FA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CEA00: .4byte gSineTable - thumb_func_end sub_80CE974 - - thumb_func_start sub_80CEA04 -sub_80CEA04: @ 80CEA04 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080CEA18 @ =move_anim_8072740 - bl oamt_set_x3A_32 - ldr r0, _080CEA1C @ =sub_8078600 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CEA18: .4byte move_anim_8072740 -_080CEA1C: .4byte sub_8078600 - thumb_func_end sub_80CEA04 - - thumb_func_start sub_80CEA20 -sub_80CEA20: @ 80CEA20 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r4, _080CEAD0 @ =gUnknown_083D712C - ldrh r0, [r4] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xFF - beq _080CEA64 - lsls r0, r3, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r3, r0, 16 - movs r2, 0x1 - ldr r5, _080CEAD4 @ =gPlttBufferFaded -_080CEA4C: - adds r1, r3, r2 - lsls r1, 1 - adds r1, r5 - lsls r0, r2, 1 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _080CEA4C -_080CEA64: - movs r4, 0x1 - ldr r0, _080CEAD0 @ =gUnknown_083D712C - mov r8, r0 -_080CEA6A: - lsls r0, r4, 1 - adds r0, r4 - lsls r5, r0, 2 - mov r1, r8 - adds r0, r5, r1 - ldrh r0, [r0] - bl AllocSpritePalette - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, 0x1 - mov r12, r4 - cmp r3, 0xFF - beq _080CEAB2 - lsls r0, r3, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r3, r0, 16 - movs r2, 0x1 - ldr r7, _080CEAD4 @ =gPlttBufferFaded - ldr r6, _080CEAD0 @ =gUnknown_083D712C - adds r4, r5, 0 -_080CEA98: - adds r1, r3, r2 - lsls r1, 1 - adds r1, r7 - lsls r0, r2, 1 - adds r0, r4 - adds r0, r6 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _080CEA98 -_080CEAB2: - mov r1, r12 - lsls r0, r1, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080CEA6A - mov r0, r9 - bl DestroyAnimVisualTask - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CEAD0: .4byte gUnknown_083D712C -_080CEAD4: .4byte gPlttBufferFaded - thumb_func_end sub_80CEA20 - - thumb_func_start sub_80CEAD8 -sub_80CEAD8: @ 80CEAD8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0x1 - ldr r6, _080CEB08 @ =gUnknown_083D712C -_080CEAE2: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r6 - ldrh r0, [r0] - bl FreeSpritePaletteByTag - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _080CEAE2 - adds r0, r5, 0 - bl DestroyAnimVisualTask - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CEB08: .4byte gUnknown_083D712C - thumb_func_end sub_80CEAD8 - - thumb_func_start sub_80CEB0C -sub_80CEB0C: @ 80CEB0C - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - bl sub_8078650 - ldr r4, _080CEB64 @ =gBattleAnimArgs - ldrb r1, [r4] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r2, _080CEB68 @ =gUnknown_083D712C - movs r0, 0x2 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080CEB48 - lsls r2, r0, 4 - ldrb r1, [r5, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] -_080CEB48: - ldrh r0, [r4, 0x2] - movs r1, 0 - strh r0, [r5, 0x30] - strh r1, [r5, 0x32] - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x34] - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CEB6C - movs r6, 0x30 - movs r3, 0x28 - b _080CEB86 - .align 2, 0 -_080CEB64: .4byte gBattleAnimArgs -_080CEB68: .4byte gUnknown_083D712C -_080CEB6C: - ldr r4, _080CEBBC @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r3, r0, 24 -_080CEB86: - ldrh r0, [r5, 0x20] - lsls r1, r0, 4 - strh r1, [r5, 0x36] - ldrh r1, [r5, 0x22] - lsls r2, r1, 4 - strh r2, [r5, 0x38] - subs r0, r6, r0 - lsls r0, 16 - asrs r0, 16 - subs r1, r3, r1 - lsls r1, 16 - asrs r1, 16 - adds r2, r5, 0 - adds r2, 0x3A - adds r3, r5, 0 - adds r3, 0x3C - movs r4, 0x28 - str r4, [sp] - bl sub_80CEBC4 - ldr r0, _080CEBC0 @ =sub_80CEC1C - str r0, [r5, 0x1C] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CEBBC: .4byte gBattleAnimEnemyMonIndex -_080CEBC0: .4byte sub_80CEC1C - thumb_func_end sub_80CEB0C - - thumb_func_start sub_80CEBC4 -sub_80CEBC4: @ 80CEBC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r2, 0 - mov r8, r3 - ldr r2, [sp, 0x18] - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r1, r2, 24 - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0 - bge _080CEBE6 - lsls r0, r1, 24 - negs r0, r0 - lsrs r1, r0, 24 -_080CEBE6: - lsls r5, r2, 8 - lsls r1, 24 - asrs r1, 24 - adds r0, r5, 0 - bl __divsi3 - adds r4, r0, 0 - cmp r4, 0 - bne _080CEBFA - movs r4, 0x1 -_080CEBFA: - adds r0, r5, 0 - adds r1, r4, 0 - bl __divsi3 - strh r0, [r7] - lsls r0, r6, 16 - asrs r0, 8 - adds r1, r4, 0 - bl __divsi3 - mov r1, r8 - strh r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80CEBC4 - - thumb_func_start sub_80CEC1C -sub_80CEC1C: @ 80CEC1C - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x2E] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r1, r0, r1 - adds r0, r1, 0 - cmp r1, 0 - bge _080CEC38 - adds r0, 0xFF -_080CEC38: - asrs r0, 8 - lsls r0, 8 - subs r0, r1, r0 - ldrh r1, [r4, 0x3A] - ldrh r2, [r4, 0x36] - adds r1, r2 - strh r1, [r4, 0x36] - ldrh r2, [r4, 0x3C] - ldrh r3, [r4, 0x38] - adds r2, r3 - strh r2, [r4, 0x38] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x20] - lsls r2, 16 - asrs r2, 20 - strh r2, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xF - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - ldrh r0, [r4, 0x20] - adds r0, 0x10 - lsls r0, 16 - movs r1, 0x88 - lsls r1, 17 - cmp r0, r1 - bhi _080CEC86 - lsls r0, r2, 16 - asrs r1, r0, 16 - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - blt _080CEC86 - cmp r1, 0x80 - ble _080CEC8E -_080CEC86: - adds r0, r4, 0 - bl move_anim_8074EE0 - b _080CECDE -_080CEC8E: - movs r0, 0x34 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _080CECDE - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, r1 - ble _080CECDE - strh r5, [r4, 0x32] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080CECB6 - strh r5, [r4, 0x30] -_080CECB6: - ldr r2, _080CECE4 @ =gUnknown_083D712C - movs r3, 0x30 - ldrsh r1, [r4, r3] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080CECDE - lsls r2, r0, 4 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] -_080CECDE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CECE4: .4byte gUnknown_083D712C - thumb_func_end sub_80CEC1C - - thumb_func_start sub_80CECE8 -sub_80CECE8: @ 80CECE8 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r7, _080CED6C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r7] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080CED06 - ldr r1, _080CED70 @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x2] -_080CED06: - ldrb r0, [r7] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - ldr r4, _080CED70 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - movs r5, 0 - strh r0, [r6, 0x20] - ldrb r0, [r7] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r4, 0x4] - adds r0, r2 - strh r0, [r6, 0x22] - ldrb r1, [r4] - adds r0, r6, 0 - bl StartSpriteAnim - strh r5, [r6, 0x32] - strh r5, [r6, 0x34] - ldrh r0, [r6, 0x20] - lsls r0, 4 - strh r0, [r6, 0x36] - ldrh r0, [r6, 0x22] - lsls r0, 4 - strh r0, [r6, 0x38] - movs r1, 0x2 - ldrsh r0, [r4, r1] - lsls r0, 4 - movs r1, 0x5 - bl __divsi3 - strh r0, [r6, 0x3A] - movs r2, 0x4 - ldrsh r0, [r4, r2] - lsls r0, 7 - movs r1, 0x5 - bl __divsi3 - strh r0, [r6, 0x3C] - ldr r0, _080CED74 @ =sub_80CED78 - str r0, [r6, 0x1C] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CED6C: .4byte gBattleAnimPlayerMonIndex -_080CED70: .4byte gBattleAnimArgs -_080CED74: .4byte sub_80CED78 - thumb_func_end sub_80CECE8 - - thumb_func_start sub_80CED78 -sub_80CED78: @ 80CED78 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x36] - adds r0, r1 - strh r0, [r4, 0x36] - ldrh r1, [r4, 0x3C] - ldrh r2, [r4, 0x38] - adds r1, r2 - strh r1, [r4, 0x38] - lsls r0, 16 - asrs r0, 20 - strh r0, [r4, 0x20] - lsls r1, 16 - asrs r1, 20 - strh r1, [r4, 0x22] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x5 - ble _080CEDD6 - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080CEDD6 - ldrh r0, [r4, 0x32] - adds r0, 0x10 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0x12 - bl Cos - strh r0, [r4, 0x24] - movs r2, 0x32 - ldrsh r0, [r4, r2] - movs r1, 0x12 - bl Sin - strh r0, [r4, 0x26] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080CEDD6 - movs r0, 0x1 - strh r0, [r4, 0x34] -_080CEDD6: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x30 - bne _080CEDEA - adds r0, r4, 0 - bl move_anim_8074EE0 -_080CEDEA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CED78 - - thumb_func_start sub_80CEDF0 -sub_80CEDF0: @ 80CEDF0 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r0, _080CEE10 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _080CEE14 - ldrb r0, [r5, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r5, 0x3] - movs r6, 0x10 - b _080CEE16 - .align 2, 0 -_080CEE10: .4byte gBattleAnimArgs -_080CEE14: - ldr r6, _080CEE50 @ =0x0000fff0 -_080CEE16: - ldr r4, _080CEE54 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x8 - strh r0, [r5, 0x22] - movs r0, 0x8 - strh r0, [r5, 0x2E] - ldr r0, _080CEE58 @ =sub_80782D8 - str r0, [r5, 0x1C] - ldr r1, _080CEE5C @ =move_anim_8072740 - adds r0, r5, 0 - bl oamt_set_x3A_32 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CEE50: .4byte 0x0000fff0 -_080CEE54: .4byte gBattleAnimPlayerMonIndex -_080CEE58: .4byte sub_80782D8 -_080CEE5C: .4byte move_anim_8072740 - thumb_func_end sub_80CEDF0 - - thumb_func_start sub_80CEE60 -sub_80CEE60: @ 80CEE60 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8078650 - ldrh r0, [r4, 0x22] - adds r0, 0x8 - strh r0, [r4, 0x22] - ldr r5, _080CEED8 @ =gBattleAnimArgs - ldrb r1, [r5, 0x2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r2, _080CEEDC @ =gUnknown_083D712C - movs r0, 0x4 - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080CEEA0 - lsls r2, r0, 4 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] -_080CEEA0: - movs r1, 0 - ldrsh r0, [r5, r1] - movs r2, 0x20 - cmp r0, 0 - bne _080CEEAC - ldr r2, _080CEEE0 @ =0x0000ffe0 -_080CEEAC: - movs r0, 0x28 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x20] - strh r1, [r4, 0x30] - lsls r0, r2, 16 - asrs r0, 16 - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - subs r0, 0x28 - strh r0, [r4, 0x36] - adds r0, r4, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x38] - ldr r0, _080CEEE4 @ =sub_80CEEE8 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CEED8: .4byte gBattleAnimArgs -_080CEEDC: .4byte gUnknown_083D712C -_080CEEE0: .4byte 0x0000ffe0 -_080CEEE4: .4byte sub_80CEEE8 - thumb_func_end sub_80CEE60 - - thumb_func_start sub_80CEEE8 -sub_80CEEE8: @ 80CEEE8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078B5C - lsls r0, 24 - cmp r0, 0 - bne _080CEF38 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - lsls r0, 16 - lsrs r1, r0, 16 - ldrh r2, [r4, 0x24] - movs r3, 0x24 - ldrsh r0, [r4, r3] - cmp r0, 0 - bge _080CEF14 - lsls r0, r1, 16 - negs r0, r0 - lsrs r1, r0, 16 -_080CEF14: - lsls r0, r1, 16 - asrs r0, 16 - adds r0, r2 - strh r0, [r4, 0x24] - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x4 - bl Sin - ldrh r3, [r4, 0x26] - adds r0, r3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x38] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - b _080CEF3E -_080CEF38: - adds r0, r4, 0 - bl move_anim_8072740 -_080CEF3E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80CEEE8 - - thumb_func_start sub_80CEF44 -sub_80CEF44: @ 80CEF44 - push {r4-r6,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CEF64 - adds r0, r5, 0 - movs r1, 0x5 - bl sub_807A100 - adds r0, 0x8 - b _080CEF6E -_080CEF64: - adds r0, r5, 0 - movs r1, 0x4 - bl sub_807A100 - subs r0, 0x8 -_080CEF6E: - strh r0, [r6, 0x20] - adds r0, r5, 0 - movs r1, 0x3 - bl sub_8077ABC - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0 - bl sub_807A100 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bge _080CEF90 - adds r0, 0x3 -_080CEF90: - asrs r0, 2 - subs r0, r4, r0 - strh r0, [r6, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CEF44 - - thumb_func_start sub_80CEF9C -sub_80CEF9C: @ 80CEF9C - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080CEFB0 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080CEFB8 - ldr r0, _080CEFB4 @ =gBattleAnimPlayerMonIndex - b _080CEFBA - .align 2, 0 -_080CEFB0: .4byte gBattleAnimArgs -_080CEFB4: .4byte gBattleAnimPlayerMonIndex -_080CEFB8: - ldr r0, _080CEFF8 @ =gBattleAnimEnemyMonIndex -_080CEFBA: - ldrb r4, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80CEF44 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - ldr r0, _080CEFFC @ =gBattleAnimArgs - ldrh r0, [r0, 0x2] - strh r0, [r5, 0x2E] - adds r0, r1, 0x2 - strh r0, [r5, 0x30] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r1, _080CF000 @ =sub_80CF008 - adds r0, r5, 0 - bl oamt_set_x3A_32 - ldr r0, _080CF004 @ =sub_8078600 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CEFF8: .4byte gBattleAnimEnemyMonIndex -_080CEFFC: .4byte gBattleAnimArgs -_080CF000: .4byte sub_80CF008 -_080CF004: .4byte sub_8078600 - thumb_func_end sub_80CEF9C - - thumb_func_start sub_80CF008 -sub_80CF008: @ 80CF008 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080CF030 - ldr r1, _080CF038 @ =move_anim_8072740 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _080CF03C @ =sub_8078600 - str r0, [r4, 0x1C] -_080CF030: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF038: .4byte move_anim_8072740 -_080CF03C: .4byte sub_8078600 - thumb_func_end sub_80CF008 - - thumb_func_start sub_80CF040 -sub_80CF040: @ 80CF040 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080CF054 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080CF05C - ldr r0, _080CF058 @ =gBattleAnimPlayerMonIndex - b _080CF05E - .align 2, 0 -_080CF054: .4byte gBattleAnimArgs -_080CF058: .4byte gBattleAnimPlayerMonIndex -_080CF05C: - ldr r0, _080CF07C @ =gBattleAnimEnemyMonIndex -_080CF05E: - ldrb r0, [r0] - adds r1, r4, 0 - bl sub_80CEF44 - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r1, _080CF080 @ =sub_80CF088 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CF084 @ =sub_80785E4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF07C: .4byte gBattleAnimEnemyMonIndex -_080CF080: .4byte sub_80CF088 -_080CF084: .4byte sub_80785E4 - thumb_func_end sub_80CF040 - - thumb_func_start sub_80CF088 -sub_80CF088: @ 80CF088 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080CF0AE - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r1, _080CF0B4 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CF0B8 @ =sub_80785E4 - str r0, [r4, 0x1C] -_080CF0AE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF0B4: .4byte move_anim_8074EE0 -_080CF0B8: .4byte sub_80785E4 - thumb_func_end sub_80CF088 - - thumb_func_start sub_80CF0BC -sub_80CF0BC: @ 80CF0BC - push {r4-r6,lr} - adds r4, r0, 0 - ldr r0, _080CF0D0 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080CF0D8 - ldr r0, _080CF0D4 @ =gBattleAnimPlayerMonIndex - b _080CF0DA - .align 2, 0 -_080CF0D0: .4byte gBattleAnimArgs -_080CF0D4: .4byte gBattleAnimPlayerMonIndex -_080CF0D8: - ldr r0, _080CF12C @ =gBattleAnimEnemyMonIndex -_080CF0DA: - ldrb r5, [r0] - adds r0, r5, 0 - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_807A100 - strh r0, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bgt _080CF102 - movs r0, 0xA - strh r0, [r4, 0x22] -_080CF102: - movs r0, 0x1 - strh r0, [r4, 0x2E] - strh r6, [r4, 0x30] - adds r1, r4, 0 - adds r1, 0x43 - ldrb r0, [r1] - strh r0, [r4, 0x32] - ldrb r0, [r1] - adds r0, 0x4 - strh r0, [r4, 0x34] - strh r6, [r4, 0x36] - ldr r1, _080CF130 @ =sub_80CF138 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CF134 @ =sub_80785E4 - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CF12C: .4byte gBattleAnimEnemyMonIndex -_080CF130: .4byte sub_80CF138 -_080CF134: .4byte sub_80785E4 - thumb_func_end sub_80CF0BC - - thumb_func_start sub_80CF138 -sub_80CF138: @ 80CF138 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - ble _080CF14E - ldr r0, _080CF154 @ =sub_80CF158 - str r0, [r1, 0x1C] -_080CF14E: - pop {r0} - bx r0 - .align 2, 0 -_080CF154: .4byte sub_80CF158 - thumb_func_end sub_80CF138 - - thumb_func_start sub_80CF158 -sub_80CF158: @ 80CF158 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x30] - adds r1, r0, 0x4 - strh r1, [r2, 0x30] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFE - ble _080CF18A - ldrh r0, [r2, 0x2E] - subs r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _080CF184 - strh r0, [r2, 0x24] - ldr r0, _080CF180 @ =sub_80CF088 - str r0, [r2, 0x1C] - b _080CF1C0 - .align 2, 0 -_080CF180: .4byte sub_80CF088 -_080CF184: - movs r0, 0xFF - ands r1, r0 - strh r1, [r2, 0x30] -_080CF18A: - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r0, 0x4F - ble _080CF19A - ldrh r0, [r2, 0x34] - adds r1, r2, 0 - adds r1, 0x43 - strb r0, [r1] -_080CF19A: - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0x9F - ble _080CF1AA - ldrh r0, [r2, 0x32] - adds r1, r2, 0 - adds r1, 0x43 - strb r0, [r1] -_080CF1AA: - ldr r1, _080CF1C4 @ =gSineTable - movs r3, 0x30 - ldrsh r0, [r2, r3] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - asrs r1, r0, 1 - adds r0, r1 - strh r0, [r2, 0x24] -_080CF1C0: - pop {r0} - bx r0 - .align 2, 0 -_080CF1C4: .4byte gSineTable - thumb_func_end sub_80CF158 - - thumb_func_start sub_80CF1C8 -sub_80CF1C8: @ 80CF1C8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r0, _080CF1DC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080CF1E4 - ldr r0, _080CF1E0 @ =gBattleAnimPlayerMonIndex - b _080CF1E6 - .align 2, 0 -_080CF1DC: .4byte gBattleAnimArgs -_080CF1E0: .4byte gBattleAnimPlayerMonIndex -_080CF1E4: - ldr r0, _080CF208 @ =gBattleAnimEnemyMonIndex -_080CF1E6: - ldrb r4, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80CEF44 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CF20C - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAnim - movs r0, 0x2 - b _080CF216 - .align 2, 0 -_080CF208: .4byte gBattleAnimEnemyMonIndex -_080CF20C: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - movs r0, 0x3 -_080CF216: - strh r0, [r5, 0x2E] - ldr r0, _080CF224 @ =sub_80CF228 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CF224: .4byte sub_80CF228 - thumb_func_end sub_80CF1C8 - - thumb_func_start sub_80CF228 -sub_80CF228: @ 80CF228 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - ble _080CF256 - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, _080CF25C @ =sub_80CF264 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080CF260 @ =sub_8078600 - str r0, [r4, 0x1C] -_080CF256: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF25C: .4byte sub_80CF264 -_080CF260: .4byte sub_8078600 - thumb_func_end sub_80CF228 - - thumb_func_start sub_80CF264 -sub_80CF264: @ 80CF264 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - ble _080CF27C - adds r0, r1, 0 - bl move_anim_8072740 -_080CF27C: - pop {r0} - bx r0 - thumb_func_end sub_80CF264 - - thumb_func_start sub_80CF280 -sub_80CF280: @ 80CF280 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8078650 - ldr r5, _080CF2C4 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_807867C - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x32] - ldrh r0, [r5, 0xA] - strh r0, [r4, 0x34] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x36] - ldr r1, _080CF2C8 @ =move_anim_8074EE0 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r1, _080CF2CC @ =sub_8078278 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CF2C4: .4byte gBattleAnimArgs -_080CF2C8: .4byte move_anim_8074EE0 -_080CF2CC: .4byte sub_8078278 - thumb_func_end sub_80CF280 - - thumb_func_start sub_80CF2D0 -sub_80CF2D0: @ 80CF2D0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080CF2E4 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080CF2EC - ldr r0, _080CF2E8 @ =gBattleAnimPlayerMonIndex - b _080CF2EE - .align 2, 0 -_080CF2E4: .4byte gBattleAnimArgs -_080CF2E8: .4byte gBattleAnimPlayerMonIndex -_080CF2EC: - ldr r0, _080CF308 @ =gBattleAnimEnemyMonIndex -_080CF2EE: - ldrb r0, [r0] - adds r1, r4, 0 - bl sub_80CEF44 - movs r0, 0 - strh r0, [r4, 0x2E] - strh r0, [r4, 0x30] - ldr r0, _080CF30C @ =sub_80CF310 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF308: .4byte gBattleAnimEnemyMonIndex -_080CF30C: .4byte sub_80CF310 - thumb_func_end sub_80CF2D0 - - thumb_func_start sub_80CF310 -sub_80CF310: @ 80CF310 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _080CF342 - cmp r0, 0x1 - bgt _080CF326 - cmp r0, 0 - beq _080CF32C - b _080CF370 -_080CF326: - cmp r0, 0x2 - beq _080CF35C - b _080CF370 -_080CF32C: - ldrh r0, [r1, 0x26] - subs r0, 0x3 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6 - bne _080CF370 - b _080CF354 -_080CF342: - ldrh r0, [r1, 0x26] - adds r0, 0x3 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x30] - subs r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - cmp r0, 0 - bne _080CF370 -_080CF354: - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - strh r0, [r1, 0x2E] - b _080CF370 -_080CF35C: - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x40 - bne _080CF370 - adds r0, r1, 0 - bl move_anim_8072740 -_080CF370: - pop {r0} - bx r0 - thumb_func_end sub_80CF310 - - thumb_func_start sub_80CF374 -sub_80CF374: @ 80CF374 - push {r4,lr} - adds r4, r0, 0 - ldr r3, _080CF3C0 @ =gSprites - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r4, 0x30] - ldrh r2, [r0, 0x24] - adds r1, r2 - strh r1, [r0, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0x30] - movs r0, 0x2E - ldrsh r2, [r4, r0] - cmp r2, 0 - bne _080CF3B2 - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x24] - adds r0, r4, 0 - bl move_anim_8074EE0 -_080CF3B2: - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF3C0: .4byte gSprites - thumb_func_end sub_80CF374 - - thumb_func_start sub_80CF3C4 -sub_80CF3C4: @ 80CF3C4 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _080CF40C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x22] - ldr r1, _080CF410 @ =gObjectBankIDs - ldr r0, _080CF414 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r6, [r0] - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CF41C - ldr r0, _080CF418 @ =gBattleAnimArgs - ldrh r1, [r5, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r5, 0x20] - adds r1, r0, 0 - b _080CF426 - .align 2, 0 -_080CF40C: .4byte gBattleAnimPlayerMonIndex -_080CF410: .4byte gObjectBankIDs -_080CF414: .4byte gBattleAnimEnemyMonIndex -_080CF418: .4byte gBattleAnimArgs -_080CF41C: - ldr r1, _080CF450 @ =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r5, 0x20] - adds r0, r2 - strh r0, [r5, 0x20] -_080CF426: - ldrh r0, [r1, 0x2] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - ldrh r0, [r1, 0x4] - strh r0, [r5, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r5, 0x30] - strh r6, [r5, 0x32] - ldr r0, _080CF454 @ =sub_80CF374 - str r0, [r5, 0x1C] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080CF450: .4byte gBattleAnimArgs -_080CF454: .4byte sub_80CF374 - thumb_func_end sub_80CF3C4 - - thumb_func_start sub_80CF458 -sub_80CF458: @ 80CF458 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80787B0 - ldr r1, _080CF484 @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x38] - ldr r0, _080CF488 @ =sub_80782D8 - str r0, [r4, 0x1C] - ldr r1, _080CF48C @ =sub_80CF490 - adds r0, r4, 0 - bl oamt_set_x3A_32 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF484: .4byte gBattleAnimArgs -_080CF488: .4byte sub_80782D8 -_080CF48C: .4byte sub_80CF490 - thumb_func_end sub_80CF458 - - thumb_func_start sub_80CF490 -sub_80CF490: @ 80CF490 - push {lr} - ldrh r1, [r0, 0x30] - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x32] - ldrh r1, [r0, 0x22] - adds r1, 0xF - strh r1, [r0, 0x36] - ldr r1, _080CF4B0 @ =sub_8078B34 - str r1, [r0, 0x1C] - ldr r1, _080CF4B4 @ =sub_80CF4B8 - bl oamt_set_x3A_32 - pop {r0} - bx r0 - .align 2, 0 -_080CF4B0: .4byte sub_8078B34 -_080CF4B4: .4byte sub_80CF4B8 - thumb_func_end sub_80CF490 - - thumb_func_start sub_80CF4B8 -sub_80CF4B8: @ 80CF4B8 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x38] - movs r3, 0x38 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _080CF4CE - adds r0, r1, 0 - bl move_anim_8072740 - b _080CF4D2 -_080CF4CE: - subs r0, r2, 0x1 - strh r0, [r1, 0x38] -_080CF4D2: - pop {r0} - bx r0 - thumb_func_end sub_80CF4B8 - - thumb_func_start sub_80CF4D8 -sub_80CF4D8: @ 80CF4D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080CF504 @ =gObjectBankIDs - ldr r0, _080CF508 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8078E70 - ldr r1, _080CF50C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080CF510 @ =sub_80CF514 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF504: .4byte gObjectBankIDs -_080CF508: .4byte gBattleAnimPlayerMonIndex -_080CF50C: .4byte gTasks -_080CF510: .4byte sub_80CF514 - thumb_func_end sub_80CF4D8 - - thumb_func_start sub_80CF514 -sub_80CF514: @ 80CF514 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080CF544 @ =gObjectBankIDs - ldr r0, _080CF548 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - adds r1, r0, r1 - ldrb r4, [r1] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CF550 - ldr r1, _080CF54C @ =gTasks - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - negs r0, r0 - lsls r0, 16 - lsrs r3, r0, 16 - adds r6, r2, 0 - b _080CF55E - .align 2, 0 -_080CF544: .4byte gObjectBankIDs -_080CF548: .4byte gBattleAnimPlayerMonIndex -_080CF54C: .4byte gTasks -_080CF550: - ldr r2, _080CF590 @ =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r0, r2 - ldrh r3, [r0, 0x8] - adds r6, r1, 0 -_080CF55E: - movs r2, 0x80 - lsls r2, 1 - adds r0, r4, 0 - adds r1, r2, 0 - bl obj_id_set_rotscale - ldr r1, _080CF590 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080CF598 - ldrh r0, [r1, 0x8] - adds r0, 0xB0 - strh r0, [r1, 0x8] - ldr r1, _080CF594 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x26] - adds r1, 0x1 - b _080CF5C2 - .align 2, 0 -_080CF590: .4byte gTasks -_080CF594: .4byte gSprites -_080CF598: - cmp r0, 0x1 - bne _080CF5AE - ldrh r0, [r1, 0xE] - adds r0, 0x1 - strh r0, [r1, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - bne _080CF608 - movs r0, 0x2 - b _080CF606 -_080CF5AE: - ldrh r0, [r1, 0x8] - subs r0, 0xB0 - strh r0, [r1, 0x8] - ldr r1, _080CF5FC @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x26] - subs r1, 0x1 -_080CF5C2: - strh r1, [r0, 0x26] - adds r0, r4, 0 - bl sub_8078F9C - ldr r0, _080CF600 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r2, [r1, r3] - movs r0, 0xF2 - lsls r0, 4 - cmp r2, r0 - beq _080CF5E2 - cmp r2, 0 - bne _080CF608 -_080CF5E2: - ldrh r2, [r1, 0xA] - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0x2 - bne _080CF604 - adds r0, r4, 0 - bl sub_8078F40 - adds r0, r5, 0 - bl DestroyAnimVisualTask - b _080CF608 - .align 2, 0 -_080CF5FC: .4byte gSprites -_080CF600: .4byte gTasks -_080CF604: - adds r0, r2, 0x1 -_080CF606: - strh r0, [r1, 0xA] -_080CF608: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80CF514 - - thumb_func_start sub_80CF610 -sub_80CF610: @ 80CF610 - push {r4,r5,lr} - adds r4, r0, 0 - bl sub_8078650 - ldr r5, _080CF658 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl sub_807867C - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, _080CF65C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CF660 - adds r2, r4, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r1, r0 - strb r1, [r2] - movs r3, 0x4 - ldrsh r0, [r5, r3] - cmp r0, 0 - beq _080CF674 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] - b _080CF674 - .align 2, 0 -_080CF658: .4byte gBattleAnimArgs -_080CF65C: .4byte gBattleAnimPlayerMonIndex -_080CF660: - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _080CF674 - adds r2, r4, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] -_080CF674: - ldr r0, _080CF688 @ =sub_8078600 - str r0, [r4, 0x1C] - ldr r1, _080CF68C @ =move_anim_8072740 - adds r0, r4, 0 - bl oamt_set_x3A_32 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080CF688: .4byte sub_8078600 -_080CF68C: .4byte move_anim_8072740 - thumb_func_end sub_80CF610 - - thumb_func_start sub_80CF690 -sub_80CF690: @ 80CF690 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_80787B0 - ldr r0, _080CF6AC @ =sub_80785E4 - str r0, [r4, 0x1C] - ldr r1, _080CF6B0 @ =sub_80CF6B4 - adds r0, r4, 0 - bl oamt_set_x3A_32 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF6AC: .4byte sub_80785E4 -_080CF6B0: .4byte sub_80CF6B4 - thumb_func_end sub_80CF690 - - thumb_func_start sub_80CF6B4 -sub_80CF6B4: @ 80CF6B4 - push {lr} - movs r1, 0x6 - strh r1, [r0, 0x2E] - ldrh r1, [r0, 0x20] - strh r1, [r0, 0x32] - ldrh r1, [r0, 0x22] - subs r1, 0x20 - strh r1, [r0, 0x36] - ldr r1, _080CF6D4 @ =sub_8078B34 - str r1, [r0, 0x1C] - ldr r1, _080CF6D8 @ =move_anim_8072740 - bl oamt_set_x3A_32 - pop {r0} - bx r0 - .align 2, 0 -_080CF6D4: .4byte sub_8078B34 -_080CF6D8: .4byte move_anim_8072740 - thumb_func_end sub_80CF6B4 - - thumb_func_start sub_80CF6DC -sub_80CF6DC: @ 80CF6DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CF700 - ldr r1, _080CF6FC @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - b _080CF722 - .align 2, 0 -_080CF6FC: .4byte gBattleAnimArgs -_080CF700: - ldr r0, _080CF7C8 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CF722 - ldr r1, _080CF7CC @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] - ldrh r0, [r1, 0x2] - negs r0, r0 - strh r0, [r1, 0x2] - ldrh r0, [r1, 0x6] - negs r0, r0 - strh r0, [r1, 0x6] -_080CF722: - adds r0, r5, 0 - movs r1, 0x1 - bl sub_80787B0 - ldr r4, _080CF7D0 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - ldr r6, _080CF7CC @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r6, 0x4] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r2, [r6, 0x6] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - adds r7, r0, 0 - ldrh r1, [r5, 0x20] - mov r2, r8 - lsls r0, r2, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r5, 0x22] - lsls r1, r7, 16 - asrs r1, 16 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl sub_80790F0 - lsls r0, 16 - movs r1, 0xF0 - lsls r1, 24 - adds r0, r1 - lsrs r4, r0, 16 - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _080CF794 - ldr r2, _080CF7D4 @ =0xffffa000 - adds r0, r4, r2 - lsls r0, 16 - lsrs r4, r0, 16 -_080CF794: - movs r3, 0x80 - lsls r3, 1 - str r4, [sp] - adds r0, r5, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8078FDC - ldrh r0, [r6, 0x8] - strh r0, [r5, 0x2E] - mov r0, r8 - strh r0, [r5, 0x32] - strh r7, [r5, 0x36] - ldr r0, _080CF7D8 @ =sub_8078B34 - str r0, [r5, 0x1C] - ldr r1, _080CF7DC @ =move_anim_8072740 - adds r0, r5, 0 - bl oamt_set_x3A_32 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CF7C8: .4byte gBattleAnimPlayerMonIndex -_080CF7CC: .4byte gBattleAnimArgs -_080CF7D0: .4byte gBattleAnimEnemyMonIndex -_080CF7D4: .4byte 0xffffa000 -_080CF7D8: .4byte sub_8078B34 -_080CF7DC: .4byte move_anim_8072740 - thumb_func_end sub_80CF6DC - - thumb_func_start sub_80CF7E0 -sub_80CF7E0: @ 80CF7E0 - push {lr} - adds r3, r0, 0 - ldrh r0, [r3, 0x2E] - subs r1, r0, 0x1 - strh r1, [r3, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080CF80A - ldr r2, _080CF810 @ =gTasks - movs r0, 0x3C - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0xA] - subs r1, 0x1 - strh r1, [r0, 0xA] - adds r0, r3, 0 - bl DestroySprite -_080CF80A: - pop {r0} - bx r0 - .align 2, 0 -_080CF810: .4byte gTasks - thumb_func_end sub_80CF7E0 - - thumb_func_start sub_80CF814 -sub_80CF814: @ 80CF814 - push {r4,lr} - adds r2, r0, 0 - movs r0, 0x3C - ldrsh r1, [r2, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _080CF844 @ =gTasks - adds r4, r0, r1 - movs r3, 0x2E - ldrsh r1, [r2, r3] - movs r3, 0x12 - ldrsh r0, [r4, r3] - cmp r1, r0 - ble _080CF848 - ldrh r0, [r2, 0x34] - ldrh r1, [r2, 0x38] - adds r0, r1 - strh r0, [r2, 0x38] - ldrh r0, [r2, 0x36] - ldrh r3, [r2, 0x3A] - adds r0, r3 - b _080CF856 - .align 2, 0 -_080CF844: .4byte gTasks -_080CF848: - ldrh r0, [r2, 0x38] - ldrh r1, [r2, 0x34] - subs r0, r1 - strh r0, [r2, 0x38] - ldrh r0, [r2, 0x3A] - ldrh r1, [r2, 0x36] - subs r0, r1 -_080CF856: - strh r0, [r2, 0x3A] - ldrh r0, [r2, 0x38] - ldrh r1, [r2, 0x30] - adds r3, r0, r1 - strh r3, [r2, 0x30] - ldrh r0, [r2, 0x3A] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - ldrh r1, [r4, 0x16] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CF87A - lsls r0, r3, 16 - lsrs r0, 24 - negs r0, r0 - b _080CF87E -_080CF87A: - lsls r0, r3, 16 - lsrs r0, 24 -_080CF87E: - strh r0, [r2, 0x24] - ldrh r1, [r4, 0x18] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CF892 - ldrh r0, [r2, 0x32] - lsrs r0, 8 - negs r0, r0 - b _080CF896 -_080CF892: - ldrh r0, [r2, 0x32] - lsrs r0, 8 -_080CF896: - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x2E] - subs r1, r0, 0x1 - strh r1, [r2, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080CF8AC - movs r0, 0x1E - strh r0, [r2, 0x2E] - ldr r0, _080CF8B4 @ =sub_80CF7E0 - str r0, [r2, 0x1C] -_080CF8AC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CF8B4: .4byte sub_80CF7E0 - thumb_func_end sub_80CF814 - - thumb_func_start sub_80CF8B8 -sub_80CF8B8: @ 80CF8B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - movs r0, 0x3C - ldrsh r1, [r7, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _080CF8FC @ =gTasks - adds r6, r0, r1 - ldrh r2, [r6, 0x16] - movs r1, 0x2 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - ldrh r3, [r7, 0x30] - adds r2, r0, r3 - strh r2, [r7, 0x30] - ldrh r0, [r6, 0x18] - ands r1, r0 - ldrh r0, [r7, 0x32] - adds r1, r0 - strh r1, [r7, 0x32] - ldrh r1, [r6, 0x16] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CF900 - lsls r0, r2, 16 - lsrs r0, 24 - negs r0, r0 - b _080CF904 - .align 2, 0 -_080CF8FC: .4byte gTasks -_080CF900: - lsls r0, r2, 16 - lsrs r0, 24 -_080CF904: - strh r0, [r7, 0x24] - ldrh r1, [r6, 0x18] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CF918 - ldrh r0, [r7, 0x32] - lsrs r0, 8 - negs r0, r0 - b _080CF91C -_080CF918: - ldrh r0, [r7, 0x32] - lsrs r0, 8 -_080CF91C: - strh r0, [r7, 0x26] - ldrh r0, [r7, 0x2E] - subs r1, r0, 0x1 - strh r1, [r7, 0x2E] - lsls r0, 16 - cmp r0, 0 - bgt _080CF9E8 - movs r4, 0 - movs r0, 0x8 - strh r0, [r7, 0x2E] - movs r0, 0x4 - strh r0, [r6, 0x12] - movs r0, 0x80 - lsls r0, 5 - bl sub_81174E0 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x20] - adds r2, r0, r1 - strh r2, [r7, 0x20] - ldrh r0, [r7, 0x26] - ldrh r3, [r7, 0x22] - adds r0, r3 - strh r0, [r7, 0x22] - strh r4, [r7, 0x26] - strh r4, [r7, 0x24] - ldrh r3, [r6, 0x1E] - movs r0, 0x1E - ldrsh r1, [r6, r0] - lsls r0, r2, 16 - asrs r0, 16 - cmp r1, r0 - blt _080CF966 - subs r0, r3, r2 - b _080CF968 -_080CF966: - subs r0, r2, r3 -_080CF968: - lsls r0, 24 - lsrs r4, r0, 16 - ldrh r3, [r6, 0x20] - movs r0, 0x20 - ldrsh r1, [r6, r0] - ldrh r2, [r7, 0x22] - movs r6, 0x22 - ldrsh r0, [r7, r6] - cmp r1, r0 - blt _080CF980 - subs r0, r3, r2 - b _080CF982 -_080CF980: - subs r0, r2, r3 -_080CF982: - lsls r0, 24 - lsrs r0, 16 - mov r8, r0 - movs r0, 0 - strh r0, [r7, 0x32] - strh r0, [r7, 0x30] - strh r0, [r7, 0x3A] - strh r0, [r7, 0x38] - lsls r0, r4, 16 - asrs r0, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r5, 0 - bl sub_81174C4 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - movs r6, 0xE0 - lsls r6, 1 - adds r0, r6, 0 - bl sub_81174E0 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_81174C4 - strh r0, [r7, 0x34] - mov r1, r8 - lsls r0, r1, 16 - asrs r0, 16 - adds r1, r5, 0 - bl sub_81174C4 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - adds r0, r6, 0 - bl sub_81174E0 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_81174C4 - strh r0, [r7, 0x36] - ldr r0, _080CF9F4 @ =sub_80CF814 - str r0, [r7, 0x1C] -_080CF9E8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CF9F4: .4byte sub_80CF814 - thumb_func_end sub_80CF8B8 - - thumb_func_start sub_80CF9F8 -sub_80CF9F8: @ 80CF9F8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080CFA1C @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r1, 0xA - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080CFA16 - adds r0, r2, 0 - bl DestroyAnimVisualTask -_080CFA16: - pop {r0} - bx r0 - .align 2, 0 -_080CFA1C: .4byte gTasks - thumb_func_end sub_80CF9F8 - - thumb_func_start sub_80CFA20 -sub_80CFA20: @ 80CFA20 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080CFA74 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0x8] - subs r1, r0, 0x1 - strh r1, [r5, 0x8] - lsls r0, 16 - cmp r0, 0 - bgt _080CFAF4 - ldr r0, _080CFA78 @ =gSpriteTemplate_83D74BC - movs r2, 0x1A - ldrsh r1, [r5, r2] - movs r3, 0x1C - ldrsh r2, [r5, r3] - ldrb r3, [r5, 0xC] - ldrb r4, [r5, 0xA] - subs r3, r4 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r0, 4 - add r0, r12 - lsls r0, 2 - ldr r1, _080CFA7C @ =gSprites - adds r6, r0, r1 - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080CFA80 - cmp r0, 0x2 - beq _080CFA96 - b _080CFAA4 - .align 2, 0 -_080CFA74: .4byte gTasks -_080CFA78: .4byte gSpriteTemplate_83D74BC -_080CFA7C: .4byte gSprites -_080CFA80: - ldrb r2, [r6, 0x3] - lsls r1, r2, 26 - lsrs r1, 27 - movs r0, 0x18 - orrs r1, r0 - lsls r1, 1 - subs r0, 0x57 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x3] - b _080CFAA4 -_080CFA96: - ldrb r0, [r6, 0x3] - movs r1, 0x3F - negs r1, r1 - ands r1, r0 - movs r0, 0x10 - orrs r1, r0 - strb r1, [r6, 0x3] -_080CFAA4: - ldr r3, _080CFAFC @ =gTasks - lsls r2, r7, 2 - adds r2, r7 - lsls r2, 3 - adds r4, r2, r3 - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0x14] - subs r0, r1 - strh r0, [r6, 0x2E] - strh r7, [r6, 0x3C] - movs r1, 0xA - ldrsh r0, [r4, r1] - adds r0, 0xD - lsls r0, 1 - adds r0, r2 - adds r3, 0x8 - adds r0, r3 - mov r2, r12 - strh r2, [r0] - ldrh r0, [r4, 0xE] - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r0, 0x3F - negs r0, r0 - bl sub_8076F98 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x9A - bl PlaySE12WithPanning - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0x2 - ble _080CFAF4 - ldr r0, _080CFB00 @ =sub_80CF9F8 - str r0, [r4] -_080CFAF4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CFAFC: .4byte gTasks -_080CFB00: .4byte sub_80CF9F8 - thumb_func_end sub_80CFA20 - - thumb_func_start sub_80CFB04 -sub_80CFB04: @ 80CFB04 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r9, r0 - movs r5, 0 - mov r0, sp - mov r1, r9 - strh r1, [r0] - mov r4, sp - adds r4, 0x2 - strh r1, [r4] - bl IsContest - lsls r0, 24 - mov r10, r4 - cmp r0, 0 - beq _080CFB70 - ldr r1, _080CFB60 @ =gTasks - lsls r2, r7, 2 - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0, 0x10] - ldr r3, _080CFB64 @ =gBattleAnimArgs - ldrh r0, [r3] - negs r0, r0 - strh r0, [r3] - ldrh r1, [r3, 0x4] - movs r0, 0x1 - ands r0, r1 - mov r8, r2 - cmp r0, 0 - beq _080CFB68 - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strh r0, [r3, 0x4] - b _080CFBCA - .align 2, 0 -_080CFB60: .4byte gTasks -_080CFB64: .4byte gBattleAnimArgs -_080CFB68: - movs r0, 0x1 - orrs r0, r1 - strh r0, [r3, 0x4] - b _080CFBCA -_080CFB70: - ldr r1, _080CFBB4 @ =gBanksBySide - ldr r0, _080CFBB8 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r1 - lsls r2, r7, 2 - mov r8, r2 - cmp r0, 0 - bne _080CFBCA - ldr r1, _080CFBBC @ =gTasks - adds r0, r2, r7 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x10] - ldr r2, _080CFBC0 @ =gBattleAnimArgs - ldrh r0, [r2] - negs r0, r0 - strh r0, [r2] - ldrh r0, [r2, 0x2] - negs r0, r0 - strh r0, [r2, 0x2] - ldrh r1, [r2, 0x4] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _080CFBC4 - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - b _080CFBC8 - .align 2, 0 -_080CFBB4: .4byte gBanksBySide -_080CFBB8: .4byte gBattleAnimEnemyMonIndex -_080CFBBC: .4byte gTasks -_080CFBC0: .4byte gBattleAnimArgs -_080CFBC4: - movs r0, 0x1 - orrs r0, r1 -_080CFBC8: - strh r0, [r2, 0x4] -_080CFBCA: - ldr r5, _080CFC24 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r5] - movs r1, 0 - bl sub_8077ABC - ldr r1, _080CFC28 @ =gTasks - mov r3, r8 - adds r4, r3, r7 - lsls r4, 3 - adds r4, r1 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1A] - adds r6, r0, 0 - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x1C] - mov r9, r0 - ldr r0, _080CFC2C @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080CFC34 - ldr r4, _080CFC30 @ =gBattleAnimEnemyMonIndex - ldrb r1, [r4] - movs r0, 0x2 - eors r0, r1 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080CFC34 - ldrb r0, [r4] - movs r1, 0 - mov r2, sp - mov r3, r10 - bl sub_807A3FC - b _080CFC56 - .align 2, 0 -_080CFC24: .4byte gBattleAnimPlayerMonIndex -_080CFC28: .4byte gTasks -_080CFC2C: .4byte gBattleTypeFlags -_080CFC30: .4byte gBattleAnimEnemyMonIndex -_080CFC34: - mov r5, sp - ldr r4, _080CFC90 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - mov r1, r10 - strh r0, [r1] -_080CFC56: - mov r4, sp - ldr r0, _080CFC94 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - mov r2, sp - ldr r3, _080CFC98 @ =gBattleAnimArgs - ldrh r0, [r3] - ldrh r2, [r2] - adds r0, r2 - strh r0, [r1, 0x1E] - strh r0, [r4] - ldrh r0, [r3, 0x2] - mov r3, r10 - ldrh r3, [r3] - adds r0, r3 - strh r0, [r1, 0x20] - mov r1, r10 - strh r0, [r1] - mov r0, sp - ldrh r2, [r0] - movs r3, 0 - ldrsh r0, [r0, r3] - adds r1, r6, 0 - cmp r0, r1 - blt _080CFC9C - subs r0, r2, r1 - b _080CFC9E - .align 2, 0 -_080CFC90: .4byte gBattleAnimEnemyMonIndex -_080CFC94: .4byte gTasks -_080CFC98: .4byte gBattleAnimArgs -_080CFC9C: - subs r0, r1, r2 -_080CFC9E: - lsls r0, 16 - lsrs r0, 16 - lsls r4, r0, 16 - asrs r4, 16 - ldr r5, _080CFD14 @ =gBattleAnimArgs - ldrh r1, [r5, 0x4] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - lsls r0, 16 - asrs r0, 16 - bl sub_81174E0 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_81174C4 - ldr r2, _080CFD18 @ =gTasks - mov r3, r8 - adds r1, r3, r7 - lsls r1, 3 - adds r6, r1, r2 - strh r0, [r6, 0x12] - movs r1, 0x12 - ldrsh r0, [r6, r1] - movs r1, 0x80 - bl sub_81174C4 - strh r0, [r6, 0x14] - ldrh r0, [r5, 0x4] - strh r0, [r6, 0x16] - mov r2, r10 - ldrh r1, [r2] - movs r3, 0 - ldrsh r0, [r2, r3] - mov r4, r9 - cmp r0, r4 - blt _080CFD1C - subs r4, r1, r4 - lsls r4, 16 - asrs r4, 16 - movs r1, 0x12 - ldrsh r0, [r6, r1] - bl sub_81174E0 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_81174C4 - movs r1, 0x2 - negs r1, r1 - ands r1, r0 - strh r1, [r6, 0x18] - b _080CFD3C - .align 2, 0 -_080CFD14: .4byte gBattleAnimArgs -_080CFD18: .4byte gTasks -_080CFD1C: - subs r4, r1 - lsls r4, 16 - asrs r4, 16 - movs r2, 0x12 - ldrsh r0, [r6, r2] - bl sub_81174E0 - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl sub_81174C4 - movs r1, 0x1 - orrs r0, r1 - strh r0, [r6, 0x18] -_080CFD3C: - ldr r1, _080CFD7C @ =gTasks - mov r3, r8 - adds r0, r3, r7 - lsls r0, 3 - adds r5, r0, r1 - ldr r4, _080CFD80 @ =gBattleAnimArgs - ldrh r0, [r4, 0x6] - strh r0, [r5, 0xE] - ldrh r1, [r4, 0x8] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080CFD8C - movs r0, 0x80 - eors r0, r1 - strh r0, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _080CFDB4 - ldr r0, _080CFD84 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079E90 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080CFD88 @ =0x0000ffc0 - adds r1, r2, 0 - ldrh r4, [r4, 0x8] - adds r1, r4 - adds r0, r1 - b _080CFDC4 - .align 2, 0 -_080CFD7C: .4byte gTasks -_080CFD80: .4byte gBattleAnimArgs -_080CFD84: .4byte gBattleAnimEnemyMonIndex -_080CFD88: .4byte 0x0000ffc0 -_080CFD8C: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x3F - ble _080CFDB4 - ldr r0, _080CFDAC @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079E90 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080CFDB0 @ =0x0000ffc0 - adds r1, r3, 0 - ldrh r4, [r4, 0x8] - adds r1, r4 - adds r0, r1 - b _080CFDC4 - .align 2, 0 -_080CFDAC: .4byte gBattleAnimEnemyMonIndex -_080CFDB0: .4byte 0x0000ffc0 -_080CFDB4: - ldr r0, _080CFDF0 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r0] - bl sub_8079E90 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x8] - subs r0, r1 -_080CFDC4: - strh r0, [r5, 0xC] - ldr r0, _080CFDF4 @ =gTasks - mov r2, r8 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0x2 - bgt _080CFDDC - movs r0, 0x3 - strh r0, [r1, 0xC] -_080CFDDC: - ldr r0, _080CFDF8 @ =sub_80CFA20 - str r0, [r1] - 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 -_080CFDF0: .4byte gBattleAnimEnemyMonIndex -_080CFDF4: .4byte gTasks -_080CFDF8: .4byte sub_80CFA20 - thumb_func_end sub_80CFB04 - - thumb_func_start sub_80CFDFC -sub_80CFDFC: @ 80CFDFC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_80787B0 - ldr r0, _080CFE24 @ =gSpriteTemplate_83D75AC - ldrh r0, [r0, 0x2] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 20 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r0, [r4, 0x2E] - ldr r0, _080CFE28 @ =sub_80CFE2C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CFE24: .4byte gSpriteTemplate_83D75AC -_080CFE28: .4byte sub_80CFE2C - thumb_func_end sub_80CFDFC - - thumb_func_start sub_80CFE2C -sub_80CFE2C: @ 80CFE2C - push {r4-r7,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080CFE90 - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r5, [r4, 0x2E] - ldr r1, _080CFE98 @ =gPlttBufferFaded - adds r0, r5, 0 - adds r0, 0x8 - lsls r0, 1 - adds r0, r1 - ldrh r7, [r0] - adds r6, r1, 0 - adds r1, r5, 0 - adds r1, 0x9 - lsls r0, r5, 1 - adds r0, r6 - adds r2, r0, 0 - adds r2, 0x10 - movs r3, 0x7 - lsls r1, 1 - adds r1, r6 -_080CFE64: - ldrh r0, [r1] - strh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _080CFE64 - adds r0, r5, 0 - adds r0, 0xF - lsls r0, 1 - adds r0, r6 - strh r7, [r0] - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - bne _080CFE90 - adds r0, r4, 0 - bl move_anim_8072740 -_080CFE90: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CFE98: .4byte gPlttBufferFaded - thumb_func_end sub_80CFE2C - - thumb_func_start sub_80CFE9C -sub_80CFE9C: @ 80CFE9C - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r1, 0x1 - bl sub_80787B0 - ldr r4, _080CFF3C @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - ldr r4, _080CFF40 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x6] - adds r0, r1 - lsls r0, 16 - lsrs r7, r0, 16 - ldr r0, _080CFF44 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080CFEE0 - ldrh r0, [r4, 0x4] - negs r0, r0 - strh r0, [r4, 0x4] -_080CFEE0: - lsls r0, r6, 16 - asrs r0, 16 - ldrh r1, [r4, 0x4] - adds r0, r1 - lsls r0, 16 - ldrh r1, [r5, 0x20] - lsrs r6, r0, 16 - asrs r0, 16 - subs r0, r1 - lsls r0, 16 - asrs r0, 16 - ldrh r2, [r5, 0x22] - lsls r1, r7, 16 - asrs r1, 16 - subs r1, r2 - lsls r1, 16 - asrs r1, 16 - bl sub_80790F0 - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 24 - adds r0, r1 - lsrs r0, 16 - movs r3, 0x80 - lsls r3, 1 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - adds r2, r3, 0 - bl sub_8078FDC - ldrh r0, [r4, 0x8] - strh r0, [r5, 0x2E] - strh r6, [r5, 0x32] - strh r7, [r5, 0x36] - ldr r0, _080CFF48 @ =sub_8078C00 - str r0, [r5, 0x1C] - ldr r1, _080CFF4C @ =move_anim_8072740 - adds r0, r5, 0 - bl oamt_set_x3A_32 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080CFF3C: .4byte gBattleAnimEnemyMonIndex -_080CFF40: .4byte gBattleAnimArgs -_080CFF44: .4byte gBattleAnimPlayerMonIndex -_080CFF48: .4byte sub_8078C00 -_080CFF4C: .4byte move_anim_8072740 - thumb_func_end sub_80CFE9C - - thumb_func_start sub_80CFF50 -sub_80CFF50: @ 80CFF50 - ldr r1, _080CFF60 @ =0x0000fff0 - strh r1, [r0, 0x32] - ldrh r1, [r0, 0x22] - adds r1, 0x8 - strh r1, [r0, 0x22] - ldr r1, _080CFF64 @ =sub_80CFF68 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080CFF60: .4byte 0x0000fff0 -_080CFF64: .4byte sub_80CFF68 - thumb_func_end sub_80CFF50 - - thumb_func_start sub_80CFF68 -sub_80CFF68: @ 80CFF68 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x80 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - ldr r0, _080CFFD4 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080CFF8C - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] -_080CFF8C: - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x5 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7E - ble _080CFFCC - movs r0, 0 - strh r0, [r4, 0x30] - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _080CFFCC - adds r0, r4, 0 - bl move_anim_8072740 -_080CFFCC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080CFFD4: .4byte gBattleAnimPlayerMonIndex - thumb_func_end sub_80CFF68 - - thumb_func_start sub_80CFFD8 -sub_80CFFD8: @ 80CFFD8 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl sub_80787B0 - movs r0, 0x14 - strh r0, [r4, 0x2E] - ldr r5, _080D0024 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x36] - ldr r0, _080D0028 @ =sub_8078B34 - str r0, [r4, 0x1C] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r1, _080D002C @ =sub_80D0030 - adds r0, r4, 0 - bl oamt_set_x3A_32 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D0024: .4byte gBattleAnimEnemyMonIndex -_080D0028: .4byte sub_8078B34 -_080D002C: .4byte sub_80D0030 - thumb_func_end sub_80CFFD8 - - thumb_func_start sub_80D0030 -sub_80D0030: @ 80D0030 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3F - bl sub_8076F98 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0xA6 - bl PlaySE12WithPanning - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - movs r2, 0 - movs r1, 0x7 - adds r0, r4, 0 - adds r0, 0x3C -_080D0064: - strh r2, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080D0064 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x7 - ands r0, r1 - ldr r2, _080D00AC @ =0x0000fff4 - adds r1, r2, 0 - subs r1, r0 - strh r1, [r4, 0x3A] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA0 - bl __umodsi3 - adds r0, 0xA0 - strh r0, [r4, 0x3C] - ldr r0, _080D00B0 @ =sub_80D00B4 - str r0, [r4, 0x1C] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D00AC: .4byte 0x0000fff4 -_080D00B0: .4byte sub_80D00B4 - thumb_func_end sub_80D0030 - - thumb_func_start sub_80D00B4 -sub_80D00B4: @ 80D00B4 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x3C] - ldrh r2, [r4, 0x2E] - adds r0, r1, r2 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r2, r0, 24 - strh r2, [r4, 0x24] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D00D2 - negs r0, r2 - strh r0, [r4, 0x24] -_080D00D2: - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x3A - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x8 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7E - ble _080D0112 - movs r0, 0 - strh r0, [r4, 0x30] - movs r1, 0x32 - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080D0112 - adds r0, r4, 0 - bl move_anim_8072740 -_080D0112: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D00B4 - - thumb_func_start sub_80D0118 -sub_80D0118: @ 80D0118 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_80787B0 - ldr r0, _080D0168 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080D0136 - ldrh r0, [r4, 0x22] - adds r0, 0x10 - strh r0, [r4, 0x22] -_080D0136: - ldr r1, _080D016C @ =gBattleAnimArgs - ldrh r0, [r1, 0x8] - strh r0, [r4, 0x2E] - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x32] - ldrh r0, [r1, 0xC] - strh r0, [r4, 0x34] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldr r0, _080D0170 @ =sub_8078114 - str r0, [r4, 0x1C] - ldr r1, _080D0174 @ =move_anim_8072740 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D0168: .4byte gBattleAnimPlayerMonIndex -_080D016C: .4byte gBattleAnimArgs -_080D0170: .4byte sub_8078114 -_080D0174: .4byte move_anim_8072740 - thumb_func_end sub_80D0118 - - thumb_func_start sub_80D0178 -sub_80D0178: @ 80D0178 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r7, 0x20 - ldr r4, _080D01F4 @ =0x0000ffe0 - movs r0, 0x10 - mov r8, r0 - ldr r6, _080D01F8 @ =0x0000fff0 - ldr r0, _080D01FC @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080D01A4 - adds r7, r4, 0 - movs r4, 0x20 - mov r8, r6 - movs r6, 0x10 - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_080D01A4: - lsls r0, r7, 16 - asrs r0, 16 - ldrh r1, [r5, 0x20] - adds r0, r1 - strh r0, [r5, 0x20] - lsls r0, r4, 16 - asrs r0, 16 - ldrh r1, [r5, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - movs r0, 0x6 - strh r0, [r5, 0x2E] - ldr r4, _080D0200 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - add r0, r8 - strh r0, [r5, 0x32] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x36] - ldr r0, _080D0204 @ =sub_8078B34 - str r0, [r5, 0x1C] - ldr r1, _080D0208 @ =sub_80D020C - adds r0, r5, 0 - bl oamt_set_x3A_32 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D01F4: .4byte 0x0000ffe0 -_080D01F8: .4byte 0x0000fff0 -_080D01FC: .4byte gBattleAnimArgs -_080D0200: .4byte gBattleAnimEnemyMonIndex -_080D0204: .4byte sub_8078B34 -_080D0208: .4byte sub_80D020C - thumb_func_end sub_80D0178 - - thumb_func_start sub_80D020C -sub_80D020C: @ 80D020C - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D0222 - adds r0, r2, 0 - bl move_anim_8072740 -_080D0222: - pop {r0} - bx r0 - thumb_func_end sub_80D020C - - thumb_func_start sub_80D0228 -sub_80D0228: @ 80D0228 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r0, 0x20 - mov r8, r0 - ldr r4, _080D02BC @ =0x0000ffe0 - movs r2, 0x10 - mov r9, r2 - ldr r6, _080D02C0 @ =0x0000fff0 - ldr r7, _080D02C4 @ =gBattleAnimArgs - ldrh r1, [r7] - movs r2, 0 - ldrsh r0, [r7, r2] - cmp r0, 0 - beq _080D025C - mov r8, r4 - movs r4, 0x20 - mov r9, r6 - movs r6, 0x10 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim -_080D025C: - mov r0, r8 - lsls r1, r0, 16 - asrs r1, 16 - ldrh r2, [r5, 0x20] - adds r1, r2 - strh r1, [r5, 0x20] - lsls r0, r4, 16 - asrs r0, 16 - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - movs r0, 0x6 - strh r0, [r5, 0x2E] - strh r1, [r5, 0x30] - ldr r4, _080D02C8 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - add r0, r9 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x22] - strh r0, [r5, 0x34] - ldrb r0, [r4] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, r6 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldrh r0, [r7] - strh r0, [r5, 0x38] - ldrh r0, [r5, 0x2E] - strh r0, [r5, 0x3A] - ldr r0, _080D02CC @ =sub_80D02D0 - str r0, [r5, 0x1C] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D02BC: .4byte 0x0000ffe0 -_080D02C0: .4byte 0x0000fff0 -_080D02C4: .4byte gBattleAnimArgs -_080D02C8: .4byte gBattleAnimEnemyMonIndex -_080D02CC: .4byte sub_80D02D0 - thumb_func_end sub_80D0228 - - thumb_func_start sub_80D02D0 -sub_80D02D0: @ 80D02D0 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078B5C - lsls r0, 24 - cmp r0, 0 - beq _080D0334 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080D0334 - adds r0, r4, 0 - movs r1, 0 - bl SeekSpriteAnim - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r2, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x2 - strh r0, [r4, 0x24] - ldr r0, _080D033C @ =0x0000fffe - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3A] - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - eors r0, r1 - strh r0, [r4, 0x32] - strh r2, [r4, 0x36] - strh r2, [r4, 0x34] - ldr r0, _080D0340 @ =sub_80D0344 - str r0, [r4, 0x1C] -_080D0334: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D033C: .4byte 0x0000fffe -_080D0340: .4byte sub_80D0344 - thumb_func_end sub_80D02D0 - - thumb_func_start sub_80D0344 -sub_80D0344: @ 80D0344 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080D035C - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] -_080D035C: - ldrh r0, [r4, 0x34] - movs r1, 0x1 - eors r0, r1 - movs r1, 0 - strh r0, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _080D039E - strh r1, [r4, 0x26] - strh r1, [r4, 0x24] - strh r1, [r4, 0x36] - strh r1, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x41 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - movs r1, 0x1 - eors r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _080D03A4 @ =sub_80D03A8 - str r0, [r4, 0x1C] -_080D039E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D03A4: .4byte sub_80D03A8 - thumb_func_end sub_80D0344 - - thumb_func_start sub_80D03A8 -sub_80D03A8: @ 80D03A8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078B5C - lsls r0, 24 - cmp r0, 0 - beq _080D03BC - adds r0, r4, 0 - bl move_anim_8072740 -_080D03BC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D03A8 - - thumb_func_start sub_80D03C4 -sub_80D03C4: @ 80D03C4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x1 - bl obj_id_for_side_relative_to_move - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8078E70 - adds r0, r4, 0 - movs r1, 0xD0 - movs r2, 0xD0 - movs r3, 0 - bl obj_id_set_rotscale - ldr r1, _080D041C @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - movs r1, 0 - bl sub_8079108 - ldr r1, _080D0420 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x50 - strh r1, [r0, 0x8] - ldr r1, _080D0424 @ =sub_80D0428 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D041C: .4byte gSprites -_080D0420: .4byte gTasks -_080D0424: .4byte sub_80D0428 - thumb_func_end sub_80D03C4 - - thumb_func_start sub_80D0428 -sub_80D0428: @ 80D0428 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080D0480 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - subs r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - asrs r1, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080D0478 - movs r0, 0x1 - bl obj_id_for_side_relative_to_move - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8078F40 - ldr r1, _080D0484 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - adds r0, 0x10 - movs r1, 0x1 - bl sub_8079108 - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080D0478: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D0480: .4byte gTasks -_080D0484: .4byte gSprites - thumb_func_end sub_80D0428 - - thumb_func_start sub_80D0488 -sub_80D0488: @ 80D0488 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080D04D4 @ =gTasks - adds r4, r0 - movs r0, 0 - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x8] - movs r1, 0 - bl sub_8078E70 - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x10] - strh r5, [r4, 0x12] - strh r5, [r4, 0x14] - ldr r0, _080D04D8 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl sub_8079E90 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x16] - ldr r0, _080D04DC @ =sub_80D04E0 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D04D4: .4byte gTasks -_080D04D8: .4byte gBattleAnimPlayerMonIndex -_080D04DC: .4byte sub_80D04E0 - thumb_func_end sub_80D0488 - - thumb_func_start sub_80D04E0 -sub_80D04E0: @ 80D04E0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080D0504 @ =gTasks - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _080D04FA - b _080D060A -_080D04FA: - lsls r0, 2 - ldr r1, _080D0508 @ =_080D050C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080D0504: .4byte gTasks -_080D0508: .4byte _080D050C - .align 2, 0 -_080D050C: - .4byte _080D0524 - .4byte _080D056C - .4byte _080D05A2 - .4byte _080D05A8 - .4byte _080D05B8 - .4byte _080D05EC -_080D0524: - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080D0534 - cmp r0, 0x3 - beq _080D0534 - cmp r0, 0x6 - bne _080D053C -_080D0534: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80D0614 -_080D053C: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x10] - adds r0, 0x28 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r1, 0x10 - ldrsh r2, [r4, r1] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_8079A64 - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x20 - bne _080D060A - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - b _080D05E4 -_080D056C: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080D060A - movs r2, 0x12 - ldrsh r1, [r4, r2] - cmp r1, 0x3 - bne _080D0582 - strh r0, [r4, 0xC] - strh r1, [r4, 0xA] - b _080D060A -_080D0582: - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - movs r2, 0x80 - lsls r2, 1 - strh r2, [r4, 0x10] - ldrb r0, [r4, 0x8] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_8079A64 - movs r0, 0x2 - strh r0, [r4, 0xA] - b _080D060A -_080D05A2: - movs r0, 0 - strh r0, [r4, 0xA] - b _080D060A -_080D05A8: - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - ble _080D060A - b _080D05E0 -_080D05B8: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x10] - subs r0, 0x50 - strh r0, [r4, 0x10] - ldrb r0, [r4, 0x8] - movs r1, 0x10 - ldrsh r2, [r4, r1] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x8] - bl sub_8079A64 - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x20 - bne _080D060A -_080D05E0: - movs r0, 0 - strh r0, [r4, 0xC] -_080D05E4: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _080D060A -_080D05EC: - ldrb r0, [r4, 0x8] - bl sub_8078F40 - ldr r2, _080D0610 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x26] - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080D060A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D0610: .4byte gSprites - thumb_func_end sub_80D04E0 - - thumb_func_start sub_80D0614 -sub_80D0614: @ 80D0614 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0 - bl duplicate_obj_of_side_rel2move_in_transparent_mode - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r0, 16 - asrs r4, r0, 16 - cmp r4, 0 - blt _080D06EE - bl AllocOamMatrix - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xFF - bne _080D0658 - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _080D0654 @ =gSprites - adds r0, r1 - bl obj_delete_but_dont_free_vram - b _080D06EE - .align 2, 0 -_080D0654: .4byte gSprites -_080D0658: - ldr r5, _080D06FC @ =gSprites - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - adds r4, r3, r5 - ldrb r1, [r4, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1F - ands r6, r0 - lsls r2, r6, 1 - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x3] - ldrb r0, [r7, 0x16] - ldrb r1, [r7, 0xE] - subs r0, r1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrh r0, [r7, 0xE] - adds r0, 0x1 - strh r0, [r7, 0xE] - ldrh r0, [r7, 0x14] - adds r0, 0x1 - strh r0, [r7, 0x14] - movs r0, 0x10 - strh r0, [r4, 0x2E] - mov r0, r9 - strh r0, [r4, 0x30] - movs r0, 0x6 - strh r0, [r4, 0x32] - adds r5, 0x1C - adds r3, r5 - ldr r0, _080D0700 @ =sub_80D0704 - str r0, [r3] - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - movs r1, 0x10 - ldrsh r2, [r7, r1] - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrb r0, [r4, 0x1] - movs r3, 0x4 - negs r3, r3 - ands r3, r0 - movs r0, 0x1 - orrs r3, r0 - strb r3, [r4, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r4, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r4, 0 - bl CalcCenterToCornerVec -_080D06EE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D06FC: .4byte gSprites -_080D0700: .4byte sub_80D0704 - thumb_func_end sub_80D0614 - - thumb_func_start sub_80D0704 -sub_80D0704: @ 80D0704 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - subs r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _080D0742 - ldr r3, _080D0748 @ =gTasks - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r1, 1 - movs r0, 0x30 - 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] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl obj_delete_but_dont_free_vram -_080D0742: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D0748: .4byte gTasks - thumb_func_end sub_80D0704 - - thumb_func_start sub_80D074C -sub_80D074C: @ 80D074C - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080D0770 @ =gTasks - adds r4, r0, r1 - ldr r5, _080D0774 @ =gBattleAnimArgs - movs r1, 0x2 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _080D0778 - adds r0, r2, 0 - bl DestroyAnimVisualTask - b _080D079E - .align 2, 0 -_080D0770: .4byte gTasks -_080D0774: .4byte gBattleAnimArgs -_080D0778: - ldrb r0, [r5] - bl obj_id_for_side_relative_to_move - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r4, 0x8] - strh r2, [r4, 0xA] - ldrh r0, [r5, 0x2] - strh r0, [r4, 0xC] - strh r2, [r4, 0xE] - strh r2, [r4, 0x10] - ldr r2, _080D07A4 @ =gUnknown_083D76F4 - adds r0, r4, 0 - bl sub_80798F4 - ldr r0, _080D07A8 @ =sub_80D07AC - str r0, [r4] -_080D079E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D07A4: .4byte gUnknown_083D76F4 -_080D07A8: .4byte sub_80D07AC - thumb_func_end sub_80D074C - - thumb_func_start sub_80D07AC -sub_80D07AC: @ 80D07AC - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080D07D0 @ =gTasks - adds r4, r0, r1 - movs r0, 0xA - ldrsh r5, [r4, r0] - cmp r5, 0x1 - beq _080D0814 - cmp r5, 0x1 - bgt _080D07D4 - cmp r5, 0 - beq _080D07DE - b _080D08BC - .align 2, 0 -_080D07D0: .4byte gTasks -_080D07D4: - cmp r5, 0x2 - beq _080D0848 - cmp r5, 0x3 - beq _080D0878 - b _080D08BC -_080D07DE: - adds r0, r4, 0 - bl sub_807992C - ldrh r2, [r4, 0x10] - adds r2, 0x3 - strh r2, [r4, 0x10] - ldr r3, _080D0810 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, r2 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080D08BC - strh r5, [r4, 0xE] - b _080D0870 - .align 2, 0 -_080D0810: .4byte gSprites -_080D0814: - adds r0, r4, 0 - bl sub_807992C - ldr r2, _080D0844 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - ldrh r2, [r0, 0x26] - adds r1, r2 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _080D08BC - movs r0, 0 - strh r0, [r4, 0xE] - b _080D0870 - .align 2, 0 -_080D0844: .4byte gSprites -_080D0848: - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080D0870 - ldr r2, _080D086C @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x2 - strh r1, [r0, 0x26] - ldrh r0, [r4, 0x10] - subs r0, 0x2 - strh r0, [r4, 0x10] - b _080D08BC - .align 2, 0 -_080D086C: .4byte gSprites -_080D0870: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _080D08BC -_080D0878: - adds r0, r4, 0 - bl sub_807992C - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080D08BC - ldrh r0, [r4, 0xC] - subs r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bne _080D08B0 - ldr r2, _080D08AC @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x26] - adds r0, r6, 0 - bl DestroyAnimVisualTask - b _080D08BC - .align 2, 0 -_080D08AC: .4byte gSprites -_080D08B0: - ldrb r1, [r4, 0x8] - ldr r2, _080D08C4 @ =gUnknown_083D76F4 - adds r0, r4, 0 - bl sub_80798F4 - strh r5, [r4, 0xA] -_080D08BC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D08C4: .4byte gUnknown_083D76F4 - thumb_func_end sub_80D07AC - - thumb_func_start sub_80D08C8 -sub_80D08C8: @ 80D08C8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080D08F8 @ =gTasks - adds r4, r0 - movs r0, 0 - bl obj_id_for_side_relative_to_move - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080D08FC @ =gUnknown_083D7714 - adds r0, r4, 0 - bl sub_80798F4 - ldr r0, _080D0900 @ =sub_80D0904 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D08F8: .4byte gTasks -_080D08FC: .4byte gUnknown_083D7714 -_080D0900: .4byte sub_80D0904 - thumb_func_end sub_80D08C8 - - thumb_func_start sub_80D0904 -sub_80D0904: @ 80D0904 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080D092C @ =gTasks - adds r0, r1 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _080D0924 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080D0924: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D092C: .4byte gTasks - thumb_func_end sub_80D0904 - - thumb_func_start sub_80D0930 -sub_80D0930: @ 80D0930 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080D0960 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r5] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _080D0964 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - strh r0, [r4, 0x20] - movs r0, 0x40 - b _080D097E - .align 2, 0 -_080D0960: .4byte gBattleAnimPlayerMonIndex -_080D0964: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x20 - strh r0, [r4, 0x20] - ldr r0, _080D09B0 @ =0x0000ffc0 -_080D097E: - strh r0, [r4, 0x30] - ldr r0, _080D09B4 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - strh r0, [r4, 0x22] - movs r0, 0x34 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x32] - strh r1, [r4, 0x34] - strh r1, [r4, 0x36] - ldr r1, _080D09B8 @ =move_anim_8072740 - adds r0, r4, 0 - bl oamt_set_x3A_32 - ldr r0, _080D09BC @ =sub_8078394 - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D09B0: .4byte 0x0000ffc0 -_080D09B4: .4byte gBattleAnimPlayerMonIndex -_080D09B8: .4byte move_anim_8072740 -_080D09BC: .4byte sub_8078394 - thumb_func_end sub_80D0930 - - thumb_func_start sub_80D09C0 -sub_80D09C0: @ 80D09C0 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r0, _080D09D4 @ =gBattleAnimArgs - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _080D09DC - ldr r0, _080D09D8 @ =gBattleAnimPlayerMonIndex - b _080D09DE - .align 2, 0 -_080D09D4: .4byte gBattleAnimArgs -_080D09D8: .4byte gBattleAnimPlayerMonIndex -_080D09DC: - ldr r0, _080D0A3C @ =gBattleAnimEnemyMonIndex -_080D09DE: - ldrb r5, [r0] - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D09F8 - ldr r1, _080D0A40 @ =gBattleAnimArgs - movs r2, 0x2 - ldrsh r0, [r1, r2] - negs r0, r0 - strh r0, [r1, 0x2] -_080D09F8: - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - ldr r4, _080D0A40 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r6, 0x20] - adds r0, r5, 0 - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r4, [r4, 0x4] - adds r0, r4 - strh r0, [r6, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - bgt _080D0A2A - movs r0, 0x8 - strh r0, [r6, 0x22] -_080D0A2A: - ldr r1, _080D0A44 @ =move_anim_8074EE0 - adds r0, r6, 0 - bl oamt_set_x3A_32 - ldr r0, _080D0A48 @ =sub_80785E4 - str r0, [r6, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D0A3C: .4byte gBattleAnimEnemyMonIndex -_080D0A40: .4byte gBattleAnimArgs -_080D0A44: .4byte move_anim_8074EE0 -_080D0A48: .4byte sub_80785E4 - thumb_func_end sub_80D09C0 - - thumb_func_start sub_80D0A4C -sub_80D0A4C: @ 80D0A4C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080D0A80 @ =gTasks - adds r4, r0 - movs r0, 0 - bl obj_id_for_side_relative_to_move - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0 - strh r1, [r4, 0x8] - strh r0, [r4, 0xA] - ldr r2, _080D0A84 @ =gUnknown_083D77B0 - adds r0, r4, 0 - bl sub_80798F4 - ldr r0, _080D0A88 @ =sub_80D0A8C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D0A80: .4byte gTasks -_080D0A84: .4byte gUnknown_083D77B0 -_080D0A88: .4byte sub_80D0A8C - thumb_func_end sub_80D0A4C - - thumb_func_start sub_80D0A8C -sub_80D0A8C: @ 80D0A8C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080D0AB4 @ =gTasks - adds r0, r1 - bl sub_807992C - lsls r0, 24 - cmp r0, 0 - bne _080D0AAC - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080D0AAC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D0AB4: .4byte gTasks - thumb_func_end sub_80D0A8C - - thumb_func_start sub_80D0AB8 -sub_80D0AB8: @ 80D0AB8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080D0B2C @ =gTasks - adds r4, r1, r0 - movs r0, 0 - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - strh r0, [r4, 0x8] - strh r2, [r4, 0xA] - movs r0, 0x4 - strh r0, [r4, 0xC] - movs r0, 0x7 - strh r0, [r4, 0xE] - movs r0, 0x3 - strh r0, [r4, 0x10] - ldr r3, _080D0B30 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x12] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x14] - strh r2, [r4, 0x16] - strh r2, [r4, 0x18] - movs r0, 0x2 - strh r0, [r4, 0x1A] - ldr r0, _080D0B34 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D0B22 - movs r1, 0xC - ldrsh r0, [r4, r1] - negs r0, r0 - strh r0, [r4, 0xC] -_080D0B22: - ldr r0, _080D0B38 @ =sub_80D0B3C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D0B2C: .4byte gTasks -_080D0B30: .4byte gSprites -_080D0B34: .4byte gBattleAnimPlayerMonIndex -_080D0B38: .4byte sub_80D0B3C - thumb_func_end sub_80D0AB8 - - thumb_func_start sub_80D0B3C -sub_80D0B3C: @ 80D0B3C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080D0B84 @ =gTasks - adds r3, r0, r1 - ldrh r0, [r3, 0x16] - adds r0, 0x1 - strh r0, [r3, 0x16] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080D0BA2 - movs r0, 0 - strh r0, [r3, 0x16] - ldrh r0, [r3, 0x18] - adds r0, 0x1 - strh r0, [r3, 0x18] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D0B8C - ldr r2, _080D0B88 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0x1A] - ldrh r2, [r0, 0x22] - adds r1, r2 - b _080D0BA0 - .align 2, 0 -_080D0B84: .4byte gTasks -_080D0B88: .4byte gSprites -_080D0B8C: - ldr r2, _080D0BB4 @ =gSprites - movs r5, 0x8 - ldrsh r1, [r3, r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - ldrh r2, [r3, 0x1A] - subs r1, r2 -_080D0BA0: - strh r1, [r0, 0x22] -_080D0BA2: - movs r1, 0xA - ldrsh r0, [r3, r1] - cmp r0, 0x1 - beq _080D0BF0 - cmp r0, 0x1 - bgt _080D0BB8 - cmp r0, 0 - beq _080D0BBE - b _080D0C80 - .align 2, 0 -_080D0BB4: .4byte gSprites -_080D0BB8: - cmp r0, 0x2 - beq _080D0C20 - b _080D0C80 -_080D0BBE: - ldr r2, _080D0BEC @ =gSprites - movs r5, 0x8 - ldrsh r1, [r3, r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0xC] - ldrh r2, [r0, 0x20] - adds r1, r2 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0xE] - subs r0, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _080D0C80 - movs r0, 0xE - strh r0, [r3, 0xE] - movs r0, 0x1 - strh r0, [r3, 0xA] - b _080D0C80 - .align 2, 0 -_080D0BEC: .4byte gSprites -_080D0BF0: - ldr r2, _080D0C1C @ =gSprites - movs r5, 0x8 - ldrsh r1, [r3, r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x20] - ldrh r2, [r3, 0xC] - subs r1, r2 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0xE] - subs r0, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _080D0C80 - movs r0, 0x7 - strh r0, [r3, 0xE] - movs r0, 0x2 - strh r0, [r3, 0xA] - b _080D0C80 - .align 2, 0 -_080D0C1C: .4byte gSprites -_080D0C20: - ldr r2, _080D0C58 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r3, 0xC] - ldrh r5, [r0, 0x20] - adds r1, r5 - strh r1, [r0, 0x20] - ldrh r0, [r3, 0xE] - subs r0, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - bne _080D0C80 - ldrh r0, [r3, 0x10] - subs r0, 0x1 - strh r0, [r3, 0x10] - lsls r0, 16 - cmp r0, 0 - beq _080D0C5C - movs r0, 0x7 - strh r0, [r3, 0xE] - strh r1, [r3, 0xA] - b _080D0C80 - .align 2, 0 -_080D0C58: .4byte gSprites -_080D0C5C: - ldrh r1, [r3, 0x18] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080D0C7A - movs r0, 0x8 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - ldrh r2, [r3, 0x1A] - subs r1, r2 - strh r1, [r0, 0x22] -_080D0C7A: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080D0C80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80D0B3C - - thumb_func_start sub_80D0C88 -sub_80D0C88: @ 80D0C88 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080D0CD8 @ =gTasks - adds r5, r1, r0 - ldr r4, _080D0CDC @ =gBattleAnimEnemyMonIndex - ldrb r0, [r4] - bl sub_8077FC0 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x20 - movs r1, 0 - strh r0, [r5, 0x8] - movs r0, 0x4 - strh r0, [r5, 0xA] - strh r1, [r5, 0xC] - strh r1, [r5, 0xE] - strh r1, [r5, 0x10] - strh r1, [r5, 0x12] - ldrb r0, [r4] - bl sub_807A100 - strh r0, [r5, 0x26] - ldrb r0, [r4] - bl GetBankIdentity_permutated - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080D0CE8 - ldr r0, _080D0CE0 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r5, 0x14] - ldr r0, _080D0CE4 @ =REG_BG1HOFS - b _080D0CF0 - .align 2, 0 -_080D0CD8: .4byte gTasks -_080D0CDC: .4byte gBattleAnimEnemyMonIndex -_080D0CE0: .4byte gUnknown_030042C0 -_080D0CE4: .4byte REG_BG1HOFS -_080D0CE8: - ldr r0, _080D0D54 @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r5, 0x14] - ldr r0, _080D0D58 @ =REG_BG2HOFS -_080D0CF0: - str r0, [sp] - ldrh r0, [r5, 0x8] - adds r1, r0, 0 - subs r1, 0x40 - lsls r2, r1, 16 - lsls r0, 16 - cmp r2, r0 - bgt _080D0D2E - ldr r4, _080D0D5C @ =gUnknown_03004DE0 - movs r0, 0xF0 - lsls r0, 3 - adds r6, r4, r0 -_080D0D08: - asrs r3, r2, 16 - cmp r3, 0 - blt _080D0D20 - lsls r1, r3, 1 - adds r2, r1, r4 - ldrh r0, [r5, 0x14] - adds r0, 0xF0 - strh r0, [r2] - adds r1, r6 - ldrh r0, [r5, 0x14] - adds r0, 0xF0 - strh r0, [r1] -_080D0D20: - adds r0, r3, 0x1 - lsls r2, r0, 16 - asrs r1, r2, 16 - movs r3, 0x8 - ldrsh r0, [r5, r3] - cmp r1, r0 - ble _080D0D08 -_080D0D2E: - ldr r0, _080D0D60 @ =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 sub_80895F8 - ldr r0, _080D0D64 @ =sub_80D0D68 - str r0, [r5] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D0D54: .4byte gUnknown_03004288 -_080D0D58: .4byte REG_BG2HOFS -_080D0D5C: .4byte gUnknown_03004DE0 -_080D0D60: .4byte 0xa2600001 -_080D0D64: .4byte sub_80D0D68 - thumb_func_end sub_80D0C88 - - thumb_func_start sub_80D0D68 -sub_80D0D68: @ 80D0D68 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080D0D88 @ =gTasks - adds r3, r0, r1 - movs r1, 0x10 - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _080D0D8C - cmp r0, 0x1 - beq _080D0DA2 - b _080D0E22 - .align 2, 0 -_080D0D88: .4byte gTasks -_080D0D8C: - ldrh r0, [r3, 0x12] - adds r0, 0x1 - strh r0, [r3, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080D0E22 - ldrh r0, [r3, 0x10] - adds r0, 0x1 - strh r0, [r3, 0x10] - b _080D0E22 -_080D0DA2: - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080D0E22 - movs r0, 0 - strh r0, [r3, 0xA] - ldrh r1, [r3, 0xE] - movs r0, 0x3 - ands r0, r1 - strh r0, [r3, 0xC] - ldrh r0, [r3, 0x8] - subs r0, r1 - strh r0, [r3, 0x12] - movs r2, 0xC - ldrsh r1, [r3, r2] - cmp r1, 0x1 - beq _080D0DD8 - cmp r1, 0x1 - ble _080D0DE0 - cmp r1, 0x2 - beq _080D0DDC - cmp r1, 0x3 - beq _080D0DDC - b _080D0DE0 -_080D0DD8: - subs r0, 0x2 - b _080D0DDE -_080D0DDC: - adds r0, 0x1 -_080D0DDE: - strh r0, [r3, 0x12] -_080D0DE0: - movs r1, 0x12 - ldrsh r0, [r3, r1] - cmp r0, 0 - blt _080D0E04 - ldr r2, _080D0E28 @ =gUnknown_03004DE0 - lsls r0, 1 - adds r0, r2 - ldrh r1, [r3, 0x14] - strh r1, [r0] - movs r1, 0x12 - ldrsh r0, [r3, r1] - lsls r0, 1 - movs r1, 0xF0 - lsls r1, 3 - adds r2, r1 - adds r0, r2 - ldrh r1, [r3, 0x14] - strh r1, [r0] -_080D0E04: - ldrh r0, [r3, 0xE] - adds r0, 0x1 - strh r0, [r3, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x26 - ldrsh r1, [r3, r2] - cmp r0, r1 - blt _080D0E22 - ldr r1, _080D0E2C @ =gUnknown_03004DC0 - movs r0, 0x3 - strb r0, [r1, 0x15] - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080D0E22: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D0E28: .4byte gUnknown_03004DE0 -_080D0E2C: .4byte gUnknown_03004DC0 - thumb_func_end sub_80D0D68 - - thumb_func_start sub_80D0E30 -sub_80D0E30: @ 80D0E30 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _080D0E84 @ =gBattleAnimEnemyMonIndex - ldrb r0, [r6] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - movs r5, 0 - strh r0, [r4, 0x20] - ldrb r0, [r6] - bl sub_8077FC0 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - strh r0, [r4, 0x22] - strh r5, [r4, 0x2E] - strh r5, [r4, 0x30] - strh r5, [r4, 0x32] - movs r0, 0x10 - strh r0, [r4, 0x34] - strh r5, [r4, 0x36] - ldrb r0, [r6] - movs r1, 0 - bl sub_807A100 - adds r0, 0x2 - strh r0, [r4, 0x38] - movs r0, 0x3F - bl sub_8076F98 - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x3A] - ldr r0, _080D0E88 @ =sub_80D0E8C - str r0, [r4, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D0E84: .4byte gBattleAnimEnemyMonIndex -_080D0E88: .4byte sub_80D0E8C - thumb_func_end sub_80D0E30 - - thumb_func_start sub_80D0E8C -sub_80D0E8C: @ 80D0E8C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080D0EF0 - cmp r1, 0x1 - bgt _080D0EA2 - cmp r1, 0 - beq _080D0EA8 - b _080D0FD0 -_080D0EA2: - cmp r1, 0x2 - beq _080D0F82 - b _080D0FD0 -_080D0EA8: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080D0ED2 - strh r1, [r4, 0x32] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080D0ED2: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080D0FD0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - b _080D0F7A -_080D0EF0: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _080D0F36 - ldrh r2, [r4, 0x32] - movs r3, 0x32 - ldrsh r1, [r4, r3] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _080D0F36 - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x22] - subs r0, 0x1 - strh r0, [r4, 0x22] - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _080D0F36 - ldrh r1, [r4, 0x3A] - lsls r1, 24 - asrs r1, 24 - movs r0, 0xCD - bl PlaySE12WithPanning -_080D0F36: - ldrh r0, [r4, 0x34] - ldrh r2, [r4, 0x36] - adds r1, r0, r2 - strh r1, [r4, 0x36] - lsls r0, r1, 16 - asrs r2, r0, 16 - cmp r2, 0x1F - ble _080D0F4A - movs r0, 0x40 - b _080D0F58 -_080D0F4A: - movs r0, 0x20 - negs r0, r0 - cmp r2, r0 - bgt _080D0F64 - movs r2, 0x40 - negs r2, r2 - adds r0, r2, 0 -_080D0F58: - subs r0, r1 - strh r0, [r4, 0x36] - movs r3, 0x34 - ldrsh r0, [r4, r3] - negs r0, r0 - strh r0, [r4, 0x34] -_080D0F64: - ldrh r0, [r4, 0x36] - movs r2, 0 - strh r0, [r4, 0x24] - movs r0, 0x38 - ldrsh r1, [r4, r0] - movs r3, 0x32 - ldrsh r0, [r4, r3] - cmp r1, r0 - bne _080D0FD0 - strh r2, [r4, 0x30] - strh r2, [r4, 0x32] -_080D0F7A: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _080D0FD0 -_080D0F82: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080D0FAE - movs r0, 0 - strh r0, [r4, 0x32] - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsrs r1, r2, 2 - movs r0, 0x1 - eors r1, r0 - ands r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] -_080D0FAE: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080D0FD0 - 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 - bl move_anim_8072740 -_080D0FD0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D0E8C - - thumb_func_start sub_80D0FD8 -sub_80D0FD8: @ 80D0FD8 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - movs r5, 0 - mov r0, sp - strh r5, [r0] - mov r1, sp - adds r1, 0x2 - strh r5, [r1] - ldr r0, _080D0FFC @ =gBattleAnimArgs - movs r3, 0x4 - ldrsh r2, [r0, r3] - adds r7, r1, 0 - adds r1, r0, 0 - cmp r2, 0 - bne _080D1004 - ldr r0, _080D1000 @ =gBattleAnimPlayerMonIndex - b _080D1006 - .align 2, 0 -_080D0FFC: .4byte gBattleAnimArgs -_080D1000: .4byte gBattleAnimPlayerMonIndex -_080D1004: - ldr r0, _080D1040 @ =gBattleAnimEnemyMonIndex -_080D1006: - ldrb r5, [r0] - ldrb r1, [r1, 0x6] - movs r0, 0x1 - adds r4, r0, 0 - eors r4, r1 - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _080D107E - movs r1, 0x2 - adds r0, r5, 0 - eors r0, r1 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080D107E - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, sp - adds r3, r7, 0 - bl sub_807A3FC - cmp r4, 0 - bne _080D1044 - adds r0, r5, 0 - movs r1, 0 - b _080D1048 - .align 2, 0 -_080D1040: .4byte gBattleAnimEnemyMonIndex -_080D1044: - adds r0, r5, 0 - movs r1, 0x2 -_080D1048: - bl sub_8077ABC - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080D1074 - ldr r2, _080D1070 @ =gBattleAnimArgs - mov r0, sp - ldrh r1, [r0] - subs r1, r4 - ldrh r0, [r2] - subs r1, r0 - subs r0, r1 - strh r0, [r2] - b _080D107E - .align 2, 0 -_080D1070: .4byte gBattleAnimArgs -_080D1074: - ldr r1, _080D1090 @ =gBattleAnimArgs - mov r0, sp - ldrh r0, [r0] - subs r0, r4 - strh r0, [r1] -_080D107E: - ldr r1, _080D1094 @ =sub_80793C4 - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D1090: .4byte gBattleAnimArgs -_080D1094: .4byte sub_80793C4 - thumb_func_end sub_80D0FD8 - - thumb_func_start sub_80D1098 -sub_80D1098: @ 80D1098 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078B5C - lsls r0, 24 - cmp r0, 0 - beq _080D10B2 - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl move_anim_8072740 -_080D10B2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80D1098 - - thumb_func_start sub_80D10B8 -sub_80D10B8: @ 80D10B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r0, 0 - movs r6, 0 - mov r0, sp - strh r6, [r0] - mov r1, sp - adds r1, 0x2 - strh r6, [r1] - ldr r0, _080D10E4 @ =gBattleAnimArgs - movs r2, 0xA - ldrsh r0, [r0, r2] - cmp r0, 0 - bne _080D10F0 - ldr r0, _080D10E8 @ =gBattleAnimPlayerMonIndex - ldrb r7, [r0] - ldr r0, _080D10EC @ =gBattleAnimEnemyMonIndex - b _080D10F6 - .align 2, 0 -_080D10E4: .4byte gBattleAnimArgs -_080D10E8: .4byte gBattleAnimPlayerMonIndex -_080D10EC: .4byte gBattleAnimEnemyMonIndex -_080D10F0: - ldr r0, _080D1110 @ =gBattleAnimEnemyMonIndex - ldrb r7, [r0] - ldr r0, _080D1114 @ =gBattleAnimPlayerMonIndex -_080D10F6: - ldrb r0, [r0] - mov r8, r0 - ldr r0, _080D1118 @ =gBattleAnimArgs - movs r3, 0xC - ldrsh r0, [r0, r3] - cmp r0, 0 - bne _080D111C - movs r0, 0 - mov r10, r0 - movs r1, 0x1 - str r1, [sp, 0x4] - b _080D1124 - .align 2, 0 -_080D1110: .4byte gBattleAnimEnemyMonIndex -_080D1114: .4byte gBattleAnimPlayerMonIndex -_080D1118: .4byte gBattleAnimArgs -_080D111C: - movs r2, 0x2 - mov r10, r2 - movs r3, 0x3 - str r3, [sp, 0x4] -_080D1124: - adds r0, r7, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080D1180 - adds r0, r7, 0 - mov r1, r10 - bl sub_8077ABC - lsls r0, 24 - ldr r1, _080D1164 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - movs r0, 0x2 - mov r4, r8 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080D1170 - ldr r2, _080D1168 @ =gSprites - ldr r0, _080D116C @ =gObjectBankIDs - adds r0, r4, r0 - b _080D120A - .align 2, 0 -_080D1164: .4byte gBattleAnimArgs -_080D1168: .4byte gSprites -_080D116C: .4byte gObjectBankIDs -_080D1170: - ldr r2, _080D1178 @ =gSprites - ldr r0, _080D117C @ =gObjectBankIDs - add r0, r8 - b _080D120A - .align 2, 0 -_080D1178: .4byte gSprites -_080D117C: .4byte gObjectBankIDs -_080D1180: - adds r0, r7, 0 - mov r1, r10 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080D11EC @ =gBattleAnimArgs - ldrh r1, [r1] - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r0, _080D11F0 @ =gMain - ldr r1, _080D11F4 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D1204 - adds r4, r7, 0 - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080D1204 - ldr r3, _080D11F8 @ =gSprites - ldr r2, _080D11FC @ =gObjectBankIDs - adds r0, r7, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r6, r0, r3 - adds r2, r4, r2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r3 - movs r3, 0x20 - ldrsh r1, [r6, r3] - movs r3, 0x20 - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _080D1200 - adds r0, r2, 0 - adds r0, 0x43 - ldrb r0, [r0] - adds r0, 0x1 - b _080D121A - .align 2, 0 -_080D11EC: .4byte gBattleAnimArgs -_080D11F0: .4byte gMain -_080D11F4: .4byte 0x0000043d -_080D11F8: .4byte gSprites -_080D11FC: .4byte gObjectBankIDs -_080D1200: - adds r0, r6, 0 - b _080D1214 -_080D1204: - ldr r2, _080D1268 @ =gSprites - ldr r0, _080D126C @ =gObjectBankIDs - adds r0, r7, r0 -_080D120A: - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 -_080D1214: - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 -_080D121A: - adds r1, r5, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r7, 0 - ldr r1, [sp, 0x4] - bl sub_8077ABC - lsls r0, 24 - ldr r4, _080D1270 @ =gBattleAnimArgs - lsrs r0, 24 - ldrh r1, [r4, 0x2] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _080D1274 @ =gMain - ldr r2, _080D1278 @ =0x0000043d - adds r0, r2 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080D127C - mov r0, r8 - movs r1, 0x2 - eors r0, r1 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080D127C - ldrb r1, [r4, 0xC] - mov r0, r8 - mov r2, sp - mov r3, sp - adds r3, 0x2 - bl sub_807A3FC - b _080D129C - .align 2, 0 -_080D1268: .4byte gSprites -_080D126C: .4byte gObjectBankIDs -_080D1270: .4byte gBattleAnimArgs -_080D1274: .4byte gMain -_080D1278: .4byte 0x0000043d -_080D127C: - mov r4, sp - mov r0, r8 - mov r1, r10 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - mov r0, r8 - ldr r1, [sp, 0x4] - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - mov r3, sp - strh r0, [r3, 0x2] -_080D129C: - mov r0, r8 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - beq _080D12C0 - mov r3, sp - mov r2, sp - ldr r1, _080D12BC @ =gBattleAnimArgs - ldrh r0, [r1, 0x6] - ldrh r2, [r2] - adds r0, r2 - strh r0, [r3] - adds r2, r1, 0 - b _080D12CE - .align 2, 0 -_080D12BC: .4byte gBattleAnimArgs -_080D12C0: - mov r3, sp - mov r0, sp - ldr r2, _080D1310 @ =gBattleAnimArgs - ldrh r0, [r0] - ldrh r1, [r2, 0x6] - subs r0, r1 - strh r0, [r3] -_080D12CE: - ldrh r1, [r2, 0x8] - mov r0, sp - ldrh r0, [r0, 0x2] - adds r1, r0 - mov r3, sp - strh r1, [r3, 0x2] - mov r0, r9 - strh r0, [r5, 0x30] - strh r0, [r5, 0x20] - strh r6, [r5, 0x34] - strh r6, [r5, 0x22] - mov r0, sp - ldrh r0, [r0] - strh r0, [r5, 0x32] - strh r1, [r5, 0x36] - ldrh r0, [r2] - strh r0, [r5, 0x2E] - adds r0, r5, 0 - bl obj_translate_based_on_private_1_2_3_4 - ldr r1, _080D1314 @ =sub_80D1098 - str r1, [r5, 0x1C] - adds r0, r5, 0 - bl _call_via_r1 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080D1310: .4byte gBattleAnimArgs -_080D1314: .4byte sub_80D1098 - thumb_func_end sub_80D10B8 - - thumb_func_start sub_80D1318 -sub_80D1318: @ 80D1318 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080D1358 @ =0x000027db - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080D133E - lsls r0, 20 - ldr r1, _080D135C @ =0x01010000 - adds r0, r1 - lsrs r0, 16 - ldr r1, _080D1360 @ =gBattleAnimArgs - ldrb r2, [r1, 0xA] - ldrh r3, [r1, 0x8] - movs r1, 0xF - bl BlendPalette -_080D133E: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r1, _080D1364 @ =sub_80793C4 - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D1358: .4byte 0x000027db -_080D135C: .4byte 0x01010000 -_080D1360: .4byte gBattleAnimArgs -_080D1364: .4byte sub_80793C4 - thumb_func_end sub_80D1318 - - thumb_func_start sub_80D1368 -sub_80D1368: @ 80D1368 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_80787B0 - ldr r0, _080D139C @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - movs r1, 0xA0 - cmp r0, 0 - beq _080D1384 - ldr r1, _080D13A0 @ =0x0000ff60 -_080D1384: - movs r0, 0xE0 - lsls r0, 2 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - ldr r0, _080D13A4 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - strh r0, [r4, 0x3C] - ldr r0, _080D13A8 @ =sub_80D13AC - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D139C: .4byte gBattleAnimPlayerMonIndex -_080D13A0: .4byte 0x0000ff60 -_080D13A4: .4byte gBattleAnimArgs -_080D13A8: .4byte sub_80D13AC - thumb_func_end sub_80D1368 - - thumb_func_start sub_80D13AC -sub_80D13AC: @ 80D13AC - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x2E] - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - subs r1, r0 - movs r5, 0 - strh r1, [r4, 0x26] - ldrh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r4, 0x24] - subs r2, 0x20 - strh r2, [r4, 0x2E] - ldr r0, _080D1418 @ =gBattleAnimPlayerMonIndex - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - movs r1, 0xA0 - cmp r0, 0 - beq _080D13DC - ldr r1, _080D141C @ =0x0000ff60 -_080D13DC: - lsls r0, r1, 16 - asrs r0, 16 - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x26] - movs r2, 0x26 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _080D1410 - ldrh r2, [r4, 0x22] - adds r0, r1, r2 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - strh r5, [r4, 0x26] - strh r5, [r4, 0x24] - strh r5, [r4, 0x2E] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _080D1420 @ =sub_80D1424 - str r0, [r4, 0x1C] -_080D1410: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D1418: .4byte gBattleAnimPlayerMonIndex -_080D141C: .4byte 0x0000ff60 -_080D1420: .4byte sub_80D1424 - thumb_func_end sub_80D13AC - - thumb_func_start sub_80D1424 -sub_80D1424: @ 80D1424 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r1, r0, 0x1 - strh r1, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080D1442 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, _080D1448 @ =sub_80D144C - str r0, [r4, 0x1C] -_080D1442: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D1448: .4byte sub_80D144C - thumb_func_end sub_80D1424 - - thumb_func_start sub_80D144C -sub_80D144C: @ 80D144C - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080D14B2 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r0, 0 - strh r0, [r4, 0x2E] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080D1498 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x10 - ldr r3, _080D148C @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080D1490 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r0, _080D1494 @ =sub_80D14C4 - b _080D14B0 - .align 2, 0 -_080D148C: .4byte 0x000003ff -_080D1490: .4byte 0xfffffc00 -_080D1494: .4byte sub_80D14C4 -_080D1498: - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - adds r1, 0x20 - ldr r3, _080D14B8 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r0, _080D14BC @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r0, _080D14C0 @ =sub_80D154C -_080D14B0: - str r0, [r4, 0x1C] -_080D14B2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D14B8: .4byte 0x000003ff -_080D14BC: .4byte 0xfffffc00 -_080D14C0: .4byte sub_80D154C - thumb_func_end sub_80D144C - - thumb_func_start sub_80D14C4 -sub_80D14C4: @ 80D14C4 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x26] - subs r0, 0x2 - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bne _080D14F8 - movs r0, 0x10 - strh r0, [r2, 0x2E] - movs r0, 0 - strh r0, [r2, 0x30] - ldr r1, _080D14FC @ =REG_BLDCNT - movs r3, 0xFD - lsls r3, 6 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r2, 0x2E] - strh r0, [r1] - ldr r0, _080D1500 @ =sub_80D1504 - str r0, [r2, 0x1C] -_080D14F8: - pop {r0} - bx r0 - .align 2, 0 -_080D14FC: .4byte REG_BLDCNT -_080D1500: .4byte sub_80D1504 - thumb_func_end sub_80D14C4 - - thumb_func_start sub_80D1504 -sub_80D1504: @ 80D1504 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x3 - bl __modsi3 - lsls r0, 16 - cmp r0, 0 - bne _080D153C - ldrh r1, [r4, 0x2E] - subs r1, 0x1 - strh r1, [r4, 0x2E] - ldr r2, _080D1544 @ =REG_BLDALPHA - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - strh r1, [r2] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080D153C - ldr r0, _080D1548 @ =sub_80D154C - str r0, [r4, 0x1C] -_080D153C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D1544: .4byte REG_BLDALPHA -_080D1548: .4byte sub_80D154C - thumb_func_end sub_80D1504 - - thumb_func_start sub_80D154C -sub_80D154C: @ 80D154C - push {lr} - adds r3, r0, 0 - ldr r0, _080D1574 @ =gBattleAnimArgs - ldrh r1, [r0, 0xE] - ldr r0, _080D1578 @ =0x0000ffff - cmp r1, r0 - bne _080D1584 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r1, 0x3C - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _080D1580 - ldr r0, _080D157C @ =sub_80D158C - b _080D1582 - .align 2, 0 -_080D1574: .4byte gBattleAnimArgs -_080D1578: .4byte 0x0000ffff -_080D157C: .4byte sub_80D158C -_080D1580: - ldr r0, _080D1588 @ =move_anim_8072740 -_080D1582: - str r0, [r3, 0x1C] -_080D1584: - pop {r0} - bx r0 - .align 2, 0 -_080D1588: .4byte move_anim_8072740 - thumb_func_end sub_80D154C - - thumb_func_start sub_80D158C -sub_80D158C: @ 80D158C - push {lr} - ldr r1, _080D15A0 @ =REG_BLDCNT - movs r2, 0 - strh r2, [r1] - adds r1, 0x2 - strh r2, [r1] - bl move_anim_8072740 - pop {r0} - bx r0 - .align 2, 0 -_080D15A0: .4byte REG_BLDCNT - thumb_func_end sub_80D158C - - thumb_func_start sub_80D15A4 -sub_80D15A4: @ 80D15A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080D15D4 @ =gTasks - adds r4, r0 - movs r0, 0 - bl obj_id_for_side_relative_to_move - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x8] - ldr r2, _080D15D8 @ =gUnknown_083D79BC - adds r0, r4, 0 - bl sub_80798F4 - ldr r0, _080D15DC @ =sub_80D15E0 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D15D4: .4byte gTasks -_080D15D8: .4byte gUnknown_083D79BC -_080D15DC: .4byte sub_80D15E0 - thumb_func_end sub_80D15A4 - thumb_func_start sub_80D15E0 sub_80D15E0: @ 80D15E0 push {r4,r5,lr} |