diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-11-19 11:12:41 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-11-19 11:12:41 -0500 |
commit | ff3fb436227a1993add63fdd9f14b61c304b37c8 (patch) | |
tree | 9ec424760d0dab9dddd2ac938fc698c249986912 /asm/fire.s | |
parent | d13375a4e03519feb3e9a6b0f7784f09b55b7709 (diff) | |
parent | 89dc26755ad2818c10b37a34ed46f5c79dc571c8 (diff) |
Merge branch 'master' of github.com:pret/pokefirered into dism_more_data
Diffstat (limited to 'asm/fire.s')
-rw-r--r-- | asm/fire.s | 2500 |
1 files changed, 0 insertions, 2500 deletions
diff --git a/asm/fire.s b/asm/fire.s deleted file mode 100644 index eee80228c..000000000 --- a/asm/fire.s +++ /dev/null @@ -1,2500 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80AC90C -sub_80AC90C: @ 80AC90C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080AC940 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x2E] - movs r0, 0x3C - strh r0, [r4, 0x30] - movs r0, 0x9 - strh r0, [r4, 0x32] - movs r0, 0x1E - strh r0, [r4, 0x34] - movs r0, 0xFE - lsls r0, 8 - strh r0, [r4, 0x36] - ldr r1, _080AC944 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r1, _080AC948 @ =TranslateSpriteInGrowingCircleOverDuration - str r1, [r4, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC940: .4byte gBattleAnimArgs -_080AC944: .4byte DestroyAnimSprite -_080AC948: .4byte TranslateSpriteInGrowingCircleOverDuration - thumb_func_end sub_80AC90C - - thumb_func_start sub_80AC94C -sub_80AC94C: @ 80AC94C - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _080AC984 @ =gBattleAnimArgs - movs r0, 0 - ldrsh r1, [r5, r0] - adds r0, r4, 0 - bl SetAnimSpriteInitialXOffset - ldrh r0, [r5, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x6] - strh r0, [r4, 0x32] - ldr r0, _080AC988 @ =TranslateSpriteLinearFixedPoint - str r0, [r4, 0x1C] - ldr r1, _080AC98C @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AC984: .4byte gBattleAnimArgs -_080AC988: .4byte TranslateSpriteLinearFixedPoint -_080AC98C: .4byte DestroyAnimSprite - thumb_func_end sub_80AC94C - - thumb_func_start sub_80AC990 -sub_80AC990: @ 80AC990 - push {r4,lr} - adds r4, r0, 0 - bl SetSpriteCoordsToAnimAttackerCoords - ldr r0, _080AC9C4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AC9CC - ldr r2, _080AC9C8 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r2, 0x8] - negs r0, r0 - strh r0, [r4, 0x32] - adds r1, r2, 0 - b _080AC9E2 - .align 2, 0 -_080AC9C4: .4byte gBattleAnimAttacker -_080AC9C8: .4byte gBattleAnimArgs -_080AC9CC: - ldr r1, _080AC9F8 @ =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, 0x8] - strh r0, [r4, 0x32] -_080AC9E2: - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x34] - ldr r0, _080AC9FC @ =sub_80ACA6C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AC9F8: .4byte gBattleAnimArgs -_080AC9FC: .4byte sub_80ACA6C - thumb_func_end sub_80AC990 - - thumb_func_start sub_80ACA00 -sub_80ACA00: @ 80ACA00 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080ACA2C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080ACA34 - ldr r2, _080ACA30 @ =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldrh r0, [r2, 0x8] - strh r0, [r4, 0x32] - adds r1, r2, 0 - b _080ACA4C - .align 2, 0 -_080ACA2C: .4byte gBattleAnimAttacker -_080ACA30: .4byte gBattleAnimArgs -_080ACA34: - ldr r1, _080ACA64 @ =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, 0x8] - negs r0, r0 - strh r0, [r4, 0x32] -_080ACA4C: - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x36] - ldrh r0, [r1, 0xA] - strh r0, [r4, 0x34] - ldr r0, _080ACA68 @ =sub_80ACA6C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACA64: .4byte gBattleAnimArgs -_080ACA68: .4byte sub_80ACA6C - thumb_func_end sub_80ACA00 - - thumb_func_start sub_80ACA6C -sub_80ACA6C: @ 80ACA6C - 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, 0x36 - ldrsh r1, [r2, r3] - cmp r0, r1 - bge _080ACA92 - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x34] - ldrh r3, [r2, 0x26] - adds r0, r3 - strh r0, [r2, 0x26] -_080ACA92: - movs r0, 0x2E - ldrsh r1, [r2, r0] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r1, r0 - bne _080ACAA4 - adds r0, r2, 0 - bl DestroySpriteAndMatrix -_080ACAA4: - pop {r0} - bx r0 - thumb_func_end sub_80ACA6C - - thumb_func_start sub_80ACAA8 -sub_80ACAA8: @ 80ACAA8 - push {r4,lr} - adds r4, r0, 0 - bl SetSpriteCoordsToAnimAttackerCoords - ldr r0, _080ACACC @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080ACAD4 - ldr r0, _080ACAD0 @ =gBattleAnimArgs - ldrh r1, [r4, 0x20] - ldrh r2, [r0] - subs r1, r2 - strh r1, [r4, 0x20] - b _080ACAE6 - .align 2, 0 -_080ACACC: .4byte gBattleAnimAttacker -_080ACAD0: .4byte gBattleAnimArgs -_080ACAD4: - ldr r0, _080ACB14 @ =gBattleAnimArgs - ldrh r1, [r0] - ldrh r2, [r4, 0x20] - adds r1, r2 - strh r1, [r4, 0x20] - adds r2, r4, 0 - adds r2, 0x43 - movs r1, 0x8 - strb r1, [r2] -_080ACAE6: - adds r2, r0, 0 - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x22] - ldrh r0, [r2, 0x4] - strh r0, [r4, 0x2E] - ldrh r0, [r2, 0x6] - strh r0, [r4, 0x30] - ldrh r0, [r2, 0x8] - strh r0, [r4, 0x32] - ldrh r0, [r2, 0xA] - strh r0, [r4, 0x34] - ldrh r0, [r2, 0xC] - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - ldr r0, _080ACB18 @ =sub_80ACB1C - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACB14: .4byte gBattleAnimArgs -_080ACB18: .4byte sub_80ACB1C - thumb_func_end sub_80ACAA8 - - thumb_func_start sub_80ACB1C -sub_80ACB1C: @ 80ACB1C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080ACBA4 - movs r2, 0x38 - ldrsh r1, [r4, r2] - ldr r0, _080ACB88 @ =0x00002710 - cmp r1, r0 - ble _080ACB3A - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1 - strb r0, [r1] -_080ACB3A: - movs r1, 0x2E - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 24 - ldrh r2, [r4, 0x30] - adds r1, r2 - lsls r1, 16 - asrs r1, 16 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - ldrh r2, [r4, 0x2E] - adds r1, r0, r2 - strh r1, [r4, 0x2E] - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x38] - adds r0, r2 - strh r0, [r4, 0x38] - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _080ACB90 - ldr r2, _080ACB8C @ =0xffffff00 - b _080ACB98 - .align 2, 0 -_080ACB88: .4byte 0x00002710 -_080ACB8C: .4byte 0xffffff00 -_080ACB90: - cmp r0, 0 - bge _080ACB9C - movs r2, 0x80 - lsls r2, 1 -_080ACB98: - adds r0, r1, r2 - strh r0, [r4, 0x2E] -_080ACB9C: - ldrh r0, [r4, 0x34] - subs r0, 0x1 - strh r0, [r4, 0x34] - b _080ACBAA -_080ACBA4: - adds r0, r4, 0 - bl DestroySpriteAndMatrix -_080ACBAA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ACB1C - - thumb_func_start sub_80ACBB0 -sub_80ACBB0: @ 80ACBB0 - push {lr} - movs r1, 0 - strh r1, [r0, 0x20] - strh r1, [r0, 0x22] - movs r1, 0x3C - strh r1, [r0, 0x2E] - movs r1, 0x8C - strh r1, [r0, 0x32] - movs r1, 0x50 - strh r1, [r0, 0x36] - ldr r1, _080ACBD4 @ =StartAnimLinearTranslation - str r1, [r0, 0x1C] - ldr r1, _080ACBD8 @ =DestroyAnimSprite - bl StoreSpriteCallbackInData6 - pop {r0} - bx r0 - .align 2, 0 -_080ACBD4: .4byte StartAnimLinearTranslation -_080ACBD8: .4byte DestroyAnimSprite - thumb_func_end sub_80ACBB0 - - thumb_func_start sub_80ACBDC -sub_80ACBDC: @ 80ACBDC - push {r4-r6,lr} - adds r6, r0, 0 - ldr r5, _080ACC34 @ =gBattleAnimAttacker - ldrb r0, [r5] - bl GetBattlerSide - adds r4, r0, 0 - ldr r0, _080ACC38 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080ACC22 - movs r0, 0x2 - bl GetBattlerAtPosition - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _080ACC1A - movs r0, 0x3 - bl GetBattlerAtPosition - ldrb r1, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - bne _080ACC22 -_080ACC1A: - ldr r1, _080ACC3C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - negs r0, r0 - strh r0, [r1, 0x4] -_080ACC22: - ldr r1, _080ACC40 @ =sub_8075F0C - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080ACC34: .4byte gBattleAnimAttacker -_080ACC38: .4byte gBattleAnimTarget -_080ACC3C: .4byte gBattleAnimArgs -_080ACC40: .4byte sub_8075F0C - thumb_func_end sub_80ACBDC - - thumb_func_start sub_80ACC44 -sub_80ACC44: @ 80ACC44 - ldr r2, _080ACC58 @ =gBattleAnimArgs - ldrh r1, [r2] - negs r1, r1 - strh r1, [r2] - ldrh r1, [r2, 0x4] - negs r1, r1 - strh r1, [r2, 0x4] - ldr r1, _080ACC5C @ =sub_8075F0C - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080ACC58: .4byte gBattleAnimArgs -_080ACC5C: .4byte sub_8075F0C - thumb_func_end sub_80ACC44 - - thumb_func_start sub_80ACC60 -sub_80ACC60: @ 80ACC60 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitSpritePosToAnimAttacker - ldr r0, _080ACC80 @ =gBattleAnimArgs - ldrh r0, [r0, 0x4] - movs r1, 0 - strh r0, [r4, 0x3C] - strh r1, [r4, 0x2E] - ldr r0, _080ACC84 @ =sub_80ACC88 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACC80: .4byte gBattleAnimArgs -_080ACC84: .4byte sub_80ACC88 - thumb_func_end sub_80ACC60 - - thumb_func_start sub_80ACC88 -sub_80ACC88: @ 80ACC88 - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_80ACD7C - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x12 - bne _080ACCD2 - movs r0, 0x19 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x20] - strh r0, [r5, 0x30] - ldr r4, _080ACCD8 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - 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 GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl InitAnimLinearTranslation - ldr r0, _080ACCDC @ =sub_80ACCE0 - str r0, [r5, 0x1C] -_080ACCD2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ACCD8: .4byte gBattleAnimTarget -_080ACCDC: .4byte sub_80ACCE0 - thumb_func_end sub_80ACC88 - - thumb_func_start sub_80ACCE0 -sub_80ACCE0: @ 80ACCE0 - push {r4-r6,lr} - adds r6, r0, 0 - bl AnimTranslateLinear - lsls r0, 24 - cmp r0, 0 - beq _080ACD28 - movs r4, 0 - strh r4, [r6, 0x2E] - ldr r5, _080ACD20 @ =gBattleAnimTarget - ldrb r0, [r5] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x20] - ldrb r0, [r5] - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x22] - strh r4, [r6, 0x26] - strh r4, [r6, 0x24] - ldr r1, _080ACD24 @ =sub_80ACD58 - str r1, [r6, 0x1C] - adds r0, r6, 0 - bl _call_via_r1 - b _080ACD52 - .align 2, 0 -_080ACD20: .4byte gBattleAnimTarget -_080ACD24: .4byte sub_80ACD58 -_080ACD28: - movs r1, 0x3C - ldrsh r0, [r6, r1] - movs r1, 0x1C - bl Sin - ldrh r1, [r6, 0x24] - adds r0, r1 - strh r0, [r6, 0x24] - movs r1, 0x3C - ldrsh r0, [r6, r1] - movs r1, 0x1C - bl Cos - ldrh r1, [r6, 0x26] - adds r0, r1 - strh r0, [r6, 0x26] - ldrh r0, [r6, 0x3C] - adds r0, 0x14 - movs r1, 0xFF - ands r0, r1 - strh r0, [r6, 0x3C] -_080ACD52: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80ACCE0 - - thumb_func_start sub_80ACD58 -sub_80ACD58: @ 80ACD58 - push {r4,lr} - adds r4, r0, 0 - bl sub_80ACD7C - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080ACD74 - adds r0, r4, 0 - bl DestroyAnimSprite -_080ACD74: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ACD58 - - thumb_func_start sub_80ACD7C -sub_80ACD7C: @ 80ACD7C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x1C - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x3C - ldrsh r0, [r4, r1] - movs r1, 0x1C - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x3C] - adds r0, 0x14 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x3C] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ACD7C - - thumb_func_start sub_80ACDA8 -sub_80ACDA8: @ 80ACDA8 - push {r4,lr} - adds r4, r0, 0 - ldr r1, _080ACDDC @ =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, 0x32] - ldr r1, _080ACDE0 @ =DestroyAnimSprite - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - ldr r0, _080ACDE4 @ =TranslateSpriteLinear - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACDDC: .4byte gBattleAnimArgs -_080ACDE0: .4byte DestroyAnimSprite -_080ACDE4: .4byte TranslateSpriteLinear - thumb_func_end sub_80ACDA8 - - thumb_func_start sub_80ACDE8 -sub_80ACDE8: @ 80ACDE8 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x1 - bl InitSpritePosToAnimAttacker - ldr r1, _080ACE1C @ =gBattleAnimArgs - ldrh r0, [r1, 0x4] - strh r0, [r4, 0x30] - ldrh r0, [r1, 0x6] - strh r0, [r4, 0x2E] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _080ACE20 @ =WaitAnimForDuration - str r0, [r4, 0x1C] - ldr r1, _080ACE24 @ =sub_80ACE28 - adds r0, r4, 0 - bl StoreSpriteCallbackInData6 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ACE1C: .4byte gBattleAnimArgs -_080ACE20: .4byte WaitAnimForDuration -_080ACE24: .4byte sub_80ACE28 - thumb_func_end sub_80ACDE8 - - thumb_func_start sub_80ACE28 -sub_80ACE28: @ 80ACE28 - push {lr} - adds r3, r0, 0 - adds r3, 0x3E - ldrb r2, [r3] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r3] - ldrh r1, [r0, 0x30] - movs r2, 0 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - ldr r1, _080ACE4C @ =sub_80ACE50 - str r1, [r0, 0x1C] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_080ACE4C: .4byte sub_80ACE50 - thumb_func_end sub_80ACE28 - - thumb_func_start sub_80ACE50 -sub_80ACE50: @ 80ACE50 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x32] - lsls r1, 16 - asrs r1, 24 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0xA - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x32] - adds r0, 0xD0 - strh r0, [r4, 0x32] - 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 _080ACE9C - adds r0, r4, 0 - bl DestroyAnimSprite -_080ACE9C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ACE50 - - thumb_func_start sub_80ACEA4 -sub_80ACEA4: @ 80ACEA4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080ACF04 @ =gTasks - adds r4, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x26] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - ldr r2, _080ACF08 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x10] - ldr r0, _080ACF0C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x12] - strh r5, [r4, 0x14] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl PrepareBattlerSpriteForRotScale - ldr r0, _080ACF10 @ =sub_80ACF14 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ACF04: .4byte gTasks -_080ACF08: .4byte gSprites -_080ACF0C: .4byte gBattleAnimAttacker -_080ACF10: .4byte sub_80ACF14 - thumb_func_end sub_80ACEA4 - - thumb_func_start sub_80ACF14 -sub_80ACF14: @ 80ACF14 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080ACF3C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bls _080ACF30 - b _080AD1EE -_080ACF30: - lsls r0, 2 - ldr r1, _080ACF40 @ =_080ACF44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ACF3C: .4byte gTasks -_080ACF40: .4byte _080ACF44 - .align 2, 0 -_080ACF44: - .4byte _080ACF60 - .4byte _080ACF86 - .4byte _080AD038 - .4byte _080AD098 - .4byte _080AD0B6 - .4byte _080AD18C - .4byte _080AD1E0 -_080ACF60: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 1 - movs r0, 0xE0 - str r0, [sp] - movs r0, 0x80 - lsls r0, 2 - str r0, [sp, 0x4] - movs r0, 0x20 - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r2, r3, 0 - bl sub_80765D4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080ACF86: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080ACFCE - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080ACFBC - ldr r2, _080ACFB8 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x3 - b _080ACFCC - .align 2, 0 -_080ACFB8: .4byte gSprites -_080ACFBC: - ldr r2, _080AD030 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, _080AD034 @ =0x0000fffd -_080ACFCC: - strh r1, [r0, 0x24] -_080ACFCE: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080ACFFC - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080ACFFC - movs r0, 0 - strh r0, [r4, 0xE] - ldr r2, _080AD030 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - adds r1, 0x1 - strh r1, [r0, 0x22] -_080ACFFC: - adds r0, r4, 0 - bl sub_8076640 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _080AD00C - b _080AD1EE -_080AD00C: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl SetBattlerSpriteYOffsetFromYScale - ldr r2, _080AD030 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] - strh r5, [r4, 0xA] - strh r5, [r4, 0xC] - strh r5, [r4, 0xE] - b _080AD1D4 - .align 2, 0 -_080AD030: .4byte gSprites -_080AD034: .4byte 0x0000fffd -_080AD038: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _080AD048 - b _080AD1EE -_080AD048: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AD072 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 2 - movs r0, 0xC0 - lsls r0, 1 - str r0, [sp] - movs r0, 0xF0 - str r0, [sp, 0x4] - movs r0, 0x6 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0xE0 - bl sub_80765D4 - b _080AD092 -_080AD072: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r3, 0x80 - lsls r3, 2 - movs r0, 0xC0 - lsls r0, 1 - str r0, [sp] - movs r0, 0xC0 - str r0, [sp, 0x4] - movs r0, 0x6 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r2, 0xE0 - bl sub_80765D4 -_080AD092: - movs r0, 0 - strh r0, [r4, 0xA] - b _080AD1D4 -_080AD098: - adds r0, r4, 0 - bl sub_8076640 - lsls r0, 24 - cmp r0, 0 - beq _080AD0A6 - b _080AD1EE -_080AD0A6: - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - adds r1, r5, 0 - movs r2, 0x6 - bl sub_80AD1F8 - b _080AD1D4 -_080AD0B6: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AD104 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD0F0 - ldr r2, _080AD0EC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - b _080AD102 - .align 2, 0 -_080AD0EC: .4byte gSprites -_080AD0F0: - ldr r2, _080AD13C @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x3 -_080AD102: - strh r1, [r0, 0x26] -_080AD104: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _080AD1EE - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AD140 - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0xC0 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r3, 0xF0 - bl sub_80765D4 - b _080AD15E - .align 2, 0 -_080AD13C: .4byte gSprites -_080AD140: - ldrh r1, [r4, 0x26] - lsls r1, 24 - lsrs r1, 24 - movs r2, 0xC0 - lsls r2, 1 - movs r0, 0x80 - lsls r0, 1 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x8 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r3, 0xC0 - bl sub_80765D4 -_080AD15E: - ldrh r1, [r4, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD17C - ldr r2, _080AD188 @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] -_080AD17C: - movs r0, 0 - strh r0, [r4, 0xA] - strh r0, [r4, 0xC] - strh r0, [r4, 0xE] - b _080AD1D4 - .align 2, 0 -_080AD188: .4byte gSprites -_080AD18C: - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080AD1A8 - ldr r2, _080AD1DC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x1 - strh r1, [r0, 0x22] -_080AD1A8: - adds r0, r4, 0 - bl sub_8076640 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080AD1EE - ldr r2, _080AD1DC @ =gSprites - movs r0, 0x26 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r4, 0x10] - strh r1, [r0, 0x22] - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl ResetSpriteRotScale - strh r5, [r4, 0xC] -_080AD1D4: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080AD1EE - .align 2, 0 -_080AD1DC: .4byte gSprites -_080AD1E0: - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AD1EE - adds r0, r5, 0 - bl DestroyAnimVisualTask -_080AD1EE: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80ACF14 - - thumb_func_start sub_80AD1F8 -sub_80AD1F8: @ 80AD1F8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - adds r0, r4, 0 - bl sub_80AD374 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldr r1, _080AD248 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r4, [r0, 0x20] - ldr r0, _080AD24C @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AD250 - adds r0, r4, 0 - subs r0, 0xC - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x1 - b _080AD25A - .align 2, 0 -_080AD248: .4byte gSprites -_080AD24C: .4byte gBattleAnimAttacker -_080AD250: - adds r0, r4, 0 - adds r0, 0x10 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0xFF -_080AD25A: - movs r6, 0 - movs r5, 0 - lsls r4, 16 - str r4, [sp, 0x8] - mov r1, r9 - lsls r1, 16 - str r1, [sp, 0x4] - ldr r2, _080AD314 @ =gUnknown_83E5E44 - mov r9, r2 - lsls r0, 24 - asrs r0, 24 - str r0, [sp] - mov r3, r8 - lsls r3, 1 - mov r10, r3 -_080AD278: - ldr r0, _080AD318 @ =gUnknown_83E5E2C - ldr r2, [sp, 0x8] - asrs r1, r2, 16 - ldr r3, [sp, 0x4] - asrs r2, r3, 16 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080AD2FA - ldr r1, _080AD31C @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r4, r0, r1 - ldrh r2, [r4, 0x4] - lsls r1, r2, 22 - lsrs r1, 22 - lsls r0, r5, 2 - adds r0, 0x40 - adds r1, r0 - ldr r3, _080AD320 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldr r3, _080AD324 @ =0xfffffc00 - adds r0, r3, 0 - ands r2, r0 - orrs r2, r1 - strh r2, [r4, 0x4] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x4 - bls _080AD2C2 - movs r5, 0 -_080AD2C2: - lsls r2, r6, 2 - mov r1, r9 - adds r0, r2, r1 - ldrh r0, [r0] - ldr r3, [sp] - adds r1, r0, 0 - muls r1, r3 - lsls r1, 16 - asrs r1, 16 - ldr r0, _080AD328 @ =gUnknown_83E5E44 + 2 - adds r2, r0 - movs r3, 0 - ldrsh r2, [r2, r3] - adds r0, r4, 0 - bl sub_80AD3C8 - strh r7, [r4, 0x3A] - mov r0, r8 - strh r0, [r4, 0x3C] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - add r0, r10 - ldr r1, _080AD32C @ =gTasks+0x8 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] -_080AD2FA: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x6 - bls _080AD278 - 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 -_080AD314: .4byte gUnknown_83E5E44 -_080AD318: .4byte gUnknown_83E5E2C -_080AD31C: .4byte gSprites -_080AD320: .4byte 0x000003ff -_080AD324: .4byte 0xfffffc00 -_080AD328: .4byte gUnknown_83E5E44 + 2 -_080AD32C: .4byte gTasks+0x8 - thumb_func_end sub_80AD1F8 - - thumb_func_start sub_80AD330 -sub_80AD330: @ 80AD330 - push {r4,lr} - adds r4, r0, 0 - bl sub_80AD3E4 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080AD36A - ldr r3, _080AD370 @ =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 -_080AD36A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AD370: .4byte gTasks - thumb_func_end sub_80AD330 - - thumb_func_start sub_80AD374 -sub_80AD374: @ 80AD374 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080AD3AC @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r2, [r1, 0x26] - ldrh r0, [r1, 0x22] - adds r2, r0 - adds r1, 0x29 - movs r0, 0 - ldrsb r0, [r1, r0] - adds r0, r2 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _080AD3B0 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _080AD3B4 - lsls r0, r4, 16 - movs r1, 0x94 - lsls r1, 15 - b _080AD3BA - .align 2, 0 -_080AD3AC: .4byte gSprites -_080AD3B0: .4byte gBattleAnimAttacker -_080AD3B4: - lsls r0, r4, 16 - movs r1, 0xB0 - lsls r1, 14 -_080AD3BA: - adds r0, r1 - lsrs r4, r0, 16 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80AD374 - - thumb_func_start sub_80AD3C8 -sub_80AD3C8: @ 80AD3C8 - movs r3, 0 - strh r3, [r0, 0x2E] - strh r3, [r0, 0x30] - ldrh r3, [r0, 0x20] - lsls r3, 3 - strh r3, [r0, 0x32] - ldrh r3, [r0, 0x22] - lsls r3, 3 - strh r3, [r0, 0x34] - lsls r1, 3 - strh r1, [r0, 0x36] - lsls r2, 3 - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_80AD3C8 - - thumb_func_start sub_80AD3E4 -sub_80AD3E4: @ 80AD3E4 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _080AD40E - movs r0, 0 - strh r0, [r2, 0x2E] - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x30] - adds r1, r0, 0 - muls r1, r0 - adds r0, r1, 0 - ldrh r3, [r2, 0x34] - adds r0, r3 - strh r0, [r2, 0x34] -_080AD40E: - ldrh r0, [r2, 0x36] - ldrh r1, [r2, 0x32] - adds r0, r1 - strh r0, [r2, 0x32] - lsls r0, 16 - asrs r0, 19 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x38] - ldrh r3, [r2, 0x34] - adds r1, r3 - strh r1, [r2, 0x34] - lsls r1, 16 - asrs r3, r1, 19 - strh r3, [r2, 0x22] - adds r0, 0x8 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 17 - cmp r0, r1 - bhi _080AD444 - adds r1, r3, 0 - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _080AD444 - cmp r1, 0x78 - ble _080AD450 -_080AD444: - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080AD450: - pop {r0} - bx r0 - thumb_func_end sub_80AD3E4 - - thumb_func_start sub_80AD454 -sub_80AD454: @ 80AD454 - push {r4,r5,lr} - ldr r3, _080AD498 @ =gBattleAnimArgs - ldrh r1, [r3] - movs r2, 0 - strh r1, [r0, 0x20] - ldrh r1, [r3, 0x2] - strh r1, [r0, 0x22] - strh r2, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x32] - ldrh r1, [r3, 0x4] - strh r1, [r0, 0x3A] - ldrh r1, [r3, 0x6] - strh r1, [r0, 0x3C] - ldrh r4, [r0, 0x4] - lsls r2, r4, 22 - lsrs r2, 22 - movs r5, 0x8 - ldrsh r1, [r3, r5] - lsls r1, 4 - adds r2, r1 - ldr r3, _080AD49C @ =0x000003ff - adds r1, r3, 0 - ands r2, r1 - ldr r1, _080AD4A0 @ =0xfffffc00 - ands r1, r4 - orrs r1, r2 - strh r1, [r0, 0x4] - ldr r1, _080AD4A4 @ =sub_80AD4A8 - str r1, [r0, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AD498: .4byte gBattleAnimArgs -_080AD49C: .4byte 0x000003ff -_080AD4A0: .4byte 0xfffffc00 -_080AD4A4: .4byte sub_80AD4A8 - thumb_func_end sub_80AD454 - - thumb_func_start sub_80AD4A8 -sub_80AD4A8: @ 80AD4A8 - push {r4,lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _080AD4DA - cmp r0, 0x1 - bgt _080AD4BE - cmp r0, 0 - beq _080AD4C4 - b _080AD538 -_080AD4BE: - cmp r0, 0x2 - beq _080AD4F8 - b _080AD538 -_080AD4C4: - ldrh r1, [r2, 0x3A] - movs r3, 0x3A - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080AD4D4 - subs r0, r1, 0x1 - strh r0, [r2, 0x3A] - b _080AD538 -_080AD4D4: - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_080AD4DA: - ldrh r0, [r2, 0x22] - adds r0, 0x8 - strh r0, [r2, 0x22] - lsls r0, 16 - asrs r0, 16 - ldrh r3, [r2, 0x3C] - movs r4, 0x3C - ldrsh r1, [r2, r4] - cmp r0, r1 - blt _080AD538 - strh r3, [r2, 0x22] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - b _080AD538 -_080AD4F8: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AD524 - movs r0, 0 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - adds r0, 0x1 - strh r0, [r2, 0x32] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD520 - ldr r0, _080AD51C @ =0x0000fffd - b _080AD522 - .align 2, 0 -_080AD51C: .4byte 0x0000fffd -_080AD520: - movs r0, 0x3 -_080AD522: - strh r0, [r2, 0x26] -_080AD524: - ldrh r0, [r2, 0x34] - adds r0, 0x1 - strh r0, [r2, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _080AD538 - adds r0, r2, 0 - bl DestroyAnimSprite -_080AD538: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD4A8 - - thumb_func_start sub_80AD540 -sub_80AD540: @ 80AD540 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080AD5B4 - cmp r0, 0x1 - bgt _080AD556 - cmp r0, 0 - beq _080AD55C - b _080AD682 -_080AD556: - cmp r0, 0x2 - beq _080AD612 - b _080AD682 -_080AD55C: - adds r0, r5, 0 - movs r1, 0 - bl InitSpritePosToAnimAttacker - ldr r4, _080AD584 @ =gBattleAnimArgs - ldrb r1, [r4, 0x4] - adds r0, r5, 0 - bl StartSpriteAnim - ldrh r0, [r4, 0x4] - strh r0, [r5, 0x3C] - ldr r0, _080AD588 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AD58C - movs r0, 0x4 - b _080AD58E - .align 2, 0 -_080AD584: .4byte gBattleAnimArgs -_080AD588: .4byte gBattleAnimAttacker -_080AD58C: - ldr r0, _080AD5AC @ =0x0000fffc -_080AD58E: - strh r0, [r5, 0x36] - ldr r0, _080AD5B0 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSpriteBGPriority - 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] - b _080AD60A - .align 2, 0 -_080AD5AC: .4byte 0x0000fffc -_080AD5B0: .4byte gBattleAnimTarget -_080AD5B4: - ldrh r0, [r5, 0x30] - adds r0, 0xC0 - strh r0, [r5, 0x30] - ldr r0, _080AD5D4 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080AD5D8 - ldrh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 24 - negs r0, r0 - b _080AD5DE - .align 2, 0 -_080AD5D4: .4byte gBattleAnimAttacker -_080AD5D8: - ldrh r0, [r5, 0x30] - lsls r0, 16 - asrs r0, 24 -_080AD5DE: - strh r0, [r5, 0x26] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r2, 0x36 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _080AD682 - movs r0, 0 - strh r0, [r5, 0x34] -_080AD60A: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _080AD682 -_080AD612: - movs r1, 0x32 - ldrsh r0, [r5, r1] - movs r2, 0x36 - ldrsh r1, [r5, r2] - bl Sin - adds r2, r0, 0 - movs r3, 0 - strh r2, [r5, 0x24] - ldrh r0, [r5, 0x32] - adds r0, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _080AD682 - ldrh r0, [r5, 0x20] - adds r1, r2, r0 - strh r1, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r3, [r5, 0x26] - strh r3, [r5, 0x24] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x2E] - strh r1, [r5, 0x30] - ldr r4, _080AD688 @ =gBattleAnimTarget - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - 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 GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x36] - adds r0, r5, 0 - bl sub_8075678 - ldr r0, _080AD68C @ =sub_80AD690 - str r0, [r5, 0x1C] -_080AD682: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AD688: .4byte gBattleAnimTarget -_080AD68C: .4byte sub_80AD690 - thumb_func_end sub_80AD540 - - thumb_func_start sub_80AD690 -sub_80AD690: @ 80AD690 - push {r4,lr} - adds r4, r0, 0 - bl AnimTranslateLinear - lsls r0, 24 - cmp r0, 0 - bne _080AD6E8 - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r1, 0x10 - bl Sin - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - ldrh r2, [r4, 0x38] - adds r0, r2, 0x4 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x38] - lsls r2, 16 - asrs r2, 16 - cmp r2, 0 - beq _080AD6C6 - cmp r2, 0xC4 - ble _080AD6EE -_080AD6C6: - lsls r0, 16 - cmp r0, 0 - ble _080AD6EE - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080AD6EE - ldr r0, _080AD6E4 @ =gUnknown_2037F24 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x89 - bl PlaySE12WithPanning - b _080AD6EE - .align 2, 0 -_080AD6E4: .4byte gUnknown_2037F24 -_080AD6E8: - adds r0, r4, 0 - bl DestroyAnimSprite -_080AD6EE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD690 - - thumb_func_start sub_80AD6F4 -sub_80AD6F4: @ 80AD6F4 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080AD70C - ldr r0, _080AD778 @ =gBattleAnimArgs - ldrh r0, [r0] - strh r0, [r4, 0x30] - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] -_080AD70C: - movs r0, 0xC0 - lsls r0, 1 - adds r1, r0, 0 - ldrh r2, [r4, 0x34] - adds r1, r2 - strh r1, [r4, 0x34] - ldrh r0, [r4, 0x36] - adds r0, 0xA0 - strh r0, [r4, 0x36] - movs r2, 0x30 - ldrsh r0, [r4, r2] - lsls r1, 16 - asrs r1, 24 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - ldrh r1, [r4, 0x36] - lsls r1, 16 - asrs r1, 24 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x7 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _080AD7A8 - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x83 - bls _080AD780 - ldr r0, _080AD77C @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSpriteBGPriority - 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 _080AD7C4 - .align 2, 0 -_080AD778: .4byte gBattleAnimArgs -_080AD77C: .4byte gBattleAnimTarget -_080AD780: - ldr r0, _080AD7A4 @ =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSpriteBGPriority - 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] - b _080AD7C4 - .align 2, 0 -_080AD7A4: .4byte gBattleAnimTarget -_080AD7A8: - ldrh r0, [r4, 0x30] - subs r0, 0x40 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x83 - bls _080AD7BC - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1D - b _080AD7C2 -_080AD7BC: - adds r1, r4, 0 - adds r1, 0x43 - movs r0, 0x1F -_080AD7C2: - strb r0, [r1] -_080AD7C4: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _080AD7EC - 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] -_080AD7EC: - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x1E - bne _080AD7FA - adds r0, r4, 0 - bl DestroyAnimSprite -_080AD7FA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80AD6F4 - - thumb_func_start sub_80AD800 -sub_80AD800: @ 80AD800 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080AD860 @ =gTasks - adds r4, r1, r0 - ldr r0, _080AD864 @ =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _080AD826 - movs r1, 0x1 -_080AD826: - strh r1, [r4, 0x20] - ldr r0, _080AD868 @ =gBattleAnimTarget - ldrb r1, [r0] - movs r0, 0x2 - eors r0, r1 - bl IsBattlerSpriteVisible - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x1 - strh r0, [r4, 0x22] - movs r0, 0x1 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x24] - movs r0, 0x3 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x26] - ldr r0, _080AD86C @ =sub_80AD870 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AD860: .4byte gTasks -_080AD864: .4byte gBattleAnimAttacker -_080AD868: .4byte gBattleAnimTarget -_080AD86C: .4byte sub_80AD870 - thumb_func_end sub_80AD800 - - thumb_func_start sub_80AD870 -sub_80AD870: @ 80AD870 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080AD894 @ =gTasks - adds r2, r0, r1 - movs r0, 0x8 - ldrsh r3, [r2, r0] - cmp r3, 0x1 - beq _080AD938 - cmp r3, 0x1 - bgt _080AD898 - cmp r3, 0 - beq _080AD8A6 - b _080ADA98 - .align 2, 0 -_080AD894: .4byte gTasks -_080AD898: - cmp r3, 0x2 - bne _080AD89E - b _080AD9C0 -_080AD89E: - cmp r3, 0x3 - bne _080AD8A4 - b _080ADA54 -_080AD8A4: - b _080ADA98 -_080AD8A6: - movs r1, 0x20 - ldrsh r0, [r2, r1] - lsls r0, 1 - ldrh r5, [r2, 0x1C] - adds r0, r5 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AD8D8 - strh r3, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD8D4 - movs r0, 0x2 - b _080AD8D6 -_080AD8D4: - ldr r0, _080AD930 @ =0x0000fffe -_080AD8D6: - strh r0, [r2, 0x1E] -_080AD8D8: - movs r1, 0 - strh r1, [r2, 0xE] - movs r7, 0x22 - ldrsh r0, [r2, r7] - cmp r1, r0 - bge _080AD91A - ldr r4, _080AD934 @ =gSprites - adds r3, r2, 0 - adds r3, 0x8 -_080AD8EA: - movs r1, 0xE - ldrsh r0, [r2, r1] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r5, 0 - ldrsh r0, [r0, r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r2, 0x1E] - ldrh r7, [r2, 0x1C] - adds r0, r7 - strh r0, [r1, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r5, 0x22 - ldrsh r1, [r2, r5] - cmp r0, r1 - blt _080AD8EA -_080AD91A: - ldrh r0, [r2, 0x1A] - adds r0, 0x1 - strh r0, [r2, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - beq _080AD92A - b _080ADA98 -_080AD92A: - movs r0, 0 - strh r0, [r2, 0x1A] - b _080ADA44 - .align 2, 0 -_080AD930: .4byte 0x0000fffe -_080AD934: .4byte gSprites -_080AD938: - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _080AD960 - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - ands r0, r3 - lsls r0, 16 - cmp r0, 0 - beq _080AD95C - movs r0, 0x2 - b _080AD95E -_080AD95C: - ldr r0, _080AD9B8 @ =0x0000fffe -_080AD95E: - strh r0, [r2, 0x1E] -_080AD960: - movs r1, 0 - strh r1, [r2, 0xE] - movs r7, 0x22 - ldrsh r0, [r2, r7] - cmp r1, r0 - bge _080AD9A2 - ldr r4, _080AD9BC @ =gSprites - adds r3, r2, 0 - adds r3, 0x8 -_080AD972: - movs r1, 0xE - ldrsh r0, [r2, r1] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r5, 0 - ldrsh r0, [r0, r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r2, 0x1E] - ldrh r7, [r2, 0x1C] - adds r0, r7 - strh r0, [r1, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r5, 0x22 - ldrsh r1, [r2, r5] - cmp r0, r1 - blt _080AD972 -_080AD9A2: - ldrh r0, [r2, 0x1A] - adds r0, 0x1 - strh r0, [r2, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x60 - bne _080ADA98 - movs r0, 0 - strh r0, [r2, 0x1A] - b _080ADA44 - .align 2, 0 -_080AD9B8: .4byte 0x0000fffe -_080AD9BC: .4byte gSprites -_080AD9C0: - movs r7, 0x20 - ldrsh r1, [r2, r7] - lsls r1, 1 - ldrh r0, [r2, 0x1C] - subs r0, r1 - strh r0, [r2, 0x1C] - ldrh r0, [r2, 0xA] - adds r0, 0x1 - strh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _080AD9F4 - movs r0, 0 - strh r0, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080AD9F0 - strh r3, [r2, 0x1E] - b _080AD9F4 -_080AD9F0: - ldr r0, _080ADA4C @ =0x0000fffe - strh r0, [r2, 0x1E] -_080AD9F4: - movs r1, 0 - strh r1, [r2, 0xE] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _080ADA36 - ldr r4, _080ADA50 @ =gSprites - adds r3, r2, 0 - adds r3, 0x8 -_080ADA06: - movs r5, 0xE - ldrsh r0, [r2, r5] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r7, 0 - ldrsh r0, [r0, r7] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r2, 0x1E] - ldrh r5, [r2, 0x1C] - adds r0, r5 - strh r0, [r1, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r7, 0x22 - ldrsh r1, [r2, r7] - cmp r0, r1 - blt _080ADA06 -_080ADA36: - ldrh r0, [r2, 0x1A] - adds r0, 0x1 - strh r0, [r2, 0x1A] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _080ADA98 -_080ADA44: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _080ADA98 - .align 2, 0 -_080ADA4C: .4byte 0x0000fffe -_080ADA50: .4byte gSprites -_080ADA54: - movs r1, 0 - strh r1, [r2, 0xE] - movs r3, 0x22 - ldrsh r0, [r2, r3] - cmp r1, r0 - bge _080ADA92 - ldr r6, _080ADAA0 @ =gSprites - adds r3, r2, 0 - adds r3, 0x8 - movs r5, 0 -_080ADA68: - movs r7, 0xE - ldrsh r0, [r2, r7] - adds r0, 0xE - lsls r0, 1 - adds r0, r3, r0 - movs r7, 0 - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - strh r5, [r0, 0x24] - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r7, 0x22 - ldrsh r1, [r2, r7] - cmp r0, r1 - blt _080ADA68 -_080ADA92: - adds r0, r4, 0 - bl DestroyAnimVisualTask -_080ADA98: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ADAA0: .4byte gSprites - thumb_func_end sub_80AD870 - - thumb_func_start sub_80ADAA4 -sub_80ADAA4: @ 80ADAA4 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r0, sp - bl sub_80752A0 - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 4 - ldr r1, _080ADAD4 @ =gBattleAnimArgs - ldrb r2, [r1] - ldrh r3, [r1, 0x2] - movs r1, 0x10 - bl BlendPalette - adds r0, r4, 0 - bl DestroyAnimVisualTask - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ADAD4: .4byte gBattleAnimArgs - thumb_func_end sub_80ADAA4 - - thumb_func_start sub_80ADAD8 -sub_80ADAD8: @ 80ADAD8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _080ADB30 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r2, r0, r1 - movs r3, 0x8 - ldrsh r0, [r2, r3] - mov r9, r1 - ldr r4, _080ADB34 @ =gBattleAnimArgs - mov r8, r4 - cmp r0, 0 - bne _080ADB0E - ldrh r0, [r4] - strh r0, [r2, 0xA] - ldrh r0, [r4, 0x2] - strh r0, [r2, 0xC] - ldrh r0, [r4, 0x4] - strh r0, [r2, 0xE] - ldrh r0, [r4, 0x6] - strh r0, [r2, 0x10] -_080ADB0E: - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - ldr r1, _080ADB38 @ =gBattlerSpriteIds - ldr r0, _080ADB3C @ =gBattleAnimTarget - ldrb r0, [r0] - adds r0, r1 - ldrb r6, [r0] - movs r5, 0x10 - ldrsh r0, [r2, r5] - cmp r0, 0 - bne _080ADB44 - ldr r4, _080ADB40 @ =gUnknown_83E5EFC - movs r1, 0x8 - ldrsh r0, [r2, r1] - b _080ADB4A - .align 2, 0 -_080ADB30: .4byte gTasks -_080ADB34: .4byte gBattleAnimArgs -_080ADB38: .4byte gBattlerSpriteIds -_080ADB3C: .4byte gBattleAnimTarget -_080ADB40: .4byte gUnknown_83E5EFC -_080ADB44: - ldr r4, _080ADB90 @ =gUnknown_83E5F0C - movs r3, 0x8 - ldrsh r0, [r2, r3] -_080ADB4A: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - asrs r0, 16 - adds r0, r4 - ldrb r5, [r0] - lsls r0, r7, 2 - adds r1, r0, r7 - lsls r1, 3 - add r1, r9 - movs r4, 0xE - ldrsh r1, [r1, r4] - mov r12, r0 - cmp r1, 0x1 - bne _080ADB98 - ldr r2, _080ADB94 @ =gSprites - lsls r3, r6, 4 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - mov r10, r0 - mov r0, r8 - movs r4, 0x2 - ldrsh r1, [r0, r4] - lsls r0, r5, 24 - asrs r0, 24 - muls r0, r1 - cmp r0, 0 - bge _080ADB88 - negs r0, r0 -_080ADB88: - mov r5, r10 - strh r0, [r5, 0x26] - b _080ADBB2 - .align 2, 0 -_080ADB90: .4byte gUnknown_83E5F0C -_080ADB94: .4byte gSprites -_080ADB98: - ldr r3, _080ADBE8 @ =gSprites - lsls r4, r6, 4 - adds r2, r4, r6 - lsls r2, 2 - adds r2, r3 - lsls r0, r5, 24 - asrs r0, 24 - mov r5, r8 - ldrh r1, [r5, 0x2] - muls r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 -_080ADBB2: - mov r1, r12 - adds r0, r1, r7 - lsls r0, 3 - add r0, r9 - movs r4, 0x8 - ldrsh r1, [r0, r4] - movs r5, 0xA - ldrsh r0, [r0, r5] - cmp r1, r0 - bne _080ADBD8 - adds r0, r3, r6 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r0, 0x26] - adds r0, r7, 0 - bl DestroyAnimVisualTask -_080ADBD8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080ADBE8: .4byte gSprites - thumb_func_end sub_80ADAD8 - - .align 2, 0 @ Don't pad with nop. |