mirror of https://github.com/zeldaret/tmc.git
154 lines
2.5 KiB
PHP
154 lines
2.5 KiB
PHP
.syntax unified
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, #0
|
|
adds r5, r1, #0
|
|
ldrb r0, [r5, #0x18]
|
|
cmp r0, #1
|
|
beq _0806AB38
|
|
cmp r0, #1
|
|
bgt _0806AA6A
|
|
cmp r0, #0
|
|
beq _0806AA70
|
|
b _0806AB64
|
|
_0806AA6A:
|
|
cmp r0, #2
|
|
beq _0806AB5C
|
|
b _0806AB64
|
|
_0806AA70:
|
|
str r0, [r5, #0x14]
|
|
movs r0, #0x8f
|
|
bl CheckLocalFlag
|
|
cmp r0, #0
|
|
bne _0806AA84
|
|
ldr r2, _0806AA80 @ =gUnk_081122A8
|
|
b _0806AA9A
|
|
.align 2, 0
|
|
_0806AA80: .4byte gUnk_081122A8
|
|
_0806AA84:
|
|
movs r0, #0x15
|
|
bl GetInventoryValue
|
|
cmp r0, #0
|
|
bne _0806AA98
|
|
ldr r2, _0806AA94 @ =gUnk_081122B0
|
|
b _0806AA9A
|
|
.align 2, 0
|
|
_0806AA94: .4byte gUnk_081122B0
|
|
_0806AA98:
|
|
ldr r2, _0806AAD0 @ =gUnk_081122B8
|
|
_0806AA9A:
|
|
ldr r1, _0806AAD4 @ =gRoomVars
|
|
ldr r0, [r1, #0x68]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r7, [r0]
|
|
mov r8, r1
|
|
mov r4, r8
|
|
ldr r0, [r4, #0x68]
|
|
adds r0, #1
|
|
str r0, [r4, #0x68]
|
|
cmp r0, #2
|
|
bls _0806AAB6
|
|
movs r0, #0
|
|
str r0, [r4, #0x68]
|
|
_0806AAB6:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
bl MessageNoOverlap
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #1
|
|
beq _0806AAEE
|
|
cmp r0, #1
|
|
blo _0806AAD8
|
|
cmp r0, #2
|
|
beq _0806AB02
|
|
b _0806AB1C
|
|
.align 2, 0
|
|
_0806AAD0: .4byte gUnk_081122B8
|
|
_0806AAD4: .4byte gRoomVars
|
|
_0806AAD8:
|
|
adds r0, r4, #0
|
|
adds r0, #0xac
|
|
str r6, [r0]
|
|
adds r0, r6, #0
|
|
movs r1, #7
|
|
bl PrependEntityToList
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r6, #0x20]
|
|
b _0806AB1C
|
|
_0806AAEE:
|
|
adds r0, r4, #0
|
|
adds r0, #0xac
|
|
ldr r0, [r0]
|
|
movs r1, #7
|
|
bl FindNextDuplicateID
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
adds r0, #0xb0
|
|
b _0806AB14
|
|
_0806AB02:
|
|
mov r0, r8
|
|
adds r0, #0xb0
|
|
ldr r0, [r0]
|
|
movs r1, #7
|
|
bl FindNextDuplicateID
|
|
adds r1, r0, #0
|
|
mov r0, r8
|
|
adds r0, #0xb4
|
|
_0806AB14:
|
|
str r1, [r0]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r1, #0x20]
|
|
_0806AB1C:
|
|
ldr r0, _0806AB34 @ =0x0000441E
|
|
cmp r7, r0
|
|
bne _0806AB2C
|
|
movs r0, #0x8f
|
|
bl SetLocalFlag
|
|
movs r0, #1
|
|
str r0, [r5, #0x14]
|
|
_0806AB2C:
|
|
movs r0, #1
|
|
strb r0, [r5, #0x18]
|
|
b _0806AB64
|
|
.align 2, 0
|
|
_0806AB34: .4byte 0x0000441E
|
|
_0806AB38:
|
|
ldr r0, _0806AB58 @ =gRoomVars
|
|
ldr r1, [r5, #4]
|
|
lsls r1, r1, #2
|
|
adds r0, #0xac
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
movs r2, #0x36
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, #0
|
|
blt _0806AB64
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r1, #0x20]
|
|
movs r0, #2
|
|
strb r0, [r5, #0x18]
|
|
b _0806AB64
|
|
.align 2, 0
|
|
_0806AB58: .4byte gRoomVars
|
|
_0806AB5C:
|
|
movs r1, #0x36
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, #0
|
|
bge _0806AB6A
|
|
_0806AB64:
|
|
ldr r1, _0806AB70 @ =gActiveScriptInfo
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_0806AB6A:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806AB70: .4byte gActiveScriptInfo
|
|
.syntax divided
|