through (nearly-matching) sub_80172A0
This commit is contained in:
@@ -5,275 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8017178
|
||||
sub_8017178: @ 8017178
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0x8
|
||||
adds r7, r0, 0
|
||||
adds r5, r1, 0
|
||||
mov r9, r2
|
||||
ldrb r4, [r7]
|
||||
cmp r4, 0
|
||||
beq _08017194
|
||||
cmp r4, 0x1
|
||||
beq _08017228
|
||||
b _0801728E
|
||||
_08017194:
|
||||
ldr r0, [r3]
|
||||
ldr r1, [r3, 0x4]
|
||||
str r0, [sp]
|
||||
str r1, [sp, 0x4]
|
||||
ldr r0, [sp, 0x24]
|
||||
bl sub_81DB41C
|
||||
adds r1, r0, 0
|
||||
ldr r2, [sp]
|
||||
lsrs r0, r2, 24
|
||||
cmp r0, r1
|
||||
ble _080171B6
|
||||
lsls r1, 24
|
||||
ldr r0, =0x00ffffff
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
str r0, [sp]
|
||||
_080171B6:
|
||||
ldr r2, [sp]
|
||||
lsrs r0, r2, 8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsrs r1, r2, 24
|
||||
adds r0, r1
|
||||
cmp r0, 0x1D
|
||||
ble _080171DC
|
||||
movs r0, 0x1D
|
||||
subs r0, r1
|
||||
cmp r0, 0
|
||||
bge _080171D0
|
||||
movs r0, 0
|
||||
_080171D0:
|
||||
lsls r1, r0, 24
|
||||
lsrs r1, 16
|
||||
ldr r0, =0xffff00ff
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
str r0, [sp]
|
||||
_080171DC:
|
||||
mov r0, sp
|
||||
bl AddWindow
|
||||
strb r0, [r5]
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0
|
||||
bl DrawStdWindowFrame
|
||||
ldr r0, =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, [sp, 0x24]
|
||||
ldm r1!, {r3,r4,r6}
|
||||
stm r2!, {r3,r4,r6}
|
||||
ldm r1!, {r3,r4,r6}
|
||||
stm r2!, {r3,r4,r6}
|
||||
ldrb r1, [r5]
|
||||
strb r1, [r0, 0x10]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ListMenuInit
|
||||
mov r1, r9
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r7]
|
||||
adds r0, 0x1
|
||||
strb r0, [r7]
|
||||
b _0801728E
|
||||
.pool
|
||||
_08017228:
|
||||
mov r3, r9
|
||||
ldrb r0, [r3]
|
||||
bl ListMenu_ProcessInput
|
||||
mov r8, r0
|
||||
ldr r0, =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
ands r4, r1
|
||||
cmp r4, 0
|
||||
beq _08017264
|
||||
mov r4, r9
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
bl ClearStdWindowAndFrame
|
||||
ldrb r0, [r5]
|
||||
bl RemoveWindow
|
||||
movs r0, 0
|
||||
strb r0, [r7]
|
||||
mov r0, r8
|
||||
b _08017292
|
||||
.pool
|
||||
_08017264:
|
||||
movs r0, 0x2
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _0801728E
|
||||
mov r6, r9
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
bl ClearStdWindowAndFrame
|
||||
ldrb r0, [r5]
|
||||
bl RemoveWindow
|
||||
strb r4, [r7]
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
b _08017292
|
||||
_0801728E:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_08017292:
|
||||
add sp, 0x8
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8017178
|
||||
|
||||
thumb_func_start sub_80172A0
|
||||
sub_80172A0: @ 80172A0
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
adds r5, r0, 0
|
||||
adds r6, r1, 0
|
||||
mov r10, r2
|
||||
mov r9, r3
|
||||
ldrb r4, [r5]
|
||||
cmp r4, 0x1
|
||||
beq _0801730C
|
||||
cmp r4, 0x1
|
||||
bgt _080172C2
|
||||
cmp r4, 0
|
||||
beq _080172C8
|
||||
b _0801739C
|
||||
_080172C2:
|
||||
cmp r4, 0x2
|
||||
beq _0801731C
|
||||
b _0801739C
|
||||
_080172C8:
|
||||
ldr r0, =gUnknown_082F0344
|
||||
bl sub_8017118
|
||||
mov r1, r9
|
||||
strb r0, [r1]
|
||||
ldr r0, [sp, 0x20]
|
||||
bl AddWindow
|
||||
strb r0, [r6]
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0
|
||||
bl DrawStdWindowFrame
|
||||
ldr r0, =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, [sp, 0x24]
|
||||
ldm r1!, {r3,r4,r7}
|
||||
stm r2!, {r3,r4,r7}
|
||||
ldm r1!, {r3,r4,r7}
|
||||
stm r2!, {r3,r4,r7}
|
||||
ldrb r1, [r6]
|
||||
strb r1, [r0, 0x10]
|
||||
movs r1, 0
|
||||
movs r2, 0x1
|
||||
bl ListMenuInit
|
||||
mov r1, r10
|
||||
strb r0, [r1]
|
||||
b _08017314
|
||||
.pool
|
||||
_0801730C:
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0x1
|
||||
bl CopyWindowToVram
|
||||
_08017314:
|
||||
ldrb r0, [r5]
|
||||
adds r0, 0x1
|
||||
strb r0, [r5]
|
||||
b _0801739C
|
||||
_0801731C:
|
||||
mov r3, r10
|
||||
ldrb r0, [r3]
|
||||
bl ListMenu_ProcessInput
|
||||
adds r1, r0, 0
|
||||
ldr r0, =gMain
|
||||
ldrh r2, [r0, 0x2E]
|
||||
movs r0, 0x3
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _0801739C
|
||||
cmp r1, 0x8
|
||||
beq _0801733E
|
||||
ands r4, r2
|
||||
mov r8, r4
|
||||
cmp r4, 0
|
||||
beq _08017368
|
||||
_0801733E:
|
||||
mov r4, r10
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r6]
|
||||
bl RemoveWindow
|
||||
mov r7, r9
|
||||
ldrb r0, [r7]
|
||||
bl sub_8017168
|
||||
movs r0, 0
|
||||
strb r0, [r5]
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
b _080173A0
|
||||
.pool
|
||||
_08017368:
|
||||
ldr r0, [sp, 0x28]
|
||||
bl sub_8017CB0
|
||||
adds r4, r0, 0
|
||||
cmp r4, 0
|
||||
blt _08017396
|
||||
mov r1, r10
|
||||
ldrb r0, [r1]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r6]
|
||||
bl RemoveWindow
|
||||
mov r3, r9
|
||||
ldrb r0, [r3]
|
||||
bl sub_8017168
|
||||
mov r7, r8
|
||||
strb r7, [r5]
|
||||
adds r0, r4, 0
|
||||
b _080173A0
|
||||
_08017396:
|
||||
movs r0, 0x7
|
||||
bl PlaySE
|
||||
_0801739C:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_080173A0:
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80172A0
|
||||
|
||||
thumb_func_start sub_80173B0
|
||||
sub_80173B0: @ 80173B0
|
||||
push {lr}
|
||||
|
||||
Reference in New Issue
Block a user