mirror of
https://github.com/pret/pokediamond.git
synced 2026-04-26 08:17:27 -05:00
2127 lines
39 KiB
ArmAsm
2127 lines
39 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.extern gSystem
|
|
|
|
.section .rodata
|
|
|
|
.global UNK_020F7BC8
|
|
UNK_020F7BC8: ; 0x020F7BC8
|
|
.byte 0x03, 0x19, 0x0D, 0x06, 0x04, 0x0D, 0x55, 0x03
|
|
|
|
.global UNK_020F7BD0
|
|
UNK_020F7BD0: ; 0x020F7BD0
|
|
.word UNK_020F7C4C, UNK_020F7C0C, UNK_020F7BF4
|
|
|
|
.global UNK_020F7BDC
|
|
UNK_020F7BDC: ; 0x020F7BDC
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F7BF4
|
|
UNK_020F7BF4: ; 0x020F7BF4
|
|
.byte 0x0F, 0x27, 0x00, 0x00, 0x04, 0x00, 0x15, 0x00, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x14, 0x00
|
|
.byte 0xFF, 0xFF, 0x00, 0x00, 0x05, 0x00, 0x11, 0x00
|
|
|
|
.global UNK_020F7C0C
|
|
UNK_020F7C0C: ; 0x020F7C0C
|
|
.byte 0x3F, 0x42, 0x0F, 0x00, 0x06, 0x00, 0x13, 0x00, 0x3F, 0x42, 0x0F, 0x00, 0x06, 0x00, 0x13, 0x00
|
|
.byte 0x3F, 0x42, 0x0F, 0x00, 0x06, 0x00, 0x12, 0x00, 0x3F, 0x42, 0x0F, 0x00, 0x06, 0x00, 0x13, 0x00
|
|
|
|
.global UNK_020F7C2C
|
|
UNK_020F7C2C: ; 0x020F7C2C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x07, 0x00, 0x02, 0x08, 0x01, 0x10, 0x2F, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F7C4C
|
|
UNK_020F7C4C: ; 0x020F7C4C
|
|
.byte 0x0F, 0x27, 0x00, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x0F, 0x27, 0x00, 0x00, 0x04, 0x00, 0x0F, 0x00
|
|
.byte 0x0F, 0x27, 0x00, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x0F, 0x27, 0x00, 0x00, 0x04, 0x00, 0x0F, 0x00
|
|
.byte 0x0F, 0x27, 0x00, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00
|
|
|
|
.global UNK_020F7C7C
|
|
UNK_020F7C7C: ; 0x020F7C7C
|
|
.byte 0x7E, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xD8, 0x34, 0x00, 0x00, 0xD8, 0x34, 0x00, 0x00, 0xD8, 0x34, 0x00, 0x00
|
|
.byte 0xD8, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x78, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD8, 0x34, 0x00, 0x00, 0xD8, 0x34, 0x00, 0x00
|
|
.byte 0xD8, 0x34, 0x00, 0x00, 0xD8, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_020625EC
|
|
sub_020625EC: ; 0x020625EC
|
|
push {r3-r7, lr}
|
|
add r7, r0, #0x0
|
|
add r5, r1, #0x0
|
|
str r2, [sp, #0x0]
|
|
mov r0, #0x3
|
|
mov r1, #0x50
|
|
lsl r2, r0, #0xd
|
|
ldr r6, [r5, #0xc]
|
|
bl Heap_Create
|
|
mov r1, #0x2d
|
|
mov r0, #0x50
|
|
lsl r1, r1, #0x4
|
|
bl Heap_Alloc
|
|
mov r2, #0x2d
|
|
mov r1, #0x0
|
|
lsl r2, r2, #0x4
|
|
add r4, r0, #0x0
|
|
bl MI_CpuFill8
|
|
mov r0, #0x50
|
|
str r0, [r4, #0x0]
|
|
ldr r0, [sp, #0x0]
|
|
mov r1, #0x3
|
|
bl _s32_div_f
|
|
strb r1, [r4, #0x16]
|
|
ldr r0, [sp, #0x0]
|
|
mov r1, #0x3
|
|
bl _s32_div_f
|
|
strb r0, [r4, #0x17]
|
|
ldrb r0, [r4, #0x16]
|
|
bl sub_0202B870
|
|
strb r0, [r4, #0x18]
|
|
ldrb r0, [r4, #0x16]
|
|
bl sub_0202B87C
|
|
strb r0, [r4, #0x19]
|
|
add r0, r4, #0x0
|
|
add r0, #0xcc
|
|
str r5, [r0, #0x0]
|
|
add r0, r4, #0x0
|
|
ldr r1, [r5, #0x8]
|
|
add r0, #0xd0
|
|
str r1, [r0, #0x0]
|
|
add r0, r6, #0x0
|
|
bl sub_0202B8E4
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #0x4
|
|
str r0, [r4, r1]
|
|
add r0, r6, #0x0
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
bl Options_GetTextFrameDelay
|
|
strh r0, [r4, #0x1a]
|
|
add r0, r6, #0x0
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
bl Options_GetFrame
|
|
strh r0, [r4, #0x1c]
|
|
str r4, [r7, #0x8]
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02062678
|
|
sub_02062678: ; 0x02062678
|
|
push {r3-r7, lr}
|
|
sub sp, #0x8
|
|
ldr r4, [r0, #0x8]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x4]
|
|
ldrb r0, [r4, #0x18]
|
|
cmp r0, #0x0
|
|
ble _020626FE
|
|
ldr r0, [sp, #0x4]
|
|
str r0, [sp, #0x0]
|
|
_0206268C:
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r2, [r4, r0]
|
|
ldr r0, [sp, #0x0]
|
|
mov r6, #0x0
|
|
add r1, r2, r0
|
|
ldr r0, [r2, r0]
|
|
add r7, r6, #0x0
|
|
cmp r0, #0x0
|
|
ble _020626EC
|
|
add r5, r6, #0x0
|
|
_020626A2:
|
|
add r0, r1, #0x4
|
|
add r1, r0, r5
|
|
ldrb r0, [r1, #0x6]
|
|
mov r12, r0
|
|
cmp r0, #0xff
|
|
beq _020626D6
|
|
ldrh r0, [r1, #0x4]
|
|
cmp r0, #0x0
|
|
bne _020626D6
|
|
ldrb r2, [r4, #0x17]
|
|
ldrb r3, [r4, #0x19]
|
|
mov r1, #0xd
|
|
mul r1, r2
|
|
add r2, r3, r1
|
|
ldr r1, [sp, #0x4]
|
|
mov r0, #0x2a
|
|
add r1, r1, r2
|
|
mov r2, r12
|
|
lsl r0, r0, #0x4
|
|
sub r2, r2, r6
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [r4, r0]
|
|
lsr r2, r2, #0x18
|
|
bl sub_0202B8F0
|
|
add r6, r6, #0x1
|
|
_020626D6:
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0x0]
|
|
ldr r2, [sp, #0x0]
|
|
add r1, r1, r0
|
|
ldr r0, [r2, r0]
|
|
add r7, r7, #0x1
|
|
add r5, #0x8
|
|
cmp r7, r0
|
|
blt _020626A2
|
|
_020626EC:
|
|
ldr r0, [sp, #0x0]
|
|
ldrb r1, [r4, #0x18]
|
|
add r0, #0x3c
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [sp, #0x4]
|
|
add r0, r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
cmp r0, r1
|
|
blt _0206268C
|
|
_020626FE:
|
|
add r0, r4, #0x0
|
|
ldr r5, [r4, #0x0]
|
|
bl Heap_Free
|
|
mov r2, #0x2d
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
lsl r2, r2, #0x4
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0x0
|
|
bl Heap_Destroy
|
|
mov r0, #0xc
|
|
add sp, #0x8
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02062720
|
|
sub_02062720: ; 0x02062720
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_02062A70
|
|
add r0, r4, #0x0
|
|
bl sub_02062C80
|
|
add r0, r4, #0x0
|
|
bl sub_02062DB0
|
|
add r0, r4, #0x0
|
|
bl sub_02062F3C
|
|
mov r0, #0x2
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02062740
|
|
sub_02062740: ; 0x02062740
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_02062FFC
|
|
add r0, r4, #0x0
|
|
bl sub_02062EC4
|
|
add r0, r4, #0x0
|
|
bl sub_02062D38
|
|
add r0, r4, #0x0
|
|
bl sub_02062C4C
|
|
mov r0, #0xb
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02062760
|
|
sub_02062760: ; 0x02062760
|
|
push {r3, lr}
|
|
ldrh r1, [r0, #0x22]
|
|
ldrh r2, [r0, #0x24]
|
|
bl sub_02063028
|
|
mov r0, #0x3
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02062770
|
|
sub_02062770: ; 0x02062770
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
add r0, #0xc0
|
|
ldr r0, [r0, #0x0]
|
|
bl ListMenu_ProcessInput
|
|
ldr r1, _020627C8 ; =gSystem
|
|
ldr r3, [r1, #0x48]
|
|
mov r1, #0x2
|
|
tst r1, r3
|
|
beq _02062790
|
|
add r0, r4, #0x0
|
|
bl sub_02063178
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
_02062790:
|
|
mov r2, #0x1
|
|
add r1, r3, #0x0
|
|
tst r1, r2
|
|
bne _0206279C
|
|
mov r0, #0x3
|
|
pop {r4, pc}
|
|
_0206279C:
|
|
sub r1, r2, #0x3
|
|
cmp r0, r1
|
|
beq _020627AE
|
|
sub r1, r2, #0x2
|
|
cmp r0, r1
|
|
beq _020627AE
|
|
ldr r1, _020627CC ; =0x0000FFFF
|
|
cmp r0, r1
|
|
bne _020627B8
|
|
_020627AE:
|
|
add r0, r4, #0x0
|
|
bl sub_02063178
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
_020627B8:
|
|
strb r0, [r4, #0x1f]
|
|
mov r0, #0x0
|
|
strh r0, [r4, #0x28]
|
|
add r0, r4, #0x0
|
|
bl sub_02063178
|
|
mov r0, #0x4
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_020627C8: .word gSystem
|
|
_020627CC: .word 0x0000FFFF
|
|
|
|
thumb_func_start sub_020627D0
|
|
sub_020627D0: ; 0x020627D0
|
|
push {r3, lr}
|
|
ldrh r1, [r0, #0x28]
|
|
bl sub_02063430
|
|
mov r0, #0x5
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_020627DC
|
|
sub_020627DC: ; 0x020627DC
|
|
push {r3, lr}
|
|
ldr r1, _02062804 ; =gSystem
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x3
|
|
tst r1, r2
|
|
beq _020627F0
|
|
bl sub_020634DC
|
|
mov r0, #0x2
|
|
pop {r3, pc}
|
|
_020627F0:
|
|
mov r1, #0x4
|
|
tst r1, r2
|
|
beq _020627FE
|
|
bl sub_02063238
|
|
mov r0, #0x6
|
|
pop {r3, pc}
|
|
_020627FE:
|
|
mov r0, #0x5
|
|
pop {r3, pc}
|
|
nop
|
|
_02062804: .word gSystem
|
|
|
|
thumb_func_start sub_02062808
|
|
sub_02062808: ; 0x02062808
|
|
push {r4, lr}
|
|
ldr r1, _020628B8 ; =gSystem
|
|
mov r2, #0x2
|
|
ldr r1, [r1, #0x48]
|
|
add r4, r0, #0x0
|
|
tst r2, r1
|
|
beq _0206281E
|
|
bl sub_02063264
|
|
mov r0, #0x5
|
|
pop {r4, pc}
|
|
_0206281E:
|
|
mov r0, #0x1
|
|
tst r0, r1
|
|
beq _0206285C
|
|
mov r0, #0x0
|
|
str r0, [r4, #0xc]
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldrb r2, [r4, #0x1f]
|
|
mov r1, #0x3c
|
|
ldr r3, [r4, r0]
|
|
mul r1, r2
|
|
add r1, r3, r1
|
|
add r3, r1, #0x4
|
|
ldrh r1, [r4, #0x28]
|
|
add r2, r4, r1
|
|
add r1, r0, #0x0
|
|
add r1, #0x8
|
|
ldrb r1, [r2, r1]
|
|
lsl r1, r1, #0x3
|
|
add r2, r3, r1
|
|
add r1, r0, #0x4
|
|
str r2, [r4, r1]
|
|
add r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x6]
|
|
cmp r0, #0xff
|
|
bne _02062858
|
|
mov r0, #0x8
|
|
pop {r4, pc}
|
|
_02062858:
|
|
mov r0, #0x7
|
|
pop {r4, pc}
|
|
_0206285C:
|
|
mov r0, #0x40
|
|
tst r0, r1
|
|
beq _02062882
|
|
ldrh r0, [r4, #0x28]
|
|
cmp r0, #0x0
|
|
beq _02062882
|
|
sub r0, r0, #0x1
|
|
strh r0, [r4, #0x28]
|
|
ldrh r2, [r4, #0x28]
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
lsl r2, r2, #0x4
|
|
add r2, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x7e
|
|
asr r2, r2, #0x10
|
|
bl sub_0200C714
|
|
_02062882:
|
|
ldr r0, _020628B8 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x80
|
|
tst r0, r1
|
|
beq _020628B4
|
|
add r0, r4, #0x0
|
|
add r0, #0x21
|
|
ldrb r0, [r0, #0x0]
|
|
ldrh r1, [r4, #0x28]
|
|
sub r0, r0, #0x1
|
|
cmp r1, r0
|
|
bge _020628B4
|
|
add r0, r1, #0x1
|
|
strh r0, [r4, #0x28]
|
|
ldrh r2, [r4, #0x28]
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
lsl r2, r2, #0x4
|
|
add r2, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x7e
|
|
asr r2, r2, #0x10
|
|
bl sub_0200C714
|
|
_020628B4:
|
|
mov r0, #0x6
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_020628B8: .word gSystem
|
|
|
|
thumb_func_start sub_020628BC
|
|
sub_020628BC: ; 0x020628BC
|
|
push {r3-r4, lr}
|
|
sub sp, #0x4
|
|
add r4, r0, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
ldr r1, _020628E0 ; =UNK_020F7BC8
|
|
str r0, [sp, #0x0]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
ldr r2, _020628E4 ; =0x000003D9
|
|
mov r3, #0xb
|
|
bl Std_CreateYesNoMenu
|
|
add r4, #0xc8
|
|
str r0, [r4, #0x0]
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
nop
|
|
_020628E0: .word UNK_020F7BC8
|
|
_020628E4: .word 0x000003D9
|
|
|
|
thumb_func_start sub_020628E8
|
|
sub_020628E8: ; 0x020628E8
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
ldr r1, [r4, #0xc]
|
|
cmp r1, #0x3
|
|
bgt _0206290C
|
|
cmp r1, #0x0
|
|
blt _020629CE
|
|
add r2, r1, r1
|
|
add r2, pc
|
|
ldrh r2, [r2, #0x6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_02062904: ; jump table (using 16-bit offset)
|
|
.short _02062912 - _02062904 - 2; case 0
|
|
.short _0206294E - _02062904 - 2; case 1
|
|
.short _02062966 - _02062904 - 2; case 2
|
|
.short _0206298C - _02062904 - 2; case 3
|
|
_0206290C:
|
|
cmp r1, #0xff
|
|
beq _020629B2
|
|
b _020629CE
|
|
_02062912:
|
|
add r0, #0xe4
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
ldrh r0, [r4, #0x1a]
|
|
add r2, r4, #0x0
|
|
add r2, #0x98
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _020629D4 ; =0x0001020F
|
|
mov r1, #0x1
|
|
str r0, [sp, #0x8]
|
|
str r3, [sp, #0xc]
|
|
add r0, r4, #0x0
|
|
ldr r2, [r2, #0x0]
|
|
add r0, #0xe4
|
|
bl AddTextPrinterParameterized2
|
|
strb r0, [r4, #0x1e]
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x2
|
|
bl sub_0200C66C
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r0, #0x1
|
|
str r0, [r4, #0xc]
|
|
b _020629CE
|
|
_0206294E:
|
|
ldrb r0, [r4, #0x1e]
|
|
bl sub_0201BD70
|
|
cmp r0, #0x0
|
|
bne _020629CE
|
|
add r0, r4, #0x0
|
|
bl sub_020628BC
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r0, #0x1
|
|
str r0, [r4, #0xc]
|
|
b _020629CE
|
|
_02062966:
|
|
add r0, #0xc8
|
|
ldr r0, [r0, #0x0]
|
|
ldr r1, [r4, #0x0]
|
|
bl sub_020021AC
|
|
cmp r0, #0x0
|
|
beq _0206297E
|
|
mov r1, #0x1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02062986
|
|
b _020629CE
|
|
_0206297E:
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r0, #0x1
|
|
str r0, [r4, #0xc]
|
|
b _020629CE
|
|
_02062986:
|
|
mov r0, #0xff
|
|
str r0, [r4, #0xc]
|
|
b _020629CE
|
|
_0206298C:
|
|
mov r1, #0xb1
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x0
|
|
strh r2, [r1, #0x4]
|
|
mov r1, #0x1
|
|
bl sub_020632A4
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl sub_0200C66C
|
|
mov r0, #0x0
|
|
str r0, [r4, #0xc]
|
|
add sp, #0x10
|
|
mov r0, #0x6
|
|
pop {r4, pc}
|
|
_020629B2:
|
|
add r0, r4, #0x0
|
|
bl sub_02063208
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl sub_0200C66C
|
|
mov r0, #0x0
|
|
str r0, [r4, #0xc]
|
|
add sp, #0x10
|
|
mov r0, #0x6
|
|
pop {r4, pc}
|
|
_020629CE:
|
|
mov r0, #0x7
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_020629D4: .word 0x0001020F
|
|
|
|
thumb_func_start sub_020629D8
|
|
sub_020629D8: ; 0x020629D8
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
ldr r1, [r4, #0xc]
|
|
cmp r1, #0x0
|
|
beq _020629EE
|
|
cmp r1, #0x1
|
|
beq _02062A2A
|
|
cmp r1, #0x2
|
|
beq _02062A3C
|
|
b _02062A60
|
|
_020629EE:
|
|
add r0, #0xe4
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
ldrh r0, [r4, #0x1a]
|
|
add r2, r4, #0x0
|
|
add r2, #0x9c
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _02062A68 ; =0x0001020F
|
|
mov r1, #0x1
|
|
str r0, [sp, #0x8]
|
|
str r3, [sp, #0xc]
|
|
add r0, r4, #0x0
|
|
ldr r2, [r2, #0x0]
|
|
add r0, #0xe4
|
|
bl AddTextPrinterParameterized2
|
|
strb r0, [r4, #0x1e]
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x2
|
|
bl sub_0200C66C
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r0, #0x1
|
|
str r0, [r4, #0xc]
|
|
b _02062A60
|
|
_02062A2A:
|
|
ldrb r0, [r4, #0x1e]
|
|
bl sub_0201BD70
|
|
cmp r0, #0x0
|
|
bne _02062A60
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r0, #0x1
|
|
str r0, [r4, #0xc]
|
|
b _02062A60
|
|
_02062A3C:
|
|
ldr r1, _02062A6C ; =gSystem
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x3
|
|
tst r1, r2
|
|
beq _02062A60
|
|
bl sub_02063208
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl sub_0200C66C
|
|
mov r0, #0x0
|
|
str r0, [r4, #0xc]
|
|
add sp, #0x10
|
|
mov r0, #0x6
|
|
pop {r4, pc}
|
|
_02062A60:
|
|
mov r0, #0x8
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
nop
|
|
_02062A68: .word 0x0001020F
|
|
_02062A6C: .word gSystem
|
|
|
|
thumb_func_start sub_02062A70
|
|
sub_02062A70: ; 0x02062A70
|
|
push {r4-r7, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0x0
|
|
ldrb r2, [r4, #0x18]
|
|
add r5, r1, #0x0
|
|
mov r1, #0x3c
|
|
ldr r0, [r4, #0x0]
|
|
mul r1, r2
|
|
bl Heap_Alloc
|
|
mov r1, #0xb
|
|
lsl r1, r1, #0x6
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
ldrb r3, [r4, #0x18]
|
|
mov r2, #0x3c
|
|
mov r1, #0x0
|
|
mul r2, r3
|
|
bl MI_CpuFill8
|
|
ldrb r1, [r4, #0x16]
|
|
ldr r2, [r4, #0x0]
|
|
add r0, r5, #0x0
|
|
bl sub_0202BD6C
|
|
mov r1, #0xa9
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x10]
|
|
ldrb r0, [r4, #0x18]
|
|
cmp r0, #0x0
|
|
bgt _02062AB4
|
|
b _02062C48
|
|
_02062AB4:
|
|
ldr r0, [sp, #0x10]
|
|
str r4, [sp, #0x8]
|
|
str r0, [sp, #0x4]
|
|
add r5, r0, #0x0
|
|
_02062ABC:
|
|
ldrb r2, [r4, #0x17]
|
|
ldrb r3, [r4, #0x19]
|
|
mov r1, #0xd
|
|
mul r1, r2
|
|
mov r0, #0x2a
|
|
add r2, r3, r1
|
|
ldr r1, [sp, #0x10]
|
|
lsl r0, r0, #0x4
|
|
add r1, r1, r2
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [r4, #0x0]
|
|
bl sub_0202BDF0
|
|
mov r1, #0xaa
|
|
mov r3, #0x0
|
|
ldr r2, [sp, #0x8]
|
|
lsl r1, r1, #0x2
|
|
str r0, [r2, r1]
|
|
add r0, r2, #0x0
|
|
ldr r0, [r0, r1]
|
|
mov r12, r3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r0, #0x0]
|
|
cmp r0, #0x0
|
|
bne _02062B22
|
|
sub r0, r1, #0x4
|
|
ldr r0, [r4, r0]
|
|
add r3, r1, #0x0
|
|
add r2, r0, #0x4
|
|
ldr r0, [sp, #0x4]
|
|
add r3, #0x18
|
|
add r2, r2, r0
|
|
add r0, r1, #0x0
|
|
add r0, #0x18
|
|
ldr r0, [r4, r0]
|
|
add r0, r0, r5
|
|
str r2, [r0, #0x4]
|
|
add r0, r1, #0x0
|
|
add r0, #0x18
|
|
ldr r0, [r4, r0]
|
|
mov r2, #0x1
|
|
add r0, r0, r5
|
|
strh r2, [r0, #0x8]
|
|
ldr r3, [r4, r3]
|
|
mov r0, #0xff
|
|
add r3, r3, r5
|
|
add r1, #0x18
|
|
strb r0, [r3, #0xa]
|
|
ldr r0, [r4, r1]
|
|
str r2, [r0, r5]
|
|
b _02062C2C
|
|
_02062B22:
|
|
add r2, r3, #0x0
|
|
cmp r0, #0x0
|
|
ble _02062BE4
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [sp, #0x0]
|
|
add r7, r0, #0x4
|
|
_02062B2E:
|
|
mov r0, r12
|
|
cmp r0, #0x0
|
|
bne _02062BA8
|
|
mov r0, #0xa9
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0x4]
|
|
add r1, r1, r0
|
|
ldr r6, [r1, #0x8]
|
|
ldr r1, [sp, #0x0]
|
|
ldr r1, [r1, #0x8]
|
|
cmp r6, r1
|
|
blo _02062BA8
|
|
add r6, r0, #0x4
|
|
ldr r0, [sp, #0x4]
|
|
lsl r1, r3, #0x3
|
|
add r0, r6, r0
|
|
mov r6, #0xb
|
|
lsl r6, r6, #0x6
|
|
ldr r6, [r4, r6]
|
|
add r3, r3, #0x1
|
|
add r6, r5, r6
|
|
add r6, r1, r6
|
|
str r0, [r6, #0x4]
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
add r0, r5, r0
|
|
add r6, r1, r0
|
|
mov r0, #0x1
|
|
strh r0, [r6, #0x8]
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
lsl r6, r3, #0x3
|
|
add r0, r5, r0
|
|
add r1, r1, r0
|
|
mov r0, #0xff
|
|
strb r0, [r1, #0xa]
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
add r0, r5, r0
|
|
add r0, r6, r0
|
|
str r7, [r0, #0x4]
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
add r0, r5, r0
|
|
add r1, r6, r0
|
|
mov r0, #0x1
|
|
strh r0, [r1, #0x8]
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
add r0, r5, r0
|
|
add r0, r6, r0
|
|
strb r2, [r0, #0xa]
|
|
mov r0, #0x1
|
|
mov r12, r0
|
|
b _02062BD0
|
|
_02062BA8:
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
lsl r6, r3, #0x3
|
|
add r0, r5, r0
|
|
add r0, r6, r0
|
|
str r7, [r0, #0x4]
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
add r0, r5, r0
|
|
add r1, r6, r0
|
|
mov r0, #0x1
|
|
strh r0, [r1, #0x8]
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
add r0, r5, r0
|
|
add r0, r6, r0
|
|
strb r2, [r0, #0xa]
|
|
_02062BD0:
|
|
ldr r0, [sp, #0x0]
|
|
add r2, r2, #0x1
|
|
add r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [sp, #0xc]
|
|
add r3, r3, #0x1
|
|
ldr r0, [r0, #0x0]
|
|
add r7, #0xc
|
|
cmp r2, r0
|
|
blt _02062B2E
|
|
_02062BE4:
|
|
mov r0, r12
|
|
cmp r0, #0x0
|
|
bne _02062C1E
|
|
mov r0, #0xa9
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r4, r0]
|
|
lsl r2, r3, #0x3
|
|
add r3, r1, #0x4
|
|
ldr r1, [sp, #0x4]
|
|
add r1, r3, r1
|
|
add r3, r0, #0x0
|
|
add r3, #0x1c
|
|
ldr r3, [r4, r3]
|
|
add r3, r3, r5
|
|
add r3, r2, r3
|
|
str r1, [r3, #0x4]
|
|
add r3, r0, #0x0
|
|
add r3, #0x1c
|
|
ldr r3, [r4, r3]
|
|
mov r1, #0x1
|
|
add r3, r3, r5
|
|
add r3, r2, r3
|
|
strh r1, [r3, #0x8]
|
|
add r0, #0x1c
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xff
|
|
add r0, r0, r5
|
|
add r0, r2, r0
|
|
strb r1, [r0, #0xa]
|
|
_02062C1E:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r0, [r0, #0x0]
|
|
add r1, r0, #0x1
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
str r1, [r0, r5]
|
|
_02062C2C:
|
|
ldr r0, [sp, #0x8]
|
|
ldrb r1, [r4, #0x18]
|
|
add r0, r0, #0x4
|
|
str r0, [sp, #0x8]
|
|
ldr r0, [sp, #0x4]
|
|
add r5, #0x3c
|
|
add r0, #0xc
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #0x1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, r1
|
|
bge _02062C48
|
|
b _02062ABC
|
|
_02062C48:
|
|
add sp, #0x14
|
|
pop {r4-r7, pc}
|
|
|
|
thumb_func_start sub_02062C4C
|
|
sub_02062C4C: ; 0x02062C4C
|
|
push {r3-r7, lr}
|
|
add r6, r0, #0x0
|
|
ldrb r0, [r6, #0x18]
|
|
mov r4, #0x0
|
|
add r0, r0, #0x1
|
|
cmp r0, #0x0
|
|
ble _02062C72
|
|
mov r7, #0xa9
|
|
add r5, r6, #0x0
|
|
lsl r7, r7, #0x2
|
|
_02062C60:
|
|
ldr r0, [r5, r7]
|
|
bl sub_0202BE6C
|
|
ldrb r0, [r6, #0x18]
|
|
add r4, r4, #0x1
|
|
add r5, r5, #0x4
|
|
add r0, r0, #0x1
|
|
cmp r4, r0
|
|
blt _02062C60
|
|
_02062C72:
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r6, r0]
|
|
bl Heap_Free
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02062C80
|
|
sub_02062C80: ; 0x02062C80
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
ldr r2, _02062D34 ; =0x000001E1
|
|
ldr r3, [r5, #0x0]
|
|
mov r0, #0x0
|
|
mov r1, #0x1a
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r5, #0x2c]
|
|
ldr r2, [r5, #0x0]
|
|
mov r0, #0x2
|
|
mov r1, #0x4c
|
|
bl MessageFormat_New_Custom
|
|
str r0, [r5, #0x30]
|
|
ldr r1, [r5, #0x0]
|
|
mov r0, #0x4c
|
|
bl String_New
|
|
str r0, [r5, #0x34]
|
|
ldr r0, [r5, #0x2c]
|
|
mov r1, #0xd
|
|
bl NewString_ReadMsgData
|
|
str r0, [r5, #0x38]
|
|
ldr r0, [r5, #0x2c]
|
|
mov r1, #0x16
|
|
bl NewString_ReadMsgData
|
|
str r0, [r5, #0x3c]
|
|
ldr r0, [r5, #0x2c]
|
|
mov r1, #0x24
|
|
bl NewString_ReadMsgData
|
|
str r0, [r5, #0x40]
|
|
ldr r0, [r5, #0x2c]
|
|
mov r1, #0xe
|
|
bl NewString_ReadMsgData
|
|
str r0, [r5, #0x44]
|
|
ldrb r0, [r5, #0x18]
|
|
mov r4, #0x0
|
|
cmp r0, #0x0
|
|
ble _02062CFE
|
|
add r6, r5, #0x0
|
|
_02062CDA:
|
|
ldrb r1, [r5, #0x19]
|
|
ldr r0, [r5, #0x2c]
|
|
add r1, r1, r4
|
|
bl NewString_ReadMsgData
|
|
str r0, [r6, #0x64]
|
|
ldrb r1, [r5, #0x19]
|
|
ldr r0, [r5, #0x2c]
|
|
add r1, #0x17
|
|
add r1, r1, r4
|
|
bl NewString_ReadMsgData
|
|
str r0, [r6, #0x7c]
|
|
ldrb r0, [r5, #0x18]
|
|
add r4, r4, #0x1
|
|
add r6, r6, #0x4
|
|
cmp r4, r0
|
|
blt _02062CDA
|
|
_02062CFE:
|
|
mov r4, #0x0
|
|
add r6, r5, #0x0
|
|
_02062D02:
|
|
add r1, r4, #0x0
|
|
ldr r0, [r5, #0x2c]
|
|
add r1, #0xf
|
|
bl NewString_ReadMsgData
|
|
str r0, [r6, #0x48]
|
|
add r4, r4, #0x1
|
|
add r6, r6, #0x4
|
|
cmp r4, #0x7
|
|
blt _02062D02
|
|
mov r4, #0x0
|
|
add r6, r5, #0x0
|
|
_02062D1A:
|
|
add r1, r4, #0x0
|
|
ldr r0, [r5, #0x2c]
|
|
add r1, #0x25
|
|
bl NewString_ReadMsgData
|
|
add r1, r6, #0x0
|
|
add r1, #0x94
|
|
add r4, r4, #0x1
|
|
add r6, r6, #0x4
|
|
str r0, [r1, #0x0]
|
|
cmp r4, #0x3
|
|
blt _02062D1A
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_02062D34: .word 0x000001E1
|
|
|
|
thumb_func_start sub_02062D38
|
|
sub_02062D38: ; 0x02062D38
|
|
push {r4-r6, lr}
|
|
add r6, r0, #0x0
|
|
mov r4, #0x0
|
|
add r5, r6, #0x0
|
|
_02062D40:
|
|
add r0, r5, #0x0
|
|
add r0, #0x94
|
|
ldr r0, [r0, #0x0]
|
|
bl String_Delete
|
|
add r4, r4, #0x1
|
|
add r5, r5, #0x4
|
|
cmp r4, #0x3
|
|
blt _02062D40
|
|
mov r5, #0x0
|
|
add r4, r6, #0x0
|
|
_02062D56:
|
|
ldr r0, [r4, #0x48]
|
|
bl String_Delete
|
|
add r5, r5, #0x1
|
|
add r4, r4, #0x4
|
|
cmp r5, #0x7
|
|
blt _02062D56
|
|
ldrb r0, [r6, #0x18]
|
|
mov r5, #0x0
|
|
cmp r0, #0x0
|
|
ble _02062D84
|
|
add r4, r6, #0x0
|
|
_02062D6E:
|
|
ldr r0, [r4, #0x64]
|
|
bl String_Delete
|
|
ldr r0, [r4, #0x7c]
|
|
bl String_Delete
|
|
ldrb r0, [r6, #0x18]
|
|
add r5, r5, #0x1
|
|
add r4, r4, #0x4
|
|
cmp r5, r0
|
|
blt _02062D6E
|
|
_02062D84:
|
|
ldr r0, [r6, #0x44]
|
|
bl String_Delete
|
|
ldr r0, [r6, #0x40]
|
|
bl String_Delete
|
|
ldr r0, [r6, #0x3c]
|
|
bl String_Delete
|
|
ldr r0, [r6, #0x38]
|
|
bl String_Delete
|
|
ldr r0, [r6, #0x34]
|
|
bl String_Delete
|
|
ldr r0, [r6, #0x30]
|
|
bl MessageFormat_Delete
|
|
ldr r0, [r6, #0x2c]
|
|
bl DestroyMsgData
|
|
pop {r4-r6, pc}
|
|
|
|
thumb_func_start sub_02062DB0
|
|
sub_02062DB0: ; 0x02062DB0
|
|
push {r3-r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0x0
|
|
mov r1, #0xad
|
|
ldr r3, [r4, #0x0]
|
|
mov r0, #0x1
|
|
lsl r1, r1, #0x6
|
|
mov r2, #0x0
|
|
bl BG_ClearCharDataRange
|
|
mov r2, #0x0
|
|
str r2, [sp, #0x0]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x1
|
|
add r3, r2, #0x0
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x1
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
mov r0, #0x1
|
|
add r1, r0, #0x0
|
|
bl ToggleBgLayer
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x0
|
|
bl GetBgPriority
|
|
strh r0, [r4, #0x10]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x1
|
|
bl GetBgPriority
|
|
strh r0, [r4, #0x12]
|
|
mov r0, #0x0
|
|
mov r1, #0x2
|
|
bl SetBgPriority
|
|
mov r0, #0x1
|
|
add r1, r0, #0x0
|
|
bl SetBgPriority
|
|
ldrh r0, [r4, #0x1c]
|
|
ldr r2, _02062EB8 ; =0x000003E2
|
|
mov r1, #0x3
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
mov r3, #0xa
|
|
str r0, [sp, #0x4]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
bl sub_0200CD68
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
ldr r2, _02062EBC ; =0x000003D9
|
|
str r0, [sp, #0x4]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x3
|
|
mov r3, #0xb
|
|
bl LoadUserFrameGfx1
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
ldr r2, _02062EBC ; =0x000003D9
|
|
str r0, [sp, #0x4]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x1
|
|
mov r3, #0xb
|
|
bl LoadUserFrameGfx1
|
|
mov r1, #0x1a
|
|
ldr r2, [r4, #0x0]
|
|
mov r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
bl LoadFontPal0
|
|
mov r1, #0x6
|
|
ldr r2, [r4, #0x0]
|
|
mov r0, #0x0
|
|
lsl r1, r1, #0x6
|
|
bl LoadFontPal1
|
|
mov r0, #0x13
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x4
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02062EC0 ; =0x0000036D
|
|
add r1, r4, #0x0
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
add r1, #0xe4
|
|
mov r2, #0x3
|
|
mov r3, #0x2
|
|
bl AddWindowParameterized
|
|
add r4, #0xe4
|
|
add r0, r4, #0x0
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
add sp, #0x14
|
|
pop {r3-r4, pc}
|
|
.balign 4
|
|
_02062EB8: .word 0x000003E2
|
|
_02062EBC: .word 0x000003D9
|
|
_02062EC0: .word 0x0000036D
|
|
|
|
thumb_func_start sub_02062EC4
|
|
sub_02062EC4: ; 0x02062EC4
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
add r0, #0xe4
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
add r0, #0xe4
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xe4
|
|
bl RemoveWindow
|
|
mov r1, #0xad
|
|
ldr r3, [r4, #0x0]
|
|
mov r0, #0x1
|
|
lsl r1, r1, #0x6
|
|
mov r2, #0x0
|
|
bl BG_ClearCharDataRange
|
|
mov r2, #0x0
|
|
str r2, [sp, #0x0]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x1
|
|
add r3, r2, #0x0
|
|
bl FillBgTilemapRect
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x1
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
mov r0, #0x1
|
|
mov r1, #0x0
|
|
bl ToggleBgLayer
|
|
ldrh r1, [r4, #0x10]
|
|
mov r0, #0x0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl SetBgPriority
|
|
ldrh r1, [r4, #0x12]
|
|
mov r0, #0x1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl SetBgPriority
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_02062F3C
|
|
sub_02062F3C: ; 0x02062F3C
|
|
push {r4-r7, lr}
|
|
sub sp, #0x24
|
|
ldr r4, _02062FF0 ; =UNK_020F7BDC
|
|
add r3, sp, #0xc
|
|
add r6, r0, #0x0
|
|
add r2, r3, #0x0
|
|
ldmia r4!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r4!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r4!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #0x2
|
|
add r1, r2, #0x0
|
|
ldr r3, [r6, #0x0]
|
|
add r0, r6, r0
|
|
mov r2, #0x2
|
|
bl ov05_021D959C
|
|
mov r0, #0x3
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _02062FF4 ; =0x000034D8
|
|
mov r2, #0x0
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #0x2
|
|
add r0, r6, r0
|
|
mov r1, #0x82
|
|
add r3, r2, #0x0
|
|
bl ov05_021D967C
|
|
ldr r0, _02062FF4 ; =0x000034D8
|
|
mov r1, #0x82
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #0x2
|
|
add r0, r6, r0
|
|
mov r2, #0x2
|
|
mov r3, #0x0
|
|
bl ov05_021D96F4
|
|
ldr r0, _02062FF4 ; =0x000034D8
|
|
mov r1, #0x82
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #0x2
|
|
add r0, r6, r0
|
|
mov r2, #0x3
|
|
mov r3, #0x0
|
|
bl ov05_021D9708
|
|
mov r2, #0x1
|
|
ldr r0, _02062FF4 ; =0x000034D8
|
|
str r2, [sp, #0x0]
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #0x2
|
|
add r0, r6, r0
|
|
mov r1, #0x82
|
|
mov r3, #0x0
|
|
bl ov05_021D971C
|
|
ldr r4, _02062FF8 ; =UNK_020F7C7C
|
|
mov r7, #0x0
|
|
add r5, r6, #0x0
|
|
_02062FC4:
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #0x2
|
|
add r0, r6, r0
|
|
add r1, r4, #0x0
|
|
bl ov05_021D9820
|
|
mov r1, #0xa6
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
add r7, r7, #0x1
|
|
add r4, #0x34
|
|
add r5, r5, #0x4
|
|
cmp r7, #0x2
|
|
blt _02062FC4
|
|
add r0, r1, #0x4
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0x0
|
|
bl sub_0200C644
|
|
add sp, #0x24
|
|
pop {r4-r7, pc}
|
|
nop
|
|
_02062FF0: .word UNK_020F7BDC
|
|
_02062FF4: .word 0x000034D8
|
|
_02062FF8: .word UNK_020F7C7C
|
|
|
|
thumb_func_start sub_02062FFC
|
|
sub_02062FFC: ; 0x02062FFC
|
|
push {r3-r7, lr}
|
|
add r7, r0, #0x0
|
|
mov r6, #0xa6
|
|
mov r4, #0x0
|
|
add r5, r7, #0x0
|
|
lsl r6, r6, #0x2
|
|
_02063008:
|
|
ldr r0, [r5, r6]
|
|
cmp r0, #0x0
|
|
beq _02063012
|
|
bl sub_0200C3DC
|
|
_02063012:
|
|
add r4, r4, #0x1
|
|
add r5, r5, #0x4
|
|
cmp r4, #0x2
|
|
blt _02063008
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #0x2
|
|
add r0, r7, r0
|
|
bl ov05_021D99F8
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02063028
|
|
sub_02063028: ; 0x02063028
|
|
push {r4-r7, lr}
|
|
sub sp, #0x1c
|
|
str r1, [sp, #0x14]
|
|
add r5, r0, #0x0
|
|
str r2, [sp, #0x18]
|
|
ldrb r0, [r5, #0x18]
|
|
ldr r1, [r5, #0x0]
|
|
add r7, r0, #0x1
|
|
add r0, r7, #0x0
|
|
bl ListMenuItems_New
|
|
add r1, r5, #0x0
|
|
add r1, #0xc4
|
|
str r0, [r1, #0x0]
|
|
mov r2, #0x1
|
|
add r1, r5, #0x0
|
|
str r2, [sp, #0x0]
|
|
mov r0, #0x18
|
|
str r0, [sp, #0x4]
|
|
lsl r0, r7, #0x19
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0x0
|
|
str r2, [sp, #0x10]
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
add r1, #0xd4
|
|
mov r3, #0x4
|
|
bl AddWindowParameterized
|
|
add r0, r5, #0x0
|
|
add r0, #0xd4
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
ldrb r0, [r5, #0x18]
|
|
mov r6, #0x0
|
|
cmp r0, #0x0
|
|
ble _02063094
|
|
add r4, r5, #0x0
|
|
_0206307C:
|
|
add r0, r5, #0x0
|
|
add r0, #0xc4
|
|
ldr r0, [r0, #0x0]
|
|
ldr r1, [r4, #0x64]
|
|
add r2, r6, #0x0
|
|
bl ListMenuItems_AddItem
|
|
ldrb r0, [r5, #0x18]
|
|
add r6, r6, #0x1
|
|
add r4, r4, #0x4
|
|
cmp r6, r0
|
|
blt _0206307C
|
|
_02063094:
|
|
add r0, r5, #0x0
|
|
add r0, #0xc4
|
|
ldr r0, [r0, #0x0]
|
|
ldr r1, [r5, #0x38]
|
|
ldr r2, _02063160 ; =0x0000FFFF
|
|
bl ListMenuItems_AddItem
|
|
add r1, r5, #0x0
|
|
ldr r0, _02063164 ; =UNK_020F7C2C
|
|
add r1, #0xa0
|
|
mov r2, #0x20
|
|
bl MI_CpuCopy8
|
|
add r1, r5, #0x0
|
|
add r0, r5, #0x0
|
|
add r1, #0xd4
|
|
add r0, #0xac
|
|
str r1, [r0, #0x0]
|
|
add r0, r5, #0x0
|
|
add r0, #0xc4
|
|
ldr r1, [r0, #0x0]
|
|
add r0, r5, #0x0
|
|
add r0, #0xa0
|
|
str r1, [r0, #0x0]
|
|
add r0, r5, #0x0
|
|
add r0, #0xbc
|
|
str r5, [r0, #0x0]
|
|
add r0, r5, #0x0
|
|
add r0, #0xb0
|
|
strh r7, [r0, #0x0]
|
|
add r0, r5, #0x0
|
|
add r0, #0xb7
|
|
ldrb r1, [r0, #0x0]
|
|
mov r0, #0xf
|
|
bic r1, r0
|
|
add r0, r5, #0x0
|
|
add r0, #0xb7
|
|
strb r1, [r0, #0x0]
|
|
add r0, r5, #0x0
|
|
ldr r1, _02063168 ; =sub_020631C8
|
|
add r0, #0xa4
|
|
str r1, [r0, #0x0]
|
|
add r0, r5, #0x0
|
|
mov r1, #0x0
|
|
add r0, #0xa8
|
|
str r1, [r0, #0x0]
|
|
ldr r3, [r5, #0x0]
|
|
add r0, r5, #0x0
|
|
lsl r3, r3, #0x18
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, [sp, #0x18]
|
|
add r0, #0xa0
|
|
lsr r3, r3, #0x18
|
|
bl ListMenuInit
|
|
add r1, r5, #0x0
|
|
add r1, #0xc0
|
|
str r0, [r1, #0x0]
|
|
add r0, r5, #0x0
|
|
ldr r2, _0206316C ; =0x000003D9
|
|
add r0, #0xd4
|
|
mov r1, #0x0
|
|
mov r3, #0xb
|
|
bl DrawFrameAndWindow1
|
|
add r0, r5, #0x0
|
|
ldr r2, _02063170 ; =0x000003E2
|
|
add r0, #0xe4
|
|
mov r1, #0x1
|
|
mov r3, #0xa
|
|
bl DrawFrameAndWindow2
|
|
add r0, r5, #0x0
|
|
add r0, #0xe4
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
ldr r0, _02063174 ; =0x0001020F
|
|
str r3, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
str r3, [sp, #0xc]
|
|
add r0, r5, #0x0
|
|
ldr r2, [r5, #0x3c]
|
|
add r0, #0xe4
|
|
mov r1, #0x1
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl sub_0200C644
|
|
add r5, #0xd0
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x1c
|
|
pop {r4-r7, pc}
|
|
.balign 4
|
|
_02063160: .word 0x0000FFFF
|
|
_02063164: .word UNK_020F7C2C
|
|
_02063168: .word sub_020631C8
|
|
_0206316C: .word 0x000003D9
|
|
_02063170: .word 0x000003E2
|
|
_02063174: .word 0x0001020F
|
|
|
|
thumb_func_start sub_02063178
|
|
sub_02063178: ; 0x02063178
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
add r0, #0xc0
|
|
add r1, r4, #0x0
|
|
add r2, r4, #0x0
|
|
ldr r0, [r0, #0x0]
|
|
add r1, #0x22
|
|
add r2, #0x24
|
|
bl DestroyListMenu
|
|
add r0, r4, #0x0
|
|
add r0, #0xc4
|
|
ldr r0, [r0, #0x0]
|
|
bl ListMenuItems_Delete
|
|
add r0, r4, #0x0
|
|
add r0, #0xd4
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xd4
|
|
mov r1, #0x0
|
|
bl ClearFrameAndWindow1
|
|
add r0, r4, #0x0
|
|
add r0, #0xd4
|
|
bl RemoveWindow
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_0200C644
|
|
add r4, #0xd0
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_020631C8
|
|
sub_020631C8: ; 0x020631C8
|
|
push {r3-r5, lr}
|
|
mov r1, #0x13
|
|
add r5, r0, #0x0
|
|
bl ListMenuGetTemplateField
|
|
add r1, sp, #0x0
|
|
add r4, r0, #0x0
|
|
add r0, r5, #0x0
|
|
add r1, #0x2
|
|
add r2, sp, #0x0
|
|
bl ListMenuGetScrollAndRow
|
|
add r0, r5, #0x0
|
|
mov r1, #0x2
|
|
bl ListMenuGetTemplateField
|
|
add r2, sp, #0x0
|
|
ldrh r3, [r2, #0x0]
|
|
ldrh r2, [r2, #0x2]
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
add r2, r3, r2
|
|
lsl r2, r2, #0x4
|
|
add r2, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x7e
|
|
asr r2, r2, #0x10
|
|
bl sub_0200C714
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02063208
|
|
sub_02063208: ; 0x02063208
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
add r0, #0xe4
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
ldr r0, _02063234 ; =0x0001020F
|
|
str r3, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
add r0, r4, #0x0
|
|
str r3, [sp, #0xc]
|
|
add r4, #0x94
|
|
ldr r2, [r4, #0x0]
|
|
add r0, #0xe4
|
|
mov r1, #0x1
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_02063234: .word 0x0001020F
|
|
|
|
thumb_func_start sub_02063238
|
|
sub_02063238: ; 0x02063238
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_02063208
|
|
ldrh r2, [r4, #0x28]
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
lsl r2, r2, #0x4
|
|
add r2, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x7e
|
|
asr r2, r2, #0x10
|
|
bl sub_0200C714
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl sub_0200C644
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_02063264
|
|
sub_02063264: ; 0x02063264
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
add r0, #0xe4
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
ldr r0, _020632A0 ; =0x0001020F
|
|
str r3, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
str r3, [sp, #0xc]
|
|
ldrb r2, [r4, #0x1f]
|
|
add r0, r4, #0x0
|
|
add r0, #0xe4
|
|
lsl r2, r2, #0x2
|
|
add r2, r4, r2
|
|
ldr r2, [r2, #0x7c]
|
|
mov r1, #0x1
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_0200C644
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_020632A0: .word 0x0001020F
|
|
|
|
thumb_func_start sub_020632A4
|
|
sub_020632A4: ; 0x020632A4
|
|
push {r4-r7, lr}
|
|
sub sp, #0x34
|
|
str r1, [sp, #0x10]
|
|
mov r1, #0xb
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x6
|
|
ldr r1, [r4, r1]
|
|
ldrb r0, [r4, #0x1f]
|
|
str r1, [sp, #0x24]
|
|
mov r1, #0x3c
|
|
mul r1, r0
|
|
str r1, [sp, #0x28]
|
|
ldrb r1, [r4, #0x16]
|
|
lsl r0, r0, #0x3
|
|
lsl r2, r1, #0x2
|
|
ldr r1, _02063428 ; =UNK_020F7BD0
|
|
ldr r1, [r1, r2]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x14]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd4
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0x0
|
|
add r1, r0, #0x0
|
|
str r1, [sp, #0x20]
|
|
ldr r2, [sp, #0x24]
|
|
ldr r1, [sp, #0x28]
|
|
str r0, [sp, #0x18]
|
|
ldr r1, [r2, r1]
|
|
cmp r1, #0x0
|
|
ble _020633EA
|
|
ldr r1, [sp, #0x28]
|
|
add r7, r2, r1
|
|
add r1, r0, #0x0
|
|
str r1, [sp, #0x30]
|
|
add r1, r4, #0x0
|
|
str r1, [sp, #0x2c]
|
|
add r1, #0xd4
|
|
str r1, [sp, #0x2c]
|
|
_020632FA:
|
|
ldrh r1, [r7, #0x8]
|
|
cmp r1, #0x0
|
|
beq _020633D6
|
|
ldr r1, [r7, #0x4]
|
|
ldr r5, [r1, #0x4]
|
|
ldr r1, [sp, #0x14]
|
|
ldr r1, [r1, #0x0]
|
|
cmp r5, r1
|
|
bls _0206330E
|
|
add r5, r1, #0x0
|
|
_0206330E:
|
|
cmp r5, r0
|
|
bge _02063318
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #0x1
|
|
str r0, [sp, #0x1c]
|
|
_02063318:
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [r4, #0x30]
|
|
ldr r2, [sp, #0x1c]
|
|
mov r1, #0x0
|
|
mov r3, #0x1
|
|
bl BufferIntegerAsString
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x4]
|
|
ldr r2, [r7, #0x4]
|
|
ldr r0, [r4, #0x30]
|
|
ldr r2, [r2, #0x8]
|
|
mov r1, #0x1
|
|
mov r3, #0x2
|
|
bl BufferString
|
|
ldr r0, [r4, #0x30]
|
|
ldr r1, [r4, #0x34]
|
|
ldr r2, [r4, #0x44]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [sp, #0x30]
|
|
mov r1, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0206342C ; =0x0001020F
|
|
mov r3, #0x8
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x2c]
|
|
ldr r2, [r4, #0x34]
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
str r0, [sp, #0x4]
|
|
ldr r3, [sp, #0x14]
|
|
ldr r0, [r4, #0x30]
|
|
ldrh r3, [r3, #0x4]
|
|
mov r1, #0x0
|
|
add r2, r5, #0x0
|
|
bl BufferIntegerAsString
|
|
ldr r2, [sp, #0x14]
|
|
ldr r0, [r4, #0x30]
|
|
ldrh r2, [r2, #0x6]
|
|
ldr r1, [r4, #0x34]
|
|
lsl r2, r2, #0x2
|
|
add r2, r4, r2
|
|
ldr r2, [r2, #0xc]
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0x0
|
|
ldr r1, [r4, #0x34]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
mov r12, r0
|
|
ldr r0, [sp, #0x30]
|
|
mov r3, #0xb8
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0206342C ; =0x0001020F
|
|
mov r6, r12
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x2c]
|
|
ldr r2, [r4, #0x34]
|
|
mov r1, #0x0
|
|
sub r3, r3, r6
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x20]
|
|
add r2, r4, r0
|
|
mov r0, #0xb2
|
|
lsl r0, r0, #0x2
|
|
strb r1, [r2, r0]
|
|
ldr r1, [sp, #0x30]
|
|
add r0, r5, #0x0
|
|
add r1, #0x10
|
|
str r1, [sp, #0x30]
|
|
ldr r1, [sp, #0x18]
|
|
add r1, r1, #0x1
|
|
str r1, [sp, #0x18]
|
|
cmp r1, #0x6
|
|
bge _020633EA
|
|
_020633D6:
|
|
ldr r1, [sp, #0x20]
|
|
ldr r2, [sp, #0x24]
|
|
add r1, r1, #0x1
|
|
str r1, [sp, #0x20]
|
|
ldr r1, [sp, #0x28]
|
|
add r7, #0x8
|
|
ldr r2, [r2, r1]
|
|
ldr r1, [sp, #0x20]
|
|
cmp r1, r2
|
|
blt _020632FA
|
|
_020633EA:
|
|
add r0, r4, #0x0
|
|
add r0, #0xd4
|
|
bl CopyWindowToVram
|
|
add r1, r4, #0x0
|
|
ldr r0, [sp, #0x18]
|
|
add r1, #0x21
|
|
strb r0, [r1, #0x0]
|
|
ldrh r1, [r4, #0x28]
|
|
cmp r1, #0x0
|
|
beq _0206340E
|
|
add r0, r4, #0x0
|
|
add r0, #0x21
|
|
ldrb r0, [r0, #0x0]
|
|
cmp r1, r0
|
|
blt _0206340E
|
|
sub r0, r1, #0x1
|
|
strh r0, [r4, #0x28]
|
|
_0206340E:
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0x0
|
|
beq _0206341E
|
|
add r0, r4, #0x0
|
|
bl sub_02063238
|
|
add sp, #0x34
|
|
pop {r4-r7, pc}
|
|
_0206341E:
|
|
add r0, r4, #0x0
|
|
bl sub_02063264
|
|
add sp, #0x34
|
|
pop {r4-r7, pc}
|
|
.balign 4
|
|
_02063428: .word UNK_020F7BD0
|
|
_0206342C: .word 0x0001020F
|
|
|
|
thumb_func_start sub_02063430
|
|
sub_02063430: ; 0x02063430
|
|
push {r3-r4, lr}
|
|
sub sp, #0x14
|
|
mov r2, #0x1
|
|
add r4, r0, #0x0
|
|
str r2, [sp, #0x0]
|
|
mov r0, #0x18
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
add r0, r4, #0x0
|
|
add r1, r4, #0x0
|
|
str r2, [sp, #0x10]
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
add r1, #0xd4
|
|
mov r3, #0x4
|
|
bl AddWindowParameterized
|
|
add r0, r4, #0x0
|
|
ldr r2, _020634D0 ; =0x000003D9
|
|
add r0, #0xd4
|
|
mov r1, #0x1
|
|
mov r3, #0xb
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_020632A4
|
|
mov r0, #0xa7
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl sub_0200C644
|
|
mov r0, #0xe
|
|
str r0, [sp, #0x0]
|
|
mov r3, #0x8
|
|
add r1, r4, #0x0
|
|
str r3, [sp, #0x4]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _020634D4 ; =0x00000345
|
|
add r1, #0xf4
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0x0
|
|
add r0, #0xd0
|
|
ldr r0, [r0, #0x0]
|
|
mov r2, #0x3
|
|
bl AddWindowParameterized
|
|
add r0, r4, #0x0
|
|
add r0, #0xf4
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
ldr r0, _020634D8 ; =0x00010200
|
|
str r1, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r4, #0x0
|
|
ldr r2, [r4, #0x40]
|
|
add r0, #0xf4
|
|
add r3, r1, #0x0
|
|
bl AddTextPrinterParameterized2
|
|
add r4, #0xd0
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x14
|
|
pop {r3-r4, pc}
|
|
nop
|
|
_020634D0: .word 0x000003D9
|
|
_020634D4: .word 0x00000345
|
|
_020634D8: .word 0x00010200
|
|
|
|
thumb_func_start sub_020634DC
|
|
sub_020634DC: ; 0x020634DC
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
add r0, #0xd4
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xd4
|
|
mov r1, #0x0
|
|
bl ClearFrameAndWindow1
|
|
add r0, r4, #0x0
|
|
add r0, #0xd4
|
|
bl RemoveWindow
|
|
add r0, r4, #0x0
|
|
add r0, #0xf4
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xf4
|
|
bl RemoveWindow
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_0200C644
|
|
mov r0, #0xa7
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_0200C644
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02063524
|
|
sub_02063524: ; 0x02063524
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
bl TaskManager_GetFieldSystem
|
|
add r5, r0, #0x0
|
|
add r0, r4, #0x0
|
|
bl TaskManager_GetEnvironment
|
|
add r4, r0, #0x0
|
|
ldr r2, [r4, #0x0]
|
|
ldr r1, [r4, #0x8]
|
|
cmp r2, #0xc
|
|
bls _02063540
|
|
b _02063646
|
|
_02063540:
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #0x6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_0206354C: ; jump table (using 16-bit offset)
|
|
.short _02063566 - _0206354C - 2; case 0
|
|
.short _02063572 - _0206354C - 2; case 1
|
|
.short _0206357E - _0206354C - 2; case 2
|
|
.short _02063594 - _0206354C - 2; case 3
|
|
.short _020635AA - _0206354C - 2; case 4
|
|
.short _020635C0 - _0206354C - 2; case 5
|
|
.short _020635D6 - _0206354C - 2; case 6
|
|
.short _020635EC - _0206354C - 2; case 7
|
|
.short _02063602 - _0206354C - 2; case 8
|
|
.short _02063618 - _0206354C - 2; case 9
|
|
.short _0206362C - _0206354C - 2; case 10
|
|
.short _02063636 - _0206354C - 2; case 11
|
|
.short _0206363E - _0206354C - 2; case 12
|
|
_02063566:
|
|
ldrh r2, [r4, #0x4]
|
|
add r1, r5, #0x0
|
|
bl sub_020625EC
|
|
str r0, [r4, #0x0]
|
|
b _02063646
|
|
_02063572:
|
|
add r0, r1, #0x0
|
|
ldr r1, [r5, #0xc]
|
|
bl sub_02062720
|
|
str r0, [r4, #0x0]
|
|
b _02063646
|
|
_0206357E:
|
|
add r0, r1, #0x0
|
|
bl sub_02062760
|
|
str r0, [r4, #0x0]
|
|
mov r0, #0x4d
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r1, r0]
|
|
bl sub_0201FDEC
|
|
b _02063646
|
|
_02063594:
|
|
add r0, r1, #0x0
|
|
bl sub_02062770
|
|
str r0, [r4, #0x0]
|
|
mov r0, #0x4d
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r1, r0]
|
|
bl sub_0201FDEC
|
|
b _02063646
|
|
_020635AA:
|
|
add r0, r1, #0x0
|
|
bl sub_020627D0
|
|
str r0, [r4, #0x0]
|
|
mov r0, #0x4d
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r1, r0]
|
|
bl sub_0201FDEC
|
|
b _02063646
|
|
_020635C0:
|
|
add r0, r1, #0x0
|
|
bl sub_020627DC
|
|
str r0, [r4, #0x0]
|
|
mov r0, #0x4d
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r1, r0]
|
|
bl sub_0201FDEC
|
|
b _02063646
|
|
_020635D6:
|
|
add r0, r1, #0x0
|
|
bl sub_02062808
|
|
str r0, [r4, #0x0]
|
|
mov r0, #0x4d
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r1, r0]
|
|
bl sub_0201FDEC
|
|
b _02063646
|
|
_020635EC:
|
|
add r0, r1, #0x0
|
|
bl sub_020628E8
|
|
str r0, [r4, #0x0]
|
|
mov r0, #0x4d
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r1, r0]
|
|
bl sub_0201FDEC
|
|
b _02063646
|
|
_02063602:
|
|
add r0, r1, #0x0
|
|
bl sub_020629D8
|
|
str r0, [r4, #0x0]
|
|
mov r0, #0x4d
|
|
ldr r1, [r4, #0x8]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r1, r0]
|
|
bl sub_0201FDEC
|
|
b _02063646
|
|
_02063618:
|
|
ldr r0, _0206364C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x1
|
|
tst r0, r1
|
|
bne _02063626
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
_02063626:
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x0]
|
|
b _02063646
|
|
_0206362C:
|
|
add r0, r1, #0x0
|
|
bl sub_02062740
|
|
str r0, [r4, #0x0]
|
|
b _02063646
|
|
_02063636:
|
|
bl sub_02062678
|
|
str r0, [r4, #0x0]
|
|
b _02063646
|
|
_0206363E:
|
|
bl Heap_Free
|
|
mov r0, #0x1
|
|
pop {r3-r5, pc}
|
|
_02063646:
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0206364C: .word gSystem
|
|
|
|
thumb_func_start sub_02063650
|
|
sub_02063650: ; 0x02063650
|
|
push {r3-r5, lr}
|
|
add r5, r1, #0x0
|
|
bl TaskManager_GetFieldSystem
|
|
add r4, r0, #0x0
|
|
mov r0, #0xb
|
|
mov r1, #0xc
|
|
bl Heap_Alloc
|
|
add r2, r0, #0x0
|
|
mov r0, #0x0
|
|
str r0, [r2, #0x0]
|
|
strh r5, [r2, #0x4]
|
|
str r0, [r2, #0x8]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _02063678 ; =sub_02063524
|
|
bl TaskManager_Call
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02063678: .word sub_02063524
|