tmc/asm/non_matching/playerUtils/sub_08078CD0.inc

74 lines
1.3 KiB
PHP

.syntax unified
push {r4, r5, lr}
adds r5, r0, #0
ldr r4, [r5, #0x70]
ldrh r0, [r5, #0x36]
subs r0, #1
strh r0, [r4, #0x36]
ldrb r1, [r5, #0x1b]
lsrs r1, r1, #6
lsls r1, r1, #6
ldrb r2, [r4, #0x1b]
movs r0, #0x3f
ands r0, r2
orrs r0, r1
strb r0, [r4, #0x1b]
adds r0, r5, #0
adds r0, #0x38
ldrb r1, [r0]
adds r0, r4, #0
adds r0, #0x38
strb r1, [r0]
ldr r1, _08078D28 @ =gUnk_0811C01C
ldr r0, _08078D2C @ =gPlayerState
ldr r0, [r0, #0x2c]
ldrb r0, [r0, #0x1e]
adds r0, r0, r1
ldrb r2, [r0]
ldr r3, _08078D30 @ =gUnk_0811C0B0
ldrb r1, [r4, #0x1c]
movs r0, #0x30
ands r0, r1
lsrs r0, r0, #2
adds r0, r0, r3
lsls r2, r2, #1
ldr r0, [r0]
adds r2, r0, r2
ldrb r0, [r5, #0x18]
lsls r0, r0, #0x19
cmp r0, #0
bge _08078D34
movs r1, #0
ldrsb r1, [r2, r1]
ldrh r0, [r5, #0x2e]
subs r0, r0, r1
b _08078D3C
.align 2, 0
_08078D28: .4byte gUnk_0811C01C
_08078D2C: .4byte gPlayerState
_08078D30: .4byte gUnk_0811C0B0
_08078D34:
movs r0, #0
ldrsb r0, [r2, r0]
ldrh r1, [r5, #0x2e]
adds r0, r0, r1
_08078D3C:
strh r0, [r4, #0x2e]
movs r0, #1
ldrsb r0, [r2, r0]
ldrh r1, [r5, #0x32]
adds r0, r0, r1
strh r0, [r4, #0x32]
adds r0, r5, #0
movs r1, #0
adds r2, r4, #0
bl sub_0806FEBC
ldr r1, [r4, #0x50]
cmp r1, #0
beq _08078D5E
adds r0, r4, #0
bl CopyPosition
_08078D5E:
pop {r4, r5, pc}
.syntax divided