mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-21 17:54:29 -05:00
2879 lines
54 KiB
ArmAsm
2879 lines
54 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.extern gSystem
|
|
|
|
.section .rodata
|
|
|
|
.global UNK_020F9CAC
|
|
UNK_020F9CAC: ; 0x020F9CAC
|
|
.word sub_02074480, sub_020750C4, sub_02073DF4, sub_02073EB8
|
|
.word sub_02073EEC, sub_020740AC, sub_02074170, sub_020741A4
|
|
.word sub_020743AC, 0xFFFFFFFE, 0xFFFFFFFE, sub_02074E74
|
|
.word sub_02074FAC, sub_02075090, sub_020750F8, sub_02075244
|
|
.word sub_020752D4, sub_0207528C, sub_02075274, sub_020752A4
|
|
.word sub_0207525C, sub_020752EC, sub_020752BC, sub_02075304
|
|
.word sub_0207531C, sub_02075334, sub_0207534C, sub_02075364
|
|
.word sub_0207537C, sub_02075398, 0xFFFFFFFE
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_02073DA8
|
|
sub_02073DA8: ; 0x02073DA8
|
|
lsl r1, r0, #0x2
|
|
ldr r0, _02073DB0 ; =UNK_020F9CAC
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
.balign 4
|
|
_02073DB0: .word UNK_020F9CAC
|
|
|
|
thumb_func_start sub_02073DB4
|
|
sub_02073DB4: ; 0x02073DB4
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x95
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow1
|
|
mov r0, #0x95
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
ldr r0, _02073DEC ; =0x000006FC
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_02001C5C
|
|
ldr r0, _02073DF0 ; =0x000006F8
|
|
ldr r0, [r4, r0]
|
|
bl ListMenuItems_Delete
|
|
mov r0, #0x95
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_02073DEC: .word 0x000006FC
|
|
_02073DF0: .word 0x000006F8
|
|
|
|
thumb_func_start sub_02073DF4
|
|
sub_02073DF4: ; 0x02073DF4
|
|
push {r3-r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
bl sub_02073DB4
|
|
add r0, r5, #0x0
|
|
mov r1, #0x26
|
|
mov r2, #0x0
|
|
bl sub_020731D4
|
|
mov r0, #0x3
|
|
mov r1, #0xc
|
|
bl ListMenuItems_New
|
|
ldr r1, _02073EB0 ; =0x000006F8
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3
|
|
bl sub_02073DA8
|
|
ldr r1, _02073EB0 ; =0x000006F8
|
|
add r2, r0, #0x0
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x40
|
|
ldr r1, [r5, r1]
|
|
bl ListMenuItems_AddItem
|
|
mov r0, #0x4
|
|
bl sub_02073DA8
|
|
ldr r1, _02073EB0 ; =0x000006F8
|
|
add r2, r0, #0x0
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x3c
|
|
ldr r1, [r5, r1]
|
|
bl ListMenuItems_AddItem
|
|
mov r0, #0x9
|
|
bl sub_02073DA8
|
|
ldr r1, _02073EB0 ; =0x000006F8
|
|
add r2, r0, #0x0
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x28
|
|
ldr r1, [r5, r1]
|
|
bl ListMenuItems_AddItem
|
|
ldr r0, _02073EB0 ; =0x000006F8
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r2, sp, #0x8
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
str r0, [sp, #0xc]
|
|
strb r1, [r2, #0x8]
|
|
mov r1, #0x1
|
|
strb r1, [r2, #0x9]
|
|
mov r3, #0x3
|
|
strb r3, [r2, #0xa]
|
|
ldrb r6, [r2, #0xb]
|
|
mov r3, #0xf
|
|
bic r6, r3
|
|
strb r6, [r2, #0xb]
|
|
ldrb r6, [r2, #0xb]
|
|
mov r3, #0x30
|
|
bic r6, r3
|
|
strb r6, [r2, #0xb]
|
|
ldrb r6, [r2, #0xb]
|
|
mov r3, #0xc0
|
|
bic r6, r3
|
|
strb r6, [r2, #0xb]
|
|
add r2, r1, #0x0
|
|
mov r3, #0xe
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x2
|
|
mov r2, #0x0
|
|
str r0, [sp, #0x4]
|
|
add r0, sp, #0x8
|
|
mov r1, #0x8
|
|
add r3, r2, #0x0
|
|
bl sub_02001C14
|
|
ldr r1, _02073EB4 ; =0x000006FC
|
|
str r0, [r5, r1]
|
|
mov r0, #0xd
|
|
str r0, [r4, #0x0]
|
|
add sp, #0x14
|
|
pop {r3-r6, pc}
|
|
nop
|
|
_02073EB0: .word 0x000006F8
|
|
_02073EB4: .word 0x000006FC
|
|
|
|
thumb_func_start sub_02073EB8
|
|
sub_02073EB8: ; 0x02073EB8
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02073EE0 ; =0x000006FC
|
|
add r4, r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl sub_02001C5C
|
|
ldr r0, _02073EE4 ; =0x000006F8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_Delete
|
|
ldr r0, _02073EE8 ; =0x000005A4
|
|
mov r1, #0x3
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
mov r0, #0x1b
|
|
str r0, [r4, #0x0]
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02073EE0: .word 0x000006FC
|
|
_02073EE4: .word 0x000006F8
|
|
_02073EE8: .word 0x000005A4
|
|
|
|
thumb_func_start sub_02073EEC
|
|
sub_02073EEC: ; 0x02073EEC
|
|
push {r3-r6, lr}
|
|
sub sp, #0x4
|
|
add r5, r0, #0x0
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r4, r1, #0x0
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow1
|
|
ldr r0, _02074044 ; =0x000006FC
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl sub_02001C5C
|
|
ldr r0, _02074048 ; =0x000006F8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_Delete
|
|
ldr r0, _0207404C ; =0x00000B25
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #0x2c
|
|
mul r0, r1
|
|
add r2, r5, r0
|
|
ldr r0, _02074050 ; =0x0000070C
|
|
ldrh r2, [r2, r0]
|
|
ldr r0, _02074054 ; =0x000005A4
|
|
cmp r2, #0x0
|
|
bne _02073F66
|
|
ldr r0, [r5, r0]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
ldr r2, _02074058 ; =0x0000069C
|
|
add r6, r0, #0x0
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x51
|
|
bl ReadMsgDataIntoString
|
|
add r0, r6, #0x0
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
mov r2, #0x6a
|
|
lsl r2, r2, #0x4
|
|
add r1, r2, #0x4
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x8
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
bl StringExpandPlaceholders
|
|
b _02074018
|
|
_02073F66:
|
|
ldr r0, [r5, r0]
|
|
add r1, r2, #0x0
|
|
ldr r0, [r0, #0x4]
|
|
mov r2, #0x1
|
|
mov r3, #0xc
|
|
bl Bag_AddItem
|
|
cmp r0, #0x1
|
|
bne _0207400A
|
|
ldr r0, _02074054 ; =0x000005A4
|
|
ldr r1, _0207404C ; =0x00000B25
|
|
ldr r0, [r5, r0]
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
add r6, r0, #0x0
|
|
mov r1, #0x6
|
|
add r2, sp, #0x0
|
|
bl SetMonData
|
|
add r0, r6, #0x0
|
|
bl Pokemon_UpdateArceusForm
|
|
ldr r2, _02074058 ; =0x0000069C
|
|
mov r1, #0x52
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xc
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
add r0, r6, #0x0
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
ldr r2, _0207404C ; =0x00000B25
|
|
mov r3, #0x6a
|
|
ldrb r6, [r5, r2]
|
|
mov r2, #0x2c
|
|
lsl r3, r3, #0x4
|
|
mul r2, r6
|
|
ldr r0, [r5, r3]
|
|
add r2, r5, r2
|
|
add r3, #0x6c
|
|
ldrh r2, [r2, r3]
|
|
mov r1, #0x1
|
|
bl BufferItemName
|
|
mov r2, #0x6a
|
|
lsl r2, r2, #0x4
|
|
add r1, r2, #0x4
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x8
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
bl StringExpandPlaceholders
|
|
ldr r1, _0207404C ; =0x00000B25
|
|
mov r2, #0x2c
|
|
ldrb r3, [r5, r1]
|
|
mov r0, #0x0
|
|
add r6, r3, #0x0
|
|
mul r6, r2
|
|
ldr r3, _02074050 ; =0x0000070C
|
|
add r6, r5, r6
|
|
strh r0, [r6, r3]
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
mul r2, r1
|
|
add r2, r5, r2
|
|
ldrh r2, [r2, r3]
|
|
bl sub_02073A78
|
|
b _02074018
|
|
_0207400A:
|
|
ldr r2, _02074058 ; =0x0000069C
|
|
mov r1, #0x53
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x8
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
_02074018:
|
|
mov r0, #0x89
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
mov r2, #0xa
|
|
mov r3, #0xf
|
|
bl DrawFrameAndWindow2
|
|
mov r0, #0x89
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
add r0, r5, #0x0
|
|
bl sub_0207322C
|
|
mov r0, #0xf
|
|
str r0, [r4, #0x0]
|
|
add sp, #0x4
|
|
pop {r3-r6, pc}
|
|
nop
|
|
_02074044: .word 0x000006FC
|
|
_02074048: .word 0x000006F8
|
|
_0207404C: .word 0x00000B25
|
|
_02074050: .word 0x0000070C
|
|
_02074054: .word 0x000005A4
|
|
_02074058: .word 0x0000069C
|
|
|
|
thumb_func_start sub_0207405C
|
|
sub_0207405C: ; 0x0207405C
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _020740A0 ; =0x00000B24
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0201BD70
|
|
cmp r0, #0x0
|
|
bne _0207409A
|
|
ldr r0, _020740A4 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _0207409A
|
|
mov r0, #0x89
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1d
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
ldr r0, _020740A8 ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C664
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0207409A:
|
|
mov r0, #0xf
|
|
pop {r4, pc}
|
|
nop
|
|
_020740A0: .word 0x00000B24
|
|
_020740A4: .word gSystem
|
|
_020740A8: .word 0x000005C8
|
|
|
|
thumb_func_start sub_020740AC
|
|
sub_020740AC: ; 0x020740AC
|
|
push {r3-r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
bl sub_02073DB4
|
|
add r0, r5, #0x0
|
|
mov r1, #0x27
|
|
mov r2, #0x0
|
|
bl sub_020731D4
|
|
mov r0, #0x3
|
|
mov r1, #0xc
|
|
bl ListMenuItems_New
|
|
ldr r1, _02074168 ; =0x000006F8
|
|
str r0, [r5, r1]
|
|
mov r0, #0x6
|
|
bl sub_02073DA8
|
|
ldr r1, _02074168 ; =0x000006F8
|
|
add r2, r0, #0x0
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x34
|
|
ldr r1, [r5, r1]
|
|
bl ListMenuItems_AddItem
|
|
mov r0, #0x7
|
|
bl sub_02073DA8
|
|
ldr r1, _02074168 ; =0x000006F8
|
|
add r2, r0, #0x0
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x30
|
|
ldr r1, [r5, r1]
|
|
bl ListMenuItems_AddItem
|
|
mov r0, #0x9
|
|
bl sub_02073DA8
|
|
ldr r1, _02074168 ; =0x000006F8
|
|
add r2, r0, #0x0
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x28
|
|
ldr r1, [r5, r1]
|
|
bl ListMenuItems_AddItem
|
|
ldr r0, _02074168 ; =0x000006F8
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r2, sp, #0x8
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
str r0, [sp, #0xc]
|
|
strb r1, [r2, #0x8]
|
|
mov r1, #0x1
|
|
strb r1, [r2, #0x9]
|
|
mov r3, #0x3
|
|
strb r3, [r2, #0xa]
|
|
ldrb r6, [r2, #0xb]
|
|
mov r3, #0xf
|
|
bic r6, r3
|
|
strb r6, [r2, #0xb]
|
|
ldrb r6, [r2, #0xb]
|
|
mov r3, #0x30
|
|
bic r6, r3
|
|
strb r6, [r2, #0xb]
|
|
ldrb r6, [r2, #0xb]
|
|
mov r3, #0xc0
|
|
bic r6, r3
|
|
strb r6, [r2, #0xb]
|
|
add r2, r1, #0x0
|
|
mov r3, #0xe
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x2
|
|
mov r2, #0x0
|
|
str r0, [sp, #0x4]
|
|
add r0, sp, #0x8
|
|
mov r1, #0x8
|
|
add r3, r2, #0x0
|
|
bl sub_02001C14
|
|
ldr r1, _0207416C ; =0x000006FC
|
|
str r0, [r5, r1]
|
|
mov r0, #0xd
|
|
str r0, [r4, #0x0]
|
|
add sp, #0x14
|
|
pop {r3-r6, pc}
|
|
nop
|
|
_02074168: .word 0x000006F8
|
|
_0207416C: .word 0x000006FC
|
|
|
|
thumb_func_start sub_02074170
|
|
sub_02074170: ; 0x02074170
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02074198 ; =0x000006FC
|
|
add r4, r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl sub_02001C5C
|
|
ldr r0, _0207419C ; =0x000006F8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_Delete
|
|
ldr r0, _020741A0 ; =0x000005A4
|
|
mov r1, #0x7
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
mov r0, #0x1b
|
|
str r0, [r4, #0x0]
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02074198: .word 0x000006FC
|
|
_0207419C: .word 0x000006F8
|
|
_020741A0: .word 0x000005A4
|
|
|
|
thumb_func_start sub_020741A4
|
|
sub_020741A4: ; 0x020741A4
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #0x2
|
|
add r4, r1, #0x0
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow1
|
|
ldr r0, _020741EC ; =0x000006FC
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl sub_02001C5C
|
|
ldr r0, _020741F0 ; =0x000006F8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_Delete
|
|
add r0, r5, #0x0
|
|
mov r1, #0x2b
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _020741F4 ; =sub_02074200
|
|
ldr r1, _020741F8 ; =0x00000B18
|
|
ldr r2, _020741FC ; =sub_02074278
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0x4
|
|
str r2, [r5, r0]
|
|
mov r0, #0x16
|
|
add r1, #0xa
|
|
strb r0, [r5, r1]
|
|
mov r0, #0x14
|
|
str r0, [r4, #0x0]
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_020741EC: .word 0x000006FC
|
|
_020741F0: .word 0x000006F8
|
|
_020741F4: .word sub_02074200
|
|
_020741F8: .word 0x00000B18
|
|
_020741FC: .word sub_02074278
|
|
|
|
thumb_func_start sub_02074200
|
|
sub_02074200: ; 0x02074200
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _02074268 ; =0x000005A4
|
|
ldr r1, _0207426C ; =0x00000B25
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
add r1, r0, #0x0
|
|
ldr r0, _02074268 ; =0x000005A4
|
|
mov r2, #0xc
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x8]
|
|
bl sub_02085644
|
|
mov r1, #0x0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02074254
|
|
ldr r1, _0207426C ; =0x00000B25
|
|
mov r2, #0x2c
|
|
ldrb r3, [r4, r1]
|
|
mov r0, #0x0
|
|
add r5, r3, #0x0
|
|
mul r5, r2
|
|
ldr r3, _02074270 ; =0x0000070C
|
|
add r5, r4, r5
|
|
strh r0, [r5, r3]
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0x0
|
|
mul r2, r1
|
|
add r2, r4, r2
|
|
ldrh r2, [r2, r3]
|
|
bl sub_02073A78
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2e
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
b _0207425E
|
|
_02074254:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x32
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
_0207425E:
|
|
ldr r0, _02074274 ; =0x00000B22
|
|
mov r1, #0x10
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02074268: .word 0x000005A4
|
|
_0207426C: .word 0x00000B25
|
|
_02074270: .word 0x0000070C
|
|
_02074274: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02074278
|
|
sub_02074278: ; 0x02074278
|
|
push {r4, lr}
|
|
mov r1, #0x2f
|
|
mov r2, #0x0
|
|
add r4, r0, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _0207429C ; =sub_020742A8
|
|
ldr r1, _020742A0 ; =0x00000B18
|
|
ldr r2, _020742A4 ; =sub_02074340
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0x4
|
|
str r2, [r4, r0]
|
|
mov r0, #0x16
|
|
add r1, #0xa
|
|
strb r0, [r4, r1]
|
|
mov r0, #0x14
|
|
pop {r4, pc}
|
|
nop
|
|
_0207429C: .word sub_020742A8
|
|
_020742A0: .word 0x00000B18
|
|
_020742A4: .word sub_02074340
|
|
|
|
thumb_func_start sub_020742A8
|
|
sub_020742A8: ; 0x020742A8
|
|
push {r3-r5, lr}
|
|
ldr r1, _02074330 ; =0x00000B25
|
|
add r4, r0, #0x0
|
|
ldrb r2, [r4, r1]
|
|
mov r1, #0x2c
|
|
ldr r0, _02074334 ; =0x000005A4
|
|
mul r1, r2
|
|
add r2, r4, r1
|
|
ldr r1, _02074338 ; =0x0000070C
|
|
ldr r0, [r4, r0]
|
|
ldrh r1, [r2, r1]
|
|
ldr r0, [r0, #0x4]
|
|
mov r2, #0x1
|
|
mov r3, #0xc
|
|
bl Bag_AddItem
|
|
cmp r0, #0x1
|
|
bne _0207431A
|
|
ldr r0, _02074334 ; =0x000005A4
|
|
ldr r1, _02074330 ; =0x00000B25
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
mov r1, #0x0
|
|
str r1, [sp, #0x0]
|
|
add r5, r0, #0x0
|
|
mov r1, #0x6
|
|
add r2, sp, #0x0
|
|
bl SetMonData
|
|
add r0, r5, #0x0
|
|
bl Pokemon_UpdateArceusForm
|
|
ldr r1, _02074330 ; =0x00000B25
|
|
mov r2, #0x2c
|
|
ldrb r3, [r4, r1]
|
|
mov r0, #0x0
|
|
add r5, r3, #0x0
|
|
mul r5, r2
|
|
ldr r3, _02074338 ; =0x0000070C
|
|
add r5, r4, r5
|
|
strh r0, [r5, r3]
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0x0
|
|
mul r2, r1
|
|
add r2, r4, r2
|
|
ldrh r2, [r2, r3]
|
|
bl sub_02073A78
|
|
add r0, r4, #0x0
|
|
mov r1, #0x33
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
b _02074324
|
|
_0207431A:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x53
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
_02074324:
|
|
ldr r0, _0207433C ; =0x00000B22
|
|
mov r1, #0x10
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02074330: .word 0x00000B25
|
|
_02074334: .word 0x000005A4
|
|
_02074338: .word 0x0000070C
|
|
_0207433C: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02074340
|
|
sub_02074340: ; 0x02074340
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x89
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1d
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
ldr r0, _02074368 ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C664
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_02074368: .word 0x000005C8
|
|
|
|
thumb_func_start sub_0207436C
|
|
sub_0207436C: ; 0x0207436C
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _020743A4 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _0207439E
|
|
mov r0, #0x89
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1d
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
ldr r0, _020743A8 ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C664
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_0207439E:
|
|
mov r0, #0x10
|
|
pop {r4, pc}
|
|
nop
|
|
_020743A4: .word gSystem
|
|
_020743A8: .word 0x000005C8
|
|
|
|
thumb_func_start sub_020743AC
|
|
sub_020743AC: ; 0x020743AC
|
|
push {r3-r5, lr}
|
|
add r4, r1, #0x0
|
|
ldr r1, _0207440C ; =0x00000B25
|
|
add r5, r0, #0x0
|
|
ldrb r2, [r5, r1]
|
|
mov r1, #0x2c
|
|
mul r1, r2
|
|
add r2, r5, r1
|
|
ldr r1, _02074410 ; =0x00000712
|
|
ldrh r2, [r2, r1]
|
|
cmp r2, #0x0
|
|
bne _020743E6
|
|
sub r1, #0x16
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x0
|
|
bl sub_02001C5C
|
|
ldr r0, _02074414 ; =0x000006F8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_Delete
|
|
ldr r0, _02074418 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
mov r0, #0x1b
|
|
str r0, [r4, #0x0]
|
|
pop {r3-r5, pc}
|
|
_020743E6:
|
|
bl sub_02073DB4
|
|
add r0, r5, #0x0
|
|
mov r1, #0xc3
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _0207441C ; =sub_02074428
|
|
ldr r1, _02074420 ; =0x00000B18
|
|
ldr r2, _02074424 ; =sub_02074454
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0x4
|
|
str r2, [r5, r0]
|
|
mov r0, #0x16
|
|
add r1, #0xa
|
|
strb r0, [r5, r1]
|
|
mov r0, #0x14
|
|
str r0, [r4, #0x0]
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_0207440C: .word 0x00000B25
|
|
_02074410: .word 0x00000712
|
|
_02074414: .word 0x000006F8
|
|
_02074418: .word 0x000005A4
|
|
_0207441C: .word sub_02074428
|
|
_02074420: .word 0x00000B18
|
|
_02074424: .word sub_02074454
|
|
|
|
thumb_func_start sub_02074428
|
|
sub_02074428: ; 0x02074428
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _0207444C ; =0x000005A4
|
|
ldr r1, _02074450 ; =0x00000B25
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
bl Pokemon_RemoveCapsule
|
|
ldr r0, _0207444C ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
mov r0, #0x1b
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207444C: .word 0x000005A4
|
|
_02074450: .word 0x00000B25
|
|
|
|
thumb_func_start sub_02074454
|
|
sub_02074454: ; 0x02074454
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x89
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1d
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
ldr r0, _0207447C ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C664
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0207447C: .word 0x000005C8
|
|
|
|
thumb_func_start sub_02074480
|
|
sub_02074480: ; 0x02074480
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02074528 ; =0x00000B23
|
|
add r4, r1, #0x0
|
|
ldrb r2, [r5, r0]
|
|
mov r1, #0x40
|
|
orr r1, r2
|
|
strb r1, [r5, r0]
|
|
ldrb r1, [r5, r0]
|
|
mov r2, #0x3f
|
|
bic r1, r2
|
|
add r2, r0, #0x2
|
|
ldrb r3, [r5, r2]
|
|
mov r2, #0x3f
|
|
and r2, r3
|
|
orr r1, r2
|
|
strb r1, [r5, r0]
|
|
ldr r0, _0207452C ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200C664
|
|
ldr r0, _0207452C ; =0x000005C8
|
|
add r1, sp, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r1, #0x2
|
|
add r2, sp, #0x0
|
|
bl sub_0200C75C
|
|
ldr r0, _02074530 ; =0x000005CC
|
|
add r3, sp, #0x0
|
|
mov r1, #0x2
|
|
mov r2, #0x0
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200C6E4
|
|
ldr r0, _02074534 ; =0x000005A4
|
|
ldr r1, _02074528 ; =0x00000B23
|
|
ldr r0, [r5, r0]
|
|
ldrb r1, [r5, r1]
|
|
add r0, #0x21
|
|
ldrb r0, [r0, #0x0]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
bl sub_020714BC
|
|
add r1, r0, #0x0
|
|
ldr r0, _02074530 ; =0x000005CC
|
|
add r1, r1, #0x2
|
|
ldr r0, [r5, r0]
|
|
bl sub_02020130
|
|
ldr r0, _02074530 ; =0x000005CC
|
|
mov r1, #0x1
|
|
ldr r0, [r5, r0]
|
|
bl sub_020200A0
|
|
ldr r1, _02074528 ; =0x00000B23
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
bl sub_020709FC
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r5, #0x0
|
|
bl sub_02073DB4
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1e
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
mov r0, #0x18
|
|
str r0, [r4, #0x0]
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02074528: .word 0x00000B23
|
|
_0207452C: .word 0x000005C8
|
|
_02074530: .word 0x000005CC
|
|
_02074534: .word 0x000005A4
|
|
|
|
thumb_func_start sub_02074538
|
|
sub_02074538: ; 0x02074538
|
|
push {r4, lr}
|
|
ldr r1, _02074578 ; =0x00000B23
|
|
add r4, r0, #0x0
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x40
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
ldr r0, _0207457C ; =0x000005CC
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
ldr r0, _02074580 ; =0x00000B25
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #0x6
|
|
bhs _0207455E
|
|
add r0, r4, #0x0
|
|
bl sub_020709FC
|
|
_0207455E:
|
|
ldr r1, _02074578 ; =0x00000B23
|
|
add r0, r4, #0x0
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
bl sub_020709FC
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1d
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_02074578: .word 0x00000B23
|
|
_0207457C: .word 0x000005CC
|
|
_02074580: .word 0x00000B25
|
|
|
|
thumb_func_start sub_02074584
|
|
sub_02074584: ; 0x02074584
|
|
push {r3-r7, lr}
|
|
sub sp, #0x28
|
|
ldr r2, _020746AC ; =0x00000B25
|
|
add r6, r0, #0x0
|
|
ldrb r1, [r6, r2]
|
|
add r0, r2, #0x0
|
|
sub r0, #0x19
|
|
strb r1, [r6, r0]
|
|
sub r0, r2, #0x2
|
|
ldrb r0, [r6, r0]
|
|
add r3, r2, #0x0
|
|
sub r3, #0x13
|
|
lsl r0, r0, #0x1a
|
|
lsr r1, r0, #0x1a
|
|
add r0, r2, #0x0
|
|
sub r0, #0x18
|
|
strb r1, [r6, r0]
|
|
add r0, r2, #0x0
|
|
mov r1, #0x1
|
|
sub r0, #0x15
|
|
strb r1, [r6, r0]
|
|
mov r0, #0x0
|
|
strb r0, [r6, r3]
|
|
add r3, r2, #0x0
|
|
sub r3, #0x14
|
|
strb r0, [r6, r3]
|
|
add r3, r2, #0x0
|
|
sub r3, #0x19
|
|
ldrb r3, [r6, r3]
|
|
tst r3, r1
|
|
beq _020745C8
|
|
sub r2, #0x17
|
|
strb r1, [r6, r2]
|
|
b _020745CC
|
|
_020745C8:
|
|
sub r2, #0x17
|
|
strb r0, [r6, r2]
|
|
_020745CC:
|
|
ldr r0, _020746B0 ; =0x00000B0D
|
|
mov r1, #0x1
|
|
ldrb r2, [r6, r0]
|
|
tst r2, r1
|
|
beq _020745D8
|
|
b _020745DA
|
|
_020745D8:
|
|
mov r1, #0x0
|
|
_020745DA:
|
|
add r0, r0, #0x2
|
|
strb r1, [r6, r0]
|
|
ldr r0, [r6, #0x0]
|
|
mov r1, #0x2
|
|
bl GetBgTilemapBuffer
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r6, #0x0]
|
|
mov r1, #0x1
|
|
bl GetBgTilemapBuffer
|
|
ldr r1, _020746B4 ; =0x00000B0C
|
|
str r0, [sp, #0x10]
|
|
ldrb r3, [r6, r1]
|
|
add r1, r1, #0x1
|
|
mov r2, #0x2c
|
|
add r0, r3, #0x0
|
|
ldrb r3, [r6, r1]
|
|
mul r0, r2
|
|
mov r4, #0x0
|
|
add r1, r3, #0x0
|
|
add r3, r6, r0
|
|
ldr r0, _020746B8 ; =0x00000715
|
|
mul r1, r2
|
|
ldrsb r2, [r3, r0]
|
|
str r2, [sp, #0xc]
|
|
sub r2, r0, #0x1
|
|
ldrsb r2, [r3, r2]
|
|
str r2, [sp, #0x8]
|
|
add r2, r6, r1
|
|
ldrsb r1, [r2, r0]
|
|
sub r0, r0, #0x1
|
|
ldrsb r0, [r2, r0]
|
|
str r1, [sp, #0x4]
|
|
str r0, [sp, #0x0]
|
|
ldr r0, _020746BC ; =0x0000080C
|
|
add r0, r6, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, _020746C0 ; =0x0000098C
|
|
add r0, r6, r0
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, _020746C4 ; =0x000008CC
|
|
add r0, r6, r0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, _020746C8 ; =0x00000A4C
|
|
add r0, r6, r0
|
|
str r0, [sp, #0x24]
|
|
_02074638:
|
|
ldr r0, [sp, #0xc]
|
|
lsl r5, r4, #0x5
|
|
add r0, r0, r4
|
|
lsl r1, r0, #0x5
|
|
ldr r0, [sp, #0x8]
|
|
mov r2, #0x20
|
|
add r0, r0, r1
|
|
lsl r7, r0, #0x1
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r0, r5
|
|
add r1, r1, r7
|
|
bl memcpy
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r0, r5
|
|
add r1, r1, r7
|
|
mov r2, #0x20
|
|
bl memcpy
|
|
ldr r0, [sp, #0x4]
|
|
mov r2, #0x20
|
|
add r0, r0, r4
|
|
lsl r1, r0, #0x5
|
|
ldr r0, [sp, #0x0]
|
|
add r0, r0, r1
|
|
lsl r7, r0, #0x1
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r0, r5
|
|
add r1, r1, r7
|
|
bl memcpy
|
|
ldr r0, [sp, #0x24]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r0, r5
|
|
add r1, r1, r7
|
|
mov r2, #0x20
|
|
bl memcpy
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x6
|
|
blo _02074638
|
|
ldr r0, _020746CC ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r6, r0]
|
|
bl sub_020200A0
|
|
ldr r0, _020746D0 ; =0x000005CC
|
|
mov r1, #0x0
|
|
ldr r0, [r6, r0]
|
|
bl sub_020200A0
|
|
add sp, #0x28
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_020746AC: .word 0x00000B25
|
|
_020746B0: .word 0x00000B0D
|
|
_020746B4: .word 0x00000B0C
|
|
_020746B8: .word 0x00000715
|
|
_020746BC: .word 0x0000080C
|
|
_020746C0: .word 0x0000098C
|
|
_020746C4: .word 0x000008CC
|
|
_020746C8: .word 0x00000A4C
|
|
_020746CC: .word 0x000005C8
|
|
_020746D0: .word 0x000005CC
|
|
|
|
thumb_func_start sub_020746D4
|
|
sub_020746D4: ; 0x020746D4
|
|
push {r3-r5, lr}
|
|
ldr r1, _02074828 ; =0x0000080C
|
|
add r5, r0, #0x0
|
|
ldr r2, _0207482C ; =0x00000305
|
|
add r4, r5, r1
|
|
ldrb r1, [r4, r2]
|
|
cmp r1, #0x4
|
|
bls _020746E6
|
|
b _02074822
|
|
_020746E6:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #0x6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_020746F2: ; jump table (using 16-bit offset)
|
|
.short _020746FC - _020746F2 - 2; case 0
|
|
.short _0207470C - _020746F2 - 2; case 1
|
|
.short _0207475C - _020746F2 - 2; case 2
|
|
.short _02074770 - _020746F2 - 2; case 3
|
|
.short _020747CE - _020746F2 - 2; case 4
|
|
_020746FC:
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
bl PlaySE
|
|
ldr r0, _0207482C ; =0x00000305
|
|
mov r1, #0x1
|
|
strb r1, [r4, r0]
|
|
b _02074822
|
|
_0207470C:
|
|
add r1, r2, #0x1
|
|
ldrb r1, [r4, r1]
|
|
add r3, r1, #0x1
|
|
add r1, r2, #0x1
|
|
strb r3, [r4, r1]
|
|
mov r1, #0x0
|
|
bl sub_02074848
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02074848
|
|
ldr r2, _02074830 ; =0x00000302
|
|
add r0, r5, #0x0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #0x0
|
|
bl sub_0207499C
|
|
ldr r2, _02074834 ; =0x00000303
|
|
add r0, r5, #0x0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #0x1
|
|
bl sub_0207499C
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x1
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, _02074838 ; =0x00000306
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #0x10
|
|
bne _02074822
|
|
mov r1, #0x2
|
|
sub r0, r0, #0x1
|
|
strb r1, [r4, r0]
|
|
b _02074822
|
|
_0207475C:
|
|
bl sub_02074AF4
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
bl PlaySE
|
|
ldr r0, _0207482C ; =0x00000305
|
|
mov r1, #0x3
|
|
strb r1, [r4, r0]
|
|
b _02074822
|
|
_02074770:
|
|
add r1, r2, #0x1
|
|
ldrb r1, [r4, r1]
|
|
sub r3, r1, #0x1
|
|
add r1, r2, #0x1
|
|
strb r3, [r4, r1]
|
|
mov r1, #0x0
|
|
bl sub_02074848
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02074848
|
|
ldr r2, _02074830 ; =0x00000302
|
|
add r0, r5, #0x0
|
|
ldrb r3, [r4, r2]
|
|
mov r2, #0x1
|
|
mov r1, #0x0
|
|
eor r2, r3
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl sub_0207499C
|
|
ldr r2, _02074834 ; =0x00000303
|
|
mov r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r0, r5, #0x0
|
|
eor r2, r1
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl sub_0207499C
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x1
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, _02074838 ; =0x00000306
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #0x0
|
|
bne _02074822
|
|
mov r1, #0x4
|
|
sub r0, r0, #0x1
|
|
strb r1, [r4, r0]
|
|
b _02074822
|
|
_020747CE:
|
|
ldr r0, _0207483C ; =0x000005A4
|
|
sub r1, r2, #0x5
|
|
ldr r0, [r5, r0]
|
|
sub r2, r2, #0x4
|
|
ldrb r1, [r4, r1]
|
|
ldrb r2, [r4, r2]
|
|
ldr r0, [r0, #0x0]
|
|
bl SwapSlotsInParty
|
|
ldr r0, _02074840 ; =0x000005C8
|
|
mov r1, #0x1
|
|
ldr r0, [r5, r0]
|
|
bl sub_020200A0
|
|
mov r0, #0xc1
|
|
mov r1, #0x0
|
|
lsl r0, r0, #0x2
|
|
strb r1, [r4, r0]
|
|
ldr r1, _02074844 ; =0x00000B23
|
|
mov r0, #0x40
|
|
ldrb r2, [r5, r1]
|
|
bic r2, r0
|
|
strb r2, [r5, r1]
|
|
add r1, r1, #0x2
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
bl sub_020709FC
|
|
ldr r1, _02074844 ; =0x00000B23
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
bl sub_020709FC
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1d
|
|
mov r2, #0x0
|
|
bl sub_020731C0
|
|
mov r0, #0x1
|
|
pop {r3-r5, pc}
|
|
_02074822:
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02074828: .word 0x0000080C
|
|
_0207482C: .word 0x00000305
|
|
_02074830: .word 0x00000302
|
|
_02074834: .word 0x00000303
|
|
_02074838: .word 0x00000306
|
|
_0207483C: .word 0x000005A4
|
|
_02074840: .word 0x000005C8
|
|
_02074844: .word 0x00000B23
|
|
|
|
thumb_func_start sub_02074848
|
|
sub_02074848: ; 0x02074848
|
|
push {r3-r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0x0
|
|
ldr r0, _02074990 ; =0x0000080C
|
|
str r1, [sp, #0x1c]
|
|
ldr r1, [sp, #0x1c]
|
|
add r4, r5, r0
|
|
add r2, r4, r1
|
|
mov r1, #0x3
|
|
lsl r1, r1, #0x8
|
|
ldrb r2, [r2, r1]
|
|
mov r1, #0x2c
|
|
mul r1, r2
|
|
add r2, r5, r1
|
|
add r1, r0, #0x0
|
|
sub r1, #0xf8
|
|
ldrsb r7, [r2, r1]
|
|
sub r0, #0xf7
|
|
ldrb r6, [r2, r0]
|
|
lsl r0, r7, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x20]
|
|
str r6, [sp, #0x0]
|
|
mov r1, #0x10
|
|
str r1, [sp, #0x4]
|
|
mov r0, #0x6
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, #0x0]
|
|
ldr r3, [sp, #0x20]
|
|
mov r1, #0x2
|
|
mov r2, #0x0
|
|
bl FillBgTilemapRect
|
|
str r6, [sp, #0x0]
|
|
mov r1, #0x10
|
|
str r1, [sp, #0x4]
|
|
mov r0, #0x6
|
|
str r0, [sp, #0x8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, #0x0]
|
|
ldr r3, [sp, #0x20]
|
|
mov r1, #0x1
|
|
mov r2, #0x0
|
|
bl FillBgTilemapRect
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, r4, r0
|
|
ldr r0, _02074994 ; =0x00000302
|
|
ldrb r1, [r1, r0]
|
|
cmp r1, #0x0
|
|
bne _02074918
|
|
add r0, r0, #0x4
|
|
ldrb r2, [r4, r0]
|
|
ldr r0, [sp, #0x1c]
|
|
mov r3, #0x10
|
|
add r7, r0, #0x0
|
|
sub r0, r3, r2
|
|
lsl r0, r0, #0x18
|
|
mov r1, #0xc0
|
|
lsr r0, r0, #0x18
|
|
mul r7, r1
|
|
str r0, [sp, #0x0]
|
|
mov r1, #0x6
|
|
str r1, [sp, #0x4]
|
|
add r0, r4, r7
|
|
str r0, [sp, #0x8]
|
|
str r2, [sp, #0xc]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
ldr r0, [r5, #0x0]
|
|
ldr r2, [sp, #0x20]
|
|
mov r1, #0x2
|
|
add r3, r6, #0x0
|
|
bl CopyToBgTilemapRect
|
|
ldr r0, _02074998 ; =0x00000306
|
|
mov r3, #0x10
|
|
ldrb r2, [r4, r0]
|
|
mov r1, #0x6
|
|
sub r0, r3, r2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x0]
|
|
lsl r0, r1, #0x6
|
|
add r0, r4, r0
|
|
str r1, [sp, #0x4]
|
|
add r0, r0, r7
|
|
str r0, [sp, #0x8]
|
|
str r2, [sp, #0xc]
|
|
mov r0, #0x0
|
|
str r0, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
ldr r0, [r5, #0x0]
|
|
ldr r2, [sp, #0x20]
|
|
mov r1, #0x1
|
|
add r3, r6, #0x0
|
|
bl CopyToBgTilemapRect
|
|
add sp, #0x28
|
|
pop {r3-r7, pc}
|
|
_02074918:
|
|
ldr r1, [sp, #0x1c]
|
|
mov r2, #0xc0
|
|
mul r2, r1
|
|
str r2, [sp, #0x24]
|
|
add r0, r0, #0x4
|
|
ldrb r2, [r4, r0]
|
|
mov r3, #0x10
|
|
ldr r1, [sp, #0x24]
|
|
sub r0, r3, r2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x6
|
|
str r0, [sp, #0x4]
|
|
add r1, r4, r1
|
|
str r1, [sp, #0x8]
|
|
mov r1, #0x0
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
add r2, r7, r2
|
|
str r0, [sp, #0x18]
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x2
|
|
lsr r2, r2, #0x18
|
|
add r3, r6, #0x0
|
|
bl CopyToBgTilemapRect
|
|
ldr r0, _02074998 ; =0x00000306
|
|
ldrb r2, [r4, r0]
|
|
mov r0, #0x10
|
|
sub r0, r0, r2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0x6
|
|
lsl r1, r0, #0x6
|
|
add r3, r4, r1
|
|
ldr r1, [sp, #0x24]
|
|
add r2, r7, r2
|
|
add r1, r3, r1
|
|
str r0, [sp, #0x4]
|
|
str r1, [sp, #0x8]
|
|
mov r1, #0x0
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
mov r1, #0x10
|
|
str r1, [sp, #0x14]
|
|
str r0, [sp, #0x18]
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [r5, #0x0]
|
|
mov r1, #0x1
|
|
lsr r2, r2, #0x18
|
|
add r3, r6, #0x0
|
|
bl CopyToBgTilemapRect
|
|
add sp, #0x28
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_02074990: .word 0x0000080C
|
|
_02074994: .word 0x00000302
|
|
_02074998: .word 0x00000306
|
|
|
|
thumb_func_start sub_0207499C
|
|
sub_0207499C: ; 0x0207499C
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02074AE0 ; =0x0000080C
|
|
add r4, r1, #0x0
|
|
add r1, r5, r0
|
|
mov r0, #0x3
|
|
lsl r0, r0, #0x8
|
|
add r6, r1, r0
|
|
ldrb r0, [r6, r4]
|
|
add r7, r2, #0x0
|
|
add r2, sp, #0x0
|
|
lsl r0, r0, #0x2
|
|
add r1, r5, r0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r1, r0]
|
|
add r1, sp, #0x0
|
|
add r1, #0x2
|
|
bl sub_0200C75C
|
|
cmp r7, #0x0
|
|
ldr r0, _02074AE4 ; =0x00000716
|
|
bne _02074A04
|
|
ldrb r3, [r6, r4]
|
|
mov r7, #0x2c
|
|
add r2, r5, r0
|
|
add r1, r3, #0x0
|
|
mul r1, r7
|
|
ldrsh r3, [r2, r1]
|
|
sub r3, #0x8
|
|
strh r3, [r2, r1]
|
|
ldrb r3, [r6, r4]
|
|
add r1, r0, #0x4
|
|
add r2, r5, r1
|
|
add r1, r3, #0x0
|
|
mul r1, r7
|
|
ldrsh r3, [r2, r1]
|
|
add r0, #0x8
|
|
add r0, r5, r0
|
|
sub r3, #0x8
|
|
strh r3, [r2, r1]
|
|
ldrb r1, [r6, r4]
|
|
add r2, r1, #0x0
|
|
mul r2, r7
|
|
ldrsh r1, [r0, r2]
|
|
sub r1, #0x8
|
|
strh r1, [r0, r2]
|
|
add r1, sp, #0x0
|
|
mov r0, #0x2
|
|
ldrsh r0, [r1, r0]
|
|
sub r0, #0x8
|
|
b _02074A3C
|
|
_02074A04:
|
|
ldrb r3, [r6, r4]
|
|
mov r7, #0x2c
|
|
add r2, r5, r0
|
|
add r1, r3, #0x0
|
|
mul r1, r7
|
|
ldrsh r3, [r2, r1]
|
|
add r3, #0x8
|
|
strh r3, [r2, r1]
|
|
ldrb r3, [r6, r4]
|
|
add r1, r0, #0x4
|
|
add r2, r5, r1
|
|
add r1, r3, #0x0
|
|
mul r1, r7
|
|
ldrsh r3, [r2, r1]
|
|
add r0, #0x8
|
|
add r0, r5, r0
|
|
add r3, #0x8
|
|
strh r3, [r2, r1]
|
|
ldrb r1, [r6, r4]
|
|
add r2, r1, #0x0
|
|
mul r2, r7
|
|
ldrsh r1, [r0, r2]
|
|
add r1, #0x8
|
|
strh r1, [r0, r2]
|
|
add r1, sp, #0x0
|
|
mov r0, #0x2
|
|
ldrsh r0, [r1, r0]
|
|
add r0, #0x8
|
|
_02074A3C:
|
|
strh r0, [r1, #0x2]
|
|
ldrb r1, [r6, r4]
|
|
mov r0, #0x2c
|
|
ldr r2, _02074AE8 ; =0x00000724
|
|
mul r0, r1
|
|
add r3, r5, r0
|
|
add r1, r2, #0x0
|
|
ldr r0, [r3, r2]
|
|
sub r1, #0xe
|
|
sub r2, #0xc
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
bl sub_0200C6E4
|
|
ldrb r2, [r6, r4]
|
|
mov r0, #0x2c
|
|
ldr r3, _02074AEC ; =0x0000071A
|
|
add r1, r2, #0x0
|
|
add r2, #0xa
|
|
mul r1, r0
|
|
lsl r0, r2, #0x2
|
|
add r2, r5, r0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r2, r0]
|
|
add r2, r5, r1
|
|
ldrsh r1, [r2, r3]
|
|
add r3, r3, #0x2
|
|
ldrsh r2, [r2, r3]
|
|
bl sub_0200C6E4
|
|
ldrb r2, [r6, r4]
|
|
mov r0, #0x2c
|
|
ldr r3, _02074AF0 ; =0x0000071E
|
|
add r1, r2, #0x0
|
|
add r2, #0x10
|
|
mul r1, r0
|
|
lsl r0, r2, #0x2
|
|
add r2, r5, r0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r2, r0]
|
|
add r2, r5, r1
|
|
ldrsh r1, [r2, r3]
|
|
add r3, r3, #0x2
|
|
ldrsh r2, [r2, r3]
|
|
bl sub_0200C6E4
|
|
ldrb r2, [r6, r4]
|
|
mov r0, #0x2c
|
|
ldr r3, _02074AF0 ; =0x0000071E
|
|
add r1, r2, #0x0
|
|
add r2, #0x16
|
|
mul r1, r0
|
|
lsl r0, r2, #0x2
|
|
add r2, r5, r0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r2, r0]
|
|
add r2, r5, r1
|
|
ldrsh r1, [r2, r3]
|
|
add r3, r3, #0x2
|
|
ldrsh r2, [r2, r3]
|
|
add r1, #0x8
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
bl sub_0200C6E4
|
|
ldrb r0, [r6, r4]
|
|
add r3, sp, #0x0
|
|
mov r2, #0x0
|
|
lsl r0, r0, #0x2
|
|
add r1, r5, r0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x2
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
bl sub_0200C6E4
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_02074AE0: .word 0x0000080C
|
|
_02074AE4: .word 0x00000716
|
|
_02074AE8: .word 0x00000724
|
|
_02074AEC: .word 0x0000071A
|
|
_02074AF0: .word 0x0000071E
|
|
|
|
thumb_func_start sub_02074AF4
|
|
sub_02074AF4: ; 0x02074AF4
|
|
push {r4-r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0x0
|
|
ldr r0, _02074DD0 ; =0x0000080C
|
|
mov r1, #0x2c
|
|
add r4, r5, r0
|
|
mov r0, #0xc
|
|
bl Heap_Alloc
|
|
add r7, r0, #0x0
|
|
mov r0, #0x3
|
|
lsl r0, r0, #0x8
|
|
ldrb r1, [r4, r0]
|
|
mov r0, #0x2c
|
|
add r3, r7, #0x0
|
|
mul r0, r1
|
|
add r1, r5, r0
|
|
mov r0, #0x7
|
|
lsl r0, r0, #0x8
|
|
add r6, r1, r0
|
|
mov r2, #0x5
|
|
_02074B1E:
|
|
ldmia r6!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
sub r2, r2, #0x1
|
|
bne _02074B1E
|
|
ldr r0, [r6, #0x0]
|
|
mov r1, #0x3
|
|
lsl r1, r1, #0x8
|
|
str r0, [r3, #0x0]
|
|
ldrb r0, [r4, r1]
|
|
add r1, r1, #0x1
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #0x2c
|
|
add r3, r0, #0x0
|
|
mul r3, r2
|
|
mul r2, r1
|
|
mov r1, #0x7
|
|
add r0, r5, r3
|
|
lsl r1, r1, #0x8
|
|
add r2, r5, r2
|
|
add r6, r2, r1
|
|
add r3, r0, r1
|
|
mov r2, #0x5
|
|
_02074B4A:
|
|
ldmia r6!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
sub r2, r2, #0x1
|
|
bne _02074B4A
|
|
ldr r0, [r6, #0x0]
|
|
add r6, r7, #0x0
|
|
str r0, [r3, #0x0]
|
|
ldr r0, _02074DD4 ; =0x00000301
|
|
mov r2, #0x5
|
|
ldrb r1, [r4, r0]
|
|
mov r0, #0x2c
|
|
mul r0, r1
|
|
add r1, r5, r0
|
|
mov r0, #0x7
|
|
lsl r0, r0, #0x8
|
|
add r3, r1, r0
|
|
_02074B6A:
|
|
ldmia r6!, {r0-r1}
|
|
stmia r3!, {r0-r1}
|
|
sub r2, r2, #0x1
|
|
bne _02074B6A
|
|
ldr r0, [r6, #0x0]
|
|
add r1, r7, #0x0
|
|
str r0, [r3, #0x0]
|
|
mov r0, #0xc
|
|
bl Heap_FreeExplicit
|
|
mov r1, #0x3
|
|
lsl r1, r1, #0x8
|
|
ldrb r3, [r4, r1]
|
|
ldr r0, _02074DD8 ; =0x00000716
|
|
add r2, r5, r0
|
|
mov r0, #0x2c
|
|
add r7, r3, #0x0
|
|
mul r7, r0
|
|
ldrsh r3, [r2, r7]
|
|
str r3, [sp, #0x0]
|
|
add r3, r1, #0x1
|
|
ldrb r3, [r4, r3]
|
|
add r6, r3, #0x0
|
|
mul r6, r0
|
|
ldr r3, _02074DD8 ; =0x00000716
|
|
add r6, r5, r6
|
|
ldrsh r3, [r6, r3]
|
|
strh r3, [r2, r7]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
mul r3, r0
|
|
add r6, r5, r3
|
|
ldr r3, [sp, #0x0]
|
|
ldr r2, _02074DD8 ; =0x00000716
|
|
strh r3, [r6, r2]
|
|
add r2, r2, #0x2
|
|
add r3, r5, r2
|
|
ldrb r2, [r4, r1]
|
|
add r7, r2, #0x0
|
|
mul r7, r0
|
|
ldrsh r2, [r3, r7]
|
|
str r2, [sp, #0x4]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r6, r2, #0x0
|
|
mul r6, r0
|
|
add r2, r5, r6
|
|
ldr r6, _02074DD8 ; =0x00000716
|
|
add r6, r6, #0x2
|
|
ldrsh r2, [r2, r6]
|
|
strh r2, [r3, r7]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
mul r3, r0
|
|
add r2, r5, r3
|
|
ldr r3, _02074DD8 ; =0x00000716
|
|
add r6, r3, #0x2
|
|
ldr r3, [sp, #0x4]
|
|
strh r3, [r2, r6]
|
|
ldr r2, _02074DD8 ; =0x00000716
|
|
add r2, r2, #0x4
|
|
add r3, r5, r2
|
|
ldrb r2, [r4, r1]
|
|
add r7, r2, #0x0
|
|
mul r7, r0
|
|
ldrsh r2, [r3, r7]
|
|
str r2, [sp, #0x8]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r6, r2, #0x0
|
|
mul r6, r0
|
|
add r2, r5, r6
|
|
ldr r6, _02074DD8 ; =0x00000716
|
|
add r6, r6, #0x4
|
|
ldrsh r2, [r2, r6]
|
|
strh r2, [r3, r7]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
mul r3, r0
|
|
add r2, r5, r3
|
|
ldr r3, _02074DD8 ; =0x00000716
|
|
add r6, r3, #0x4
|
|
ldr r3, [sp, #0x8]
|
|
strh r3, [r2, r6]
|
|
ldr r2, _02074DD8 ; =0x00000716
|
|
add r2, r2, #0x6
|
|
add r3, r5, r2
|
|
ldrb r2, [r4, r1]
|
|
add r7, r2, #0x0
|
|
mul r7, r0
|
|
ldrsh r2, [r3, r7]
|
|
str r2, [sp, #0xc]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r6, r2, #0x0
|
|
mul r6, r0
|
|
add r2, r5, r6
|
|
ldr r6, _02074DD8 ; =0x00000716
|
|
add r6, r6, #0x6
|
|
ldrsh r2, [r2, r6]
|
|
strh r2, [r3, r7]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
mul r3, r0
|
|
add r2, r5, r3
|
|
ldr r3, _02074DD8 ; =0x00000716
|
|
add r6, r3, #0x6
|
|
ldr r3, [sp, #0xc]
|
|
strh r3, [r2, r6]
|
|
ldr r2, _02074DD8 ; =0x00000716
|
|
add r2, #0x8
|
|
add r6, r5, r2
|
|
ldrb r2, [r4, r1]
|
|
add r7, r2, #0x0
|
|
mul r7, r0
|
|
ldrsh r2, [r6, r7]
|
|
str r2, [sp, #0x10]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
mul r3, r0
|
|
add r2, r5, r3
|
|
ldr r3, _02074DD8 ; =0x00000716
|
|
add r3, #0x8
|
|
ldrsh r2, [r2, r3]
|
|
strh r2, [r6, r7]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
mul r3, r0
|
|
add r6, r5, r3
|
|
ldr r3, _02074DD8 ; =0x00000716
|
|
ldr r2, [sp, #0x10]
|
|
add r3, #0x8
|
|
strh r2, [r6, r3]
|
|
ldr r2, _02074DD8 ; =0x00000716
|
|
add r2, #0xa
|
|
add r6, r5, r2
|
|
ldrb r2, [r4, r1]
|
|
add r7, r2, #0x0
|
|
mul r7, r0
|
|
ldrsh r2, [r6, r7]
|
|
str r2, [sp, #0x14]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
mul r3, r0
|
|
add r2, r5, r3
|
|
ldr r3, _02074DD8 ; =0x00000716
|
|
add r3, #0xa
|
|
ldrsh r2, [r2, r3]
|
|
strh r2, [r6, r7]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
mul r3, r0
|
|
add r6, r5, r3
|
|
ldr r3, _02074DD8 ; =0x00000716
|
|
ldr r2, [sp, #0x14]
|
|
add r3, #0xa
|
|
strh r2, [r6, r3]
|
|
ldr r2, _02074DD8 ; =0x00000716
|
|
sub r2, r2, #0x2
|
|
add r3, r5, r2
|
|
ldrb r2, [r4, r1]
|
|
add r7, r2, #0x0
|
|
mul r7, r0
|
|
ldrsb r2, [r3, r7]
|
|
str r2, [sp, #0x18]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r6, r2, #0x0
|
|
mul r6, r0
|
|
add r2, r5, r6
|
|
ldr r6, _02074DD8 ; =0x00000716
|
|
sub r6, r6, #0x2
|
|
ldrsb r2, [r2, r6]
|
|
strb r2, [r3, r7]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
mul r3, r0
|
|
add r2, r5, r3
|
|
ldr r3, _02074DD8 ; =0x00000716
|
|
sub r6, r3, #0x2
|
|
ldr r3, [sp, #0x18]
|
|
strb r3, [r2, r6]
|
|
ldr r2, _02074DD8 ; =0x00000716
|
|
sub r2, r2, #0x1
|
|
add r6, r5, r2
|
|
ldrb r2, [r4, r1]
|
|
add r7, r2, #0x0
|
|
mul r7, r0
|
|
ldrsb r2, [r6, r7]
|
|
mov r12, r2
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
add r3, r2, #0x0
|
|
ldr r2, _02074DD8 ; =0x00000716
|
|
mul r3, r0
|
|
add r3, r5, r3
|
|
sub r2, r2, #0x1
|
|
ldrsb r2, [r3, r2]
|
|
strb r2, [r6, r7]
|
|
add r2, r1, #0x1
|
|
ldrb r2, [r4, r2]
|
|
mul r0, r2
|
|
ldr r2, _02074DD8 ; =0x00000716
|
|
add r0, r5, r0
|
|
sub r3, r2, #0x1
|
|
mov r2, r12
|
|
strb r2, [r0, r3]
|
|
ldrb r1, [r4, r1]
|
|
add r0, r5, #0x0
|
|
bl sub_02072D1C
|
|
ldr r1, _02074DD4 ; =0x00000301
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r4, r1]
|
|
bl sub_02072D1C
|
|
mov r1, #0x3
|
|
lsl r1, r1, #0x8
|
|
ldrb r1, [r4, r1]
|
|
add r0, r5, #0x0
|
|
bl sub_02072E14
|
|
ldr r1, _02074DD4 ; =0x00000301
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r4, r1]
|
|
bl sub_02072E14
|
|
add r0, r5, #0x0
|
|
mov r1, #0x0
|
|
bl sub_02074DE4
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02074DE4
|
|
mov r0, #0x3
|
|
lsl r0, r0, #0x8
|
|
ldrb r1, [r4, r0]
|
|
mov r2, #0x2c
|
|
add r0, r5, #0x0
|
|
mul r2, r1
|
|
add r3, r5, r2
|
|
ldr r2, _02074DDC ; =0x0000070E
|
|
ldrh r2, [r3, r2]
|
|
lsl r2, r2, #0x14
|
|
lsr r2, r2, #0x14
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl sub_02073A4C
|
|
ldr r0, _02074DD4 ; =0x00000301
|
|
mov r2, #0x2c
|
|
ldrb r1, [r4, r0]
|
|
add r0, r5, #0x0
|
|
mul r2, r1
|
|
add r3, r5, r2
|
|
ldr r2, _02074DDC ; =0x0000070E
|
|
ldrh r2, [r3, r2]
|
|
lsl r2, r2, #0x14
|
|
lsr r2, r2, #0x14
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl sub_02073A4C
|
|
mov r0, #0x3
|
|
lsl r0, r0, #0x8
|
|
ldrb r1, [r4, r0]
|
|
mov r2, #0x2c
|
|
add r0, r5, #0x0
|
|
mul r2, r1
|
|
add r3, r5, r2
|
|
ldr r2, _02074DE0 ; =0x0000070C
|
|
ldrh r2, [r3, r2]
|
|
bl sub_02073A78
|
|
ldr r0, _02074DD4 ; =0x00000301
|
|
mov r2, #0x2c
|
|
ldrb r1, [r4, r0]
|
|
add r0, r5, #0x0
|
|
mul r2, r1
|
|
add r3, r5, r2
|
|
ldr r2, _02074DE0 ; =0x0000070C
|
|
ldrh r2, [r3, r2]
|
|
bl sub_02073A78
|
|
mov r1, #0x3
|
|
lsl r1, r1, #0x8
|
|
ldrb r1, [r4, r1]
|
|
add r0, r5, #0x0
|
|
bl sub_02073B3C
|
|
ldr r1, _02074DD4 ; =0x00000301
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r4, r1]
|
|
bl sub_02073B3C
|
|
add sp, #0x1c
|
|
pop {r4-r7, pc}
|
|
.balign 4
|
|
_02074DD0: .word 0x0000080C
|
|
_02074DD4: .word 0x00000301
|
|
_02074DD8: .word 0x00000716
|
|
_02074DDC: .word 0x0000070E
|
|
_02074DE0: .word 0x0000070C
|
|
|
|
thumb_func_start sub_02074DE4
|
|
sub_02074DE4: ; 0x02074DE4
|
|
push {r3-r7, lr}
|
|
add r7, r1, #0x0
|
|
ldr r1, _02074E6C ; =0x0000080C
|
|
add r6, r0, #0x0
|
|
add r4, r6, r1
|
|
mov r1, #0xc0
|
|
mul r1, r7
|
|
add r5, r4, r1
|
|
bl sub_020703BC
|
|
add r3, r0, #0x0
|
|
mov r0, #0x3
|
|
add r1, r4, r7
|
|
lsl r0, r0, #0x8
|
|
ldrb r1, [r1, r0]
|
|
mov r0, #0x2c
|
|
mul r0, r1
|
|
add r1, r6, r0
|
|
mov r0, #0x71
|
|
lsl r0, r0, #0x4
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0x1
|
|
bne _02074E3C
|
|
mov r3, #0xf
|
|
mov r1, #0x0
|
|
lsl r3, r3, #0xc
|
|
mov r4, #0x17
|
|
_02074E1A:
|
|
lsl r0, r1, #0x1
|
|
add r2, r5, r0
|
|
add r2, #0x6c
|
|
ldrh r2, [r2, #0x0]
|
|
add r0, r5, r0
|
|
add r0, #0x6c
|
|
and r2, r3
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
orr r2, r4
|
|
strh r2, [r0, #0x0]
|
|
add r0, r1, #0x1
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
cmp r1, #0x9
|
|
blo _02074E1A
|
|
pop {r3-r7, pc}
|
|
_02074E3C:
|
|
mov r6, #0xf
|
|
ldr r0, _02074E70 ; =0x00000FFF
|
|
mov r4, #0x0
|
|
lsl r6, r6, #0xc
|
|
_02074E44:
|
|
lsl r2, r4, #0x1
|
|
add r1, r5, r2
|
|
add r1, #0x6c
|
|
ldrh r1, [r1, #0x0]
|
|
ldrh r7, [r3, r2]
|
|
and r1, r6
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
and r7, r0
|
|
orr r7, r1
|
|
add r1, r5, r2
|
|
add r1, #0x6c
|
|
strh r7, [r1, #0x0]
|
|
add r1, r4, #0x1
|
|
lsl r1, r1, #0x10
|
|
lsr r4, r1, #0x10
|
|
cmp r4, #0x9
|
|
blo _02074E44
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_02074E6C: .word 0x0000080C
|
|
_02074E70: .word 0x00000FFF
|
|
|
|
thumb_func_start sub_02074E74
|
|
sub_02074E74: ; 0x02074E74
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r6, r1, #0x0
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r5, #0x0
|
|
bl sub_02073DB4
|
|
ldr r0, _02074F5C ; =0x000005A4
|
|
mov r4, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r1, r0, #0x0
|
|
add r1, #0x32
|
|
ldrb r1, [r1, #0x0]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
beq _02074EFA
|
|
_02074E9E:
|
|
add r2, r0, r4
|
|
add r2, #0x2c
|
|
ldrb r2, [r2, #0x0]
|
|
cmp r2, #0x0
|
|
bne _02074EF0
|
|
ldr r1, _02074F60 ; =0x00000B25
|
|
add r0, r0, r4
|
|
ldrb r2, [r5, r1]
|
|
add r0, #0x2c
|
|
add r2, r2, #0x1
|
|
strb r2, [r0, #0x0]
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
bl sub_02073024
|
|
add r0, r5, #0x0
|
|
mov r1, #0x22
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
ldr r0, _02074F64 ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200C664
|
|
ldr r0, _02074F5C ; =0x000005A4
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x32
|
|
ldrb r0, [r0, #0x0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
sub r0, r0, #0x1
|
|
cmp r4, r0
|
|
bne _02074EEA
|
|
add r0, r5, #0x0
|
|
mov r1, #0x6
|
|
bl sub_02070E60
|
|
_02074EEA:
|
|
mov r0, #0x1
|
|
str r0, [r6, #0x0]
|
|
pop {r4-r6, pc}
|
|
_02074EF0:
|
|
add r2, r4, #0x1
|
|
lsl r2, r2, #0x18
|
|
lsr r4, r2, #0x18
|
|
cmp r4, r1
|
|
blo _02074E9E
|
|
_02074EFA:
|
|
cmp r1, #0x5
|
|
bhi _02074F50
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02074F0A: ; jump table (using 16-bit offset)
|
|
.short _02074F50 - _02074F0A - 2; case 0
|
|
.short _02074F16 - _02074F0A - 2; case 1
|
|
.short _02074F22 - _02074F0A - 2; case 2
|
|
.short _02074F2E - _02074F0A - 2; case 3
|
|
.short _02074F3A - _02074F0A - 2; case 4
|
|
.short _02074F46 - _02074F0A - 2; case 5
|
|
_02074F16:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x7b
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
b _02074F50
|
|
_02074F22:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x64
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
b _02074F50
|
|
_02074F2E:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x7c
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
b _02074F50
|
|
_02074F3A:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x7d
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
b _02074F50
|
|
_02074F46:
|
|
add r0, r5, #0x0
|
|
mov r1, #0x7e
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
_02074F50:
|
|
ldr r0, _02074F68 ; =0x00000B22
|
|
mov r1, #0x13
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x14
|
|
str r0, [r6, #0x0]
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_02074F5C: .word 0x000005A4
|
|
_02074F60: .word 0x00000B25
|
|
_02074F64: .word 0x000005C8
|
|
_02074F68: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02074F6C
|
|
sub_02074F6C: ; 0x02074F6C
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _02074FA4 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _02074F9E
|
|
mov r0, #0x89
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
mov r1, #0x22
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
ldr r0, _02074FA8 ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C664
|
|
mov r0, #0x1
|
|
pop {r4, pc}
|
|
_02074F9E:
|
|
mov r0, #0x13
|
|
pop {r4, pc}
|
|
nop
|
|
_02074FA4: .word gSystem
|
|
_02074FA8: .word 0x000005C8
|
|
|
|
thumb_func_start sub_02074FAC
|
|
sub_02074FAC: ; 0x02074FAC
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02075080 ; =0x000005A4
|
|
str r1, [sp, #0x0]
|
|
ldr r1, [r5, r0]
|
|
mov r4, #0x0
|
|
add r0, r1, #0x0
|
|
add r0, #0x32
|
|
ldrb r0, [r0, #0x0]
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x1c
|
|
beq _0207502C
|
|
ldr r0, _02075084 ; =0x00000B25
|
|
ldrb r0, [r5, r0]
|
|
add r0, r0, #0x1
|
|
_02074FCA:
|
|
add r3, r1, r4
|
|
add r3, #0x2c
|
|
ldrb r3, [r3, #0x0]
|
|
cmp r0, r3
|
|
bne _02075022
|
|
add r0, r1, r4
|
|
mov r2, #0x0
|
|
add r0, #0x2c
|
|
strb r2, [r0, #0x0]
|
|
ldr r0, _02075080 ; =0x000005A4
|
|
ldr r6, [r5, r0]
|
|
add r0, r6, #0x0
|
|
add r0, #0x32
|
|
ldrb r0, [r0, #0x0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
sub r0, r0, #0x1
|
|
cmp r4, r0
|
|
bge _0207502C
|
|
ldr r0, _02075080 ; =0x000005A4
|
|
add r1, r0, #0x0
|
|
_02074FF4:
|
|
add r3, r6, r4
|
|
add r3, #0x2d
|
|
ldrb r3, [r3, #0x0]
|
|
add r6, r6, r4
|
|
add r6, #0x2c
|
|
strb r3, [r6, #0x0]
|
|
ldr r3, [r5, r0]
|
|
add r3, r3, r4
|
|
add r3, #0x2d
|
|
strb r2, [r3, #0x0]
|
|
add r3, r4, #0x1
|
|
lsl r3, r3, #0x18
|
|
ldr r6, [r5, r1]
|
|
lsr r4, r3, #0x18
|
|
add r3, r6, #0x0
|
|
add r3, #0x32
|
|
ldrb r3, [r3, #0x0]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x1c
|
|
sub r3, r3, #0x1
|
|
cmp r4, r3
|
|
blt _02074FF4
|
|
b _0207502C
|
|
_02075022:
|
|
add r3, r4, #0x1
|
|
lsl r3, r3, #0x18
|
|
lsr r4, r3, #0x18
|
|
cmp r4, r2
|
|
blo _02074FCA
|
|
_0207502C:
|
|
ldr r6, _02075088 ; =0x00000729
|
|
mov r4, #0x0
|
|
mov r7, #0x2c
|
|
_02075032:
|
|
add r0, r4, #0x0
|
|
mul r0, r7
|
|
add r0, r5, r0
|
|
ldrb r0, [r0, r6]
|
|
cmp r0, #0x0
|
|
beq _02075046
|
|
add r0, r5, #0x0
|
|
add r1, r4, #0x0
|
|
bl sub_02073024
|
|
_02075046:
|
|
add r0, r4, #0x1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #0x6
|
|
blo _02075032
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r5, #0x0
|
|
bl sub_02073DB4
|
|
add r0, r5, #0x0
|
|
mov r1, #0x1d
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
ldr r0, _0207508C ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200C664
|
|
ldr r0, [sp, #0x0]
|
|
mov r1, #0x1
|
|
str r1, [r0, #0x0]
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_02075080: .word 0x000005A4
|
|
_02075084: .word 0x00000B25
|
|
_02075088: .word 0x00000729
|
|
_0207508C: .word 0x000005C8
|
|
|
|
thumb_func_start sub_02075090
|
|
sub_02075090: ; 0x02075090
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _020750B8 ; =0x000005A4
|
|
add r4, r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _020750BC ; =0x000006FC
|
|
ldr r0, [r5, r0]
|
|
bl sub_02001C5C
|
|
ldr r0, _020750C0 ; =0x000006F8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_Delete
|
|
mov r0, #0x1b
|
|
str r0, [r4, #0x0]
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_020750B8: .word 0x000005A4
|
|
_020750BC: .word 0x000006FC
|
|
_020750C0: .word 0x000006F8
|
|
|
|
thumb_func_start sub_020750C4
|
|
sub_020750C4: ; 0x020750C4
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _020750EC ; =0x000005A4
|
|
add r4, r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x1
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _020750F0 ; =0x000006FC
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl sub_02001C5C
|
|
ldr r0, _020750F4 ; =0x000006F8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_Delete
|
|
mov r0, #0x1b
|
|
str r0, [r4, #0x0]
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_020750EC: .word 0x000005A4
|
|
_020750F0: .word 0x000006FC
|
|
_020750F4: .word 0x000006F8
|
|
|
|
thumb_func_start sub_020750F8
|
|
sub_020750F8: ; 0x020750F8
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
add r4, r1, #0x0
|
|
bl sub_02073DB4
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r5, #0x0
|
|
bl sub_02075118
|
|
str r0, [r4, #0x0]
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_02075118
|
|
sub_02075118: ; 0x02075118
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _02075190 ; =0x000005A4
|
|
ldr r1, _02075194 ; =0x00000B25
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
mov r1, #0xa1
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
cmp r0, #0x0
|
|
ldr r2, _02075198 ; =0x0000069C
|
|
bne _0207515C
|
|
ldr r0, [r4, r2]
|
|
add r2, #0x8
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x81
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _02075194 ; =0x00000B25
|
|
ldrb r0, [r4, r0]
|
|
add r0, #0x16
|
|
lsl r0, r0, #0x2
|
|
add r1, r4, r0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x1
|
|
bl sub_020200A0
|
|
b _0207516E
|
|
_0207515C:
|
|
ldr r0, [r4, r2]
|
|
add r2, #0x8
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x82
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _02075194 ; =0x00000B25
|
|
mov r1, #0x7
|
|
strb r1, [r4, r0]
|
|
_0207516E:
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02075190 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _0207519C ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x14
|
|
pop {r4, pc}
|
|
nop
|
|
_02075190: .word 0x000005A4
|
|
_02075194: .word 0x00000B25
|
|
_02075198: .word 0x0000069C
|
|
_0207519C: .word 0x00000B22
|
|
|
|
thumb_func_start sub_020751A0
|
|
sub_020751A0: ; 0x020751A0
|
|
push {r4-r6, lr}
|
|
add r6, r1, #0x0
|
|
add r4, r0, #0x0
|
|
ldr r1, _02075234 ; =0x000005A4
|
|
mov r0, #0x1
|
|
ldr r1, [r4, r1]
|
|
add r1, #0x23
|
|
ldrb r1, [r1, #0x0]
|
|
sub r1, #0xb
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl FieldMove_GetMoveFunc
|
|
add r1, r0, #0x0
|
|
beq _020751C8
|
|
ldr r0, _02075234 ; =0x000005A4
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x18]
|
|
blx r1
|
|
b _020751CA
|
|
_020751C8:
|
|
mov r0, #0x1
|
|
_020751CA:
|
|
cmp r0, #0x4
|
|
bhi _0207520A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_020751DA: ; jump table (using 16-bit offset)
|
|
.short _020751E4 - _020751DA - 2; case 0
|
|
.short _020751FC - _020751DA - 2; case 1
|
|
.short _02075200 - _020751DA - 2; case 2
|
|
.short _02075204 - _020751DA - 2; case 3
|
|
.short _02075208 - _020751DA - 2; case 4
|
|
_020751E4:
|
|
ldr r0, _02075238 ; =0x000006FC
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_02001C5C
|
|
ldr r0, _0207523C ; =0x000006F8
|
|
ldr r0, [r4, r0]
|
|
bl ListMenuItems_Delete
|
|
mov r0, #0x1b
|
|
str r0, [r6, #0x0]
|
|
pop {r4-r6, pc}
|
|
_020751FC:
|
|
mov r5, #0x68
|
|
b _0207520A
|
|
_02075200:
|
|
mov r5, #0x4c
|
|
b _0207520A
|
|
_02075204:
|
|
mov r5, #0xc4
|
|
b _0207520A
|
|
_02075208:
|
|
mov r5, #0x66
|
|
_0207520A:
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
bl sub_02073DB4
|
|
add r0, r4, #0x0
|
|
add r1, r5, #0x0
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02075240 ; =0x00000B22
|
|
mov r1, #0x3
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x14
|
|
str r0, [r6, #0x0]
|
|
pop {r4-r6, pc}
|
|
nop
|
|
_02075234: .word 0x000005A4
|
|
_02075238: .word 0x000006FC
|
|
_0207523C: .word 0x000006F8
|
|
_02075240: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02075244
|
|
sub_02075244: ; 0x02075244
|
|
ldr r2, _02075254 ; =0x000005A4
|
|
mov r3, #0xb
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _02075258 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_02075254: .word 0x000005A4
|
|
_02075258: .word sub_020751A0
|
|
|
|
thumb_func_start sub_0207525C
|
|
sub_0207525C: ; 0x0207525C
|
|
ldr r2, _0207526C ; =0x000005A4
|
|
mov r3, #0x10
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _02075270 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_0207526C: .word 0x000005A4
|
|
_02075270: .word sub_020751A0
|
|
|
|
thumb_func_start sub_02075274
|
|
sub_02075274: ; 0x02075274
|
|
ldr r2, _02075284 ; =0x000005A4
|
|
mov r3, #0xe
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _02075288 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_02075284: .word 0x000005A4
|
|
_02075288: .word sub_020751A0
|
|
|
|
thumb_func_start sub_0207528C
|
|
sub_0207528C: ; 0x0207528C
|
|
ldr r2, _0207529C ; =0x000005A4
|
|
mov r3, #0xd
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _020752A0 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_0207529C: .word 0x000005A4
|
|
_020752A0: .word sub_020751A0
|
|
|
|
thumb_func_start sub_020752A4
|
|
sub_020752A4: ; 0x020752A4
|
|
ldr r2, _020752B4 ; =0x000005A4
|
|
mov r3, #0xf
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _020752B8 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_020752B4: .word 0x000005A4
|
|
_020752B8: .word sub_020751A0
|
|
|
|
thumb_func_start sub_020752BC
|
|
sub_020752BC: ; 0x020752BC
|
|
ldr r2, _020752CC ; =0x000005A4
|
|
mov r3, #0x12
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _020752D0 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_020752CC: .word 0x000005A4
|
|
_020752D0: .word sub_020751A0
|
|
|
|
thumb_func_start sub_020752D4
|
|
sub_020752D4: ; 0x020752D4
|
|
ldr r2, _020752E4 ; =0x000005A4
|
|
mov r3, #0xc
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _020752E8 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_020752E4: .word 0x000005A4
|
|
_020752E8: .word sub_020751A0
|
|
|
|
thumb_func_start sub_020752EC
|
|
sub_020752EC: ; 0x020752EC
|
|
ldr r2, _020752FC ; =0x000005A4
|
|
mov r3, #0x11
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _02075300 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_020752FC: .word 0x000005A4
|
|
_02075300: .word sub_020751A0
|
|
|
|
thumb_func_start sub_02075304
|
|
sub_02075304: ; 0x02075304
|
|
ldr r2, _02075314 ; =0x000005A4
|
|
mov r3, #0x13
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _02075318 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_02075314: .word 0x000005A4
|
|
_02075318: .word sub_020751A0
|
|
|
|
thumb_func_start sub_0207531C
|
|
sub_0207531C: ; 0x0207531C
|
|
ldr r2, _0207532C ; =0x000005A4
|
|
mov r3, #0x14
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _02075330 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_0207532C: .word 0x000005A4
|
|
_02075330: .word sub_020751A0
|
|
|
|
thumb_func_start sub_02075334
|
|
sub_02075334: ; 0x02075334
|
|
ldr r2, _02075344 ; =0x000005A4
|
|
mov r3, #0x15
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _02075348 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_02075344: .word 0x000005A4
|
|
_02075348: .word sub_020751A0
|
|
|
|
thumb_func_start sub_0207534C
|
|
sub_0207534C: ; 0x0207534C
|
|
ldr r2, _0207535C ; =0x000005A4
|
|
mov r3, #0x16
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _02075360 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_0207535C: .word 0x000005A4
|
|
_02075360: .word sub_020751A0
|
|
|
|
thumb_func_start sub_02075364
|
|
sub_02075364: ; 0x02075364
|
|
ldr r2, _02075374 ; =0x000005A4
|
|
mov r3, #0x17
|
|
ldr r2, [r0, r2]
|
|
add r2, #0x23
|
|
strb r3, [r2, #0x0]
|
|
ldr r3, _02075378 ; =sub_020751A0
|
|
bx r3
|
|
nop
|
|
_02075374: .word 0x000005A4
|
|
_02075378: .word sub_020751A0
|
|
|
|
thumb_func_start sub_0207537C
|
|
sub_0207537C: ; 0x0207537C
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
add r5, r1, #0x0
|
|
bl sub_020753B4
|
|
str r0, [r5, #0x0]
|
|
cmp r0, #0x1a
|
|
bne _02075392
|
|
ldr r0, _02075394 ; =0x00000B2E
|
|
mov r1, #0xd
|
|
strh r1, [r4, r0]
|
|
_02075392:
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02075394: .word 0x00000B2E
|
|
|
|
thumb_func_start sub_02075398
|
|
sub_02075398: ; 0x02075398
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
add r5, r1, #0x0
|
|
bl sub_020753B4
|
|
str r0, [r5, #0x0]
|
|
cmp r0, #0x1a
|
|
bne _020753AE
|
|
ldr r0, _020753B0 ; =0x00000B2E
|
|
mov r1, #0xe
|
|
strh r1, [r4, r0]
|
|
_020753AE:
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_020753B0: .word 0x00000B2E
|
|
|
|
thumb_func_start sub_020753B4
|
|
sub_020753B4: ; 0x020753B4
|
|
push {r3-r4, lr}
|
|
sub sp, #0x4
|
|
add r4, r0, #0x0
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
bl sub_02073DB4
|
|
ldr r0, _020754A8 ; =0x00000B25
|
|
ldrb r1, [r4, r0]
|
|
mov r0, #0x2c
|
|
mul r0, r1
|
|
add r1, r4, r0
|
|
ldr r0, _020754AC ; =0x00000708
|
|
ldrh r0, [r1, r0]
|
|
mov r1, #0x5
|
|
bl _s32_div_f
|
|
ldr r1, _020754B0 ; =0x00000B28
|
|
strh r0, [r4, r1]
|
|
sub r0, r1, #0x3
|
|
ldrb r2, [r4, r0]
|
|
mov r0, #0x2c
|
|
mul r0, r2
|
|
add r2, r4, r0
|
|
ldr r0, _020754B4 ; =0x00000706
|
|
ldrh r2, [r2, r0]
|
|
ldrh r0, [r4, r1]
|
|
cmp r2, r0
|
|
bhi _0207540E
|
|
add r0, r4, #0x0
|
|
mov r1, #0x8a
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _020754B8 ; =0x00000B22
|
|
mov r1, #0x3
|
|
strb r1, [r4, r0]
|
|
add sp, #0x4
|
|
mov r0, #0x14
|
|
pop {r3-r4, pc}
|
|
_0207540E:
|
|
sub r0, r1, #0x5
|
|
ldrb r2, [r4, r0]
|
|
mov r0, #0x40
|
|
orr r2, r0
|
|
sub r0, r1, #0x5
|
|
strb r2, [r4, r0]
|
|
ldrb r0, [r4, r0]
|
|
mov r2, #0x3f
|
|
bic r0, r2
|
|
sub r2, r1, #0x3
|
|
ldrb r3, [r4, r2]
|
|
mov r2, #0x3f
|
|
and r2, r3
|
|
orr r2, r0
|
|
sub r0, r1, #0x5
|
|
strb r2, [r4, r0]
|
|
ldr r0, _020754BC ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C664
|
|
ldr r0, _020754BC ; =0x000005C8
|
|
add r1, sp, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0x2
|
|
add r2, sp, #0x0
|
|
bl sub_0200C75C
|
|
ldr r0, _020754C0 ; =0x000005CC
|
|
add r3, sp, #0x0
|
|
mov r1, #0x2
|
|
mov r2, #0x0
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C6E4
|
|
ldr r0, _020754C4 ; =0x000005A4
|
|
ldr r1, _020754C8 ; =0x00000B23
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
add r0, #0x21
|
|
ldrb r0, [r0, #0x0]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
bl sub_020714BC
|
|
add r1, r0, #0x0
|
|
ldr r0, _020754C0 ; =0x000005CC
|
|
add r1, r1, #0x2
|
|
ldr r0, [r4, r0]
|
|
bl sub_02020130
|
|
ldr r0, _020754C0 ; =0x000005CC
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
bl sub_020200A0
|
|
ldr r1, _020754C8 ; =0x00000B23
|
|
add r0, r4, #0x0
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #0x1a
|
|
lsr r1, r1, #0x1a
|
|
bl sub_020709FC
|
|
add r0, r4, #0x0
|
|
mov r1, #0x24
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
ldr r0, _020754CC ; =0x00000B2A
|
|
mov r1, #0x0
|
|
strh r1, [r4, r0]
|
|
mov r0, #0x1a
|
|
add sp, #0x4
|
|
pop {r3-r4, pc}
|
|
nop
|
|
_020754A8: .word 0x00000B25
|
|
_020754AC: .word 0x00000708
|
|
_020754B0: .word 0x00000B28
|
|
_020754B4: .word 0x00000706
|
|
_020754B8: .word 0x00000B22
|
|
_020754BC: .word 0x000005C8
|
|
_020754C0: .word 0x000005CC
|
|
_020754C4: .word 0x000005A4
|
|
_020754C8: .word 0x00000B23
|
|
_020754CC: .word 0x00000B2A
|
|
|
|
thumb_func_start sub_020754D0
|
|
sub_020754D0: ; 0x020754D0
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _02075504 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r1, r0
|
|
beq _02075500
|
|
mov r0, #0x89
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1d
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
ldr r0, _02075508 ; =0x000005C8
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200C664
|
|
mov r0, #0x1
|
|
_02075500:
|
|
pop {r4, pc}
|
|
nop
|
|
_02075504: .word gSystem
|
|
_02075508: .word 0x000005C8
|