mirror of
https://github.com/pret/pokediamond.git
synced 2026-04-26 08:17:27 -05:00
4859 lines
84 KiB
ArmAsm
4859 lines
84 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.extern gSystem
|
|
|
|
.section .rodata
|
|
|
|
.global UNK_020FA624
|
|
UNK_020FA624: ; 0x020FA624
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA634
|
|
UNK_020FA634: ; 0x020FA634
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA650
|
|
UNK_020FA650: ; 0x020FA650
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA66C
|
|
UNK_020FA66C: ; 0x020FA66C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x1B, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA688
|
|
UNK_020FA688: ; 0x020FA688
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1A, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA6A4
|
|
UNK_020FA6A4: ; 0x020FA6A4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA6C0
|
|
UNK_020FA6C0: ; 0x020FA6C0
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
|
|
.global UNK_020FA6E8
|
|
UNK_020FA6E8: ; 0x020FA6E8
|
|
.word sub_02079C7C, sub_02079DB4, sub_02079ECC, 0xFFFFFFFF
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_02079C70
|
|
sub_02079C70: ; 0x02079C70
|
|
push {r3, lr}
|
|
bl Save_VarsFlags_Get
|
|
bl sub_0205F184
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_02079C7C
|
|
sub_02079C7C: ; 0x02079C7C
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x0
|
|
add r1, r0, #0x0
|
|
bl Main_SetVBlankIntrCB
|
|
bl sub_02015F1C
|
|
bl GfGfx_DisableEngineAPlanes
|
|
bl GfGfx_DisableEngineBPlanes
|
|
mov r1, #0x1
|
|
lsl r1, r1, #0x1a
|
|
ldr r0, [r1, #0x0]
|
|
ldr r2, _02079DA0 ; =0xFFFFE0FF
|
|
and r0, r2
|
|
str r0, [r1, #0x0]
|
|
ldr r0, _02079DA4 ; =0x04001000
|
|
ldr r3, [r0, #0x0]
|
|
and r2, r3
|
|
str r2, [r0, #0x0]
|
|
ldr r3, [r1, #0x0]
|
|
ldr r2, _02079DA8 ; =0xFFFF1FFF
|
|
and r3, r2
|
|
str r3, [r1, #0x0]
|
|
ldr r3, [r0, #0x0]
|
|
add r1, #0x50
|
|
and r2, r3
|
|
str r2, [r0, #0x0]
|
|
mov r2, #0x0
|
|
strh r2, [r1, #0x0]
|
|
add r0, #0x50
|
|
strh r2, [r0, #0x0]
|
|
mov r0, #0x4
|
|
mov r1, #0x8
|
|
bl SetKeyRepeatTimers
|
|
mov r2, #0x1
|
|
mov r0, #0x3
|
|
mov r1, #0x13
|
|
lsl r2, r2, #0x12
|
|
bl Heap_Create
|
|
ldr r1, _02079DAC ; =0x0000069C
|
|
add r0, r4, #0x0
|
|
mov r2, #0x13
|
|
bl OverlayManager_CreateAndGetData
|
|
ldr r2, _02079DAC ; =0x0000069C
|
|
mov r1, #0x0
|
|
add r5, r0, #0x0
|
|
bl memset
|
|
add r0, r4, #0x0
|
|
bl OverlayManager_GetField18
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x13
|
|
bl BgConfig_Alloc
|
|
mov r1, #0x1
|
|
str r0, [r5, #0x0]
|
|
mov r0, #0x13
|
|
add r2, r1, #0x0
|
|
bl sub_02014BF4
|
|
mov r1, #0x2d
|
|
lsl r1, r1, #0x4
|
|
str r0, [r5, r1]
|
|
mov r0, #0x0
|
|
mov r1, #0x13
|
|
bl sub_02002C84
|
|
bl sub_0201CC08
|
|
mov r0, #0x4
|
|
bl sub_0201CC24
|
|
add r0, r5, #0x0
|
|
bl sub_0207B028
|
|
bl sub_02079F58
|
|
ldr r0, [r5, #0x0]
|
|
bl sub_02079F78
|
|
add r0, r5, #0x0
|
|
bl sub_0207A0CC
|
|
bl sub_0207A188
|
|
add r0, r5, #0x0
|
|
bl sub_0207EF6C
|
|
add r0, r5, #0x0
|
|
bl sub_0207A1A0
|
|
add r0, r5, #0x0
|
|
bl sub_0207AAB0
|
|
add r0, r5, #0x0
|
|
bl sub_0207C328
|
|
add r0, r5, #0x0
|
|
bl sub_0207C448
|
|
add r0, r5, #0x0
|
|
bl sub_0207F840
|
|
add r0, r5, #0x0
|
|
bl sub_0207C71C
|
|
add r0, r5, #0x0
|
|
bl sub_0207C77C
|
|
add r0, r5, #0x0
|
|
bl sub_0207D5BC
|
|
add r0, r5, #0x0
|
|
bl sub_0207AF58
|
|
add r0, r5, #0x0
|
|
bl sub_0207F95C
|
|
add r0, r5, #0x0
|
|
bl sub_0207F098
|
|
ldr r0, _02079DB0 ; =sub_02079F24
|
|
add r1, r5, #0x0
|
|
bl Main_SetVBlankIntrCB
|
|
bl GfGfx_BothDispOn
|
|
mov r1, #0x0
|
|
mov r0, #0x3d
|
|
add r2, r1, #0x0
|
|
bl sub_0200433C
|
|
bl sub_02033F20
|
|
mov r0, #0x1
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02079DA0: .word 0xFFFFE0FF
|
|
_02079DA4: .word 0x04001000
|
|
_02079DA8: .word 0xFFFF1FFF
|
|
_02079DAC: .word 0x0000069C
|
|
_02079DB0: .word sub_02079F24
|
|
|
|
thumb_func_start sub_02079DB4
|
|
sub_02079DB4: ; 0x02079DB4
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r4, #0x0]
|
|
add r5, r0, #0x0
|
|
cmp r1, #0x13
|
|
bhi _02079EA2
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #0x6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02079DD0: ; jump table (using 16-bit offset)
|
|
.short _02079DF8 - _02079DD0 - 2; case 0
|
|
.short _02079E06 - _02079DD0 - 2; case 1
|
|
.short _02079E0E - _02079DD0 - 2; case 2
|
|
.short _02079E16 - _02079DD0 - 2; case 3
|
|
.short _02079E1E - _02079DD0 - 2; case 4
|
|
.short _02079E26 - _02079DD0 - 2; case 5
|
|
.short _02079E2E - _02079DD0 - 2; case 6
|
|
.short _02079E36 - _02079DD0 - 2; case 7
|
|
.short _02079E3E - _02079DD0 - 2; case 8
|
|
.short _02079E46 - _02079DD0 - 2; case 9
|
|
.short _02079E4E - _02079DD0 - 2; case 10
|
|
.short _02079E56 - _02079DD0 - 2; case 11
|
|
.short _02079E5E - _02079DD0 - 2; case 12
|
|
.short _02079E66 - _02079DD0 - 2; case 13
|
|
.short _02079E6E - _02079DD0 - 2; case 14
|
|
.short _02079E76 - _02079DD0 - 2; case 15
|
|
.short _02079E7E - _02079DD0 - 2; case 16
|
|
.short _02079E86 - _02079DD0 - 2; case 17
|
|
.short _02079E8E - _02079DD0 - 2; case 18
|
|
.short _02079E96 - _02079DD0 - 2; case 19
|
|
_02079DF8:
|
|
mov r0, #0x0
|
|
mov r1, #0x13
|
|
bl sub_02079A70
|
|
mov r0, #0x1
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E06:
|
|
bl sub_0207A2D8
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E0E:
|
|
bl sub_0207A310
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E16:
|
|
bl sub_0207A448
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E1E:
|
|
bl sub_0207A45C
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E26:
|
|
bl sub_0207A470
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E2E:
|
|
bl sub_0207A484
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E36:
|
|
bl sub_0207A498
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E3E:
|
|
bl sub_0207A57C
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E46:
|
|
bl sub_0207A654
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E4E:
|
|
bl sub_0207A760
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E56:
|
|
bl sub_0207A77C
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E5E:
|
|
bl sub_0207A790
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E66:
|
|
bl sub_0207A7A4
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E6E:
|
|
bl sub_0207A818
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E76:
|
|
bl sub_0207A884
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E7E:
|
|
bl sub_0207AA20
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E86:
|
|
bl sub_0207AA70
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E8E:
|
|
bl sub_0207AA88
|
|
str r0, [r4, #0x0]
|
|
b _02079EA2
|
|
_02079E96:
|
|
bl sub_0207AA98
|
|
cmp r0, #0x1
|
|
bne _02079EA2
|
|
mov r0, #0x1
|
|
pop {r3-r5, pc}
|
|
_02079EA2:
|
|
add r0, r5, #0x0
|
|
bl sub_0207C3F4
|
|
add r0, r5, #0x0
|
|
bl sub_0207CC88
|
|
add r0, r5, #0x0
|
|
bl sub_0207D3F4
|
|
ldr r0, _02079EC8 ; =0x00000404
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200BC1C
|
|
add r0, r5, #0x0
|
|
bl sub_0207F008
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02079EC8: .word 0x00000404
|
|
|
|
thumb_func_start sub_02079ECC
|
|
sub_02079ECC: ; 0x02079ECC
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
bl OverlayManager_GetData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x0
|
|
add r1, r0, #0x0
|
|
bl Main_SetVBlankIntrCB
|
|
add r0, r5, #0x0
|
|
bl sub_0207F068
|
|
add r0, r5, #0x0
|
|
bl sub_0207C3D4
|
|
add r0, r5, #0x0
|
|
bl sub_0207D74C
|
|
ldr r0, [r5, #0x0]
|
|
bl sub_0207A08C
|
|
bl sub_0201CD04
|
|
bl sub_0201C29C
|
|
add r0, r5, #0x0
|
|
bl sub_0207A264
|
|
mov r0, #0x0
|
|
bl sub_02002CC0
|
|
ldr r0, _02079F20 ; =0x04000050
|
|
mov r1, #0x0
|
|
strh r1, [r0, #0x0]
|
|
add r0, r4, #0x0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x13
|
|
bl Heap_Destroy
|
|
mov r0, #0x1
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02079F20: .word 0x04000050
|
|
|
|
thumb_func_start sub_02079F24
|
|
sub_02079F24: ; 0x02079F24
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
bl DoScheduledBgGpuUpdates
|
|
mov r0, #0xae
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl sub_020081C4
|
|
bl sub_0201C30C
|
|
bl sub_0200BC30
|
|
ldr r3, _02079F50 ; =0x027E0000
|
|
ldr r1, _02079F54 ; =0x00003FF8
|
|
mov r0, #0x1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_02079F50: .word 0x027E0000
|
|
_02079F54: .word 0x00003FF8
|
|
|
|
thumb_func_start sub_02079F58
|
|
sub_02079F58: ; 0x02079F58
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _02079F74 ; =UNK_020FA6C0
|
|
add r3, sp, #0x0
|
|
mov r2, #0x5
|
|
_02079F62:
|
|
ldmia r4!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
sub r2, r2, #0x1
|
|
bne _02079F62
|
|
add r0, sp, #0x0
|
|
bl GfGfx_SetBanks
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_02079F74: .word UNK_020FA6C0
|
|
|
|
thumb_func_start sub_02079F78
|
|
sub_02079F78: ; 0x02079F78
|
|
push {r4-r5, lr}
|
|
sub sp, #0x9c
|
|
ldr r5, _0207A074 ; =UNK_020FA624
|
|
add r3, sp, #0x8c
|
|
add r4, r0, #0x0
|
|
add r2, r3, #0x0
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
add r0, r2, #0x0
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r5, _0207A078 ; =UNK_020FA650
|
|
add r3, sp, #0x70
|
|
ldmia r5!, {r0-r1}
|
|
add r2, r3, #0x0
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x1
|
|
str r0, [r3, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _0207A07C ; =UNK_020FA66C
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0-r1}
|
|
add r2, r3, #0x0
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
str r0, [r3, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
mov r2, #0x0
|
|
mov r3, #0x88
|
|
bl ScheduleSetBgPosText
|
|
ldr r5, _0207A080 ; =UNK_020FA688
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0-r1}
|
|
add r2, r3, #0x0
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x3
|
|
str r0, [r3, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl InitBgFromTemplate
|
|
ldr r5, _0207A084 ; =UNK_020FA6A4
|
|
add r3, sp, #0x1c
|
|
ldmia r5!, {r0-r1}
|
|
add r2, r3, #0x0
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x4
|
|
str r0, [r3, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0x0
|
|
mov r1, #0x4
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _0207A088 ; =UNK_020FA634
|
|
add r3, sp, #0x0
|
|
ldmia r5!, {r0-r1}
|
|
add r2, r3, #0x0
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldmia r5!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x5
|
|
str r0, [r3, #0x0]
|
|
add r0, r4, #0x0
|
|
mov r3, #0x0
|
|
bl InitBgFromTemplate
|
|
mov r0, #0x1
|
|
mov r1, #0x20
|
|
mov r2, #0x0
|
|
mov r3, #0x13
|
|
bl BG_ClearCharDataRange
|
|
mov r0, #0x4
|
|
mov r1, #0x20
|
|
mov r2, #0x0
|
|
mov r3, #0x13
|
|
bl BG_ClearCharDataRange
|
|
add sp, #0x9c
|
|
pop {r4-r5, pc}
|
|
nop
|
|
_0207A074: .word UNK_020FA624
|
|
_0207A078: .word UNK_020FA650
|
|
_0207A07C: .word UNK_020FA66C
|
|
_0207A080: .word UNK_020FA688
|
|
_0207A084: .word UNK_020FA6A4
|
|
_0207A088: .word UNK_020FA634
|
|
|
|
thumb_func_start sub_0207A08C
|
|
sub_0207A08C: ; 0x0207A08C
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl GfGfx_DisableEngineAPlanes
|
|
bl GfGfx_DisableEngineBPlanes
|
|
add r0, r4, #0x0
|
|
mov r1, #0x5
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x4
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x3
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl FreeBgTilemapBuffer
|
|
mov r0, #0x13
|
|
add r1, r4, #0x0
|
|
bl Heap_FreeExplicit
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207A0CC
|
|
sub_0207A0CC: ; 0x0207A0CC
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
str r1, [sp, #0x4]
|
|
add r4, r0, #0x0
|
|
str r1, [sp, #0x8]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0x0]
|
|
mov r0, #0x27
|
|
mov r3, #0x3
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0xc]
|
|
mov r1, #0x3
|
|
ldr r2, [r4, #0x0]
|
|
mov r0, #0x27
|
|
add r3, r1, #0x0
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r2, #0x0
|
|
str r2, [sp, #0x0]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x27
|
|
mov r1, #0x1
|
|
add r3, r2, #0x0
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0x0]
|
|
mov r0, #0x27
|
|
mov r1, #0xb
|
|
mov r3, #0x2
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0x0]
|
|
mov r0, #0x27
|
|
mov r1, #0x2
|
|
mov r3, #0x4
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0x0]
|
|
mov r0, #0x27
|
|
mov r1, #0x10
|
|
mov r3, #0x5
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x0]
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0x0]
|
|
mov r0, #0x27
|
|
mov r1, #0xf
|
|
mov r3, #0x5
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x27
|
|
mov r1, #0xe
|
|
mov r2, #0x4
|
|
bl GfGfxLoader_GXLoadPal
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0207A188
|
|
sub_0207A188: ; 0x0207A188
|
|
push {r3, lr}
|
|
mov r0, #0x8
|
|
str r0, [sp, #0x0]
|
|
ldr r0, _0207A19C ; =0x04000050
|
|
mov r1, #0x1
|
|
mov r2, #0x1e
|
|
mov r3, #0x17
|
|
bl G2x_SetBlendAlpha_
|
|
pop {r3, pc}
|
|
.balign 4
|
|
_0207A19C: .word 0x04000050
|
|
|
|
thumb_func_start sub_0207A1A0
|
|
sub_0207A1A0: ; 0x0207A1A0
|
|
push {r4, lr}
|
|
mov r2, #0x65
|
|
add r4, r0, #0x0
|
|
mov r0, #0x0
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #0x2
|
|
mov r3, #0x13
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0207A250 ; =0x00000674
|
|
mov r2, #0x79
|
|
str r0, [r4, r1]
|
|
mov r0, #0x1
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #0x2
|
|
mov r3, #0x13
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0207A254 ; =0x00000678
|
|
mov r2, #0x0
|
|
str r0, [r4, r1]
|
|
mov r0, #0x1
|
|
mov r1, #0x2
|
|
mov r3, #0x13
|
|
bl MessagePrinter_New
|
|
mov r1, #0x67
|
|
lsl r1, r1, #0x4
|
|
str r0, [r4, r1]
|
|
mov r0, #0x13
|
|
bl MessageFormat_New
|
|
ldr r1, _0207A258 ; =0x0000067C
|
|
str r0, [r4, r1]
|
|
mov r0, #0xc
|
|
mov r1, #0x13
|
|
bl String_New
|
|
mov r1, #0x25
|
|
lsl r1, r1, #0x4
|
|
str r0, [r4, r1]
|
|
mov r0, #0xc
|
|
mov r1, #0x13
|
|
bl String_New
|
|
mov r1, #0x95
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x8
|
|
mov r1, #0x13
|
|
bl String_New
|
|
mov r1, #0x96
|
|
lsl r1, r1, #0x2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x80
|
|
mov r1, #0x13
|
|
bl String_New
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #0x6
|
|
str r0, [r4, r1]
|
|
mov r2, #0x93
|
|
mov r0, #0x0
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #0x2
|
|
mov r3, #0x13
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0207A25C ; =0x00000688
|
|
str r0, [r4, r1]
|
|
mov r0, #0x8
|
|
mov r1, #0x13
|
|
bl String_New
|
|
ldr r2, _0207A260 ; =0x00000684
|
|
str r0, [r4, r2]
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r0, #0x8]
|
|
cmp r1, #0x0
|
|
beq _0207A24C
|
|
ldr r0, [r4, r2]
|
|
bl CopyU16ArrayToString
|
|
_0207A24C:
|
|
pop {r4, pc}
|
|
nop
|
|
_0207A250: .word 0x00000674
|
|
_0207A254: .word 0x00000678
|
|
_0207A258: .word 0x0000067C
|
|
_0207A25C: .word 0x00000688
|
|
_0207A260: .word 0x00000684
|
|
|
|
thumb_func_start sub_0207A264
|
|
sub_0207A264: ; 0x0207A264
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _0207A2C4 ; =0x00000688
|
|
ldr r0, [r4, r0]
|
|
bl DestroyMsgData
|
|
ldr r0, _0207A2C8 ; =0x00000678
|
|
ldr r0, [r4, r0]
|
|
bl DestroyMsgData
|
|
ldr r0, _0207A2CC ; =0x00000674
|
|
ldr r0, [r4, r0]
|
|
bl DestroyMsgData
|
|
mov r0, #0x67
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
bl MessagePrinter_Delete
|
|
ldr r0, _0207A2D0 ; =0x0000067C
|
|
ldr r0, [r4, r0]
|
|
bl MessageFormat_Delete
|
|
mov r0, #0x25
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
mov r0, #0x95
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
mov r0, #0x96
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
mov r0, #0x1a
|
|
lsl r0, r0, #0x6
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
ldr r0, _0207A2D4 ; =0x00000684
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207A2C4: .word 0x00000688
|
|
_0207A2C8: .word 0x00000678
|
|
_0207A2CC: .word 0x00000674
|
|
_0207A2D0: .word 0x0000067C
|
|
_0207A2D4: .word 0x00000684
|
|
|
|
thumb_func_start sub_0207A2D8
|
|
sub_0207A2D8: ; 0x0207A2D8
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0x1
|
|
bne _0207A30C
|
|
add r0, r4, #0x0
|
|
bl sub_0207F8D0
|
|
add r0, r4, #0x0
|
|
bl sub_0207AF20
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x2
|
|
bne _0207A300
|
|
mov r0, #0x9
|
|
pop {r4, pc}
|
|
_0207A300:
|
|
cmp r0, #0x4
|
|
bne _0207A308
|
|
mov r0, #0xf
|
|
pop {r4, pc}
|
|
_0207A308:
|
|
mov r0, #0x2
|
|
pop {r4, pc}
|
|
_0207A30C:
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0207A310
|
|
sub_0207A310: ; 0x0207A310
|
|
push {r4-r6, lr}
|
|
ldr r3, _0207A438 ; =0x0000068F
|
|
add r4, r0, #0x0
|
|
ldrb r1, [r4, r3]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #0x1
|
|
bne _0207A32E
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
strb r1, [r0, #0x17]
|
|
mov r0, #0x12
|
|
pop {r4-r6, pc}
|
|
_0207A32E:
|
|
ldr r2, _0207A43C ; =gSystem
|
|
mov r1, #0x20
|
|
ldr r5, [r2, #0x4c]
|
|
add r6, r5, #0x0
|
|
tst r6, r1
|
|
beq _0207A344
|
|
sub r1, #0x21
|
|
bl sub_0207B178
|
|
mov r0, #0x2
|
|
pop {r4-r6, pc}
|
|
_0207A344:
|
|
mov r1, #0x10
|
|
tst r1, r5
|
|
beq _0207A354
|
|
mov r1, #0x1
|
|
bl sub_0207B178
|
|
mov r0, #0x2
|
|
pop {r4-r6, pc}
|
|
_0207A354:
|
|
mov r1, #0x40
|
|
add r6, r5, #0x0
|
|
tst r6, r1
|
|
beq _0207A366
|
|
sub r1, #0x41
|
|
bl sub_0207B3F0
|
|
mov r0, #0x2
|
|
pop {r4-r6, pc}
|
|
_0207A366:
|
|
mov r1, #0x80
|
|
tst r1, r5
|
|
beq _0207A376
|
|
mov r1, #0x1
|
|
bl sub_0207B3F0
|
|
mov r0, #0x2
|
|
pop {r4-r6, pc}
|
|
_0207A376:
|
|
ldr r1, [r2, #0x48]
|
|
mov r0, #0x2
|
|
tst r0, r1
|
|
beq _0207A394
|
|
sub r3, #0xb2
|
|
add r0, r3, #0x0
|
|
bl PlaySE
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
strb r1, [r0, #0x17]
|
|
mov r0, #0x12
|
|
pop {r4-r6, pc}
|
|
_0207A394:
|
|
mov r0, #0x1
|
|
tst r0, r1
|
|
beq _0207A420
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x3
|
|
bne _0207A3BE
|
|
sub r0, r3, #0x3
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x4
|
|
bne _0207A3BE
|
|
sub r3, #0xb2
|
|
add r0, r3, #0x0
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207C23C
|
|
pop {r4-r6, pc}
|
|
_0207A3BE:
|
|
ldr r0, _0207A440 ; =0x0000068C
|
|
ldrsb r1, [r4, r0]
|
|
cmp r1, #0x3
|
|
bne _0207A3D6
|
|
add r0, #0x10
|
|
bl PlaySE
|
|
ldr r0, _0207A444 ; =0x0000068E
|
|
mov r1, #0x0
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x3
|
|
pop {r4-r6, pc}
|
|
_0207A3D6:
|
|
cmp r1, #0x5
|
|
bne _0207A3EA
|
|
add r0, #0x10
|
|
bl PlaySE
|
|
ldr r0, _0207A444 ; =0x0000068E
|
|
mov r1, #0x0
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x5
|
|
pop {r4-r6, pc}
|
|
_0207A3EA:
|
|
cmp r1, #0x6
|
|
bne _0207A408
|
|
add r1, r0, #0x0
|
|
add r1, #0xd
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0x0
|
|
beq _0207A420
|
|
sub r0, #0xaf
|
|
bl PlaySE
|
|
ldr r0, _0207A444 ; =0x0000068E
|
|
mov r1, #0x0
|
|
strb r1, [r4, r0]
|
|
mov r0, #0xb
|
|
pop {r4-r6, pc}
|
|
_0207A408:
|
|
cmp r1, #0x7
|
|
bne _0207A420
|
|
sub r0, #0xaf
|
|
bl PlaySE
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
strb r1, [r0, #0x17]
|
|
mov r0, #0x12
|
|
pop {r4-r6, pc}
|
|
_0207A420:
|
|
add r0, r4, #0x0
|
|
bl sub_0207B200
|
|
cmp r0, #0x1
|
|
bne _0207A434
|
|
ldr r0, _0207A444 ; =0x0000068E
|
|
mov r1, #0x2
|
|
strb r1, [r4, r0]
|
|
mov r0, #0xe
|
|
pop {r4-r6, pc}
|
|
_0207A434:
|
|
mov r0, #0x2
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207A438: .word 0x0000068F
|
|
_0207A43C: .word gSystem
|
|
_0207A440: .word 0x0000068C
|
|
_0207A444: .word 0x0000068E
|
|
|
|
thumb_func_start sub_0207A448
|
|
sub_0207A448: ; 0x0207A448
|
|
push {r3, lr}
|
|
bl sub_0207B66C
|
|
cmp r0, #0x1
|
|
bne _0207A456
|
|
mov r0, #0x7
|
|
pop {r3, pc}
|
|
_0207A456:
|
|
mov r0, #0x3
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207A45C
|
|
sub_0207A45C: ; 0x0207A45C
|
|
push {r3, lr}
|
|
bl sub_0207B788
|
|
cmp r0, #0x1
|
|
bne _0207A46A
|
|
mov r0, #0x2
|
|
pop {r3, pc}
|
|
_0207A46A:
|
|
mov r0, #0x4
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207A470
|
|
sub_0207A470: ; 0x0207A470
|
|
push {r3, lr}
|
|
bl sub_0207BAEC
|
|
cmp r0, #0x1
|
|
bne _0207A47E
|
|
mov r0, #0x7
|
|
pop {r3, pc}
|
|
_0207A47E:
|
|
mov r0, #0x5
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207A484
|
|
sub_0207A484: ; 0x0207A484
|
|
push {r3, lr}
|
|
bl sub_0207BBF0
|
|
cmp r0, #0x1
|
|
bne _0207A492
|
|
mov r0, #0x2
|
|
pop {r3, pc}
|
|
_0207A492:
|
|
mov r0, #0x6
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207A498
|
|
sub_0207A498: ; 0x0207A498
|
|
push {r4, lr}
|
|
ldr r1, _0207A568 ; =gSystem
|
|
add r4, r0, #0x0
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x40
|
|
add r3, r2, #0x0
|
|
tst r3, r1
|
|
beq _0207A4C2
|
|
sub r1, #0x41
|
|
bl sub_0207B878
|
|
cmp r0, #0x1
|
|
bne _0207A4BE
|
|
ldr r0, _0207A56C ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
_0207A4BE:
|
|
mov r0, #0x7
|
|
pop {r4, pc}
|
|
_0207A4C2:
|
|
mov r1, #0x80
|
|
tst r1, r2
|
|
beq _0207A4E2
|
|
mov r1, #0x1
|
|
bl sub_0207B878
|
|
cmp r0, #0x1
|
|
bne _0207A4DE
|
|
ldr r0, _0207A56C ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
_0207A4DE:
|
|
mov r0, #0x7
|
|
pop {r4, pc}
|
|
_0207A4E2:
|
|
mov r0, #0x1
|
|
tst r0, r2
|
|
beq _0207A542
|
|
ldr r0, _0207A570 ; =0x0000068D
|
|
ldrb r1, [r4, r0]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #0x4
|
|
bne _0207A510
|
|
add r0, #0xf
|
|
bl PlaySE
|
|
ldr r0, _0207A574 ; =0x0000068E
|
|
mov r1, #0x0
|
|
strb r1, [r4, r0]
|
|
sub r0, r0, #0x2
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x3
|
|
bne _0207A50C
|
|
mov r0, #0x4
|
|
pop {r4, pc}
|
|
_0207A50C:
|
|
mov r0, #0x6
|
|
pop {r4, pc}
|
|
_0207A510:
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldrb r1, [r1, #0x12]
|
|
cmp r1, #0x1
|
|
beq _0207A542
|
|
sub r0, #0xb0
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207CBE8
|
|
ldr r2, _0207A570 ; =0x0000068D
|
|
mov r1, #0xf0
|
|
ldrb r3, [r4, r2]
|
|
add r0, r3, #0x0
|
|
bic r0, r1
|
|
lsl r1, r3, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x18
|
|
orr r0, r1
|
|
strb r0, [r4, r2]
|
|
mov r0, #0x8
|
|
pop {r4, pc}
|
|
_0207A542:
|
|
mov r0, #0x2
|
|
tst r0, r2
|
|
beq _0207A564
|
|
ldr r0, _0207A578 ; =0x0000069C
|
|
bl PlaySE
|
|
ldr r0, _0207A574 ; =0x0000068E
|
|
mov r1, #0x0
|
|
strb r1, [r4, r0]
|
|
sub r0, r0, #0x2
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x3
|
|
bne _0207A560
|
|
mov r0, #0x4
|
|
pop {r4, pc}
|
|
_0207A560:
|
|
mov r0, #0x6
|
|
pop {r4, pc}
|
|
_0207A564:
|
|
mov r0, #0x7
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207A568: .word gSystem
|
|
_0207A56C: .word 0x000005DC
|
|
_0207A570: .word 0x0000068D
|
|
_0207A574: .word 0x0000068E
|
|
_0207A578: .word 0x0000069C
|
|
|
|
thumb_func_start sub_0207A57C
|
|
sub_0207A57C: ; 0x0207A57C
|
|
push {r4, lr}
|
|
ldr r1, _0207A644 ; =gSystem
|
|
add r4, r0, #0x0
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x40
|
|
add r3, r2, #0x0
|
|
tst r3, r1
|
|
beq _0207A5A6
|
|
sub r1, #0x41
|
|
bl sub_0207B878
|
|
cmp r0, #0x1
|
|
bne _0207A5A2
|
|
ldr r0, _0207A648 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
_0207A5A2:
|
|
mov r0, #0x8
|
|
pop {r4, pc}
|
|
_0207A5A6:
|
|
mov r1, #0x80
|
|
tst r1, r2
|
|
beq _0207A5C6
|
|
mov r1, #0x1
|
|
bl sub_0207B878
|
|
cmp r0, #0x1
|
|
bne _0207A5C2
|
|
ldr r0, _0207A648 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
_0207A5C2:
|
|
mov r0, #0x8
|
|
pop {r4, pc}
|
|
_0207A5C6:
|
|
mov r0, #0x1
|
|
tst r0, r2
|
|
beq _0207A622
|
|
mov r0, #0x43
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_020200A0
|
|
ldr r0, _0207A64C ; =0x0000068D
|
|
ldrb r1, [r4, r0]
|
|
lsl r2, r1, #0x1c
|
|
lsr r2, r2, #0x1c
|
|
cmp r2, #0x4
|
|
beq _0207A618
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
cmp r2, r1
|
|
beq _0207A618
|
|
sub r0, #0xb0
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207B9C0
|
|
ldr r1, _0207A64C ; =0x0000068D
|
|
add r0, r4, #0x0
|
|
ldrb r2, [r4, r1]
|
|
lsl r1, r2, #0x1c
|
|
lsl r2, r2, #0x18
|
|
lsr r1, r1, #0x1c
|
|
lsr r2, r2, #0x1c
|
|
bl sub_0207CB08
|
|
add r0, r4, #0x0
|
|
bl sub_0207ED30
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
b _0207A61E
|
|
_0207A618:
|
|
ldr r0, _0207A650 ; =0x000005DD
|
|
bl PlaySE
|
|
_0207A61E:
|
|
mov r0, #0x7
|
|
pop {r4, pc}
|
|
_0207A622:
|
|
mov r0, #0x2
|
|
tst r0, r2
|
|
beq _0207A63E
|
|
ldr r0, _0207A650 ; =0x000005DD
|
|
bl PlaySE
|
|
mov r0, #0x43
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_020200A0
|
|
mov r0, #0x7
|
|
pop {r4, pc}
|
|
_0207A63E:
|
|
mov r0, #0x8
|
|
pop {r4, pc}
|
|
nop
|
|
_0207A644: .word gSystem
|
|
_0207A648: .word 0x000005DC
|
|
_0207A64C: .word 0x0000068D
|
|
_0207A650: .word 0x000005DD
|
|
|
|
thumb_func_start sub_0207A654
|
|
sub_0207A654: ; 0x0207A654
|
|
push {r4, lr}
|
|
ldr r1, _0207A750 ; =gSystem
|
|
add r4, r0, #0x0
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x20
|
|
add r3, r2, #0x0
|
|
tst r3, r1
|
|
beq _0207A66E
|
|
sub r1, #0x21
|
|
bl sub_0207B178
|
|
mov r0, #0x9
|
|
pop {r4, pc}
|
|
_0207A66E:
|
|
mov r1, #0x10
|
|
tst r1, r2
|
|
beq _0207A67E
|
|
mov r1, #0x1
|
|
bl sub_0207B178
|
|
mov r0, #0x9
|
|
pop {r4, pc}
|
|
_0207A67E:
|
|
mov r1, #0x40
|
|
add r3, r2, #0x0
|
|
tst r3, r1
|
|
beq _0207A6A0
|
|
sub r1, #0x41
|
|
bl sub_0207B878
|
|
cmp r0, #0x1
|
|
bne _0207A69C
|
|
ldr r0, _0207A754 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
_0207A69C:
|
|
mov r0, #0x9
|
|
pop {r4, pc}
|
|
_0207A6A0:
|
|
mov r1, #0x80
|
|
tst r1, r2
|
|
beq _0207A6C0
|
|
mov r1, #0x1
|
|
bl sub_0207B878
|
|
cmp r0, #0x1
|
|
bne _0207A6BC
|
|
ldr r0, _0207A754 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
_0207A6BC:
|
|
mov r0, #0x9
|
|
pop {r4, pc}
|
|
_0207A6C0:
|
|
mov r0, #0x1
|
|
tst r0, r2
|
|
beq _0207A72C
|
|
ldr r0, _0207A758 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _0207A75C ; =0x0000068D
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #0x4
|
|
beq _0207A712
|
|
lsl r0, r0, #0x1
|
|
add r1, r4, r0
|
|
mov r0, #0xa1
|
|
lsl r0, r0, #0x2
|
|
ldrh r0, [r1, r0]
|
|
bl MoveIsHM
|
|
cmp r0, #0x1
|
|
bne _0207A712
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrh r0, [r0, #0x18]
|
|
cmp r0, #0x0
|
|
beq _0207A712
|
|
mov r0, #0x45
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_0200C63C
|
|
add r0, r4, #0x0
|
|
bl sub_0207BD58
|
|
add r0, r4, #0x0
|
|
bl sub_0207EDB4
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
_0207A712:
|
|
ldr r0, _0207A75C ; =0x0000068D
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r2, r0, #0x1c
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r4, r0]
|
|
strb r2, [r1, #0x16]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
strb r1, [r0, #0x17]
|
|
mov r0, #0x12
|
|
pop {r4, pc}
|
|
_0207A72C:
|
|
mov r0, #0x2
|
|
tst r0, r2
|
|
beq _0207A74C
|
|
ldr r0, _0207A758 ; =0x000005DD
|
|
bl PlaySE
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r4, r0]
|
|
mov r2, #0x4
|
|
strb r2, [r1, #0x16]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
strb r1, [r0, #0x17]
|
|
mov r0, #0x12
|
|
pop {r4, pc}
|
|
_0207A74C:
|
|
mov r0, #0x9
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207A750: .word gSystem
|
|
_0207A754: .word 0x000005DC
|
|
_0207A758: .word 0x000005DD
|
|
_0207A75C: .word 0x0000068D
|
|
|
|
thumb_func_start sub_0207A760
|
|
sub_0207A760: ; 0x0207A760
|
|
push {r3, lr}
|
|
ldr r1, _0207A778 ; =gSystem
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x3
|
|
tst r1, r2
|
|
beq _0207A774
|
|
bl sub_0207B8D8
|
|
mov r0, #0x9
|
|
pop {r3, pc}
|
|
_0207A774:
|
|
mov r0, #0xa
|
|
pop {r3, pc}
|
|
.balign 4
|
|
_0207A778: .word gSystem
|
|
|
|
thumb_func_start sub_0207A77C
|
|
sub_0207A77C: ; 0x0207A77C
|
|
push {r3, lr}
|
|
bl sub_0207BE68
|
|
cmp r0, #0x1
|
|
bne _0207A78A
|
|
mov r0, #0xd
|
|
pop {r3, pc}
|
|
_0207A78A:
|
|
mov r0, #0xb
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207A790
|
|
sub_0207A790: ; 0x0207A790
|
|
push {r3, lr}
|
|
bl sub_0207BF90
|
|
cmp r0, #0x1
|
|
bne _0207A79E
|
|
mov r0, #0x2
|
|
pop {r3, pc}
|
|
_0207A79E:
|
|
mov r0, #0xc
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207A7A4
|
|
sub_0207A7A4: ; 0x0207A7A4
|
|
push {r3-r5, lr}
|
|
ldr r3, _0207A80C ; =gSystem
|
|
mov r1, #0x20
|
|
ldr r2, [r3, #0x4c]
|
|
add r4, r0, #0x0
|
|
add r5, r2, #0x0
|
|
tst r5, r1
|
|
beq _0207A7BE
|
|
sub r1, #0x21
|
|
bl sub_0207C07C
|
|
mov r0, #0xd
|
|
pop {r3-r5, pc}
|
|
_0207A7BE:
|
|
mov r1, #0x10
|
|
tst r1, r2
|
|
beq _0207A7CE
|
|
mov r1, #0x1
|
|
bl sub_0207C07C
|
|
mov r0, #0xd
|
|
pop {r3-r5, pc}
|
|
_0207A7CE:
|
|
mov r1, #0x40
|
|
add r5, r2, #0x0
|
|
tst r5, r1
|
|
beq _0207A7E0
|
|
sub r1, #0x44
|
|
bl sub_0207C07C
|
|
mov r0, #0xd
|
|
pop {r3-r5, pc}
|
|
_0207A7E0:
|
|
mov r1, #0x80
|
|
tst r1, r2
|
|
beq _0207A7F0
|
|
mov r1, #0x4
|
|
bl sub_0207C07C
|
|
mov r0, #0xd
|
|
pop {r3-r5, pc}
|
|
_0207A7F0:
|
|
ldr r1, [r3, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _0207A808
|
|
ldr r0, _0207A810 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _0207A814 ; =0x0000068E
|
|
mov r1, #0x0
|
|
strb r1, [r4, r0]
|
|
mov r0, #0xc
|
|
pop {r3-r5, pc}
|
|
_0207A808:
|
|
mov r0, #0xd
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_0207A80C: .word gSystem
|
|
_0207A810: .word 0x000005DD
|
|
_0207A814: .word 0x0000068E
|
|
|
|
thumb_func_start sub_0207A818
|
|
sub_0207A818: ; 0x0207A818
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_0207FB28
|
|
cmp r0, #0x1
|
|
bne _0207A82A
|
|
ldr r0, _0207A878 ; =0x0000068E
|
|
ldrb r0, [r4, r0]
|
|
pop {r4, pc}
|
|
_0207A82A:
|
|
ldr r1, _0207A87C ; =0x00000695
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #0x1
|
|
bne _0207A874
|
|
add r1, r1, #0x1
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0x0
|
|
bl sub_0207FC40
|
|
add r1, r0, #0x0
|
|
cmp r1, #0x7
|
|
bne _0207A850
|
|
ldr r2, _0207A880 ; =0x0000068F
|
|
mov r0, #0xf0
|
|
ldrb r3, [r4, r2]
|
|
bic r3, r0
|
|
mov r0, #0x10
|
|
orr r0, r3
|
|
strb r0, [r4, r2]
|
|
_0207A850:
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x3
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #0x1
|
|
bne _0207A86E
|
|
cmp r1, #0x1
|
|
beq _0207A866
|
|
cmp r1, #0x7
|
|
bne _0207A874
|
|
_0207A866:
|
|
add r0, r4, #0x0
|
|
bl sub_0207B0CC
|
|
b _0207A874
|
|
_0207A86E:
|
|
add r0, r4, #0x0
|
|
bl sub_0207B0CC
|
|
_0207A874:
|
|
mov r0, #0xe
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207A878: .word 0x0000068E
|
|
_0207A87C: .word 0x00000695
|
|
_0207A880: .word 0x0000068F
|
|
|
|
thumb_func_start sub_0207A884
|
|
sub_0207A884: ; 0x0207A884
|
|
push {r4-r6, lr}
|
|
sub sp, #0x8
|
|
ldr r1, _0207AA00 ; =gSystem
|
|
add r5, r0, #0x0
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x3
|
|
tst r1, r2
|
|
bne _0207A896
|
|
b _0207A9FA
|
|
_0207A896:
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r5, r1]
|
|
ldrb r1, [r1, #0x11]
|
|
cmp r1, #0x2
|
|
bne _0207A8BA
|
|
bl sub_0207B628
|
|
add r6, r0, #0x0
|
|
mov r0, #0x13
|
|
bl AllocMonZeroed
|
|
add r4, r0, #0x0
|
|
add r0, r6, #0x0
|
|
add r1, r4, #0x0
|
|
bl CopyBoxPokemonToPokemon
|
|
b _0207A8C0
|
|
_0207A8BA:
|
|
bl sub_0207B628
|
|
add r4, r0, #0x0
|
|
_0207A8C0:
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0x0
|
|
ldr r0, [r0, #0x24]
|
|
bl sub_0208821C
|
|
ldr r0, _0207AA04 ; =0x0000068E
|
|
mov r2, #0x0
|
|
strb r2, [r5, r0]
|
|
ldr r0, _0207AA08 ; =0x00000295
|
|
mov r1, #0x13
|
|
ldrb r6, [r5, r0]
|
|
add r0, r4, #0x0
|
|
bl GetMonData
|
|
ldr r1, _0207AA08 ; =0x00000295
|
|
strb r0, [r5, r1]
|
|
ldrb r0, [r5, r1]
|
|
cmp r6, r0
|
|
beq _0207A8F4
|
|
ldr r1, _0207AA04 ; =0x0000068E
|
|
mov r0, #0x1
|
|
ldrb r2, [r5, r1]
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
_0207A8F4:
|
|
ldr r0, _0207AA0C ; =0x00000296
|
|
mov r1, #0x14
|
|
ldrb r6, [r5, r0]
|
|
add r0, r4, #0x0
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _0207AA0C ; =0x00000296
|
|
strb r0, [r5, r1]
|
|
ldrb r0, [r5, r1]
|
|
cmp r6, r0
|
|
beq _0207A916
|
|
ldr r1, _0207AA04 ; =0x0000068E
|
|
mov r0, #0x2
|
|
ldrb r2, [r5, r1]
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
_0207A916:
|
|
ldr r0, _0207AA10 ; =0x00000297
|
|
mov r1, #0x15
|
|
ldrb r6, [r5, r0]
|
|
add r0, r4, #0x0
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _0207AA10 ; =0x00000297
|
|
strb r0, [r5, r1]
|
|
ldrb r0, [r5, r1]
|
|
cmp r6, r0
|
|
beq _0207A938
|
|
ldr r1, _0207AA04 ; =0x0000068E
|
|
mov r0, #0x4
|
|
ldrb r2, [r5, r1]
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
_0207A938:
|
|
mov r0, #0xa6
|
|
lsl r0, r0, #0x2
|
|
ldrb r6, [r5, r0]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x16
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
mov r1, #0xa6
|
|
lsl r1, r1, #0x2
|
|
strb r0, [r5, r1]
|
|
ldrb r0, [r5, r1]
|
|
cmp r6, r0
|
|
beq _0207A95E
|
|
ldr r1, _0207AA04 ; =0x0000068E
|
|
mov r0, #0x8
|
|
ldrb r2, [r5, r1]
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
_0207A95E:
|
|
ldr r0, _0207AA14 ; =0x00000299
|
|
mov r1, #0x17
|
|
ldrb r6, [r5, r0]
|
|
add r0, r4, #0x0
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _0207AA14 ; =0x00000299
|
|
strb r0, [r5, r1]
|
|
ldrb r0, [r5, r1]
|
|
cmp r6, r0
|
|
beq _0207A980
|
|
ldr r1, _0207AA04 ; =0x0000068E
|
|
mov r0, #0x10
|
|
ldrb r2, [r5, r1]
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
_0207A980:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x18
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _0207AA18 ; =0x0000029A
|
|
strb r0, [r5, r1]
|
|
sub r1, #0x4e
|
|
ldr r0, [r5, r1]
|
|
ldrb r0, [r0, #0x11]
|
|
cmp r0, #0x2
|
|
bne _0207A99E
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
_0207A99E:
|
|
mov r1, #0x7
|
|
mov r0, #0x0
|
|
lsl r1, r1, #0x6
|
|
mov r2, #0x13
|
|
bl LoadFontPal1
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldr r0, [r0, #0x4]
|
|
bl Options_GetFrame
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [r5, #0x0]
|
|
ldr r2, _0207AA1C ; =0x000003E2
|
|
mov r1, #0x1
|
|
mov r3, #0xd
|
|
bl sub_0200CD68
|
|
ldr r0, _0207AA04 ; =0x0000068E
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0x0
|
|
bne _0207A9E2
|
|
add r0, r5, #0x0
|
|
mov r1, #0xfe
|
|
bl sub_0207EECC
|
|
add sp, #0x8
|
|
mov r0, #0x11
|
|
pop {r4-r6, pc}
|
|
_0207A9E2:
|
|
add r0, r5, #0x0
|
|
bl sub_0207F608
|
|
add r0, r5, #0x0
|
|
bl sub_0207CC24
|
|
add r0, r5, #0x0
|
|
bl sub_0207CF78
|
|
add sp, #0x8
|
|
mov r0, #0x10
|
|
pop {r4-r6, pc}
|
|
_0207A9FA:
|
|
mov r0, #0xf
|
|
add sp, #0x8
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207AA00: .word gSystem
|
|
_0207AA04: .word 0x0000068E
|
|
_0207AA08: .word 0x00000295
|
|
_0207AA0C: .word 0x00000296
|
|
_0207AA10: .word 0x00000297
|
|
_0207AA14: .word 0x00000299
|
|
_0207AA18: .word 0x0000029A
|
|
_0207AA1C: .word 0x000003E2
|
|
|
|
thumb_func_start sub_0207AA20
|
|
sub_0207AA20: ; 0x0207AA20
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _0207AA68 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _0207AA62
|
|
ldr r0, _0207AA6C ; =0x0000068E
|
|
mov r1, #0x0
|
|
ldrb r2, [r5, r0]
|
|
mov r0, #0x1
|
|
_0207AA36:
|
|
add r4, r0, #0x0
|
|
lsl r4, r1
|
|
add r3, r2, #0x0
|
|
tst r3, r4
|
|
beq _0207AA58
|
|
add r0, r5, #0x0
|
|
bl sub_0207EECC
|
|
ldr r0, _0207AA6C ; =0x0000068E
|
|
ldrb r1, [r5, r0]
|
|
eor r1, r4
|
|
strb r1, [r5, r0]
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0x0
|
|
bne _0207AA62
|
|
mov r0, #0x11
|
|
pop {r3-r5, pc}
|
|
_0207AA58:
|
|
add r1, r1, #0x1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, #0x5
|
|
blo _0207AA36
|
|
_0207AA62:
|
|
mov r0, #0x10
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0207AA68: .word gSystem
|
|
_0207AA6C: .word 0x0000068E
|
|
|
|
thumb_func_start sub_0207AA70
|
|
sub_0207AA70: ; 0x0207AA70
|
|
ldr r0, _0207AA84 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _0207AA7E
|
|
mov r0, #0x12
|
|
bx lr
|
|
_0207AA7E:
|
|
mov r0, #0x11
|
|
bx lr
|
|
nop
|
|
_0207AA84: .word gSystem
|
|
|
|
thumb_func_start sub_0207AA88
|
|
sub_0207AA88: ; 0x0207AA88
|
|
push {r3, lr}
|
|
mov r0, #0x1
|
|
mov r1, #0x13
|
|
bl sub_02079A70
|
|
mov r0, #0x13
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207AA98
|
|
sub_0207AA98: ; 0x0207AA98
|
|
push {r3, lr}
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0x1
|
|
bne _0207AAA6
|
|
mov r0, #0x1
|
|
b _0207AAA8
|
|
_0207AAA6:
|
|
mov r0, #0x0
|
|
_0207AAA8:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207AAB0
|
|
sub_0207AAB0: ; 0x0207AAB0
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_0207B628
|
|
mov r2, #0x93
|
|
lsl r2, r2, #0x2
|
|
add r1, r0, #0x0
|
|
ldr r0, [r4, r2]
|
|
ldrb r0, [r0, #0x11]
|
|
cmp r0, #0x2
|
|
bne _0207AAD2
|
|
add r2, r2, #0x4
|
|
add r0, r4, #0x0
|
|
add r2, r4, r2
|
|
bl sub_0207AAE0
|
|
pop {r4, pc}
|
|
_0207AAD2:
|
|
add r2, r2, #0x4
|
|
add r0, r4, #0x0
|
|
add r2, r4, r2
|
|
bl sub_0207AB0C
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207AAE0
|
|
sub_0207AAE0: ; 0x0207AAE0
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x13
|
|
add r6, r1, #0x0
|
|
add r7, r2, #0x0
|
|
bl AllocMonZeroed
|
|
add r4, r0, #0x0
|
|
add r0, r6, #0x0
|
|
add r1, r4, #0x0
|
|
bl CopyBoxPokemonToPokemon
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
add r2, r7, #0x0
|
|
bl sub_0207AB0C
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207AB0C
|
|
sub_0207AB0C: ; 0x0207AB0C
|
|
push {r3-r7, lr}
|
|
sub sp, #0x8
|
|
add r6, r1, #0x0
|
|
add r7, r0, #0x0
|
|
add r0, r6, #0x0
|
|
add r5, r2, #0x0
|
|
bl AcquireMonLock
|
|
str r0, [sp, #0x4]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x5
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strh r0, [r5, #0xc]
|
|
add r0, r6, #0x0
|
|
bl sub_020690E4
|
|
ldr r2, _0207AEAC ; =0x00000674
|
|
add r4, r0, #0x0
|
|
ldr r0, [r7, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r7, r2]
|
|
mov r1, #0xb
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _0207AEB0 ; =0x0000067C
|
|
mov r1, #0x0
|
|
ldr r0, [r7, r0]
|
|
add r2, r4, #0x0
|
|
bl BufferBoxMonSpeciesName
|
|
ldr r2, _0207AEB0 ; =0x0000067C
|
|
mov r1, #0x25
|
|
ldr r0, [r7, r2]
|
|
lsl r1, r1, #0x4
|
|
add r2, r2, #0x4
|
|
ldr r1, [r7, r1]
|
|
ldr r2, [r7, r2]
|
|
bl StringExpandPlaceholders
|
|
ldr r2, _0207AEAC ; =0x00000674
|
|
mov r1, #0x0
|
|
ldr r0, [r7, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r7, r2]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _0207AEB0 ; =0x0000067C
|
|
mov r1, #0x0
|
|
ldr r0, [r7, r0]
|
|
add r2, r4, #0x0
|
|
bl BufferBoxMonNickname
|
|
ldr r2, _0207AEB0 ; =0x0000067C
|
|
mov r1, #0x95
|
|
ldr r0, [r7, r2]
|
|
lsl r1, r1, #0x2
|
|
add r2, r2, #0x4
|
|
ldr r1, [r7, r1]
|
|
ldr r2, [r7, r2]
|
|
bl StringExpandPlaceholders
|
|
ldr r2, _0207AEAC ; =0x00000674
|
|
mov r1, #0xe
|
|
ldr r0, [r7, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r7, r2]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _0207AEB0 ; =0x0000067C
|
|
mov r1, #0x0
|
|
ldr r0, [r7, r0]
|
|
add r2, r4, #0x0
|
|
bl BufferBoxMonOTName
|
|
ldr r2, _0207AEB0 ; =0x0000067C
|
|
mov r1, #0x96
|
|
ldr r0, [r7, r2]
|
|
lsl r1, r1, #0x2
|
|
add r2, r2, #0x4
|
|
ldr r1, [r7, r1]
|
|
ldr r2, [r7, r2]
|
|
bl StringExpandPlaceholders
|
|
add r0, r6, #0x0
|
|
mov r1, #0x6
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strh r0, [r5, #0xe]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xa0
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldrb r1, [r5, #0x12]
|
|
mov r2, #0x7f
|
|
lsl r0, r0, #0x18
|
|
bic r1, r2
|
|
lsr r2, r0, #0x18
|
|
mov r0, #0x7f
|
|
and r0, r2
|
|
orr r0, r1
|
|
strb r0, [r5, #0x12]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x4c
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x1f
|
|
ldr r2, [r5, #0x50]
|
|
ldr r1, _0207AEB4 ; =0xEFFFFFFF
|
|
lsr r0, r0, #0x3
|
|
and r1, r2
|
|
orr r0, r1
|
|
str r0, [r5, #0x50]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xaf
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
cmp r0, #0x1
|
|
bne _0207AC16
|
|
ldr r0, [r5, #0x50]
|
|
lsl r0, r0, #0x3
|
|
lsr r0, r0, #0x1f
|
|
bne _0207AC16
|
|
ldrb r1, [r5, #0x12]
|
|
mov r0, #0x80
|
|
bic r1, r0
|
|
strb r1, [r5, #0x12]
|
|
b _0207AC1E
|
|
_0207AC16:
|
|
ldrb r1, [r5, #0x12]
|
|
mov r0, #0x80
|
|
orr r0, r1
|
|
strb r0, [r5, #0x12]
|
|
_0207AC1E:
|
|
add r0, r6, #0x0
|
|
bl GetMonGender
|
|
ldrb r1, [r5, #0x13]
|
|
mov r2, #0x3
|
|
bic r1, r2
|
|
mov r2, #0x3
|
|
and r0, r2
|
|
orr r0, r1
|
|
strb r0, [r5, #0x13]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x9a
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1a
|
|
ldrb r1, [r5, #0x13]
|
|
mov r2, #0xfc
|
|
lsr r0, r0, #0x18
|
|
bic r1, r2
|
|
orr r0, r1
|
|
strb r0, [r5, #0x13]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xb0
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strb r0, [r5, #0x10]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xb1
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strb r0, [r5, #0x11]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x7
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
str r0, [r5, #0x14]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x8
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
str r0, [r5, #0x18]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x9c
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x44
|
|
strb r0, [r1, #0x0]
|
|
ldrb r1, [r5, #0x12]
|
|
ldrh r0, [r5, #0xc]
|
|
lsl r1, r1, #0x19
|
|
lsr r1, r1, #0x19
|
|
bl GetMonExpBySpeciesAndLevel
|
|
str r0, [r5, #0x1c]
|
|
ldrb r0, [r5, #0x12]
|
|
lsl r0, r0, #0x19
|
|
lsr r1, r0, #0x19
|
|
cmp r1, #0x64
|
|
bne _0207ACAA
|
|
ldr r0, [r5, #0x1c]
|
|
b _0207ACB2
|
|
_0207ACAA:
|
|
ldrh r0, [r5, #0xc]
|
|
add r1, r1, #0x1
|
|
bl GetMonExpBySpeciesAndLevel
|
|
_0207ACB2:
|
|
str r0, [r5, #0x20]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xa2
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strh r0, [r5, #0x24]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xa3
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strh r0, [r5, #0x26]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xa4
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strh r0, [r5, #0x28]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xa5
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strh r0, [r5, #0x2a]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xa7
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strh r0, [r5, #0x2c]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xa8
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strh r0, [r5, #0x2e]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xa6
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
strh r0, [r5, #0x30]
|
|
add r0, r6, #0x0
|
|
mov r1, #0xa
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x32
|
|
strb r0, [r1, #0x0]
|
|
add r0, r6, #0x0
|
|
bl GetMonNature
|
|
add r1, r5, #0x0
|
|
add r1, #0x33
|
|
strb r0, [r1, #0x0]
|
|
mov r4, #0x0
|
|
_0207AD26:
|
|
lsl r0, r4, #0x1
|
|
add r0, r5, r0
|
|
add r1, r4, #0x0
|
|
str r0, [sp, #0x0]
|
|
add r0, r6, #0x0
|
|
add r1, #0x36
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0x0]
|
|
mov r2, #0x0
|
|
strh r0, [r1, #0x34]
|
|
add r1, r4, #0x0
|
|
add r0, r6, #0x0
|
|
add r1, #0x3a
|
|
bl GetMonData
|
|
add r1, r5, r4
|
|
add r1, #0x3c
|
|
strb r0, [r1, #0x0]
|
|
add r1, r4, #0x0
|
|
add r0, r6, #0x0
|
|
add r1, #0x3e
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldr r0, [sp, #0x0]
|
|
ldrh r0, [r0, #0x34]
|
|
bl WazaGetMaxPp
|
|
add r1, r5, r4
|
|
add r1, #0x40
|
|
strb r0, [r1, #0x0]
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x4
|
|
blo _0207AD26
|
|
add r0, r6, #0x0
|
|
mov r1, #0x13
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x45
|
|
strb r0, [r1, #0x0]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x14
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x46
|
|
strb r0, [r1, #0x0]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x15
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x47
|
|
strb r0, [r1, #0x0]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x16
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x48
|
|
strb r0, [r1, #0x0]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x17
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x49
|
|
strb r0, [r1, #0x0]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x18
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x4a
|
|
strb r0, [r1, #0x0]
|
|
add r0, r5, #0x0
|
|
mov r1, #0x5
|
|
add r0, #0x4b
|
|
strb r1, [r0, #0x0]
|
|
mov r4, #0x0
|
|
_0207ADE0:
|
|
add r0, r6, #0x0
|
|
add r1, r4, #0x0
|
|
bl MonGetFlavorPreference
|
|
cmp r0, #0x1
|
|
bne _0207ADF4
|
|
add r0, r5, #0x0
|
|
add r0, #0x4b
|
|
strb r4, [r0, #0x0]
|
|
b _0207ADFE
|
|
_0207ADF4:
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x5
|
|
blo _0207ADE0
|
|
_0207ADFE:
|
|
add r0, r6, #0x0
|
|
mov r1, #0xb
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x4c
|
|
strh r0, [r1, #0x0]
|
|
add r0, r6, #0x0
|
|
mov r1, #0x70
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r1, r5, #0x0
|
|
add r1, #0x4e
|
|
strh r0, [r1, #0x0]
|
|
add r0, r6, #0x0
|
|
bl sub_0207C2D4
|
|
mov r1, #0xf
|
|
ldr r2, [r5, #0x50]
|
|
lsl r1, r1, #0x1c
|
|
and r2, r1
|
|
ldr r1, _0207AEB8 ; =0x0FFFFFFF
|
|
and r0, r1
|
|
orr r0, r2
|
|
str r0, [r5, #0x50]
|
|
add r0, r6, #0x0
|
|
bl Pokemon_IsImmuneToPokerus
|
|
cmp r0, #0x1
|
|
bne _0207AE4E
|
|
ldr r1, [r5, #0x50]
|
|
ldr r0, _0207AEBC ; =0x3FFFFFFF
|
|
and r1, r0
|
|
mov r0, #0x2
|
|
lsl r0, r0, #0x1e
|
|
orr r0, r1
|
|
str r0, [r5, #0x50]
|
|
b _0207AE84
|
|
_0207AE4E:
|
|
add r0, r6, #0x0
|
|
bl Pokemon_HasPokerus
|
|
cmp r0, #0x1
|
|
bne _0207AE7C
|
|
ldr r2, [r5, #0x50]
|
|
ldr r1, _0207AEBC ; =0x3FFFFFFF
|
|
add r0, r5, #0x0
|
|
and r2, r1
|
|
add r1, r1, #0x1
|
|
orr r1, r2
|
|
str r1, [r5, #0x50]
|
|
lsl r1, r1, #0x4
|
|
lsr r1, r1, #0x4
|
|
add r0, #0x50
|
|
cmp r1, #0x7
|
|
bne _0207AE84
|
|
mov r1, #0xf
|
|
ldr r2, [r0, #0x0]
|
|
lsl r1, r1, #0x1c
|
|
and r1, r2
|
|
str r1, [r0, #0x0]
|
|
b _0207AE84
|
|
_0207AE7C:
|
|
ldr r1, [r5, #0x50]
|
|
ldr r0, _0207AEBC ; =0x3FFFFFFF
|
|
and r0, r1
|
|
str r0, [r5, #0x50]
|
|
_0207AE84:
|
|
add r0, r6, #0x0
|
|
bl MonIsShiny
|
|
cmp r0, #0x1
|
|
ldr r1, [r5, #0x50]
|
|
bne _0207AE98
|
|
mov r0, #0x2
|
|
lsl r0, r0, #0x1c
|
|
orr r0, r1
|
|
b _0207AE9C
|
|
_0207AE98:
|
|
ldr r0, _0207AEC0 ; =0xDFFFFFFF
|
|
and r0, r1
|
|
_0207AE9C:
|
|
str r0, [r5, #0x50]
|
|
mov r4, #0x0
|
|
str r4, [r5, #0x54]
|
|
str r4, [r5, #0x58]
|
|
str r4, [r5, #0x5c]
|
|
ldr r0, _0207AEC4 ; =0x00000699
|
|
b _0207AEC8
|
|
nop
|
|
_0207AEAC: .word 0x00000674
|
|
_0207AEB0: .word 0x0000067C
|
|
_0207AEB4: .word 0xEFFFFFFF
|
|
_0207AEB8: .word 0x0FFFFFFF
|
|
_0207AEBC: .word 0x3FFFFFFF
|
|
_0207AEC0: .word 0xDFFFFFFF
|
|
_0207AEC4: .word 0x00000699
|
|
_0207AEC8:
|
|
str r4, [r5, #0x60]
|
|
strb r4, [r7, r0]
|
|
_0207AECC:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x0
|
|
bl sub_0207FC5C
|
|
add r1, r0, #0x0
|
|
add r0, r6, #0x0
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
cmp r0, #0x0
|
|
beq _0207AF04
|
|
lsr r0, r4, #0x5
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1f
|
|
add r2, r4, #0x0
|
|
and r2, r1
|
|
mov r1, #0x1
|
|
ldr r3, [r0, #0x54]
|
|
lsl r1, r2
|
|
orr r1, r3
|
|
str r1, [r0, #0x54]
|
|
ldr r0, _0207AF1C ; =0x00000699
|
|
ldrb r0, [r7, r0]
|
|
add r1, r0, #0x1
|
|
ldr r0, _0207AF1C ; =0x00000699
|
|
strb r1, [r7, r0]
|
|
_0207AF04:
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x50
|
|
blo _0207AECC
|
|
ldr r1, [sp, #0x4]
|
|
add r0, r6, #0x0
|
|
bl ReleaseMonLock
|
|
add sp, #0x8
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_0207AF1C: .word 0x00000699
|
|
|
|
thumb_func_start sub_0207AF20
|
|
sub_0207AF20: ; 0x0207AF20
|
|
push {r3, lr}
|
|
mov r2, #0x2a
|
|
lsl r2, r2, #0x4
|
|
ldr r1, [r0, r2]
|
|
lsl r1, r1, #0x3
|
|
lsr r1, r1, #0x1f
|
|
bne _0207AF54
|
|
add r1, r2, #0x0
|
|
sub r1, #0x44
|
|
ldrh r3, [r0, r1]
|
|
add r1, r2, #0x0
|
|
sub r1, #0xe7
|
|
cmp r3, r1
|
|
bne _0207AF4E
|
|
sub r2, #0x54
|
|
ldr r0, [r0, r2]
|
|
mov r1, #0x0
|
|
ldr r0, [r0, #0x28]
|
|
mov r2, #0x64
|
|
add r3, r1, #0x0
|
|
bl sub_02005E90
|
|
pop {r3, pc}
|
|
_0207AF4E:
|
|
add r0, r3, #0x0
|
|
bl sub_02005578
|
|
_0207AF54:
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207AF58
|
|
sub_0207AF58: ; 0x0207AF58
|
|
push {r4, lr}
|
|
mov r1, #0x93
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x2
|
|
ldr r0, [r4, r1]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x4
|
|
bhi _0207AFA4
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0207AF74: ; jump table (using 16-bit offset)
|
|
.short _0207AF7E - _0207AF74 - 2; case 0
|
|
.short _0207AF7E - _0207AF74 - 2; case 1
|
|
.short _0207AF96 - _0207AF74 - 2; case 2
|
|
.short _0207AF9E - _0207AF74 - 2; case 3
|
|
.short _0207AF9E - _0207AF74 - 2; case 4
|
|
_0207AF7E:
|
|
add r1, #0x54
|
|
ldr r0, [r4, r1]
|
|
lsl r0, r0, #0x3
|
|
lsr r0, r0, #0x1f
|
|
ldr r0, _0207AFFC ; =0x0000068C
|
|
bne _0207AF90
|
|
mov r1, #0x0
|
|
strb r1, [r4, r0]
|
|
b _0207AFA4
|
|
_0207AF90:
|
|
mov r1, #0x1
|
|
strb r1, [r4, r0]
|
|
b _0207AFA4
|
|
_0207AF96:
|
|
ldr r0, _0207AFFC ; =0x0000068C
|
|
mov r1, #0x3
|
|
strb r1, [r4, r0]
|
|
b _0207AFA4
|
|
_0207AF9E:
|
|
ldr r0, _0207AFFC ; =0x0000068C
|
|
mov r1, #0x4
|
|
strb r1, [r4, r0]
|
|
_0207AFA4:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207CFAC
|
|
add r0, r4, #0x0
|
|
bl sub_0207C5D4
|
|
add r0, r4, #0x0
|
|
bl sub_0207C838
|
|
add r0, r4, #0x0
|
|
bl sub_0207D2C8
|
|
add r0, r4, #0x0
|
|
bl sub_0207C6A4
|
|
add r0, r4, #0x0
|
|
bl sub_0207CE4C
|
|
add r0, r4, #0x0
|
|
bl sub_0207CC24
|
|
add r0, r4, #0x0
|
|
bl sub_0207D604
|
|
add r0, r4, #0x0
|
|
bl sub_0207DD88
|
|
add r0, r4, #0x0
|
|
bl sub_0207B228
|
|
add r0, r4, #0x0
|
|
bl sub_0207F2A0
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x2
|
|
bne _0207AFFA
|
|
add r0, r4, #0x0
|
|
bl sub_0207BA74
|
|
_0207AFFA:
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207AFFC: .word 0x0000068C
|
|
|
|
thumb_func_start sub_0207B000
|
|
sub_0207B000: ; 0x0207B000
|
|
push {r3-r6}
|
|
mov r6, #0x0
|
|
strb r6, [r0, #0x15]
|
|
add r0, #0x15
|
|
mov r3, #0x1
|
|
_0207B00A:
|
|
ldrb r5, [r1, r6]
|
|
cmp r5, #0x8
|
|
beq _0207B024
|
|
add r2, r3, #0x0
|
|
ldrb r4, [r0, #0x0]
|
|
lsl r2, r5
|
|
orr r2, r4
|
|
strb r2, [r0, #0x0]
|
|
add r2, r6, #0x1
|
|
lsl r2, r2, #0x18
|
|
lsr r6, r2, #0x18
|
|
cmp r6, #0x8
|
|
blo _0207B00A
|
|
_0207B024:
|
|
pop {r3-r6}
|
|
bx lr
|
|
|
|
thumb_func_start sub_0207B028
|
|
sub_0207B028: ; 0x0207B028
|
|
push {r3-r4}
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r4, [r0, r1]
|
|
ldr r1, [r4, #0x2c]
|
|
cmp r1, #0x1
|
|
beq _0207B06C
|
|
ldrb r2, [r4, #0x15]
|
|
mov r1, #0x10
|
|
add r3, r2, #0x0
|
|
tst r3, r1
|
|
beq _0207B044
|
|
eor r1, r2
|
|
strb r1, [r4, #0x15]
|
|
_0207B044:
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r4, [r0, r1]
|
|
mov r1, #0x20
|
|
ldrb r2, [r4, #0x15]
|
|
add r3, r2, #0x0
|
|
tst r3, r1
|
|
beq _0207B058
|
|
eor r1, r2
|
|
strb r1, [r4, #0x15]
|
|
_0207B058:
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r3, [r0, r1]
|
|
mov r0, #0x40
|
|
ldrb r1, [r3, #0x15]
|
|
add r2, r1, #0x0
|
|
tst r2, r0
|
|
beq _0207B06C
|
|
eor r0, r1
|
|
strb r0, [r3, #0x15]
|
|
_0207B06C:
|
|
pop {r3-r4}
|
|
bx lr
|
|
|
|
thumb_func_start sub_0207B070
|
|
sub_0207B070: ; 0x0207B070
|
|
mov r2, #0x2a
|
|
lsl r2, r2, #0x4
|
|
ldr r2, [r0, r2]
|
|
lsl r2, r2, #0x3
|
|
lsr r2, r2, #0x1f
|
|
beq _0207B088
|
|
cmp r1, #0x1
|
|
beq _0207B088
|
|
cmp r1, #0x7
|
|
beq _0207B088
|
|
mov r0, #0x0
|
|
bx lr
|
|
_0207B088:
|
|
mov r2, #0x93
|
|
lsl r2, r2, #0x2
|
|
ldr r0, [r0, r2]
|
|
ldrb r2, [r0, #0x15]
|
|
mov r0, #0x1
|
|
lsl r0, r1
|
|
and r0, r2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
|
|
thumb_func_start sub_0207B09C
|
|
sub_0207B09C: ; 0x0207B09C
|
|
push {r3-r4}
|
|
mov r3, #0x93
|
|
lsl r3, r3, #0x2
|
|
ldr r0, [r0, r3]
|
|
mov r2, #0x0
|
|
ldrb r0, [r0, #0x15]
|
|
add r1, r2, #0x0
|
|
mov r3, #0x1
|
|
_0207B0AC:
|
|
add r4, r3, #0x0
|
|
lsl r4, r1
|
|
tst r4, r0
|
|
beq _0207B0BA
|
|
add r2, r2, #0x1
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
_0207B0BA:
|
|
add r1, r1, #0x1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, #0x8
|
|
blo _0207B0AC
|
|
add r0, r2, #0x0
|
|
pop {r3-r4}
|
|
bx lr
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207B0CC
|
|
sub_0207B0CC: ; 0x0207B0CC
|
|
push {r3-r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0x0
|
|
ldr r1, _0207B174 ; =0x0000068C
|
|
add r5, r0, #0x0
|
|
ldrsb r1, [r5, r1]
|
|
cmp r1, r4
|
|
beq _0207B170
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r5, r1]
|
|
ldrb r1, [r1, #0x12]
|
|
cmp r1, #0x2
|
|
bne _0207B0EC
|
|
bl sub_0207BDD8
|
|
_0207B0EC:
|
|
add r0, r5, #0x0
|
|
bl sub_0207D6F8
|
|
ldr r0, _0207B174 ; =0x0000068C
|
|
mov r1, #0x0
|
|
strb r4, [r5, r0]
|
|
add r0, r5, #0x0
|
|
bl sub_0207CFAC
|
|
add r0, r5, #0x0
|
|
bl sub_0207C5D4
|
|
add r0, r5, #0x0
|
|
bl sub_0207C6A4
|
|
add r0, r5, #0x0
|
|
bl sub_0207C838
|
|
add r0, r5, #0x0
|
|
bl sub_0207D2C8
|
|
add r0, r5, #0x0
|
|
bl sub_0207CC24
|
|
add r0, r5, #0x0
|
|
bl sub_0207D604
|
|
add r0, r5, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207D418
|
|
mov r0, #0x4
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0x4]
|
|
mov r0, #0x14
|
|
str r0, [sp, #0x8]
|
|
mov r2, #0x0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x1
|
|
mov r3, #0xe
|
|
bl FillBgTilemapRect
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x1
|
|
bl BgCommitTilemapBufferToVram
|
|
add r0, r5, #0x0
|
|
bl sub_0207DD88
|
|
add r0, r5, #0x0
|
|
bl sub_0207B228
|
|
add r0, r5, #0x0
|
|
bl sub_0207F2A0
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x2
|
|
bne _0207B170
|
|
add r0, r5, #0x0
|
|
bl sub_0207BDF4
|
|
_0207B170:
|
|
add sp, #0x10
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_0207B174: .word 0x0000068C
|
|
|
|
thumb_func_start sub_0207B178
|
|
sub_0207B178: ; 0x0207B178
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _0207B1F8 ; =0x0000068C
|
|
mov r6, #0x1
|
|
ldrsb r4, [r5, r0]
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r12, r4
|
|
lsl r0, r0, #0x3
|
|
lsr r0, r0, #0x1f
|
|
add r7, r6, #0x0
|
|
_0207B190:
|
|
add r2, r4, r1
|
|
lsl r2, r2, #0x18
|
|
asr r4, r2, #0x18
|
|
bpl _0207B19C
|
|
mov r4, #0x7
|
|
b _0207B1A2
|
|
_0207B19C:
|
|
cmp r4, #0x7
|
|
ble _0207B1A2
|
|
mov r4, #0x0
|
|
_0207B1A2:
|
|
cmp r0, #0x0
|
|
bne _0207B1B8
|
|
mov r2, #0x93
|
|
lsl r2, r2, #0x2
|
|
ldr r2, [r5, r2]
|
|
ldrb r3, [r2, #0x15]
|
|
add r2, r6, #0x0
|
|
lsl r2, r4
|
|
tst r2, r3
|
|
bne _0207B1D0
|
|
b _0207B190
|
|
_0207B1B8:
|
|
mov r2, #0x93
|
|
lsl r2, r2, #0x2
|
|
ldr r2, [r5, r2]
|
|
ldrb r3, [r2, #0x15]
|
|
add r2, r7, #0x0
|
|
lsl r2, r4
|
|
tst r2, r3
|
|
beq _0207B190
|
|
cmp r4, #0x1
|
|
beq _0207B1D0
|
|
cmp r4, #0x7
|
|
bne _0207B190
|
|
_0207B1D0:
|
|
mov r0, r12
|
|
cmp r4, r0
|
|
beq _0207B1F4
|
|
ldr r0, _0207B1FC ; =0x000005E1
|
|
bl PlaySE
|
|
add r0, r5, #0x0
|
|
bl sub_0207FA38
|
|
add r0, r5, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207D418
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0x0
|
|
lsr r1, r1, #0x18
|
|
bl sub_0207B0CC
|
|
_0207B1F4:
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_0207B1F8: .word 0x0000068C
|
|
_0207B1FC: .word 0x000005E1
|
|
|
|
thumb_func_start sub_0207B200
|
|
sub_0207B200: ; 0x0207B200
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_0207FA80
|
|
cmp r0, #0xff
|
|
bne _0207B210
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
_0207B210:
|
|
ldr r1, _0207B224 ; =0x00000694
|
|
mov r3, #0x0
|
|
strb r3, [r4, r1]
|
|
add r2, r1, #0x2
|
|
strb r0, [r4, r2]
|
|
add r0, r1, #0x1
|
|
strb r3, [r4, r0]
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
nop
|
|
_0207B224: .word 0x00000694
|
|
|
|
thumb_func_start sub_0207B228
|
|
sub_0207B228: ; 0x0207B228
|
|
push {r3-r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r5, r0]
|
|
ldrb r0, [r1, #0x12]
|
|
cmp r0, #0x2
|
|
bne _0207B250
|
|
ldrh r0, [r1, #0x18]
|
|
cmp r0, #0x0
|
|
beq _0207B250
|
|
ldr r0, _0207B2AC ; =0x0000068C
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0x3
|
|
bne _0207B24C
|
|
mov r1, #0xc
|
|
b _0207B256
|
|
_0207B24C:
|
|
mov r1, #0xd
|
|
b _0207B256
|
|
_0207B250:
|
|
ldr r0, _0207B2AC ; =0x0000068C
|
|
ldrsb r0, [r5, r0]
|
|
add r1, r0, #0x3
|
|
_0207B256:
|
|
mov r0, #0x27
|
|
mov r2, #0x13
|
|
bl AllocAndReadWholeNarcMemberByIdPair
|
|
add r1, sp, #0xc
|
|
add r4, r0, #0x0
|
|
bl NNS_G2dGetUnpackedScreenData
|
|
mov r3, #0x0
|
|
str r3, [sp, #0x0]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x3
|
|
add r2, #0xc
|
|
bl LoadRectToBgTilemapRect
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
ldr r0, _0207B2AC ; =0x0000068C
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0x0
|
|
bne _0207B29C
|
|
add r0, r5, #0x0
|
|
bl sub_0207B364
|
|
add sp, #0x10
|
|
pop {r3-r5, pc}
|
|
_0207B29C:
|
|
cmp r0, #0x2
|
|
bne _0207B2A6
|
|
add r0, r5, #0x0
|
|
bl sub_0207B2B0
|
|
_0207B2A6:
|
|
add sp, #0x10
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0207B2AC: .word 0x0000068C
|
|
|
|
thumb_func_start sub_0207B2B0
|
|
sub_0207B2B0: ; 0x0207B2B0
|
|
push {r4-r7, lr}
|
|
sub sp, #0x14
|
|
mov r1, #0x9d
|
|
add r6, r0, #0x0
|
|
lsl r1, r1, #0x2
|
|
ldrh r0, [r6, r1]
|
|
add r1, r1, #0x2
|
|
ldrh r1, [r6, r1]
|
|
mov r2, #0x30
|
|
bl sub_02079A54
|
|
cmp r0, #0x4
|
|
bhi _0207B2EC
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0207B2D6: ; jump table (using 16-bit offset)
|
|
.short _0207B2E0 - _0207B2D6 - 2; case 0
|
|
.short _0207B2E8 - _0207B2D6 - 2; case 1
|
|
.short _0207B2E4 - _0207B2D6 - 2; case 2
|
|
.short _0207B2E0 - _0207B2D6 - 2; case 3
|
|
.short _0207B2E0 - _0207B2D6 - 2; case 4
|
|
_0207B2E0:
|
|
ldr r7, _0207B35C ; =0x0000A0C0
|
|
b _0207B2EC
|
|
_0207B2E4:
|
|
ldr r7, _0207B360 ; =0x0000A0E0
|
|
b _0207B2EC
|
|
_0207B2E8:
|
|
mov r7, #0xa1
|
|
lsl r7, r7, #0x8
|
|
_0207B2EC:
|
|
mov r1, #0x9d
|
|
lsl r1, r1, #0x2
|
|
ldrh r0, [r6, r1]
|
|
add r1, r1, #0x2
|
|
ldrh r1, [r6, r1]
|
|
mov r2, #0x30
|
|
bl sub_02079A0C
|
|
add r4, r0, #0x0
|
|
add r0, r7, #0x0
|
|
add r0, #0x8
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r5, #0x0
|
|
str r0, [sp, #0x10]
|
|
_0207B30A:
|
|
cmp r4, #0x8
|
|
blo _0207B312
|
|
ldr r2, [sp, #0x10]
|
|
b _0207B318
|
|
_0207B312:
|
|
add r0, r7, r4
|
|
lsl r0, r0, #0x10
|
|
lsr r2, r0, #0x10
|
|
_0207B318:
|
|
mov r0, #0x6
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
add r3, r5, #0x0
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x11
|
|
add r3, #0x18
|
|
str r0, [sp, #0xc]
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r6, #0x0]
|
|
mov r1, #0x3
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
cmp r4, #0x8
|
|
bhs _0207B33E
|
|
mov r4, #0x0
|
|
b _0207B344
|
|
_0207B33E:
|
|
sub r4, #0x8
|
|
lsl r0, r4, #0x18
|
|
lsr r4, r0, #0x18
|
|
_0207B344:
|
|
add r0, r5, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
cmp r5, #0x6
|
|
blo _0207B30A
|
|
ldr r0, [r6, #0x0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x14
|
|
pop {r4-r7, pc}
|
|
nop
|
|
_0207B35C: .word 0x0000A0C0
|
|
_0207B360: .word 0x0000A0E0
|
|
|
|
thumb_func_start sub_0207B364
|
|
sub_0207B364: ; 0x0207B364
|
|
push {r3-r7, lr}
|
|
sub sp, #0x10
|
|
ldr r2, _0207B3EC ; =0x00000262
|
|
add r6, r0, #0x0
|
|
ldrb r0, [r6, r2]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x19
|
|
cmp r0, #0x64
|
|
bhs _0207B38C
|
|
add r0, r2, #0x0
|
|
add r1, r2, #0x0
|
|
add r0, #0xa
|
|
add r1, #0xe
|
|
add r2, r2, #0x6
|
|
ldr r0, [r6, r0]
|
|
ldr r1, [r6, r1]
|
|
ldr r2, [r6, r2]
|
|
sub r1, r1, r0
|
|
sub r0, r2, r0
|
|
b _0207B390
|
|
_0207B38C:
|
|
mov r1, #0x0
|
|
add r0, r1, #0x0
|
|
_0207B390:
|
|
mov r2, #0x38
|
|
bl sub_02079A0C
|
|
add r4, r0, #0x0
|
|
mov r5, #0x0
|
|
mov r7, #0x17
|
|
_0207B39C:
|
|
cmp r4, #0x8
|
|
blo _0207B3A4
|
|
mov r2, #0xb4
|
|
b _0207B3AC
|
|
_0207B3A4:
|
|
add r0, r4, #0x0
|
|
add r0, #0xac
|
|
lsl r0, r0, #0x10
|
|
lsr r2, r0, #0x10
|
|
_0207B3AC:
|
|
str r7, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
add r3, r5, #0x0
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x11
|
|
add r3, #0x17
|
|
str r0, [sp, #0xc]
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r6, #0x0]
|
|
mov r1, #0x3
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
cmp r4, #0x8
|
|
bhs _0207B3D0
|
|
mov r4, #0x0
|
|
b _0207B3D6
|
|
_0207B3D0:
|
|
sub r4, #0x8
|
|
lsl r0, r4, #0x18
|
|
lsr r4, r0, #0x18
|
|
_0207B3D6:
|
|
add r0, r5, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
cmp r5, #0x7
|
|
blo _0207B39C
|
|
ldr r0, [r6, #0x0]
|
|
mov r1, #0x3
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x10
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_0207B3EC: .word 0x00000262
|
|
|
|
thumb_func_start sub_0207B3F0
|
|
sub_0207B3F0: ; 0x0207B3F0
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_0207B4A4
|
|
mov r1, #0x0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0207B49C
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
strb r0, [r1, #0x14]
|
|
add r0, r4, #0x0
|
|
bl sub_0207AAB0
|
|
add r0, r4, #0x0
|
|
bl sub_0207AF20
|
|
add r0, r4, #0x0
|
|
bl sub_0207D768
|
|
add r0, r4, #0x0
|
|
bl sub_0207D800
|
|
add r0, r4, #0x0
|
|
bl sub_0207D8A0
|
|
ldr r0, _0207B4A0 ; =0x0000068C
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x0
|
|
bne _0207B436
|
|
add r0, r4, #0x0
|
|
bl sub_0207B364
|
|
b _0207B44C
|
|
_0207B436:
|
|
cmp r0, #0x2
|
|
bne _0207B442
|
|
add r0, r4, #0x0
|
|
bl sub_0207B2B0
|
|
b _0207B44C
|
|
_0207B442:
|
|
cmp r0, #0x4
|
|
bne _0207B44C
|
|
add r0, r4, #0x0
|
|
bl sub_0207F608
|
|
_0207B44C:
|
|
add r0, r4, #0x0
|
|
bl sub_0207F934
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207CFAC
|
|
add r0, r4, #0x0
|
|
bl sub_0207C5D4
|
|
add r0, r4, #0x0
|
|
bl sub_0207C6A4
|
|
add r0, r4, #0x0
|
|
bl sub_0207CA44
|
|
add r0, r4, #0x0
|
|
bl sub_0207C838
|
|
add r0, r4, #0x0
|
|
bl sub_0207D2C8
|
|
add r0, r4, #0x0
|
|
bl sub_0207CFEC
|
|
add r0, r4, #0x0
|
|
bl sub_0207C71C
|
|
add r0, r4, #0x0
|
|
bl sub_0207C77C
|
|
add r0, r4, #0x0
|
|
bl sub_0207CC24
|
|
add r0, r4, #0x0
|
|
bl sub_0207CE4C
|
|
add r0, r4, #0x0
|
|
bl sub_0207DD88
|
|
_0207B49C:
|
|
pop {r4, pc}
|
|
nop
|
|
_0207B4A0: .word 0x0000068C
|
|
|
|
thumb_func_start sub_0207B4A4
|
|
sub_0207B4A4: ; 0x0207B4A4
|
|
push {r3, lr}
|
|
mov r2, #0x93
|
|
lsl r2, r2, #0x2
|
|
ldr r2, [r0, r2]
|
|
ldrb r2, [r2, #0x11]
|
|
cmp r2, #0x0
|
|
beq _0207B4BC
|
|
cmp r2, #0x1
|
|
beq _0207B4C2
|
|
cmp r2, #0x2
|
|
beq _0207B4C8
|
|
b _0207B4CE
|
|
_0207B4BC:
|
|
bl sub_0207B4FC
|
|
pop {r3, pc}
|
|
_0207B4C2:
|
|
bl sub_0207B564
|
|
pop {r3, pc}
|
|
_0207B4C8:
|
|
bl sub_0207B5C0
|
|
pop {r3, pc}
|
|
_0207B4CE:
|
|
mov r0, #0x0
|
|
mvn r0, r0
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start sub_0207B4D4
|
|
sub_0207B4D4: ; 0x0207B4D4
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r0, r1]
|
|
ldrb r1, [r1, #0x12]
|
|
cmp r1, #0x3
|
|
bne _0207B4E4
|
|
mov r0, #0x0
|
|
bx lr
|
|
_0207B4E4:
|
|
ldr r1, _0207B4F8 ; =0x0000068C
|
|
ldrsb r0, [r0, r1]
|
|
cmp r0, #0x1
|
|
beq _0207B4F4
|
|
cmp r0, #0x7
|
|
beq _0207B4F4
|
|
mov r0, #0x0
|
|
bx lr
|
|
_0207B4F4:
|
|
mov r0, #0x1
|
|
bx lr
|
|
.balign 4
|
|
_0207B4F8: .word 0x0000068C
|
|
|
|
thumb_func_start sub_0207B4FC
|
|
sub_0207B4FC: ; 0x0207B4FC
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
str r1, [sp, #0x0]
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0x14
|
|
ldrsb r4, [r1, r0]
|
|
_0207B50C:
|
|
ldr r0, [sp, #0x0]
|
|
add r0, r4, r0
|
|
lsl r0, r0, #0x18
|
|
asr r4, r0, #0x18
|
|
bmi _0207B522
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldrb r0, [r0, #0x13]
|
|
cmp r4, r0
|
|
blt _0207B528
|
|
_0207B522:
|
|
mov r0, #0x0
|
|
mvn r0, r0
|
|
pop {r3-r7, pc}
|
|
_0207B528:
|
|
bl sub_020690C4
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r5, r1]
|
|
add r7, r4, #0x0
|
|
ldr r6, [r1, #0x0]
|
|
mul r7, r0
|
|
add r0, r6, r7
|
|
mov r1, #0x5
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
cmp r0, #0x0
|
|
beq _0207B50C
|
|
add r0, r6, r7
|
|
mov r1, #0x4c
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
cmp r0, #0x0
|
|
beq _0207B55E
|
|
add r0, r5, #0x0
|
|
bl sub_0207B4D4
|
|
cmp r0, #0x1
|
|
bne _0207B50C
|
|
_0207B55E:
|
|
add r0, r4, #0x0
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207B564
|
|
sub_0207B564: ; 0x0207B564
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
add r7, r1, #0x0
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0x14
|
|
ldrsb r4, [r1, r0]
|
|
_0207B574:
|
|
add r0, r4, r7
|
|
lsl r0, r0, #0x18
|
|
asr r4, r0, #0x18
|
|
bmi _0207B588
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r1, [r5, r0]
|
|
ldrb r0, [r1, #0x13]
|
|
cmp r4, r0
|
|
blt _0207B58E
|
|
_0207B588:
|
|
mov r0, #0x0
|
|
mvn r0, r0
|
|
pop {r3-r7, pc}
|
|
_0207B58E:
|
|
ldr r0, [r1, #0x0]
|
|
add r1, r4, #0x0
|
|
bl Party_GetMonByIndex
|
|
mov r1, #0x5
|
|
mov r2, #0x0
|
|
add r6, r0, #0x0
|
|
bl GetMonData
|
|
cmp r0, #0x0
|
|
beq _0207B574
|
|
add r0, r6, #0x0
|
|
mov r1, #0x4c
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
cmp r0, #0x0
|
|
beq _0207B5BC
|
|
add r0, r5, #0x0
|
|
bl sub_0207B4D4
|
|
cmp r0, #0x1
|
|
bne _0207B574
|
|
_0207B5BC:
|
|
add r0, r4, #0x0
|
|
pop {r3-r7, pc}
|
|
|
|
thumb_func_start sub_0207B5C0
|
|
sub_0207B5C0: ; 0x0207B5C0
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
str r1, [sp, #0x0]
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0x14
|
|
ldrsb r4, [r1, r0]
|
|
_0207B5D0:
|
|
ldr r0, [sp, #0x0]
|
|
add r0, r4, r0
|
|
lsl r0, r0, #0x18
|
|
asr r4, r0, #0x18
|
|
bmi _0207B5E6
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r5, r0]
|
|
ldrb r0, [r0, #0x13]
|
|
cmp r4, r0
|
|
blt _0207B5EC
|
|
_0207B5E6:
|
|
mov r0, #0x0
|
|
mvn r0, r0
|
|
pop {r3-r7, pc}
|
|
_0207B5EC:
|
|
bl sub_020690C8
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r5, r1]
|
|
add r7, r4, #0x0
|
|
ldr r6, [r1, #0x0]
|
|
mul r7, r0
|
|
add r0, r6, r7
|
|
mov r1, #0x5
|
|
mov r2, #0x0
|
|
bl GetBoxMonData
|
|
cmp r0, #0x0
|
|
beq _0207B5D0
|
|
add r0, r6, r7
|
|
mov r1, #0x4c
|
|
mov r2, #0x0
|
|
bl GetBoxMonData
|
|
cmp r0, #0x0
|
|
beq _0207B622
|
|
add r0, r5, #0x0
|
|
bl sub_0207B4D4
|
|
cmp r0, #0x1
|
|
bne _0207B5D0
|
|
_0207B622:
|
|
add r0, r4, #0x0
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207B628
|
|
sub_0207B628: ; 0x0207B628
|
|
push {r4, lr}
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r4, [r0, r1]
|
|
ldrb r0, [r4, #0x11]
|
|
cmp r0, #0x0
|
|
beq _0207B640
|
|
cmp r0, #0x1
|
|
beq _0207B64E
|
|
cmp r0, #0x2
|
|
beq _0207B658
|
|
b _0207B666
|
|
_0207B640:
|
|
bl sub_020690C4
|
|
ldrb r1, [r4, #0x14]
|
|
ldr r2, [r4, #0x0]
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
pop {r4, pc}
|
|
_0207B64E:
|
|
ldrb r1, [r4, #0x14]
|
|
ldr r0, [r4, #0x0]
|
|
bl Party_GetMonByIndex
|
|
pop {r4, pc}
|
|
_0207B658:
|
|
bl sub_020690C8
|
|
ldrb r1, [r4, #0x14]
|
|
ldr r2, [r4, #0x0]
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
pop {r4, pc}
|
|
_0207B666:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207B66C
|
|
sub_0207B66C: ; 0x0207B66C
|
|
push {r4, lr}
|
|
ldr r1, _0207B774 ; =0x0000068E
|
|
add r4, r0, #0x0
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0x0
|
|
beq _0207B682
|
|
cmp r1, #0x1
|
|
beq _0207B6E2
|
|
cmp r1, #0x2
|
|
beq _0207B70E
|
|
b _0207B76E
|
|
_0207B682:
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
mov r2, #0x0
|
|
mov r3, #0x88
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
mov r2, #0x3
|
|
mov r3, #0x0
|
|
bl ScheduleSetBgPosText
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207C6F0
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0x0
|
|
add r0, #0x64
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207CFAC
|
|
ldr r1, _0207B778 ; =0x0000068D
|
|
mov r0, #0xf
|
|
ldrb r2, [r4, r1]
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
mov r2, #0x1
|
|
add r0, r1, #0x1
|
|
strb r2, [r4, r0]
|
|
b _0207B76E
|
|
_0207B6E2:
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
bl Bg_GetXpos
|
|
cmp r0, #0x40
|
|
ldr r0, [r4, #0x0]
|
|
bgt _0207B702
|
|
mov r2, #0x0
|
|
mov r1, #0x2
|
|
add r3, r2, #0x0
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, _0207B774 ; =0x0000068E
|
|
mov r1, #0x2
|
|
strb r1, [r4, r0]
|
|
b _0207B76E
|
|
_0207B702:
|
|
mov r1, #0x2
|
|
add r2, r1, #0x0
|
|
mov r3, #0x40
|
|
bl ScheduleSetBgPosText
|
|
b _0207B76E
|
|
_0207B70E:
|
|
bl sub_0207ECDC
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x1
|
|
beq _0207B732
|
|
add r0, r4, #0x0
|
|
mov r1, #0x98
|
|
bl sub_0207D924
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
_0207B732:
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
ldr r0, _0207B77C ; =0x00000434
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
add r0, r4, #0x0
|
|
bl sub_0207D06C
|
|
mov r0, #0x26
|
|
lsl r0, r0, #0x4
|
|
ldrb r1, [r4, r0]
|
|
add r0, r0, #0x1
|
|
ldrb r0, [r4, r0]
|
|
cmp r1, r0
|
|
beq _0207B760
|
|
ldr r0, _0207B780 ; =0x00000438
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
_0207B760:
|
|
ldr r0, _0207B784 ; =0x0000042C
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0207B76E:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
nop
|
|
_0207B774: .word 0x0000068E
|
|
_0207B778: .word 0x0000068D
|
|
_0207B77C: .word 0x00000434
|
|
_0207B780: .word 0x00000438
|
|
_0207B784: .word 0x0000042C
|
|
|
|
thumb_func_start sub_0207B788
|
|
sub_0207B788: ; 0x0207B788
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _0207B864 ; =0x0000068E
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0x0
|
|
beq _0207B79E
|
|
cmp r0, #0x1
|
|
beq _0207B7F8
|
|
cmp r0, #0x2
|
|
beq _0207B824
|
|
b _0207B860
|
|
_0207B79E:
|
|
ldr r0, _0207B868 ; =0x00000434
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
ldr r0, _0207B86C ; =0x00000438
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
mov r0, #0x45
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_0200C63C
|
|
ldr r0, _0207B870 ; =0x00000454
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
ldr r0, _0207B874 ; =0x0000042C
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207CFAC
|
|
add r0, r4, #0x0
|
|
bl sub_0207ED18
|
|
add r0, r4, #0x0
|
|
bl sub_0207EC94
|
|
ldr r0, _0207B864 ; =0x0000068E
|
|
mov r1, #0x1
|
|
strb r1, [r4, r0]
|
|
b _0207B860
|
|
_0207B7F8:
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
bl Bg_GetXpos
|
|
cmp r0, #0x80
|
|
ldr r0, [r4, #0x0]
|
|
blt _0207B818
|
|
mov r1, #0x2
|
|
mov r2, #0x0
|
|
mov r3, #0x88
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, _0207B864 ; =0x0000068E
|
|
mov r1, #0x2
|
|
strb r1, [r4, r0]
|
|
b _0207B860
|
|
_0207B818:
|
|
mov r1, #0x2
|
|
mov r2, #0x1
|
|
mov r3, #0x40
|
|
bl ScheduleSetBgPosText
|
|
b _0207B860
|
|
_0207B824:
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0x64
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
mov r1, #0x81
|
|
bl sub_0207D924
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_0207C6F0
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0207B860:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207B864: .word 0x0000068E
|
|
_0207B868: .word 0x00000434
|
|
_0207B86C: .word 0x00000438
|
|
_0207B870: .word 0x00000454
|
|
_0207B874: .word 0x0000042C
|
|
|
|
thumb_func_start sub_0207B878
|
|
sub_0207B878: ; 0x0207B878
|
|
push {r4-r7}
|
|
add r5, r0, #0x0
|
|
ldr r0, _0207B8D4 ; =0x0000068D
|
|
mov r6, #0xa1
|
|
ldrb r0, [r5, r0]
|
|
mov r2, #0x4
|
|
lsl r6, r6, #0x2
|
|
lsl r0, r0, #0x1c
|
|
lsr r4, r0, #0x1c
|
|
add r3, r4, #0x0
|
|
mov r0, #0x0
|
|
_0207B88E:
|
|
add r3, r3, r1
|
|
lsl r3, r3, #0x18
|
|
asr r3, r3, #0x18
|
|
bpl _0207B89A
|
|
add r3, r2, #0x0
|
|
b _0207B8A0
|
|
_0207B89A:
|
|
cmp r3, #0x5
|
|
bne _0207B8A0
|
|
add r3, r0, #0x0
|
|
_0207B8A0:
|
|
lsl r7, r3, #0x1
|
|
add r7, r5, r7
|
|
ldrh r7, [r7, r6]
|
|
cmp r7, #0x0
|
|
bne _0207B8AE
|
|
cmp r3, #0x4
|
|
bne _0207B88E
|
|
_0207B8AE:
|
|
cmp r3, r4
|
|
beq _0207B8CC
|
|
ldr r2, _0207B8D4 ; =0x0000068D
|
|
mov r1, #0xf
|
|
ldrb r0, [r5, r2]
|
|
bic r0, r1
|
|
lsl r1, r3, #0x18
|
|
lsr r3, r1, #0x18
|
|
mov r1, #0xf
|
|
and r1, r3
|
|
orr r0, r1
|
|
strb r0, [r5, r2]
|
|
mov r0, #0x1
|
|
pop {r4-r7}
|
|
bx lr
|
|
_0207B8CC:
|
|
mov r0, #0x0
|
|
pop {r4-r7}
|
|
bx lr
|
|
nop
|
|
_0207B8D4: .word 0x0000068D
|
|
|
|
thumb_func_start sub_0207B8D8
|
|
sub_0207B8D8: ; 0x0207B8D8
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_0207CBC0
|
|
ldr r2, _0207B95C ; =0x0000068D
|
|
ldrb r0, [r4, r2]
|
|
lsl r0, r0, #0x1c
|
|
lsr r1, r0, #0x1c
|
|
cmp r1, #0x4
|
|
bne _0207B930
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrh r1, [r0, #0x18]
|
|
cmp r1, #0x0
|
|
beq _0207B910
|
|
sub r0, r2, #0x1
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x3
|
|
bne _0207B908
|
|
add r0, r4, #0x0
|
|
bl sub_0207B960
|
|
pop {r4, pc}
|
|
_0207B908:
|
|
add r0, r4, #0x0
|
|
bl sub_0207B99C
|
|
pop {r4, pc}
|
|
_0207B910:
|
|
sub r0, r2, #0x1
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x3
|
|
bne _0207B924
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
bl sub_0207B960
|
|
pop {r4, pc}
|
|
_0207B924:
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
bl sub_0207B99C
|
|
pop {r4, pc}
|
|
_0207B930:
|
|
sub r0, r2, #0x1
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x3
|
|
bne _0207B94A
|
|
lsl r1, r1, #0x1
|
|
add r2, r4, r1
|
|
mov r1, #0xa1
|
|
lsl r1, r1, #0x2
|
|
ldrh r1, [r2, r1]
|
|
add r0, r4, #0x0
|
|
bl sub_0207B960
|
|
pop {r4, pc}
|
|
_0207B94A:
|
|
lsl r1, r1, #0x1
|
|
add r2, r4, r1
|
|
mov r1, #0xa1
|
|
lsl r1, r1, #0x2
|
|
ldrh r1, [r2, r1]
|
|
add r0, r4, #0x0
|
|
bl sub_0207B99C
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207B95C: .word 0x0000068D
|
|
|
|
thumb_func_start sub_0207B960
|
|
sub_0207B960: ; 0x0207B960
|
|
push {r3-r5, lr}
|
|
mov r2, #0x0
|
|
add r4, r1, #0x0
|
|
mvn r2, r2
|
|
add r5, r0, #0x0
|
|
cmp r4, r2
|
|
bne _0207B980
|
|
bl sub_0207EC94
|
|
mov r0, #0x45
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl sub_0200C63C
|
|
pop {r3-r5, pc}
|
|
_0207B980:
|
|
bl sub_0207EB64
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl sub_0207CB70
|
|
mov r0, #0x45
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl sub_0200C63C
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207B99C
|
|
sub_0207B99C: ; 0x0207B99C
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
bl sub_0207BD84
|
|
mov r0, #0x0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _0207B9B6
|
|
add r0, r5, #0x0
|
|
bl sub_0207EEB0
|
|
pop {r3-r5, pc}
|
|
_0207B9B6:
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl sub_0207EE2C
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_0207B9C0
|
|
sub_0207B9C0: ; 0x0207B9C0
|
|
push {r3-r7, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_0207B628
|
|
mov r1, #0x93
|
|
lsl r1, r1, #0x2
|
|
ldr r1, [r4, r1]
|
|
ldrb r1, [r1, #0x11]
|
|
cmp r1, #0x2
|
|
ldr r1, _0207BA70 ; =0x0000068D
|
|
bne _0207B9E6
|
|
ldrb r2, [r4, r1]
|
|
lsl r1, r2, #0x1c
|
|
lsl r2, r2, #0x18
|
|
lsr r1, r1, #0x1c
|
|
lsr r2, r2, #0x1c
|
|
bl sub_020698E8
|
|
b _0207B9F4
|
|
_0207B9E6:
|
|
ldrb r2, [r4, r1]
|
|
lsl r1, r2, #0x1c
|
|
lsl r2, r2, #0x18
|
|
lsr r1, r1, #0x1c
|
|
lsr r2, r2, #0x1c
|
|
bl sub_020698E0
|
|
_0207B9F4:
|
|
ldr r0, _0207BA70 ; =0x0000068D
|
|
mov r1, #0xa1
|
|
ldrb r6, [r4, r0]
|
|
lsl r1, r1, #0x2
|
|
add r5, r4, r1
|
|
lsl r2, r6, #0x1c
|
|
lsl r6, r6, #0x18
|
|
lsr r6, r6, #0x1c
|
|
lsl r6, r6, #0x1
|
|
lsr r3, r2, #0x1b
|
|
add r6, r4, r6
|
|
ldrh r2, [r5, r3]
|
|
ldrh r6, [r6, r1]
|
|
strh r6, [r5, r3]
|
|
ldrb r3, [r4, r0]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x1c
|
|
lsl r3, r3, #0x1
|
|
add r3, r4, r3
|
|
strh r2, [r3, r1]
|
|
add r2, r1, #0x0
|
|
add r2, #0x8
|
|
ldrb r6, [r4, r0]
|
|
add r5, r4, r2
|
|
lsl r2, r6, #0x1c
|
|
lsl r6, r6, #0x18
|
|
lsr r6, r6, #0x1c
|
|
add r7, r4, r6
|
|
add r6, r1, #0x0
|
|
lsr r3, r2, #0x1c
|
|
add r6, #0x8
|
|
ldrb r2, [r5, r3]
|
|
ldrb r6, [r7, r6]
|
|
strb r6, [r5, r3]
|
|
ldrb r3, [r4, r0]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x1c
|
|
add r5, r4, r3
|
|
add r3, r1, #0x0
|
|
add r3, #0x8
|
|
strb r2, [r5, r3]
|
|
add r2, r1, #0x0
|
|
add r2, #0xc
|
|
ldrb r6, [r4, r0]
|
|
add r5, r4, r2
|
|
lsl r2, r6, #0x1c
|
|
lsl r6, r6, #0x18
|
|
lsr r6, r6, #0x1c
|
|
add r7, r4, r6
|
|
add r6, r1, #0x0
|
|
lsr r3, r2, #0x1c
|
|
add r6, #0xc
|
|
ldrb r2, [r5, r3]
|
|
ldrb r6, [r7, r6]
|
|
add r1, #0xc
|
|
strb r6, [r5, r3]
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
add r0, r4, r0
|
|
strb r2, [r0, r1]
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_0207BA70: .word 0x0000068D
|
|
|
|
thumb_func_start sub_0207BA74
|
|
sub_0207BA74: ; 0x0207BA74
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0x0
|
|
add r0, #0x64
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r2, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
add r3, r2, #0x0
|
|
bl ScheduleSetBgPosText
|
|
add r0, r4, #0x0
|
|
bl sub_0207ECDC
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
ldr r0, _0207BAE0 ; =0x00000434
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
add r0, r4, #0x0
|
|
bl sub_0207D06C
|
|
mov r0, #0x26
|
|
lsl r0, r0, #0x4
|
|
ldrb r1, [r4, r0]
|
|
add r0, r0, #0x1
|
|
ldrb r0, [r4, r0]
|
|
cmp r1, r0
|
|
beq _0207BAD4
|
|
ldr r0, _0207BAE4 ; =0x00000438
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
_0207BAD4:
|
|
ldr r0, _0207BAE8 ; =0x0000042C
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207BAE0: .word 0x00000434
|
|
_0207BAE4: .word 0x00000438
|
|
_0207BAE8: .word 0x0000042C
|
|
|
|
thumb_func_start sub_0207BAEC
|
|
sub_0207BAEC: ; 0x0207BAEC
|
|
push {r4, lr}
|
|
ldr r1, _0207BBE4 ; =0x0000068E
|
|
add r4, r0, #0x0
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0x0
|
|
beq _0207BB02
|
|
cmp r1, #0x1
|
|
beq _0207BB6E
|
|
cmp r1, #0x2
|
|
beq _0207BB9A
|
|
b _0207BBDE
|
|
_0207BB02:
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
mov r2, #0x0
|
|
mov r3, #0x88
|
|
bl ScheduleSetBgPosText
|
|
mov r2, #0x3
|
|
add r3, r2, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
add r3, #0xfd
|
|
bl ScheduleSetBgPosText
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
bl sub_0207BD84
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207C6F0
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0x0
|
|
add r0, #0x64
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207CFAC
|
|
ldr r1, _0207BBE8 ; =0x0000068D
|
|
mov r0, #0xf
|
|
ldrb r2, [r4, r1]
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
mov r2, #0x1
|
|
add r0, r1, #0x1
|
|
strb r2, [r4, r0]
|
|
b _0207BBDE
|
|
_0207BB6E:
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
bl Bg_GetXpos
|
|
cmp r0, #0x40
|
|
ldr r0, [r4, #0x0]
|
|
bgt _0207BB8E
|
|
mov r2, #0x0
|
|
mov r1, #0x2
|
|
add r3, r2, #0x0
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, _0207BBE4 ; =0x0000068E
|
|
mov r1, #0x2
|
|
strb r1, [r4, r0]
|
|
b _0207BBDE
|
|
_0207BB8E:
|
|
mov r1, #0x2
|
|
add r2, r1, #0x0
|
|
mov r3, #0x40
|
|
bl ScheduleSetBgPosText
|
|
b _0207BBDE
|
|
_0207BB9A:
|
|
bl sub_0207ECDC
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x1
|
|
beq _0207BBBE
|
|
add r0, r4, #0x0
|
|
mov r1, #0x98
|
|
bl sub_0207D924
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
_0207BBBE:
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
add r0, r4, #0x0
|
|
bl sub_0207D06C
|
|
add r0, r4, #0x0
|
|
bl sub_0207D10C
|
|
ldr r0, _0207BBEC ; =0x0000042C
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0207BBDE:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
nop
|
|
_0207BBE4: .word 0x0000068E
|
|
_0207BBE8: .word 0x0000068D
|
|
_0207BBEC: .word 0x0000042C
|
|
|
|
thumb_func_start sub_0207BBF0
|
|
sub_0207BBF0: ; 0x0207BBF0
|
|
push {r4, lr}
|
|
ldr r1, _0207BCBC ; =0x0000068E
|
|
add r4, r0, #0x0
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0x0
|
|
beq _0207BC06
|
|
cmp r1, #0x1
|
|
beq _0207BC4E
|
|
cmp r1, #0x2
|
|
beq _0207BC7A
|
|
b _0207BCB6
|
|
_0207BC06:
|
|
bl sub_0207D22C
|
|
ldr r0, _0207BCC0 ; =0x00000454
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
bl sub_0207BD84
|
|
ldr r0, _0207BCC4 ; =0x0000042C
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207CFAC
|
|
add r0, r4, #0x0
|
|
bl sub_0207ED18
|
|
add r0, r4, #0x0
|
|
bl sub_0207EEB0
|
|
ldr r0, _0207BCBC ; =0x0000068E
|
|
mov r1, #0x1
|
|
strb r1, [r4, r0]
|
|
b _0207BCB6
|
|
_0207BC4E:
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
bl Bg_GetXpos
|
|
cmp r0, #0x80
|
|
ldr r0, [r4, #0x0]
|
|
blt _0207BC6E
|
|
mov r1, #0x2
|
|
mov r2, #0x0
|
|
mov r3, #0x88
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, _0207BCBC ; =0x0000068E
|
|
mov r1, #0x2
|
|
strb r1, [r4, r0]
|
|
b _0207BCB6
|
|
_0207BC6E:
|
|
mov r1, #0x2
|
|
mov r2, #0x1
|
|
mov r3, #0x40
|
|
bl ScheduleSetBgPosText
|
|
b _0207BCB6
|
|
_0207BC7A:
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
add r0, #0x64
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
mov r1, #0x9e
|
|
bl sub_0207D924
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_0207C6F0
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0207BCB6:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
nop
|
|
_0207BCBC: .word 0x0000068E
|
|
_0207BCC0: .word 0x00000454
|
|
_0207BCC4: .word 0x0000042C
|
|
|
|
thumb_func_start sub_0207BCC8
|
|
sub_0207BCC8: ; 0x0207BCC8
|
|
push {r3-r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0x0
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1
|
|
lsl r6, r2, #0x1
|
|
add r4, r1, #0x0
|
|
str r0, [sp, #0x4]
|
|
add r7, r6, #0x2
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
lsl r3, r7, #0x18
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
add r2, r4, #0x0
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
mov r0, #0x2f
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
add r6, r6, #0x3
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x10
|
|
add r2, r4, #0x1
|
|
str r0, [sp, #0xc]
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r6, #0x18
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
mov r0, #0x30
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
add r2, r4, #0x0
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x10
|
|
add r2, #0x20
|
|
str r0, [sp, #0xc]
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r7, #0x18
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
mov r0, #0x30
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x1
|
|
str r0, [sp, #0x4]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x10
|
|
add r4, #0x21
|
|
str r0, [sp, #0xc]
|
|
lsl r2, r4, #0x10
|
|
lsl r3, r6, #0x18
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add sp, #0x10
|
|
pop {r3-r7, pc}
|
|
|
|
thumb_func_start sub_0207BD58
|
|
sub_0207BD58: ; 0x0207BD58
|
|
push {r4-r6, lr}
|
|
ldr r6, _0207BD80 ; =0x0000012E
|
|
add r5, r0, #0x0
|
|
mov r4, #0x0
|
|
_0207BD60:
|
|
lsl r2, r4, #0x18
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
lsr r2, r2, #0x18
|
|
bl sub_0207BCC8
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x6
|
|
blo _0207BD60
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207BD80: .word 0x0000012E
|
|
|
|
thumb_func_start sub_0207BD84
|
|
sub_0207BD84: ; 0x0207BD84
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
bl sub_0207BD58
|
|
mov r0, #0x0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _0207BDCC
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa
|
|
bl GetWazaAttr
|
|
bl sub_02083114
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x18
|
|
asr r6, r0, #0x18
|
|
mov r4, #0x0
|
|
cmp r6, #0x0
|
|
ble _0207BDCC
|
|
mov r7, #0x4b
|
|
lsl r7, r7, #0x2
|
|
_0207BDB6:
|
|
lsl r2, r4, #0x18
|
|
add r0, r5, #0x0
|
|
add r1, r7, #0x0
|
|
lsr r2, r2, #0x18
|
|
bl sub_0207BCC8
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, r6
|
|
blt _0207BDB6
|
|
_0207BDCC:
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207BDD8
|
|
sub_0207BDD8: ; 0x0207BDD8
|
|
push {r3, lr}
|
|
ldr r1, _0207BDF0 ; =0x0000068C
|
|
ldrsb r1, [r0, r1]
|
|
cmp r1, #0x3
|
|
bne _0207BDE8
|
|
bl sub_0207EC94
|
|
pop {r3, pc}
|
|
_0207BDE8:
|
|
bl sub_0207EEB0
|
|
pop {r3, pc}
|
|
nop
|
|
_0207BDF0: .word 0x0000068C
|
|
|
|
thumb_func_start sub_0207BDF4
|
|
sub_0207BDF4: ; 0x0207BDF4
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_0207ECDC
|
|
add r0, r4, #0x0
|
|
bl sub_0207B8D8
|
|
add r0, r4, #0x0
|
|
bl sub_0207D06C
|
|
ldr r0, _0207BE5C ; =0x0000068C
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0x3
|
|
bne _0207BE46
|
|
add r0, r4, #0x0
|
|
bl sub_0207D22C
|
|
ldr r0, _0207BE60 ; =0x00000434
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
mov r0, #0x26
|
|
lsl r0, r0, #0x4
|
|
ldrb r1, [r4, r0]
|
|
add r0, r0, #0x1
|
|
ldrb r0, [r4, r0]
|
|
cmp r1, r0
|
|
beq _0207BE38
|
|
ldr r0, _0207BE64 ; =0x00000438
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C63C
|
|
_0207BE38:
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
mov r2, #0x3
|
|
mov r3, #0x0
|
|
bl ScheduleSetBgPosText
|
|
pop {r4, pc}
|
|
_0207BE46:
|
|
add r0, r4, #0x0
|
|
bl sub_0207D10C
|
|
mov r2, #0x3
|
|
add r3, r2, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
add r3, #0xfd
|
|
bl ScheduleSetBgPosText
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207BE5C: .word 0x0000068C
|
|
_0207BE60: .word 0x00000434
|
|
_0207BE64: .word 0x00000438
|
|
|
|
thumb_func_start sub_0207BE68
|
|
sub_0207BE68: ; 0x0207BE68
|
|
push {r4, lr}
|
|
ldr r1, _0207BF78 ; =0x0000068E
|
|
add r4, r0, #0x0
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0x0
|
|
beq _0207BE7E
|
|
cmp r1, #0x1
|
|
beq _0207BEEA
|
|
cmp r1, #0x2
|
|
beq _0207BF16
|
|
b _0207BF74
|
|
_0207BE7E:
|
|
mov r1, #0x2
|
|
add r3, r1, #0x0
|
|
ldr r0, [r4, #0x0]
|
|
mov r2, #0x0
|
|
add r3, #0xfe
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
mov r2, #0x3
|
|
mov r3, #0x0
|
|
bl ScheduleSetBgPosText
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207C6F0
|
|
add r0, r4, #0x0
|
|
add r0, #0x64
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x79
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207CFAC
|
|
ldr r1, _0207BF7C ; =0x00000697
|
|
mov r2, #0x0
|
|
strb r2, [r4, r1]
|
|
add r0, r1, #0x1
|
|
strb r2, [r4, r0]
|
|
mov r0, #0x1
|
|
sub r1, #0x9
|
|
strb r0, [r4, r1]
|
|
b _0207BF74
|
|
_0207BEEA:
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
bl Bg_GetYpos
|
|
cmp r0, #0x30
|
|
ldr r0, [r4, #0x0]
|
|
blt _0207BF0A
|
|
mov r1, #0x2
|
|
mov r2, #0x3
|
|
mov r3, #0x38
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, _0207BF78 ; =0x0000068E
|
|
mov r1, #0x2
|
|
strb r1, [r4, r0]
|
|
b _0207BF74
|
|
_0207BF0A:
|
|
mov r1, #0x2
|
|
mov r2, #0x4
|
|
mov r3, #0x10
|
|
bl ScheduleSetBgPosText
|
|
b _0207BF74
|
|
_0207BF16:
|
|
mov r1, #0xb5
|
|
bl sub_0207D924
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
ldr r0, _0207BF80 ; =0x00000514
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
mov r0, #0x52
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl sub_020200A0
|
|
ldr r0, _0207BF84 ; =0x00000504
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
ldr r0, _0207BF88 ; =0x00000508
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
ldr r0, _0207BF8C ; =0x0000050C
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
mov r0, #0x51
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl sub_020200A0
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207C07C
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0207BF74:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207BF78: .word 0x0000068E
|
|
_0207BF7C: .word 0x00000697
|
|
_0207BF80: .word 0x00000514
|
|
_0207BF84: .word 0x00000504
|
|
_0207BF88: .word 0x00000508
|
|
_0207BF8C: .word 0x0000050C
|
|
|
|
thumb_func_start sub_0207BF90
|
|
sub_0207BF90: ; 0x0207BF90
|
|
push {r4, lr}
|
|
ldr r1, _0207C078 ; =0x0000068E
|
|
add r4, r0, #0x0
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #0x0
|
|
beq _0207BFA6
|
|
cmp r0, #0x1
|
|
beq _0207BFF6
|
|
cmp r0, #0x2
|
|
beq _0207C022
|
|
b _0207C072
|
|
_0207BFA6:
|
|
add r0, r1, #0x0
|
|
mov r2, #0x0
|
|
add r0, #0x9
|
|
strb r2, [r4, r0]
|
|
add r1, #0xa
|
|
mov r0, #0x91
|
|
strb r2, [r4, r1]
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x10
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x20
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x30
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_0207CFAC
|
|
add r0, r4, #0x0
|
|
bl sub_0207D2C8
|
|
ldr r0, _0207C078 ; =0x0000068E
|
|
mov r1, #0x1
|
|
strb r1, [r4, r0]
|
|
b _0207C072
|
|
_0207BFF6:
|
|
ldr r0, [r4, #0x0]
|
|
mov r1, #0x2
|
|
bl Bg_GetYpos
|
|
cmp r0, #0x8
|
|
ldr r0, [r4, #0x0]
|
|
bgt _0207C016
|
|
mov r1, #0x2
|
|
mov r2, #0x3
|
|
mov r3, #0x0
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, _0207C078 ; =0x0000068E
|
|
mov r1, #0x2
|
|
strb r1, [r4, r0]
|
|
b _0207C072
|
|
_0207C016:
|
|
mov r1, #0x2
|
|
mov r2, #0x5
|
|
mov r3, #0x10
|
|
bl ScheduleSetBgPosText
|
|
b _0207C072
|
|
_0207C022:
|
|
add r0, r4, #0x0
|
|
add r0, #0x64
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x81
|
|
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, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0x0
|
|
mov r1, #0xb4
|
|
bl sub_0207D924
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_0207C6F0
|
|
mov r1, #0x8d
|
|
lsl r1, r1, #0x2
|
|
add r0, r4, #0x0
|
|
add r1, r4, r1
|
|
bl sub_0207CFAC
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0207C072:
|
|
mov r0, #0x0
|
|
pop {r4, pc}
|
|
nop
|
|
_0207C078: .word 0x0000068E
|
|
|
|
thumb_func_start sub_0207C07C
|
|
sub_0207C07C: ; 0x0207C07C
|
|
push {r4-r6, lr}
|
|
ldr r2, _0207C1D0 ; =0x00000697
|
|
add r5, r0, #0x0
|
|
add r3, r2, #0x1
|
|
ldrb r0, [r5, r2]
|
|
ldrb r4, [r5, r3]
|
|
cmp r1, #0x1
|
|
bne _0207C0A8
|
|
mov r1, #0x3
|
|
and r1, r0
|
|
cmp r1, #0x3
|
|
beq _0207C0B6
|
|
lsl r1, r4, #0x2
|
|
add r1, r0, r1
|
|
add r3, r1, #0x1
|
|
add r1, r2, #0x2
|
|
ldrb r1, [r5, r1]
|
|
cmp r3, r1
|
|
bge _0207C14A
|
|
add r1, r0, #0x1
|
|
strb r1, [r5, r2]
|
|
b _0207C14A
|
|
_0207C0A8:
|
|
mov r3, #0x0
|
|
mvn r3, r3
|
|
cmp r1, r3
|
|
bne _0207C0BE
|
|
mov r1, #0x3
|
|
tst r1, r0
|
|
bne _0207C0B8
|
|
_0207C0B6:
|
|
b _0207C1CE
|
|
_0207C0B8:
|
|
sub r1, r0, #0x1
|
|
strb r1, [r5, r2]
|
|
b _0207C14A
|
|
_0207C0BE:
|
|
cmp r1, #0x4
|
|
bne _0207C12C
|
|
cmp r0, #0x4
|
|
bhs _0207C0F2
|
|
add r1, r2, #0x2
|
|
ldrb r3, [r5, r1]
|
|
lsl r1, r4, #0x2
|
|
add r1, r0, r1
|
|
add r1, r1, #0x4
|
|
cmp r1, r3
|
|
blt _0207C0EC
|
|
cmp r3, #0x4
|
|
bls _0207C14A
|
|
lsr r1, r3, #0x1f
|
|
lsl r6, r3, #0x1e
|
|
sub r6, r6, r1
|
|
mov r3, #0x1e
|
|
ror r6, r3
|
|
add r1, r1, r6
|
|
beq _0207C14A
|
|
add r1, r1, #0x3
|
|
strb r1, [r5, r2]
|
|
b _0207C14A
|
|
_0207C0EC:
|
|
add r1, r0, #0x4
|
|
strb r1, [r5, r2]
|
|
b _0207C14A
|
|
_0207C0F2:
|
|
add r1, r2, #0x2
|
|
ldrb r1, [r5, r1]
|
|
lsl r3, r4, #0x2
|
|
add r3, #0x8
|
|
cmp r3, r1
|
|
bge _0207C14A
|
|
add r1, r2, #0x1
|
|
ldrb r1, [r5, r1]
|
|
add r6, r2, #0x1
|
|
add r3, r1, #0x1
|
|
add r1, r2, #0x1
|
|
strb r3, [r5, r1]
|
|
add r1, r2, #0x2
|
|
ldrb r6, [r5, r6]
|
|
ldrb r3, [r5, r1]
|
|
ldrb r1, [r5, r2]
|
|
lsl r6, r6, #0x2
|
|
add r1, r1, r6
|
|
cmp r1, r3
|
|
blt _0207C14A
|
|
lsr r1, r3, #0x1f
|
|
lsl r6, r3, #0x1e
|
|
sub r6, r6, r1
|
|
mov r3, #0x1e
|
|
ror r6, r3
|
|
add r1, r1, r6
|
|
add r1, r1, #0x3
|
|
strb r1, [r5, r2]
|
|
b _0207C14A
|
|
_0207C12C:
|
|
sub r3, r3, #0x3
|
|
cmp r1, r3
|
|
bne _0207C14A
|
|
cmp r0, #0x4
|
|
blo _0207C13C
|
|
sub r1, r0, #0x4
|
|
strb r1, [r5, r2]
|
|
b _0207C14A
|
|
_0207C13C:
|
|
cmp r4, #0x0
|
|
beq _0207C14A
|
|
add r1, r2, #0x1
|
|
ldrb r1, [r5, r1]
|
|
sub r3, r1, #0x1
|
|
add r1, r2, #0x1
|
|
strb r3, [r5, r1]
|
|
_0207C14A:
|
|
ldr r1, _0207C1D0 ; =0x00000697
|
|
ldrb r2, [r5, r1]
|
|
cmp r0, r2
|
|
bne _0207C15A
|
|
add r0, r1, #0x1
|
|
ldrb r0, [r5, r0]
|
|
cmp r4, r0
|
|
beq _0207C160
|
|
_0207C15A:
|
|
ldr r0, _0207C1D4 ; =0x000005DC
|
|
bl PlaySE
|
|
_0207C160:
|
|
ldr r1, _0207C1D0 ; =0x00000697
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_0207C1E8
|
|
ldr r1, _0207C1D8 ; =0x0000069A
|
|
strb r0, [r5, r1]
|
|
add r0, r5, #0x0
|
|
bl sub_0207D3C4
|
|
ldr r0, _0207C1DC ; =0x00000698
|
|
ldrb r0, [r5, r0]
|
|
cmp r4, r0
|
|
beq _0207C182
|
|
add r0, r5, #0x0
|
|
bl sub_0207D364
|
|
_0207C182:
|
|
add r0, r5, #0x0
|
|
bl sub_0207E9A0
|
|
add r0, r5, #0x0
|
|
bl sub_0207E840
|
|
ldr r0, _0207C1DC ; =0x00000698
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0x0
|
|
ldr r0, _0207C1E0 ; =0x00000518
|
|
beq _0207C1A2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl sub_020200A0
|
|
b _0207C1AA
|
|
_0207C1A2:
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl sub_020200A0
|
|
_0207C1AA:
|
|
ldr r0, _0207C1DC ; =0x00000698
|
|
ldrb r1, [r5, r0]
|
|
add r0, r0, #0x1
|
|
ldrb r0, [r5, r0]
|
|
lsl r1, r1, #0x2
|
|
add r1, #0x8
|
|
cmp r1, r0
|
|
ldr r0, _0207C1E4 ; =0x0000051C
|
|
bge _0207C1C6
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
bl sub_020200A0
|
|
pop {r4-r6, pc}
|
|
_0207C1C6:
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl sub_020200A0
|
|
_0207C1CE:
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207C1D0: .word 0x00000697
|
|
_0207C1D4: .word 0x000005DC
|
|
_0207C1D8: .word 0x0000069A
|
|
_0207C1DC: .word 0x00000698
|
|
_0207C1E0: .word 0x00000518
|
|
_0207C1E4: .word 0x0000051C
|
|
|
|
thumb_func_start sub_0207C1E8
|
|
sub_0207C1E8: ; 0x0207C1E8
|
|
push {r4-r7}
|
|
ldr r2, _0207C238 ; =0x00000698
|
|
mov r6, #0x0
|
|
ldrb r2, [r0, r2]
|
|
add r4, r6, #0x0
|
|
lsl r2, r2, #0x2
|
|
add r1, r1, r2
|
|
lsl r1, r1, #0x18
|
|
lsr r5, r1, #0x18
|
|
mov r1, #0xa9
|
|
mov r2, #0x1
|
|
lsl r1, r1, #0x2
|
|
_0207C200:
|
|
mov r3, #0x1f
|
|
add r7, r4, #0x0
|
|
and r7, r3
|
|
add r3, r2, #0x0
|
|
lsl r3, r7
|
|
lsr r7, r4, #0x5
|
|
lsl r7, r7, #0x2
|
|
add r7, r0, r7
|
|
ldr r7, [r7, r1]
|
|
tst r3, r7
|
|
beq _0207C228
|
|
cmp r5, r6
|
|
bne _0207C222
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r4-r7}
|
|
bx lr
|
|
_0207C222:
|
|
add r3, r6, #0x1
|
|
lsl r3, r3, #0x18
|
|
lsr r6, r3, #0x18
|
|
_0207C228:
|
|
add r3, r4, #0x1
|
|
lsl r3, r3, #0x10
|
|
lsr r4, r3, #0x10
|
|
cmp r4, #0x50
|
|
blo _0207C200
|
|
mov r0, #0x0
|
|
pop {r4-r7}
|
|
bx lr
|
|
.balign 4
|
|
_0207C238: .word 0x00000698
|
|
|
|
thumb_func_start sub_0207C23C
|
|
sub_0207C23C: ; 0x0207C23C
|
|
push {r4, lr}
|
|
sub sp, #0x8
|
|
ldr r1, _0207C29C ; =0x0000029A
|
|
add r4, r0, #0x0
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #0xff
|
|
bne _0207C28E
|
|
mov r0, #0x0
|
|
sub r1, #0xda
|
|
mov r2, #0x13
|
|
bl LoadFontPal1
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x4]
|
|
bl Options_GetFrame
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0x4]
|
|
ldr r0, [r4, #0x0]
|
|
ldr r2, _0207C2A0 ; =0x000003E2
|
|
mov r1, #0x1
|
|
mov r3, #0xd
|
|
bl sub_0200CD68
|
|
add r0, r4, #0x0
|
|
mov r1, #0xff
|
|
bl sub_0207EECC
|
|
mov r0, #0x93
|
|
lsl r0, r0, #0x2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
strb r1, [r0, #0x17]
|
|
add sp, #0x8
|
|
mov r0, #0x11
|
|
pop {r4, pc}
|
|
_0207C28E:
|
|
sub r1, #0x4e
|
|
ldr r0, [r4, r1]
|
|
mov r2, #0x0
|
|
strb r2, [r0, #0x17]
|
|
mov r0, #0x12
|
|
add sp, #0x8
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207C29C: .word 0x0000029A
|
|
_0207C2A0: .word 0x000003E2
|
|
|
|
thumb_func_start sub_0207C2A4
|
|
sub_0207C2A4: ; 0x0207C2A4
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
add r0, r4, #0x0
|
|
bl PlayerProfile_GetNamePtr
|
|
str r0, [r5, #0x8]
|
|
add r0, r4, #0x0
|
|
bl PlayerProfile_GetTrainerID
|
|
str r0, [r5, #0xc]
|
|
add r0, r4, #0x0
|
|
bl PlayerProfile_GetTrainerGender
|
|
strb r0, [r5, #0x10]
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_0207C2C4
|
|
sub_0207C2C4: ; 0x0207C2C4
|
|
mov r0, #0x40
|
|
bx lr
|
|
|
|
thumb_func_start sub_0207C2C8
|
|
sub_0207C2C8: ; 0x0207C2C8
|
|
mov r0, #0x41
|
|
bx lr
|
|
|
|
thumb_func_start sub_0207C2CC
|
|
sub_0207C2CC: ; 0x0207C2CC
|
|
mov r0, #0x3f
|
|
bx lr
|
|
|
|
thumb_func_start sub_0207C2D0
|
|
sub_0207C2D0: ; 0x0207C2D0
|
|
mov r0, #0x3e
|
|
bx lr
|
|
|
|
thumb_func_start sub_0207C2D4
|
|
sub_0207C2D4: ; 0x0207C2D4
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
mov r1, #0x9f
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r4, r0, #0x0
|
|
add r0, r5, #0x0
|
|
mov r1, #0xa2
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
cmp r0, #0x0
|
|
bne _0207C2F4
|
|
mov r0, #0x6
|
|
pop {r3-r5, pc}
|
|
_0207C2F4:
|
|
mov r0, #0x88
|
|
tst r0, r4
|
|
beq _0207C2FE
|
|
mov r0, #0x4
|
|
pop {r3-r5, pc}
|
|
_0207C2FE:
|
|
mov r0, #0x7
|
|
add r1, r4, #0x0
|
|
tst r1, r0
|
|
beq _0207C30A
|
|
mov r0, #0x3
|
|
pop {r3-r5, pc}
|
|
_0207C30A:
|
|
mov r1, #0x10
|
|
tst r1, r4
|
|
beq _0207C314
|
|
mov r0, #0x5
|
|
pop {r3-r5, pc}
|
|
_0207C314:
|
|
mov r1, #0x20
|
|
tst r1, r4
|
|
beq _0207C31E
|
|
mov r0, #0x2
|
|
pop {r3-r5, pc}
|
|
_0207C31E:
|
|
mov r1, #0x40
|
|
tst r1, r4
|
|
beq _0207C326
|
|
mov r0, #0x1
|
|
_0207C326:
|
|
pop {r3-r5, pc}
|