mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-21 17:54:29 -05:00
3129 lines
60 KiB
ArmAsm
3129 lines
60 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.section .rodata
|
|
|
|
.global UNK_020FB38C
|
|
UNK_020FB38C: ; 0x020FB38C
|
|
.byte 0x01, 0x0E, 0x05, 0x11, 0x12, 0x0F, 0x3B, 0x02
|
|
|
|
.global UNK_020FB394
|
|
UNK_020FB394: ; 0x020FB394
|
|
.byte 0x01, 0x1A, 0x00, 0x05, 0x02, 0x0F, 0x3B, 0x02, 0x01, 0x01, 0x14, 0x0C, 0x04, 0x0F, 0x4D, 0x02
|
|
.byte 0x01, 0x02, 0x15, 0x1B, 0x02, 0x0E, 0x7D, 0x02
|
|
|
|
.global UNK_020FB3AC
|
|
UNK_020FB3AC: ; 0x020FB3AC
|
|
.byte 0x01, 0x1A, 0x15, 0x05, 0x02, 0x0F, 0x3B, 0x02, 0x01, 0x18, 0x0F, 0x07, 0x02, 0x0F, 0x45, 0x02
|
|
.byte 0x01, 0x01, 0x12, 0x15, 0x02, 0x0F, 0x53, 0x02, 0x01, 0x01, 0x14, 0x1E, 0x04, 0x0F, 0x7D, 0x02
|
|
|
|
.global UNK_020FB3CC
|
|
UNK_020FB3CC: ; 0x020FB3CC
|
|
.byte 0x01, 0x15, 0x04, 0x0B, 0x04, 0x0F, 0x3B, 0x02, 0x01, 0x15, 0x08, 0x0B, 0x04, 0x0F, 0x67, 0x02
|
|
.byte 0x01, 0x15, 0x0C, 0x0B, 0x04, 0x0F, 0x93, 0x02, 0x01, 0x15, 0x10, 0x0B, 0x04, 0x0F, 0xBF, 0x02
|
|
.byte 0x01, 0x15, 0x14, 0x0B, 0x04, 0x0F, 0xEB, 0x02, 0x01, 0x01, 0x12, 0x0F, 0x06, 0x0F, 0x17, 0x03
|
|
|
|
.global UNK_020FB3FC
|
|
UNK_020FB3FC: ; 0x020FB3FC
|
|
.byte 0x01, 0x18, 0x05, 0x06, 0x02, 0x0F, 0x3B, 0x02, 0x01, 0x17, 0x07, 0x08, 0x02, 0x0F, 0x47, 0x02
|
|
.byte 0x01, 0x17, 0x0B, 0x08, 0x02, 0x0F, 0x57, 0x02, 0x01, 0x19, 0x0D, 0x04, 0x02, 0x0F, 0x67, 0x02
|
|
.byte 0x01, 0x18, 0x11, 0x06, 0x02, 0x0F, 0x71, 0x02, 0x01, 0x18, 0x15, 0x06, 0x02, 0x0F, 0x7F, 0x02
|
|
|
|
.global UNK_020FB42C
|
|
UNK_020FB42C: ; 0x020FB42C
|
|
.byte 0x01, 0x17, 0x04, 0x07, 0x02, 0x0F, 0x3B, 0x02, 0x01, 0x19, 0x07, 0x03, 0x02, 0x0F, 0x49, 0x02
|
|
.byte 0x01, 0x19, 0x09, 0x03, 0x02, 0x0F, 0x4F, 0x02, 0x01, 0x19, 0x0B, 0x03, 0x02, 0x0F, 0x55, 0x02
|
|
.byte 0x01, 0x19, 0x0D, 0x03, 0x02, 0x0F, 0x5B, 0x02, 0x01, 0x19, 0x0F, 0x03, 0x02, 0x0F, 0x61, 0x02
|
|
.byte 0x01, 0x15, 0x12, 0x0B, 0x02, 0x0F, 0x67, 0x02, 0x01, 0x0E, 0x14, 0x12, 0x04, 0x0F, 0x7D, 0x02
|
|
|
|
.global UNK_020FB46C
|
|
UNK_020FB46C: ; 0x020FB46C
|
|
.byte 0x01, 0x15, 0x04, 0x0B, 0x04, 0x0F, 0x3B, 0x02, 0x01, 0x15, 0x08, 0x0B, 0x04, 0x0F, 0x67, 0x02
|
|
.byte 0x01, 0x15, 0x0C, 0x0B, 0x04, 0x0F, 0x93, 0x02, 0x01, 0x15, 0x10, 0x0B, 0x04, 0x0F, 0xBF, 0x02
|
|
.byte 0x01, 0x15, 0x14, 0x0B, 0x04, 0x0F, 0xEB, 0x02, 0x01, 0x0C, 0x0A, 0x03, 0x02, 0x0F, 0x17, 0x03
|
|
.byte 0x01, 0x0C, 0x0C, 0x03, 0x02, 0x0F, 0x1D, 0x03, 0x01, 0x01, 0x0E, 0x0F, 0x0A, 0x0F, 0x23, 0x03
|
|
|
|
.global UNK_020FB4AC
|
|
UNK_020FB4AC: ; 0x020FB4AC
|
|
.byte 0x01, 0x01, 0x00, 0x0D, 0x02, 0x0F, 0x01, 0x00, 0x01, 0x01, 0x00, 0x0B, 0x02, 0x0F, 0x1B, 0x00
|
|
.byte 0x01, 0x01, 0x00, 0x0E, 0x02, 0x0F, 0x31, 0x00, 0x01, 0x01, 0x00, 0x0B, 0x02, 0x0F, 0x4D, 0x00
|
|
.byte 0x01, 0x01, 0x00, 0x09, 0x02, 0x0F, 0x63, 0x00, 0x01, 0x01, 0x00, 0x0B, 0x02, 0x0F, 0x75, 0x00
|
|
.byte 0x01, 0x01, 0x14, 0x06, 0x02, 0x0F, 0x8B, 0x00, 0x01, 0x0E, 0x05, 0x09, 0x02, 0x0F, 0x97, 0x00
|
|
.byte 0x01, 0x0E, 0x07, 0x05, 0x02, 0x0F, 0xA9, 0x00, 0x01, 0x0E, 0x09, 0x05, 0x02, 0x0F, 0xB3, 0x00
|
|
.byte 0x01, 0x0E, 0x0B, 0x05, 0x02, 0x0F, 0xBD, 0x00, 0x01, 0x0E, 0x0D, 0x05, 0x02, 0x0F, 0xC7, 0x00
|
|
.byte 0x01, 0x0E, 0x0F, 0x0F, 0x02, 0x0F, 0xD1, 0x00, 0x01, 0x0E, 0x13, 0x0C, 0x02, 0x0F, 0xEF, 0x00
|
|
.byte 0x01, 0x13, 0x15, 0x03, 0x02, 0x0F, 0x07, 0x01, 0x01, 0x12, 0x04, 0x02, 0x02, 0x0F, 0x0D, 0x01
|
|
.byte 0x01, 0x10, 0x07, 0x06, 0x02, 0x0F, 0x11, 0x01, 0x01, 0x10, 0x09, 0x06, 0x02, 0x0F, 0x1D, 0x01
|
|
.byte 0x01, 0x10, 0x0B, 0x06, 0x02, 0x0F, 0x29, 0x01, 0x01, 0x10, 0x0D, 0x06, 0x02, 0x0F, 0x35, 0x01
|
|
.byte 0x01, 0x10, 0x0F, 0x06, 0x02, 0x0F, 0x41, 0x01, 0x01, 0x0E, 0x12, 0x06, 0x02, 0x0F, 0x4D, 0x01
|
|
.byte 0x01, 0x0E, 0x14, 0x05, 0x02, 0x0F, 0x59, 0x01, 0x01, 0x01, 0x16, 0x06, 0x02, 0x0F, 0x63, 0x01
|
|
.byte 0x01, 0x15, 0x14, 0x05, 0x02, 0x0F, 0x6F, 0x01, 0x01, 0x01, 0x08, 0x06, 0x02, 0x0F, 0x79, 0x01
|
|
.byte 0x01, 0x01, 0x0A, 0x06, 0x02, 0x0F, 0x85, 0x01, 0x01, 0x01, 0x0C, 0x08, 0x02, 0x0F, 0x91, 0x01
|
|
.byte 0x01, 0x12, 0x0B, 0x09, 0x02, 0x0F, 0xA1, 0x01, 0x01, 0x02, 0x0D, 0x0C, 0x02, 0x0F, 0xB3, 0x01
|
|
.byte 0x01, 0x0E, 0x15, 0x0C, 0x02, 0x0F, 0xCB, 0x01, 0x01, 0x01, 0x00, 0x0B, 0x02, 0x0F, 0xE3, 0x01
|
|
.byte 0x01, 0x01, 0x16, 0x0C, 0x02, 0x0F, 0xF9, 0x01, 0x01, 0x01, 0x05, 0x06, 0x02, 0x0F, 0x11, 0x02
|
|
.byte 0x01, 0x03, 0x03, 0x09, 0x02, 0x0F, 0x1D, 0x02, 0x01, 0x1A, 0x00, 0x06, 0x02, 0x0F, 0x2F, 0x02
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_0207D5BC
|
|
sub_0207D5BC: ; 0x0207D5BC
|
|
push {r3-r7, lr}
|
|
add r7, r0, #0x0
|
|
mov r5, #0x0
|
|
add r4, r7, #0x4
|
|
_0207D5C4:
|
|
ldr r2, _0207D600 ; =UNK_020FB4AC
|
|
lsl r6, r5, #0x4
|
|
lsl r3, r5, #0x3
|
|
ldr r0, [r7, #0x0]
|
|
add r1, r4, r6
|
|
add r2, r2, r3
|
|
bl AddWindow
|
|
add r0, r4, r6
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r5, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #0x24
|
|
blo _0207D5C4
|
|
add r0, r7, #0x0
|
|
bl sub_0207DB78
|
|
add r0, r7, #0x0
|
|
bl sub_0207D768
|
|
add r0, r7, #0x0
|
|
bl sub_0207D800
|
|
add r0, r7, #0x0
|
|
bl sub_0207D8A0
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_0207D600: .word UNK_020FB4AC
|
|
|
|
thumb_func_start sub_0207D604
|
|
sub_0207D604: ; 0x0207D604
|
|
push {r3-r7, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _0207D6D8 ; =0x0000068C
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x7
|
|
bhi _0207D6D4
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0207D61C: ; jump table (using 16-bit offset)
|
|
.short _0207D62C - _0207D61C - 2; case 0
|
|
.short _0207D638 - _0207D61C - 2; case 1
|
|
.short _0207D644 - _0207D61C - 2; case 2
|
|
.short _0207D650 - _0207D61C - 2; case 3
|
|
.short _0207D674 - _0207D61C - 2; case 4
|
|
.short _0207D65C - _0207D61C - 2; case 5
|
|
.short _0207D668 - _0207D61C - 2; case 6
|
|
.short _0207D674 - _0207D61C - 2; case 7
|
|
_0207D62C:
|
|
mov r0, #0x92
|
|
mov r1, #0x6
|
|
lsl r0, r0, #0x2
|
|
ldr r5, _0207D6DC ; =UNK_020FB3FC
|
|
str r1, [r4, r0]
|
|
b _0207D692
|
|
_0207D638:
|
|
mov r0, #0x92
|
|
mov r1, #0x1
|
|
lsl r0, r0, #0x2
|
|
ldr r5, _0207D6E0 ; =UNK_020FB38C
|
|
str r1, [r4, r0]
|
|
b _0207D692
|
|
_0207D644:
|
|
mov r0, #0x92
|
|
mov r1, #0x8
|
|
lsl r0, r0, #0x2
|
|
ldr r5, _0207D6E4 ; =UNK_020FB42C
|
|
str r1, [r4, r0]
|
|
b _0207D692
|
|
_0207D650:
|
|
mov r0, #0x92
|
|
mov r1, #0x8
|
|
lsl r0, r0, #0x2
|
|
ldr r5, _0207D6E8 ; =UNK_020FB46C
|
|
str r1, [r4, r0]
|
|
b _0207D692
|
|
_0207D65C:
|
|
mov r0, #0x92
|
|
mov r1, #0x6
|
|
lsl r0, r0, #0x2
|
|
ldr r5, _0207D6EC ; =UNK_020FB3CC
|
|
str r1, [r4, r0]
|
|
b _0207D692
|
|
_0207D668:
|
|
mov r0, #0x92
|
|
mov r1, #0x4
|
|
lsl r0, r0, #0x2
|
|
ldr r5, _0207D6F0 ; =UNK_020FB3AC
|
|
str r1, [r4, r0]
|
|
b _0207D692
|
|
_0207D674:
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x3
|
|
beq _0207D684
|
|
cmp r0, #0x4
|
|
bne _0207D6D4
|
|
_0207D684:
|
|
mov r0, #0x92
|
|
mov r1, #0x3
|
|
lsl r0, r0, #0x2
|
|
ldr r5, _0207D6F4 ; =UNK_020FB394
|
|
str r1, [r4, r0]
|
|
b _0207D692
|
|
_0207D690:
|
|
pop {r3-r7, pc}
|
|
_0207D692:
|
|
mov r1, #0x92
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
mov r0, #0x13
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl AllocWindows
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r6, #0x0
|
|
cmp r0, #0x0
|
|
bls _0207D6D4
|
|
add r7, r6, #0x0
|
|
_0207D6B4:
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r0, [r4, #0x0]
|
|
add r1, r1, r7
|
|
add r2, r5, #0x0
|
|
bl AddWindow
|
|
mov r0, #0x92
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r6, r6, #0x1
|
|
add r5, #0x8
|
|
add r7, #0x10
|
|
cmp r6, r0
|
|
blo _0207D6B4
|
|
_0207D6D4:
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_0207D6D8: .word 0x0000068C
|
|
_0207D6DC: .word UNK_020FB3FC
|
|
_0207D6E0: .word UNK_020FB38C
|
|
_0207D6E4: .word UNK_020FB42C
|
|
_0207D6E8: .word UNK_020FB46C
|
|
_0207D6EC: .word UNK_020FB3CC
|
|
_0207D6F0: .word UNK_020FB3AC
|
|
_0207D6F4: .word UNK_020FB394
|
|
|
|
thumb_func_start sub_0207D6F8
|
|
sub_0207D6F8: ; 0x0207D6F8
|
|
push {r3, lr}
|
|
add r1, r0, #0x0
|
|
ldr r0, _0207D748 ; =0x0000068C
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0x7
|
|
bhi _0207D744
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0207D710: ; jump table (using 16-bit offset)
|
|
.short _0207D732 - _0207D710 - 2; case 0
|
|
.short _0207D732 - _0207D710 - 2; case 1
|
|
.short _0207D732 - _0207D710 - 2; case 2
|
|
.short _0207D732 - _0207D710 - 2; case 3
|
|
.short _0207D720 - _0207D710 - 2; case 4
|
|
.short _0207D732 - _0207D710 - 2; case 5
|
|
.short _0207D732 - _0207D710 - 2; case 6
|
|
.short _0207D720 - _0207D710 - 2; case 7
|
|
_0207D720:
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r1, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x3
|
|
beq _0207D732
|
|
cmp r0, #0x4
|
|
beq _0207D732
|
|
pop {r3, pc}
|
|
_0207D732:
|
|
mov r2, #0x91
|
|
lsl r2, r2, #0x2
|
|
ldr r0, [r1, r2]
|
|
add r2, r2, #0x4
|
|
ldr r1, [r1, r2]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl WindowArray_Delete
|
|
_0207D744:
|
|
pop {r3, pc}
|
|
nop
|
|
_0207D748: .word 0x0000068C
|
|
|
|
thumb_func_start sub_0207D74C
|
|
sub_0207D74C: ; 0x0207D74C
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
bl sub_0207D6F8
|
|
mov r4, #0x0
|
|
add r5, r5, #0x4
|
|
_0207D758:
|
|
add r0, r5, #0x0
|
|
bl RemoveWindow
|
|
add r4, r4, #0x1
|
|
add r5, #0x10
|
|
cmp r4, #0x24
|
|
blo _0207D758
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_0207D768
|
|
sub_0207D768: ; 0x0207D768
|
|
push {r3-r5, lr}
|
|
sub sp, #0x10
|
|
mov r4, #0x89
|
|
add r5, r0, #0x0
|
|
lsl r4, r4, #0x2
|
|
add r0, r5, r4
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0x0
|
|
add r2, r4, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207D7F4 ; =0x000F0E00
|
|
add r2, #0x30
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r4
|
|
add r3, r1, #0x0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r4, #0x0
|
|
add r0, #0x3e
|
|
ldrb r1, [r5, r0]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1f
|
|
bne _0207D7E8
|
|
add r0, r0, #0x1
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1e
|
|
bne _0207D7CA
|
|
ldr r2, _0207D7F8 ; =0x00000674
|
|
mov r1, #0x1
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r2, #0xc1
|
|
add r0, r5, #0x0
|
|
add r1, r5, r4
|
|
lsl r2, r2, #0xa
|
|
mov r3, #0x1
|
|
bl sub_0207D998
|
|
b _0207D7E8
|
|
_0207D7CA:
|
|
cmp r0, #0x1
|
|
bne _0207D7E8
|
|
ldr r2, _0207D7F8 ; =0x00000674
|
|
mov r1, #0x2
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
ldr r2, _0207D7FC ; =0x00050600
|
|
add r0, r5, #0x0
|
|
add r1, r5, r4
|
|
mov r3, #0x1
|
|
bl sub_0207D998
|
|
_0207D7E8:
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0207D7F4: .word 0x000F0E00
|
|
_0207D7F8: .word 0x00000674
|
|
_0207D7FC: .word 0x00050600
|
|
|
|
thumb_func_start sub_0207D800
|
|
sub_0207D800: ; 0x0207D800
|
|
push {r4-r6, lr}
|
|
sub sp, #0x10
|
|
mov r6, #0x85
|
|
add r5, r0, #0x0
|
|
lsl r6, r6, #0x2
|
|
add r0, r5, r6
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r6, #0x0
|
|
add r0, #0x8c
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x3
|
|
lsr r0, r0, #0x1f
|
|
bne _0207D88A
|
|
mov r0, #0x5
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x67
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
add r2, r5, r6
|
|
mov r3, #0x0
|
|
bl sub_0200B9A8
|
|
ldr r0, _0207D894 ; =0x00000674
|
|
mov r1, #0x3
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x0
|
|
add r4, r0, #0x0
|
|
add r2, r6, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
add r2, #0x4e
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, _0207D898 ; =0x0000067C
|
|
mov r3, #0x3
|
|
lsl r2, r2, #0x19
|
|
ldr r0, [r5, r0]
|
|
lsr r2, r2, #0x19
|
|
bl BufferIntegerAsString
|
|
ldr r1, _0207D898 ; =0x0000067C
|
|
add r2, r4, #0x0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
mov r2, #0x1a
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207D89C ; =0x00010200
|
|
lsl r2, r2, #0x6
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r6
|
|
mov r3, #0x10
|
|
bl AddTextPrinterParameterized2
|
|
_0207D88A:
|
|
add r0, r5, r6
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207D894: .word 0x00000674
|
|
_0207D898: .word 0x0000067C
|
|
_0207D89C: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207D8A0
|
|
sub_0207D8A0: ; 0x0207D8A0
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _0207D918 ; =0x0000025E
|
|
ldrh r2, [r5, r0]
|
|
cmp r2, #0x0
|
|
beq _0207D8E4
|
|
ldr r0, _0207D91C ; =0x0000067C
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl BufferItemName
|
|
ldr r0, _0207D920 ; =0x00000674
|
|
mov r1, #0x5
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0x0
|
|
ldr r1, _0207D91C ; =0x0000067C
|
|
add r2, r4, #0x0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
b _0207D8F2
|
|
_0207D8E4:
|
|
ldr r2, _0207D920 ; =0x00000674
|
|
mov r1, #0x6
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
_0207D8F2:
|
|
mov r2, #0x81
|
|
lsl r2, r2, #0x2
|
|
add r1, r5, r2
|
|
add r0, r5, #0x0
|
|
lsl r2, r2, #0x7
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
add r0, r5, #0x0
|
|
add r0, #0x64
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0207D918: .word 0x0000025E
|
|
_0207D91C: .word 0x0000067C
|
|
_0207D920: .word 0x00000674
|
|
|
|
thumb_func_start sub_0207D924
|
|
sub_0207D924: ; 0x0207D924
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r4, r1, #0x0
|
|
add r0, r5, r0
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207D954 ; =0x000F0E00
|
|
add r0, r5, #0x0
|
|
mov r1, #0x23
|
|
add r2, r4, #0x0
|
|
bl sub_0207DA1C
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0207D954: .word 0x000F0E00
|
|
|
|
thumb_func_start sub_0207D958
|
|
sub_0207D958: ; 0x0207D958
|
|
push {r4, lr}
|
|
mov r3, #0x93
|
|
lsl r3, r3, #0x2
|
|
add r1, r0, #0x0
|
|
add r2, r3, #0x0
|
|
add r2, #0x18
|
|
ldr r0, [r1, r3]
|
|
ldr r4, [r1, r2]
|
|
ldr r2, [r0, #0xc]
|
|
cmp r4, r2
|
|
bne _0207D98E
|
|
add r2, r3, #0x0
|
|
add r2, #0x48
|
|
ldrb r2, [r1, r2]
|
|
ldrb r0, [r0, #0x10]
|
|
cmp r2, r0
|
|
bne _0207D98E
|
|
ldr r2, _0207D994 ; =0x00000684
|
|
add r3, #0xc
|
|
ldr r0, [r1, r3]
|
|
ldr r1, [r1, r2]
|
|
bl String_Compare
|
|
cmp r0, #0x0
|
|
bne _0207D98E
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0207D98E:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
nop
|
|
_0207D994: .word 0x00000684
|
|
|
|
thumb_func_start sub_0207D998
|
|
sub_0207D998: ; 0x0207D998
|
|
push {r3-r7, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
add r6, r1, #0x0
|
|
add r7, r2, #0x0
|
|
cmp r3, #0x0
|
|
beq _0207D9B0
|
|
cmp r3, #0x1
|
|
beq _0207D9B4
|
|
cmp r3, #0x2
|
|
beq _0207D9D8
|
|
b _0207D9FE
|
|
_0207D9B0:
|
|
mov r3, #0x0
|
|
b _0207D9FE
|
|
_0207D9B4:
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #0x6
|
|
mov r0, #0x0
|
|
ldr r1, [r4, r1]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
add r0, r6, #0x0
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x18
|
|
sub r0, r0, r5
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
b _0207D9FE
|
|
_0207D9D8:
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #0x6
|
|
mov r0, #0x0
|
|
ldr r1, [r4, r1]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
add r0, r6, #0x0
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x18
|
|
sub r1, r0, r5
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x17
|
|
lsr r3, r0, #0x18
|
|
_0207D9FE:
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
str r7, [sp, #0x8]
|
|
mov r2, #0x1a
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r4, r2]
|
|
add r0, r6, #0x0
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207DA1C
|
|
sub_0207DA1C: ; 0x0207DA1C
|
|
push {r4-r6, lr}
|
|
add r6, r3, #0x0
|
|
ldr r3, _0207DA44 ; =0x00000674
|
|
add r5, r0, #0x0
|
|
ldr r0, [r5, r3]
|
|
add r4, r1, #0x0
|
|
add r3, #0xc
|
|
add r1, r2, #0x0
|
|
ldr r2, [r5, r3]
|
|
bl ReadMsgDataIntoString
|
|
add r2, r5, #0x4
|
|
lsl r1, r4, #0x4
|
|
add r1, r2, r1
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r5, #0x0
|
|
add r2, r6, #0x0
|
|
bl sub_0207D998
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207DA44: .word 0x00000674
|
|
|
|
thumb_func_start sub_0207DA48
|
|
sub_0207DA48: ; 0x0207DA48
|
|
push {r3-r7, lr}
|
|
sub sp, #0x8
|
|
add r5, r0, #0x0
|
|
ldr r0, _0207DA8C ; =0x00000674
|
|
add r6, r2, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r7, r3, #0x0
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0x0
|
|
add r0, sp, #0x10
|
|
ldrb r0, [r0, #0x10]
|
|
mov r1, #0x0
|
|
add r2, r6, #0x0
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207DA90 ; =0x0000067C
|
|
add r3, r7, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl BufferIntegerAsString
|
|
ldr r1, _0207DA90 ; =0x0000067C
|
|
add r2, r4, #0x0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
add sp, #0x8
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_0207DA8C: .word 0x00000674
|
|
_0207DA90: .word 0x0000067C
|
|
|
|
thumb_func_start sub_0207DA94
|
|
sub_0207DA94: ; 0x0207DA94
|
|
push {r3-r7, lr}
|
|
sub sp, #0x20
|
|
add r4, r0, #0x0
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
lsl r7, r1, #0x4
|
|
ldr r3, _0207DB70 ; =0x00000674
|
|
ldr r5, [r4, r0]
|
|
ldr r0, [r4, r3]
|
|
add r3, #0xc
|
|
add r1, r2, #0x0
|
|
ldr r2, [r4, r3]
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #0x6
|
|
mov r0, #0x0
|
|
ldr r1, [r4, r1]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
add r1, sp, #0x48
|
|
ldrb r2, [r1, #0x0]
|
|
lsr r1, r0, #0x1
|
|
sub r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
add r0, r1, r0
|
|
str r1, [sp, #0x14]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x18]
|
|
add r0, sp, #0x4c
|
|
ldrb r0, [r0, #0x0]
|
|
mov r2, #0x1a
|
|
mov r1, #0x0
|
|
str r0, [sp, #0x1c]
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207DB74 ; =0x00010200
|
|
lsl r2, r2, #0x6
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r4, r2]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, r5, r7
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
add r3, sp, #0x28
|
|
ldrh r2, [r3, #0x14]
|
|
ldrb r3, [r3, #0x1c]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0x0
|
|
bl sub_0207DA48
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #0x6
|
|
mov r0, #0x0
|
|
ldr r1, [r4, r1]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
mov r12, r0
|
|
ldr r0, [sp, #0x1c]
|
|
mov r2, #0x1a
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207DB74 ; =0x00010200
|
|
mov r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #0x6
|
|
ldr r3, [sp, #0x14]
|
|
mov r6, r12
|
|
ldr r2, [r4, r2]
|
|
add r0, r5, r7
|
|
sub r3, r3, r6
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
add r3, sp, #0x28
|
|
ldrh r2, [r3, #0x18]
|
|
ldrb r3, [r3, #0x1c]
|
|
ldr r1, [sp, #0x38]
|
|
add r0, r4, #0x0
|
|
bl sub_0207DA48
|
|
ldr r0, [sp, #0x1c]
|
|
mov r2, #0x1a
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207DB74 ; =0x00010200
|
|
mov r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r4, r2]
|
|
ldr r3, [sp, #0x18]
|
|
add r0, r5, r7
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x20
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_0207DB70: .word 0x00000674
|
|
_0207DB74: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207DB78
|
|
sub_0207DB78: ; 0x0207DB78
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
mov r1, #0x0
|
|
mov r2, #0x7
|
|
add r4, r0, #0x0
|
|
str r1, [sp, #0x0]
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
mov r2, #0x17
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
mov r2, #0x6d
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x3
|
|
mov r2, #0x7e
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x4
|
|
mov r2, #0x80
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x5
|
|
mov r2, #0x9d
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x6
|
|
mov r2, #0x4
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x7
|
|
mov r2, #0x8
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x8
|
|
mov r2, #0xa
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x9
|
|
mov r2, #0xc
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa
|
|
mov r2, #0xd
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0xb
|
|
mov r2, #0xf
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0xc
|
|
mov r2, #0x11
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0xd
|
|
mov r2, #0x13
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0xf
|
|
mov r2, #0x6e
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x10
|
|
mov r2, #0x6f
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x11
|
|
mov r2, #0x70
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x12
|
|
mov r2, #0x71
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x13
|
|
mov r2, #0x72
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x14
|
|
mov r2, #0x73
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x15
|
|
mov r2, #0x74
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x16
|
|
mov r2, #0x7f
|
|
bl sub_0207DA1C
|
|
ldr r2, _0207DD80 ; =0x00000674
|
|
mov r1, #0x92
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x0]
|
|
mov r2, #0xff
|
|
str r2, [sp, #0x4]
|
|
ldr r0, _0207DD7C ; =0x000F0E00
|
|
mov r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
add r2, #0x85
|
|
add r0, r4, r2
|
|
mov r2, #0x1a
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r4, r2]
|
|
add r3, r1, #0x0
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x19
|
|
mov r2, #0x95
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1a
|
|
mov r2, #0x93
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1b
|
|
mov r2, #0x94
|
|
bl sub_0207DA1C
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1c
|
|
mov r2, #0xa2
|
|
bl sub_0207DA1C
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD84 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1d
|
|
mov r2, #0xa0
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD84 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1e
|
|
mov r2, #0xb6
|
|
bl sub_0207DA1C
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r3, _0207DD7C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1f
|
|
mov r2, #0xb3
|
|
bl sub_0207DA1C
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207DD7C: .word 0x000F0E00
|
|
_0207DD80: .word 0x00000674
|
|
_0207DD84: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207DD88
|
|
sub_0207DD88: ; 0x0207DD88
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
mov r2, #0x0
|
|
add r4, r0, #0x0
|
|
str r2, [sp, #0x0]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x1
|
|
add r3, r2, #0x0
|
|
bl FillBgTilemapRect
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x16
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x1
|
|
mov r2, #0x0
|
|
mov r3, #0xe
|
|
bl FillBgTilemapRect
|
|
ldr r0, _0207DE38 ; =0x0000068C
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x7
|
|
bhi _0207DE34
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0207DDD8: ; jump table (using 16-bit offset)
|
|
.short _0207DDE8 - _0207DDD8 - 2; case 0
|
|
.short _0207DDF2 - _0207DDD8 - 2; case 1
|
|
.short _0207DDFC - _0207DDD8 - 2; case 2
|
|
.short _0207DE10 - _0207DDD8 - 2; case 3
|
|
.short _0207DE06 - _0207DDD8 - 2; case 4
|
|
.short _0207DE1A - _0207DDD8 - 2; case 5
|
|
.short _0207DE24 - _0207DDD8 - 2; case 6
|
|
.short _0207DE2E - _0207DDD8 - 2; case 7
|
|
_0207DDE8:
|
|
add r0, r4, #0x0
|
|
bl sub_0207DE3C
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
_0207DDF2:
|
|
add r0, r4, #0x0
|
|
bl sub_0207E190
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
_0207DDFC:
|
|
add r0, r4, #0x0
|
|
bl sub_0207E200
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
_0207DE06:
|
|
add r0, r4, #0x0
|
|
bl sub_0207E4A0
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
_0207DE10:
|
|
add r0, r4, #0x0
|
|
bl sub_0207E594
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
_0207DE1A:
|
|
add r0, r4, #0x0
|
|
bl sub_0207E650
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
_0207DE24:
|
|
add r0, r4, #0x0
|
|
bl sub_0207E70C
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
_0207DE2E:
|
|
add r0, r4, #0x0
|
|
bl sub_0207E788
|
|
_0207DE34:
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207DE38: .word 0x0000068C
|
|
|
|
thumb_func_start sub_0207DE3C
|
|
sub_0207DE3C: ; 0x0207DE3C
|
|
push {r3-r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
add r0, r4, #0x4
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0x74
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0x84
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0x94
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xa4
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xb4
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xc4
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xd4
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xe4
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x40
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x50
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x10
|
|
ldrh r1, [r4, r1]
|
|
ldr r0, [r0, #0x1c]
|
|
bl Pokedex_ConvertToCurrentDexNo
|
|
add r2, r0, #0x0
|
|
beq _0207DEFE
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x9
|
|
mov r3, #0x3
|
|
bl sub_0207DA48
|
|
b _0207DF0C
|
|
_0207DEFE:
|
|
ldr r2, _0207E0B4 ; =0x00000674
|
|
mov r1, #0x16
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
_0207DF0C:
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
lsl r0, r0, #0x2
|
|
lsr r0, r0, #0x1f
|
|
bne _0207DF28
|
|
sub r1, #0x5c
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E0B8 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
mov r3, #0x2
|
|
bl sub_0207D998
|
|
b _0207DF36
|
|
_0207DF28:
|
|
sub r1, #0x5c
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E0BC ; =0x00050600
|
|
add r0, r4, #0x0
|
|
mov r3, #0x2
|
|
bl sub_0207D998
|
|
_0207DF36:
|
|
mov r1, #0x25
|
|
lsl r1, r1, #0x4
|
|
mov r0, #0x0
|
|
ldr r1, [r4, r1]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
mov r2, #0x91
|
|
lsl r2, r2, #0x2
|
|
ldr r3, [r4, r2]
|
|
mov r1, #0x0
|
|
add r5, r0, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E0B8 ; =0x00010200
|
|
add r2, #0xc
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r3, #0x0
|
|
ldrb r3, [r3, #0x17]
|
|
ldr r2, [r4, r2]
|
|
add r0, #0x10
|
|
lsl r3, r3, #0x3
|
|
sub r3, r3, r5
|
|
lsr r3, r3, #0x1
|
|
bl AddTextPrinterParameterized2
|
|
mov r1, #0x96
|
|
lsl r1, r1, #0x2
|
|
mov r0, #0x0
|
|
ldr r1, [r4, r1]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
mov r5, #0x91
|
|
lsl r5, r5, #0x2
|
|
ldr r2, [r4, r5]
|
|
add r1, r2, #0x0
|
|
add r1, #0x27
|
|
ldrb r1, [r1, #0x0]
|
|
lsl r1, r1, #0x3
|
|
sub r0, r1, r0
|
|
lsr r3, r0, #0x1
|
|
add r0, r5, #0x0
|
|
add r0, #0x50
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0x0
|
|
bne _0207DFB6
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #0x8]
|
|
add r2, #0x20
|
|
str r1, [sp, #0xc]
|
|
add r5, #0x14
|
|
add r0, r2, #0x0
|
|
ldr r2, [r4, r5]
|
|
bl AddTextPrinterParameterized2
|
|
b _0207DFD0
|
|
_0207DFB6:
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E0BC ; =0x00050600
|
|
add r2, #0x20
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
add r5, #0x14
|
|
add r0, r2, #0x0
|
|
ldr r2, [r4, r5]
|
|
bl AddTextPrinterParameterized2
|
|
_0207DFD0:
|
|
mov r0, #0x2
|
|
mov r2, #0x99
|
|
str r0, [sp, #0x0]
|
|
lsl r2, r2, #0x2
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0x0
|
|
lsl r2, r2, #0x10
|
|
mov r1, #0x10
|
|
lsr r2, r2, #0x10
|
|
mov r3, #0x5
|
|
bl sub_0207DA48
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E0B8 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x30
|
|
mov r3, #0x2
|
|
bl sub_0207D998
|
|
mov r0, #0x1
|
|
mov r2, #0x9a
|
|
str r0, [sp, #0x0]
|
|
lsl r2, r2, #0x2
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x12
|
|
mov r3, #0x7
|
|
bl sub_0207DA48
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E0B8 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x40
|
|
mov r3, #0x2
|
|
bl sub_0207D998
|
|
ldr r3, _0207E0C0 ; =0x00000262
|
|
ldrb r0, [r4, r3]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x19
|
|
cmp r0, #0x64
|
|
bhs _0207E048
|
|
mov r0, #0x1
|
|
add r2, r3, #0x0
|
|
str r0, [sp, #0x0]
|
|
add r2, #0xe
|
|
ldr r5, [r4, r2]
|
|
add r2, r3, #0x6
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x15
|
|
sub r2, r5, r2
|
|
mov r3, #0x7
|
|
bl sub_0207DA48
|
|
b _0207E058
|
|
_0207E048:
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x15
|
|
mov r2, #0x0
|
|
mov r3, #0x7
|
|
bl sub_0207DA48
|
|
_0207E058:
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E0B8 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x50
|
|
mov r3, #0x2
|
|
bl sub_0207D998
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x10
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x20
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x30
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x40
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x50
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_0207E0B4: .word 0x00000674
|
|
_0207E0B8: .word 0x00010200
|
|
_0207E0BC: .word 0x00050600
|
|
_0207E0C0: .word 0x00000262
|
|
|
|
thumb_func_start sub_0207E0C4
|
|
sub_0207E0C4: ; 0x0207E0C4
|
|
push {r3-r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
add r0, r1, #0x0
|
|
add r1, r2, #0x0
|
|
mov r2, #0x13
|
|
bl sub_0207FD00
|
|
add r4, r0, #0x0
|
|
ldr r2, [r4, #0x18]
|
|
cmp r2, #0x0
|
|
beq _0207E0F8
|
|
ldr r0, [r4, #0x14]
|
|
mov r1, #0x0
|
|
sub r0, r0, #0x1
|
|
lsl r0, r0, #0x4
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E18C ; =0x00010200
|
|
add r3, r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
add r0, r5, #0x0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
_0207E0F8:
|
|
ldr r2, [r4, #0x20]
|
|
cmp r2, #0x0
|
|
beq _0207E11A
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0x0
|
|
sub r0, r0, #0x1
|
|
lsl r0, r0, #0x4
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E18C ; =0x00010200
|
|
add r3, r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
add r0, r5, #0x0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
_0207E11A:
|
|
ldr r2, [r4, #0x28]
|
|
cmp r2, #0x0
|
|
beq _0207E13C
|
|
ldr r0, [r4, #0x24]
|
|
mov r1, #0x0
|
|
sub r0, r0, #0x1
|
|
lsl r0, r0, #0x4
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E18C ; =0x00010200
|
|
add r3, r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
add r0, r5, #0x0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
_0207E13C:
|
|
ldr r2, [r4, #0x30]
|
|
cmp r2, #0x0
|
|
beq _0207E15E
|
|
ldr r0, [r4, #0x2c]
|
|
mov r1, #0x0
|
|
sub r0, r0, #0x1
|
|
lsl r0, r0, #0x4
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E18C ; =0x00010200
|
|
add r3, r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
add r0, r5, #0x0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
_0207E15E:
|
|
ldr r2, [r4, #0x38]
|
|
cmp r2, #0x0
|
|
beq _0207E180
|
|
ldr r0, [r4, #0x34]
|
|
mov r1, #0x0
|
|
sub r0, r0, #0x1
|
|
lsl r0, r0, #0x4
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E18C ; =0x00010200
|
|
add r3, r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
add r0, r5, #0x0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
_0207E180:
|
|
add r0, r4, #0x0
|
|
bl sub_02080094
|
|
add sp, #0x10
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0207E18C: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207E190
|
|
sub_0207E190: ; 0x0207E190
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
add r0, #0x14
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r5, #0x0
|
|
bl sub_0207B628
|
|
add r6, r0, #0x0
|
|
add r0, r5, #0x0
|
|
bl sub_0207D958
|
|
add r7, r0, #0x0
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r5, r0]
|
|
ldrb r1, [r1, #0x11]
|
|
cmp r1, #0x2
|
|
bne _0207E1E8
|
|
mov r0, #0x13
|
|
bl AllocMonZeroed
|
|
add r4, r0, #0x0
|
|
add r0, r6, #0x0
|
|
add r1, r4, #0x0
|
|
bl CopyBoxPokemonToPokemon
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0x0
|
|
add r2, r7, #0x0
|
|
bl sub_0207E0C4
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
b _0207E1F4
|
|
_0207E1E8:
|
|
sub r0, #0x8
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0x0
|
|
add r2, r7, #0x0
|
|
bl sub_0207E0C4
|
|
_0207E1F4:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r3-r7, pc}
|
|
|
|
thumb_func_start sub_0207E200
|
|
sub_0207E200: ; 0x0207E200
|
|
push {r3-r5, lr}
|
|
sub sp, #0x18
|
|
add r4, r0, #0x0
|
|
add r0, #0x24
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0xf4
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x41
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x45
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x49
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x51
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x55
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x40
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x50
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x60
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x70
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl GetWindowWidth
|
|
mov r1, #0x76
|
|
str r1, [sp, #0x0]
|
|
mov r1, #0x9d
|
|
lsl r1, r1, #0x2
|
|
ldrh r2, [r4, r1]
|
|
lsl r0, r0, #0x1a
|
|
add r1, r1, #0x2
|
|
str r2, [sp, #0x4]
|
|
ldrh r1, [r4, r1]
|
|
lsr r0, r0, #0x18
|
|
mov r2, #0x75
|
|
str r1, [sp, #0x8]
|
|
mov r1, #0x3
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mov r3, #0x77
|
|
str r1, [sp, #0x14]
|
|
bl sub_0207DA94
|
|
mov r0, #0x0
|
|
mov r2, #0x9e
|
|
str r0, [sp, #0x0]
|
|
lsl r2, r2, #0x2
|
|
ldrh r2, [r4, r2]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x78
|
|
mov r3, #0x3
|
|
bl sub_0207DA48
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E484 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x10
|
|
mov r3, #0x1
|
|
bl sub_0207D998
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r2, _0207E488 ; =0x0000027A
|
|
add r0, r4, #0x0
|
|
ldrh r2, [r4, r2]
|
|
mov r1, #0x79
|
|
mov r3, #0x3
|
|
bl sub_0207DA48
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E484 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x20
|
|
mov r3, #0x1
|
|
bl sub_0207D998
|
|
mov r0, #0x0
|
|
mov r2, #0x9f
|
|
str r0, [sp, #0x0]
|
|
lsl r2, r2, #0x2
|
|
ldrh r2, [r4, r2]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x7a
|
|
mov r3, #0x3
|
|
bl sub_0207DA48
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E484 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x30
|
|
mov r3, #0x1
|
|
bl sub_0207D998
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r2, _0207E48C ; =0x0000027E
|
|
add r0, r4, #0x0
|
|
ldrh r2, [r4, r2]
|
|
mov r1, #0x7b
|
|
mov r3, #0x3
|
|
bl sub_0207DA48
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E484 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x40
|
|
mov r3, #0x1
|
|
bl sub_0207D998
|
|
mov r0, #0x0
|
|
mov r2, #0xa
|
|
str r0, [sp, #0x0]
|
|
lsl r2, r2, #0x6
|
|
ldrh r2, [r4, r2]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x7c
|
|
mov r3, #0x3
|
|
bl sub_0207DA48
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E484 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x50
|
|
mov r3, #0x1
|
|
bl sub_0207D998
|
|
ldr r2, _0207E490 ; =0x00000282
|
|
ldr r0, _0207E494 ; =0x0000067C
|
|
ldrb r2, [r4, r2]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl BufferAbilityName
|
|
ldr r0, _0207E498 ; =0x00000674
|
|
mov r1, #0x7d
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
ldr r1, _0207E494 ; =0x0000067C
|
|
add r2, r5, #0x0
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E484 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x60
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
ldr r2, _0207E49C ; =0x0000022A
|
|
mov r0, #0x1
|
|
mov r1, #0x1a
|
|
mov r3, #0x13
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0207E490 ; =0x00000282
|
|
mov r2, #0x1a
|
|
lsl r2, r2, #0x6
|
|
ldrb r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r5, r0, #0x0
|
|
bl ReadMsgDataIntoString
|
|
add r0, r5, #0x0
|
|
bl DestroyMsgData
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E484 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x70
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x10
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x20
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x30
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x40
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x50
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x60
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x70
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x18
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0207E484: .word 0x00010200
|
|
_0207E488: .word 0x0000027A
|
|
_0207E48C: .word 0x0000027E
|
|
_0207E490: .word 0x00000282
|
|
_0207E494: .word 0x0000067C
|
|
_0207E498: .word 0x00000674
|
|
_0207E49C: .word 0x0000022A
|
|
|
|
thumb_func_start sub_0207E4A0
|
|
sub_0207E4A0: ; 0x0207E4A0
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
add r0, #0x34
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x59
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x3
|
|
beq _0207E4C6
|
|
cmp r0, #0x4
|
|
bne _0207E580
|
|
_0207E4C6:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, _0207E584 ; =0x00000674
|
|
mov r1, #0xa5
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E588 ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
add r1, #0x10
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
ldr r1, _0207E58C ; =0x0000029B
|
|
ldr r2, _0207E584 ; =0x00000674
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r4, r2]
|
|
add r1, #0xa6
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E590 ; =0x00010200
|
|
mov r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x91
|
|
mov r2, #0x1a
|
|
str r1, [sp, #0xc]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r4, r2]
|
|
add r0, #0x10
|
|
add r3, r1, #0x0
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x10
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r4, r0]
|
|
ldrb r1, [r1, #0x12]
|
|
cmp r1, #0x3
|
|
bne _0207E580
|
|
sub r0, #0x8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, _0207E584 ; =0x00000674
|
|
mov r1, #0xa3
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E588 ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ScheduleWindowCopyToVram
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0x0
|
|
bl sub_0207CFAC
|
|
_0207E580:
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207E584: .word 0x00000674
|
|
_0207E588: .word 0x000F0E00
|
|
_0207E58C: .word 0x0000029B
|
|
_0207E590: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207E594
|
|
sub_0207E594: ; 0x0207E594
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
add r0, #0x44
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x2
|
|
bne _0207E5B4
|
|
add r0, r4, #0x0
|
|
mov r1, #0x9b
|
|
bl sub_0207D924
|
|
b _0207E5BC
|
|
_0207E5B4:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x81
|
|
bl sub_0207D924
|
|
_0207E5BC:
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207EA44
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_0207EA44
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
bl sub_0207EA44
|
|
add r0, r4, #0x0
|
|
mov r1, #0x3
|
|
bl sub_0207EA44
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x10
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x20
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x30
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207E650
|
|
sub_0207E650: ; 0x0207E650
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
add r0, #0x54
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x2
|
|
bne _0207E670
|
|
add r0, r4, #0x0
|
|
mov r1, #0x9f
|
|
bl sub_0207D924
|
|
b _0207E678
|
|
_0207E670:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x9e
|
|
bl sub_0207D924
|
|
_0207E678:
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207EA44
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_0207EA44
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
bl sub_0207EA44
|
|
add r0, r4, #0x0
|
|
mov r1, #0x3
|
|
bl sub_0207EA44
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x10
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x20
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x30
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207E70C
|
|
sub_0207E70C: ; 0x0207E70C
|
|
push {r3-r4, lr}
|
|
sub sp, #0x4
|
|
add r4, r0, #0x0
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x79
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
ldr r2, _0207E780 ; =0x00000699
|
|
add r0, r4, #0x0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #0xb7
|
|
mov r3, #0x3
|
|
bl sub_0207DA48
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E784 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _0207E780 ; =0x00000699
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0x0
|
|
beq _0207E77A
|
|
add r0, r4, #0x0
|
|
mov r1, #0xb4
|
|
bl sub_0207D924
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
_0207E77A:
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
nop
|
|
_0207E780: .word 0x00000699
|
|
_0207E784: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207E788
|
|
sub_0207E788: ; 0x0207E788
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
mov r0, #0x71
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa1
|
|
bl sub_0207D924
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x3
|
|
beq _0207E7BC
|
|
cmp r0, #0x4
|
|
bne _0207E82C
|
|
_0207E7BC:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, _0207E830 ; =0x00000674
|
|
mov r1, #0xa5
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207E834 ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
add r1, #0x10
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
ldr r1, _0207E838 ; =0x0000029B
|
|
ldr r2, _0207E830 ; =0x00000674
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r4, r2]
|
|
add r1, #0xa6
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E83C ; =0x00010200
|
|
mov r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x91
|
|
mov r2, #0x1a
|
|
str r1, [sp, #0xc]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r4, r2]
|
|
add r0, #0x10
|
|
add r3, r1, #0x0
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x10
|
|
bl ScheduleWindowCopyToVram
|
|
_0207E82C:
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207E830: .word 0x00000674
|
|
_0207E834: .word 0x000F0E00
|
|
_0207E838: .word 0x0000029B
|
|
_0207E83C: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207E840
|
|
sub_0207E840: ; 0x0207E840
|
|
push {r4-r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _0207E994 ; =0x00000674
|
|
mov r1, #0xba
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x0
|
|
add r4, r0, #0x0
|
|
ldr r2, _0207E998 ; =0x0000067C
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x1d
|
|
ldrb r2, [r5, r2]
|
|
mov r3, #0x3
|
|
bl BufferIntegerAsString
|
|
ldr r1, _0207E998 ; =0x0000067C
|
|
add r2, r4, #0x0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #0x6
|
|
mov r0, #0x0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
mov r0, #0x38
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
mov r1, #0x0
|
|
mov r2, #0x1a
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E99C ; =0x00010200
|
|
lsl r2, r2, #0x6
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x91
|
|
str r1, [sp, #0xc]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r5, r2]
|
|
add r0, #0x10
|
|
add r3, r4, #0x0
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, _0207E994 ; =0x00000674
|
|
mov r1, #0xb9
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0x0
|
|
mov r0, #0x0
|
|
add r1, r6, #0x0
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
sub r0, r4, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E99C ; =0x00010200
|
|
add r2, r6, #0x0
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x91
|
|
str r1, [sp, #0xc]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r3, r4, #0x0
|
|
add r0, #0x10
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0x0
|
|
bl String_Delete
|
|
ldr r0, _0207E994 ; =0x00000674
|
|
mov r1, #0xb8
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x0
|
|
ldr r2, _0207E998 ; =0x0000067C
|
|
add r6, r0, #0x0
|
|
add r3, r2, #0x0
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x1c
|
|
add r3, #0x1b
|
|
ldrb r2, [r5, r2]
|
|
ldrb r3, [r5, r3]
|
|
lsl r2, r2, #0x2
|
|
add r2, r3, r2
|
|
add r2, r2, #0x1
|
|
mov r3, #0x3
|
|
bl BufferIntegerAsString
|
|
ldr r1, _0207E998 ; =0x0000067C
|
|
add r2, r6, #0x0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r6, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #0x6
|
|
mov r0, #0x0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
sub r0, r4, r0
|
|
lsl r0, r0, #0x18
|
|
mov r1, #0x0
|
|
lsr r3, r0, #0x18
|
|
mov r2, #0x1a
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207E99C ; =0x00010200
|
|
lsl r2, r2, #0x6
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x91
|
|
str r1, [sp, #0xc]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r5, r2]
|
|
add r0, #0x10
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x10
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207E994: .word 0x00000674
|
|
_0207E998: .word 0x0000067C
|
|
_0207E99C: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207E9A0
|
|
sub_0207E9A0: ; 0x0207E9A0
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _0207EA34 ; =0x0000069A
|
|
mov r1, #0x3
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0207FC5C
|
|
ldr r2, _0207EA38 ; =0x00000678
|
|
add r1, r0, #0x0
|
|
ldr r0, [r4, r2]
|
|
add r2, #0x8
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207EA3C ; =0x000F0E00
|
|
add r0, r4, #0x0
|
|
add r1, #0x20
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r1, _0207EA34 ; =0x0000069A
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x20]
|
|
bl sub_0207FCC0
|
|
ldr r2, _0207EA38 ; =0x00000678
|
|
add r1, r0, #0x0
|
|
ldr r0, [r4, r2]
|
|
add r2, #0x8
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldr r2, _0207EA40 ; =0x00010200
|
|
add r0, r4, #0x0
|
|
add r1, #0x30
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x20
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x30
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207EA34: .word 0x0000069A
|
|
_0207EA38: .word 0x00000678
|
|
_0207EA3C: .word 0x000F0E00
|
|
_0207EA40: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207EA44
|
|
sub_0207EA44: ; 0x0207EA44
|
|
push {r4-r7, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0x0
|
|
mov r0, #0x91
|
|
add r7, r1, #0x0
|
|
lsl r0, r0, #0x2
|
|
lsl r6, r7, #0x4
|
|
ldr r4, [r5, r0]
|
|
cmp r7, #0x4
|
|
beq _0207EA76
|
|
lsl r1, r7, #0x1
|
|
add r2, r5, r1
|
|
add r1, r0, #0x0
|
|
add r1, #0x40
|
|
ldrh r1, [r2, r1]
|
|
add r2, r0, #0x0
|
|
add r2, #0x48
|
|
str r1, [sp, #0x20]
|
|
add r1, r5, r7
|
|
ldrb r2, [r1, r2]
|
|
add r0, #0x4c
|
|
str r2, [sp, #0x1c]
|
|
ldrb r0, [r1, r0]
|
|
str r0, [sp, #0x18]
|
|
b _0207EA88
|
|
_0207EA76:
|
|
add r0, #0x8
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
ldrh r0, [r0, #0x18]
|
|
str r0, [sp, #0x20]
|
|
bl WazaGetMaxPp
|
|
str r0, [sp, #0x1c]
|
|
str r0, [sp, #0x18]
|
|
_0207EA88:
|
|
ldr r2, _0207EB54 ; =0x00000688
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, [r5, r2]
|
|
sub r2, #0x8
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #0x2
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207EB58 ; =0x000F0E00
|
|
mov r2, #0x1a
|
|
str r0, [sp, #0x8]
|
|
mov r1, #0x0
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r5, r2]
|
|
add r0, r4, r6
|
|
mov r3, #0x1
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x20]
|
|
ldr r2, _0207EB5C ; =0x00000674
|
|
cmp r0, #0x0
|
|
beq _0207EB10
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x87
|
|
bl ReadMsgDataIntoString
|
|
mov r3, #0x10
|
|
mov r2, #0x1a
|
|
str r3, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207EB60 ; =0x00010200
|
|
mov r1, #0x0
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r5, r2]
|
|
add r0, r4, r6
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0x0
|
|
add r0, #0x8d
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, r7, #0x0
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [sp, #0x18]
|
|
add r7, #0x88
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x2
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x3c
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, #0x0
|
|
mov r2, #0x75
|
|
add r3, r7, #0x0
|
|
bl sub_0207DA94
|
|
add sp, #0x24
|
|
pop {r4-r7, pc}
|
|
_0207EB10:
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x99
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #0x6
|
|
mov r0, #0x0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0x0
|
|
bl sub_02002E14
|
|
add r3, r0, #0x0
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207EB60 ; =0x00010200
|
|
mov r2, #0x1a
|
|
str r0, [sp, #0x8]
|
|
mov r1, #0x0
|
|
add r0, r4, r6
|
|
lsr r4, r3, #0x1
|
|
mov r3, #0x3c
|
|
str r1, [sp, #0xc]
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r5, r2]
|
|
sub r3, r3, r4
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x24
|
|
pop {r4-r7, pc}
|
|
nop
|
|
_0207EB54: .word 0x00000688
|
|
_0207EB58: .word 0x000F0E00
|
|
_0207EB5C: .word 0x00000674
|
|
_0207EB60: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207EB64
|
|
sub_0207EB64: ; 0x0207EB64
|
|
push {r3-r6, lr}
|
|
sub sp, #0x4
|
|
add r5, r0, #0x0
|
|
mov r0, #0x65
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
add r4, r1, #0x0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x69
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x50
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x60
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x70
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
bl GetWazaAttr
|
|
add r2, r0, #0x0
|
|
cmp r2, #0x1
|
|
bhi _0207EBD2
|
|
ldr r2, _0207EC88 ; =0x00000674
|
|
mov r1, #0x9a
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
b _0207EBE0
|
|
_0207EBD2:
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
add r0, r5, #0x0
|
|
mov r1, #0x96
|
|
mov r3, #0x3
|
|
bl sub_0207DA48
|
|
_0207EBE0:
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r5, r1]
|
|
ldr r2, _0207EC8C ; =0x00010200
|
|
add r0, r5, #0x0
|
|
add r1, #0x50
|
|
mov r3, #0x2
|
|
bl sub_0207D998
|
|
add r0, r4, #0x0
|
|
mov r1, #0x4
|
|
bl GetWazaAttr
|
|
add r2, r0, #0x0
|
|
bne _0207EC0E
|
|
ldr r2, _0207EC88 ; =0x00000674
|
|
mov r1, #0x9a
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
b _0207EC1C
|
|
_0207EC0E:
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x0]
|
|
add r0, r5, #0x0
|
|
mov r1, #0x97
|
|
mov r3, #0x3
|
|
bl sub_0207DA48
|
|
_0207EC1C:
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r5, r1]
|
|
ldr r2, _0207EC8C ; =0x00010200
|
|
add r0, r5, #0x0
|
|
add r1, #0x60
|
|
mov r3, #0x2
|
|
bl sub_0207D998
|
|
ldr r2, _0207EC90 ; =0x0000024B
|
|
mov r0, #0x1
|
|
mov r1, #0x1a
|
|
mov r3, #0x13
|
|
bl NewMsgDataFromNarc
|
|
mov r2, #0x1a
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r5, r2]
|
|
add r1, r4, #0x0
|
|
add r6, r0, #0x0
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x91
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r5, r1]
|
|
ldr r2, _0207EC8C ; =0x00010200
|
|
add r0, r5, #0x0
|
|
add r1, #0x70
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
add r0, r6, #0x0
|
|
bl DestroyMsgData
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x50
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x60
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x70
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x4
|
|
pop {r3-r6, pc}
|
|
.balign 4
|
|
_0207EC88: .word 0x00000674
|
|
_0207EC8C: .word 0x00010200
|
|
_0207EC90: .word 0x0000024B
|
|
|
|
thumb_func_start sub_0207EC94
|
|
sub_0207EC94: ; 0x0207EC94
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x65
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x69
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x50
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x60
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x70
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0207ECDC
|
|
sub_0207ECDC: ; 0x0207ECDC
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r4, r0]
|
|
ldrh r1, [r1, #0x18]
|
|
cmp r1, #0x0
|
|
beq _0207ED0E
|
|
sub r0, #0x8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x40
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x4
|
|
bl sub_0207EA44
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x40
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r4, pc}
|
|
_0207ED0E:
|
|
sub r0, #0xc8
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0207ED18
|
|
sub_0207ED18: ; 0x0207ED18
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x61
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x1
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0207ED30
|
|
sub_0207ED30: ; 0x0207ED30
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r4, r0]
|
|
ldr r0, _0207EDB0 ; =0x0000068D
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
lsl r0, r0, #0x4
|
|
add r0, r1, r0
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r4, r0]
|
|
ldr r0, _0207EDB0 ; =0x0000068D
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
lsl r0, r0, #0x4
|
|
add r0, r1, r0
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _0207EDB0 ; =0x0000068D
|
|
add r0, r4, #0x0
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
bl sub_0207EA44
|
|
ldr r1, _0207EDB0 ; =0x0000068D
|
|
add r0, r4, #0x0
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
bl sub_0207EA44
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r4, r0]
|
|
ldr r0, _0207EDB0 ; =0x0000068D
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
lsl r0, r0, #0x4
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r4, r0]
|
|
ldr r0, _0207EDB0 ; =0x0000068D
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
lsl r0, r0, #0x4
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r4, pc}
|
|
nop
|
|
_0207EDB0: .word 0x0000068D
|
|
|
|
thumb_func_start sub_0207EDB4
|
|
sub_0207EDB4: ; 0x0207EDB4
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _0207EE20 ; =0x0000068C
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0x3
|
|
bne _0207EDEE
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x50
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x60
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x70
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r4, [r5, r0]
|
|
add r4, #0x70
|
|
b _0207EDF6
|
|
_0207EDEE:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r4, [r5, r0]
|
|
add r4, #0x50
|
|
_0207EDF6:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, _0207EE24 ; =0x00000674
|
|
mov r1, #0x9c
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
ldr r2, _0207EE28 ; =0x00010200
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
mov r3, #0x0
|
|
bl sub_0207D998
|
|
add r0, r4, #0x0
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_0207EE20: .word 0x0000068C
|
|
_0207EE24: .word 0x00000674
|
|
_0207EE28: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207EE2C
|
|
sub_0207EE2C: ; 0x0207EE2C
|
|
push {r4-r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0x0
|
|
add r0, #0x50
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa
|
|
bl GetWazaAttr
|
|
bl sub_0208315C
|
|
add r4, r0, #0x0
|
|
mov r0, #0x0
|
|
mov r1, #0x1a
|
|
mov r2, #0xc5
|
|
mov r3, #0x13
|
|
bl NewMsgDataFromNarc
|
|
mov r2, #0x1a
|
|
lsl r2, r2, #0x6
|
|
ldr r2, [r5, r2]
|
|
add r1, r4, #0x0
|
|
add r6, r0, #0x0
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x0
|
|
mov r2, #0x1a
|
|
str r1, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207EEAC ; =0x00010200
|
|
lsl r2, r2, #0x6
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x91
|
|
str r1, [sp, #0xc]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r5, r2]
|
|
add r0, #0x50
|
|
add r3, r1, #0x0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0x0
|
|
bl DestroyMsgData
|
|
mov r0, #0x75
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x50
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207EEAC: .word 0x00010200
|
|
|
|
thumb_func_start sub_0207EEB0
|
|
sub_0207EEB0: ; 0x0207EEB0
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x75
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x50
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0207EECC
|
|
sub_0207EECC: ; 0x0207EECC
|
|
push {r4-r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0x0
|
|
cmp r1, #0x4
|
|
bgt _0207EEF0
|
|
cmp r1, #0x0
|
|
blt _0207EF0E
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0207EEE6: ; jump table (using 16-bit offset)
|
|
.short _0207EEF6 - _0207EEE6 - 2; case 0
|
|
.short _0207EEFA - _0207EEE6 - 2; case 1
|
|
.short _0207EEFE - _0207EEE6 - 2; case 2
|
|
.short _0207EF02 - _0207EEE6 - 2; case 3
|
|
.short _0207EF06 - _0207EEE6 - 2; case 4
|
|
_0207EEF0:
|
|
cmp r1, #0xfe
|
|
beq _0207EF0A
|
|
b _0207EF0E
|
|
_0207EEF6:
|
|
mov r5, #0xac
|
|
b _0207EF10
|
|
_0207EEFA:
|
|
mov r5, #0xae
|
|
b _0207EF10
|
|
_0207EEFE:
|
|
mov r5, #0xaf
|
|
b _0207EF10
|
|
_0207EF02:
|
|
mov r5, #0xb0
|
|
b _0207EF10
|
|
_0207EF06:
|
|
mov r5, #0xad
|
|
b _0207EF10
|
|
_0207EF0A:
|
|
mov r5, #0xb1
|
|
b _0207EF10
|
|
_0207EF0E:
|
|
mov r5, #0xb2
|
|
_0207EF10:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r6, [r4, r0]
|
|
ldr r2, _0207EF60 ; =0x000003E2
|
|
add r6, #0x20
|
|
add r0, r6, #0x0
|
|
mov r1, #0x1
|
|
mov r3, #0xd
|
|
bl DrawFrameAndWindow2
|
|
add r0, r6, #0x0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, _0207EF64 ; =0x00000674
|
|
add r1, r5, #0x0
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r3, #0x0
|
|
mov r2, #0x1a
|
|
str r3, [sp, #0x0]
|
|
mov r0, #0xff
|
|
str r0, [sp, #0x4]
|
|
ldr r0, _0207EF68 ; =0x0001020F
|
|
lsl r2, r2, #0x6
|
|
str r0, [sp, #0x8]
|
|
str r3, [sp, #0xc]
|
|
ldr r2, [r4, r2]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x1
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0x0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207EF60: .word 0x000003E2
|
|
_0207EF64: .word 0x00000674
|
|
_0207EF68: .word 0x0001020F
|