tmc/asm/non_matching/beanstalkSubtask/sub_0801AC98.inc

112 lines
1.8 KiB
PHP

.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #8
ldr r0, _0801ACD0 @ =gRoomControls
ldrh r1, [r0, #0x1e]
lsrs r1, r1, #4
mov r8, r1
ldrh r0, [r0, #0x20]
lsrs r0, r0, #4
str r0, [sp]
movs r6, #0
movs r1, #0
cmp r1, r0
bhs _0801AD5C
_0801ACBA:
movs r0, #0
adds r1, #1
str r1, [sp, #4]
cmp r0, r8
bhs _0801AD4C
_0801ACC4:
ldr r5, _0801ACD4 @ =gUnk_080B44C0
adds r0, #1
mov sl, r0
adds r0, r6, #1
mov sb, r0
b _0801ACDA
.align 2, 0
_0801ACD0: .4byte gRoomControls
_0801ACD4: .4byte gUnk_080B44C0
_0801ACD8:
adds r5, #0xc
_0801ACDA:
ldrh r0, [r5]
ldr r1, _0801AD0C @ =0x0000FFFF
cmp r0, r1
beq _0801AD06
adds r4, r0, #0
adds r0, r6, #0
movs r1, #1
bl GetTileType
cmp r4, r0
bne _0801ACD8
ldrh r0, [r5, #0xa]
lsls r0, r0, #2
ldr r1, _0801AD10 @ =gUnk_080B44B8
adds r0, r0, r1
ldr r0, [r0]
cmp r0, #0
beq _0801ACD8
adds r0, r5, #0
adds r1, r6, #0
bl sub_0801AD6C
_0801AD06:
ldr r5, _0801AD14 @ =gUnk_080B44C2
ldr r7, _0801AD0C @ =0x0000FFFF
b _0801AD1A
.align 2, 0
_0801AD0C: .4byte 0x0000FFFF
_0801AD10: .4byte gUnk_080B44B8
_0801AD14: .4byte gUnk_080B44C2
_0801AD18:
adds r5, #0xc
_0801AD1A:
ldrh r0, [r5]
cmp r0, r7
beq _0801AD44
adds r4, r0, #0
adds r0, r6, #0
movs r1, #2
bl GetTileType
cmp r4, r0
bne _0801AD18
ldrh r0, [r5, #0xa]
lsls r0, r0, #2
ldr r1, _0801AD68 @ =gUnk_080B44B8
adds r0, r0, r1
ldr r0, [r0]
cmp r0, #0
beq _0801AD18
adds r0, r5, #0
adds r1, r6, #0
bl sub_0801AD6C
_0801AD44:
mov r0, sl
mov r6, sb
cmp r0, r8
blo _0801ACC4
_0801AD4C:
adds r0, r6, #0
adds r0, #0x40
mov r1, r8
subs r6, r0, r1
ldr r1, [sp, #4]
ldr r0, [sp]
cmp r1, r0
blo _0801ACBA
_0801AD5C:
add sp, #8
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0801AD68: .4byte gUnk_080B44B8
.syntax divided