mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-21 17:54:29 -05:00
2595 lines
46 KiB
ArmAsm
2595 lines
46 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.extern gSystem
|
|
.extern UNK_020F96DC
|
|
|
|
.section .rodata
|
|
|
|
.global UNK_020F7E6C
|
|
UNK_020F7E6C: ; 0x020F7E6C
|
|
.byte 0x03, 0x19, 0x0D, 0x06, 0x04, 0x0D, 0x55, 0x03
|
|
|
|
.global UNK_020F7E74
|
|
UNK_020F7E74: ; 0x020F7E74
|
|
.byte 0x03, 0x01, 0x01, 0x0E, 0x08, 0x0D, 0x95, 0x02
|
|
|
|
.global UNK_020F7E7C
|
|
UNK_020F7E7C: ; 0x020F7E7C
|
|
.byte 0x03, 0x13, 0x01, 0x0C, 0x10, 0x0D, 0x95, 0x02
|
|
|
|
.global UNK_020F7E84
|
|
UNK_020F7E84: ; 0x020F7E84
|
|
.byte 0x03, 0x01, 0x01, 0x09, 0x02, 0x0D, 0x83, 0x02
|
|
|
|
.global UNK_020F7E8C
|
|
UNK_020F7E8C: ; 0x020F7E8C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x07, 0x00, 0x02, 0x0A, 0x01, 0x10, 0x2F, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020F7EAC
|
|
UNK_020F7EAC: ; 0x020F7EAC
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_020653EC
|
|
sub_020653EC: ; 0x020653EC
|
|
push {r4-r6, lr}
|
|
mov r2, #0x5
|
|
add r5, r0, #0x0
|
|
add r6, r1, #0x0
|
|
mov r0, #0x3
|
|
mov r1, #0x2b
|
|
lsl r2, r2, #0xc
|
|
bl Heap_Create
|
|
mov r1, #0x6e
|
|
mov r0, #0x2b
|
|
lsl r1, r1, #0x2
|
|
bl Heap_Alloc
|
|
mov r2, #0x6e
|
|
mov r1, #0x0
|
|
lsl r2, r2, #0x2
|
|
add r4, r0, #0x0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0x0
|
|
str r6, [r4, #0x4]
|
|
bl FieldSystem_GetSaveData
|
|
mov r1, #0x5b
|
|
lsl r1, r1, #0x2
|
|
str r5, [r4, r1]
|
|
mov r1, #0x2b
|
|
str r1, [r4, #0x0]
|
|
mov r1, #0x0
|
|
strb r1, [r4, #0x19]
|
|
mov r1, #0xff
|
|
add r6, r0, #0x0
|
|
strb r1, [r4, #0x1a]
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
bl Options_GetTextFrameDelay
|
|
strb r0, [r4, #0x16]
|
|
add r0, r6, #0x0
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
bl Options_GetFrame
|
|
strh r0, [r4, #0x14]
|
|
add r0, r4, #0x0
|
|
ldr r2, [r4, #0x0]
|
|
add r0, #0x1c
|
|
mov r1, #0x14
|
|
bl sub_02066010
|
|
ldr r2, [r4, #0x0]
|
|
add r0, r4, #0x0
|
|
add r1, r6, #0x0
|
|
bl sub_02066070
|
|
add r0, r4, #0x0
|
|
bl sub_02066270
|
|
ldr r0, _02065470 ; =sub_020654B0
|
|
add r1, r4, #0x0
|
|
mov r2, #0x0
|
|
bl SysTask_CreateOnMainQueue
|
|
str r0, [r4, #0x8]
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_02065470: .word sub_020654B0
|
|
|
|
thumb_func_start sub_02065474
|
|
sub_02065474: ; 0x02065474
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, [r4, #0x8]
|
|
bl SysTask_Destroy
|
|
ldr r0, [r4, #0x4]
|
|
mov r1, #0x1
|
|
str r1, [r0, #0x0]
|
|
add r0, r4, #0x0
|
|
bl sub_020662E4
|
|
add r0, r4, #0x0
|
|
add r0, #0x1c
|
|
mov r1, #0x14
|
|
bl sub_02066044
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
ldr r0, [r4, #0x0]
|
|
bl Heap_Destroy
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020654A4
|
|
sub_020654A4: ; 0x020654A4
|
|
ldr r3, _020654AC ; =sub_02065474
|
|
add r0, r1, #0x0
|
|
bx r3
|
|
nop
|
|
_020654AC: .word sub_02065474
|
|
|
|
thumb_func_start sub_020654B0
|
|
sub_020654B0: ; 0x020654B0
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
add r0, r4, #0x0
|
|
bl sub_02066334
|
|
add r0, r4, #0x0
|
|
bl sub_02065AF4
|
|
ldr r1, _020654CC ; =sub_020654D0
|
|
add r0, r5, #0x0
|
|
bl sub_0201B6C4
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_020654CC: .word sub_020654D0
|
|
|
|
thumb_func_start sub_020654D0
|
|
sub_020654D0: ; 0x020654D0
|
|
push {r3-r5, lr}
|
|
mov r0, #0x16
|
|
add r5, r1, #0x0
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
bl ListMenu_ProcessInput
|
|
add r4, r0, #0x0
|
|
mov r0, #0x69
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0x0
|
|
beq _020654EE
|
|
bl sub_0205EC18
|
|
_020654EE:
|
|
ldr r0, _02065544 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x2
|
|
tst r0, r1
|
|
beq _0206550A
|
|
ldr r1, _02065548 ; =sub_02065658
|
|
ldr r2, _0206554C ; =sub_020654A4
|
|
add r0, r5, #0x0
|
|
bl sub_02065FE4
|
|
ldr r0, _02065550 ; =0x000005DC
|
|
bl PlaySE
|
|
pop {r3-r5, pc}
|
|
_0206550A:
|
|
mov r0, #0x1
|
|
tst r0, r1
|
|
beq _02065542
|
|
ldr r0, _02065550 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r1, #0x1
|
|
mvn r1, r1
|
|
cmp r4, r1
|
|
beq _0206552A
|
|
add r0, r1, #0x1
|
|
cmp r4, r0
|
|
beq _0206552A
|
|
lsr r0, r1, #0x10
|
|
cmp r4, r0
|
|
bne _02065536
|
|
_0206552A:
|
|
ldr r1, _02065548 ; =sub_02065658
|
|
ldr r2, _0206554C ; =sub_020654A4
|
|
add r0, r5, #0x0
|
|
bl sub_02065FE4
|
|
pop {r3-r5, pc}
|
|
_02065536:
|
|
ldr r1, _02065548 ; =sub_02065658
|
|
ldr r2, _02065554 ; =sub_02065558
|
|
add r0, r5, #0x0
|
|
strb r4, [r5, #0x18]
|
|
bl sub_02065FE4
|
|
_02065542:
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02065544: .word gSystem
|
|
_02065548: .word sub_02065658
|
|
_0206554C: .word sub_020654A4
|
|
_02065550: .word 0x000005DC
|
|
_02065554: .word sub_02065558
|
|
|
|
thumb_func_start sub_02065558
|
|
sub_02065558: ; 0x02065558
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r0, #0x0
|
|
beq _0206556A
|
|
cmp r0, #0x1
|
|
beq _02065592
|
|
pop {r3-r5, pc}
|
|
_0206556A:
|
|
add r0, r4, #0x0
|
|
bl sub_02066334
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
add r2, r1, #0x0
|
|
bl sub_02065DD8
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
mov r1, #0x0
|
|
ldrb r2, [r4, #0x16]
|
|
add r0, r4, #0x0
|
|
add r3, r1, #0x0
|
|
bl sub_02066404
|
|
ldrh r0, [r4, #0x10]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x10]
|
|
pop {r3-r5, pc}
|
|
_02065592:
|
|
add r0, r4, #0x0
|
|
bl sub_020664F4
|
|
cmp r0, #0x0
|
|
beq _020655A8
|
|
ldr r1, _020655AC ; =sub_020655B0
|
|
add r0, r5, #0x0
|
|
bl sub_0201B6C4
|
|
mov r0, #0x0
|
|
strh r0, [r4, #0x10]
|
|
_020655A8:
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_020655AC: .word sub_020655B0
|
|
|
|
thumb_func_start sub_020655B0
|
|
sub_020655B0: ; 0x020655B0
|
|
push {r4-r6, lr}
|
|
add r6, r0, #0x0
|
|
mov r0, #0x16
|
|
add r4, r1, #0x0
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
bl ListMenu_ProcessInput
|
|
add r5, r0, #0x0
|
|
ldr r0, _02065638 ; =gSystem
|
|
mov r1, #0x2
|
|
ldr r0, [r0, #0x48]
|
|
tst r1, r0
|
|
beq _020655DE
|
|
ldr r1, _0206563C ; =sub_02065674
|
|
ldr r2, _02065640 ; =sub_020654B0
|
|
add r0, r4, #0x0
|
|
bl sub_02065FE4
|
|
ldr r0, _02065644 ; =0x000005DC
|
|
bl PlaySE
|
|
pop {r4-r6, pc}
|
|
_020655DE:
|
|
mov r1, #0x1
|
|
tst r0, r1
|
|
beq _02065634
|
|
ldr r0, _02065644 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r5, #0x2
|
|
cmp r0, #0x5
|
|
bhi _0206562C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_020655FC: ; jump table (using 16-bit offset)
|
|
.short _02065608 - _020655FC - 2; case 0
|
|
.short _02065608 - _020655FC - 2; case 1
|
|
.short _0206562C - _020655FC - 2; case 2
|
|
.short _02065614 - _020655FC - 2; case 3
|
|
.short _02065620 - _020655FC - 2; case 4
|
|
.short _02065608 - _020655FC - 2; case 5
|
|
_02065608:
|
|
ldr r1, _0206563C ; =sub_02065674
|
|
ldr r2, _02065640 ; =sub_020654B0
|
|
add r0, r4, #0x0
|
|
bl sub_02065FE4
|
|
pop {r4-r6, pc}
|
|
_02065614:
|
|
ldr r1, _02065648 ; =sub_02065710
|
|
add r0, r4, #0x0
|
|
mov r2, #0x0
|
|
bl sub_02065FE4
|
|
pop {r4-r6, pc}
|
|
_02065620:
|
|
ldr r1, _0206564C ; =sub_02065894
|
|
ldr r2, _02065650 ; =sub_02065938
|
|
add r0, r4, #0x0
|
|
bl sub_02065FE4
|
|
pop {r4-r6, pc}
|
|
_0206562C:
|
|
ldr r1, _02065654 ; =sub_02065690
|
|
add r0, r6, #0x0
|
|
bl sub_0201B6C4
|
|
_02065634:
|
|
pop {r4-r6, pc}
|
|
nop
|
|
_02065638: .word gSystem
|
|
_0206563C: .word sub_02065674
|
|
_02065640: .word sub_020654B0
|
|
_02065644: .word 0x000005DC
|
|
_02065648: .word sub_02065710
|
|
_0206564C: .word sub_02065894
|
|
_02065650: .word sub_02065938
|
|
_02065654: .word sub_02065690
|
|
|
|
thumb_func_start sub_02065658
|
|
sub_02065658: ; 0x02065658
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
add r0, r4, #0x0
|
|
bl sub_02065EF8
|
|
add r0, r4, #0x0
|
|
bl sub_020663D4
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r5, #0x0
|
|
bl sub_0201B6C4
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_02065674
|
|
sub_02065674: ; 0x02065674
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
add r0, r4, #0x0
|
|
bl sub_02065F8C
|
|
add r0, r4, #0x0
|
|
bl sub_020663D4
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r5, #0x0
|
|
bl sub_0201B6C4
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_02065690
|
|
sub_02065690: ; 0x02065690
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r0, #0x3
|
|
bhi _02065704
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_020656A8: ; jump table (using 16-bit offset)
|
|
.short _020656B0 - _020656A8 - 2; case 0
|
|
.short _020656C6 - _020656A8 - 2; case 1
|
|
.short _020656D2 - _020656A8 - 2; case 2
|
|
.short _020656DE - _020656A8 - 2; case 3
|
|
_020656B0:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_02066578
|
|
cmp r0, #0x0
|
|
beq _0206570A
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02066634
|
|
b _02065704
|
|
_020656C6:
|
|
add r0, r4, #0x0
|
|
bl sub_02066728
|
|
cmp r0, #0x0
|
|
bne _02065704
|
|
pop {r3-r5, pc}
|
|
_020656D2:
|
|
add r0, r4, #0x0
|
|
bl sub_020665C0
|
|
cmp r0, #0x0
|
|
bne _02065704
|
|
pop {r3-r5, pc}
|
|
_020656DE:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02066578
|
|
cmp r0, #0x0
|
|
beq _0206570A
|
|
add r0, r4, #0x0
|
|
bl sub_02066334
|
|
add r0, r4, #0x0
|
|
bl sub_02065AF4
|
|
mov r0, #0x0
|
|
strh r0, [r4, #0x10]
|
|
ldr r1, _0206570C ; =sub_020654D0
|
|
add r0, r5, #0x0
|
|
bl sub_0201B6C4
|
|
pop {r3-r5, pc}
|
|
_02065704:
|
|
ldrh r0, [r4, #0x10]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x10]
|
|
_0206570A:
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_0206570C: .word sub_020654D0
|
|
|
|
thumb_func_start sub_02065710
|
|
sub_02065710: ; 0x02065710
|
|
push {r3-r4, lr}
|
|
sub sp, #0x4
|
|
add r4, r1, #0x0
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r0, #0x5
|
|
bhi _020657DA
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02065728: ; jump table (using 16-bit offset)
|
|
.short _02065734 - _02065728 - 2; case 0
|
|
.short _02065744 - _02065728 - 2; case 1
|
|
.short _02065756 - _02065728 - 2; case 2
|
|
.short _02065780 - _02065728 - 2; case 3
|
|
.short _02065798 - _02065728 - 2; case 4
|
|
.short _020657AA - _02065728 - 2; case 5
|
|
_02065734:
|
|
mov r1, #0x1
|
|
str r1, [sp, #0x0]
|
|
ldrb r2, [r4, #0x16]
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl sub_02066404
|
|
b _020657DA
|
|
_02065744:
|
|
add r0, r4, #0x0
|
|
bl sub_020664F4
|
|
cmp r0, #0x0
|
|
beq _020657E0
|
|
add r0, r4, #0x0
|
|
bl sub_02066520
|
|
b _020657DA
|
|
_02065756:
|
|
add r0, r4, #0x0
|
|
bl sub_0206654C
|
|
cmp r0, #0x0
|
|
blt _020657E0
|
|
beq _02065778
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
ldrb r2, [r4, #0x16]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
bl sub_02066404
|
|
mov r0, #0x4
|
|
add sp, #0x4
|
|
strh r0, [r4, #0x10]
|
|
pop {r3-r4, pc}
|
|
_02065778:
|
|
mov r0, #0x3
|
|
add sp, #0x4
|
|
strh r0, [r4, #0x10]
|
|
pop {r3-r4, pc}
|
|
_02065780:
|
|
add r0, r4, #0x0
|
|
bl sub_020664D8
|
|
ldr r1, _020657E4 ; =sub_02065674
|
|
ldr r2, _020657E8 ; =sub_020654B0
|
|
add r0, r4, #0x0
|
|
bl sub_02065FE4
|
|
mov r0, #0x0
|
|
add sp, #0x4
|
|
strh r0, [r4, #0x10]
|
|
pop {r3-r4, pc}
|
|
_02065798:
|
|
add r0, r4, #0x0
|
|
bl sub_020664F4
|
|
cmp r0, #0x0
|
|
beq _020657E0
|
|
add r0, r4, #0x0
|
|
bl sub_02066520
|
|
b _020657DA
|
|
_020657AA:
|
|
add r0, r4, #0x0
|
|
bl sub_0206654C
|
|
cmp r0, #0x0
|
|
blt _020657E0
|
|
beq _020657C2
|
|
ldr r1, _020657EC ; =sub_020659B8
|
|
add r0, r4, #0x0
|
|
mov r2, #0x0
|
|
bl sub_02065FE4
|
|
b _020657CC
|
|
_020657C2:
|
|
ldr r1, _020657F0 ; =sub_020657F4
|
|
ldr r2, _020657E4 ; =sub_02065674
|
|
add r0, r4, #0x0
|
|
bl sub_02065FE4
|
|
_020657CC:
|
|
add r0, r4, #0x0
|
|
bl sub_020664D8
|
|
mov r0, #0x0
|
|
add sp, #0x4
|
|
strh r0, [r4, #0x10]
|
|
pop {r3-r4, pc}
|
|
_020657DA:
|
|
ldrh r0, [r4, #0x10]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x10]
|
|
_020657E0:
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
.balign 4
|
|
_020657E4: .word sub_02065674
|
|
_020657E8: .word sub_020654B0
|
|
_020657EC: .word sub_020659B8
|
|
_020657F0: .word sub_020657F4
|
|
|
|
thumb_func_start sub_020657F4
|
|
sub_020657F4: ; 0x020657F4
|
|
push {r3-r4, lr}
|
|
sub sp, #0x4
|
|
add r4, r1, #0x0
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r0, #0x0
|
|
beq _0206580A
|
|
cmp r0, #0x1
|
|
beq _0206584E
|
|
cmp r0, #0x2
|
|
beq _0206585C
|
|
b _0206587E
|
|
_0206580A:
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #0x0
|
|
bne _02065820
|
|
add r0, r4, #0x0
|
|
bl sub_02066334
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0x1
|
|
bl sub_02065DD8
|
|
_02065820:
|
|
add r0, r4, #0x0
|
|
bl sub_020661A0
|
|
cmp r0, #0x0
|
|
beq _0206583C
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
ldrb r2, [r4, #0x16]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x3
|
|
mov r3, #0x0
|
|
bl sub_02066404
|
|
b _0206587E
|
|
_0206583C:
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
ldrb r2, [r4, #0x16]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x4
|
|
mov r3, #0x0
|
|
bl sub_02066404
|
|
b _0206587E
|
|
_0206584E:
|
|
add r0, r4, #0x0
|
|
bl sub_020664F4
|
|
cmp r0, #0x0
|
|
bne _0206587E
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
_0206585C:
|
|
ldr r0, _02065888 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _02065884
|
|
add r0, r4, #0x0
|
|
bl sub_020664D8
|
|
ldr r1, _0206588C ; =sub_02065674
|
|
ldr r2, _02065890 ; =sub_020654B0
|
|
add r0, r4, #0x0
|
|
bl sub_02065FE4
|
|
mov r0, #0x0
|
|
add sp, #0x4
|
|
strh r0, [r4, #0x10]
|
|
pop {r3-r4, pc}
|
|
_0206587E:
|
|
ldrh r0, [r4, #0x10]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x10]
|
|
_02065884:
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
.balign 4
|
|
_02065888: .word gSystem
|
|
_0206588C: .word sub_02065674
|
|
_02065890: .word sub_020654B0
|
|
|
|
thumb_func_start sub_02065894
|
|
sub_02065894: ; 0x02065894
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r0, #0x3
|
|
bhi _0206592C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_020658AA: ; jump table (using 16-bit offset)
|
|
.short _020658B2 - _020658AA - 2; case 0
|
|
.short _020658C8 - _020658AA - 2; case 1
|
|
.short _020658D6 - _020658AA - 2; case 2
|
|
.short _020658E2 - _020658AA - 2; case 3
|
|
_020658B2:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_02066578
|
|
cmp r0, #0x0
|
|
beq _02065932
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02066634
|
|
b _0206592C
|
|
_020658C8:
|
|
add r0, r4, #0x0
|
|
mov r1, #0xe
|
|
bl sub_02066664
|
|
cmp r0, #0x0
|
|
bne _0206592C
|
|
pop {r3-r5, pc}
|
|
_020658D6:
|
|
add r0, r4, #0x0
|
|
bl sub_020665C0
|
|
cmp r0, #0x0
|
|
bne _0206592C
|
|
pop {r3-r5, pc}
|
|
_020658E2:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02066578
|
|
cmp r0, #0x0
|
|
beq _02065932
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r1, r0, #0x0
|
|
add r1, #0x22
|
|
ldrb r5, [r1, #0x0]
|
|
bl Heap_Free
|
|
cmp r5, #0x7
|
|
bne _02065912
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r4, #0x0
|
|
mov r2, #0x0
|
|
bl sub_02065FE4
|
|
mov r0, #0x0
|
|
strh r0, [r4, #0x10]
|
|
pop {r3-r5, pc}
|
|
_02065912:
|
|
add r0, r4, #0x0
|
|
add r1, r5, #0x0
|
|
mov r2, #0x0
|
|
bl sub_020661F8
|
|
ldr r1, _02065934 ; =sub_020654B0
|
|
add r0, r4, #0x0
|
|
mov r2, #0x0
|
|
bl sub_02065FE4
|
|
mov r0, #0x0
|
|
strh r0, [r4, #0x10]
|
|
pop {r3-r5, pc}
|
|
_0206592C:
|
|
ldrh r0, [r4, #0x10]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x10]
|
|
_02065932:
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02065934: .word sub_020654B0
|
|
|
|
thumb_func_start sub_02065938
|
|
sub_02065938: ; 0x02065938
|
|
push {r3-r4, lr}
|
|
sub sp, #0x4
|
|
add r4, r1, #0x0
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r0, #0x0
|
|
beq _0206594E
|
|
cmp r0, #0x1
|
|
beq _02065970
|
|
cmp r0, #0x2
|
|
beq _0206597E
|
|
b _020659A0
|
|
_0206594E:
|
|
add r0, r4, #0x0
|
|
bl sub_02066334
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
mov r2, #0x2
|
|
bl sub_02065DD8
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
ldrb r2, [r4, #0x16]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x5
|
|
mov r3, #0x0
|
|
bl sub_02066404
|
|
b _020659A0
|
|
_02065970:
|
|
add r0, r4, #0x0
|
|
bl sub_020664F4
|
|
cmp r0, #0x0
|
|
bne _020659A0
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
_0206597E:
|
|
ldr r0, _020659AC ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _020659A6
|
|
add r0, r4, #0x0
|
|
bl sub_020664D8
|
|
ldr r1, _020659B0 ; =sub_02065674
|
|
ldr r2, _020659B4 ; =sub_020654B0
|
|
add r0, r4, #0x0
|
|
bl sub_02065FE4
|
|
mov r0, #0x0
|
|
add sp, #0x4
|
|
strh r0, [r4, #0x10]
|
|
pop {r3-r4, pc}
|
|
_020659A0:
|
|
ldrh r0, [r4, #0x10]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x10]
|
|
_020659A6:
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
nop
|
|
_020659AC: .word gSystem
|
|
_020659B0: .word sub_02065674
|
|
_020659B4: .word sub_020654B0
|
|
|
|
thumb_func_start sub_020659B8
|
|
sub_020659B8: ; 0x020659B8
|
|
push {r4-r6, lr}
|
|
add r4, r1, #0x0
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r0, #0x5
|
|
bls _020659C4
|
|
b _02065AE0
|
|
_020659C4:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_020659D0: ; jump table (using 16-bit offset)
|
|
.short _020659DC - _020659D0 - 2; case 0
|
|
.short _02065A24 - _020659D0 - 2; case 1
|
|
.short _02065A68 - _020659D0 - 2; case 2
|
|
.short _02065A86 - _020659D0 - 2; case 3
|
|
.short _02065AB8 - _020659D0 - 2; case 4
|
|
.short _02065AC4 - _020659D0 - 2; case 5
|
|
_020659DC:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_02066578
|
|
cmp r0, #0x0
|
|
beq _02065AE6
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02066634
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #0x4
|
|
ldrb r2, [r4, #0x18]
|
|
mov r1, #0xc
|
|
ldr r0, [r4, r0]
|
|
mul r1, r2
|
|
add r1, r4, r1
|
|
ldrh r1, [r1, #0x22]
|
|
ldr r2, [r4, #0x0]
|
|
bl Bag_GetQuantity
|
|
cmp r0, #0x0
|
|
ldr r1, _02065AE8 ; =0x0000013B
|
|
beq _02065A1A
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0xc0
|
|
bic r2, r0
|
|
mov r0, #0x40
|
|
orr r0, r2
|
|
strb r0, [r4, r1]
|
|
b _02065AE0
|
|
_02065A1A:
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0xc0
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
b _02065AE0
|
|
_02065A24:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x9
|
|
bl sub_02066664
|
|
cmp r0, #0x0
|
|
beq _02065AE6
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r1, r0, #0x0
|
|
add r1, #0x22
|
|
ldrb r5, [r1, #0x0]
|
|
add r1, r0, #0x0
|
|
add r1, #0x23
|
|
ldrb r6, [r1, #0x0]
|
|
bl Heap_Free
|
|
cmp r6, #0x6
|
|
bne _02065A4E
|
|
cmp r5, #0x7
|
|
bne _02065A58
|
|
_02065A4E:
|
|
ldr r0, _02065AEC ; =sub_020657F4
|
|
str r0, [r4, #0xc]
|
|
mov r0, #0x4
|
|
strh r0, [r4, #0x10]
|
|
pop {r4-r6, pc}
|
|
_02065A58:
|
|
strb r5, [r4, #0x17]
|
|
ldrb r1, [r4, #0x18]
|
|
mov r0, #0xc
|
|
mov r2, #0x0
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
strb r2, [r0, #0x1d]
|
|
b _02065AE0
|
|
_02065A68:
|
|
add r0, r4, #0x0
|
|
bl sub_02066728
|
|
cmp r0, #0x0
|
|
beq _02065AE6
|
|
cmp r0, #0x1
|
|
bne _02065A80
|
|
ldr r0, _02065AEC ; =sub_020657F4
|
|
str r0, [r4, #0xc]
|
|
mov r0, #0x4
|
|
strh r0, [r4, #0x10]
|
|
pop {r4-r6, pc}
|
|
_02065A80:
|
|
ldr r0, _02065AF0 ; =sub_020654B0
|
|
str r0, [r4, #0xc]
|
|
b _02065AE0
|
|
_02065A86:
|
|
add r0, r4, #0x0
|
|
mov r1, #0xb
|
|
bl sub_02066664
|
|
cmp r0, #0x0
|
|
beq _02065AE6
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl Heap_Free
|
|
ldr r2, _02065AE8 ; =0x0000013B
|
|
ldrb r1, [r4, #0x17]
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0x0
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x1e
|
|
bl sub_020661F8
|
|
ldr r1, _02065AE8 ; =0x0000013B
|
|
mov r0, #0xc0
|
|
ldrb r2, [r4, r1]
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
b _02065AE0
|
|
_02065AB8:
|
|
add r0, r4, #0x0
|
|
bl sub_020665C0
|
|
cmp r0, #0x0
|
|
bne _02065AE0
|
|
pop {r4-r6, pc}
|
|
_02065AC4:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02066578
|
|
cmp r0, #0x0
|
|
beq _02065AE6
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r4, #0x0
|
|
mov r2, #0x0
|
|
bl sub_02065FE4
|
|
mov r0, #0x0
|
|
strh r0, [r4, #0x10]
|
|
pop {r4-r6, pc}
|
|
_02065AE0:
|
|
ldrh r0, [r4, #0x10]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x10]
|
|
_02065AE6:
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_02065AE8: .word 0x0000013B
|
|
_02065AEC: .word sub_020657F4
|
|
_02065AF0: .word sub_020654B0
|
|
|
|
thumb_func_start sub_02065AF4
|
|
sub_02065AF4: ; 0x02065AF4
|
|
push {r3-r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
ldr r0, [r5, #0x0]
|
|
mov r6, #0x0
|
|
bl sub_0205EB38
|
|
mov r1, #0x69
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0xc8
|
|
mov r2, #0xa
|
|
mov r3, #0x8a
|
|
bl sub_0205EC48
|
|
mov r0, #0x69
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0x0
|
|
mov r2, #0x1
|
|
bl sub_0205EC6C
|
|
mov r0, #0x69
|
|
lsl r0, r0, #0x2
|
|
mov r1, #0x1
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0x0
|
|
bl sub_0205EC6C
|
|
mov r1, #0x17
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r2, _02065CD8 ; =UNK_020F7E7C
|
|
add r1, r5, r1
|
|
bl AddWindow
|
|
mov r1, #0x17
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, #0x24
|
|
ldr r2, _02065CDC ; =UNK_020F7E84
|
|
add r1, r5, r1
|
|
bl AddWindow
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x65
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
ldrb r0, [r5, #0x1b]
|
|
ldr r1, [r5, #0x0]
|
|
add r0, r0, #0x1
|
|
bl ListMenuItems_New
|
|
mov r1, #0x59
|
|
lsl r1, r1, #0x2
|
|
add r7, r5, #0x0
|
|
str r0, [r5, r1]
|
|
add r4, r6, #0x0
|
|
add r7, #0x1c
|
|
_02065B7E:
|
|
mov r0, #0xc
|
|
mul r0, r4
|
|
add r2, r7, r0
|
|
ldrb r0, [r2, #0x1]
|
|
cmp r0, #0x0
|
|
beq _02065B9E
|
|
mov r0, #0x59
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r2, #0x8]
|
|
ldrb r2, [r2, #0x0]
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_AddItem
|
|
add r0, r6, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
_02065B9E:
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #0x14
|
|
blo _02065B7E
|
|
mov r1, #0x59
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x4c
|
|
ldr r1, [r5, r1]
|
|
ldr r2, _02065CE0 ; =0x0000FFFF
|
|
bl ListMenuItems_AddItem
|
|
add r0, r6, #0x1
|
|
lsl r0, r0, #0x18
|
|
mov r1, #0x5
|
|
lsr r6, r0, #0x18
|
|
lsl r1, r1, #0x6
|
|
ldr r0, _02065CE4 ; =UNK_020F7E8C
|
|
add r1, r5, r1
|
|
mov r2, #0x20
|
|
bl MI_CpuCopy8
|
|
mov r1, #0x5d
|
|
lsl r1, r1, #0x2
|
|
add r0, r1, #0x0
|
|
add r2, r5, r1
|
|
sub r0, #0x28
|
|
str r2, [r5, r0]
|
|
add r0, r1, #0x0
|
|
sub r0, #0x10
|
|
ldr r2, [r5, r0]
|
|
add r0, r1, #0x0
|
|
sub r0, #0x34
|
|
str r2, [r5, r0]
|
|
add r0, r1, #0x0
|
|
sub r0, #0x18
|
|
str r5, [r5, r0]
|
|
add r0, r1, #0x0
|
|
sub r0, #0x24
|
|
strh r6, [r5, r0]
|
|
add r0, r1, #0x0
|
|
sub r0, #0x1d
|
|
ldrb r2, [r5, r0]
|
|
mov r0, #0xf
|
|
bic r2, r0
|
|
mov r0, #0x6
|
|
orr r2, r0
|
|
add r0, r1, #0x0
|
|
sub r0, #0x1d
|
|
strb r2, [r5, r0]
|
|
add r0, r1, #0x0
|
|
ldr r2, _02065CE8 ; =sub_02065D4C
|
|
sub r0, #0x30
|
|
str r2, [r5, r0]
|
|
add r0, r1, #0x0
|
|
ldr r2, _02065CEC ; =sub_02065CFC
|
|
sub r0, #0x2c
|
|
str r2, [r5, r0]
|
|
add r0, r1, #0x0
|
|
sub r0, #0x39
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1e
|
|
beq _02065C64
|
|
add r0, r1, #0x0
|
|
sub r0, #0x38
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0x0
|
|
bne _02065C48
|
|
add r0, r1, #0x0
|
|
sub r0, #0x36
|
|
ldrh r2, [r5, r0]
|
|
cmp r2, #0x0
|
|
beq _02065C5A
|
|
sub r0, r6, #0x1
|
|
cmp r2, r0
|
|
blt _02065C5A
|
|
add r0, r1, #0x0
|
|
sub r0, #0x36
|
|
ldrh r0, [r5, r0]
|
|
sub r1, #0x36
|
|
sub r0, r0, #0x1
|
|
strh r0, [r5, r1]
|
|
b _02065C5A
|
|
_02065C48:
|
|
add r0, r0, #0x7
|
|
cmp r0, r6
|
|
blt _02065C5A
|
|
add r0, r1, #0x0
|
|
sub r0, #0x38
|
|
ldrh r0, [r5, r0]
|
|
sub r1, #0x38
|
|
sub r0, r0, #0x1
|
|
strh r0, [r5, r1]
|
|
_02065C5A:
|
|
ldr r1, _02065CF0 ; =0x0000013B
|
|
mov r0, #0x30
|
|
ldrb r2, [r5, r1]
|
|
bic r2, r0
|
|
strb r2, [r5, r1]
|
|
_02065C64:
|
|
mov r2, #0x5
|
|
lsl r2, r2, #0x6
|
|
sub r1, r2, #0x4
|
|
add r0, r5, r2
|
|
sub r2, r2, #0x2
|
|
ldr r3, [r5, #0x0]
|
|
ldrh r1, [r5, r1]
|
|
lsl r3, r3, #0x18
|
|
ldrh r2, [r5, r2]
|
|
lsr r3, r3, #0x18
|
|
bl ListMenuInit
|
|
mov r1, #0x16
|
|
lsl r1, r1, #0x4
|
|
str r0, [r5, r1]
|
|
add r1, #0x14
|
|
add r0, r5, r1
|
|
ldr r2, _02065CF4 ; =0x000003D9
|
|
mov r1, #0x0
|
|
mov r3, #0xb
|
|
bl DrawFrameAndWindow1
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r2, #0x65
|
|
ldr r0, _02065CF8 ; =0x0001020F
|
|
str r1, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
lsl r2, r2, #0x2
|
|
add r0, r5, r2
|
|
str r1, [sp, #0xc]
|
|
sub r2, #0x78
|
|
ldr r2, [r5, r2]
|
|
mov r3, #0x2
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0x65
|
|
lsl r0, r0, #0x2
|
|
ldr r2, _02065CF4 ; =0x000003D9
|
|
add r0, r5, r0
|
|
mov r1, #0x0
|
|
mov r3, #0xb
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r1, _02065CF0 ; =0x0000013B
|
|
mov r0, #0xf
|
|
ldrb r2, [r5, r1]
|
|
bic r2, r0
|
|
strb r2, [r5, r1]
|
|
add sp, #0x10
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_02065CD8: .word UNK_020F7E7C
|
|
_02065CDC: .word UNK_020F7E84
|
|
_02065CE0: .word 0x0000FFFF
|
|
_02065CE4: .word UNK_020F7E8C
|
|
_02065CE8: .word sub_02065D4C
|
|
_02065CEC: .word sub_02065CFC
|
|
_02065CF0: .word 0x0000013B
|
|
_02065CF4: .word 0x000003D9
|
|
_02065CF8: .word 0x0001020F
|
|
|
|
thumb_func_start sub_02065CFC
|
|
sub_02065CFC: ; 0x02065CFC
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
mov r1, #0x13
|
|
add r5, r0, #0x0
|
|
bl ListMenuGetTemplateField
|
|
ldr r1, _02065D48 ; =0x0000FFFF
|
|
cmp r4, r1
|
|
bne _02065D1C
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1
|
|
mov r2, #0xf
|
|
mov r3, #0x2
|
|
bl ListMenuOverrideSetColors
|
|
pop {r3-r5, pc}
|
|
_02065D1C:
|
|
mov r1, #0xc
|
|
mul r1, r4
|
|
add r0, r0, r1
|
|
add r0, #0x20
|
|
ldrb r0, [r0, #0x0]
|
|
cmp r0, #0x0
|
|
beq _02065D38
|
|
add r0, r5, #0x0
|
|
mov r1, #0x3
|
|
mov r2, #0xf
|
|
mov r3, #0x4
|
|
bl ListMenuOverrideSetColors
|
|
pop {r3-r5, pc}
|
|
_02065D38:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x7
|
|
mov r2, #0xf
|
|
mov r3, #0x8
|
|
bl ListMenuOverrideSetColors
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02065D48: .word 0x0000FFFF
|
|
|
|
thumb_func_start sub_02065D4C
|
|
sub_02065D4C: ; 0x02065D4C
|
|
push {r3-r6, lr}
|
|
sub sp, #0x4
|
|
mov r1, #0x13
|
|
add r4, r0, #0x0
|
|
add r6, r2, #0x0
|
|
bl ListMenuGetTemplateField
|
|
add r1, sp, #0x0
|
|
add r5, r0, #0x0
|
|
add r0, r4, #0x0
|
|
add r1, #0x2
|
|
add r2, sp, #0x0
|
|
bl ListMenuGetScrollAndRow
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
bl ListMenuGetTemplateField
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r6, #0x0
|
|
bne _02065D7E
|
|
ldr r0, _02065DD4 ; =0x000005DC
|
|
bl PlaySE
|
|
_02065D7E:
|
|
add r0, sp, #0x0
|
|
ldrh r0, [r0, #0x2]
|
|
cmp r0, #0x0
|
|
bne _02065D96
|
|
mov r0, #0x69
|
|
lsl r0, r0, #0x2
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0x0
|
|
bl sub_0205EC6C
|
|
b _02065DA4
|
|
_02065D96:
|
|
mov r0, #0x69
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
mov r2, #0x1
|
|
bl sub_0205EC6C
|
|
_02065DA4:
|
|
add r0, sp, #0x0
|
|
ldrh r1, [r0, #0x2]
|
|
sub r0, r4, #0x7
|
|
cmp r1, r0
|
|
bge _02065DC0
|
|
mov r0, #0x69
|
|
lsl r0, r0, #0x2
|
|
mov r1, #0x1
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0x0
|
|
bl sub_0205EC6C
|
|
add sp, #0x4
|
|
pop {r3-r6, pc}
|
|
_02065DC0:
|
|
mov r0, #0x69
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x0
|
|
bl sub_0205EC6C
|
|
add sp, #0x4
|
|
pop {r3-r6, pc}
|
|
nop
|
|
_02065DD4: .word 0x000005DC
|
|
|
|
thumb_func_start sub_02065DD8
|
|
sub_02065DD8: ; 0x02065DD8
|
|
push {r3-r7, lr}
|
|
sub sp, #0x8
|
|
str r1, [sp, #0x0]
|
|
add r5, r0, #0x0
|
|
str r2, [sp, #0x4]
|
|
ldr r1, [r5, #0x0]
|
|
mov r0, #0x4
|
|
bl ListMenuItems_New
|
|
mov r1, #0x59
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0x0
|
|
add r0, #0xc
|
|
add r1, #0x10
|
|
ldr r0, [r5, r0]
|
|
ldr r2, _02065EC8 ; =UNK_020F7E74
|
|
add r1, r5, r1
|
|
bl AddWindow
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0xff
|
|
bl FillWindowPixelBuffer
|
|
mov r7, #0x43
|
|
ldr r6, _02065ECC ; =UNK_020F7EAC
|
|
mov r4, #0x0
|
|
lsl r7, r7, #0x2
|
|
_02065E14:
|
|
lsl r2, r4, #0x3
|
|
add r3, r6, r2
|
|
mov r0, #0x59
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r7]
|
|
ldr r2, [r6, r2]
|
|
ldr r3, [r3, #0x4]
|
|
bl ListMenuItems_AppendFromMsgData
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #0x4
|
|
blo _02065E14
|
|
mov r1, #0x5
|
|
lsl r1, r1, #0x6
|
|
ldr r0, _02065ED0 ; =UNK_020F7E8C
|
|
add r1, r5, r1
|
|
mov r2, #0x20
|
|
bl MI_CpuCopy8
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
add r1, r0, #0x0
|
|
add r2, r5, r0
|
|
sub r1, #0x28
|
|
str r2, [r5, r1]
|
|
add r1, r0, #0x0
|
|
sub r1, #0x10
|
|
ldr r2, [r5, r1]
|
|
add r1, r0, #0x0
|
|
sub r1, #0x34
|
|
str r2, [r5, r1]
|
|
add r1, r0, #0x0
|
|
sub r1, #0x18
|
|
str r5, [r5, r1]
|
|
add r1, r0, #0x0
|
|
mov r2, #0x4
|
|
sub r1, #0x24
|
|
strh r2, [r5, r1]
|
|
add r1, r0, #0x0
|
|
sub r1, #0x22
|
|
strh r2, [r5, r1]
|
|
add r1, r0, #0x0
|
|
sub r1, #0x1a
|
|
ldrh r2, [r5, r1]
|
|
ldr r1, _02065ED4 ; =0xFFFFFE7F
|
|
and r2, r1
|
|
add r1, r0, #0x0
|
|
sub r1, #0x1a
|
|
strh r2, [r5, r1]
|
|
add r1, r0, #0x0
|
|
sub r0, #0x34
|
|
ldr r2, _02065ED8 ; =sub_02065EE4
|
|
sub r1, #0x30
|
|
str r2, [r5, r1]
|
|
ldr r3, [r5, #0x0]
|
|
ldr r1, [sp, #0x0]
|
|
lsl r3, r3, #0x18
|
|
ldr r2, [sp, #0x4]
|
|
add r0, r5, r0
|
|
lsr r3, r3, #0x18
|
|
bl ListMenuInit
|
|
mov r1, #0x16
|
|
lsl r1, r1, #0x4
|
|
str r0, [r5, r1]
|
|
add r1, #0x14
|
|
add r0, r5, r1
|
|
ldr r2, _02065EDC ; =0x000003D9
|
|
mov r1, #0x0
|
|
mov r3, #0xb
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r1, _02065EE0 ; =0x0000013B
|
|
mov r0, #0xf
|
|
ldrb r2, [r5, r1]
|
|
bic r2, r0
|
|
mov r0, #0x1
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
add sp, #0x8
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_02065EC8: .word UNK_020F7E74
|
|
_02065ECC: .word UNK_020F7EAC
|
|
_02065ED0: .word UNK_020F7E8C
|
|
_02065ED4: .word 0xFFFFFE7F
|
|
_02065ED8: .word sub_02065EE4
|
|
_02065EDC: .word 0x000003D9
|
|
_02065EE0: .word 0x0000013B
|
|
|
|
thumb_func_start sub_02065EE4
|
|
sub_02065EE4: ; 0x02065EE4
|
|
push {r3, lr}
|
|
cmp r2, #0x0
|
|
bne _02065EF0
|
|
ldr r0, _02065EF4 ; =0x000005DC
|
|
bl PlaySE
|
|
_02065EF0:
|
|
pop {r3, pc}
|
|
nop
|
|
_02065EF4: .word 0x000005DC
|
|
|
|
thumb_func_start sub_02065EF8
|
|
sub_02065EF8: ; 0x02065EF8
|
|
push {r3-r4, lr}
|
|
sub sp, #0x4
|
|
add r4, r0, #0x0
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
add r1, sp, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0x2
|
|
add r2, sp, #0x0
|
|
bl DestroyListMenu
|
|
mov r0, #0x59
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ListMenuItems_Delete
|
|
mov r0, #0x65
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
mov r0, #0x65
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x0
|
|
bl ClearFrameAndWindow1
|
|
mov r0, #0x65
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x0
|
|
bl ClearFrameAndWindow1
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
add r0, sp, #0x0
|
|
mov r1, #0x4f
|
|
ldrh r2, [r0, #0x2]
|
|
lsl r1, r1, #0x2
|
|
strh r2, [r4, r1]
|
|
ldrh r2, [r0, #0x0]
|
|
add r0, r1, #0x2
|
|
add r1, #0x68
|
|
strh r2, [r4, r0]
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #0x0
|
|
beq _02065F7C
|
|
bl sub_0205EBEC
|
|
mov r0, #0x69
|
|
mov r1, #0x0
|
|
lsl r0, r0, #0x2
|
|
str r1, [r4, r0]
|
|
_02065F7C:
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
|
|
thumb_func_start sub_02065F8C
|
|
sub_02065F8C: ; 0x02065F8C
|
|
push {r3-r4, lr}
|
|
sub sp, #0x4
|
|
add r4, r0, #0x0
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x0
|
|
bl ClearFrameAndWindow1
|
|
mov r0, #0x16
|
|
lsl r0, r0, #0x4
|
|
add r1, sp, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0x2
|
|
add r2, sp, #0x0
|
|
bl DestroyListMenu
|
|
mov r0, #0x59
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ListMenuItems_Delete
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
add r0, r4, #0x0
|
|
bl sub_020664D8
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02065FE4
|
|
sub_02065FE4: ; 0x02065FE4
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, [r5, #0x8]
|
|
add r4, r2, #0x0
|
|
bl sub_0201B6C4
|
|
mov r0, #0x0
|
|
strh r0, [r5, #0x10]
|
|
str r4, [r5, #0xc]
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_02065FF8
|
|
sub_02065FF8: ; 0x02065FF8
|
|
push {r3, lr}
|
|
strb r1, [r0, #0x0]
|
|
mov r1, #0x0
|
|
strb r1, [r0, #0x1]
|
|
strb r1, [r0, #0x2]
|
|
strb r1, [r0, #0x3]
|
|
ldr r0, [r0, #0x8]
|
|
cmp r0, #0x0
|
|
beq _0206600E
|
|
bl String_SetEmpty
|
|
_0206600E:
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_02066010
|
|
sub_02066010: ; 0x02066010
|
|
push {r3-r7, lr}
|
|
add r6, r1, #0x0
|
|
add r5, r0, #0x0
|
|
add r7, r2, #0x0
|
|
mov r4, #0x0
|
|
cmp r6, #0x0
|
|
bls _02066040
|
|
_0206601E:
|
|
mov r0, #0x8
|
|
add r1, r7, #0x0
|
|
bl String_New
|
|
mov r1, #0xc
|
|
mul r1, r4
|
|
add r1, r5, r1
|
|
str r0, [r1, #0x8]
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl sub_02065FF8
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, r6
|
|
blo _0206601E
|
|
_02066040:
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02066044
|
|
sub_02066044: ; 0x02066044
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
add r6, r1, #0x0
|
|
ldr r4, _0206606C ; =0x00000000
|
|
beq _0206606A
|
|
mov r7, #0xc
|
|
_02066050:
|
|
add r0, r4, #0x0
|
|
mul r0, r7
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #0x8]
|
|
cmp r0, #0x0
|
|
beq _02066060
|
|
bl String_Delete
|
|
_02066060:
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, r6
|
|
blo _02066050
|
|
_0206606A:
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_0206606C: .word 0x00000000
|
|
|
|
thumb_func_start sub_02066070
|
|
sub_02066070: ; 0x02066070
|
|
push {r4-r7, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0x0
|
|
add r6, r0, #0x0
|
|
add r0, r4, #0x0
|
|
add r5, r2, #0x0
|
|
bl Save_Mailbox_Get
|
|
mov r1, #0x6b
|
|
lsl r1, r1, #0x2
|
|
str r0, [sp, #0x4]
|
|
str r0, [r6, r1]
|
|
add r0, r4, #0x0
|
|
bl Save_Bag_Get
|
|
mov r1, #0x1b
|
|
lsl r1, r1, #0x4
|
|
str r0, [r6, r1]
|
|
add r0, r5, #0x0
|
|
bl Mail_New
|
|
add r7, r0, #0x0
|
|
add r0, r6, #0x0
|
|
str r0, [sp, #0x10]
|
|
add r0, #0x1b
|
|
str r0, [sp, #0x10]
|
|
add r0, r6, #0x0
|
|
str r0, [sp, #0x8]
|
|
add r0, #0x1c
|
|
mov r4, #0x0
|
|
str r0, [sp, #0x8]
|
|
_020660AE:
|
|
ldr r0, [sp, #0x4]
|
|
mov r1, #0x0
|
|
add r2, r4, #0x0
|
|
add r3, r7, #0x0
|
|
bl Mailbox_FetchMailIToBuffer
|
|
mov r0, #0xc
|
|
mul r0, r4
|
|
ldr r1, [sp, #0x8]
|
|
str r0, [sp, #0xc]
|
|
add r5, r1, r0
|
|
ldrb r1, [r6, #0x19]
|
|
mov r0, #0xc
|
|
add r2, r1, #0x0
|
|
mul r2, r0
|
|
ldr r0, [sp, #0x8]
|
|
add r1, r4, #0x0
|
|
add r0, r0, r2
|
|
str r0, [sp, #0x0]
|
|
add r0, r5, #0x0
|
|
bl sub_02065FF8
|
|
ldr r1, [sp, #0x8]
|
|
ldr r0, [sp, #0xc]
|
|
strb r4, [r1, r0]
|
|
add r0, r7, #0x0
|
|
bl Mail_TypeIsValid
|
|
cmp r0, #0x0
|
|
beq _02066134
|
|
mov r0, #0x1
|
|
strb r0, [r5, #0x1]
|
|
add r0, r7, #0x0
|
|
bl Mail_GetAuthorGender
|
|
strb r0, [r5, #0x4]
|
|
add r0, r7, #0x0
|
|
bl Mail_GetType
|
|
strb r0, [r5, #0x5]
|
|
ldrb r0, [r5, #0x5]
|
|
bl MailToItemId
|
|
strh r0, [r5, #0x6]
|
|
add r0, r7, #0x0
|
|
bl Mail_GetAuthorNamePtr
|
|
add r1, r0, #0x0
|
|
ldr r0, [r5, #0x8]
|
|
bl CopyU16ArrayToString
|
|
ldrb r0, [r6, #0x19]
|
|
strb r0, [r5, #0x2]
|
|
ldrb r1, [r5, #0x0]
|
|
ldr r0, [sp, #0x0]
|
|
strb r1, [r0, #0x3]
|
|
ldrb r0, [r5, #0x0]
|
|
strb r0, [r6, #0x19]
|
|
ldr r0, [sp, #0x10]
|
|
ldrb r0, [r0, #0x0]
|
|
add r1, r0, #0x1
|
|
ldr r0, [sp, #0x10]
|
|
strb r1, [r0, #0x0]
|
|
ldrb r0, [r6, #0x1a]
|
|
cmp r0, #0xff
|
|
bne _02066134
|
|
strb r4, [r6, #0x1a]
|
|
_02066134:
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #0x14
|
|
blo _020660AE
|
|
ldrb r1, [r6, #0x19]
|
|
ldrb r3, [r6, #0x1a]
|
|
mov r0, #0xc
|
|
add r2, r1, #0x0
|
|
mul r2, r0
|
|
add r1, r6, r2
|
|
strb r3, [r1, #0x1f]
|
|
ldrb r1, [r6, #0x1a]
|
|
ldrb r2, [r6, #0x19]
|
|
mul r0, r1
|
|
add r0, r6, r0
|
|
strb r2, [r0, #0x1e]
|
|
add r0, r7, #0x0
|
|
bl Heap_Free
|
|
add sp, #0x14
|
|
pop {r4-r7, pc}
|
|
|
|
thumb_func_start sub_02066160
|
|
sub_02066160: ; 0x02066160
|
|
push {r3-r6}
|
|
add r2, r1, #0x0
|
|
mov r3, #0xc
|
|
add r1, r0, #0x0
|
|
mul r2, r3
|
|
add r1, #0x1c
|
|
add r1, r1, r2
|
|
ldrb r4, [r1, #0x2]
|
|
ldrb r6, [r1, #0x3]
|
|
add r5, r4, #0x0
|
|
mul r5, r3
|
|
add r4, r0, r5
|
|
strb r6, [r4, #0x1f]
|
|
ldrb r4, [r1, #0x2]
|
|
ldrb r1, [r1, #0x3]
|
|
mul r3, r1
|
|
add r1, r0, r3
|
|
strb r4, [r1, #0x1e]
|
|
add r1, r0, r2
|
|
mov r3, #0x0
|
|
strb r3, [r1, #0x1d]
|
|
ldr r2, _0206619C ; =0x0000013B
|
|
mov r1, #0x30
|
|
ldrb r3, [r0, r2]
|
|
bic r3, r1
|
|
mov r1, #0x10
|
|
orr r1, r3
|
|
strb r1, [r0, r2]
|
|
pop {r3-r6}
|
|
bx lr
|
|
.balign 4
|
|
_0206619C: .word 0x0000013B
|
|
|
|
thumb_func_start sub_020661A0
|
|
sub_020661A0: ; 0x020661A0
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
ldrb r1, [r5, #0x18]
|
|
add r2, r5, #0x0
|
|
mov r0, #0xc
|
|
add r2, #0x1c
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #0x4
|
|
ldrh r1, [r4, #0x6]
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r5, #0x0]
|
|
mov r2, #0x1
|
|
bl Bag_HasSpaceForItem
|
|
add r6, r0, #0x0
|
|
beq _020661D4
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #0x4
|
|
ldrh r1, [r4, #0x6]
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r5, #0x0]
|
|
mov r2, #0x1
|
|
bl Bag_AddItem
|
|
_020661D4:
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #0x2
|
|
ldrb r2, [r5, #0x18]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl Mailbox_DeleteSlotI
|
|
ldrb r1, [r5, #0x18]
|
|
add r0, r5, #0x0
|
|
bl sub_02066160
|
|
ldrb r1, [r5, #0x18]
|
|
add r0, r4, #0x0
|
|
bl sub_02065FF8
|
|
add r0, r6, #0x0
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_020661F8
|
|
sub_020661F8: ; 0x020661F8
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
add r7, r1, #0x0
|
|
ldrb r1, [r5, #0x18]
|
|
add r6, r2, #0x0
|
|
add r2, r5, #0x0
|
|
mov r0, #0xc
|
|
add r2, #0x1c
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
ldrb r0, [r4, #0x1]
|
|
cmp r0, #0x0
|
|
beq _0206626E
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl FieldSystem_GetSaveData
|
|
bl SaveArray_Party_Get
|
|
add r1, r7, #0x0
|
|
bl Party_GetMonByIndex
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #0x2
|
|
ldrb r1, [r5, #0x18]
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r5, #0x0]
|
|
bl sub_020856A0
|
|
cmp r6, #0x0
|
|
beq _0206625E
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #0x4
|
|
ldrh r1, [r4, #0x6]
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r5, #0x0]
|
|
mov r2, #0x1
|
|
bl Bag_HasSpaceForItem
|
|
cmp r0, #0x0
|
|
beq _0206625E
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #0x4
|
|
ldrh r1, [r4, #0x6]
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r5, #0x0]
|
|
mov r2, #0x1
|
|
bl Bag_AddItem
|
|
_0206625E:
|
|
ldrb r1, [r5, #0x18]
|
|
add r0, r5, #0x0
|
|
bl sub_02066160
|
|
ldrb r1, [r5, #0x18]
|
|
add r0, r4, #0x0
|
|
bl sub_02065FF8
|
|
_0206626E:
|
|
pop {r3-r7, pc}
|
|
|
|
thumb_func_start sub_02066270
|
|
sub_02066270: ; 0x02066270
|
|
push {r3-r7, lr}
|
|
add r6, r0, #0x0
|
|
mov r2, #0x5a
|
|
ldr r3, [r6, #0x0]
|
|
mov r0, #0x1
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #0x2
|
|
bl NewMsgDataFromNarc
|
|
mov r1, #0x43
|
|
lsl r1, r1, #0x2
|
|
str r0, [r6, r1]
|
|
ldr r2, [r6, #0x0]
|
|
mov r0, #0x1
|
|
mov r1, #0x80
|
|
bl MessageFormat_New_Custom
|
|
mov r1, #0x11
|
|
lsl r1, r1, #0x4
|
|
str r0, [r6, r1]
|
|
ldr r1, [r6, #0x0]
|
|
mov r0, #0x80
|
|
bl String_New
|
|
mov r1, #0x45
|
|
lsl r1, r1, #0x2
|
|
str r0, [r6, r1]
|
|
sub r1, #0x8
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0x4
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x46
|
|
lsl r1, r1, #0x2
|
|
str r0, [r6, r1]
|
|
sub r1, #0xc
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0x0
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x47
|
|
lsl r1, r1, #0x2
|
|
str r0, [r6, r1]
|
|
mov r4, #0x0
|
|
add r5, r6, #0x0
|
|
add r7, r1, #0x4
|
|
_020662CC:
|
|
mov r0, #0x43
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r6, r0]
|
|
add r1, r4, #0x6
|
|
bl NewString_ReadMsgData
|
|
str r0, [r5, r7]
|
|
add r4, r4, #0x1
|
|
add r5, r5, #0x4
|
|
cmp r4, #0x6
|
|
blt _020662CC
|
|
pop {r3-r7, pc}
|
|
|
|
thumb_func_start sub_020662E4
|
|
sub_020662E4: ; 0x020662E4
|
|
push {r3-r7, lr}
|
|
add r6, r0, #0x0
|
|
mov r7, #0x12
|
|
mov r4, #0x0
|
|
add r5, r6, #0x0
|
|
lsl r7, r7, #0x4
|
|
_020662F0:
|
|
ldr r0, [r5, r7]
|
|
bl String_Delete
|
|
add r4, r4, #0x1
|
|
add r5, r5, #0x4
|
|
cmp r4, #0x6
|
|
blt _020662F0
|
|
mov r0, #0x47
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r6, r0]
|
|
bl String_Delete
|
|
mov r0, #0x46
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r6, r0]
|
|
bl String_Delete
|
|
mov r0, #0x45
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r6, r0]
|
|
bl String_Delete
|
|
mov r0, #0x11
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r6, r0]
|
|
bl MessageFormat_Delete
|
|
mov r0, #0x43
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r6, r0]
|
|
bl DestroyMsgData
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02066334
|
|
sub_02066334: ; 0x02066334
|
|
push {r3-r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0x0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl sub_020377A8
|
|
mov r1, #0x17
|
|
lsl r1, r1, #0x4
|
|
str r0, [r4, r1]
|
|
ldrh r0, [r4, #0x14]
|
|
ldr r2, _020663C8 ; =0x000003E2
|
|
mov r3, #0xa
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x3
|
|
bl sub_0200CD68
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r4, #0x0]
|
|
ldr r2, _020663CC ; =0x000003D9
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x3
|
|
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, _020663D0 ; =0x0000036D
|
|
mov r1, #0x17
|
|
lsl r1, r1, #0x4
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x14
|
|
add r1, r4, r1
|
|
mov r2, #0x3
|
|
mov r3, #0x2
|
|
bl AddWindowParameterized
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
add sp, #0x14
|
|
pop {r3-r4, pc}
|
|
.balign 4
|
|
_020663C8: .word 0x000003E2
|
|
_020663CC: .word 0x000003D9
|
|
_020663D0: .word 0x0000036D
|
|
|
|
thumb_func_start sub_020663D4
|
|
sub_020663D4: ; 0x020663D4
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x0
|
|
mov r2, #0x10
|
|
bl MI_CpuFill8
|
|
mov r0, #0x17
|
|
mov r1, #0x0
|
|
lsl r0, r0, #0x4
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_02066404
|
|
sub_02066404: ; 0x02066404
|
|
push {r3-r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
ldr r0, [sp, #0x28]
|
|
add r4, r1, #0x0
|
|
add r6, r2, #0x0
|
|
add r7, r3, #0x0
|
|
cmp r0, #0x0
|
|
beq _02066426
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
ldr r2, _020664CC ; =0x000003E2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
mov r3, #0xa
|
|
bl DrawFrameAndWindow2
|
|
_02066426:
|
|
mov r1, #0xd8
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0x20
|
|
mov r2, #0x0
|
|
add r1, #0xac
|
|
str r0, [sp, #0x4]
|
|
add r0, r5, r1
|
|
mov r1, #0xff
|
|
add r3, r2, #0x0
|
|
bl FillWindowPixelRect
|
|
mov r0, #0x1
|
|
bl TextFlags_SetCanABSpeedUpPrint
|
|
mov r0, #0x0
|
|
bl sub_02002B7C
|
|
cmp r4, #0x0
|
|
bne _02066494
|
|
mov r0, #0x45
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl String_SetEmpty
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x11
|
|
lsl r0, r0, #0x4
|
|
ldrb r3, [r5, #0x18]
|
|
mov r2, #0xc
|
|
ldr r0, [r5, r0]
|
|
mul r2, r3
|
|
add r2, r5, r2
|
|
ldr r2, [r2, #0x24]
|
|
mov r1, #0x0
|
|
mov r3, #0x2
|
|
bl BufferString
|
|
mov r2, #0x11
|
|
lsl r2, r2, #0x4
|
|
lsl r3, r4, #0x2
|
|
add r1, r2, #0x4
|
|
ldr r0, [r5, r2]
|
|
add r3, r5, r3
|
|
add r2, #0x10
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r3, r2]
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0x45
|
|
lsl r0, r0, #0x2
|
|
ldr r2, [r5, r0]
|
|
b _0206649E
|
|
_02066494:
|
|
lsl r0, r4, #0x2
|
|
add r1, r5, r0
|
|
mov r0, #0x12
|
|
lsl r0, r0, #0x4
|
|
ldr r2, [r1, r0]
|
|
_0206649E:
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
ldr r0, _020664D0 ; =0x0001020F
|
|
str r6, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #0x2
|
|
strb r0, [r5, r1]
|
|
add r1, #0x4c
|
|
add r0, r5, r1
|
|
bl CopyWindowToVram
|
|
ldr r0, _020664D4 ; =0x00000139
|
|
strb r7, [r5, r0]
|
|
add sp, #0x10
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_020664CC: .word 0x000003E2
|
|
_020664D0: .word 0x0001020F
|
|
_020664D4: .word 0x00000139
|
|
|
|
thumb_func_start sub_020664D8
|
|
sub_020664D8: ; 0x020664D8
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_020664F4
|
|
sub_020664F4: ; 0x020664F4
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #0x2
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0201BD70
|
|
cmp r0, #0x0
|
|
beq _0206650A
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
_0206650A:
|
|
ldr r0, _0206651C ; =0x00000139
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0x0
|
|
beq _02066518
|
|
add r0, r4, #0x0
|
|
bl sub_020664D8
|
|
_02066518:
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0206651C: .word 0x00000139
|
|
|
|
thumb_func_start sub_02066520
|
|
sub_02066520: ; 0x02066520
|
|
push {r3-r4, lr}
|
|
sub sp, #0x4
|
|
add r4, r0, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
ldr r1, _02066544 ; =UNK_020F7E6C
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x17
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, _02066548 ; =0x000003D9
|
|
mov r3, #0xb
|
|
bl Std_CreateYesNoMenu
|
|
mov r1, #0x5a
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
.balign 4
|
|
_02066544: .word UNK_020F7E6C
|
|
_02066548: .word 0x000003D9
|
|
|
|
thumb_func_start sub_0206654C
|
|
sub_0206654C: ; 0x0206654C
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r1, r0]
|
|
ldr r1, [r1, #0x0]
|
|
bl sub_020021AC
|
|
cmp r0, #0x0
|
|
beq _0206656A
|
|
mov r1, #0x1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0206656E
|
|
b _02066572
|
|
_0206656A:
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_0206656E:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
_02066572:
|
|
add r0, r1, #0x1
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02066578
|
|
sub_02066578: ; 0x02066578
|
|
push {r3-r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0x0
|
|
ldrh r0, [r4, #0x12]
|
|
cmp r0, #0x0
|
|
beq _0206658A
|
|
cmp r0, #0x1
|
|
beq _020665A8
|
|
b _020665BA
|
|
_0206658A:
|
|
mov r0, #0x6
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [r4, #0x0]
|
|
add r2, r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x0
|
|
add r3, r0, #0x0
|
|
bl BeginNormalPaletteFade
|
|
ldrh r0, [r4, #0x12]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x12]
|
|
b _020665BA
|
|
_020665A8:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0x0
|
|
beq _020665BA
|
|
mov r0, #0x0
|
|
strh r0, [r4, #0x12]
|
|
add sp, #0xc
|
|
mov r0, #0x1
|
|
pop {r3-r4, pc}
|
|
_020665BA:
|
|
mov r0, #0x0
|
|
add sp, #0xc
|
|
pop {r3-r4, pc}
|
|
|
|
thumb_func_start sub_020665C0
|
|
sub_020665C0: ; 0x020665C0
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldrh r0, [r4, #0x12]
|
|
cmp r0, #0x0
|
|
beq _020665D4
|
|
cmp r0, #0x1
|
|
beq _020665E6
|
|
cmp r0, #0x2
|
|
beq _02066614
|
|
b _0206662E
|
|
_020665D4:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FieldSystem_LoadFieldOverlay
|
|
ldrh r0, [r4, #0x12]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x12]
|
|
b _0206662E
|
|
_020665E6:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl sub_020464A4
|
|
cmp r0, #0x0
|
|
beq _0206662E
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x5a
|
|
bl ov06_0224C678
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x5a
|
|
bl ov06_0224C6E8
|
|
ldrh r0, [r4, #0x12]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x12]
|
|
b _0206662E
|
|
_02066614:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x5a
|
|
ldr r0, [r0, #0x50]
|
|
bl ov05_021DA58C
|
|
cmp r0, #0x0
|
|
beq _0206662E
|
|
mov r0, #0x0
|
|
strh r0, [r4, #0x12]
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0206662E:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02066634
|
|
sub_02066634: ; 0x02066634
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
add r4, r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x5a
|
|
bl ov05_021DAF98
|
|
cmp r4, #0x0
|
|
bne _02066652
|
|
add r0, r5, #0x0
|
|
bl sub_02065EF8
|
|
b _02066658
|
|
_02066652:
|
|
add r0, r5, #0x0
|
|
bl sub_02065F8C
|
|
_02066658:
|
|
add r0, r5, #0x0
|
|
bl sub_020663D4
|
|
mov r0, #0x1
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_02066664
|
|
sub_02066664: ; 0x02066664
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
ldrh r0, [r5, #0x12]
|
|
add r6, r1, #0x0
|
|
cmp r0, #0x0
|
|
beq _02066676
|
|
cmp r0, #0x1
|
|
beq _02066708
|
|
b _0206671E
|
|
_02066676:
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x40
|
|
bl Heap_Alloc
|
|
mov r1, #0x0
|
|
mov r2, #0x40
|
|
add r4, r0, #0x0
|
|
bl MI_CpuFill8
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl FieldSystem_GetSaveData
|
|
bl SaveArray_Party_Get
|
|
str r0, [r4, #0x0]
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl FieldSystem_GetSaveData
|
|
bl Save_Bag_Get
|
|
str r0, [r4, #0x4]
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl FieldSystem_GetSaveData
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
str r0, [r4, #0xc]
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r0, [r0, #0xc]
|
|
bl Save_Mailbox_Get
|
|
str r0, [r4, #0x8]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
add r0, #0x21
|
|
strb r1, [r0, #0x0]
|
|
add r0, r4, #0x0
|
|
add r0, #0x20
|
|
strb r6, [r0, #0x0]
|
|
ldrb r1, [r5, #0x18]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r0, r5, r0
|
|
ldrh r0, [r0, #0x22]
|
|
cmp r6, #0xb
|
|
strh r0, [r4, #0x24]
|
|
bne _020666EC
|
|
ldrb r1, [r5, #0x17]
|
|
add r0, r4, #0x0
|
|
add r0, #0x22
|
|
strb r1, [r0, #0x0]
|
|
_020666EC:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, _02066724 ; =UNK_020F96DC
|
|
add r2, r4, #0x0
|
|
bl sub_020373D4
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #0x2
|
|
str r4, [r5, r0]
|
|
ldrh r0, [r5, #0x12]
|
|
add r0, r0, #0x1
|
|
strh r0, [r5, #0x12]
|
|
b _0206671E
|
|
_02066708:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl FieldSystem_ApplicationIsRunning
|
|
cmp r0, #0x0
|
|
bne _0206671E
|
|
mov r0, #0x0
|
|
strh r0, [r5, #0x12]
|
|
mov r0, #0x1
|
|
pop {r4-r6, pc}
|
|
_0206671E:
|
|
mov r0, #0x0
|
|
pop {r4-r6, pc}
|
|
nop
|
|
_02066724: .word UNK_020F96DC
|
|
|
|
thumb_func_start sub_02066728
|
|
sub_02066728: ; 0x02066728
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
ldrh r0, [r4, #0x12]
|
|
cmp r0, #0x0
|
|
beq _02066738
|
|
cmp r0, #0x1
|
|
beq _0206677A
|
|
b _020667D0
|
|
_02066738:
|
|
ldrb r2, [r4, #0x18]
|
|
mov r0, #0xc
|
|
mul r0, r2
|
|
add r3, r4, r0
|
|
ldrb r0, [r3, #0x1d]
|
|
cmp r0, #0x0
|
|
beq _02066756
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldr r3, [r4, #0x0]
|
|
mov r1, #0x0
|
|
bl sub_02037F58
|
|
b _0206676C
|
|
_02066756:
|
|
ldr r0, [r4, #0x0]
|
|
add r3, #0x21
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldrb r2, [r4, #0x17]
|
|
ldrb r3, [r3, #0x0]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_02037F2C
|
|
_0206676C:
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
ldrh r0, [r4, #0x12]
|
|
add r0, r0, #0x1
|
|
strh r0, [r4, #0x12]
|
|
b _020667D0
|
|
_0206677A:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl FieldSystem_ApplicationIsRunning
|
|
cmp r0, #0x0
|
|
bne _020667D0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl sub_020855E4
|
|
cmp r0, #0x0
|
|
beq _020667BC
|
|
ldrb r0, [r4, #0x18]
|
|
mov r2, #0xc
|
|
mov r3, #0x1
|
|
add r1, r0, #0x0
|
|
mul r1, r2
|
|
add r0, r4, r1
|
|
strb r3, [r0, #0x1d]
|
|
ldrb r3, [r4, #0x18]
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x2
|
|
mul r2, r3
|
|
add r2, r4, r2
|
|
ldrb r2, [r2, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_020855E8
|
|
mov r5, #0x2
|
|
b _020667BE
|
|
_020667BC:
|
|
mov r5, #0x1
|
|
_020667BE:
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0208562C
|
|
mov r0, #0x0
|
|
strh r0, [r4, #0x12]
|
|
add r0, r5, #0x0
|
|
pop {r3-r5, pc}
|
|
_020667D0:
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_020667D4
|
|
sub_020667D4: ; 0x020667D4
|
|
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 r1, [r4, #0x4]
|
|
cmp r1, #0x0
|
|
beq _020667F2
|
|
cmp r1, #0x1
|
|
beq _02066802
|
|
b _02066814
|
|
_020667F2:
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl sub_020653EC
|
|
ldr r0, [r4, #0x4]
|
|
add r0, r0, #0x1
|
|
str r0, [r4, #0x4]
|
|
b _02066814
|
|
_02066802:
|
|
ldr r1, [r4, #0x0]
|
|
cmp r1, #0x0
|
|
bne _0206680C
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
_0206680C:
|
|
bl Heap_Free
|
|
mov r0, #0x1
|
|
pop {r3-r5, pc}
|
|
_02066814:
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_02066818
|
|
sub_02066818: ; 0x02066818
|
|
push {r4, lr}
|
|
bl TaskManager_GetFieldSystem
|
|
add r4, r0, #0x0
|
|
mov r0, #0xb
|
|
mov r1, #0x8
|
|
bl Heap_AllocAtEnd
|
|
add r2, r0, #0x0
|
|
mov r0, #0x0
|
|
str r0, [r2, #0x0]
|
|
str r0, [r2, #0x4]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _0206683C ; =sub_020667D4
|
|
bl TaskManager_Call
|
|
pop {r4, pc}
|
|
nop
|
|
_0206683C: .word sub_020667D4
|