tmc/asm/non_matching/arm_proxy/ItemInit.inc

131 lines
2.2 KiB
PHP

.syntax unified
push {r4, r5, lr}
mov ip, r0
ldrb r0, [r0, #9]
lsls r0, r0, #3
ldr r1, _08017410 @ =gPlayerItemDefinitions
adds r3, r0, r1
ldrb r0, [r3]
cmp r0, #0xff
bne _080173CE
ldrb r2, [r3, #2]
ldr r1, _08017414 @ =gAdditionalPlayerItemDefinitions
ldrb r0, [r3, #1]
lsls r0, r0, #2
adds r0, r0, r1
ldr r3, [r0]
mov r0, ip
adds r0, #0x68
ldrb r0, [r0]
subs r0, r0, r2
lsls r0, r0, #3
adds r3, r3, r0
_080173CE:
ldrb r0, [r3]
movs r1, #0xf
ands r1, r0
lsls r0, r0, #4
orrs r0, r1
mov r1, ip
strb r0, [r1, #0x1a]
ldrb r1, [r3, #1]
mov r0, ip
adds r0, #0x44
strb r1, [r0]
ldrb r1, [r3, #3]
subs r0, #4
strb r1, [r0]
ldrb r0, [r3, #4]
mov r1, ip
adds r1, #0x3f
strb r0, [r1]
ldrb r0, [r3, #5]
mov r2, ip
strh r0, [r2, #0x12]
ldrh r1, [r3, #6]
cmp r1, #0
bne _0801741C
ldr r2, _08017418 @ =gPlayerEntity
adds r0, r2, #0
adds r0, #0x60
ldrh r1, [r0]
mov r0, ip
adds r0, #0x60
strh r1, [r0]
adds r5, r2, #0
b _08017428
.align 2, 0
_08017410: .4byte gPlayerItemDefinitions
_08017414: .4byte gAdditionalPlayerItemDefinitions
_08017418: .4byte gPlayerEntity
_0801741C:
ldr r0, _0801749C @ =0x000003FF
ands r0, r1
mov r1, ip
adds r1, #0x60
strh r0, [r1]
ldr r5, _080174A0 @ =gPlayerEntity
_08017428:
mov r3, ip
ldrb r0, [r3, #0x14]
cmp r0, #0
bne _08017438
ldrb r1, [r5, #0x14]
movs r0, #6
ands r0, r1
strb r0, [r3, #0x14]
_08017438:
adds r0, r5, #0
adds r0, #0x38
ldrb r1, [r0]
mov r0, ip
adds r0, #0x38
strb r1, [r0]
ldrb r1, [r5, #0x19]
lsrs r1, r1, #6
lsls r1, r1, #6
mov r0, ip
ldrb r3, [r0, #0x19]
movs r2, #0x3f
adds r0, r2, #0
ands r0, r3
orrs r0, r1
mov r1, ip
strb r0, [r1, #0x19]
adds r0, r5, #0
adds r0, #0x29
ldrb r1, [r0]
lsls r1, r1, #0x1d
mov r4, ip
adds r4, #0x29
lsrs r1, r1, #0x1d
ldrb r3, [r4]
movs r0, #8
rsbs r0, r0, #0
ands r0, r3
orrs r0, r1
strb r0, [r4]
ldrb r0, [r5, #0x1b]
lsrs r0, r0, #6
lsls r0, r0, #6
mov r3, ip
ldrb r1, [r3, #0x1b]
ands r2, r1
orrs r2, r0
strb r2, [r3, #0x1b]
mov r2, ip
adds r2, #0x45
movs r1, #1
movs r0, #1
strb r0, [r2]
ldrb r0, [r3, #0x10]
orrs r1, r0
strb r1, [r3, #0x10]
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_0801749C: .4byte 0x000003FF
_080174A0: .4byte gPlayerEntity
.syntax divided