mirror of
https://github.com/pret/pokeemerald-jp.git
synced 2026-09-26 05:31:09 -04:00
1979 lines
34 KiB
ArmAsm
1979 lines
34 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
.text
|
|
.syntax unified
|
|
|
|
thumb_func_start AnimConfusionDuck
|
|
AnimConfusionDuck: @ 0x08115F7C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08115FB4
|
|
ldrh r0, [r5]
|
|
ldrh r1, [r4, #0x20]
|
|
adds r0, r0, r1
|
|
strh r0, [r4, #0x20]
|
|
ldrh r0, [r5, #2]
|
|
ldrh r1, [r4, #0x22]
|
|
adds r0, r0, r1
|
|
strh r0, [r4, #0x22]
|
|
ldrh r0, [r5, #4]
|
|
strh r0, [r4, #0x2e]
|
|
ldr r0, _08115FB8
|
|
ldrb r0, [r0]
|
|
bl GetBattlerSide
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0
|
|
beq _08115FBC
|
|
ldrh r0, [r5, #6]
|
|
rsbs r0, r0, #0
|
|
strh r0, [r4, #0x30]
|
|
movs r0, #1
|
|
strh r0, [r4, #0x36]
|
|
b _08115FCA
|
|
.align 2, 0
|
|
_08115FB4: .4byte 0x020380BE
|
|
_08115FB8: .4byte 0x020380D6
|
|
_08115FBC:
|
|
ldrh r0, [r5, #6]
|
|
strh r0, [r4, #0x30]
|
|
strh r1, [r4, #0x36]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl StartSpriteAnim
|
|
_08115FCA:
|
|
ldr r0, _08115FE0
|
|
ldrh r0, [r0, #8]
|
|
strh r0, [r4, #0x34]
|
|
ldr r1, _08115FE4
|
|
str r1, [r4, #0x1c]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08115FE0: .4byte 0x020380BE
|
|
_08115FE4: .4byte 0x08115FE9
|
|
thumb_func_end AnimConfusionDuck
|
|
|
|
thumb_func_start AnimConfusionDuckStep
|
|
AnimConfusionDuckStep: @ 0x08115FE8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
movs r1, #0x1e
|
|
bl Cos
|
|
strh r0, [r4, #0x24]
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r4, r2]
|
|
movs r1, #0xa
|
|
bl Sin
|
|
strh r0, [r4, #0x26]
|
|
ldrh r0, [r4, #0x2e]
|
|
cmp r0, #0x7f
|
|
bhi _0811601A
|
|
ldrb r0, [r4, #5]
|
|
movs r1, #0xd
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #4
|
|
orrs r1, r0
|
|
strb r1, [r4, #5]
|
|
b _08116022
|
|
_0811601A:
|
|
ldrb r0, [r4, #5]
|
|
movs r1, #0xc
|
|
orrs r0, r1
|
|
strb r0, [r4, #5]
|
|
_08116022:
|
|
ldrh r0, [r4, #0x30]
|
|
ldrh r1, [r4, #0x2e]
|
|
adds r0, r0, r1
|
|
movs r1, #0xff
|
|
ands r0, r1
|
|
strh r0, [r4, #0x2e]
|
|
ldrh r0, [r4, #0x32]
|
|
adds r0, #1
|
|
strh r0, [r4, #0x32]
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
movs r2, #0x34
|
|
ldrsh r1, [r4, r2]
|
|
cmp r0, r1
|
|
bne _08116046
|
|
adds r0, r4, #0
|
|
bl DestroyAnimSprite
|
|
_08116046:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end AnimConfusionDuckStep
|
|
|
|
thumb_func_start AnimSimplePaletteBlend
|
|
AnimSimplePaletteBlend: @ 0x0811604C
|
|
push {r4, r5, lr}
|
|
sub sp, #4
|
|
adds r5, r0, #0
|
|
ldr r4, _08116084
|
|
movs r1, #0
|
|
ldrsh r0, [r4, r1]
|
|
bl UnpackSelectedBattleAnimPalettes
|
|
movs r1, #2
|
|
ldrsb r1, [r4, r1]
|
|
ldrb r2, [r4, #4]
|
|
ldrb r3, [r4, #6]
|
|
ldrh r4, [r4, #8]
|
|
str r4, [sp]
|
|
bl BeginNormalPaletteFade
|
|
adds r2, r5, #0
|
|
adds r2, #0x3e
|
|
ldrb r0, [r2]
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r0, _08116088
|
|
str r0, [r5, #0x1c]
|
|
add sp, #4
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116084: .4byte 0x020380BE
|
|
_08116088: .4byte 0x081160D5
|
|
thumb_func_end AnimSimplePaletteBlend
|
|
|
|
thumb_func_start UnpackSelectedBattleAnimPalettes
|
|
UnpackSelectedBattleAnimPalettes: @ 0x0811608C
|
|
push {r4, r5, r6, lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, #0xc
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r4, #1
|
|
mov r8, r0
|
|
mov r1, r8
|
|
ands r1, r4
|
|
mov r8, r1
|
|
lsls r0, r0, #0x10
|
|
asrs r1, r0, #0x11
|
|
ands r1, r4
|
|
asrs r2, r0, #0x12
|
|
ands r2, r4
|
|
asrs r3, r0, #0x13
|
|
ands r3, r4
|
|
asrs r6, r0, #0x14
|
|
ands r6, r4
|
|
asrs r5, r0, #0x15
|
|
ands r5, r4
|
|
asrs r0, r0, #0x16
|
|
ands r0, r4
|
|
str r6, [sp]
|
|
str r5, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, r8
|
|
bl sub_080A6E74
|
|
add sp, #0xc
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end UnpackSelectedBattleAnimPalettes
|
|
|
|
thumb_func_start AnimSimplePaletteBlendStep
|
|
AnimSimplePaletteBlendStep: @ 0x081160D4
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _081160F0
|
|
ldrb r1, [r0, #7]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _081160EA
|
|
adds r0, r2, #0
|
|
bl DestroyAnimSprite
|
|
_081160EA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081160F0: .4byte 0x02037C74
|
|
thumb_func_end AnimSimplePaletteBlendStep
|
|
|
|
thumb_func_start sub_081160F4
|
|
sub_081160F4: @ 0x081160F4
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _08116140
|
|
ldrh r0, [r4, #2]
|
|
strh r0, [r5, #0x2e]
|
|
strh r0, [r5, #0x30]
|
|
ldrh r0, [r4, #4]
|
|
strh r0, [r5, #0x32]
|
|
ldrh r0, [r4, #6]
|
|
strh r0, [r5, #0x34]
|
|
ldrh r0, [r4, #8]
|
|
strh r0, [r5, #0x36]
|
|
ldrh r0, [r4, #0xa]
|
|
strh r0, [r5, #0x38]
|
|
ldrh r0, [r4, #0xc]
|
|
strh r0, [r5, #0x3a]
|
|
ldrh r0, [r4]
|
|
strh r0, [r5, #0x3c]
|
|
movs r1, #0x3c
|
|
ldrsh r0, [r5, r1]
|
|
bl UnpackSelectedBattleAnimPalettes
|
|
ldrb r1, [r4, #8]
|
|
ldrh r2, [r4, #6]
|
|
bl BlendPalettes
|
|
adds r2, r5, #0
|
|
adds r2, #0x3e
|
|
ldrb r0, [r2]
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r0, _08116144
|
|
str r0, [r5, #0x1c]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116140: .4byte 0x020380BE
|
|
_08116144: .4byte 0x08116149
|
|
thumb_func_end sub_081160F4
|
|
|
|
thumb_func_start sub_08116148
|
|
sub_08116148: @ 0x08116148
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrh r1, [r4, #0x2e]
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, #0
|
|
ble _0811615C
|
|
subs r0, r1, #1
|
|
strh r0, [r4, #0x2e]
|
|
b _081161CC
|
|
_0811615C:
|
|
ldr r0, _08116178
|
|
ldrb r1, [r0, #7]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _081161CC
|
|
movs r1, #0x32
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _08116180
|
|
ldr r0, _0811617C
|
|
str r0, [r4, #0x1c]
|
|
b _081161CC
|
|
.align 2, 0
|
|
_08116178: .4byte 0x02037C74
|
|
_0811617C: .4byte 0x081161D5
|
|
_08116180:
|
|
movs r2, #0x3c
|
|
ldrsh r0, [r4, r2]
|
|
bl UnpackSelectedBattleAnimPalettes
|
|
adds r3, r0, #0
|
|
ldrh r1, [r4, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _081161A6
|
|
ldrh r1, [r4, #0x36]
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
ldrh r2, [r4, #0x34]
|
|
adds r0, r3, #0
|
|
bl BlendPalettes
|
|
b _081161B4
|
|
_081161A6:
|
|
ldrh r1, [r4, #0x3a]
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
ldrh r2, [r4, #0x38]
|
|
adds r0, r3, #0
|
|
bl BlendPalettes
|
|
_081161B4:
|
|
ldrh r0, [r4, #0x30]
|
|
movs r2, #0x80
|
|
lsls r2, r2, #1
|
|
adds r1, r2, #0
|
|
eors r0, r1
|
|
strh r0, [r4, #0x30]
|
|
movs r1, #0xff
|
|
ands r0, r1
|
|
strh r0, [r4, #0x2e]
|
|
ldrh r0, [r4, #0x32]
|
|
subs r0, #1
|
|
strh r0, [r4, #0x32]
|
|
_081161CC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end sub_08116148
|
|
|
|
thumb_func_start sub_081161D4
|
|
sub_081161D4: @ 0x081161D4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08116200
|
|
ldrb r1, [r0, #7]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _081161FA
|
|
movs r1, #0x3c
|
|
ldrsh r0, [r4, r1]
|
|
bl UnpackSelectedBattleAnimPalettes
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl BlendPalettes
|
|
adds r0, r4, #0
|
|
bl DestroyAnimSprite
|
|
_081161FA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116200: .4byte 0x02037C74
|
|
thumb_func_end sub_081161D4
|
|
|
|
thumb_func_start sub_08116204
|
|
sub_08116204: @ 0x08116204
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08116248
|
|
ldrh r0, [r1]
|
|
ldrh r2, [r4, #0x20]
|
|
adds r0, r0, r2
|
|
movs r2, #0
|
|
strh r0, [r4, #0x20]
|
|
ldrh r0, [r1, #2]
|
|
ldrh r1, [r4, #0x22]
|
|
adds r0, r0, r1
|
|
strh r0, [r4, #0x22]
|
|
strh r2, [r4, #0x2e]
|
|
movs r0, #0xa
|
|
strh r0, [r4, #0x30]
|
|
movs r0, #8
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #0x28
|
|
strh r0, [r4, #0x34]
|
|
movs r0, #0x70
|
|
strh r0, [r4, #0x36]
|
|
strh r2, [r4, #0x38]
|
|
ldr r1, _0811624C
|
|
adds r0, r4, #0
|
|
bl StoreSpriteCallbackInData6
|
|
ldr r1, _08116250
|
|
str r1, [r4, #0x1c]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116248: .4byte 0x020380BE
|
|
_0811624C: .4byte 0x080A6015
|
|
_08116250: .4byte 0x080A5C15
|
|
thumb_func_end sub_08116204
|
|
|
|
thumb_func_start sub_08116254
|
|
sub_08116254: @ 0x08116254
|
|
push {r4, r5, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldr r1, _08116298
|
|
lsls r4, r0, #2
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #3
|
|
adds r4, r4, r1
|
|
ldr r3, _0811629C
|
|
ldrh r1, [r3]
|
|
movs r5, #0
|
|
strh r1, [r4, #8]
|
|
ldrh r1, [r3, #2]
|
|
strh r1, [r4, #0xa]
|
|
ldrh r1, [r3, #4]
|
|
strh r1, [r4, #0xc]
|
|
ldrh r1, [r3, #6]
|
|
strh r1, [r4, #0xe]
|
|
ldrh r2, [r3, #8]
|
|
strh r2, [r4, #0x10]
|
|
ldrh r1, [r3, #0xa]
|
|
strh r1, [r4, #0x12]
|
|
strh r5, [r4, #0x18]
|
|
lsls r2, r2, #0x18
|
|
lsrs r2, r2, #0x18
|
|
movs r1, #0
|
|
bl sub_081162A4
|
|
ldr r0, _081162A0
|
|
str r0, [r4]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116298: .4byte 0x03005B60
|
|
_0811629C: .4byte 0x020380BE
|
|
_081162A0: .4byte 0x081162F5
|
|
thumb_func_end sub_08116254
|
|
|
|
thumb_func_start sub_081162A4
|
|
sub_081162A4: @ 0x081162A4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #4
|
|
adds r5, r1, #0
|
|
adds r6, r2, #0
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
lsls r5, r5, #0x18
|
|
lsrs r5, r5, #0x18
|
|
lsls r6, r6, #0x18
|
|
lsrs r6, r6, #0x18
|
|
ldr r1, _081162F0
|
|
lsls r4, r0, #2
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #3
|
|
adds r4, r4, r1
|
|
movs r1, #8
|
|
ldrsh r0, [r4, r1]
|
|
bl UnpackSelectedBattleAnimPalettes
|
|
movs r1, #0xa
|
|
ldrsb r1, [r4, r1]
|
|
ldrh r2, [r4, #0x12]
|
|
str r2, [sp]
|
|
adds r2, r5, #0
|
|
adds r3, r6, #0
|
|
bl BeginNormalPaletteFade
|
|
ldrh r0, [r4, #0xc]
|
|
subs r0, #1
|
|
strh r0, [r4, #0xc]
|
|
ldrh r0, [r4, #0x18]
|
|
movs r1, #1
|
|
eors r0, r1
|
|
strh r0, [r4, #0x18]
|
|
add sp, #4
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081162F0: .4byte 0x03005B60
|
|
thumb_func_end sub_081162A4
|
|
|
|
thumb_func_start sub_081162F4
|
|
sub_081162F4: @ 0x081162F4
|
|
push {r4, r5, r6, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
adds r4, r3, #0
|
|
ldr r0, _0811632C
|
|
ldrb r1, [r0, #7]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08116356
|
|
ldr r1, _08116330
|
|
lsls r2, r3, #2
|
|
adds r0, r2, r3
|
|
lsls r0, r0, #3
|
|
adds r3, r0, r1
|
|
movs r5, #0xc
|
|
ldrsh r0, [r3, r5]
|
|
adds r6, r1, #0
|
|
adds r5, r2, #0
|
|
cmp r0, #0
|
|
ble _08116350
|
|
movs r1, #0x18
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, #0
|
|
bne _08116334
|
|
ldrb r1, [r3, #0xe]
|
|
ldrb r2, [r3, #0x10]
|
|
b _08116338
|
|
.align 2, 0
|
|
_0811632C: .4byte 0x02037C74
|
|
_08116330: .4byte 0x03005B60
|
|
_08116334:
|
|
ldrb r1, [r3, #0x10]
|
|
ldrb r2, [r3, #0xe]
|
|
_08116338:
|
|
adds r0, r5, r4
|
|
lsls r0, r0, #3
|
|
adds r0, r0, r6
|
|
movs r3, #0xc
|
|
ldrsh r0, [r0, r3]
|
|
cmp r0, #1
|
|
bne _08116348
|
|
movs r2, #0
|
|
_08116348:
|
|
adds r0, r4, #0
|
|
bl sub_081162A4
|
|
b _08116356
|
|
_08116350:
|
|
adds r0, r4, #0
|
|
bl DestroyAnimVisualTask
|
|
_08116356:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_081162F4
|
|
|
|
thumb_func_start sub_0811635C
|
|
sub_0811635C: @ 0x0811635C
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
movs r5, #0
|
|
ldr r3, _08116400
|
|
lsls r0, r6, #2
|
|
adds r0, r0, r6
|
|
lsls r0, r0, #3
|
|
adds r0, r0, r3
|
|
ldr r2, _08116404
|
|
ldrh r1, [r2]
|
|
strh r1, [r0, #8]
|
|
ldrh r1, [r2, #2]
|
|
strh r1, [r0, #0xa]
|
|
ldrh r1, [r2, #4]
|
|
strh r1, [r0, #0xc]
|
|
ldrh r1, [r2, #6]
|
|
strh r1, [r0, #0xe]
|
|
ldrh r1, [r2, #8]
|
|
strh r1, [r0, #0x10]
|
|
ldrh r1, [r2, #0xa]
|
|
strh r1, [r0, #0x12]
|
|
strh r5, [r0, #0x18]
|
|
movs r4, #0
|
|
ldr r0, _08116408
|
|
ldrb r1, [r0]
|
|
mov sb, r3
|
|
mov r8, r2
|
|
cmp r5, r1
|
|
bge _081163C4
|
|
ldr r0, _0811640C
|
|
ldrb r3, [r0]
|
|
ldr r7, _08116410
|
|
movs r0, #1
|
|
mov ip, r0
|
|
adds r2, r1, #0
|
|
_081163AA:
|
|
cmp r4, r3
|
|
beq _081163BE
|
|
ldrb r1, [r7]
|
|
cmp r4, r1
|
|
beq _081163BE
|
|
adds r1, r4, #0
|
|
adds r1, #0x10
|
|
mov r0, ip
|
|
lsls r0, r1
|
|
orrs r5, r0
|
|
_081163BE:
|
|
adds r4, #1
|
|
cmp r4, r2
|
|
blt _081163AA
|
|
_081163C4:
|
|
mov r2, r8
|
|
movs r1, #0
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, #1
|
|
bne _081163D2
|
|
movs r0, #0xe
|
|
orrs r5, r0
|
|
_081163D2:
|
|
lsls r4, r6, #2
|
|
adds r4, r4, r6
|
|
lsls r4, r4, #3
|
|
add r4, sb
|
|
lsrs r0, r5, #0x10
|
|
strh r0, [r4, #0x1a]
|
|
movs r0, #0xff
|
|
ands r5, r0
|
|
strh r5, [r4, #0x1c]
|
|
ldrb r2, [r4, #0x10]
|
|
adds r0, r6, #0
|
|
movs r1, #0
|
|
bl sub_08116418
|
|
ldr r0, _08116414
|
|
str r0, [r4]
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116400: .4byte 0x03005B60
|
|
_08116404: .4byte 0x020380BE
|
|
_08116408: .4byte 0x02023D10
|
|
_0811640C: .4byte 0x020380D6
|
|
_08116410: .4byte 0x020380D7
|
|
_08116414: .4byte 0x08116469
|
|
thumb_func_end sub_0811635C
|
|
|
|
thumb_func_start sub_08116418
|
|
sub_08116418: @ 0x08116418
|
|
push {r4, r5, lr}
|
|
sub sp, #4
|
|
adds r5, r1, #0
|
|
adds r3, r2, #0
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
lsls r5, r5, #0x18
|
|
lsrs r5, r5, #0x18
|
|
lsls r3, r3, #0x18
|
|
lsrs r3, r3, #0x18
|
|
ldr r1, _08116464
|
|
lsls r4, r0, #2
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #3
|
|
adds r4, r4, r1
|
|
ldrh r0, [r4, #0x1a]
|
|
lsls r0, r0, #0x10
|
|
ldrh r1, [r4, #0x1c]
|
|
orrs r0, r1
|
|
movs r1, #0xa
|
|
ldrsb r1, [r4, r1]
|
|
ldrh r2, [r4, #0x12]
|
|
str r2, [sp]
|
|
adds r2, r5, #0
|
|
bl BeginNormalPaletteFade
|
|
ldrh r0, [r4, #0xc]
|
|
subs r0, #1
|
|
strh r0, [r4, #0xc]
|
|
ldrh r0, [r4, #0x18]
|
|
movs r1, #1
|
|
eors r0, r1
|
|
strh r0, [r4, #0x18]
|
|
add sp, #4
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116464: .4byte 0x03005B60
|
|
thumb_func_end sub_08116418
|
|
|
|
thumb_func_start sub_08116468
|
|
sub_08116468: @ 0x08116468
|
|
push {r4, r5, r6, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
adds r4, r3, #0
|
|
ldr r0, _081164A0
|
|
ldrb r1, [r0, #7]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _081164CA
|
|
ldr r1, _081164A4
|
|
lsls r2, r3, #2
|
|
adds r0, r2, r3
|
|
lsls r0, r0, #3
|
|
adds r3, r0, r1
|
|
movs r5, #0xc
|
|
ldrsh r0, [r3, r5]
|
|
adds r6, r1, #0
|
|
adds r5, r2, #0
|
|
cmp r0, #0
|
|
ble _081164C4
|
|
movs r1, #0x18
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, #0
|
|
bne _081164A8
|
|
ldrb r1, [r3, #0xe]
|
|
ldrb r2, [r3, #0x10]
|
|
b _081164AC
|
|
.align 2, 0
|
|
_081164A0: .4byte 0x02037C74
|
|
_081164A4: .4byte 0x03005B60
|
|
_081164A8:
|
|
ldrb r1, [r3, #0x10]
|
|
ldrb r2, [r3, #0xe]
|
|
_081164AC:
|
|
adds r0, r5, r4
|
|
lsls r0, r0, #3
|
|
adds r0, r0, r6
|
|
movs r3, #0xc
|
|
ldrsh r0, [r0, r3]
|
|
cmp r0, #1
|
|
bne _081164BC
|
|
movs r2, #0
|
|
_081164BC:
|
|
adds r0, r4, #0
|
|
bl sub_08116418
|
|
b _081164CA
|
|
_081164C4:
|
|
adds r0, r4, #0
|
|
bl DestroyAnimVisualTask
|
|
_081164CA:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_08116468
|
|
|
|
thumb_func_start sub_081164D0
|
|
sub_081164D0: @ 0x081164D0
|
|
push {r4, r5, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldr r1, _08116514
|
|
lsls r4, r0, #2
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #3
|
|
adds r4, r4, r1
|
|
ldr r3, _08116518
|
|
ldrh r1, [r3]
|
|
movs r5, #0
|
|
strh r1, [r4, #8]
|
|
ldrh r1, [r3, #2]
|
|
strh r1, [r4, #0xa]
|
|
ldrh r1, [r3, #4]
|
|
strh r1, [r4, #0xc]
|
|
ldrh r1, [r3, #6]
|
|
strh r1, [r4, #0xe]
|
|
ldrh r2, [r3, #8]
|
|
strh r2, [r4, #0x10]
|
|
ldrh r1, [r3, #0xa]
|
|
strh r1, [r4, #0x12]
|
|
strh r5, [r4, #0x18]
|
|
lsls r2, r2, #0x18
|
|
lsrs r2, r2, #0x18
|
|
movs r1, #0
|
|
bl sub_08116520
|
|
ldr r0, _0811651C
|
|
str r0, [r4]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116514: .4byte 0x03005B60
|
|
_08116518: .4byte 0x020380BE
|
|
_0811651C: .4byte 0x0811657D
|
|
thumb_func_end sub_081164D0
|
|
|
|
thumb_func_start sub_08116520
|
|
sub_08116520: @ 0x08116520
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #4
|
|
adds r5, r1, #0
|
|
adds r6, r2, #0
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
lsls r5, r5, #0x18
|
|
lsrs r5, r5, #0x18
|
|
lsls r6, r6, #0x18
|
|
lsrs r6, r6, #0x18
|
|
ldr r1, _08116578
|
|
lsls r4, r0, #2
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #3
|
|
adds r4, r4, r1
|
|
ldrh r0, [r4, #8]
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
adds r0, #0x10
|
|
movs r2, #1
|
|
lsls r2, r0
|
|
movs r1, #0xa
|
|
ldrsb r1, [r4, r1]
|
|
ldrh r0, [r4, #0x12]
|
|
str r0, [sp]
|
|
adds r0, r2, #0
|
|
adds r2, r5, #0
|
|
adds r3, r6, #0
|
|
bl BeginNormalPaletteFade
|
|
ldrh r0, [r4, #0xc]
|
|
subs r0, #1
|
|
strh r0, [r4, #0xc]
|
|
ldrh r0, [r4, #0x18]
|
|
movs r1, #1
|
|
eors r0, r1
|
|
strh r0, [r4, #0x18]
|
|
add sp, #4
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116578: .4byte 0x03005B60
|
|
thumb_func_end sub_08116520
|
|
|
|
thumb_func_start sub_0811657C
|
|
sub_0811657C: @ 0x0811657C
|
|
push {r4, r5, r6, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
adds r4, r3, #0
|
|
ldr r0, _081165B4
|
|
ldrb r1, [r0, #7]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _081165DE
|
|
ldr r1, _081165B8
|
|
lsls r2, r3, #2
|
|
adds r0, r2, r3
|
|
lsls r0, r0, #3
|
|
adds r3, r0, r1
|
|
movs r5, #0xc
|
|
ldrsh r0, [r3, r5]
|
|
adds r6, r1, #0
|
|
adds r5, r2, #0
|
|
cmp r0, #0
|
|
ble _081165D8
|
|
movs r1, #0x18
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, #0
|
|
bne _081165BC
|
|
ldrb r1, [r3, #0xe]
|
|
ldrb r2, [r3, #0x10]
|
|
b _081165C0
|
|
.align 2, 0
|
|
_081165B4: .4byte 0x02037C74
|
|
_081165B8: .4byte 0x03005B60
|
|
_081165BC:
|
|
ldrb r1, [r3, #0x10]
|
|
ldrb r2, [r3, #0xe]
|
|
_081165C0:
|
|
adds r0, r5, r4
|
|
lsls r0, r0, #3
|
|
adds r0, r0, r6
|
|
movs r3, #0xc
|
|
ldrsh r0, [r0, r3]
|
|
cmp r0, #1
|
|
bne _081165D0
|
|
movs r2, #0
|
|
_081165D0:
|
|
adds r0, r4, #0
|
|
bl sub_08116520
|
|
b _081165DE
|
|
_081165D8:
|
|
adds r0, r4, #0
|
|
bl DestroyAnimVisualTask
|
|
_081165DE:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_0811657C
|
|
|
|
thumb_func_start sub_081165E4
|
|
sub_081165E4: @ 0x081165E4
|
|
push {r4, r5, lr}
|
|
sub sp, #4
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldr r1, _08116644
|
|
lsls r4, r0, #2
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #3
|
|
adds r4, r4, r1
|
|
ldr r5, _08116648
|
|
ldrh r0, [r5, #2]
|
|
strh r0, [r4, #8]
|
|
ldrh r0, [r5, #2]
|
|
strh r0, [r4, #0xa]
|
|
ldrh r0, [r5, #4]
|
|
strh r0, [r4, #0xc]
|
|
ldrh r0, [r5, #6]
|
|
strh r0, [r4, #0xe]
|
|
ldrh r0, [r5, #8]
|
|
strh r0, [r4, #0x10]
|
|
ldrh r0, [r5, #0xa]
|
|
strh r0, [r4, #0x12]
|
|
ldrh r0, [r5, #0xc]
|
|
strh r0, [r4, #0x14]
|
|
ldrh r0, [r5]
|
|
strh r0, [r4, #0x16]
|
|
ldrh r0, [r5]
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
adds r0, #0x10
|
|
movs r1, #1
|
|
lsls r1, r0
|
|
ldrb r3, [r5, #8]
|
|
ldrh r0, [r5, #6]
|
|
str r0, [sp]
|
|
adds r0, r1, #0
|
|
movs r1, #0
|
|
adds r2, r3, #0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _0811664C
|
|
str r0, [r4]
|
|
add sp, #4
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116644: .4byte 0x03005B60
|
|
_08116648: .4byte 0x020380BE
|
|
_0811664C: .4byte 0x08116651
|
|
thumb_func_end sub_081165E4
|
|
|
|
thumb_func_start sub_08116650
|
|
sub_08116650: @ 0x08116650
|
|
push {r4, r5, lr}
|
|
sub sp, #4
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
ldr r1, _08116674
|
|
lsls r0, r5, #2
|
|
adds r0, r0, r5
|
|
lsls r0, r0, #3
|
|
adds r4, r0, r1
|
|
ldrh r1, [r4, #8]
|
|
movs r2, #8
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, #0
|
|
ble _08116678
|
|
subs r0, r1, #1
|
|
strh r0, [r4, #8]
|
|
b _081166FC
|
|
.align 2, 0
|
|
_08116674: .4byte 0x03005B60
|
|
_08116678:
|
|
ldr r0, _08116694
|
|
ldrb r1, [r0, #7]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _081166FC
|
|
movs r3, #0xc
|
|
ldrsh r0, [r4, r3]
|
|
cmp r0, #0
|
|
bne _0811669C
|
|
ldr r0, _08116698
|
|
str r0, [r4]
|
|
b _081166FC
|
|
.align 2, 0
|
|
_08116694: .4byte 0x02037C74
|
|
_08116698: .4byte 0x08116709
|
|
_0811669C:
|
|
ldrh r0, [r4, #0x16]
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
adds r0, #0x10
|
|
movs r2, #1
|
|
lsls r2, r0
|
|
ldrh r1, [r4, #0xa]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _081166CA
|
|
ldrb r3, [r4, #0x10]
|
|
ldrh r0, [r4, #0xe]
|
|
str r0, [sp]
|
|
adds r0, r2, #0
|
|
movs r1, #0
|
|
adds r2, r3, #0
|
|
bl BeginNormalPaletteFade
|
|
b _081166DA
|
|
_081166CA:
|
|
ldrb r3, [r4, #0x14]
|
|
ldrh r0, [r4, #0x12]
|
|
str r0, [sp]
|
|
adds r0, r2, #0
|
|
movs r1, #0
|
|
adds r2, r3, #0
|
|
bl BeginNormalPaletteFade
|
|
_081166DA:
|
|
ldr r0, _08116704
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r5
|
|
lsls r1, r1, #3
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1, #0xa]
|
|
movs r3, #0x80
|
|
lsls r3, r3, #1
|
|
adds r2, r3, #0
|
|
eors r0, r2
|
|
strh r0, [r1, #0xa]
|
|
movs r2, #0xff
|
|
ands r0, r2
|
|
strh r0, [r1, #8]
|
|
ldrh r0, [r1, #0xc]
|
|
subs r0, #1
|
|
strh r0, [r1, #0xc]
|
|
_081166FC:
|
|
add sp, #4
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116704: .4byte 0x03005B60
|
|
thumb_func_end sub_08116650
|
|
|
|
thumb_func_start sub_08116708
|
|
sub_08116708: @ 0x08116708
|
|
push {r4, r5, lr}
|
|
sub sp, #4
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
ldr r0, _08116758
|
|
ldrb r1, [r0, #7]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
cmp r5, #0
|
|
bne _0811674E
|
|
ldr r1, _0811675C
|
|
lsls r0, r4, #2
|
|
adds r0, r0, r4
|
|
lsls r0, r0, #3
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0, #0x16]
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
adds r0, #0x10
|
|
movs r1, #1
|
|
lsls r1, r0
|
|
str r5, [sp]
|
|
adds r0, r1, #0
|
|
movs r1, #0
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl BeginNormalPaletteFade
|
|
adds r0, r4, #0
|
|
bl DestroyAnimVisualTask
|
|
_0811674E:
|
|
add sp, #4
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116758: .4byte 0x02037C74
|
|
_0811675C: .4byte 0x03005B60
|
|
thumb_func_end sub_08116708
|
|
|
|
thumb_func_start sub_08116760
|
|
sub_08116760: @ 0x08116760
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, #0xc
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov r8, r0
|
|
movs r2, #0
|
|
ldr r0, _081167D8
|
|
ldrb r6, [r0]
|
|
ldr r0, _081167DC
|
|
ldrb r7, [r0]
|
|
ldr r4, _081167E0
|
|
ldrh r1, [r4]
|
|
movs r5, #0x80
|
|
lsls r5, r5, #1
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0811679A
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
movs r0, #1
|
|
movs r1, #0
|
|
movs r3, #0
|
|
bl sub_080A6E74
|
|
adds r2, r0, #0
|
|
_0811679A:
|
|
ldrh r1, [r4, #2]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _081167AC
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
lsls r0, r6
|
|
orrs r2, r0
|
|
_081167AC:
|
|
ldrh r1, [r4, #4]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _081167BE
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
lsls r0, r7
|
|
orrs r2, r0
|
|
_081167BE:
|
|
adds r0, r2, #0
|
|
bl InvertPlttBuffer
|
|
mov r0, r8
|
|
bl DestroyAnimVisualTask
|
|
add sp, #0xc
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081167D8: .4byte 0x020380D6
|
|
_081167DC: .4byte 0x020380D7
|
|
_081167E0: .4byte 0x020380BE
|
|
thumb_func_end sub_08116760
|
|
|
|
thumb_func_start sub_081167E4
|
|
sub_081167E4: @ 0x081167E4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov r8, r0
|
|
movs r5, #0
|
|
ldr r1, _081168D8
|
|
lsls r0, r0, #2
|
|
add r0, r8
|
|
lsls r0, r0, #3
|
|
adds r4, r0, r1
|
|
movs r1, #8
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _08116826
|
|
ldr r1, _081168DC
|
|
ldrh r0, [r1]
|
|
strh r0, [r4, #0xc]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r4, #0xe]
|
|
ldrh r0, [r1, #4]
|
|
strh r0, [r4, #0x10]
|
|
ldrh r0, [r1, #6]
|
|
strh r0, [r4, #0xa]
|
|
ldrh r0, [r1, #8]
|
|
strh r0, [r4, #0x12]
|
|
ldrh r0, [r1, #0xa]
|
|
strh r0, [r4, #0x14]
|
|
ldrh r0, [r1, #0xc]
|
|
strh r0, [r4, #0x16]
|
|
_08116826:
|
|
ldrh r0, [r4, #8]
|
|
adds r0, #1
|
|
strh r0, [r4, #8]
|
|
ldr r0, _081168E0
|
|
ldrb r0, [r0]
|
|
mov sb, r0
|
|
ldr r0, _081168E4
|
|
ldrb r0, [r0]
|
|
mov sl, r0
|
|
ldrh r1, [r4, #0xc]
|
|
movs r7, #0x80
|
|
lsls r7, r7, #1
|
|
adds r0, r7, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08116848
|
|
ldr r5, _081168E8
|
|
_08116848:
|
|
movs r6, #1
|
|
adds r0, r6, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08116878
|
|
ldr r2, _081168EC
|
|
ldr r0, _081168F0
|
|
add r0, sb
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, #4
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r2, #0x14
|
|
adds r0, r0, r2
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #2]
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
adds r1, r6, #0
|
|
lsls r1, r0
|
|
lsls r1, r1, #0x10
|
|
orrs r5, r1
|
|
_08116878:
|
|
ldrh r1, [r4, #0xe]
|
|
adds r0, r7, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0811688C
|
|
adds r0, r6, #0
|
|
mov r2, sb
|
|
lsls r0, r2
|
|
lsls r0, r0, #0x10
|
|
orrs r5, r0
|
|
_0811688C:
|
|
ldrh r1, [r4, #0x10]
|
|
adds r0, r7, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _081168A0
|
|
adds r0, r6, #0
|
|
mov r1, sl
|
|
lsls r0, r1
|
|
lsls r0, r0, #0x10
|
|
orrs r5, r0
|
|
_081168A0:
|
|
movs r1, #0x12
|
|
ldrsb r1, [r4, r1]
|
|
movs r2, #0x14
|
|
ldrsb r2, [r4, r2]
|
|
movs r3, #0x16
|
|
ldrsb r3, [r4, r3]
|
|
adds r0, r5, #0
|
|
bl TintPlttBuffer
|
|
movs r2, #8
|
|
ldrsh r1, [r4, r2]
|
|
movs r2, #0xa
|
|
ldrsh r0, [r4, r2]
|
|
cmp r1, r0
|
|
bne _081168CA
|
|
adds r0, r5, #0
|
|
bl UnfadePlttBuffer
|
|
mov r0, r8
|
|
bl DestroyAnimVisualTask
|
|
_081168CA:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081168D8: .4byte 0x03005B60
|
|
_081168DC: .4byte 0x020380BE
|
|
_081168E0: .4byte 0x020380D6
|
|
_081168E4: .4byte 0x020380D7
|
|
_081168E8: .4byte 0x0000FFFF
|
|
_081168EC: .4byte 0x020205AC
|
|
_081168F0: .4byte 0x03005AD0
|
|
thumb_func_end sub_081167E4
|
|
|
|
thumb_func_start sub_081168F4
|
|
sub_081168F4: @ 0x081168F4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r2, r4, #0
|
|
adds r2, #0x3e
|
|
ldrb r0, [r2]
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r1, _08116928
|
|
ldrh r0, [r1]
|
|
rsbs r0, r0, #0
|
|
strh r0, [r4, #0x2e]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r4, #0x30]
|
|
strh r0, [r4, #0x32]
|
|
ldrh r0, [r1, #4]
|
|
strh r0, [r4, #0x34]
|
|
movs r2, #6
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, #1
|
|
beq _0811693C
|
|
cmp r0, #1
|
|
bgt _0811692C
|
|
cmp r0, #0
|
|
beq _08116932
|
|
b _08116954
|
|
.align 2, 0
|
|
_08116928: .4byte 0x020380BE
|
|
_0811692C:
|
|
cmp r0, #2
|
|
beq _08116944
|
|
b _08116954
|
|
_08116932:
|
|
ldr r1, _08116938
|
|
b _08116946
|
|
.align 2, 0
|
|
_08116938: .4byte 0x02022AD4
|
|
_0811693C:
|
|
ldr r1, _08116940
|
|
b _08116946
|
|
.align 2, 0
|
|
_08116940: .4byte 0x02022AD6
|
|
_08116944:
|
|
ldr r1, _08116950
|
|
_08116946:
|
|
adds r0, r4, #0
|
|
bl StoreSpriteCallbackInData6
|
|
b _0811695C
|
|
.align 2, 0
|
|
_08116950: .4byte 0x02021B38
|
|
_08116954:
|
|
ldr r1, _0811698C
|
|
adds r0, r4, #0
|
|
bl StoreSpriteCallbackInData6
|
|
_0811695C:
|
|
movs r0, #0x3a
|
|
ldrsh r1, [r4, r0]
|
|
movs r2, #0x3c
|
|
ldrsh r0, [r4, r2]
|
|
lsls r0, r0, #0x10
|
|
orrs r1, r0
|
|
ldrh r0, [r1]
|
|
strh r0, [r4, #0x36]
|
|
ldr r0, _08116990
|
|
ldrh r0, [r0, #6]
|
|
strh r0, [r4, #0x38]
|
|
subs r0, #2
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #1
|
|
bhi _08116980
|
|
bl sub_08116A44
|
|
_08116980:
|
|
ldr r0, _08116994
|
|
str r0, [r4, #0x1c]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811698C: .4byte 0x02021B3A
|
|
_08116990: .4byte 0x020380BE
|
|
_08116994: .4byte 0x08116999
|
|
thumb_func_end sub_081168F4
|
|
|
|
thumb_func_start sub_08116998
|
|
sub_08116998: @ 0x08116998
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r3, r0, #0
|
|
ldrh r1, [r3, #0x34]
|
|
movs r2, #0x34
|
|
ldrsh r0, [r3, r2]
|
|
cmp r0, #0
|
|
ble _081169DA
|
|
subs r0, r1, #1
|
|
strh r0, [r3, #0x34]
|
|
ldrh r1, [r3, #0x30]
|
|
movs r2, #0x30
|
|
ldrsh r0, [r3, r2]
|
|
cmp r0, #0
|
|
ble _081169BA
|
|
subs r0, r1, #1
|
|
strh r0, [r3, #0x30]
|
|
b _08116A32
|
|
_081169BA:
|
|
ldrh r0, [r3, #0x32]
|
|
strh r0, [r3, #0x30]
|
|
movs r0, #0x3a
|
|
ldrsh r1, [r3, r0]
|
|
movs r2, #0x3c
|
|
ldrsh r0, [r3, r2]
|
|
lsls r0, r0, #0x10
|
|
orrs r1, r0
|
|
ldrh r0, [r3, #0x2e]
|
|
ldrh r2, [r1]
|
|
adds r0, r0, r2
|
|
strh r0, [r1]
|
|
ldrh r0, [r3, #0x2e]
|
|
rsbs r0, r0, #0
|
|
strh r0, [r3, #0x2e]
|
|
b _08116A32
|
|
_081169DA:
|
|
movs r0, #0x3a
|
|
ldrsh r1, [r3, r0]
|
|
movs r2, #0x3c
|
|
ldrsh r0, [r3, r2]
|
|
lsls r0, r0, #0x10
|
|
orrs r1, r0
|
|
ldrh r0, [r3, #0x36]
|
|
strh r0, [r1]
|
|
ldrh r0, [r3, #0x38]
|
|
subs r0, #2
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #1
|
|
bhi _08116A2C
|
|
movs r4, #0
|
|
ldr r5, _08116A38
|
|
ldrb r0, [r5]
|
|
cmp r4, r0
|
|
bhs _08116A2C
|
|
ldr r2, _08116A3C
|
|
mov ip, r2
|
|
ldr r6, _08116A40
|
|
movs r7, #3
|
|
rsbs r7, r7, #0
|
|
_08116A0A:
|
|
adds r0, r4, r6
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, #4
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
add r1, ip
|
|
adds r1, #0x3e
|
|
ldrb r2, [r1]
|
|
adds r0, r7, #0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
ldrb r0, [r5]
|
|
cmp r4, r0
|
|
blo _08116A0A
|
|
_08116A2C:
|
|
adds r0, r3, #0
|
|
bl DestroyAnimSprite
|
|
_08116A32:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116A38: .4byte 0x02023D10
|
|
_08116A3C: .4byte 0x020205AC
|
|
_08116A40: .4byte 0x02023E88
|
|
thumb_func_end sub_08116998
|
|
|
|
thumb_func_start sub_08116A44
|
|
sub_08116A44: @ 0x08116A44
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _08116AB8
|
|
ldr r4, _08116ABC
|
|
ldr r5, _08116AC0
|
|
ldrb r0, [r5]
|
|
adds r0, r0, r4
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, #4
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r6
|
|
adds r1, #0x3e
|
|
ldrb r3, [r1]
|
|
movs r2, #3
|
|
rsbs r2, r2, #0
|
|
adds r0, r2, #0
|
|
ands r0, r3
|
|
strb r0, [r1]
|
|
ldr r3, _08116AC4
|
|
ldrb r0, [r3]
|
|
adds r0, r0, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, #4
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
adds r0, #0x3e
|
|
ldrb r1, [r0]
|
|
ands r2, r1
|
|
strb r2, [r0]
|
|
ldr r0, _08116AC8
|
|
movs r1, #8
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, #2
|
|
bne _08116ACC
|
|
ldrb r0, [r5]
|
|
adds r0, r0, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, #4
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
adds r0, #0x3e
|
|
ldrb r1, [r0]
|
|
movs r2, #2
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
ldrb r0, [r3]
|
|
adds r0, r0, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, #4
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
adds r0, #0x3e
|
|
ldrb r1, [r0]
|
|
b _08116AE8
|
|
.align 2, 0
|
|
_08116AB8: .4byte 0x020205AC
|
|
_08116ABC: .4byte 0x02023E88
|
|
_08116AC0: .4byte 0x020380D6
|
|
_08116AC4: .4byte 0x020380D7
|
|
_08116AC8: .4byte 0x020380BE
|
|
_08116ACC:
|
|
cmp r0, #0
|
|
bne _08116AD4
|
|
ldrb r0, [r5]
|
|
b _08116AD6
|
|
_08116AD4:
|
|
ldrb r0, [r3]
|
|
_08116AD6:
|
|
adds r0, r0, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, #4
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
adds r0, #0x3e
|
|
ldrb r1, [r0]
|
|
movs r2, #2
|
|
_08116AE8:
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end sub_08116A44
|
|
|
|
thumb_func_start sub_08116AF4
|
|
sub_08116AF4: @ 0x08116AF4
|
|
push {r4, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldr r1, _08116B34
|
|
lsls r2, r0, #2
|
|
adds r2, r2, r0
|
|
lsls r2, r2, #3
|
|
adds r2, r2, r1
|
|
ldr r3, _08116B38
|
|
ldrh r1, [r3]
|
|
strh r1, [r2, #8]
|
|
ldrh r1, [r3, #2]
|
|
strh r1, [r2, #0xa]
|
|
ldrh r1, [r3, #4]
|
|
strh r1, [r2, #0xc]
|
|
ldrh r1, [r3, #6]
|
|
strh r1, [r2, #0xe]
|
|
ldrh r1, [r3, #6]
|
|
strh r1, [r2, #0x18]
|
|
ldr r4, _08116B3C
|
|
ldrh r1, [r3]
|
|
strh r1, [r4]
|
|
ldr r4, _08116B40
|
|
ldrh r1, [r3, #2]
|
|
strh r1, [r4]
|
|
ldr r1, _08116B44
|
|
str r1, [r2]
|
|
bl _call_via_r1
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116B34: .4byte 0x03005B60
|
|
_08116B38: .4byte 0x020380BE
|
|
_08116B3C: .4byte 0x02022AD4
|
|
_08116B40: .4byte 0x02022AD6
|
|
_08116B44: .4byte 0x08116B49
|
|
thumb_func_end sub_08116AF4
|
|
|
|
thumb_func_start sub_08116B48
|
|
sub_08116B48: @ 0x08116B48
|
|
push {r4, r5, r6, r7, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
ldr r1, _08116B78
|
|
lsls r0, r5, #2
|
|
adds r0, r0, r5
|
|
lsls r0, r0, #3
|
|
adds r3, r0, r1
|
|
ldrh r2, [r3, #0xe]
|
|
movs r4, #0xe
|
|
ldrsh r0, [r3, r4]
|
|
mov ip, r1
|
|
cmp r0, #0
|
|
bne _08116BCE
|
|
ldr r0, _08116B7C
|
|
ldrh r2, [r0]
|
|
movs r7, #8
|
|
ldrsh r1, [r3, r7]
|
|
adds r6, r0, #0
|
|
cmp r2, r1
|
|
bne _08116B80
|
|
ldrh r0, [r3, #8]
|
|
rsbs r0, r0, #0
|
|
b _08116B82
|
|
.align 2, 0
|
|
_08116B78: .4byte 0x03005B60
|
|
_08116B7C: .4byte 0x02022AD4
|
|
_08116B80:
|
|
ldrh r0, [r3, #8]
|
|
_08116B82:
|
|
strh r0, [r6]
|
|
ldr r2, _08116BA0
|
|
ldrh r3, [r2]
|
|
lsls r1, r5, #2
|
|
adds r0, r1, r5
|
|
lsls r0, r0, #3
|
|
mov r7, ip
|
|
adds r4, r0, r7
|
|
movs r7, #0xa
|
|
ldrsh r0, [r4, r7]
|
|
cmn r3, r0
|
|
bne _08116BA4
|
|
movs r0, #0
|
|
b _08116BA8
|
|
.align 2, 0
|
|
_08116BA0: .4byte 0x02022AD6
|
|
_08116BA4:
|
|
ldrh r0, [r4, #0xa]
|
|
rsbs r0, r0, #0
|
|
_08116BA8:
|
|
strh r0, [r2]
|
|
adds r0, r1, r5
|
|
lsls r0, r0, #3
|
|
add r0, ip
|
|
ldrh r1, [r0, #0x18]
|
|
strh r1, [r0, #0xe]
|
|
ldrh r1, [r0, #0xc]
|
|
subs r1, #1
|
|
strh r1, [r0, #0xc]
|
|
lsls r1, r1, #0x10
|
|
asrs r1, r1, #0x10
|
|
cmp r1, #0
|
|
bne _08116BD2
|
|
strh r1, [r6]
|
|
strh r1, [r2]
|
|
adds r0, r5, #0
|
|
bl DestroyAnimVisualTask
|
|
b _08116BD2
|
|
_08116BCE:
|
|
subs r0, r2, #1
|
|
strh r0, [r3, #0xe]
|
|
_08116BD2:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_08116B48
|
|
|
|
thumb_func_start sub_08116BD8
|
|
sub_08116BD8: @ 0x08116BD8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _08116BF8
|
|
ldrb r1, [r4, #6]
|
|
bl StartSpriteAffineAnim
|
|
movs r1, #4
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _08116BFC
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl InitSpritePosToAnimAttacker
|
|
b _08116C04
|
|
.align 2, 0
|
|
_08116BF8: .4byte 0x020380BE
|
|
_08116BFC:
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl InitSpritePosToAnimTarget
|
|
_08116C04:
|
|
ldr r0, _08116C18
|
|
str r0, [r5, #0x1c]
|
|
ldr r1, _08116C1C
|
|
adds r0, r5, #0
|
|
bl StoreSpriteCallbackInData6
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116C18: .4byte 0x080A6085
|
|
_08116C1C: .4byte 0x080A34C5
|
|
thumb_func_end sub_08116BD8
|
|
|
|
thumb_func_start sub_08116C20
|
|
sub_08116C20: @ 0x08116C20
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _08116C40
|
|
ldrb r1, [r4, #6]
|
|
bl StartSpriteAffineAnim
|
|
movs r1, #4
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _08116C44
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl InitSpritePosToAnimAttacker
|
|
b _08116C4C
|
|
.align 2, 0
|
|
_08116C40: .4byte 0x020380BE
|
|
_08116C44:
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl InitSpritePosToAnimTarget
|
|
_08116C4C:
|
|
ldr r0, _08116C64
|
|
ldrh r0, [r0, #8]
|
|
strh r0, [r5, #0x2e]
|
|
ldr r0, _08116C68
|
|
str r0, [r5, #0x1c]
|
|
ldr r1, _08116C6C
|
|
adds r0, r5, #0
|
|
bl StoreSpriteCallbackInData6
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116C64: .4byte 0x020380BE
|
|
_08116C68: .4byte 0x080A6085
|
|
_08116C6C: .4byte 0x0810EB19
|
|
thumb_func_end sub_08116C20
|
|
|
|
thumb_func_start sub_08116C70
|
|
sub_08116C70: @ 0x08116C70
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08116CA0
|
|
ldrb r0, [r0]
|
|
bl GetBattlerSide
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _08116C94
|
|
bl IsContest
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08116C94
|
|
ldr r1, _08116CA4
|
|
ldrh r0, [r1, #2]
|
|
rsbs r0, r0, #0
|
|
strh r0, [r1, #2]
|
|
_08116C94:
|
|
adds r0, r4, #0
|
|
bl sub_08116BD8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116CA0: .4byte 0x020380D6
|
|
_08116CA4: .4byte 0x020380BE
|
|
thumb_func_end sub_08116C70
|
|
|
|
thumb_func_start sub_08116CA8
|
|
sub_08116CA8: @ 0x08116CA8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08116CE0
|
|
movs r0, #2
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
bne _08116CC4
|
|
bl Random2
|
|
movs r1, #3
|
|
ands r1, r0
|
|
strh r1, [r5, #2]
|
|
_08116CC4:
|
|
ldrb r1, [r5, #2]
|
|
adds r0, r4, #0
|
|
bl StartSpriteAffineAnim
|
|
movs r1, #0
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, #0
|
|
bne _08116CE4
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl InitSpritePosToAnimAttacker
|
|
b _08116CEC
|
|
.align 2, 0
|
|
_08116CE0: .4byte 0x020380BE
|
|
_08116CE4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl InitSpritePosToAnimTarget
|
|
_08116CEC:
|
|
bl Random2
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #0x30
|
|
bl __umodsi3
|
|
ldr r1, _08116D30
|
|
adds r0, r0, r1
|
|
ldrh r1, [r4, #0x24]
|
|
adds r0, r0, r1
|
|
strh r0, [r4, #0x24]
|
|
bl Random2
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #0x18
|
|
bl __umodsi3
|
|
ldr r1, _08116D34
|
|
adds r0, r0, r1
|
|
ldrh r1, [r4, #0x26]
|
|
adds r0, r0, r1
|
|
strh r0, [r4, #0x26]
|
|
ldr r1, _08116D38
|
|
adds r0, r4, #0
|
|
bl StoreSpriteCallbackInData6
|
|
ldr r0, _08116D3C
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116D30: .4byte 0x0000FFE8
|
|
_08116D34: .4byte 0x0000FFF4
|
|
_08116D38: .4byte 0x080A6015
|
|
_08116D3C: .4byte 0x080A6085
|
|
thumb_func_end sub_08116CA8
|
|
|
|
thumb_func_start sub_08116D40
|
|
sub_08116D40: @ 0x08116D40
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08116DA0
|
|
ldrb r0, [r5]
|
|
bl GetAnimBattlerSpriteId
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
strh r0, [r4, #0x2e]
|
|
ldr r2, _08116DA4
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
lsls r0, r1, #4
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldrh r1, [r0, #0x24]
|
|
ldrh r0, [r0, #0x20]
|
|
adds r1, r1, r0
|
|
strh r1, [r4, #0x20]
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
lsls r0, r1, #4
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldrh r1, [r0, #0x26]
|
|
ldrh r0, [r0, #0x22]
|
|
adds r1, r1, r0
|
|
strh r1, [r4, #0x22]
|
|
ldrh r0, [r5, #2]
|
|
strh r0, [r4, #0x24]
|
|
ldrh r0, [r5, #4]
|
|
strh r0, [r4, #0x26]
|
|
ldrb r1, [r5, #6]
|
|
adds r0, r4, #0
|
|
bl StartSpriteAffineAnim
|
|
ldr r1, _08116DA8
|
|
adds r0, r4, #0
|
|
bl StoreSpriteCallbackInData6
|
|
ldr r0, _08116DAC
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116DA0: .4byte 0x020380BE
|
|
_08116DA4: .4byte 0x020205AC
|
|
_08116DA8: .4byte 0x080A6015
|
|
_08116DAC: .4byte 0x080A6085
|
|
thumb_func_end sub_08116D40
|
|
|
|
thumb_func_start sub_08116DB0
|
|
sub_08116DB0: @ 0x08116DB0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08116DC8
|
|
movs r1, #4
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, #0
|
|
bne _08116DCC
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl InitSpritePosToAnimAttacker
|
|
b _08116DD4
|
|
.align 2, 0
|
|
_08116DC8: .4byte 0x020380BE
|
|
_08116DCC:
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl InitSpritePosToAnimTarget
|
|
_08116DD4:
|
|
ldr r0, _08116DEC
|
|
ldrh r0, [r0, #6]
|
|
strh r0, [r4, #0x2e]
|
|
ldr r1, _08116DF0
|
|
adds r0, r4, #0
|
|
bl StoreSpriteCallbackInData6
|
|
ldr r0, _08116DF4
|
|
str r0, [r4, #0x1c]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116DEC: .4byte 0x020380BE
|
|
_08116DF0: .4byte 0x080A34C5
|
|
_08116DF4: .4byte 0x080A5D79
|
|
thumb_func_end sub_08116DB0
|
|
|
|
thumb_func_start sub_08116DF8
|
|
sub_08116DF8: @ 0x08116DF8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _08116E18
|
|
ldrb r1, [r4, #6]
|
|
bl StartSpriteAffineAnim
|
|
movs r1, #4
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _08116E1C
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl InitSpritePosToAnimAttacker
|
|
b _08116E24
|
|
.align 2, 0
|
|
_08116E18: .4byte 0x020380BE
|
|
_08116E1C:
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl InitSpritePosToAnimTarget
|
|
_08116E24:
|
|
ldr r0, _08116E30
|
|
str r0, [r5, #0x1c]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116E30: .4byte 0x08116E35
|
|
thumb_func_end sub_08116DF8
|
|
|
|
thumb_func_start sub_08116E34
|
|
sub_08116E34: @ 0x08116E34
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
movs r0, #0x3e
|
|
adds r0, r0, r3
|
|
mov ip, r0
|
|
ldrb r2, [r0]
|
|
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, #0x2e]
|
|
adds r1, r0, #1
|
|
strh r1, [r3, #0x2e]
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
cmp r0, #0xc
|
|
ble _08116E6A
|
|
adds r0, r3, #0
|
|
bl DestroyAnimSprite
|
|
_08116E6A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end sub_08116E34
|
|
|