summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_anim_80A5C6C.s6526
-rw-r--r--asm/battle_anim_80A9C70.s930
-rw-r--r--asm/battle_anim_80D51AC.s2446
-rw-r--r--asm/battle_anim_80FE840.s236
-rw-r--r--asm/battle_anim_815A0D4.s18
-rw-r--r--asm/battle_anim_8170478.s6
6 files changed, 130 insertions, 10032 deletions
diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s
deleted file mode 100644
index 320bbef20..000000000
--- a/asm/battle_anim_80A5C6C.s
+++ /dev/null
@@ -1,6526 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetBattlerSpriteCoord
-GetBattlerSpriteCoord: @ 80A5C6C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A5C8A
- cmp r4, 0x3
- bne _080A5C8A
- cmp r5, 0x3
- bne _080A5C8A
- movs r4, 0x1
-_080A5C8A:
- cmp r4, 0x4
- bhi _080A5D00
- lsls r0, r4, 2
- ldr r1, =_080A5C9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080A5C9C:
- .4byte _080A5CB0
- .4byte _080A5CD8
- .4byte _080A5CB0
- .4byte _080A5D00
- .4byte _080A5D00
-_080A5CB0:
- ldr r4, =gUnknown_08525F58
- adds r0, r5, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gBattleTypeFlags
- ldr r1, [r1]
- movs r2, 0x1
- ands r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- b _080A5DB0
- .pool
-_080A5CD8:
- ldr r4, =gUnknown_08525F58
- adds r0, r5, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gBattleTypeFlags
- ldr r1, [r1]
- movs r2, 0x1
- ands r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1]
- b _080A5DB0
- .pool
-_080A5D00:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A5D28
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrb r1, [r2, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A5D24
- ldrh r1, [r2, 0x2]
- b _080A5D9A
- .pool
-_080A5D24:
- ldrh r1, [r2]
- b _080A5D9A
-_080A5D28:
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A5D60
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A5D98
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _080A5D7E
- .pool
-_080A5D60:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A5D98
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_080A5D7E:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- b _080A5D9A
- .pool
-_080A5D98:
- ldrh r1, [r1, 0x2]
-_080A5D9A:
- cmp r4, 0x3
- bne _080A5DA4
- adds r0, r5, 0
- movs r2, 0x1
- b _080A5DA8
-_080A5DA4:
- adds r0, r5, 0
- movs r2, 0
-_080A5DA8:
- bl sub_80A600C
- lsls r0, 24
- lsrs r0, 24
-_080A5DB0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetBattlerSpriteCoord
-
- thumb_func_start sub_80A5DB8
-sub_80A5DB8: @ 80A5DB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A5DDA
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A5DDA
- b _080A5EC8
-_080A5DDA:
- cmp r5, 0xC9
- bne _080A5E90
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A5E04
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrb r1, [r2, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A5E00
- ldr r2, [r2, 0x10]
- b _080A5E42
- .pool
-_080A5E00:
- ldr r2, [r2, 0x8]
- b _080A5E42
-_080A5E04:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- bne _080A5E3C
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080A5E42
- .pool
-_080A5E3C:
- ldr r0, =gTransformedPersonalities
- adds r0, r1, r0
- ldr r2, [r0]
-_080A5E42:
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A5E7C
- adds r0, r5, 0
- b _080A5E86
- .pool
-_080A5E7C:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A5E86:
- ldr r1, =gUnknown_083021D8
- lsls r0, 2
- b _080A5F90
- .pool
-_080A5E90:
- ldr r0, =0x00000181
- cmp r5, r0
- bne _080A5EB0
- ldr r0, =gUnknown_08525F8C
- ldr r1, =gBattleMonForms
- adds r1, r4, r1
- ldrb r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- b _080A5F94
- .pool
-_080A5EB0:
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- bls _080A5EC0
- ldr r0, =gUnknown_083021D8
- b _080A5F92
- .pool
-_080A5EC0:
- ldr r1, =gUnknown_083021D8
- b _080A5F8E
- .pool
-_080A5EC8:
- cmp r5, 0xC9
- bne _080A5F58
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- bne _080A5F04
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080A5F0A
- .pool
-_080A5F04:
- ldr r0, =gTransformedPersonalities
- adds r0, r1, r0
- ldr r2, [r0]
-_080A5F0A:
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A5F44
- adds r0, r5, 0
- b _080A5F4E
- .pool
-_080A5F44:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A5F4E:
- ldr r1, =gMonFrontPicCoords
- lsls r0, 2
- b _080A5F90
- .pool
-_080A5F58:
- ldr r0, =0x00000181
- cmp r5, r0
- bne _080A5F7C
- ldr r0, =gCastformFrontSpriteCoords
- ldr r1, =gBattleMonForms
- adds r1, r4, r1
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- b _080A5F94
- .pool
-_080A5F7C:
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- bls _080A5F8C
- ldr r0, =gMonFrontPicCoords
- b _080A5F92
- .pool
-_080A5F8C:
- ldr r1, =gMonFrontPicCoords
-_080A5F8E:
- lsls r0, r5, 2
-_080A5F90:
- adds r0, r1
-_080A5F92:
- ldrb r0, [r0, 0x1]
-_080A5F94:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A5DB8
-
- thumb_func_start sub_80A5FA0
-sub_80A5FA0: @ 80A5FA0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- adds r7, r4, 0
- movs r5, 0
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5FFE
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A5FFE
- ldr r0, =0x00000181
- cmp r4, r0
- bne _080A5FE8
- ldr r0, =gUnknown_08525F88
- ldr r1, =gBattleMonForms
- adds r1, r6, r1
- ldrb r1, [r1]
- adds r1, r0
- ldrb r5, [r1]
- b _080A5FFE
- .pool
-_080A5FE8:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _080A5FF8
- ldr r0, =gEnemyMonElevation
- b _080A5FFC
- .pool
-_080A5FF8:
- ldr r0, =gEnemyMonElevation
- adds r0, r7, r0
-_080A5FFC:
- ldrb r5, [r0]
-_080A5FFE:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A5FA0
-
- thumb_func_start sub_80A600C
-sub_80A600C: @ 80A600C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 24
- lsrs r7, r2, 24
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A6030
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A603E
-_080A6030:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80A5DB8
- lsls r0, 24
- lsrs r4, r0, 24
- b _080A605C
-_080A603E:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80A5DB8
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80A5FA0
- lsls r0, 24
- lsrs r0, 24
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
-_080A605C:
- adds r0, r6, 0
- bl GetBattlerPosition
- ldr r3, =gUnknown_08525F58
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gBattleTypeFlags
- ldr r1, [r1]
- movs r2, 0x1
- ands r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, r4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r7, 0
- beq _080A609C
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A6096
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080A6096:
- cmp r4, 0x68
- bls _080A609C
- movs r4, 0x68
-_080A609C:
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A600C
-
- thumb_func_start sub_80A60AC
-sub_80A60AC: @ 80A60AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0xFD
- lsls r0, 24
- adds r1, r0
- lsrs r1, 24
- cmp r1, 0x1
- bhi _080A6126
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A60E8
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrb r1, [r2, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A60E4
- ldrh r1, [r2, 0x2]
- b _080A610E
- .pool
-_080A60E4:
- ldrh r1, [r2]
- b _080A610E
-_080A60E8:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r4, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A610C
- ldr r1, =gAnimBattlerSpecies
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- b _080A610E
- .pool
-_080A610C:
- ldrh r1, [r1, 0x2]
-_080A610E:
- cmp r5, 0x3
- bne _080A611C
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_80A600C
- b _080A612E
-_080A611C:
- adds r0, r4, 0
- movs r2, 0
- bl sub_80A600C
- b _080A612E
-_080A6126:
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBattlerSpriteCoord
-_080A612E:
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A60AC
-
- thumb_func_start GetBattlerSpriteDefault_Y
-GetBattlerSpriteDefault_Y: @ 80A6138
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x4
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetBattlerSpriteDefault_Y
-
- thumb_func_start GetSubstituteSpriteDefault_Y
-GetSubstituteSpriteDefault_Y: @ 80A614C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A6170
- adds r0, r4, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0x80
- lsls r1, 13
- b _080A6180
-_080A6170:
- adds r0, r4, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0x88
- lsls r1, 13
-_080A6180:
- adds r0, r1
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetSubstituteSpriteDefault_Y
-
- thumb_func_start sub_80A6190
-sub_80A6190: @ 80A6190
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A6238
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A61E4
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A621C
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _080A6202
- .pool
-_080A61E4:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A621C
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_080A6202:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- b _080A621E
- .pool
-_080A621C:
- ldrh r4, [r1, 0x2]
-_080A621E:
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A6238
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A5FA0
- subs r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
-_080A6238:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A6190
-
- thumb_func_start GetAnimBattlerSpriteId
-GetAnimBattlerSpriteId: @ 80A6240
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- bne _080A6268
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl IsBattlerSpritePresent
- lsls r0, 24
- cmp r0, 0
- beq _080A62B6
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r4]
- b _080A62C6
- .pool
-_080A6268:
- cmp r0, 0x1
- bne _080A6288
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- bl IsBattlerSpritePresent
- lsls r0, 24
- cmp r0, 0
- beq _080A62B6
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r4]
- b _080A62C6
- .pool
-_080A6288:
- cmp r1, 0x2
- bne _080A62A4
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A62B6
- b _080A62C0
- .pool
-_080A62A4:
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _080A62C0
-_080A62B6:
- movs r0, 0xFF
- b _080A62CA
- .pool
-_080A62C0:
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r5]
- eors r0, r4
-_080A62C6:
- adds r0, r1
- ldrb r0, [r0]
-_080A62CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetAnimBattlerSpriteId
-
- thumb_func_start StoreSpriteCallbackInData6
-StoreSpriteCallbackInData6: @ 80A62D4
- strh r1, [r0, 0x3A]
- lsrs r1, 16
- strh r1, [r0, 0x3C]
- bx lr
- thumb_func_end StoreSpriteCallbackInData6
-
- thumb_func_start sub_80A62DC
-sub_80A62DC: @ 80A62DC
- ldrh r2, [r0, 0x3A]
- movs r3, 0x3C
- ldrsh r1, [r0, r3]
- lsls r1, 16
- orrs r2, r1
- str r2, [r0, 0x1C]
- bx lr
- thumb_func_end sub_80A62DC
-
- thumb_func_start sub_80A62EC
-sub_80A62EC: @ 80A62EC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A6340
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A632C
- ldr r2, =0xffffff00
- b _080A6334
- .pool
-_080A632C:
- cmp r0, 0
- bge _080A6338
- movs r2, 0x80
- lsls r2, 1
-_080A6334:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_080A6338:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _080A6346
-_080A6340:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A6346:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A62EC
-
- thumb_func_start sub_80A634C
-sub_80A634C: @ 80A634C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A63BC
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- 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 _080A63A8
- ldr r2, =0xffffff00
- b _080A63B0
- .pool
-_080A63A8:
- cmp r0, 0
- bge _080A63B4
- movs r2, 0x80
- lsls r2, 1
-_080A63B0:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_080A63B4:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _080A63C2
-_080A63BC:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A63C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A634C
-
- thumb_func_start sub_80A63C8
-sub_80A63C8: @ 80A63C8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A6444
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- 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, 0x38]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A6410
- ldr r2, =0xffffff00
- b _080A6418
- .pool
-_080A6410:
- cmp r0, 0
- bge _080A641C
- movs r2, 0x80
- lsls r2, 1
-_080A6418:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_080A641C:
- ldrh r1, [r4, 0x36]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0xFF
- ble _080A6430
- ldr r2, =0xffffff00
- b _080A6438
- .pool
-_080A6430:
- cmp r0, 0
- bge _080A643C
- movs r2, 0x80
- lsls r2, 1
-_080A6438:
- adds r0, r1, r2
- strh r0, [r4, 0x36]
-_080A643C:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _080A644A
-_080A6444:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A644A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A63C8
-
- thumb_func_start sub_80A6450
-sub_80A6450: @ 80A6450
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A64A4
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A6490
- ldr r2, =0xffffff00
- b _080A6498
- .pool
-_080A6490:
- cmp r0, 0
- bge _080A649C
- movs r2, 0x80
- lsls r2, 1
-_080A6498:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_080A649C:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _080A64AA
-_080A64A4:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A64AA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6450
-
- thumb_func_start sub_80A64B0
-sub_80A64B0: @ 80A64B0
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080A64C4
- subs r0, r2, 0x1
- strh r0, [r1, 0x2E]
- b _080A64CA
-_080A64C4:
- adds r0, r1, 0
- bl sub_80A62DC
-_080A64CA:
- pop {r0}
- bx r0
- thumb_func_end sub_80A64B0
-
- thumb_func_start sub_80A64D0
-sub_80A64D0: @ 80A64D0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A64EC
- ldr r1, =sub_80A653C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A64D0
-
- thumb_func_start sub_80A64EC
-sub_80A64EC: @ 80A64EC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r1, r0
- ble _080A6502
- ldrh r0, [r4, 0x2E]
- negs r0, r0
- strh r0, [r4, 0x2E]
-_080A6502:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- subs r0, r1
- ldrh r5, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- cmp r0, 0
- bge _080A651C
- negs r0, r0
-_080A651C:
- strh r0, [r4, 0x2E]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- subs r0, r1
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x30]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A64EC
-
- thumb_func_start sub_80A653C
-sub_80A653C: @ 80A653C
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080A6560
- subs r0, r2, 0x1
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x30]
- ldrh r2, [r1, 0x24]
- adds r0, r2
- strh r0, [r1, 0x24]
- ldrh r0, [r1, 0x32]
- ldrh r3, [r1, 0x26]
- adds r0, r3
- strh r0, [r1, 0x26]
- b _080A6566
-_080A6560:
- adds r0, r1, 0
- bl sub_80A62DC
-_080A6566:
- pop {r0}
- bx r0
- thumb_func_end sub_80A653C
-
- thumb_func_start sub_80A656C
-sub_80A656C: @ 80A656C
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _080A659C
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r0, r1
- strh r0, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- ldrh r3, [r2, 0x36]
- adds r1, r3
- strh r1, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r2, 0x26]
- b _080A65A2
-_080A659C:
- adds r0, r2, 0
- bl sub_80A62DC
-_080A65A2:
- pop {r0}
- bx r0
- thumb_func_end sub_80A656C
-
- thumb_func_start sub_80A65A8
-sub_80A65A8: @ 80A65A8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A65D8
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r1, r2
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r4, 0x26]
- b _080A65DE
-_080A65D8:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A65DE:
- adds r0, r4, 0
- bl UpdateMonIconFrame
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A65A8
-
- thumb_func_start sub_80A65EC
-sub_80A65EC: @ 80A65EC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A64D0
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A65EC
-
- thumb_func_start sub_80A6630
-sub_80A6630: @ 80A6630
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _080A6674
- subs r0, r1, 0x1
- strh r0, [r3, 0x2E]
- ldr r2, =gSprites
- movs r4, 0x34
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x30]
- ldrh r4, [r0, 0x24]
- adds r1, r4
- strh r1, [r0, 0x24]
- movs r0, 0x34
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x32]
- ldrh r2, [r0, 0x26]
- adds r1, r2
- strh r1, [r0, 0x26]
- b _080A667A
- .pool
-_080A6674:
- adds r0, r3, 0
- bl sub_80A62DC
-_080A667A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6630
-
- thumb_func_start sub_80A6680
-sub_80A6680: @ 80A6680
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A66D0
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- adds r1, r0
- strh r1, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- ldr r3, =gSprites
- movs r0, 0x38
- ldrsh r2, [r4, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- lsls r1, 16
- asrs r1, 24
- strh r1, [r0, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r1, 0x26]
- b _080A66D6
- .pool
-_080A66D0:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A66D6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6680
-
- thumb_func_start sub_80A66DC
-sub_80A66DC: @ 80A66DC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A673E
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r1, r0
- strh r1, [r4, 0x32]
- ldrh r1, [r4, 0x36]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r1, r0
- strh r1, [r4, 0x36]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _080A6744
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A6744
- 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]
- b _080A6744
-_080A673E:
- adds r0, r4, 0
- bl sub_80A62DC
-_080A6744:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A66DC
-
- thumb_func_start move_anim_8074EE0
-move_anim_8074EE0: @ 80A674C
- push {r4,lr}
- adds r4, r0, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end move_anim_8074EE0
-
- thumb_func_start sub_80A6760
-sub_80A6760: @ 80A6760
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A64D0
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6760
-
- thumb_func_start sub_80A67A4
-sub_80A67A4: @ 80A67A4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- bl ResetPaletteStructByUid
- adds r0, r4, 0
- bl move_anim_8074EE0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A67A4
-
- thumb_func_start sub_80A67BC
-sub_80A67BC: @ 80A67BC
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080A67D2
- adds r0, r2, 0
- bl sub_80A62DC
-_080A67D2:
- pop {r0}
- bx r0
- thumb_func_end sub_80A67BC
-
- thumb_func_start sub_80A67D8
-sub_80A67D8: @ 80A67D8
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080A67EE
- adds r0, r2, 0
- bl sub_80A62DC
-_080A67EE:
- pop {r0}
- bx r0
- thumb_func_end sub_80A67D8
-
- thumb_func_start sub_80A67F4
-sub_80A67F4: @ 80A67F4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A67F4
-
- thumb_func_start sub_80A6814
-sub_80A6814: @ 80A6814
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6814
-
- thumb_func_start sub_80A6838
-sub_80A6838: @ 80A6838
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6838
-
- thumb_func_start sub_80A6864
-sub_80A6864: @ 80A6864
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- mov r8, r5
- ldr r7, =gBattleAnimAttacker
- ldrb r0, [r7]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bhi _080A68B0
- cmp r6, r0
- bcs _080A68A4
- lsls r0, r5, 16
- b _080A68C0
- .pool
-_080A68A4:
- ldrb r0, [r7]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A68BC
-_080A68B0:
- ldrh r1, [r4, 0x20]
- lsls r0, r5, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r4, 0x20]
- b _080A68C8
-_080A68BC:
- mov r1, r8
- lsls r0, r1, 16
-_080A68C0:
- asrs r0, 16
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
-_080A68C8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6864
-
- thumb_func_start sub_80A68D4
-sub_80A68D4: @ 80A68D4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- movs r5, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- strh r0, [r4, 0x3A]
- strh r5, [r4, 0x3C]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A68D4
-
- thumb_func_start AnimateBallThrow
-AnimateBallThrow: @ 80A6900
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6F3C
- lsls r0, 24
- cmp r0, 0
- bne _080A692C
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- lsrs r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r0, 0
- b _080A692E
-_080A692C:
- movs r0, 0x1
-_080A692E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end AnimateBallThrow
-
- thumb_func_start sub_80A6934
-sub_80A6934: @ 80A6934
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6F3C
- lsls r0, 24
- cmp r0, 0
- bne _080A6960
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- lsrs r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r0, 0
- b _080A6962
-_080A6960:
- movs r0, 0x1
-_080A6962:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A6934
-
- thumb_func_start oamt_add_pos2_onto_pos1
-oamt_add_pos2_onto_pos1: @ 80A6968
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- movs r2, 0
- strh r1, [r0, 0x20]
- ldrh r1, [r0, 0x26]
- ldrh r3, [r0, 0x22]
- adds r1, r3
- strh r1, [r0, 0x22]
- strh r2, [r0, 0x24]
- strh r2, [r0, 0x26]
- bx lr
- thumb_func_end oamt_add_pos2_onto_pos1
-
- thumb_func_start sub_80A6980
-sub_80A6980: @ 80A6980
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- cmp r1, 0
- bne _080A69A8
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_080A69A8:
- ldr r4, =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_80A6864
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6980
-
- thumb_func_start sub_80A69CC
-sub_80A69CC: @ 80A69CC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- cmp r1, 0
- bne _080A69F0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- b _080A6A04
- .pool
-_080A69F0:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
-_080A6A04:
- bl sub_80A60AC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r4, =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_80A6864
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A69CC
-
- thumb_func_start GetBattlerSide
-GetBattlerSide: @ 80A6A30
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattlerPositions
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end GetBattlerSide
-
- thumb_func_start GetBattlerPosition
-GetBattlerPosition: @ 80A6A44
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattlerPositions
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetBattlerPosition
-
- thumb_func_start GetBattlerAtPosition
-GetBattlerAtPosition: @ 80A6A54
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- ldr r0, =gBattlersCount
- ldrb r2, [r0]
- cmp r1, r2
- bcs _080A6A7E
- ldr r4, =gBattlerPositions
- ldrb r0, [r4]
- cmp r0, r3
- beq _080A6A7E
-_080A6A6C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _080A6A7E
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _080A6A6C
-_080A6A7E:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBattlerAtPosition
-
- thumb_func_start IsBattlerSpritePresent
-IsBattlerSpritePresent: @ 80A6A90
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A6ABC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- cmp r0, r4
- beq _080A6B0A
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- cmp r0, r4
- beq _080A6B0A
- b _080A6B18
- .pool
-_080A6ABC:
- ldr r0, =gBattlerPositions
- adds r0, r4, r0
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080A6B18
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A6AF0
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _080A6AFE
- .pool
-_080A6AF0:
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_080A6AFE:
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080A6B18
-_080A6B0A:
- movs r0, 0x1
- b _080A6B1A
- .pool
-_080A6B18:
- movs r0, 0
-_080A6B1A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end IsBattlerSpritePresent
-
- thumb_func_start IsDoubleBattle
-IsDoubleBattle: @ 80A6B20
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end IsDoubleBattle
-
- thumb_func_start sub_80A6B30
-sub_80A6B30: @ 80A6B30
- push {r4,lr}
- adds r4, r0, 0
- bl IsContest
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080A6B64
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- movs r1, 0
- movs r0, 0xE
- strb r0, [r4, 0x8]
- movs r0, 0x1
- strb r0, [r4, 0x9]
- strh r1, [r4, 0xA]
- b _080A6B7E
- .pool
-_080A6B64:
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- movs r0, 0x8
- strb r0, [r4, 0x8]
- movs r0, 0x1
- strb r0, [r4, 0x9]
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r4, 0xA]
-_080A6B7E:
- strh r1, [r4, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6B30
-
- thumb_func_start sub_80A6B90
-sub_80A6B90: @ 80A6B90
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl IsContest
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080A6BC4
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- movs r1, 0
- movs r0, 0xE
- strb r0, [r4, 0x8]
- movs r0, 0x1
- strb r0, [r4, 0x9]
- strh r1, [r4, 0xA]
- b _080A6BEA
- .pool
-_080A6BC4:
- cmp r5, 0x1
- bne _080A6BD0
- adds r0, r4, 0
- bl sub_80A6B30
- b _080A6BEC
-_080A6BD0:
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- movs r0, 0x9
- strb r0, [r4, 0x8]
- movs r0, 0x2
- strb r0, [r4, 0x9]
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r4, 0xA]
-_080A6BEA:
- strh r1, [r4, 0xC]
-_080A6BEC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6B90
-
- thumb_func_start sub_80A6BFC
-sub_80A6BFC: @ 80A6BFC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_0202305C
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, =gUnknown_02023060
- ldr r0, [r0]
- str r0, [r4, 0x4]
- bl IsContest
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080A6C30
- movs r0, 0
- movs r1, 0xE
- strb r1, [r4, 0x8]
- movs r1, 0x1
- strb r1, [r4, 0x9]
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- b _080A6C60
- .pool
-_080A6C30:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080A6C50
- movs r0, 0x8
- strb r0, [r4, 0x8]
- strb r1, [r4, 0x9]
- movs r0, 0x80
- lsls r0, 2
- b _080A6C5C
- .pool
-_080A6C50:
- movs r0, 0x9
- strb r0, [r4, 0x8]
- movs r0, 0x2
- strb r0, [r4, 0x9]
- movs r0, 0xC0
- lsls r0, 2
-_080A6C5C:
- strh r0, [r4, 0xA]
- strh r5, [r4, 0xC]
-_080A6C60:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6BFC
-
- thumb_func_start sub_80A6C68
-sub_80A6C68: @ 80A6C68
- push {lr}
- sub sp, 0x20
- adds r1, r0, 0
- add r0, sp, 0xC
- bl sub_80A6B90
- movs r0, 0
- str r0, [sp, 0x1C]
- add r0, sp, 0x1C
- ldr r1, [sp, 0xC]
- ldr r2, =0x05000800
- bl CpuSet
- add r0, sp, 0xC
- ldrb r0, [r0, 0x9]
- ldr r1, [sp, 0xC]
- movs r2, 0x80
- lsls r2, 6
- add r3, sp, 0xC
- ldrh r3, [r3, 0xA]
- bl LoadBgTiles
- add r0, sp, 0xC
- ldrb r0, [r0, 0x9]
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0x40
- str r1, [sp, 0x4]
- movs r1, 0x11
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- add r0, sp, 0xC
- ldrb r0, [r0, 0x9]
- bl CopyBgTilemapBufferToVram
- add sp, 0x20
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6C68
-
- thumb_func_start sub_80A6CC0
-sub_80A6CC0: @ 80A6CC0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- mov r8, r1
- adds r6, r2, 0
- movs r0, 0
- str r0, [sp]
- ldr r4, =gUnknown_0202305C
- ldr r1, [r4]
- ldr r2, =0x05000800
- mov r0, sp
- bl CpuSet
- ldr r1, [r4]
- mov r0, r8
- bl LZDecompressWram
- lsls r5, 24
- lsrs r5, 24
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 6
- lsls r6, 16
- lsrs r6, 16
- adds r0, r5, 0
- adds r3, r6, 0
- bl LoadBgTiles
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6CC0
-
- thumb_func_start sub_80A6D10
-sub_80A6D10: @ 80A6D10
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x40
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6D10
-
- thumb_func_start sub_80A6D48
-sub_80A6D48: @ 80A6D48
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6D10
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl CopyBgTilemapBufferToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6D48
-
- thumb_func_start sub_80A6D60
-sub_80A6D60: @ 80A6D60
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- ldrb r0, [r4, 0x9]
- bl sub_80A6D10
- bl IsContest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6D86
- ldrb r0, [r4, 0x8]
- ldr r1, [r4, 0x4]
- lsls r3, r5, 24
- lsrs r3, 24
- movs r2, 0
- bl sub_80A4720
-_080A6D86:
- ldrb r0, [r4, 0x9]
- bl CopyBgTilemapBufferToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6D60
-
- thumb_func_start sub_80A6D94
-sub_80A6D94: @ 80A6D94
- push {lr}
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A6DA4
- movs r0, 0x2
- b _080A6DA6
-_080A6DA4:
- movs r0, 0x1
-_080A6DA6:
- pop {r1}
- bx r1
- thumb_func_end sub_80A6D94
-
- thumb_func_start sub_80A6DAC
-sub_80A6DAC: @ 80A6DAC
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _080A6DBE
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A6DD4
-_080A6DBE:
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl SetAnimBgAttribute
- b _080A6DE8
-_080A6DD4:
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl SetAnimBgAttribute
-_080A6DE8:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6DAC
-
- thumb_func_start sub_80A6DEC
-sub_80A6DEC: @ 80A6DEC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_80A6E14
- ldr r1, =sub_80A65A8
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6DEC
-
- thumb_func_start sub_80A6E14
-sub_80A6E14: @ 80A6E14
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x32]
- ldrh r1, [r5, 0x30]
- subs r0, r1
- ldrh r4, [r5, 0x36]
- ldrh r1, [r5, 0x34]
- subs r4, r1
- lsls r4, 24
- lsrs r4, 16
- lsls r0, 24
- asrs r0, 16
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- bl __divsi3
- movs r6, 0
- strh r0, [r5, 0x30]
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl __divsi3
- strh r0, [r5, 0x32]
- strh r6, [r5, 0x36]
- strh r6, [r5, 0x34]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6E14
-
- thumb_func_start obj_translate_based_on_private_1_2_3_4
-obj_translate_based_on_private_1_2_3_4: @ 80A6E54
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- movs r0, 0x32
- ldrsh r1, [r7, r0]
- movs r2, 0x30
- ldrsh r0, [r7, r2]
- subs r1, r0
- movs r3, 0x36
- ldrsh r2, [r7, r3]
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- subs r2, r0
- lsrs r0, r1, 31
- mov r8, r0
- lsrs r3, r2, 31
- mov r9, r3
- cmp r1, 0
- bge _080A6E80
- negs r1, r1
-_080A6E80:
- lsls r0, r1, 24
- lsrs r6, r0, 16
- adds r0, r2, 0
- cmp r0, 0
- bge _080A6E8C
- negs r0, r0
-_080A6E8C:
- lsls r0, 24
- lsrs r5, r0, 16
- movs r0, 0x2E
- ldrsh r4, [r7, r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, r8
- cmp r2, 0
- beq _080A6EB8
- movs r0, 0x1
- orrs r6, r0
- b _080A6EBC
-_080A6EB8:
- ldr r0, =0x0000fffe
- ands r6, r0
-_080A6EBC:
- mov r3, r9
- cmp r3, 0
- beq _080A6ECC
- movs r0, 0x1
- orrs r5, r0
- b _080A6ED0
- .pool
-_080A6ECC:
- ldr r0, =0x0000fffe
- ands r5, r0
-_080A6ED0:
- movs r0, 0
- strh r6, [r7, 0x30]
- strh r5, [r7, 0x32]
- strh r0, [r7, 0x36]
- strh r0, [r7, 0x34]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end obj_translate_based_on_private_1_2_3_4
-
- thumb_func_start sub_80A6EEC
-sub_80A6EEC: @ 80A6EEC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, =sub_80A6F98
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6EEC
-
- thumb_func_start sub_80A6F14
-sub_80A6F14: @ 80A6F14
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, =sub_80A6FB4
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A6F14
-
- thumb_func_start sub_80A6F3C
-sub_80A6F3C: @ 80A6F3C
- push {r4-r6,lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080A6F4C
- movs r0, 0x1
- b _080A6F90
-_080A6F4C:
- ldrh r1, [r2, 0x30]
- ldrh r4, [r2, 0x32]
- ldrh r6, [r2, 0x34]
- ldrh r5, [r2, 0x36]
- adds r0, r6, r1
- lsls r3, r0, 16
- lsrs r6, r3, 16
- adds r0, r5, r4
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080A6F6E
- lsrs r0, r3, 24
- negs r0, r0
- b _080A6F70
-_080A6F6E:
- lsrs r0, r3, 24
-_080A6F70:
- strh r0, [r2, 0x24]
- movs r0, 0x1
- ands r4, r0
- cmp r4, 0
- beq _080A6F80
- lsrs r0, r5, 8
- negs r0, r0
- b _080A6F82
-_080A6F80:
- lsrs r0, r5, 8
-_080A6F82:
- strh r0, [r2, 0x26]
- strh r6, [r2, 0x34]
- strh r5, [r2, 0x36]
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0
-_080A6F90:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A6F3C
-
- thumb_func_start sub_80A6F98
-sub_80A6F98: @ 80A6F98
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6F3C
- lsls r0, 24
- cmp r0, 0
- beq _080A6FAC
- adds r0, r4, 0
- bl sub_80A62DC
-_080A6FAC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6F98
-
- thumb_func_start sub_80A6FB4
-sub_80A6FB4: @ 80A6FB4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8039E9C
- adds r0, r4, 0
- bl sub_80A6F3C
- lsls r0, 24
- cmp r0, 0
- beq _080A6FCE
- adds r0, r4, 0
- bl sub_80A62DC
-_080A6FCE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6FB4
-
- thumb_func_start sub_80A6FD4
-sub_80A6FD4: @ 80A6FD4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- subs r0, r1, r0
- cmp r0, 0
- bge _080A6FE8
- negs r0, r0
-_080A6FE8:
- lsls r0, 8
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6FD4
-
- thumb_func_start sub_80A7000
-sub_80A7000: @ 80A7000
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_80A6FD4
- ldr r1, =sub_80A6F98
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7000
-
- thumb_func_start sub_80A7028
-sub_80A7028: @ 80A7028
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- movs r0, 0x32
- ldrsh r1, [r7, r0]
- movs r2, 0x30
- ldrsh r0, [r7, r2]
- subs r1, r0
- movs r3, 0x36
- ldrsh r2, [r7, r3]
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- subs r2, r0
- lsrs r0, r1, 31
- mov r8, r0
- lsrs r3, r2, 31
- mov r9, r3
- cmp r1, 0
- bge _080A7054
- negs r1, r1
-_080A7054:
- lsls r0, r1, 20
- lsrs r6, r0, 16
- adds r0, r2, 0
- cmp r0, 0
- bge _080A7060
- negs r0, r0
-_080A7060:
- lsls r0, 20
- lsrs r5, r0, 16
- movs r0, 0x2E
- ldrsh r4, [r7, r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, r8
- cmp r2, 0
- beq _080A708C
- movs r0, 0x1
- orrs r6, r0
- b _080A7090
-_080A708C:
- ldr r0, =0x0000fffe
- ands r6, r0
-_080A7090:
- mov r3, r9
- cmp r3, 0
- beq _080A70A0
- movs r0, 0x1
- orrs r5, r0
- b _080A70A4
- .pool
-_080A70A0:
- ldr r0, =0x0000fffe
- ands r5, r0
-_080A70A4:
- movs r0, 0
- strh r6, [r7, 0x30]
- strh r5, [r7, 0x32]
- strh r0, [r7, 0x36]
- strh r0, [r7, 0x34]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7028
-
- thumb_func_start sub_80A70C0
-sub_80A70C0: @ 80A70C0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_80A7028
- ldr r1, =sub_80A7144
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A70C0
-
- thumb_func_start sub_80A70E8
-sub_80A70E8: @ 80A70E8
- push {r4-r6,lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080A70F8
- movs r0, 0x1
- b _080A713C
-_080A70F8:
- ldrh r1, [r2, 0x30]
- ldrh r4, [r2, 0x32]
- ldrh r6, [r2, 0x34]
- ldrh r5, [r2, 0x36]
- adds r0, r6, r1
- lsls r3, r0, 16
- lsrs r6, r3, 16
- adds r0, r5, r4
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080A711A
- lsrs r0, r3, 20
- negs r0, r0
- b _080A711C
-_080A711A:
- lsrs r0, r3, 20
-_080A711C:
- strh r0, [r2, 0x24]
- movs r0, 0x1
- ands r4, r0
- cmp r4, 0
- beq _080A712C
- lsrs r0, r5, 4
- negs r0, r0
- b _080A712E
-_080A712C:
- lsrs r0, r5, 4
-_080A712E:
- strh r0, [r2, 0x26]
- strh r6, [r2, 0x34]
- strh r5, [r2, 0x36]
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0
-_080A713C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A70E8
-
- thumb_func_start sub_80A7144
-sub_80A7144: @ 80A7144
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A70E8
- lsls r0, 24
- cmp r0, 0
- beq _080A7158
- adds r0, r4, 0
- bl sub_80A62DC
-_080A7158:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7144
-
- thumb_func_start sub_80A7160
-sub_80A7160: @ 80A7160
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- subs r0, r1, r0
- cmp r0, 0
- bge _080A7174
- negs r0, r0
-_080A7174:
- lsls r0, 4
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80A7028
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7160
-
- thumb_func_start sub_80A718C
-sub_80A718C: @ 80A718C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl sub_80A7160
- ldr r1, =sub_80A7144
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A718C
-
- thumb_func_start obj_id_set_rotscale
-obj_id_set_rotscale: @ 80A71B4
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r5, =0xffff0000
- lsls r2, 16
- lsrs r1, 16
- orrs r1, r2
- str r1, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r5
- orrs r0, r3
- str r0, [sp, 0x4]
- bl sub_80A7238
- lsls r0, 24
- cmp r0, 0
- beq _080A71F0
- mov r0, sp
- ldrh r0, [r0]
- negs r0, r0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- ands r1, r5
- orrs r1, r0
- str r1, [sp]
-_080A71F0:
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x3]
- lsls r4, 26
- lsrs r4, 27
- add r5, sp, 0x8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ObjAffineSet
- ldr r0, =gOamMatrices
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r5]
- strh r0, [r4]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x6]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end obj_id_set_rotscale
-
- thumb_func_start sub_80A7238
-sub_80A7238: @ 80A7238
- push {r4,lr}
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A7268
- ldr r4, =gSprites
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x32
- ldrsh r0, [r1, r2]
- cmp r0, 0xC9
- beq _080A7268
- movs r0, 0x1
- b _080A726A
- .pool
-_080A7268:
- movs r0, 0
-_080A726A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7238
-
- thumb_func_start sub_80A7270
-sub_80A7270: @ 80A7270
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r1, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r4, r0, r1
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r7, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A72A6
- adds r0, r7, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A72B4
-_080A72A6:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080A72B4:
- ldr r1, =gSprites
- lsls r4, r6, 4
- adds r0, r4, r6
- lsls r0, 2
- adds r5, r0, r1
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x1]
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A7312
- ldrb r0, [r5, 0x1]
- lsls r0, 30
- cmp r0, 0
- bne _080A7312
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x3]
-_080A7312:
- ldr r1, =gSprites
- adds r0, r4, r6
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x1]
- movs r1, 0x3
- orrs r3, r1
- strb r3, [r0, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- bl CalcCenterToCornerVec
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7270
-
- thumb_func_start sub_80A7344
-sub_80A7344: @ 80A7344
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- movs r2, 0xD
- negs r2, r2
- ands r1, r2
- strb r1, [r0, 0x1]
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r2, [r3]
- movs r1, 0x7F
- ands r1, r2
- strb r1, [r3]
- ldrb r3, [r0, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- bl CalcCenterToCornerVec
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7344
-
- thumb_func_start sub_80A73A0
-sub_80A73A0: @ 80A73A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r0, [r2, 0x3]
- lsls r0, 26
- lsrs r0, 27
- ldr r1, =gOamMatrices
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x4]
- movs r3, 0x4
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bge _080A73CC
- negs r0, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_080A73CC:
- lsls r0, r1, 16
- asrs r0, 19
- strh r0, [r2, 0x26]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A73A0
-
- thumb_func_start sub_80A73E0
-sub_80A73E0: @ 80A73E0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 16
- lsrs r5, r2, 16
- lsls r3, 16
- lsrs r7, r3, 16
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7486
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- cmp r6, 0
- beq _080A742E
- ldrb 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
-_080A742E:
- ldr r6, =0xffff0000
- lsls r0, r7, 16
- orrs r5, r0
- str r5, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r6
- mov r1, r8
- orrs r0, r1
- str r0, [sp, 0x4]
- bl sub_80A7238
- lsls r0, 24
- cmp r0, 0
- beq _080A745C
- mov r0, sp
- ldrh r0, [r0]
- negs r0, r0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- ands r1, r6
- orrs r1, r0
- str r1, [sp]
-_080A745C:
- ldrb r4, [r4, 0x3]
- lsls r4, 26
- lsrs r4, 27
- add r5, sp, 0x8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ObjAffineSet
- ldr r0, =gOamMatrices
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r5]
- strh r0, [r4]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x6]
-_080A7486:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A73E0
-
- thumb_func_start sub_80A749C
-sub_80A749C: @ 80A749C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r3, 0x80
- lsls r3, 1
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r3, 0
- bl sub_80A73E0
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrb 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
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A749C
-
- thumb_func_start sub_80A74DC
-sub_80A74DC: @ 80A74DC
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl ArcTan2
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80A74DC
-
- thumb_func_start sub_80A74F4
-sub_80A74F4: @ 80A74F4
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl sub_80A74DC
- lsls r0, 16
- negs r0, r0
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80A74F4
-
- thumb_func_start sub_80A750C
-sub_80A750C: @ 80A750C
- push {r4-r7,lr}
- lsls r1, 24
- lsls r0, 20
- lsrs r0, 16
- cmp r1, 0
- bne _080A7588
- ldr r2, =gPlttBufferUnfaded
- ldr r1, =gPlttBufferFaded
- lsls r0, 1
- adds r4, r0, r1
- adds r5, r0, r2
- movs r6, 0xF
-_080A7524:
- ldr r0, [r5]
- lsls r2, r0, 27
- lsrs r2, 27
- lsls r1, r0, 22
- lsrs r1, 27
- adds r2, r1
- lsls r0, 17
- lsrs r0, 27
- adds r0, r2
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1F
- ands r0, r1
- ldrb r1, [r4]
- movs r3, 0x20
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4]
- lsls r3, r0, 5
- ldrh r1, [r4]
- ldr r7, =0xfffffc1f
- adds r2, r7, 0
- ands r1, r2
- orrs r1, r3
- strh r1, [r4]
- lsls r0, 2
- ldrb r1, [r4, 0x1]
- movs r3, 0x7D
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x1]
- adds r4, 0x2
- adds r5, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _080A7524
- b _080A7598
- .pool
-_080A7588:
- lsls r1, r0, 1
- ldr r0, =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_080A7598:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A750C
-
- thumb_func_start sub_80A75AC
-sub_80A75AC: @ 80A75AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- ldr r6, [sp, 0x30]
- lsls r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp]
- lsls r6, 24
- lsrs r6, 24
- str r6, [sp, 0x4]
- movs r4, 0
- cmp r0, 0
- beq _080A7602
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A75F6
- movs r4, 0xE
- b _080A7602
-_080A75F6:
- bl sub_80A6D94
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0x1
- lsls r4, r0
-_080A7602:
- cmp r7, 0
- beq _080A7614
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7614:
- mov r0, r8
- cmp r0, 0
- beq _080A7628
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7628:
- mov r0, r9
- cmp r0, 0
- beq _080A764E
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A764E
- ldrb r0, [r6]
- eors r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A764E:
- mov r0, r10
- cmp r0, 0
- beq _080A7674
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A7674
- ldrb r0, [r6]
- eors r0, r5
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7674:
- ldr r0, [sp]
- cmp r0, 0
- beq _080A769A
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A7694
- movs r0, 0x80
- lsls r0, 1
- b _080A7698
- .pool
-_080A7694:
- movs r0, 0x80
- lsls r0, 7
-_080A7698:
- orrs r4, r0
-_080A769A:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- beq _080A76B0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A76B0
- movs r0, 0x80
- lsls r0, 2
- orrs r4, r0
-_080A76B0:
- adds r0, r4, 0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A75AC
-
- thumb_func_start sub_80A76C4
-sub_80A76C4: @ 80A76C4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r4, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A76F2
- cmp r5, 0
- beq _080A77A0
- movs r4, 0x80
- lsls r4, 11
- b _080A77A0
-_080A76F2:
- cmp r5, 0
- beq _080A771A
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A771A
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r4, 0x1
- lsls r4, r0
-_080A771A:
- cmp r6, 0
- beq _080A7746
- movs r0, 0x2
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A7746
- movs r0, 0x2
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7746:
- cmp r7, 0
- beq _080A7772
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A7772
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A7772:
- mov r0, r8
- cmp r0, 0
- beq _080A77A0
- movs r0, 0x3
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A77A0
- movs r0, 0x3
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r4, r0
-_080A77A0:
- adds r0, r4, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A76C4
-
- thumb_func_start sub_80A77AC
-sub_80A77AC: @ 80A77AC
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_80A77AC
-
- thumb_func_start sub_80A77B4
-sub_80A77B4: @ 80A77B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80A77B4
-
- thumb_func_start sub_80A77C8
-sub_80A77C8: @ 80A77C8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A7806
- ldr r2, =gBattleAnimArgs
- movs r3, 0x6
- ldrsh r0, [r2, r3]
- movs r1, 0
- cmp r0, 0
- bne _080A77E2
- movs r1, 0x1
-_080A77E2:
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080A77F8
- adds r0, r4, 0
- bl sub_80A69CC
- b _080A77FE
- .pool
-_080A77F8:
- adds r0, r4, 0
- bl sub_80A6980
-_080A77FE:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080A781A
-_080A7806:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080A781A
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080A781A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A77C8
-
- thumb_func_start sub_80A7820
-sub_80A7820: @ 80A7820
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0
- cmp r0, 0
- bne _080A7838
- movs r1, 0x1
-_080A7838:
- ldrb r0, [r6, 0xA]
- movs r7, 0x1
- cmp r0, 0
- bne _080A7842
- movs r7, 0x3
-_080A7842:
- adds r0, r5, 0
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A785C
- ldrh r0, [r6, 0x4]
- negs r0, r0
- strh r0, [r6, 0x4]
-_080A785C:
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- adds r1, r7, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7820
-
- thumb_func_start sub_80A78AC
-sub_80A78AC: @ 80A78AC
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A78CC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080A78CC:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- 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_80A68D4
- ldr r0, =sub_80A791C
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A78AC
-
- thumb_func_start sub_80A791C
-sub_80A791C: @ 80A791C
- push {r4,lr}
- adds r4, r0, 0
- bl AnimateBallThrow
- lsls r0, 24
- cmp r0, 0
- beq _080A7930
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080A7930:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A791C
-
- thumb_func_start sub_80A7938
-sub_80A7938: @ 80A7938
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bne _080A7950
- movs r4, 0x1
- movs r7, 0x3
- b _080A7954
- .pool
-_080A7950:
- movs r4, 0
- movs r7, 0x1
-_080A7954:
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A796C
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- b _080A7976
- .pool
-_080A796C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A6980
- ldr r0, =gBattleAnimTarget
-_080A7976:
- ldrb r6, [r0]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A798E
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080A798E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A6980
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x2E]
- adds r0, r6, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r4, 0x4]
- adds r0, r2
- strh r0, [r5, 0x32]
- adds r0, r6, 0
- adds r1, r7, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7938
-
- thumb_func_start duplicate_obj_of_side_rel2move_in_transparent_mode
-duplicate_obj_of_side_rel2move_in_transparent_mode: @ 80A79E8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _080A7A52
- movs r6, 0
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r1, r0, 2
-_080A7A04:
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r4, r0, r2
- adds r5, r4, 0
- adds r5, 0x3E
- ldrb r0, [r5]
- lsls r0, 31
- cmp r0, 0
- bne _080A7A48
- adds r0, r4, 0
- adds r1, r2
- movs r2, 0x44
- bl memcpy
- ldrb r1, [r4, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4, 0x1]
- ldrb r0, [r5]
- adds r2, 0x8
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r5]
- lsls r0, r6, 16
- asrs r0, 16
- b _080A7A56
- .pool
-_080A7A48:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3F
- bls _080A7A04
-_080A7A52:
- movs r0, 0x1
- negs r0, r0
-_080A7A56:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end duplicate_obj_of_side_rel2move_in_transparent_mode
-
- thumb_func_start obj_delete_but_dont_free_vram
-obj_delete_but_dont_free_vram: @ 80A7A5C
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3F
- ldrb r1, [r3]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r3]
- bl DestroySprite
- pop {r0}
- bx r0
- thumb_func_end obj_delete_but_dont_free_vram
-
- thumb_func_start sub_80A7A74
-sub_80A7A74: @ 80A7A74
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- movs r3, 0
- ldr r2, =gBattleAnimArgs
- movs r0, 0x4
- ldrsh r1, [r2, r0]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r1, r0
- ble _080A7A8E
- movs r3, 0x1
-_080A7A8E:
- cmp r1, r0
- bge _080A7A94
- ldr r3, =0x0000ffff
-_080A7A94:
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r4, 0x2
- ldrsh r0, [r2, r4]
- cmp r1, r0
- ble _080A7AA2
- movs r6, 0x1
-_080A7AA2:
- cmp r1, r0
- bge _080A7AA8
- ldr r6, =0x0000ffff
-_080A7AA8:
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r1, 0
- strh r1, [r4, 0x8]
- ldrh r0, [r2, 0x8]
- strh r0, [r4, 0xA]
- strh r1, [r4, 0xC]
- ldrh r0, [r2]
- strh r0, [r4, 0xE]
- ldrh r0, [r2, 0x2]
- strh r0, [r4, 0x10]
- strh r3, [r4, 0x12]
- strh r6, [r4, 0x14]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x16]
- ldrh r0, [r2, 0x6]
- strh r0, [r4, 0x18]
- ldrh r1, [r2, 0x2]
- lsls r1, 8
- ldrh r0, [r2]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =sub_80A7AFC
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7A74
-
- thumb_func_start sub_80A7AFC
-sub_80A7AFC: @ 80A7AFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- cmp r0, r1
- ble _080A7B90
- movs r0, 0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7B4C
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r1, [r4, r3]
- movs r3, 0x16
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _080A7B60
- ldrh r0, [r4, 0x12]
- adds r0, r2, r0
- strh r0, [r4, 0xE]
- b _080A7B60
- .pool
-_080A7B4C:
- ldrh r2, [r4, 0x10]
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r3, 0x18
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _080A7B60
- ldrh r0, [r4, 0x14]
- adds r0, r2, r0
- strh r0, [r4, 0x10]
-_080A7B60:
- ldrh r1, [r4, 0x10]
- lsls r1, 8
- ldrh r0, [r4, 0xE]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080A7B90
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080A7B90
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080A7B90:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7AFC
-
- thumb_func_start AnimTask_BlendMonInAndOut
-AnimTask_BlendMonInAndOut: @ 80A7B98
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimArgs
- ldrb r0, [r0]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080A7BBC
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080A7BE2
- .pool
-_080A7BBC:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- lsls r1, 4
- ldr r3, =0x00000101
- adds r2, r3, 0
- adds r1, r2
- strh r1, [r0, 0x8]
- bl sub_80A7BF4
-_080A7BE2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_BlendMonInAndOut
-
- thumb_func_start sub_80A7BF4
-sub_80A7BF4: @ 80A7BF4
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3, 0x2]
- movs r2, 0
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0xE]
- strh r2, [r0, 0x10]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0x12]
- strh r2, [r0, 0x14]
- ldrh r1, [r3, 0x8]
- strh r1, [r0, 0x16]
- ldr r1, =sub_80A7C1C
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80A7BF4
-
- thumb_func_start sub_80A7C1C
-sub_80A7C1C: @ 80A7C1C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080A7CAC
- movs r0, 0
- strh r0, [r4, 0x10]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A7C78
- ldrh r2, [r4, 0xC]
- adds r2, 0x1
- strh r2, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- lsls r2, 24
- lsrs r2, 24
- ldrh r3, [r4, 0xA]
- movs r1, 0xF
- bl BlendPalette
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080A7CAC
- movs r0, 0x1
- strh r0, [r4, 0x14]
- b _080A7CAC
- .pool
-_080A7C78:
- ldrh r2, [r4, 0xC]
- subs r2, 0x1
- strh r2, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- lsls r2, 24
- lsrs r2, 24
- ldrh r3, [r4, 0xA]
- movs r1, 0xF
- bl BlendPalette
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _080A7CAC
- ldrh r0, [r4, 0x16]
- subs r0, 0x1
- strh r0, [r4, 0x16]
- lsls r0, 16
- cmp r0, 0
- beq _080A7CA6
- strh r1, [r4, 0x10]
- strh r1, [r4, 0x14]
- b _080A7CAC
-_080A7CA6:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080A7CAC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7C1C
-
- thumb_func_start sub_80A7CB4
-sub_80A7CB4: @ 80A7CB4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080A7CD8
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080A7CEE
- .pool
-_080A7CD8:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- lsls r1, r2, 4
- ldr r2, =0x00000101
- adds r1, r2
- strh r1, [r0, 0x8]
- bl sub_80A7BF4
-_080A7CEE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7CB4
-
- thumb_func_start sub_80A7CFC
-sub_80A7CFC: @ 80A7CFC
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- strh r1, [r3, 0x16]
- strh r1, [r3, 0x18]
- strh r1, [r3, 0x1A]
- strh r4, [r3, 0x26]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r3, 0x1C]
- strh r0, [r3, 0x1E]
- strh r1, [r3, 0x20]
- adds r0, r3, 0
- adds r0, 0x22
- adds r3, 0x24
- adds r1, r3, 0
- bl sub_80A8048
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A7270
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7CFC
-
- thumb_func_start sub_80A7D34
-sub_80A7D34: @ 80A7D34
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_02038444
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- bl sub_80A8050
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- lsls r1, 3
- adds r1, r0, r1
- str r1, [r5]
- movs r6, 0
- ldrsh r2, [r1, r6]
- ldr r0, =0x00007ffe
- cmp r2, r0
- beq _080A7DDC
- cmp r2, r0
- bgt _080A7E3C
- subs r0, 0x1
- cmp r2, r0
- beq _080A7DE2
- ldrb r0, [r1, 0x5]
- cmp r0, 0
- bne _080A7D82
- ldrh r0, [r1]
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x1E]
- ldrb r0, [r1, 0x4]
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- adds r0, r1, 0
- adds r0, 0x8
- str r0, [r5]
-_080A7D82:
- ldr r1, [r5]
- ldrh r0, [r1]
- ldrh r2, [r4, 0x1C]
- adds r0, r2
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x2]
- ldrh r3, [r4, 0x1E]
- adds r0, r3
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x20]
- ldrb r1, [r1, 0x4]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0x1C
- ldrsh r1, [r4, r6]
- movs r3, 0x1E
- ldrsh r2, [r4, r3]
- ldrh r3, [r4, 0x20]
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7E6C
- ldrh r0, [r4, 0x18]
- adds r0, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- ldr r1, [r5]
- ldrb r1, [r1, 0x5]
- cmp r0, r1
- blt _080A7E62
- movs r0, 0
- strh r0, [r4, 0x18]
- b _080A7E34
- .pool
-_080A7DDC:
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x16]
- b _080A7E62
-_080A7DE2:
- ldrh r2, [r1, 0x2]
- movs r6, 0x2
- ldrsh r0, [r1, r6]
- cmp r0, 0
- beq _080A7E34
- ldrh r1, [r4, 0x1A]
- movs r3, 0x1A
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080A7E02
- subs r0, r1, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- cmp r0, 0
- bne _080A7E04
- b _080A7E34
-_080A7E02:
- strh r2, [r4, 0x1A]
-_080A7E04:
- movs r6, 0x16
- ldrsh r0, [r4, r6]
- cmp r0, 0
- beq _080A7E62
- ldr r3, =gUnknown_02038444
- ldr r5, =0x00007ffd
-_080A7E10:
- ldrh r2, [r4, 0x16]
- subs r1, r2, 0x1
- strh r1, [r4, 0x16]
- ldr r0, [r3]
- subs r0, 0x8
- str r0, [r3]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r0, r5
- beq _080A7E60
- lsls r0, r1, 16
- cmp r0, 0
- bne _080A7E10
- b _080A7E62
- .pool
-_080A7E34:
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- b _080A7E62
-_080A7E3C:
- ldr r2, =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]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7344
- movs r0, 0
- b _080A7E64
- .pool
-_080A7E60:
- strh r2, [r4, 0x16]
-_080A7E62:
- movs r0, 0x1
-_080A7E64:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7D34
-
- thumb_func_start sub_80A7E6C
-sub_80A7E6C: @ 80A7E6C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A7F18
- lsls r0, 16
- lsrs r0, 15
- movs r1, 0x40
- subs r5, r1, r0
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x3]
- lsls r1, 26
- lsrs r1, 27
- lsls r0, r5, 8
- ldr r2, =gOamMatrices
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- cmp r0, 0x80
- ble _080A7EA8
- movs r0, 0x80
-_080A7EA8:
- subs r0, r5, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7E6C
-
- thumb_func_start sub_80A7EC0
-sub_80A7EC0: @ 80A7EC0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7F18
- lsls r0, 16
- lsrs r0, 15
- movs r1, 0x40
- subs r5, r1, r0
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrb r1, [r4, 0x3]
- lsls r1, 26
- lsrs r1, 27
- lsls r0, r5, 8
- ldr r2, =gOamMatrices
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- cmp r0, 0x80
- ble _080A7F00
- movs r0, 0x80
-_080A7F00:
- subs r0, r5, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A7EC0
-
- thumb_func_start sub_80A7F18
-sub_80A7F18: @ 80A7F18
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r1, =gBattlerSpriteIds
- ldr r7, =0x00000181
- ldr r0, =gBattleMonForms
- adds r6, r5, r0
-_080A7F38:
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, r2
- beq _080A7F42
- b _080A8034
-_080A7F42:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A7F78
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r2, [r0]
- ldr r1, =gUnknown_083021D8
- lsls r0, r2, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- b _080A8042
- .pool
-_080A7F78:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A7FD8
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A7FC0
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r2, r0, 16
- b _080A7FC2
- .pool
-_080A7FC0:
- ldrh r2, [r1, 0x2]
-_080A7FC2:
- cmp r2, r7
- bne _080A7FD0
- ldr r0, =gUnknown_08525F8C
- b _080A8018
- .pool
-_080A7FD0:
- ldr r0, =gUnknown_083021D8
- b _080A8026
- .pool
-_080A7FD8:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A8010
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r2, r0, 16
- b _080A8012
- .pool
-_080A8010:
- ldrh r2, [r1, 0x2]
-_080A8012:
- cmp r2, r7
- bne _080A8024
- ldr r0, =gUnknown_08525F88
-_080A8018:
- ldrb r1, [r6]
- adds r1, r0
- ldrb r0, [r1]
- b _080A8042
- .pool
-_080A8024:
- ldr r0, =gMonFrontPicCoords
-_080A8026:
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- b _080A8042
- .pool
-_080A8034:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bhi _080A8040
- b _080A7F38
-_080A8040:
- movs r0, 0x40
-_080A8042:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7F18
-
- thumb_func_start sub_80A8048
-sub_80A8048: @ 80A8048
- strh r2, [r0]
- asrs r2, 16
- strh r2, [r1]
- bx lr
- thumb_func_end sub_80A8048
-
- thumb_func_start sub_80A8050
-sub_80A8050: @ 80A8050
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- orrs r0, r1
- bx lr
- thumb_func_end sub_80A8050
-
- thumb_func_start sub_80A805C
-sub_80A805C: @ 80A805C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r5, r3, 0
- ldr r0, [sp, 0x14]
- ldr r4, [sp, 0x18]
- ldr r6, [sp, 0x1C]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r3, r8
- strh r6, [r3, 0x18]
- strh r1, [r3, 0x26]
- strh r2, [r3, 0x1A]
- strh r5, [r3, 0x1C]
- strh r0, [r3, 0x22]
- strh r4, [r3, 0x24]
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r2, 16
- subs r0, r2
- adds r1, r6, 0
- bl __divsi3
- mov r1, r8
- strh r0, [r1, 0x1E]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- subs r4, r5
- adds r0, r4, 0
- adds r1, r6, 0
- bl __divsi3
- mov r3, r8
- strh r0, [r3, 0x20]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A805C
-
- thumb_func_start sub_80A80C8
-sub_80A80C8: @ 80A80C8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080A80DA
- movs r0, 0
- b _080A8136
-_080A80DA:
- subs r0, r1, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- cmp r0, 0
- beq _080A80F4
- ldrh r0, [r4, 0x1E]
- ldrh r3, [r4, 0x1A]
- adds r0, r3
- strh r0, [r4, 0x1A]
- ldrh r0, [r4, 0x20]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- b _080A80FA
-_080A80F4:
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x1A]
- ldrh r0, [r4, 0x24]
-_080A80FA:
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1A
- ldrsh r1, [r4, r2]
- movs r3, 0x1C
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl obj_id_set_rotscale
- movs r0, 0x18
- ldrsh r3, [r4, r0]
- cmp r3, 0
- beq _080A8124
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7E6C
- b _080A8134
-_080A8124:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
-_080A8134:
- ldrb r0, [r4, 0x18]
-_080A8136:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A80C8
-
- thumb_func_start AnimTask_GetFrustrationPowerLevel
-AnimTask_GetFrustrationPowerLevel: @ 80A8140
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gAnimFriendship
- ldrb r0, [r0]
- movs r1, 0
- cmp r0, 0x1E
- bls _080A815E
- movs r1, 0x1
- cmp r0, 0x64
- bls _080A815E
- movs r1, 0x3
- cmp r0, 0xC8
- bhi _080A815E
- movs r1, 0x2
-_080A815E:
- ldr r0, =gBattleAnimArgs
- strh r1, [r0, 0xE]
- adds r0, r2, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_GetFrustrationPowerLevel
-
- thumb_func_start sub_80A8174
-sub_80A8174: @ 80A8174
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A81B4
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080A81B4:
- ldr r0, =gBattleAnimAttacker
- mov r8, r0
- ldrb r0, [r0]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A81EC
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- mov r3, r8
- ldrb r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080A81EC:
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A8224
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r6]
- eors r0, r5
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080A8224:
- mov r1, r8
- ldrb r0, [r1]
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A825C
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- mov r3, r8
- ldrb r0, [r3]
- eors r0, r5
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- ands r7, r0
- lsls r3, r7, 2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
-_080A825C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8174
-
- thumb_func_start sub_80A8278
-sub_80A8278: @ 80A8278
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r5, r0
- bge _080A82D2
- ldr r6, =gSprites
-_080A8286:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080A82C8
- adds r0, r4, 0
- bl sub_80A82E4
- ldr r3, =gBattlerSpriteIds
- adds r3, r5, r3
- ldrb r2, [r3]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r6
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r2, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x8
- orrs r2, r1
- strb r2, [r0, 0x5]
-_080A82C8:
- adds r5, 0x1
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r5, r0
- blt _080A8286
-_080A82D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8278
-
- thumb_func_start sub_80A82E4
-sub_80A82E4: @ 80A82E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A8300
- cmp r4, 0x2
- bne _080A82FC
- movs r0, 0x1E
- b _080A8320
-_080A82FC:
- movs r0, 0x28
- b _080A8320
-_080A8300:
- adds r0, r4, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1E
- cmp r0, 0
- beq _080A831E
- movs r1, 0x14
- cmp r0, 0x2
- beq _080A831E
- movs r1, 0x32
- cmp r0, 0x1
- bne _080A831E
- movs r1, 0x28
-_080A831E:
- adds r0, r1, 0
-_080A8320:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A82E4
-
- thumb_func_start sub_80A8328
-sub_80A8328: @ 80A8328
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A8344
- movs r0, 0x2
- b _080A835C
-_080A8344:
- cmp r4, 0
- beq _080A834C
- cmp r4, 0x3
- bne _080A8350
-_080A834C:
- movs r0, 0x2
- b _080A8352
-_080A8350:
- movs r0, 0x1
-_080A8352:
- movs r1, 0x4
- bl sub_8118140
- lsls r0, 24
- lsrs r0, 24
-_080A835C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8328
-
- thumb_func_start sub_80A8364
-sub_80A8364: @ 80A8364
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A838A
- adds r0, r4, 0
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080A8386
- cmp r0, 0x3
- bne _080A838A
-_080A8386:
- movs r0, 0x2
- b _080A838C
-_080A838A:
- movs r0, 0x1
-_080A838C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8364
-
- thumb_func_start sub_80A8394
-sub_80A8394: @ 80A8394
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r6, [sp, 0x38]
- mov r8, r6
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp, 0x4]
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp, 0x8]
- lsls r0, r7, 3
- ldr r1, =gUnknown_08525FC0
- adds r0, r1
- bl LoadSpriteSheet
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- ldr r1, =gUnknown_08525F90
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x2]
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gMonSpritesGfxPtr
- ldr r0, [r4]
- cmp r0, 0
- beq _080A8412
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _080A8412
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- ldr r1, [r4]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- str r0, [r1]
-_080A8412:
- mov r3, r9
- cmp r3, 0
- bne _080A84B0
- adds r0, r6, 0
- ldr r1, [sp, 0x3C]
- mov r2, r8
- bl GetFrontSpritePalFromSpeciesAndPersonality
- lsls r1, r5, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r3, [sp, 0x44]
- cmp r3, 0x1
- beq _080A845E
- ldr r0, [sp, 0x40]
- lsls r1, r0, 24
- lsrs r1, 24
- movs r0, 0x5
- bl sub_80688F8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A845E
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r2, [sp, 0x40]
- lsls r0, r2, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _080A8488
-_080A845E:
- lsls r0, r6, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r3, 0xBE
- lsls r3, 1
- adds r1, r3
- ldr r1, [r1]
- movs r2, 0x1
- b _080A850A
- .pool
-_080A8488:
- lsls r0, r6, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x1
- str r2, [sp]
- adds r2, r6, 0
- mov r3, r8
- bl LoadSpecialPokePic_2
- b _080A8540
- .pool
-_080A84B0:
- adds r0, r6, 0
- ldr r1, [sp, 0x3C]
- mov r2, r8
- bl GetFrontSpritePalFromSpeciesAndPersonality
- lsls r1, r5, 20
- movs r3, 0x80
- lsls r3, 17
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, [sp, 0x44]
- cmp r0, 0x1
- beq _080A84F6
- ldr r2, [sp, 0x40]
- lsls r1, r2, 24
- lsrs r1, 24
- movs r0, 0x5
- bl sub_80688F8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A84F6
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r3, [sp, 0x40]
- lsls r0, r3, 2
- adds r0, r1
- ldrh r2, [r0, 0x2]
- cmp r2, 0
- beq _080A8524
-_080A84F6:
- lsls r0, r6, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
-_080A850A:
- str r2, [sp]
- adds r2, r6, 0
- mov r3, r8
- bl LoadSpecialPokePic_DontHandleDeoxys
- b _080A8540
- .pool
-_080A8524:
- lsls r0, r6, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r3, 0xBE
- lsls r3, 1
- adds r1, r3
- ldr r1, [r1]
- str r2, [sp]
- adds r2, r6, 0
- mov r3, r8
- bl LoadSpecialPokePic_2
-_080A8540:
- ldr r5, =gMonSpritesGfxPtr
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- ldr r0, [r0]
- ldr r2, [sp, 0xC]
- lsls r1, r2, 5
- ldr r3, =0x06010000
- adds r1, r3
- movs r2, 0x80
- lsls r2, 4
- movs r3, 0x1
- bl RequestDma3Copy
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- mov r0, r9
- cmp r0, 0
- bne _080A85A0
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- ldr r1, =gUnknown_08525F90
- adds r0, r1
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- ldr r3, =gMonFrontPicCoords
- b _080A85B2
- .pool
-_080A85A0:
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- ldr r1, =gUnknown_08525F90
- adds r0, r1
- mov r2, r10
- lsls r1, r2, 16
- asrs r1, 16
- ldr r3, =gUnknown_083021D8
-_080A85B2:
- lsls r2, r6, 2
- adds r2, r3
- ldrb r2, [r2, 0x1]
- ldr r3, [sp, 0x4]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- ldr r3, [sp, 0x8]
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A85EE
- ldr r3, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x10
- adds r1, r0, r1
- ldr r2, =gUnknown_082FF6C0
- str r2, [r1]
- adds r0, r3
- movs r1, 0
- bl StartSpriteAffineAnim
-_080A85EE:
- adds r0, r4, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A8394
-
- thumb_func_start sub_80A8610
-sub_80A8610: @ 80A8610
- push {lr}
- bl DestroySpriteAndFreeResources
- pop {r0}
- bx r0
- thumb_func_end sub_80A8610
-
- thumb_func_start sub_80A861C
-sub_80A861C: @ 80A861C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A86C4
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrb r1, [r2, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A8654
- ldrh r7, [r2, 0x2]
- ldr r2, [r2, 0x10]
- b _080A8658
- .pool
-_080A8654:
- ldrh r7, [r2]
- ldr r2, [r2, 0x8]
-_080A8658:
- cmp r7, 0xC9
- bne _080A86A4
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A8690
- movs r0, 0xC9
- b _080A869A
-_080A8690:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A869A:
- lsls r1, r0, 2
- ldr r0, =gUnknown_083021D8
- b _080A8864
- .pool
-_080A86A4:
- ldr r0, =0x00000181
- cmp r7, r0
- bne _080A86AC
- b _080A8834
-_080A86AC:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bhi _080A877C
- lsls r1, r7, 2
- ldr r0, =gUnknown_083021D8
- b _080A8864
- .pool
-_080A86C4:
- mov r0, r8
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A8790
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- mov r1, r8
- lsls r2, r1, 2
- adds r1, r2, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A871C
- ldr r0, =gBattlerPartyIndexes
- mov r1, r8
- lsls r4, r1, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080A8724
- .pool
-_080A871C:
- ldrh r7, [r1, 0x2]
- ldr r0, =gTransformedPersonalities
- adds r0, r2, r0
- ldr r2, [r0]
-_080A8724:
- cmp r7, 0xC9
- bne _080A8774
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A8760
- movs r0, 0xC9
- b _080A876A
- .pool
-_080A8760:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A876A:
- lsls r1, r0, 2
- ldr r0, =gUnknown_083021D8
- b _080A8864
- .pool
-_080A8774:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bls _080A8784
-_080A877C:
- ldr r4, =gUnknown_083021D8
- b _080A8866
- .pool
-_080A8784:
- lsls r1, r7, 2
- ldr r0, =gUnknown_083021D8
- b _080A8864
- .pool
-_080A8790:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- mov r1, r8
- lsls r2, r1, 2
- adds r1, r2, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A87DC
- ldr r0, =gBattlerPartyIndexes
- mov r1, r8
- lsls r4, r1, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gEnemyParty
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0
- bl GetMonData
- adds r2, r0, 0
- b _080A87E4
- .pool
-_080A87DC:
- ldrh r7, [r1, 0x2]
- ldr r0, =gTransformedPersonalities
- adds r0, r2, r0
- ldr r2, [r0]
-_080A87E4:
- cmp r7, 0xC9
- bne _080A882E
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080A8820
- movs r0, 0xC9
- b _080A882A
- .pool
-_080A8820:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080A882A:
- lsls r1, r0, 2
- b _080A8862
-_080A882E:
- ldr r0, =0x00000181
- cmp r7, r0
- bne _080A8850
-_080A8834:
- ldr r0, =gBattleMonForms
- add r0, r8
- ldrb r0, [r0]
- lsls r0, 2
- ldr r1, =gCastformFrontSpriteCoords
- adds r4, r0, r1
- b _080A8866
- .pool
-_080A8850:
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- bls _080A8860
- ldr r4, =gMonFrontPicCoords
- b _080A8866
- .pool
-_080A8860:
- lsls r1, r7, 2
-_080A8862:
- ldr r0, =gMonFrontPicCoords
-_080A8864:
- adds r4, r1, r0
-_080A8866:
- mov r0, r9
- cmp r0, 0x6
- bhi _080A8916
- lsls r0, 2
- ldr r1, =_080A8880
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080A8880:
- .4byte _080A889C
- .4byte _080A88A6
- .4byte _080A88D2
- .4byte _080A88EA
- .4byte _080A88AE
- .4byte _080A88C0
- .4byte _080A8902
-_080A889C:
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- lsls r0, 3
- b _080A8918
-_080A88A6:
- ldrb r0, [r4]
- lsrs r0, 4
- lsls r0, 3
- b _080A8918
-_080A88AE:
- mov r0, r8
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r4]
- lsrs r1, 4
- b _080A88E4
-_080A88C0:
- mov r0, r8
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r4]
- lsrs r1, 4
- b _080A88FC
-_080A88D2:
- mov r0, r8
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r4]
- movs r1, 0xF
- ands r1, r2
-_080A88E4:
- lsls r1, 2
- subs r0, r1
- b _080A8918
-_080A88EA:
- mov r0, r8
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r4]
- movs r1, 0xF
- ands r1, r2
-_080A88FC:
- lsls r1, 2
- adds r0, r1
- b _080A8918
-_080A8902:
- mov r0, r8
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- ldrb r1, [r4, 0x1]
- subs r0, r1
- b _080A8918
-_080A8916:
- movs r0, 0
-_080A8918:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A861C
-
- thumb_func_start sub_80A8924
-sub_80A8924: @ 80A8924
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r2
- mov r10, r3
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- cmp r1, 0
- bne _080A8942
- movs r5, 0
- movs r6, 0x1
- b _080A8946
-_080A8942:
- movs r5, 0x2
- movs r6, 0x3
-_080A8946:
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r7, r0, 24
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080A8998
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080A8998
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- adds r1, r6, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r3, r0, 24
- mov r0, r8
- lsls r1, r0, 16
- lsls r2, r7, 16
- b _080A89A4
-_080A8998:
- mov r0, r8
- lsls r1, r0, 16
- lsrs r5, r1, 16
- lsls r0, r7, 16
- lsrs r3, r0, 16
- adds r2, r0, 0
-_080A89A4:
- asrs r0, r1, 16
- adds r0, r5
- asrs r0, 1
- mov r1, r9
- strh r0, [r1]
- asrs r0, r2, 16
- adds r0, r3
- asrs r0, 1
- mov r1, r10
- strh r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8924
-
- thumb_func_start sub_80A89C8
-sub_80A89C8: @ 80A89C8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- lsls r6, r1, 24
- lsrs r6, 24
- ldr r0, =SpriteCallbackDummy
- mov r10, r0
- bl CreateInvisibleSpriteWithCallback
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gSprites
- mov r9, r0
- mov r0, r8
- lsls r3, r0, 4
- add r3, r8
- lsls r3, 2
- mov r0, r9
- adds r5, r3, r0
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- add r4, r9
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x44
- str r3, [sp]
- bl memcpy
- adds r2, r5, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldrb r2, [r5, 0x5]
- movs r1, 0xD
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r5, 0x5]
- ldrb r0, [r5, 0x1]
- ands r1, r0
- movs r0, 0x8
- orrs r1, r0
- strb r1, [r5, 0x1]
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 22
- ldrh r2, [r5, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- movs r0, 0x1C
- add r9, r0
- ldr r3, [sp]
- add r3, r9
- mov r0, r10
- str r0, [r3]
- mov r0, r8
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A89C8
-
- thumb_func_start sub_80A8A6C
-sub_80A8A6C: @ 80A8A6C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A8AAC
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x6]
- negs r0, r0
- strh r0, [r2, 0x6]
- adds r3, r4, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r3]
- adds r1, r2, 0
- b _080A8AB6
- .pool
-_080A8AAC:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
-_080A8AB6:
- 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]
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A66DC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8A6C
-
- thumb_func_start sub_80A8AEC
-sub_80A8AEC: @ 80A8AEC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A8B1C
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- negs r0, r0
- strh r0, [r2, 0x6]
- adds r1, r2, 0
- b _080A8B26
- .pool
-_080A8B1C:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
-_080A8B26:
- 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 StartSpriteAnim
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A66DC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8AEC
-
- thumb_func_start sub_80A8B64
-sub_80A8B64: @ 80A8B64
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080A8B90
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _080A8B9C
- .pool
-_080A8B90:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r0, r1, 0
-_080A8B9C:
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8B64
-
- thumb_func_start sub_80A8BC4
-sub_80A8BC4: @ 80A8BC4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r5, 0x8]
- ldr r7, =gBattleAnimAttacker
- ldrb r0, [r7]
- bl GetBattlerSide
- lsls r0, 24
- movs r1, 0x8
- cmp r0, 0
- beq _080A8BF8
- movs r0, 0x8
- negs r0, r0
- adds r1, r0, 0
-_080A8BF8:
- strh r1, [r5, 0xA]
- strh r6, [r5, 0xC]
- strh r6, [r5, 0xE]
- ldr r4, =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x24]
- ldrh r2, [r5, 0x8]
- subs r1, r2
- strh r1, [r0, 0x24]
- ldr r0, =0x00002771
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x10]
- strh r6, [r5, 0x12]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- adds r0, 0x10
- lsls r0, 20
- lsrs r6, r0, 16
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r4, r0, 4
- ldrb r0, [r7]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- cmp r0, 0x14
- beq _080A8C54
- cmp r0, 0x28
- bne _080A8C68
-_080A8C54:
- movs r0, 0x2
- b _080A8C6A
- .pool
-_080A8C68:
- movs r0, 0x3
-_080A8C6A:
- strh r0, [r5, 0x14]
- lsls r0, r4, 1
- ldr r1, =gPlttBufferUnfaded
- adds r0, r1
- lsls r1, r6, 1
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- ldr r0, =gBattleAnimArgs
- ldrb r2, [r0, 0x2]
- ldrh r3, [r0]
- adds r0, r6, 0
- movs r1, 0x10
- bl BlendPalette
- ldr r0, =sub_80A8CAC
- str r0, [r5]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8BC4
-
- thumb_func_start sub_80A8CAC
-sub_80A8CAC: @ 80A8CAC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080A8D10
- cmp r0, 0x1
- bgt _080A8CD4
- cmp r0, 0
- beq _080A8CDA
- b _080A8D6C
- .pool
-_080A8CD4:
- cmp r0, 0x2
- beq _080A8D58
- b _080A8D6C
-_080A8CDA:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A8D78
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0xA]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0xE]
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080A8D6C
- strh r1, [r4, 0xE]
- b _080A8D4A
- .pool
-_080A8D10:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A8D78
- ldr r3, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x24]
- ldrh r2, [r4, 0xA]
- subs r1, r2
- strh r1, [r0, 0x24]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _080A8D6C
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- strh r2, [r1, 0x24]
-_080A8D4A:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- b _080A8D6C
- .pool
-_080A8D58:
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080A8D6C
- ldr r0, =0x00002771
- bl FreeSpritePaletteByTag
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080A8D6C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8CAC
-
- thumb_func_start sub_80A8D78
-sub_80A8D78: @ 80A8D78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r0, 0
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- lsrs r7, r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080A8DE8
- ldr r5, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r3, r4, r5
- movs r0, 0x3
- ldrb r1, [r6, 0x14]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldrb r1, [r6, 0x10]
- lsls r1, 4
- movs r2, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- movs r0, 0x8
- strh r0, [r3, 0x2E]
- mov r0, r8
- strh r0, [r3, 0x30]
- strh r7, [r3, 0x32]
- movs r0, 0x8
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x24]
- strh r0, [r3, 0x24]
- adds r5, 0x1C
- adds r4, r5
- ldr r0, =sub_80A8DFC
- str r0, [r4]
- ldrh r0, [r6, 0x12]
- adds r0, 0x1
- strh r0, [r6, 0x12]
-_080A8DE8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8D78
-
- thumb_func_start sub_80A8DFC
-sub_80A8DFC: @ 80A8DFC
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- subs r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080A8E26
- ldr r2, =gTasks
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x12]
- subs r1, 0x1
- strh r1, [r0, 0x12]
- adds r0, r3, 0
- bl obj_delete_but_dont_free_vram
-_080A8E26:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8DFC
-
- thumb_func_start sub_80A8E30
-sub_80A8E30: @ 80A8E30
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A8E68
- movs r0, 0x5
- b _080A8E6A
- .pool
-_080A8E68:
- ldr r0, =0x0000fff6
-_080A8E6A:
- strh r0, [r5, 0x2E]
- ldr r0, =0x0000ffd8
- strh r0, [r5, 0x30]
- ldr r0, =sub_80A8E88
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8E30
-
- thumb_func_start sub_80A8E88
-sub_80A8E88: @ 80A8E88
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r5, [r4, 0x30]
- ldrh r2, [r4, 0x34]
- adds r0, r5, r2
- strh r0, [r4, 0x34]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x26]
- lsls r0, r5, 16
- asrs r0, 16
- movs r1, 0x14
- negs r1, r1
- cmp r0, r1
- bge _080A8EC4
- adds r0, r5, 0x1
- strh r0, [r4, 0x30]
-_080A8EC4:
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080A8EDC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080A8EDC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8E88
-
- thumb_func_start sub_80A8EE4
-sub_80A8EE4: @ 80A8EE4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0xA]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080A8F24
- ldrh r0, [r5, 0x8]
- adds r0, 0x1E
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0xA]
- subs r0, 0x14
- b _080A8F32
- .pool
-_080A8F24:
- ldrh r0, [r5, 0x8]
- subs r0, 0x1E
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0xA]
- subs r0, 0x50
-_080A8F32:
- strh r0, [r4, 0x22]
- ldr r0, =sub_80A6EEC
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A8EE4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s
deleted file mode 100644
index f43b36452..000000000
--- a/asm/battle_anim_80A9C70.s
+++ /dev/null
@@ -1,930 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_80A9C70
-sub_80A9C70: @ 80A9C70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r6, [r0]
- ldr r0, =sub_80A9DB4
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gBattleAnimPicTable + 0x440
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gBattleAnimPaletteTable + 0x440
- bl LoadCompressedObjectPaletteUsingHeap
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- strh r4, [r1, 0x8]
- cmp r5, 0
- beq _080A9D30
- movs r0, 0x1F
- strh r0, [r1, 0xA]
- movs r5, 0
- lsls r0, r6, 4
- ldr r7, =gSprites
- adds r0, r6
- lsls r0, 2
- adds r6, r0, r7
-_080A9CC4:
- movs r0, 0x20
- ldrsh r1, [r6, r0]
- ldrh r2, [r6, 0x22]
- adds r2, 0x20
- lsls r2, 16
- asrs r2, 16
- ldr r0, =gUnknown_0853EF60
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r3, r0, r7
- lsls r0, r5, 1
- adds r0, r5
- lsls r1, r0, 4
- adds r0, r1
- strh r0, [r3, 0x2E]
- movs r0, 0xFF
- lsls r0, 8
- strh r0, [r3, 0x30]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- cmp r5, 0x4
- bls _080A9D08
- movs r0, 0x15
- strh r0, [r3, 0x3A]
-_080A9D08:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _080A9CC4
- b _080A9D90
- .pool
-_080A9D30:
- movs r0, 0xF8
- lsls r0, 7
- strh r0, [r1, 0xA]
- movs r5, 0
- lsls r0, r6, 4
- ldr r7, =gSprites
- adds r0, r6
- lsls r0, 2
- adds r6, r0, r7
-_080A9D42:
- movs r2, 0x20
- ldrsh r1, [r6, r2]
- ldrh r2, [r6, 0x22]
- subs r2, 0x20
- lsls r2, 16
- asrs r2, 16
- ldr r0, =gUnknown_0853EF60
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r3, r0, r7
- lsls r0, r5, 1
- adds r0, r5
- lsls r1, r0, 4
- adds r0, r1
- strh r0, [r3, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r3, 0x30]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- cmp r5, 0x4
- bls _080A9D86
- movs r0, 0x15
- strh r0, [r3, 0x3A]
-_080A9D86:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _080A9D42
-_080A9D90:
- ldr r0, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x3C]
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A9C70
-
- thumb_func_start sub_80A9DB4
-sub_80A9DB4: @ 80A9DB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x2
- bne _080A9E3A
- movs r0, 0
- strh r0, [r4, 0xC]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 20
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r0, 16
- ldrb r2, [r4, 0x10]
- ldrh r3, [r4, 0xA]
- movs r1, 0x10
- bl BlendPalette
- ldrh r2, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A9E10
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080A9E3E
- movs r0, 0x1
- eors r0, r2
- strh r0, [r4, 0x12]
- b _080A9E3E
- .pool
-_080A9E10:
- ldrh r1, [r4, 0x10]
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bge _080A9E3E
- strh r1, [r4, 0x10]
- movs r0, 0x1
- eors r0, r2
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080A9E3E
- adds r0, r5, 0
- bl DestroyTask
- b _080A9E3E
-_080A9E3A:
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
-_080A9E3E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A9DB4
-
- thumb_func_start sub_80A9E44
-sub_80A9E44: @ 80A9E44
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080A9E70
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- ldr r1, =sub_80A9E78
- str r1, [r2, 0x1C]
- adds r0, r2, 0
- bl _call_via_r1
- b _080A9E74
- .pool
-_080A9E70:
- subs r0, r1, 0x1
- strh r0, [r2, 0x3A]
-_080A9E74:
- pop {r0}
- bx r0
- thumb_func_end sub_80A9E44
-
- thumb_func_start sub_80A9E78
-sub_80A9E78: @ 80A9E78
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- bgt _080A9EA4
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1D
- b _080A9EAA
-_080A9EA4:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1F
-_080A9EAA:
- strb r0, [r1]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- 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
- cmp r0, 0x34
- bne _080A9EEC
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A9EE6
- adds r0, r4, 0
- bl DestroySpriteAndFreeResources
- b _080A9EEC
-_080A9EE6:
- adds r0, r4, 0
- bl DestroySprite
-_080A9EEC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A9E78
-
- thumb_func_start sub_80A9EF4
-sub_80A9EF4: @ 80A9EF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- ldr r1, =0xffe00000
- adds r0, r1
- lsrs r5, r0, 16
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- ldr r1, =0xffdc0000
- adds r0, r1
- lsrs r4, r0, 16
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080A9F32
- lsls r0, r5, 16
- ldr r1, =0xfffa0000
- adds r0, r1
- lsrs r5, r0, 16
-_080A9F32:
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =gUnknown_0853EF48
- lsls r1, r5, 16
- asrs r1, 16
- lsls r2, r4, 16
- asrs r2, 16
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =0x0000271a
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _080A9F7C
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080A9F7C:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldr r1, =gUnknown_0853EF40
- bl SetSubspriteTables
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x26]
- ldr r1, =sub_80A9FD0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A9EF4
-
- thumb_func_start sub_80A9FD0
-sub_80A9FD0: @ 80A9FD0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- adds r2, r0, 0
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080AA004
- ldr r0, =sub_80AA020
- str r0, [r1]
- movs r0, 0
- strh r0, [r1, 0xA]
- b _080AA01A
- .pool
-_080AA004:
- lsls r0, r2, 24
- lsrs r0, 24
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_080AA01A:
- pop {r0}
- bx r0
- thumb_func_end sub_80A9FD0
-
- thumb_func_start sub_80AA020
-sub_80AA020: @ 80AA020
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x0000271a
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0xA]
- adds r1, r0, 0x1
- strh r1, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- ble _080AA0B0
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080AA0B0
- ldr r3, =gPlttBufferFaded
- lsls r2, 4
- mov r12, r2
- ldr r1, =0x0000010d
- add r1, r12
- lsls r1, 1
- adds r1, r3
- ldrh r4, [r1]
- movs r2, 0x87
- lsls r2, 1
- add r2, r12
- lsls r2, 1
- adds r2, r3
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r0, =0x0000010f
- add r0, r12
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- strh r1, [r2]
- strh r4, [r0]
- strh r6, [r5, 0xC]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080AA0B0
- strh r6, [r5, 0xE]
- strh r6, [r5, 0xA]
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080AA0B0
- movs r0, 0x9
- strh r0, [r5, 0xA]
- ldr r0, =sub_80AA0D0
- str r0, [r5]
-_080AA0B0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AA020
-
- thumb_func_start sub_80AA0D0
-sub_80AA0D0: @ 80AA0D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- adds r3, r0, 0
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080AA108
- ldr r0, =sub_80AA124
- str r0, [r2]
- movs r0, 0
- strh r0, [r2, 0xA]
- b _080AA11E
- .pool
-_080AA108:
- lsls r0, r3, 24
- lsrs r0, 24
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_080AA11E:
- pop {r0}
- bx r0
- thumb_func_end sub_80AA0D0
-
- thumb_func_start sub_80AA124
-sub_80AA124: @ 80AA124
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x25
- bne _080AA16C
- ldrh r0, [r1, 0x26]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- b _080AA186
- .pool
-_080AA16C:
- cmp r0, 0x27
- bne _080AA186
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080AA186:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AA124
-
- thumb_func_start AnimTask_StatsChange
-AnimTask_StatsChange: @ 80AA18C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrh r0, [r0]
- subs r0, 0xF
- cmp r0, 0x2B
- bls _080AA1A4
- b _080AA328
-_080AA1A4:
- lsls r0, 2
- ldr r1, =_080AA1B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AA1B8:
- .4byte _080AA268
- .4byte _080AA26E
- .4byte _080AA274
- .4byte _080AA27A
- .4byte _080AA280
- .4byte _080AA286
- .4byte _080AA28C
- .4byte _080AA292
- .4byte _080AA298
- .4byte _080AA29E
- .4byte _080AA2A4
- .4byte _080AA2AA
- .4byte _080AA2B0
- .4byte _080AA2B6
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA2BC
- .4byte _080AA2C0
- .4byte _080AA2C4
- .4byte _080AA2C8
- .4byte _080AA2CC
- .4byte _080AA2D0
- .4byte _080AA2D4
- .4byte _080AA2D8
- .4byte _080AA2E0
- .4byte _080AA2E8
- .4byte _080AA2F0
- .4byte _080AA2F8
- .4byte _080AA300
- .4byte _080AA308
- .4byte _080AA328
- .4byte _080AA328
- .4byte _080AA310
- .4byte _080AA314
- .4byte _080AA318
- .4byte _080AA320
-_080AA268:
- movs r5, 0
- movs r2, 0
- b _080AA330
-_080AA26E:
- movs r5, 0
- movs r2, 0x1
- b _080AA330
-_080AA274:
- movs r5, 0
- movs r2, 0x3
- b _080AA330
-_080AA27A:
- movs r5, 0
- movs r2, 0x5
- b _080AA330
-_080AA280:
- movs r5, 0
- movs r2, 0x6
- b _080AA330
-_080AA286:
- movs r5, 0
- movs r2, 0x2
- b _080AA330
-_080AA28C:
- movs r5, 0
- movs r2, 0x4
- b _080AA330
-_080AA292:
- movs r5, 0x1
- movs r2, 0
- b _080AA330
-_080AA298:
- movs r5, 0x1
- movs r2, 0x1
- b _080AA330
-_080AA29E:
- movs r5, 0x1
- movs r2, 0x3
- b _080AA330
-_080AA2A4:
- movs r5, 0x1
- movs r2, 0x5
- b _080AA330
-_080AA2AA:
- movs r5, 0x1
- movs r2, 0x6
- b _080AA330
-_080AA2B0:
- movs r5, 0x1
- movs r2, 0x2
- b _080AA330
-_080AA2B6:
- movs r5, 0x1
- movs r2, 0x4
- b _080AA330
-_080AA2BC:
- movs r5, 0
- b _080AA2DA
-_080AA2C0:
- movs r5, 0
- b _080AA2E2
-_080AA2C4:
- movs r5, 0
- b _080AA2EA
-_080AA2C8:
- movs r5, 0
- b _080AA2F2
-_080AA2CC:
- movs r5, 0
- b _080AA2FA
-_080AA2D0:
- movs r5, 0
- b _080AA302
-_080AA2D4:
- movs r5, 0
- b _080AA30A
-_080AA2D8:
- movs r5, 0x1
-_080AA2DA:
- movs r2, 0
- movs r3, 0x1
- b _080AA330
-_080AA2E0:
- movs r5, 0x1
-_080AA2E2:
- movs r2, 0x1
- movs r3, 0x1
- b _080AA330
-_080AA2E8:
- movs r5, 0x1
-_080AA2EA:
- movs r2, 0x3
- movs r3, 0x1
- b _080AA330
-_080AA2F0:
- movs r5, 0x1
-_080AA2F2:
- movs r2, 0x5
- movs r3, 0x1
- b _080AA330
-_080AA2F8:
- movs r5, 0x1
-_080AA2FA:
- movs r2, 0x6
- movs r3, 0x1
- b _080AA330
-_080AA300:
- movs r5, 0x1
-_080AA302:
- movs r2, 0x2
- movs r3, 0x1
- b _080AA330
-_080AA308:
- movs r5, 0x1
-_080AA30A:
- movs r2, 0x4
- movs r3, 0x1
- b _080AA330
-_080AA310:
- movs r5, 0
- b _080AA31A
-_080AA314:
- movs r5, 0
- b _080AA322
-_080AA318:
- movs r5, 0x1
-_080AA31A:
- movs r2, 0xFF
- movs r3, 0
- b _080AA330
-_080AA320:
- movs r5, 0x1
-_080AA322:
- movs r2, 0xFF
- movs r3, 0x1
- b _080AA330
-_080AA328:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080AA352
-_080AA330:
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- strh r5, [r0]
- strh r2, [r0, 0x2]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- strh r3, [r0, 0x8]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8116EB4
- str r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080AA352:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_StatsChange
-
- thumb_func_start LaunchStatusAnimation
-LaunchStatusAnimation: @ 80AA364
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gBattleAnimAttacker
- strb r4, [r0]
- ldr r0, =gBattleAnimTarget
- strb r4, [r0]
- ldr r0, =gBattleAnims_StatusConditions
- movs r2, 0
- bl LaunchBattleAnimation
- ldr r0, =task0A_80788BC
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LaunchStatusAnimation
-
- thumb_func_start task0A_80788BC
-task0A_80788BC: @ 80AA3B4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AA3F6
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- ldr r2, [r2, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_080AA3F6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task0A_80788BC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80D51AC.s b/asm/battle_anim_80D51AC.s
deleted file mode 100644
index 0b0378a99..000000000
--- a/asm/battle_anim_80D51AC.s
+++ /dev/null
@@ -1,2446 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AnimTask_ShakeMon
-AnimTask_ShakeMon: @ 80D51AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080D51D0
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D520C
- .pool
-_080D51D0:
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x26]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x8]
- ldrh r1, [r4, 0x6]
- strh r1, [r0, 0xA]
- ldrh r1, [r4, 0x8]
- strh r1, [r0, 0xC]
- ldrh r1, [r4, 0x8]
- strh r1, [r0, 0xE]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x10]
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x12]
- ldr r1, =sub_80D5220
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080D520C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_ShakeMon
-
- thumb_func_start sub_80D5220
-sub_80D5220: @ 80D5220
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0xE]
- movs r2, 0xE
- ldrsh r5, [r3, r2]
- adds r7, r1, 0
- cmp r5, 0
- bne _080D52C6
- ldr r2, =gSprites
- movs r6, 0x8
- ldrsh r1, [r3, r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r6, 0x24
- ldrsh r0, [r1, r6]
- adds r6, r2, 0
- cmp r0, 0
- bne _080D5264
- ldrh r0, [r3, 0x10]
- strh r0, [r1, 0x24]
- b _080D5266
- .pool
-_080D5264:
- strh r5, [r1, 0x24]
-_080D5266:
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r7
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- movs r5, 0x26
- ldrsh r0, [r1, r5]
- cmp r0, 0
- bne _080D5286
- ldrh r0, [r3, 0x12]
- b _080D5288
-_080D5286:
- movs r0, 0
-_080D5288:
- strh r0, [r1, 0x26]
- adds r0, r2, r4
- lsls r0, 3
- adds r2, r0, r7
- ldrh r0, [r2, 0xC]
- strh r0, [r2, 0xE]
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bne _080D52CA
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r3, [r0, 0x24]
- movs r5, 0x8
- ldrsh r1, [r2, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r3, [r0, 0x26]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080D52CA
-_080D52C6:
- subs r0, 0x1
- strh r0, [r3, 0xE]
-_080D52CA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5220
-
- thumb_func_start AnimTask_ShakeMon2
-AnimTask_ShakeMon2: @ 80D52D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2]
- movs r3, 0
- ldrsh r1, [r2, r3]
- cmp r1, 0x3
- bgt _080D52FC
- lsls r0, 24
- lsrs r0, 24
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080D5352
- b _080D5356
- .pool
-_080D52FC:
- cmp r1, 0x8
- beq _080D5348
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x5
- beq _080D531C
- cmp r0, 0x5
- bgt _080D5312
- cmp r0, 0x4
- beq _080D5318
- b _080D5324
-_080D5312:
- cmp r0, 0x6
- beq _080D5320
- b _080D5324
-_080D5318:
- movs r0, 0
- b _080D5326
-_080D531C:
- movs r0, 0x2
- b _080D5326
-_080D5320:
- movs r0, 0x1
- b _080D5326
-_080D5324:
- movs r0, 0x3
-_080D5326:
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _080D533C
- movs r6, 0x1
-_080D533C:
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- b _080D5350
- .pool
-_080D5348:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
-_080D5350:
- ldrb r3, [r0]
-_080D5352:
- cmp r6, 0
- beq _080D5368
-_080D5356:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D53A6
- .pool
-_080D5368:
- ldr r1, =gSprites
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x24]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x26]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x8]
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0xE]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x10]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x12]
- ldr r1, =sub_80D53BC
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080D53A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_ShakeMon2
-
- thumb_func_start sub_80D53BC
-sub_80D53BC: @ 80D53BC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r1
- ldrh r2, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- mov r12, r1
- cmp r0, 0
- bne _080D5474
- ldr r2, =gSprites
- movs r7, 0x8
- ldrsh r1, [r3, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- ldrh r5, [r3, 0x10]
- movs r7, 0x10
- ldrsh r0, [r3, r7]
- adds r7, r2, 0
- cmp r1, r0
- bne _080D5408
- negs r0, r5
- strh r0, [r4, 0x24]
- b _080D540A
- .pool
-_080D5408:
- strh r5, [r4, 0x24]
-_080D540A:
- lsls r3, r6, 2
- adds r1, r3, r6
- lsls r1, 3
- add r1, r12
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r7
- movs r0, 0x26
- ldrsh r2, [r4, r0]
- mov r8, r2
- ldrh r5, [r1, 0x12]
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- cmp r8, r0
- bne _080D5434
- negs r0, r5
- strh r0, [r4, 0x26]
- b _080D5436
-_080D5434:
- strh r5, [r4, 0x26]
-_080D5436:
- adds r0, r3, r6
- lsls r0, 3
- mov r4, r12
- adds r3, r0, r4
- ldrh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _080D5478
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x24]
- movs r4, 0x8
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _080D5478
-_080D5474:
- subs r0, r2, 0x1
- strh r0, [r3, 0xE]
-_080D5478:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D53BC
-
- thumb_func_start AnimTask_ShakeMonInPlace
-AnimTask_ShakeMonInPlace: @ 80D5484
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080D54A8
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D54F6
- .pool
-_080D54A8:
- ldr r0, =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x2]
- ldrh r2, [r1, 0x24]
- adds r0, r2
- movs r2, 0
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x4]
- ldrh r6, [r1, 0x26]
- adds r0, r6
- strh r0, [r1, 0x26]
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- strh r3, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldrh r0, [r4, 0x6]
- strh r0, [r1, 0xC]
- strh r2, [r1, 0xE]
- ldrh r0, [r4, 0x8]
- strh r0, [r1, 0x10]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 1
- strh r0, [r1, 0x12]
- movs r6, 0x4
- ldrsh r0, [r4, r6]
- lsls r0, 1
- strh r0, [r1, 0x14]
- ldr r2, =sub_80D5508
- str r2, [r1]
- adds r0, r5, 0
- bl _call_via_r2
-_080D54F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_ShakeMonInPlace
-
- thumb_func_start sub_80D5508
-sub_80D5508: @ 80D5508
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- adds r6, r1, 0
- cmp r0, 0
- beq _080D5526
- b _080D5638
-_080D5526:
- ldrh r1, [r4, 0xA]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D5568
- ldr r2, =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 r3, [r0, 0x24]
- adds r1, r3
- strh r1, [r0, 0x24]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x14]
- ldrh r3, [r0, 0x26]
- adds r1, r3
- strh r1, [r0, 0x26]
- adds r3, r2, 0
- b _080D5592
- .pool
-_080D5568:
- ldr r3, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x24]
- ldrh r2, [r4, 0x12]
- subs r1, r2
- strh r1, [r0, 0x24]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- ldrh r2, [r4, 0x14]
- subs r1, r2
- strh r1, [r0, 0x26]
-_080D5592:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- ldrh r0, [r4, 0x10]
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0xA]
- adds r2, r0, 0x1
- strh r2, [r4, 0xA]
- lsls r0, r2, 16
- asrs r0, 16
- movs r6, 0xC
- ldrsh r1, [r4, r6]
- cmp r0, r1
- blt _080D563C
- movs r0, 0x1
- ands r2, r0
- cmp r2, 0
- beq _080D55F8
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- ldrh r6, [r1, 0x24]
- adds r0, r6
- strh r0, [r1, 0x24]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- ldrh r3, [r1, 0x26]
- adds r0, r3
- strh r0, [r1, 0x26]
- b _080D5630
- .pool
-_080D55F8:
- movs r6, 0x8
- ldrsh r0, [r4, r6]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r2, 0x26]
- subs r0, r1
- strh r0, [r2, 0x26]
-_080D5630:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D563C
-_080D5638:
- subs r0, r2, 0x1
- strh r0, [r4, 0xE]
-_080D563C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5508
-
- thumb_func_start AnimTask_ShakeAndSinkMon
-AnimTask_ShakeAndSinkMon: @ 80D5644
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gBattleAnimArgs
- ldrb r0, [r5]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r5, 0x2]
- strh r2, [r1, 0x24]
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x8]
- ldrh r0, [r5, 0x2]
- strh r0, [r1, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r1, 0x10]
- ldr r2, =sub_80D56A4
- str r2, [r1]
- adds r0, r4, 0
- bl _call_via_r2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_ShakeAndSinkMon
-
- thumb_func_start sub_80D56A4
-sub_80D56A4: @ 80D56A4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r2
- ldrb r5, [r3, 0x8]
- ldrh r4, [r3, 0xA]
- ldrh r1, [r3, 0x18]
- adds r0, r1, 0x1
- strh r0, [r3, 0x18]
- movs r7, 0xC
- ldrsh r0, [r3, r7]
- lsls r1, 16
- asrs r1, 16
- mov r12, r2
- ldr r7, =gSprites
- cmp r0, r1
- bne _080D56F6
- movs r0, 0
- strh r0, [r3, 0x18]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, r0, r7
- ldrh r3, [r1, 0x24]
- movs r0, 0x24
- ldrsh r2, [r1, r0]
- lsls r0, r4, 16
- asrs r0, 16
- cmp r2, r0
- bne _080D56EE
- negs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
-_080D56EE:
- lsls r0, r4, 16
- asrs r0, 16
- adds r0, r3
- strh r0, [r1, 0x24]
-_080D56F6:
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 3
- add r2, r12
- strh r4, [r2, 0xA]
- ldrh r1, [r2, 0xE]
- ldrh r0, [r2, 0x1A]
- adds r1, r0
- strh r1, [r2, 0x1A]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r7
- lsls r1, 16
- asrs r1, 24
- strh r1, [r0, 0x26]
- ldrh r0, [r2, 0x10]
- subs r0, 0x1
- strh r0, [r2, 0x10]
- lsls r0, 16
- cmp r0, 0
- bne _080D5728
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080D5728:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D56A4
-
- thumb_func_start sub_80D5738
-sub_80D5738: @ 80D5738
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x1
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r7, r0, 24
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- ble _080D575C
- movs r0, 0x5
- strh r0, [r4, 0x8]
-_080D575C:
- movs r1, 0
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- adds r3, r4, 0
- ldr r2, =gTasks
- mov r12, r2
- lsls r4, r5, 2
- ldr r2, =sub_80D57B8
- mov r8, r2
- cmp r1, r0
- bge _080D5782
- adds r2, r0, 0
-_080D5774:
- lsls r0, r6, 25
- lsrs r6, r0, 24
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- blt _080D5774
-_080D5782:
- adds r0, r4, r5
- lsls r0, 3
- add r0, r12
- strh r7, [r0, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0xE]
- strh r6, [r0, 0x10]
- mov r1, r8
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5738
-
- thumb_func_start sub_80D57B8
-sub_80D57B8: @ 80D57B8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrb r4, [r5, 0x8]
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- bl Sin
- ldr r2, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r4, r1, r2
- strh r0, [r4, 0x24]
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r5, 0xC]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x10]
- ldrh r1, [r5, 0x12]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x12]
- cmp r0, 0
- bne _080D5810
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
-_080D5810:
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080D5822
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080D5822:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D57B8
-
- thumb_func_start AnimTask_TranslateMonEllipticalRespectSide
-AnimTask_TranslateMonEllipticalRespectSide: @ 80D5830
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D584C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080D584C:
- adds r0, r4, 0
- bl sub_80D5738
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_TranslateMonEllipticalRespectSide
-
- thumb_func_start sub_80D5860
-sub_80D5860: @ 80D5860
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5890
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- b _080D5894
- .pool
-_080D5890:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
-_080D5894:
- strh r0, [r4, 0x30]
- ldrh r2, [r1]
- movs r0, 0
- strh r2, [r4, 0x2E]
- strh r0, [r4, 0x32]
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x34]
- strh r2, [r4, 0x36]
- ldr r1, =sub_80D58D4
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6630
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5860
-
- thumb_func_start sub_80D58D4
-sub_80D58D4: @ 80D58D4
- push {lr}
- ldrh r1, [r0, 0x36]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x30]
- negs r1, r1
- strh r1, [r0, 0x30]
- ldr r1, =sub_80A6630
- str r1, [r0, 0x1C]
- ldr r1, =DestroyAnimSprite
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D58D4
-
- thumb_func_start sub_80D58F8
-sub_80D58F8: @ 80D58F8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r5, =gBattleAnimArgs
- ldrb r0, [r5, 0x4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r5]
- movs r1, 0
- strh r2, [r4, 0x2E]
- strh r1, [r4, 0x30]
- ldrh r1, [r5, 0x2]
- strh r1, [r4, 0x32]
- strh r0, [r4, 0x34]
- strh r2, [r4, 0x36]
- ldr r1, =sub_80D5944
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6630
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D58F8
-
- thumb_func_start sub_80D5944
-sub_80D5944: @ 80D5944
- push {lr}
- ldrh r1, [r0, 0x36]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x32]
- negs r1, r1
- strh r1, [r0, 0x32]
- ldr r1, =sub_80A6630
- str r1, [r0, 0x1C]
- ldr r1, =DestroyAnimSprite
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5944
-
- thumb_func_start sub_80D5968
-sub_80D5968: @ 80D5968
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D598C
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- b _080D5990
- .pool
-_080D598C:
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimTarget
-_080D5990:
- ldrb r0, [r0]
- adds r0, r1
- ldrb r7, [r0]
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x4]
- movs r3, 0
- strh r0, [r6, 0x2E]
- ldr r0, =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r6, 0x30]
- ldrh r0, [r4, 0x20]
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x22]
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- str r3, [sp]
- bl sub_80A6E14
- ldr r3, [sp]
- strh r3, [r6, 0x34]
- strh r3, [r6, 0x36]
- ldrh r0, [r4, 0x24]
- strh r0, [r6, 0x38]
- ldrh r0, [r4, 0x26]
- strh r0, [r6, 0x3A]
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080D5A00
- strh r3, [r6, 0x32]
- b _080D5A06
- .pool
-_080D5A00:
- cmp r0, 0x2
- bne _080D5A06
- strh r3, [r6, 0x30]
-_080D5A06:
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x2]
- lsls r0, r7, 8
- orrs r0, r1
- strh r0, [r6, 0x3C]
- ldr r0, =sub_80D5A24
- str r0, [r6, 0x1C]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5968
-
- thumb_func_start sub_80D5A24
-sub_80D5A24: @ 80D5A24
- push {r4-r6,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x3C]
- lsls r1, r0, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- lsls r0, 16
- asrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r3, r1, r0
- ldrh r0, [r2, 0x2E]
- movs r6, 0x2E
- ldrsh r1, [r2, r6]
- cmp r1, 0
- bne _080D5A64
- cmp r4, 0x1
- bhi _080D5A4E
- strh r1, [r3, 0x24]
-_080D5A4E:
- cmp r5, 0x2
- beq _080D5A56
- cmp r5, 0
- bne _080D5A58
-_080D5A56:
- strh r1, [r3, 0x26]
-_080D5A58:
- adds r0, r2, 0
- bl DestroyAnimSprite
- b _080D5A8E
- .pool
-_080D5A64:
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- adds r1, r0
- strh r1, [r2, 0x34]
- ldrh r0, [r2, 0x32]
- ldrh r4, [r2, 0x36]
- adds r0, r4
- strh r0, [r2, 0x36]
- lsls r1, 16
- asrs r1, 24
- ldrh r6, [r2, 0x38]
- adds r1, r6
- strh r1, [r3, 0x24]
- ldrh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r2, 0x3A]
- adds r0, r2
- strh r0, [r3, 0x26]
-_080D5A8E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5A24
-
- thumb_func_start sub_80D5A94
-sub_80D5A94: @ 80D5A94
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D5AB0
- ldr r0, =gBattleAnimAttacker
- b _080D5AB2
- .pool
-_080D5AB0:
- ldr r0, =gBattleAnimTarget
-_080D5AB2:
- ldrb r2, [r0]
- ldr r0, =gBattlerSpriteIds
- adds r0, r2, r0
- ldrb r6, [r0]
- adds r0, r2, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5ADC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080D5ADC
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080D5ADC:
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2, 0x8]
- movs r4, 0
- strh r0, [r5, 0x2E]
- ldr r0, =gSprites
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r2, 0x2]
- ldrh r3, [r1, 0x20]
- adds r0, r3
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x22]
- strh r0, [r5, 0x34]
- ldrh r0, [r2, 0x4]
- ldrh r1, [r1, 0x22]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_80A6E14
- strh r4, [r5, 0x34]
- strh r4, [r5, 0x36]
- strh r6, [r5, 0x38]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6680
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5A94
-
- thumb_func_start sub_80D5B48
-sub_80D5B48: @ 80D5B48
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D5B70
- ldr r0, =gBattleAnimAttacker
- b _080D5B72
- .pool
-_080D5B70:
- ldr r0, =gBattleAnimTarget
-_080D5B72:
- ldrb r1, [r0]
- ldr r0, =gBattlerSpriteIds
- adds r0, r1, r0
- ldrb r7, [r0]
- adds r0, r1, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5B9C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080D5B9C
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080D5B9C:
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x8]
- strh r0, [r6, 0x2E]
- ldr r0, =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r6, 0x30]
- ldrh r1, [r5, 0x2]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r6, 0x34]
- ldrh r1, [r5, 0x4]
- adds r0, r1
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl sub_80A6E14
- ldrh r0, [r4, 0x24]
- lsls r0, 8
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x26]
- lsls r0, 8
- strh r0, [r6, 0x36]
- strh r7, [r6, 0x38]
- ldrh r0, [r5, 0xA]
- strh r0, [r6, 0x3A]
- lsls r0, 16
- cmp r0, 0
- bne _080D5C04
- ldr r1, =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- b _080D5C0C
- .pool
-_080D5C04:
- ldr r1, =sub_80D5C20
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
-_080D5C0C:
- ldr r0, =sub_80A6680
- str r0, [r6, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5B48
-
- thumb_func_start sub_80D5C20
-sub_80D5C20: @ 80D5C20
- push {r4,lr}
- ldr r4, =gSprites
- movs r1, 0x38
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- movs r3, 0
- strh r3, [r1, 0x24]
- movs r1, 0x38
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r3, [r1, 0x26]
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5C20
-
- thumb_func_start AnimTask_WindUpLunge
-AnimTask_WindUpLunge: @ 80D5C50
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gBattleAnimArgs
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5C82
- ldrh r0, [r5, 0x2]
- negs r0, r0
- strh r0, [r5, 0x2]
- ldrh r0, [r5, 0xA]
- negs r0, r0
- strh r0, [r5, 0xA]
-_080D5C82:
- ldrb r0, [r5]
- bl GetAnimBattlerSpriteId
- ldr r1, =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r1
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0x12]
- ldrh r0, [r5, 0xC]
- strh r0, [r4, 0x14]
- strh r7, [r4, 0x16]
- ldr r0, =sub_80D5CE4
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_WindUpLunge
-
- thumb_func_start sub_80D5CE4
-sub_80D5CE4: @ 80D5CE4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrb r1, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- ldrh r2, [r5, 0x1E]
- adds r0, r2
- strh r0, [r5, 0x1E]
- ldr r2, =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r2
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x1C]
- lsrs r0, 8
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x16]
- ldrh r1, [r5, 0x1C]
- adds r0, r1
- strh r0, [r5, 0x1C]
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _080D5D34
- ldr r0, =sub_80D5D48
- str r0, [r5]
-_080D5D34:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5CE4
-
- thumb_func_start sub_80D5D48
-sub_80D5D48: @ 80D5D48
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080D5D70
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
- b _080D5DA4
- .pool
-_080D5D70:
- ldrb r0, [r4, 0x8]
- ldrh r2, [r4, 0x12]
- ldrh r1, [r4, 0x20]
- adds r2, r1
- strh r2, [r4, 0x20]
- ldr r3, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- lsls r2, 16
- asrs r2, 24
- ldrh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 24
- adds r2, r0
- strh r2, [r1, 0x24]
- ldrh r0, [r4, 0x14]
- subs r0, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _080D5DA4
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080D5DA4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5D48
-
- thumb_func_start sub_80D5DB0
-sub_80D5DB0: @ 80D5DB0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- beq _080D5DDE
- cmp r0, 0x2
- bgt _080D5DD8
- cmp r0, 0
- blt _080D5E10
- ldrb r0, [r1]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r2, r0, 24
- b _080D5E18
- .pool
-_080D5DD8:
- cmp r0, 0x3
- beq _080D5DE8
- b _080D5E10
-_080D5DDE:
- ldr r5, =gBattleAnimAttacker
- b _080D5DEA
- .pool
-_080D5DE8:
- ldr r5, =gBattleAnimTarget
-_080D5DEA:
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _080D5E10
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r5]
- eors r0, r4
- adds r0, r1
- ldrb r2, [r0]
- b _080D5E18
- .pool
-_080D5E10:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _080D5E58
-_080D5E18:
- ldr r1, =gTasks
- lsls r4, r6, 2
- adds r0, r4, r6
- lsls r0, 3
- adds r5, r0, r1
- strh r2, [r5, 0x8]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5E44
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x2]
- b _080D5E4A
- .pool
-_080D5E44:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x2]
- negs r0, r0
-_080D5E4A:
- strh r0, [r5, 0xA]
- ldr r0, =gTasks
- adds r1, r4, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80D5E6C
- str r0, [r1]
-_080D5E58:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5DB0
-
- thumb_func_start sub_80D5E6C
-sub_80D5E6C: @ 80D5E6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r2, [r1, 0x8]
- ldr r3, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r1, 0xA]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r1, r0
- adds r1, 0x20
- movs r0, 0x98
- lsls r0, 1
- cmp r1, r0
- bls _080D5EAA
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080D5EAA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5E6C
-
- thumb_func_start AnimTask_SwayMon
-AnimTask_SwayMon: @ 80D5EB8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D5ED4
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080D5ED4:
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4, 0x8]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r3, r5, 2
- adds r1, r3, r5
- lsls r1, 3
- adds r2, r1, r2
- ldrh r1, [r4]
- strh r1, [r2, 0x8]
- ldrh r1, [r4, 0x2]
- strh r1, [r2, 0xA]
- ldrh r1, [r4, 0x4]
- strh r1, [r2, 0xC]
- ldrh r1, [r4, 0x6]
- strh r1, [r2, 0xE]
- strh r0, [r2, 0x10]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D5F14
- ldrb r0, [r6]
- b _080D5F18
- .pool
-_080D5F14:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
-_080D5F18:
- strh r0, [r2, 0x12]
- ldr r1, =gTasks
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x20]
- ldr r1, =sub_80D5F3C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_SwayMon
-
- thumb_func_start sub_80D5F3C
-sub_80D5F3C: @ 80D5F3C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrb r7, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- lsls r1, r0, 16
- strh r0, [r4, 0x1C]
- lsrs r1, 24
- mov r8, r1
- mov r0, r8
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- bl Sin
- lsls r0, 16
- lsrs r5, r0, 16
- mov r9, r5
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D5F94
- ldr r0, =gSprites
- lsls r2, r7, 4
- adds r1, r2, r7
- lsls r1, 2
- adds r1, r0
- strh r5, [r1, 0x24]
- mov r9, r0
- adds r4, r2, 0
- b _080D5FDA
- .pool
-_080D5F94:
- ldrb r0, [r4, 0x12]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080D5FBC
- ldr r1, =gSprites
- lsls r2, r7, 4
- adds r0, r2, r7
- lsls r0, 2
- adds r3, r0, r1
- lsls r0, r5, 16
- asrs r0, 16
- mov r9, r1
- adds r4, r2, 0
- cmp r0, 0
- bge _080D5FD8
- b _080D5FD6
- .pool
-_080D5FBC:
- ldr r1, =gSprites
- lsls r2, r7, 4
- adds r0, r2, r7
- lsls r0, 2
- adds r3, r0, r1
- mov r4, r9
- lsls r0, r4, 16
- asrs r0, 16
- mov r9, r1
- adds r4, r2, 0
- cmp r0, 0
- bge _080D5FD6
- negs r0, r0
-_080D5FD6:
- negs r0, r0
-_080D5FD8:
- strh r0, [r3, 0x26]
-_080D5FDA:
- mov r5, r8
- cmp r5, 0x7F
- bls _080D5FFC
- ldr r1, =gTasks
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0x1E
- ldrsh r0, [r3, r5]
- adds r5, r1, 0
- cmp r0, 0
- bne _080D5FFC
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _080D601E
-_080D5FFC:
- mov r2, r8
- cmp r2, 0x7E
- bhi _080D6050
- ldr r1, =gTasks
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0x1E
- ldrsh r0, [r3, r5]
- adds r5, r1, 0
- cmp r0, 0x1
- bne _080D6050
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080D6050
-_080D601E:
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r5
- ldrh r0, [r1, 0x1E]
- movs r2, 0x1
- eors r0, r2
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- eors r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0xE]
- subs r0, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bne _080D6050
- adds r0, r4, r7
- lsls r0, 2
- add r0, r9
- strh r3, [r0, 0x24]
- strh r3, [r0, 0x26]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080D6050:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5F3C
-
- thumb_func_start AnimTask_ScaleMonAndRestore
-AnimTask_ScaleMonAndRestore: @ 80D6064
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gBattleAnimArgs
- ldrb r0, [r6, 0x6]
- bl GetAnimBattlerSpriteId
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r1, [r6, 0x8]
- adds r0, r5, 0
- bl sub_80A7270
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r6]
- strh r1, [r0, 0x8]
- ldrh r1, [r6, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r6, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r6, 0x4]
- strh r1, [r0, 0xE]
- strh r5, [r0, 0x10]
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0x1C]
- strh r1, [r0, 0x1E]
- ldr r1, =sub_80D60BC
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_ScaleMonAndRestore
-
- thumb_func_start sub_80D60BC
-sub_80D60BC: @ 80D60BC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0xA]
- ldrh r3, [r4, 0x1E]
- adds r0, r3
- strh r0, [r4, 0x1E]
- ldrb r0, [r4, 0x10]
- adds r6, r0, 0
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- movs r3, 0x1E
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080D612C
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- ble _080D6120
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- negs r0, r0
- strh r0, [r4, 0xA]
- strh r2, [r4, 0xC]
- strh r1, [r4, 0xE]
- b _080D612C
- .pool
-_080D6120:
- adds r0, r6, 0
- bl sub_80A7344
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080D612C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D60BC
-
- thumb_func_start sub_80D6134
-sub_80D6134: @ 80D6134
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4, 0x4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0
- bl sub_80A7270
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2, 0xA]
- ldrh r0, [r4]
- strh r0, [r2, 0xC]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- beq _080D6178
- strh r1, [r2, 0xE]
- b _080D6184
- .pool
-_080D6178:
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r3, r0, 0
- muls r3, r1
- adds r0, r3, 0
- strh r0, [r2, 0xE]
-_080D6184:
- ldr r1, =gTasks
- lsls r4, r7, 2
- adds r0, r4, r7
- lsls r0, 3
- adds r5, r0, r1
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x10]
- mov r0, r8
- strh r0, [r5, 0x12]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x14]
- bl IsContest
- lsls r0, 24
- mov r8, r4
- cmp r0, 0
- beq _080D61B8
- movs r0, 0x1
- strh r0, [r5, 0x16]
- b _080D61DC
- .pool
-_080D61B8:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080D61C8
- ldr r0, =gBattleAnimAttacker
- b _080D61CA
- .pool
-_080D61C8:
- ldr r0, =gBattleAnimTarget
-_080D61CA:
- ldrb r0, [r0]
- bl GetBattlerSide
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080D61DA
- movs r1, 0x1
-_080D61DA:
- strh r1, [r5, 0x16]
-_080D61DC:
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r4, r1, r0
- movs r3, 0x16
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080D6208
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080D6208
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0xE]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x10]
-_080D6208:
- ldr r0, =gTasks
- mov r3, r8
- adds r1, r3, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80D6308
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6134
-
- thumb_func_start sub_80D622C
-sub_80D622C: @ 80D622C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4, 0x4]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0
- bl sub_80A7270
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xA]
- ldrh r1, [r4]
- strh r1, [r0, 0xC]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D6274
- ldr r0, =gBattleAnimAttacker
- b _080D6276
- .pool
-_080D6274:
- ldr r0, =gBattleAnimTarget
-_080D6276:
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D6288
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
-_080D6288:
- ldr r0, =gBattleAnimArgs
- movs r2, 0x6
- ldrsh r1, [r0, r2]
- adds r6, r0, 0
- cmp r1, 0x1
- beq _080D62B0
- ldr r2, =gTasks
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0xE]
- b _080D62CA
- .pool
-_080D62B0:
- ldr r3, =gTasks
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r0, r3
- ldrh r2, [r6]
- ldrh r1, [r6, 0x2]
- adds r7, r2, 0
- muls r7, r1
- adds r1, r7, 0
- strh r1, [r0, 0xE]
- adds r2, r3, 0
- adds r3, r4, 0
-_080D62CA:
- adds r1, r3, r5
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r6, 0x2]
- strh r0, [r1, 0x10]
- mov r0, r8
- strh r0, [r1, 0x12]
- ldrh r0, [r6, 0x6]
- strh r0, [r1, 0x14]
- movs r0, 0x1
- strh r0, [r1, 0x16]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0xE]
- movs r7, 0x10
- ldrsh r0, [r1, r7]
- negs r0, r0
- strh r0, [r1, 0x10]
- ldr r0, =sub_80D6308
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D622C
-
- thumb_func_start sub_80D6308
-sub_80D6308: @ 80D6308
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- ldrh r1, [r4, 0xE]
- adds r0, r1
- strh r0, [r4, 0xE]
- ldrb r0, [r4, 0x12]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0xE]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080D633C
- ldrb r0, [r4, 0x12]
- bl sub_80A73A0
-_080D633C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080D6382
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080D6364
- cmp r0, 0x1
- ble _080D636A
- cmp r0, 0x2
- beq _080D6372
- b _080D636A
- .pool
-_080D6364:
- ldrb r0, [r4, 0x12]
- bl sub_80A7344
-_080D636A:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _080D6382
-_080D6372:
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x10]
- movs r0, 0x1
- strh r0, [r4, 0x14]
-_080D6382:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6308
-
- thumb_func_start sub_80D6388
-sub_80D6388: @ 80D6388
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r8, r0
- cmp r1, 0
- bne _080D63C0
- ldr r4, =gTasks
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r6, r0, r4
- ldr r0, =gAnimMovePower
- ldrh r0, [r0]
- movs r1, 0xC
- bl __udivsi3
- b _080D63D4
- .pool
-_080D63C0:
- ldr r4, =gTasks
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r6, r0, r4
- ldr r0, =gAnimMoveDmg
- ldr r0, [r0]
- movs r1, 0xC
- bl __divsi3
-_080D63D4:
- strh r0, [r6, 0x26]
- lsls r0, 16
- adds r1, r4, 0
- cmp r0, 0
- bgt _080D63E2
- movs r0, 0x1
- strh r0, [r6, 0x26]
-_080D63E2:
- movs r2, 0x26
- ldrsh r0, [r6, r2]
- cmp r0, 0x10
- ble _080D63EE
- movs r0, 0x10
- strh r0, [r6, 0x26]
-_080D63EE:
- adds r4, r5, r7
- lsls r4, 3
- adds r4, r1
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- movs r5, 0
- strh r1, [r4, 0x24]
- ldrh r2, [r4, 0x26]
- movs r0, 0x1
- ands r0, r2
- adds r1, r0
- strh r1, [r4, 0x22]
- strh r5, [r4, 0x20]
- mov r1, r8
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x1E]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x24]
- strh r0, [r4, 0x18]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x26]
- strh r0, [r4, 0x1A]
- strh r5, [r4, 0x8]
- mov r1, r8
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0xA]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0xC]
- ldr r0, =sub_80D646C
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6388
-
- thumb_func_start sub_80D646C
-sub_80D646C: @ 80D646C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r3, r0, r1
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xA
- ldrsh r1, [r3, r2]
- cmp r0, r1
- ble _080D654A
- movs r0, 0
- strh r0, [r3, 0x8]
- ldrh r0, [r3, 0x20]
- adds r1, r0, 0x1
- movs r0, 0x1
- ands r1, r0
- strh r1, [r3, 0x20]
- movs r2, 0x1C
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080D64DE
- cmp r1, 0
- beq _080D64C8
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x18]
- adds r1, r2
- b _080D64DC
- .pool
-_080D64C8:
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x18]
- ldrh r2, [r3, 0x24]
- subs r1, r2
-_080D64DC:
- strh r1, [r0, 0x24]
-_080D64DE:
- movs r1, 0x1E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080D6518
- movs r2, 0x20
- ldrsh r4, [r3, r2]
- cmp r4, 0
- beq _080D6508
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x26]
- strh r1, [r0, 0x26]
- b _080D6518
- .pool
-_080D6508:
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x26]
-_080D6518:
- ldrh r0, [r3, 0xC]
- subs r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- bne _080D654A
- ldr r2, =gSprites
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x24]
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x26]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_080D654A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D646C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s
index 5b047a54d..620940730 100644
--- a/asm/battle_anim_80FE840.s
+++ b/asm/battle_anim_80FE840.s
@@ -183,7 +183,7 @@ sub_80FE988: @ 80FE988
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r6, 0x6]
strh r0, [r4, 0x38]
ldr r1, =sub_80FE9E4
@@ -200,7 +200,7 @@ sub_80FE988: @ 80FE988
sub_80FE9E4: @ 80FE9E4
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _080FE9FA
@@ -350,7 +350,7 @@ sub_80FEAD8: @ 80FEAD8
sub_80FEB28: @ 80FEB28
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _080FEB3C
@@ -541,7 +541,7 @@ _080FEC68:
sub_80FECB8: @ 80FECB8
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _080FECE2
@@ -781,7 +781,7 @@ sub_80FEE78: @ 80FEE78
adds r0, r5
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x40
strh r0, [r4, 0x38]
ldr r1, =sub_80FEECC
@@ -798,7 +798,7 @@ sub_80FEE78: @ 80FEE78
sub_80FEECC: @ 80FEECC
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _080FEF38
@@ -878,7 +878,7 @@ sub_80FEF44: @ 80FEF44
adds r0, r5
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x40
strh r0, [r4, 0x38]
ldr r1, =sub_80FEF98
@@ -895,7 +895,7 @@ sub_80FEF44: @ 80FEF44
sub_80FEF98: @ 80FEF98
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _080FEFF0
@@ -1124,7 +1124,7 @@ _080FF154:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldrh r0, [r6, 0x4]
ldrh r1, [r5, 0x32]
adds r0, r1
@@ -1175,7 +1175,7 @@ sub_80FF1C0: @ 80FF1C0
movs r0, 0x1
strh r0, [r6, 0x2E]
adds r0, r6, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
ldrh r0, [r6, 0x3C]
strh r5, [r6, 0x2E]
lsls r4, 16
@@ -1272,7 +1272,7 @@ sub_80FF268: @ 80FF268
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_080FF28A:
ldrh r0, [r4, 0x22]
adds r0, 0x20
@@ -3161,7 +3161,7 @@ _08100180:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _08100196
@@ -3190,7 +3190,7 @@ _081001B4:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _081001CA
@@ -3219,7 +3219,7 @@ _081001E6:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _081001FC
@@ -3272,7 +3272,7 @@ _08100254:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _0810026A
@@ -3403,7 +3403,7 @@ _08100362:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _08100378
@@ -3514,7 +3514,7 @@ _08100448:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081004FC
@@ -3566,7 +3566,7 @@ _081004B6:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081004FC
@@ -4152,7 +4152,7 @@ _08100918:
subs r1, r5
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
lsrs r4, r0, 16
bl IsContest
@@ -4869,7 +4869,7 @@ _08100F06:
ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -4878,7 +4878,7 @@ _08100F06:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -5451,7 +5451,7 @@ _0810137A:
adds r3, r5, 0
adds r3, 0x22
adds r0, r6, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
movs r2, 0
ldrsh r1, [r4, r2]
adds r0, r5, 0
@@ -9082,7 +9082,7 @@ _08103074:
subs r0, 0x28
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x38]
ldr r0, =sub_81030B0
@@ -9097,7 +9097,7 @@ _08103074:
sub_81030B0: @ 81030B0
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _08103100
@@ -10172,7 +10172,7 @@ _0810390E:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xF0
lsls r1, 24
@@ -10754,7 +10754,7 @@ _08103DB6:
movs r1, 0
mov r2, sp
mov r3, r10
- bl sub_80A8924
+ bl SetAverageBattlerPositions
b _08103E42
.pool
_08103E20:
@@ -11093,7 +11093,7 @@ _081040CC:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
@@ -11528,7 +11528,7 @@ _08104448:
adds r0, r6
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r7]
strh r0, [r5, 0x38]
ldrh r0, [r5, 0x2E]
@@ -11548,7 +11548,7 @@ _08104448:
sub_81044BC: @ 81044BC
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08104520
@@ -11659,7 +11659,7 @@ _0810458A:
sub_8104594: @ 8104594
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _081045A8
@@ -12761,7 +12761,7 @@ sub_8104E74: @ 8104E74
adds r5, r1, r0
ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -12969,7 +12969,7 @@ sub_810501C: @ 810501C
movs r5, 0
strh r0, [r4, 0x20]
ldrb r0, [r6]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x10
@@ -13220,7 +13220,7 @@ _081051F2:
adds r1, r4, 0
mov r2, sp
adds r3, r7, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
cmp r4, 0
bne _08105230
adds r0, r5, 0
@@ -13271,7 +13271,7 @@ _0810526A:
sub_8105284: @ 8105284
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0810529E
@@ -13466,7 +13466,7 @@ _081053FA:
mov r2, sp
mov r3, sp
adds r3, 0x2
- bl sub_80A8924
+ bl SetAverageBattlerPositions
b _0810546C
.pool
_0810544C:
@@ -13526,7 +13526,7 @@ _0810549E:
ldrh r0, [r2]
strh r0, [r5, 0x2E]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, =sub_8105284
str r1, [r5, 0x1C]
adds r0, r5, 0
@@ -15088,7 +15088,7 @@ sub_8106140: @ 8106140
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_810618C
str r0, [r4, 0x1C]
pop {r4,r5}
@@ -15101,7 +15101,7 @@ sub_8106140: @ 8106140
sub_810618C: @ 810618C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _081061B6
@@ -17006,7 +17006,7 @@ sub_81070AC: @ 81070AC
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldrh r0, [r5, 0x22]
adds r0, 0x28
strh r0, [r5, 0x22]
@@ -17269,7 +17269,7 @@ _081072D8:
lsrs r0, 24
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =SpriteCallbackDummy
bl CreateInvisibleSpriteWithCallback
adds r4, r0, 0
@@ -17339,7 +17339,7 @@ sub_8107380: @ 8107380
movs r0, 0x1
strh r0, [r5, 0x2E]
adds r0, r5, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
mov r1, r8
lsrs r6, r1, 8
movs r0, 0x2E
@@ -17464,7 +17464,7 @@ _08107482:
adds r0, r7
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_81074E4
str r0, [r5, 0x1C]
adds r2, r5, 0
@@ -17502,7 +17502,7 @@ sub_81074E4: @ 81074E4
strb r0, [r2]
_08107506:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08107518
@@ -17637,7 +17637,7 @@ sub_81075EC: @ 81075EC
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x2E
ldrsh r1, [r5, r0]
movs r0, 0xD2
@@ -17678,7 +17678,7 @@ _08107660:
sub_8107674: @ 8107674
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08107688
@@ -20234,7 +20234,7 @@ _08108B1A:
sub_8108B2C: @ 8108B2C
push {r4-r6,lr}
adds r6, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08108B86
@@ -20283,7 +20283,7 @@ _08108B86:
sub_8108B94: @ 8108B94
push {r4-r6,lr}
adds r5, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08108BD0
@@ -21144,7 +21144,7 @@ sub_8109244: @ 8109244
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_810929C
str r0, [r5, 0x1C]
_0810928E:
@@ -21158,7 +21158,7 @@ _0810928E:
sub_810929C: @ 810929C
push {r4-r6,lr}
adds r6, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _081092E4
@@ -22386,7 +22386,7 @@ _08109C3E:
sub_8109C4C: @ 8109C4C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _08109CA4
@@ -23433,7 +23433,7 @@ sub_810A46C: @ 810A46C
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x38]
ldrh r0, [r5, 0xA]
@@ -23468,7 +23468,7 @@ sub_810A46C: @ 810A46C
sub_810A4F4: @ 810A4F4
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _0810A55E
@@ -24336,7 +24336,7 @@ sub_810AB78: @ 810AB78
strh r0, [r4, 0x36]
strh r6, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, =sub_810ACC0
adds r0, r4, 0
bl StoreSpriteCallbackInData6
@@ -24394,7 +24394,7 @@ _0810AC86:
sub_810AC8C: @ 810AC8C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0810ACB4
@@ -26048,7 +26048,7 @@ _0810B990:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -26155,7 +26155,7 @@ _0810BA74:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_0810BA86:
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
@@ -26454,7 +26454,7 @@ _0810BCE0:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_0810BCF2:
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
@@ -26652,7 +26652,7 @@ _0810BE6C:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -26719,7 +26719,7 @@ _0810BEF4:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -26762,7 +26762,7 @@ _0810BF52:
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldrb r0, [r4]
bl GetBattlerSide
lsls r0, 24
@@ -26828,7 +26828,7 @@ _0810BFCC:
adds r0, r1
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
movs r0, 0x40
strh r0, [r5, 0x38]
ldr r1, =sub_810C008
@@ -26845,7 +26845,7 @@ _0810BFCC:
sub_810C008: @ 810C008
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _0810C092
@@ -27192,7 +27192,7 @@ sub_810C2F0: @ 810C2F0
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
- ldr r0, =sub_80A7820
+ ldr r0, =TranslateAnimSpriteToTargetMonLocation
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -27608,7 +27608,7 @@ _0810C684:
strb r0, [r1]
_0810C6B8:
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_810C6D4
str r0, [r5, 0x1C]
pop {r3}
@@ -27642,7 +27642,7 @@ _0810C6F4:
b _0810C90C
_0810C6F6:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
ldr r1, =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -27731,12 +27731,12 @@ _0810C78E:
ands r0, r1
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
b _0810C90C
.pool
_0810C7BC:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
ldr r1, =gSineTable
movs r2, 0x38
ldrsh r0, [r4, r2]
@@ -27872,7 +27872,7 @@ _0810C8B6:
.pool
_0810C8D0:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0810C90C
@@ -28414,7 +28414,7 @@ _0810CCCE:
sub_810CD1C: @ 810CD1C
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0810CD3E
@@ -29021,7 +29021,7 @@ _0810D1FE:
strh r0, [r6, 0x34]
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldrh r0, [r4, 0xA]
strh r0, [r6, 0x38]
ldrh r0, [r4, 0x8]
@@ -29039,7 +29039,7 @@ _0810D1FE:
sub_810D240: @ 810D240
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
bne _0810D26C
@@ -29616,7 +29616,7 @@ sub_810D6A8: @ 810D6A8
lsrs r0, 24
strh r0, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, =move_anim_8074EE0
adds r0, r4, 0
bl StoreSpriteCallbackInData6
@@ -29892,7 +29892,7 @@ _0810D918:
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r1, =DestroyAnimSprite
adds r0, r5, 0
bl StoreSpriteCallbackInData6
@@ -30234,7 +30234,7 @@ _0810DBC2:
sub_810DC10: @ 810DC10
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0810DC24
@@ -30270,7 +30270,7 @@ _0810DC44:
movs r1, 0x1
mov r2, sp
adds r3, r6, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -30309,7 +30309,7 @@ _0810DC72:
sub_810DCB4: @ 810DCB4
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0810DCC8
@@ -30396,7 +30396,7 @@ sub_810DD50: @ 810DD50
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -30457,7 +30457,7 @@ _0810DDE0:
adds r3, r4, 0
adds r3, 0x22
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -30716,7 +30716,7 @@ _0810DFC8:
adds r0, r4
strh r0, [r6, 0x36]
adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_80A67BC
str r0, [r6, 0x1C]
ldr r1, =sub_810E028
@@ -30732,7 +30732,7 @@ _0810DFC8:
sub_810E028: @ 810E028
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0810E03C
@@ -30828,7 +30828,7 @@ _0810E0EC:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_0810E0FE:
ldr r4, =gBattleAnimArgs
ldrh r0, [r4, 0x4]
@@ -30971,7 +30971,7 @@ _0810E1FE:
lsrs r0, 24
strh r0, [r5, 0x36]
adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
ldr r0, =sub_810E24C
str r0, [r5, 0x1C]
pop {r4,r5}
@@ -30987,7 +30987,7 @@ sub_810E24C: @ 810E24C
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
ldrh r1, [r4, 0x34]
lsrs r0, r1, 8
cmp r0, 0xC8
@@ -32074,7 +32074,7 @@ sub_810EA4C: @ 810EA4C
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
- ldr r0, =sub_80A7820
+ ldr r0, =TranslateAnimSpriteToTargetMonLocation
str r0, [r4, 0x1C]
pop {r4,r5}
pop {r0}
@@ -32913,7 +32913,7 @@ sub_810F084: @ 810F084
asrs r5, 16
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
@@ -34508,7 +34508,7 @@ _0810FDE8:
sub_810FDF0: @ 810FDF0
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0810FE0E
@@ -34537,7 +34537,7 @@ sub_810FE14: @ 810FE14
adds r4, r1, r0
ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r1, r0, 24
adds r0, r1, 0
@@ -35235,7 +35235,7 @@ _081103C4:
ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -35244,7 +35244,7 @@ _081103C4:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -35314,7 +35314,7 @@ _08110478:
ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -35323,7 +35323,7 @@ _08110478:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -35407,7 +35407,7 @@ _08110548:
adds r3, r5, 0
adds r3, 0x36
movs r1, 0x1
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_0811055A:
adds r0, r5, 0
bl sub_80A6FD4
@@ -35426,7 +35426,7 @@ _0811055A:
sub_811057C: @ 811057C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08110592
@@ -35464,7 +35464,7 @@ sub_81105B4: @ 81105B4
adds r3, r4, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -35745,7 +35745,7 @@ _081107B2:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
@@ -35844,7 +35844,7 @@ sub_81108CC: @ 81108CC
ands r1, r0
strb r1, [r2]
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081108F8
@@ -35879,7 +35879,7 @@ _0811090E:
lsls r0, 16
lsrs r6, r0, 16
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
bne _08110988
@@ -35899,7 +35899,7 @@ _0811090E:
subs r1, r2
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 24
@@ -35987,7 +35987,7 @@ sub_81109F0: @ 81109F0
adds r3, r5, 0
adds r3, 0x22
movs r1, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
_08110A10:
ldrh r0, [r6]
ldrh r1, [r5, 0x20]
@@ -37059,7 +37059,7 @@ _08111304:
sub_811131C: @ 811131C
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0811134E
@@ -37205,7 +37205,7 @@ sub_8111418: @ 8111418
bl StartSpriteAffineAnim
_08111434:
adds r0, r4, 0
- bl sub_80A7820
+ bl TranslateAnimSpriteToTargetMonLocation
pop {r4}
pop {r0}
bx r0
@@ -37483,7 +37483,7 @@ sub_8111674: @ 8111674
adds r4, r0, 0
bl sub_8111764
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _08111694
@@ -37541,7 +37541,7 @@ sub_81116E8: @ 81116E8
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
movs r1, 0x38
ldrsh r0, [r4, r1]
movs r1, 0xA
@@ -40203,7 +40203,7 @@ sub_8112C6C: @ 8112C6C
lsrs r0, 24
strh r0, [r4, 0x1A]
ldrb r0, [r5]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
@@ -41135,7 +41135,7 @@ _0811342A:
strb r5, [r0, 0x9]
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -42031,7 +42031,7 @@ _08113B60:
sub_8113B90: @ 8113B90
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08113BA4
@@ -43699,7 +43699,7 @@ sub_8114994: @ 8114994
sub_81149FC: @ 81149FC
push {r4,r5,lr}
adds r5, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08114A50
@@ -43746,7 +43746,7 @@ _08114A50:
sub_8114A60: @ 8114A60
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08114A74
@@ -43817,13 +43817,13 @@ sub_8114AF0: @ 8114AF0
ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A60AC
+ bl GetBattlerSpriteCoord2
lsls r0, 24
lsrs r7, r0, 24
bl Random2
@@ -44120,7 +44120,7 @@ _08114D78:
strh r0, [r4, 0x22]
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -44460,7 +44460,7 @@ _08115046:
strh r0, [r4, 0x20]
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -44663,7 +44663,7 @@ _081151DA:
adds r0, r6
strh r0, [r5, 0x20]
adds r0, r4, 0
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x1E
@@ -44693,7 +44693,7 @@ _081151DA:
sub_8115228: @ 8115228
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0811523C
@@ -44735,7 +44735,7 @@ _08115262:
adds r0, r1
strh r0, [r6, 0x20]
adds r0, r5, 0
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -50366,8 +50366,8 @@ _08118132:
.pool
thumb_func_end SetAnimBgAttribute
- thumb_func_start sub_8118140
-sub_8118140: @ 8118140
+ thumb_func_start GetAnimBgAttribute
+GetAnimBgAttribute: @ 8118140
push {r4,lr}
sub sp, 0x4
lsls r0, 24
@@ -50441,7 +50441,7 @@ _081181CA:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8118140
+ thumb_func_end GetAnimBgAttribute
thumb_func_start HandleIntroSlide
HandleIntroSlide: @ 81181D4
diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s
index 01ab7ed93..b31af7d1e 100644
--- a/asm/battle_anim_815A0D4.s
+++ b/asm/battle_anim_815A0D4.s
@@ -231,7 +231,7 @@ sub_815A254: @ 815A254
subs r1, r6
lsls r1, 16
asrs r1, 16
- bl sub_80A74F4
+ bl ArcTan2Neg
lsls r0, 16
movs r1, 0xC0
lsls r1, 23
@@ -775,7 +775,7 @@ sub_815A6C4: @ 815A6C4
movs r1, 0
mov r2, sp
adds r3, r5, 0
- bl sub_80A8924
+ bl SetAverageBattlerPositions
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -816,7 +816,7 @@ _0815A6F8:
sub_815A73C: @ 815A73C
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0815A75E
@@ -1625,7 +1625,7 @@ _0815ADDC:
ldr r4, =gBattleAnimTarget
_0815ADDE:
ldrb r0, [r4]
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
@@ -6104,7 +6104,7 @@ _0815D26E:
strh r0, [r4, 0x18]
_0815D2A0:
adds r0, r5, 0
- bl sub_80A6190
+ bl GetBattlerYCoordWithElevation
lsls r0, 24
lsrs r0, 24
subs r0, 0x22
@@ -8524,7 +8524,7 @@ _0815E5FE:
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
- bl AnimateBallThrow
+ bl TranslateAnimArc
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
@@ -8542,7 +8542,7 @@ _0815E634:
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _0815E6D2
@@ -9804,11 +9804,11 @@ _0815F022:
strh r0, [r4, 0x34]
strh r1, [r4, 0x36]
adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
+ bl InitAnimLinearTranslation
b _0815F0F8
_0815F038:
adds r0, r4, 0
- bl sub_80A6F3C
+ bl TranslateAnimLinear
lsls r0, 24
cmp r0, 0
beq _0815F106
diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s
index e08568eba..ab3f27799 100644
--- a/asm/battle_anim_8170478.s
+++ b/asm/battle_anim_8170478.s
@@ -1487,7 +1487,7 @@ sub_8171134: @ 8171134
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081711D2
@@ -2671,7 +2671,7 @@ sub_8171AAC: @ 8171AAC
orrs r0, r1
strb r0, [r3]
adds r0, r4, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _08171ADC
@@ -5652,7 +5652,7 @@ _081733C0:
sub_81733D4: @ 81733D4
push {r4,lr}
adds r4, r0, 0
- bl AnimateBallThrow
+ bl TranslateAnimArc
lsls r0, 24
cmp r0, 0
beq _081733F6