mirror of https://github.com/zeldaret/tmc.git
249 lines
4.1 KiB
PHP
249 lines
4.1 KiB
PHP
.syntax unified
|
|
.ifdef EU
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
ldr r6, _080A5F74 @ =gOamCmd
|
|
movs r0, #0
|
|
strh r0, [r6, #4]
|
|
strh r0, [r6, #6]
|
|
movs r0, #0x78
|
|
strh r0, [r6]
|
|
ldr r4, _080A5F78 @ =gMenu
|
|
ldrb r0, [r4, #3]
|
|
lsls r0, r0, #3
|
|
ldr r1, _080A5F7C @ =gUnk_08128E94
|
|
adds r5, r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x2c
|
|
ldrb r0, [r1]
|
|
adds r2, r0, #1
|
|
strb r2, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x2b
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _080A5F30
|
|
movs r0, #0x10
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
beq _080A5F30
|
|
movs r0, #0x80
|
|
lsls r0, r0, #4
|
|
strh r0, [r6, #8]
|
|
ldrh r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
beq _080A5F1A
|
|
movs r0, #0xc
|
|
strh r0, [r6, #2]
|
|
movs r0, #0xfd
|
|
lsls r0, r0, #1
|
|
movs r1, #0x71
|
|
bl DrawDirect
|
|
_080A5F1A:
|
|
ldrb r0, [r5, #2]
|
|
ldrh r4, [r4, #0xa]
|
|
cmp r0, r4
|
|
bls _080A5F30
|
|
movs r0, #0x84
|
|
strh r0, [r6, #2]
|
|
movs r0, #0xfd
|
|
lsls r0, r0, #1
|
|
movs r1, #0x72
|
|
bl DrawDirect
|
|
_080A5F30:
|
|
ldrb r0, [r5, #7]
|
|
mov sl, r0
|
|
ldrb r5, [r5, #3]
|
|
mov sb, r5
|
|
ldr r1, _080A5F78 @ =gMenu
|
|
ldrh r0, [r1, #0xa]
|
|
mov r8, r0
|
|
ldr r2, _080A5F74 @ =gOamCmd
|
|
movs r0, #0
|
|
strh r0, [r2, #4]
|
|
strh r0, [r2, #6]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #4
|
|
strh r0, [r2, #8]
|
|
adds r1, #0x2c
|
|
ldrb r1, [r1]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
ldr r4, _080A5F80 @ =gMapDataBottomSpecial
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
beq _080A5FAE
|
|
rsbs r5, r6, #0
|
|
orrs r5, r6
|
|
adds r7, r2, #0
|
|
_080A5F66:
|
|
movs r1, #0
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _080A5F84
|
|
lsrs r1, r5, #0x1f
|
|
b _080A5F8A
|
|
.align 2, 0
|
|
_080A5F74: .4byte gOamCmd
|
|
_080A5F78: .4byte gMenu
|
|
_080A5F7C: .4byte gUnk_08128E94
|
|
_080A5F80: .4byte gMapDataBottomSpecial
|
|
_080A5F84:
|
|
cmp r6, #0
|
|
bne _080A5F8A
|
|
movs r1, #1
|
|
_080A5F8A:
|
|
cmp r1, #0
|
|
beq _080A5FA6
|
|
ldrh r0, [r4, #4]
|
|
add r0, sl
|
|
strh r0, [r7]
|
|
ldrh r0, [r4, #6]
|
|
add r0, sb
|
|
mov r1, r8
|
|
subs r0, r0, r1
|
|
strh r0, [r7, #2]
|
|
ldrh r0, [r4, #2]
|
|
ldrb r1, [r4, #1]
|
|
bl DrawDirect
|
|
_080A5FA6:
|
|
adds r4, #8
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _080A5F66
|
|
_080A5FAE:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.else
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
ldr r6, _080A677C @ =gOamCmd
|
|
movs r0, #0
|
|
strh r0, [r6, #4]
|
|
strh r0, [r6, #6]
|
|
movs r0, #0x78
|
|
strh r0, [r6]
|
|
ldr r4, _080A6780 @ =gMenu
|
|
ldrb r0, [r4, #3]
|
|
lsls r0, r0, #3
|
|
ldr r1, _080A6784 @ =gUnk_08128E94
|
|
adds r5, r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x2c
|
|
ldrb r0, [r1]
|
|
adds r2, r0, #1
|
|
strb r2, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x2b
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _080A6738
|
|
movs r0, #0x10
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
beq _080A6738
|
|
movs r0, #0x80
|
|
lsls r0, r0, #4
|
|
strh r0, [r6, #8]
|
|
ldrh r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
beq _080A6724
|
|
movs r0, #0xc
|
|
strh r0, [r6, #2]
|
|
ldr r0, _080A6788 @ =0x000001FB
|
|
movs r1, #0x71
|
|
bl DrawDirect
|
|
_080A6724:
|
|
ldrb r0, [r5, #2]
|
|
ldrh r4, [r4, #0xa]
|
|
cmp r0, r4
|
|
bls _080A6738
|
|
movs r0, #0x84
|
|
strh r0, [r6, #2]
|
|
ldr r0, _080A6788 @ =0x000001FB
|
|
movs r1, #0x72
|
|
bl DrawDirect
|
|
_080A6738:
|
|
ldrb r0, [r5, #7]
|
|
mov sl, r0
|
|
ldrb r5, [r5, #3]
|
|
mov sb, r5
|
|
ldr r1, _080A6780 @ =gMenu
|
|
ldrh r0, [r1, #0xa]
|
|
mov r8, r0
|
|
ldr r2, _080A677C @ =gOamCmd
|
|
movs r0, #0
|
|
strh r0, [r2, #4]
|
|
strh r0, [r2, #6]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #4
|
|
strh r0, [r2, #8]
|
|
adds r1, #0x2c
|
|
ldrb r1, [r1]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
ldr r4, _080A678C @ =gMapDataBottomSpecial
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
beq _080A67BA
|
|
rsbs r5, r6, #0
|
|
orrs r5, r6
|
|
adds r7, r2, #0
|
|
_080A676E:
|
|
movs r1, #0
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _080A6790
|
|
lsrs r1, r5, #0x1f
|
|
b _080A6796
|
|
.align 2, 0
|
|
_080A677C: .4byte gOamCmd
|
|
_080A6780: .4byte gMenu
|
|
_080A6784: .4byte gUnk_08128E94
|
|
_080A6788: .4byte 0x000001FB
|
|
_080A678C: .4byte gMapDataBottomSpecial
|
|
_080A6790:
|
|
cmp r6, #0
|
|
bne _080A6796
|
|
movs r1, #1
|
|
_080A6796:
|
|
cmp r1, #0
|
|
beq _080A67B2
|
|
ldrh r0, [r4, #4]
|
|
add r0, sl
|
|
strh r0, [r7]
|
|
ldrh r0, [r4, #6]
|
|
add r0, sb
|
|
mov r1, r8
|
|
subs r0, r0, r1
|
|
strh r0, [r7, #2]
|
|
ldrh r0, [r4, #2]
|
|
ldrb r1, [r4, #1]
|
|
bl DrawDirect
|
|
_080A67B2:
|
|
adds r4, #8
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _080A676E
|
|
_080A67BA:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.endif
|
|
.syntax divided
|