Files
2019-09-27 01:42:56 -04:00

1787 lines
32 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.text
.syntax unified
thumb_func_start AnimBonemerangProjectile
AnimBonemerangProjectile: @ 0x081151E4
push {r4, r5, lr}
adds r4, r0, #0
ldr r5, _0811523C
ldrb r0, [r5]
movs r1, #2
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x20]
ldrb r0, [r5]
movs r1, #3
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x22]
movs r0, #0x14
strh r0, [r4, #0x2e]
ldr r5, _08115240
ldrb r0, [r5]
movs r1, #2
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x32]
ldrb r0, [r5]
movs r1, #3
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x36]
ldr r0, _08115244
strh r0, [r4, #0x38]
adds r0, r4, #0
bl InitAnimArcTranslation
ldr r0, _08115248
str r0, [r4, #0x1c]
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_0811523C: .4byte 0x020380D6
_08115240: .4byte 0x020380D7
_08115244: .4byte 0x0000FFD8
_08115248: .4byte 0x0811524D
thumb_func_end AnimBonemerangProjectile
thumb_func_start AnimBonemerangProjectileStep
AnimBonemerangProjectileStep: @ 0x0811524C
push {r4, r5, lr}
adds r5, r0, #0
bl TranslateAnimHorizontalArc
lsls r0, r0, #0x18
cmp r0, #0
beq _081152A0
ldrh r0, [r5, #0x24]
ldrh r1, [r5, #0x20]
adds r0, r0, r1
movs r1, #0
strh r0, [r5, #0x20]
ldrh r0, [r5, #0x26]
ldrh r2, [r5, #0x22]
adds r0, r0, r2
strh r0, [r5, #0x22]
strh r1, [r5, #0x26]
strh r1, [r5, #0x24]
movs r0, #0x14
strh r0, [r5, #0x2e]
ldr r4, _081152A8
ldrb r0, [r4]
movs r1, #2
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r5, #0x32]
ldrb r0, [r4]
movs r1, #3
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r5, #0x36]
movs r0, #0x28
strh r0, [r5, #0x38]
adds r0, r5, #0
bl InitAnimArcTranslation
ldr r0, _081152AC
str r0, [r5, #0x1c]
_081152A0:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_081152A8: .4byte 0x020380D6
_081152AC: .4byte 0x081152B1
thumb_func_end AnimBonemerangProjectileStep
thumb_func_start AnimFissureDirtPlumeParticleStep
AnimFissureDirtPlumeParticleStep: @ 0x081152B0
push {r4, lr}
adds r4, r0, #0
bl TranslateAnimHorizontalArc
lsls r0, r0, #0x18
cmp r0, #0
beq _081152C4
adds r0, r4, #0
bl DestroyAnimSprite
_081152C4:
pop {r4}
pop {r0}
bx r0
.align 2, 0
thumb_func_end AnimFissureDirtPlumeParticleStep
thumb_func_start AnimBoneHitProjectile
AnimBoneHitProjectile: @ 0x081152CC
push {r4, r5, r6, lr}
adds r6, r0, #0
movs r1, #1
bl InitSpritePosToAnimTarget
ldr r0, _0811532C
ldrb r0, [r0]
bl GetBattlerSide
lsls r0, r0, #0x18
cmp r0, #0
beq _081152EC
ldr r1, _08115330
ldrh r0, [r1, #4]
rsbs r0, r0, #0
strh r0, [r1, #4]
_081152EC:
ldr r4, _08115330
ldrh r0, [r4, #8]
strh r0, [r6, #0x2e]
ldr r5, _08115334
ldrb r0, [r5]
movs r1, #2
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
ldrh r1, [r4, #4]
adds r0, r0, r1
strh r0, [r6, #0x32]
ldrb r0, [r5]
movs r1, #3
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
ldrh r4, [r4, #6]
adds r0, r0, r4
strh r0, [r6, #0x36]
ldr r0, _08115338
str r0, [r6, #0x1c]
ldr r1, _0811533C
adds r0, r6, #0
bl StoreSpriteCallbackInData6
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_0811532C: .4byte 0x020380D6
_08115330: .4byte 0x020380BE
_08115334: .4byte 0x020380D7
_08115338: .4byte 0x080A67B5
_0811533C: .4byte 0x080A34C5
thumb_func_end AnimBoneHitProjectile
thumb_func_start AnimDirtScatter
AnimDirtScatter: @ 0x08115340
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r6, r0, #0
movs r1, #1
bl InitSpritePosToAnimAttacker
ldr r4, _081153C0
ldrb r0, [r4]
movs r1, #2
bl GetBattlerSpriteCoord2
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
mov r8, r0
ldrb r0, [r4]
movs r1, #3
bl GetBattlerSpriteCoord2
lsls r0, r0, #0x18
lsrs r7, r0, #0x18
bl Random2
movs r4, #0x1f
adds r5, r4, #0
ands r5, r0
bl Random2
ands r4, r0
adds r1, r5, #0
cmp r1, #0x10
ble _08115388
movs r0, #0x10
subs r0, r0, r1
lsls r0, r0, #0x10
lsrs r5, r0, #0x10
_08115388:
lsls r0, r4, #0x10
asrs r1, r0, #0x10
cmp r1, #0x10
ble _08115398
movs r0, #0x10
subs r0, r0, r1
lsls r0, r0, #0x10
lsrs r4, r0, #0x10
_08115398:
ldr r0, _081153C4
ldrh r0, [r0, #4]
strh r0, [r6, #0x2e]
mov r1, r8
adds r0, r1, r5
strh r0, [r6, #0x32]
adds r0, r7, r4
strh r0, [r6, #0x36]
ldr r0, _081153C8
str r0, [r6, #0x1c]
ldr r1, _081153CC
adds r0, r6, #0
bl StoreSpriteCallbackInData6
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.align 2, 0
_081153C0: .4byte 0x020380D7
_081153C4: .4byte 0x020380BE
_081153C8: .4byte 0x080A67B5
_081153CC: .4byte 0x080A6015
thumb_func_end AnimDirtScatter
thumb_func_start AnimMudSportDirt
AnimMudSportDirt: @ 0x081153D0
push {r4, r5, r6, lr}
adds r5, r0, #0
ldrh r2, [r5, #4]
lsls r1, r2, #0x16
lsrs r1, r1, #0x16
adds r1, #1
ldr r3, _08115430
adds r0, r3, #0
ands r1, r0
ldr r0, _08115434
ands r0, r2
orrs r0, r1
strh r0, [r5, #4]
ldr r6, _08115438
movs r1, #0
ldrsh r0, [r6, r1]
cmp r0, #0
bne _08115444
ldr r4, _0811543C
ldrb r0, [r4]
movs r1, #2
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
ldrh r2, [r6, #2]
adds r0, r0, r2
strh r0, [r5, #0x20]
ldrb r0, [r4]
movs r1, #3
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
ldrh r3, [r6, #4]
adds r0, r0, r3
strh r0, [r5, #0x22]
movs r1, #2
ldrsh r0, [r6, r1]
movs r2, #1
rsbs r2, r2, #0
adds r1, r2, #0
cmp r0, #0
ble _0811542A
movs r1, #1
_0811542A:
strh r1, [r5, #0x2e]
ldr r0, _08115440
b _08115452
.align 2, 0
_08115430: .4byte 0x000003FF
_08115434: .4byte 0xFFFFFC00
_08115438: .4byte 0x020380BE
_0811543C: .4byte 0x020380D6
_08115440: .4byte 0x08115461
_08115444:
ldrh r0, [r6, #2]
strh r0, [r5, #0x20]
ldrh r0, [r6, #4]
strh r0, [r5, #0x22]
rsbs r0, r0, #0
strh r0, [r5, #0x26]
ldr r0, _0811545C
_08115452:
str r0, [r5, #0x1c]
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_0811545C: .4byte 0x0811549D
thumb_func_end AnimMudSportDirt
thumb_func_start AnimMudSportDirtRising
AnimMudSportDirtRising: @ 0x08115460
push {lr}
adds r2, r0, #0
ldrh r0, [r2, #0x30]
adds r0, #1
strh r0, [r2, #0x30]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #1
ble _0811547E
movs r0, #0
strh r0, [r2, #0x30]
ldrh r0, [r2, #0x2e]
ldrh r1, [r2, #0x20]
adds r0, r0, r1
strh r0, [r2, #0x20]
_0811547E:
ldrh r0, [r2, #0x22]
subs r0, #4
strh r0, [r2, #0x22]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r1, #4
rsbs r1, r1, #0
cmp r0, r1
bge _08115496
adds r0, r2, #0
bl DestroyAnimSprite
_08115496:
pop {r0}
bx r0
.align 2, 0
thumb_func_end AnimMudSportDirtRising
thumb_func_start AnimMudSportDirtFalling
AnimMudSportDirtFalling: @ 0x0811549C
push {lr}
adds r3, r0, #0
movs r0, #0x2e
ldrsh r1, [r3, r0]
cmp r1, #0
beq _081154AE
cmp r1, #1
beq _081154C4
b _08115506
_081154AE:
ldrh r0, [r3, #0x26]
adds r0, #4
strh r0, [r3, #0x26]
lsls r0, r0, #0x10
cmp r0, #0
blt _08115506
strh r1, [r3, #0x26]
ldrh r0, [r3, #0x2e]
adds r0, #1
strh r0, [r3, #0x2e]
b _08115506
_081154C4:
ldrh r0, [r3, #0x30]
adds r0, #1
strh r0, [r3, #0x30]
lsls r0, r0, #0x10
cmp r0, #0
ble _08115506
movs r0, #0
strh r0, [r3, #0x30]
movs r1, #0x3e
adds r1, r1, r3
mov ip, r1
ldrb r2, [r1]
lsls r0, r2, #0x1d
lsrs r0, r0, #0x1f
movs r1, #1
eors r1, r0
lsls r1, r1, #2
movs r0, #5
rsbs r0, r0, #0
ands r0, r2
orrs r0, r1
mov r1, ip
strb r0, [r1]
ldrh r0, [r3, #0x32]
adds r0, #1
strh r0, [r3, #0x32]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #0xa
bne _08115506
adds r0, r3, #0
bl DestroyAnimSprite
_08115506:
pop {r0}
bx r0
.align 2, 0
thumb_func_end AnimMudSportDirtFalling
thumb_func_start sub_0811550C
sub_0811550C: @ 0x0811550C
push {lr}
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
lsls r0, r2, #2
adds r0, r0, r2
lsls r0, r0, #3
ldr r1, _0811552C
adds r1, r0, r1
ldr r0, _08115530
movs r3, #0
ldrsh r0, [r0, r3]
cmp r0, #0
bne _08115538
ldr r0, _08115534
b _0811553A
.align 2, 0
_0811552C: .4byte 0x03005B60
_08115530: .4byte 0x020380BE
_08115534: .4byte 0x0811554D
_08115538:
ldr r0, _08115548
_0811553A:
str r0, [r1]
ldr r1, [r1]
adds r0, r2, #0
bl _call_via_r1
pop {r0}
bx r0
.align 2, 0
_08115548: .4byte 0x08115705
thumb_func_end sub_0811550C
thumb_func_start sub_0811554C
sub_0811554C: @ 0x0811554C
push {r4, lr}
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
lsls r0, r2, #2
adds r0, r0, r2
lsls r0, r0, #3
ldr r1, _08115570
adds r4, r0, r1
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #4
bls _08115566
b _081156FA
_08115566:
lsls r0, r0, #2
ldr r1, _08115574
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08115570: .4byte 0x03005B60
_08115574: .4byte 0x08115578
_08115578: @ jump table
.4byte _0811558C @ case 0
.4byte _08115614 @ case 1
.4byte _08115624 @ case 2
.4byte _081156C8 @ case 3
.4byte _081156DC @ case 4
_0811558C:
movs r0, #0
bl GetAnimBattlerSpriteId
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x1c]
ldr r0, _081155B4
ldrb r0, [r0]
bl GetBattlerSpriteBGPriorityRank
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x1e]
cmp r0, #1
bne _081155C0
ldr r0, _081155B8
ldrh r0, [r0]
strh r0, [r4, #0x20]
ldr r0, _081155BC
b _081155C8
.align 2, 0
_081155B4: .4byte 0x020380D6
_081155B8: .4byte 0x02022ACC
_081155BC: .4byte 0x02022ACE
_081155C0:
ldr r0, _08115604
ldrh r0, [r0]
strh r0, [r4, #0x20]
ldr r0, _08115608
_081155C8:
ldrh r0, [r0]
strh r0, [r4, #0x22]
ldr r0, _0811560C
ldrb r0, [r0]
bl GetBattlerYCoordWithElevation
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
adds r1, r0, #0
subs r1, #0x20
strh r1, [r4, #0x24]
adds r0, #0x20
strh r0, [r4, #0x26]
cmp r1, #0
bge _081155EA
movs r0, #0
strh r0, [r4, #0x24]
_081155EA:
ldr r2, _08115610
movs r3, #0x1c
ldrsh r1, [r4, r3]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r2
adds r0, #0x3e
ldrb r1, [r0]
movs r2, #4
orrs r1, r2
strb r1, [r0]
b _081156CE
.align 2, 0
_08115604: .4byte 0x02022AD0
_08115608: .4byte 0x02022AD2
_0811560C: .4byte 0x020380D6
_08115610: .4byte 0x020205AC
_08115614:
ldrb r0, [r4, #0x1e]
movs r2, #0x24
ldrsh r1, [r4, r2]
movs r3, #0x26
ldrsh r2, [r4, r3]
bl sub_08115930
b _081156CE
_08115624:
ldrh r0, [r4, #0xc]
adds r0, #6
movs r1, #0x7f
ands r0, r1
strh r0, [r4, #0xc]
ldrh r0, [r4, #0x10]
adds r0, #1
strh r0, [r4, #0x10]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #2
ble _08115646
movs r0, #0
strh r0, [r4, #0x10]
ldrh r0, [r4, #0xe]
adds r0, #1
strh r0, [r4, #0xe]
_08115646:
ldr r1, _08115668
movs r2, #0xc
ldrsh r0, [r4, r2]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r0, [r0]
lsls r0, r0, #0x10
asrs r0, r0, #0x14
ldrh r3, [r4, #0xe]
adds r2, r0, r3
strh r2, [r4, #0x12]
movs r1, #0x1e
ldrsh r0, [r4, r1]
cmp r0, #1
bne _08115670
ldr r1, _0811566C
b _08115672
.align 2, 0
_08115668: .4byte 0x082FA8CC
_0811566C: .4byte 0x02022ACE
_08115670:
ldr r1, _08115694
_08115672:
ldrh r0, [r4, #0x22]
subs r0, r0, r2
strh r0, [r1]
movs r2, #0x12
ldrsh r0, [r4, r2]
cmp r0, #0x3f
ble _081156FA
ldrh r0, [r4, #0x24]
movs r1, #0x78
subs r2, r1, r0
strh r2, [r4, #0x12]
movs r3, #0x1e
ldrsh r0, [r4, r3]
cmp r0, #1
bne _0811569C
ldr r1, _08115698
b _0811569E
.align 2, 0
_08115694: .4byte 0x02022AD2
_08115698: .4byte 0x02022ACE
_0811569C:
ldr r1, _081156C0
_0811569E:
ldrh r0, [r4, #0x22]
subs r0, r0, r2
strh r0, [r1]
ldr r2, _081156C4
movs r1, #0x1c
ldrsh r0, [r4, r1]
lsls r1, r0, #4
adds r1, r1, r0
lsls r1, r1, #2
adds r1, r1, r2
ldrh r2, [r1, #0x20]
movs r3, #0x88
lsls r3, r3, #1
adds r0, r3, #0
subs r0, r0, r2
strh r0, [r1, #0x24]
b _081156CE
.align 2, 0
_081156C0: .4byte 0x02022AD2
_081156C4: .4byte 0x020205AC
_081156C8:
ldr r1, _081156D8
movs r0, #3
strb r0, [r1, #0x15]
_081156CE:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _081156FA
.align 2, 0
_081156D8: .4byte 0x020397C8
_081156DC:
adds r0, r2, #0
bl DestroyAnimVisualTask
ldr r2, _08115700
movs r0, #0x1c
ldrsh r1, [r4, r0]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r2
adds r0, #0x3e
ldrb r1, [r0]
movs r2, #4
orrs r1, r2
strb r1, [r0]
_081156FA:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08115700: .4byte 0x020205AC
thumb_func_end sub_0811554C
thumb_func_start sub_08115704
sub_08115704: @ 0x08115704
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
movs r0, #0
bl GetAnimBattlerSpriteId
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
ldr r2, _08115744
lsls r1, r0, #4
adds r1, r1, r0
lsls r1, r1, #2
adds r1, r1, r2
adds r3, r1, #0
adds r3, #0x3e
ldrb r0, [r3]
movs r2, #4
orrs r0, r2
strb r0, [r3]
movs r4, #0
strh r4, [r1, #0x24]
strh r4, [r1, #0x26]
ldr r0, _08115748
ldrb r0, [r0]
bl GetBattlerSpriteBGPriorityRank
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #1
bne _08115750
ldr r0, _0811574C
b _08115752
.align 2, 0
_08115744: .4byte 0x020205AC
_08115748: .4byte 0x020380D6
_0811574C: .4byte 0x02022ACE
_08115750:
ldr r0, _08115760
_08115752:
strh r4, [r0]
adds r0, r5, #0
bl DestroyAnimVisualTask
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_08115760: .4byte 0x02022AD2
thumb_func_end sub_08115704
thumb_func_start sub_08115764
sub_08115764: @ 0x08115764
push {lr}
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
lsls r0, r2, #2
adds r0, r0, r2
lsls r0, r0, #3
ldr r1, _08115784
adds r1, r0, r1
ldr r0, _08115788
movs r3, #0
ldrsh r0, [r0, r3]
cmp r0, #0
bne _08115790
ldr r0, _0811578C
b _08115792
.align 2, 0
_08115784: .4byte 0x03005B60
_08115788: .4byte 0x020380BE
_0811578C: .4byte 0x081157A5
_08115790:
ldr r0, _081157A0
_08115792:
str r0, [r1]
ldr r1, [r1]
adds r0, r2, #0
bl _call_via_r1
pop {r0}
bx r0
.align 2, 0
_081157A0: .4byte 0x08115829
thumb_func_end sub_08115764
thumb_func_start sub_081157A4
sub_081157A4: @ 0x081157A4
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
lsls r0, r2, #2
adds r0, r0, r2
lsls r0, r0, #3
ldr r1, _081157C4
adds r4, r0, r1
movs r0, #8
ldrsh r5, [r4, r0]
cmp r5, #0
beq _081157C8
cmp r5, #1
beq _0811581C
b _08115822
.align 2, 0
_081157C4: .4byte 0x03005B60
_081157C8:
movs r0, #0
bl GetAnimBattlerSpriteId
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x1c]
ldr r3, _08115818
movs r0, #0x1c
ldrsh r1, [r4, r0]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r3
adds r0, #0x3e
ldrb r2, [r0]
movs r1, #5
rsbs r1, r1, #0
ands r1, r2
strb r1, [r0]
movs r0, #0x1c
ldrsh r1, [r4, r0]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r3
strh r5, [r0, #0x24]
movs r1, #0x1c
ldrsh r0, [r4, r1]
lsls r1, r0, #4
adds r1, r1, r0
lsls r1, r1, #2
adds r1, r1, r3
ldrh r2, [r1, #0x22]
movs r0, #0xa0
subs r0, r0, r2
strh r0, [r1, #0x26]
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _08115822
.align 2, 0
_08115818: .4byte 0x020205AC
_0811581C:
adds r0, r2, #0
bl DestroyAnimVisualTask
_08115822:
pop {r4, r5}
pop {r0}
bx r0
thumb_func_end sub_081157A4
thumb_func_start sub_08115828
sub_08115828: @ 0x08115828
push {r4, lr}
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
lsls r0, r2, #2
adds r0, r0, r2
lsls r0, r0, #3
ldr r1, _0811584C
adds r4, r0, r1
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #4
bhi _0811592A
lsls r0, r0, #2
ldr r1, _08115850
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0811584C: .4byte 0x03005B60
_08115850: .4byte 0x08115854
_08115854: @ jump table
.4byte _08115868 @ case 0
.4byte _081158BC @ case 1
.4byte _081158CA @ case 2
.4byte _081158E4 @ case 3
.4byte _08115924 @ case 4
_08115868:
movs r0, #0
bl GetAnimBattlerSpriteId
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x1c]
ldr r0, _0811588C
ldrb r0, [r0]
bl GetBattlerSpriteBGPriorityRank
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x1e]
cmp r0, #1
bne _08115894
ldr r0, _08115890
b _08115896
.align 2, 0
_0811588C: .4byte 0x020380D6
_08115890: .4byte 0x02022ACC
_08115894:
ldr r0, _081158B4
_08115896:
ldrh r0, [r0]
strh r0, [r4, #0x20]
ldr r0, _081158B8
ldrb r0, [r0]
bl GetBattlerYCoordWithElevation
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
adds r1, r0, #0
subs r1, #0x20
strh r1, [r4, #0x24]
adds r0, #0x20
strh r0, [r4, #0x26]
b _08115912
.align 2, 0
_081158B4: .4byte 0x02022AD0
_081158B8: .4byte 0x020380D6
_081158BC:
ldrb r0, [r4, #0x1e]
movs r1, #0x26
ldrsh r2, [r4, r1]
movs r1, #0
bl sub_08115930
b _08115912
_081158CA:
ldr r2, _081158E0
movs r0, #0x1c
ldrsh r1, [r4, r0]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r2
movs r1, #0x60
strh r1, [r0, #0x26]
b _08115912
.align 2, 0
_081158E0: .4byte 0x020205AC
_081158E4:
ldr r2, _0811591C
movs r0, #0x1c
ldrsh r1, [r4, r0]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r2
ldrh r1, [r0, #0x26]
subs r1, #8
strh r1, [r0, #0x26]
movs r0, #0x1c
ldrsh r1, [r4, r0]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r2
movs r1, #0x26
ldrsh r0, [r0, r1]
cmp r0, #0
bne _0811592A
ldr r1, _08115920
movs r0, #3
strb r0, [r1, #0x15]
_08115912:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _0811592A
.align 2, 0
_0811591C: .4byte 0x020205AC
_08115920: .4byte 0x020397C8
_08115924:
adds r0, r2, #0
bl DestroyAnimVisualTask
_0811592A:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_08115828
thumb_func_start sub_08115930
sub_08115930: @ 0x08115930
push {r4, r5, r6, lr}
sub sp, #0xc
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
lsls r1, r1, #0x10
lsrs r1, r1, #0x10
lsls r2, r2, #0x10
lsrs r4, r2, #0x10
cmp r0, #1
bne _08115954
ldr r0, _0811594C
ldrh r3, [r0]
ldr r0, _08115950
b _0811595A
.align 2, 0
_0811594C: .4byte 0x02022ACC
_08115950: .4byte 0x04000014
_08115954:
ldr r0, _081159E0
ldrh r3, [r0]
ldr r0, _081159E4
_0811595A:
str r0, [sp]
lsls r0, r1, #0x10
cmp r0, #0
bge _08115964
movs r1, #0
_08115964:
lsls r2, r1, #0x10
lsls r0, r4, #0x10
asrs r4, r0, #0x10
cmp r2, r0
bge _08115990
ldr r5, _081159E8
movs r0, #0xf0
lsls r0, r0, #3
adds r6, r5, r0
_08115976:
asrs r2, r2, #0x10
lsls r1, r2, #1
adds r0, r1, r5
strh r3, [r0]
adds r1, r1, r6
strh r3, [r1]
adds r2, #1
lsls r2, r2, #0x10
lsrs r1, r2, #0x10
lsls r2, r1, #0x10
asrs r0, r2, #0x10
cmp r0, r4
blt _08115976
_08115990:
lsls r1, r1, #0x10
asrs r0, r1, #0x10
cmp r0, #0x9f
bgt _081159BE
ldr r4, _081159E8
lsls r0, r3, #0x10
asrs r0, r0, #0x10
adds r3, r0, #0
adds r3, #0xf0
movs r0, #0xf0
lsls r0, r0, #3
adds r5, r4, r0
_081159A8:
asrs r2, r1, #0x10
lsls r1, r2, #1
adds r0, r1, r4
strh r3, [r0]
adds r1, r1, r5
strh r3, [r1]
adds r2, #1
lsls r1, r2, #0x10
asrs r0, r1, #0x10
cmp r0, #0x9f
ble _081159A8
_081159BE:
ldr r0, _081159EC
str r0, [sp, #4]
mov r1, sp
movs r2, #0
movs r0, #1
strb r0, [r1, #8]
mov r0, sp
strb r2, [r0, #9]
ldr r0, [sp]
ldr r1, [sp, #4]
ldr r2, [sp, #8]
bl ScanlineEffect_SetParams
add sp, #0xc
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_081159E0: .4byte 0x02022AD0
_081159E4: .4byte 0x04000018
_081159E8: .4byte 0x020388C8
_081159EC: .4byte 0xA2600001
thumb_func_end sub_08115930
thumb_func_start AnimFissureDirtPlumeParticle
AnimFissureDirtPlumeParticle: @ 0x081159F0
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
ldr r0, _08115A04
movs r2, #0
ldrsh r1, [r0, r2]
adds r7, r0, #0
cmp r1, #0
bne _08115A0C
ldr r0, _08115A08
b _08115A0E
.align 2, 0
_08115A04: .4byte 0x020380BE
_08115A08: .4byte 0x020380D6
_08115A0C:
ldr r0, _08115A70
_08115A0E:
ldrb r4, [r0]
movs r6, #0x18
adds r1, r7, #0
movs r2, #2
ldrsh r0, [r1, r2]
cmp r0, #1
bne _08115A2A
rsbs r0, r6, #0
lsls r0, r0, #0x10
lsrs r6, r0, #0x10
movs r2, #4
ldrsh r0, [r1, r2]
rsbs r0, r0, #0
strh r0, [r1, #4]
_08115A2A:
adds r0, r4, #0
movs r1, #2
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
adds r0, r0, r6
strh r0, [r5, #0x20]
adds r0, r4, #0
bl GetBattlerYCoordWithElevation
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
adds r0, #0x1e
strh r0, [r5, #0x22]
ldrh r1, [r7, #0xa]
strh r1, [r5, #0x2e]
ldrh r1, [r7, #4]
ldrh r2, [r5, #0x20]
adds r1, r1, r2
strh r1, [r5, #0x32]
ldrh r1, [r7, #6]
adds r0, r0, r1
strh r0, [r5, #0x36]
ldrh r0, [r7, #8]
strh r0, [r5, #0x38]
adds r0, r5, #0
bl InitAnimArcTranslation
ldr r0, _08115A74
str r0, [r5, #0x1c]
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.align 2, 0
_08115A70: .4byte 0x020380D7
_08115A74: .4byte 0x08115A79
thumb_func_end AnimFissureDirtPlumeParticle
thumb_func_start AnimBonemerangProjectileEnd
AnimBonemerangProjectileEnd: @ 0x08115A78
push {r4, lr}
adds r4, r0, #0
bl TranslateAnimHorizontalArc
lsls r0, r0, #0x18
cmp r0, #0
beq _08115A8C
adds r0, r4, #0
bl DestroyAnimSprite
_08115A8C:
pop {r4}
pop {r0}
bx r0
.align 2, 0
thumb_func_end AnimBonemerangProjectileEnd
thumb_func_start AnimDigDirtMound
AnimDigDirtMound: @ 0x08115A94
push {r4, r5, r6, lr}
adds r6, r0, #0
ldr r0, _08115AA8
movs r1, #0
ldrsh r0, [r0, r1]
cmp r0, #0
bne _08115AB0
ldr r0, _08115AAC
b _08115AB2
.align 2, 0
_08115AA8: .4byte 0x020380BE
_08115AAC: .4byte 0x020380D6
_08115AB0:
ldr r0, _08115B10
_08115AB2:
ldrb r5, [r0]
adds r0, r5, #0
movs r1, #0
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
ldr r2, _08115B14
adds r0, r0, r2
ldr r4, _08115B18
movs r3, #2
ldrsh r1, [r4, r3]
lsls r1, r1, #5
adds r0, r0, r1
strh r0, [r6, #0x20]
adds r0, r5, #0
bl GetBattlerYCoordWithElevation
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
adds r0, #0x20
strh r0, [r6, #0x22]
ldrh r2, [r6, #4]
lsls r1, r2, #0x16
lsrs r1, r1, #0x16
movs r3, #2
ldrsh r0, [r4, r3]
lsls r0, r0, #3
adds r1, r1, r0
ldr r3, _08115B1C
adds r0, r3, #0
ands r1, r0
ldr r0, _08115B20
ands r0, r2
orrs r0, r1
strh r0, [r6, #4]
ldr r1, _08115B24
adds r0, r6, #0
bl StoreSpriteCallbackInData6
ldrh r0, [r4, #4]
strh r0, [r6, #0x2e]
ldr r0, _08115B28
str r0, [r6, #0x1c]
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_08115B10: .4byte 0x020380D7
_08115B14: .4byte 0x0000FFF0
_08115B18: .4byte 0x020380BE
_08115B1C: .4byte 0x000003FF
_08115B20: .4byte 0xFFFFFC00
_08115B24: .4byte 0x080A34C5
_08115B28: .4byte 0x080A5D79
thumb_func_end AnimDigDirtMound
thumb_func_start sub_08115B2C
sub_08115B2C: @ 0x08115B2C
push {r4, r5, r6, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r1, _08115B50
adds r4, r0, r1
ldr r0, _08115B54
ldrh r2, [r0, #2]
movs r3, #2
ldrsh r1, [r0, r3]
adds r6, r0, #0
cmp r1, #0
beq _08115B58
adds r0, r2, #3
b _08115B64
.align 2, 0
_08115B50: .4byte 0x03005B60
_08115B54: .4byte 0x020380BE
_08115B58:
ldr r0, _08115B84
ldrh r0, [r0]
movs r1, #0xa
bl __udivsi3
adds r0, #3
_08115B64:
strh r0, [r4, #0x26]
strh r0, [r4, #0x24]
adds r1, r6, #0
ldrh r0, [r1, #4]
strh r0, [r4, #0xe]
movs r2, #0
ldrsh r0, [r1, r2]
cmp r0, #4
beq _08115B90
cmp r0, #5
bne _08115BD0
ldr r0, _08115B88
ldrh r0, [r0]
strh r0, [r4, #0x22]
ldr r0, _08115B8C
b _08115BEE
.align 2, 0
_08115B84: .4byte 0x020380A8
_08115B88: .4byte 0x02022AD4
_08115B8C: .4byte 0x08115BFD
_08115B90:
movs r0, #0
strh r0, [r4, #0x22]
movs r5, #0
_08115B96:
lsls r0, r5, #0x18
lsrs r0, r0, #0x18
bl IsBattlerSpriteVisible
lsls r0, r0, #0x18
cmp r0, #0
beq _08115BC0
movs r3, #0x22
ldrsh r0, [r4, r3]
adds r0, #9
lsls r0, r0, #1
adds r1, r4, #0
adds r1, #8
adds r1, r1, r0
ldr r0, _08115BCC
adds r0, r5, r0
ldrb r0, [r0]
strh r0, [r1]
ldrh r0, [r4, #0x22]
adds r0, #1
strh r0, [r4, #0x22]
_08115BC0:
adds r0, r5, #1
lsls r0, r0, #0x10
lsrs r5, r0, #0x10
cmp r5, #3
bls _08115B96
b _08115BEC
.align 2, 0
_08115BCC: .4byte 0x02023E88
_08115BD0:
ldrb r0, [r6]
bl GetAnimBattlerSpriteId
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0x1a]
cmp r0, #0xff
bne _08115BE8
adds r0, r5, #0
bl DestroyAnimVisualTask
b _08115BF0
_08115BE8:
movs r0, #1
strh r0, [r4, #0x22]
_08115BEC:
ldr r0, _08115BF8
_08115BEE:
str r0, [r4]
_08115BF0:
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_08115BF8: .4byte 0x08115CF5
thumb_func_end sub_08115B2C
thumb_func_start sub_08115BFC
sub_08115BFC: @ 0x08115BFC
push {lr}
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
lsls r0, r2, #2
adds r0, r0, r2
lsls r0, r0, #3
ldr r1, _08115C20
adds r3, r0, r1
movs r0, #8
ldrsh r1, [r3, r0]
cmp r1, #1
beq _08115C80
cmp r1, #1
bgt _08115C24
cmp r1, #0
beq _08115C2A
b _08115CEC
.align 2, 0
_08115C20: .4byte 0x03005B60
_08115C24:
cmp r1, #2
beq _08115CE0
b _08115CEC
_08115C2A:
ldrh r0, [r3, #0xa]
adds r0, #1
strh r0, [r3, #0xa]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #1
ble _08115CEC
strh r1, [r3, #0xa]
ldrh r1, [r3, #0xc]
movs r0, #1
ands r0, r1
cmp r0, #0
bne _08115C54
ldr r1, _08115C50
ldrh r0, [r3, #0x26]
ldrh r2, [r3, #0x22]
adds r0, r0, r2
strh r0, [r1]
b _08115C5E
.align 2, 0
_08115C50: .4byte 0x02022AD4
_08115C54:
ldr r0, _08115C7C
ldrh r1, [r3, #0x22]
ldrh r2, [r3, #0x26]
subs r1, r1, r2
strh r1, [r0]
_08115C5E:
ldrh r0, [r3, #0xc]
adds r0, #1
strh r0, [r3, #0xc]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r2, #0xe
ldrsh r1, [r3, r2]
cmp r0, r1
bne _08115CEC
movs r0, #0
strh r0, [r3, #0xc]
ldrh r0, [r3, #0x24]
subs r0, #1
strh r0, [r3, #0x24]
b _08115CD4
.align 2, 0
_08115C7C: .4byte 0x02022AD4
_08115C80:
ldrh r0, [r3, #0xa]
adds r0, #1
strh r0, [r3, #0xa]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #1
ble _08115CEC
movs r0, #0
strh r0, [r3, #0xa]
ldrh r0, [r3, #0xc]
ands r1, r0
cmp r1, #0
bne _08115CAC
ldr r1, _08115CA8
ldrh r0, [r3, #0x24]
ldrh r2, [r3, #0x22]
adds r0, r0, r2
strh r0, [r1]
b _08115CB6
.align 2, 0
_08115CA8: .4byte 0x02022AD4
_08115CAC:
ldr r0, _08115CDC
ldrh r1, [r3, #0x22]
ldrh r2, [r3, #0x24]
subs r1, r1, r2
strh r1, [r0]
_08115CB6:
ldrh r0, [r3, #0xc]
adds r0, #1
strh r0, [r3, #0xc]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #4
bne _08115CEC
movs r0, #0
strh r0, [r3, #0xc]
ldrh r0, [r3, #0x24]
subs r0, #1
strh r0, [r3, #0x24]
lsls r0, r0, #0x10
cmp r0, #0
bne _08115CEC
_08115CD4:
ldrh r0, [r3, #8]
adds r0, #1
strh r0, [r3, #8]
b _08115CEC
.align 2, 0
_08115CDC: .4byte 0x02022AD4
_08115CE0:
ldr r1, _08115CF0
ldrh r0, [r3, #0x22]
strh r0, [r1]
adds r0, r2, #0
bl DestroyAnimVisualTask
_08115CEC:
pop {r0}
bx r0
.align 2, 0
_08115CF0: .4byte 0x02022AD4
thumb_func_end sub_08115BFC
thumb_func_start sub_08115CF4
sub_08115CF4: @ 0x08115CF4
push {r4, r5, r6, r7, lr}
lsls r0, r0, #0x18
lsrs r3, r0, #0x18
lsls r0, r3, #2
adds r0, r0, r3
lsls r0, r0, #3
ldr r1, _08115D18
adds r4, r0, r1
movs r0, #8
ldrsh r5, [r4, r0]
cmp r5, #1
beq _08115D54
cmp r5, #1
bgt _08115D1C
cmp r5, #0
beq _08115D22
b _08115DCE
.align 2, 0
_08115D18: .4byte 0x03005B60
_08115D1C:
cmp r5, #2
beq _08115D90
b _08115DCE
_08115D22:
ldrh r0, [r4, #0xa]
adds r0, #1
strh r0, [r4, #0xa]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #1
ble _08115DCE
strh r5, [r4, #0xa]
adds r0, r4, #0
bl sub_08115DD8
ldrh r0, [r4, #0xc]
adds r0, #1
strh r0, [r4, #0xc]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r2, #0xe
ldrsh r1, [r4, r2]
cmp r0, r1
bne _08115DCE
strh r5, [r4, #0xc]
ldrh r0, [r4, #0x24]
subs r0, #1
strh r0, [r4, #0x24]
b _08115D88
_08115D54:
ldrh r0, [r4, #0xa]
adds r0, #1
movs r5, #0
strh r0, [r4, #0xa]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #1
ble _08115DCE
strh r5, [r4, #0xa]
adds r0, r4, #0
bl sub_08115DD8
ldrh r0, [r4, #0xc]
adds r0, #1
strh r0, [r4, #0xc]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #4
bne _08115DCE
strh r5, [r4, #0xc]
ldrh r0, [r4, #0x24]
subs r0, #1
strh r0, [r4, #0x24]
lsls r0, r0, #0x10
cmp r0, #0
bne _08115DCE
_08115D88:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _08115DCE
_08115D90:
movs r2, #0
movs r7, #0x22
ldrsh r0, [r4, r7]
cmp r2, r0
bge _08115DC8
ldr r0, _08115DD4
mov ip, r0
adds r5, r4, #0
adds r5, #8
movs r6, #0
_08115DA4:
adds r0, r2, #0
adds r0, #9
lsls r0, r0, #1
adds r0, r5, r0
movs r7, #0
ldrsh r1, [r0, r7]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
add r0, ip
strh r6, [r0, #0x24]
adds r0, r2, #1
lsls r0, r0, #0x10
lsrs r2, r0, #0x10
movs r1, #0x22
ldrsh r0, [r4, r1]
cmp r2, r0
blt _08115DA4
_08115DC8:
adds r0, r3, #0
bl DestroyAnimVisualTask
_08115DCE:
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.align 2, 0
_08115DD4: .4byte 0x020205AC
thumb_func_end sub_08115CF4
thumb_func_start sub_08115DD8
sub_08115DD8: @ 0x08115DD8
push {r4, r5, r6, r7, lr}
adds r3, r0, #0
ldrh r1, [r3, #0xc]
movs r4, #1
adds r0, r4, #0
ands r0, r1
cmp r0, #0
bne _08115E00
movs r0, #0x24
ldrsh r1, [r3, r0]
lsrs r0, r1, #0x1f
adds r1, r1, r0
asrs r1, r1, #1
ldrh r2, [r3, #0x24]
adds r0, r4, #0
ands r0, r2
adds r1, r1, r0
lsls r1, r1, #0x10
lsrs r4, r1, #0x10
b _08115E10
_08115E00:
movs r1, #0x24
ldrsh r0, [r3, r1]
lsrs r1, r0, #0x1f
adds r0, r0, r1
asrs r0, r0, #1
rsbs r0, r0, #0
lsls r0, r0, #0x10
lsrs r4, r0, #0x10
_08115E10:
movs r2, #0
movs r7, #0x22
ldrsh r0, [r3, r7]
cmp r2, r0
bge _08115E44
ldr r6, _08115E4C
adds r5, r3, #0
adds r5, #8
_08115E20:
adds r0, r2, #0
adds r0, #9
lsls r0, r0, #1
adds r0, r5, r0
movs r7, #0
ldrsh r1, [r0, r7]
lsls r0, r1, #4
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r6
strh r4, [r0, #0x24]
adds r0, r2, #1
lsls r0, r0, #0x10
lsrs r2, r0, #0x10
movs r1, #0x22
ldrsh r0, [r3, r1]
cmp r2, r0
blt _08115E20
_08115E44:
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.align 2, 0
_08115E4C: .4byte 0x020205AC
thumb_func_end sub_08115DD8
thumb_func_start AnimTask_IsPowerOver99
AnimTask_IsPowerOver99: @ 0x08115E50
push {lr}
lsls r0, r0, #0x18
lsrs r1, r0, #0x18
ldr r3, _08115E70
movs r2, #0
ldr r0, _08115E74
ldrh r0, [r0]
cmp r0, #0x63
bls _08115E64
movs r2, #1
_08115E64:
strh r2, [r3, #0x1e]
adds r0, r1, #0
bl DestroyAnimVisualTask
pop {r0}
bx r0
.align 2, 0
_08115E70: .4byte 0x020380BE
_08115E74: .4byte 0x020380A8
thumb_func_end AnimTask_IsPowerOver99
thumb_func_start sub_08115E78
sub_08115E78: @ 0x08115E78
push {r4, r5, r6, r7, lr}
lsls r0, r0, #0x18
lsrs r7, r0, #0x18
ldr r2, _08115E90
ldrh r1, [r2]
movs r0, #1
ands r0, r1
adds r6, r2, #0
cmp r0, #0
beq _08115E98
ldr r0, _08115E94
b _08115E9A
.align 2, 0
_08115E90: .4byte 0x020380BE
_08115E94: .4byte 0x020380D7
_08115E98:
ldr r0, _08115F08
_08115E9A:
ldrb r0, [r0]
adds r5, r0, #0
movs r1, #0
ldrsh r0, [r6, r1]
cmp r0, #1
ble _08115EAA
movs r0, #2
eors r5, r0
_08115EAA:
ldr r0, _08115F0C
ldrb r1, [r6, #2]
bl CreateTask
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
lsls r4, r0, #2
adds r4, r4, r0
lsls r4, r4, #3
ldr r0, _08115F10
adds r4, r4, r0
adds r0, r5, #0
movs r1, #2
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
movs r1, #0x20
subs r1, r1, r0
ldr r2, _08115F14
adds r0, r2, #0
ands r1, r0
strh r1, [r4, #0xa]
adds r0, r5, #0
movs r1, #3
bl GetBattlerSpriteCoord
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
movs r1, #0x40
subs r1, r1, r0
movs r0, #0xff
ands r1, r0
strh r1, [r4, #0xc]
ldr r2, _08115F18
ldrh r0, [r4, #0xa]
strh r0, [r2]
ldr r0, _08115F1C
strh r1, [r0]
ldrh r0, [r6, #4]
strh r0, [r4, #0xe]
adds r0, r7, #0
bl DestroyAnimVisualTask
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.align 2, 0
_08115F08: .4byte 0x020380D6
_08115F0C: .4byte 0x08115F21
_08115F10: .4byte 0x03005B60
_08115F14: .4byte 0x000001FF
_08115F18: .4byte 0x02022AD4
_08115F1C: .4byte 0x02022AD6
thumb_func_end sub_08115E78
thumb_func_start sub_08115F20
sub_08115F20: @ 0x08115F20
push {r4, lr}
lsls r0, r0, #0x18
lsrs r3, r0, #0x18
lsls r0, r3, #2
adds r0, r0, r3
lsls r0, r0, #3
ldr r1, _08115F50
adds r2, r0, r1
ldr r0, _08115F54
movs r4, #0xe
ldrsh r1, [r0, r4]
movs r4, #0xe
ldrsh r0, [r2, r4]
cmp r1, r0
bne _08115F60
ldr r0, _08115F58
movs r1, #0
strh r1, [r0]
ldr r0, _08115F5C
strh r1, [r0]
adds r0, r3, #0
bl DestroyTask
b _08115F6C
.align 2, 0
_08115F50: .4byte 0x03005B60
_08115F54: .4byte 0x020380BE
_08115F58: .4byte 0x02022AD4
_08115F5C: .4byte 0x02022AD6
_08115F60:
ldr r1, _08115F74
ldrh r0, [r2, #0xa]
strh r0, [r1]
ldr r1, _08115F78
ldrh r0, [r2, #0xc]
strh r0, [r1]
_08115F6C:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08115F74: .4byte 0x02022AD4
_08115F78: .4byte 0x02022AD6
thumb_func_end sub_08115F20