tmc/asm/festari.s

250 lines
3.9 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_0805FE10
sub_0805FE10: @ 0x0805FE10
push {r4, lr}
adds r4, r0, #0
movs r2, #1
movs r0, #1
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x18]
subs r0, #5
ands r0, r1
orrs r0, r2
strb r0, [r4, #0x18]
adds r0, r4, #0
movs r1, #2
bl sub_0805E3A0
adds r0, r4, #0
bl sub_0801E99C
adds r1, r4, #0
adds r1, #0x68
strb r0, [r1]
ldrb r1, [r1]
adds r0, r4, #0
bl sub_08078784
adds r0, r4, #0
bl sub_0807DD50
pop {r4, pc}
thumb_func_start sub_0805FE48
sub_0805FE48: @ 0x0805FE48
push {r4, r5, r6, r7, lr}
adds r5, r0, #0
adds r2, r5, #0
adds r2, #0x39
movs r1, #0
ldrsb r1, [r2, r1]
cmp r1, #2
bne _0805FE80
movs r0, #0
strb r1, [r5, #0xc]
strb r0, [r2]
ldr r1, _0805FE7C @ =gLinkEntity
adds r0, r5, #0
bl sub_080045C4
bl sub_0806F5A4
adds r1, r0, #0
adds r0, r5, #0
bl InitAnimationForceUpdate
adds r0, r5, #0
bl sub_0806F118
b _0805FF14
.align 2, 0
_0805FE7C: .4byte gLinkEntity
_0805FE80:
adds r4, r5, #0
adds r4, #0x84
ldr r1, [r4]
adds r0, r5, #0
bl ExecuteScriptCommandSet
ldr r1, [r4]
adds r0, r5, #0
bl sub_0805FF2C
adds r0, r5, #0
adds r0, #0x80
ldrh r3, [r0]
adds r7, r0, #0
adds r6, r5, #0
adds r6, #0x82
cmp r3, #7
bhi _0805FEC6
ldrh r1, [r6]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _0805FEBA
movs r1, #0xfc
ands r1, r3
ldrb r0, [r5, #0xf]
lsrs r0, r0, #1
adds r3, r1, r0
b _0805FEC6
_0805FEBA:
movs r0, #0xfc
ands r0, r3
ldrb r2, [r5, #0x14]
lsrs r1, r2, #1
adds r3, r0, r1
strb r2, [r5, #0xf]
_0805FEC6:
adds r4, r5, #0
adds r4, #0x58
ldrb r0, [r4]
cmp r3, r0
beq _0805FED8
adds r0, r5, #0
adds r1, r3, #0
bl InitAnimationForceUpdate
_0805FED8:
adds r0, r5, #0
bl UpdateAnimationSingleFrame
adds r0, r5, #0
adds r0, #0x5a
ldrb r1, [r0]
movs r0, #0x80
ands r0, r1
cmp r0, #0
beq _0805FF02
ldrb r0, [r4]
cmp r0, #8
beq _0805FEFE
cmp r0, #8
blt _0805FF02
cmp r0, #0xc
bgt _0805FF02
cmp r0, #0xa
blt _0805FF02
_0805FEFE:
movs r0, #0
strh r0, [r7]
_0805FF02:
ldrh r1, [r6]
mvns r0, r1
adds r0, #1
ands r1, r0
cmp r1, #2
bne _0805FF14
adds r0, r5, #0
bl sub_0806ED78
_0805FF14:
pop {r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_start sub_0805FF18
sub_0805FF18: @ 0x0805FF18
push {r4, lr}
adds r4, r0, #0
bl UpdateFuseInteraction
cmp r0, #0
beq _0805FF28
movs r0, #1
strb r0, [r4, #0xc]
_0805FF28:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805FF2C
sub_0805FF2C: @ 0x0805FF2C
push {r4, r5, r6, lr}
adds r4, r0, #0
adds r5, r1, #0
ldr r0, [r5, #8]
ldr r1, _0805FF60 @ =0xFFF00004
ands r1, r0
eors r0, r1
str r0, [r5, #8]
cmp r1, #0
beq _0805FF94
movs r6, #0x80
lsls r6, r6, #0xd
adds r3, r4, #0
adds r3, #0x80
_0805FF48:
mvns r0, r1
adds r2, r0, #1
ands r2, r1
eors r1, r2
cmp r2, r6
beq _0805FF8C
cmp r2, r6
bhi _0805FF64
cmp r2, #4
beq _0805FF76
b _0805FF90
.align 2, 0
_0805FF60: .4byte 0xFFF00004
_0805FF64:
movs r0, #0x80
lsls r0, r0, #0xe
cmp r2, r0
beq _0805FF7A
movs r0, #0x80
lsls r0, r0, #0xf
cmp r2, r0
beq _0805FF7E
b _0805FF90
_0805FF76:
movs r0, #9
b _0805FF8E
_0805FF7A:
movs r0, #0xa
b _0805FF8E
_0805FF7E:
ldrb r0, [r4, #0x14]
cmp r0, #2
bne _0805FF88
movs r0, #0xb
b _0805FF8E
_0805FF88:
movs r0, #0xc
b _0805FF8E
_0805FF8C:
movs r0, #8
_0805FF8E:
strh r0, [r3]
_0805FF90:
cmp r1, #0
bne _0805FF48
_0805FF94:
adds r0, r4, #0
adds r1, r5, #0
bl sub_0807DB98
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_start Festari_Fusion
Festari_Fusion: @ 0x0805FFA0
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xc]
cmp r0, #0
bne _0805FFCE
adds r0, #1
strb r0, [r4, #0xc]
ldrb r1, [r4, #0x18]
movs r0, #4
rsbs r0, r0, #0
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4, #0x18]
adds r0, r4, #0
movs r1, #2
bl sub_0805E3A0
adds r0, r4, #0
movs r1, #8
bl InitAnimationForceUpdate
b _0805FFD4
_0805FFCE:
adds r0, r4, #0
bl UpdateAnimationSingleFrame
_0805FFD4:
pop {r4, pc}
.align 2, 0