mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-21 17:54:29 -05:00
3512 lines
66 KiB
ArmAsm
3512 lines
66 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.extern gSystem
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_0207550C
|
|
sub_0207550C: ; 0x0207550C
|
|
push {r3-r5, lr}
|
|
mov r1, #0x0
|
|
mov r2, #0xc
|
|
bl LoadItemDataOrGfx
|
|
mov r1, #0xe
|
|
add r4, r0, #0x0
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x1
|
|
beq _0207552C
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x1c
|
|
pop {r3-r5, pc}
|
|
_0207552C:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1b
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
bne _02075580
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1c
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
bne _02075580
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1d
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
bne _02075580
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1e
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
bne _02075580
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1f
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
bne _02075580
|
|
add r0, r4, #0x0
|
|
mov r1, #0x20
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
bne _02075580
|
|
add r0, r4, #0x0
|
|
mov r1, #0x21
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _0207558A
|
|
_02075580:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
_0207558A:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x18
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _020755A0
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x1
|
|
pop {r3-r5, pc}
|
|
_020755A0:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x19
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _020755B6
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x2
|
|
pop {r3-r5, pc}
|
|
_020755B6:
|
|
add r0, r4, #0x0
|
|
mov r1, #0xf
|
|
bl GetItemAttr_PreloadedItemData
|
|
add r5, r0, #0x0
|
|
add r0, r4, #0x0
|
|
mov r1, #0x10
|
|
bl GetItemAttr_PreloadedItemData
|
|
lsl r0, r0, #0x1
|
|
add r5, r5, r0
|
|
add r0, r4, #0x0
|
|
mov r1, #0x11
|
|
bl GetItemAttr_PreloadedItemData
|
|
lsl r0, r0, #0x2
|
|
add r5, r5, r0
|
|
add r0, r4, #0x0
|
|
mov r1, #0x12
|
|
bl GetItemAttr_PreloadedItemData
|
|
lsl r0, r0, #0x3
|
|
add r5, r5, r0
|
|
add r0, r4, #0x0
|
|
mov r1, #0x13
|
|
bl GetItemAttr_PreloadedItemData
|
|
lsl r0, r0, #0x4
|
|
add r5, r5, r0
|
|
add r0, r4, #0x0
|
|
mov r1, #0x14
|
|
bl GetItemAttr_PreloadedItemData
|
|
lsl r0, r0, #0x5
|
|
add r5, r5, r0
|
|
cmp r5, #0x10
|
|
bgt _02075624
|
|
bge _0207565A
|
|
cmp r5, #0x8
|
|
bhi _0207568E
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02075612: ; jump table (using 16-bit offset)
|
|
.short _0207568E - _02075612 - 2; case 0
|
|
.short _02075632 - _02075612 - 2; case 1
|
|
.short _0207563C - _02075612 - 2; case 2
|
|
.short _0207568E - _02075612 - 2; case 3
|
|
.short _02075646 - _02075612 - 2; case 4
|
|
.short _0207568E - _02075612 - 2; case 5
|
|
.short _0207568E - _02075612 - 2; case 6
|
|
.short _0207568E - _02075612 - 2; case 7
|
|
.short _02075650 - _02075612 - 2; case 8
|
|
_02075624:
|
|
cmp r5, #0x20
|
|
bgt _0207562C
|
|
beq _02075664
|
|
b _0207568E
|
|
_0207562C:
|
|
cmp r5, #0x3f
|
|
beq _0207566E
|
|
b _0207568E
|
|
_02075632:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x3
|
|
pop {r3-r5, pc}
|
|
_0207563C:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x4
|
|
pop {r3-r5, pc}
|
|
_02075646:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x5
|
|
pop {r3-r5, pc}
|
|
_02075650:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x6
|
|
pop {r3-r5, pc}
|
|
_0207565A:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x7
|
|
pop {r3-r5, pc}
|
|
_02075664:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x8
|
|
pop {r3-r5, pc}
|
|
_0207566E:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x26
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _02075684
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0xb
|
|
pop {r3-r5, pc}
|
|
_02075684:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x9
|
|
pop {r3-r5, pc}
|
|
_0207568E:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x15
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _020756A4
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0xa
|
|
pop {r3-r5, pc}
|
|
_020756A4:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x26
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _020756BA
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0xb
|
|
pop {r3-r5, pc}
|
|
_020756BA:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x30
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
ble _020756D0
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0xc
|
|
pop {r3-r5, pc}
|
|
_020756D0:
|
|
bge _020756DC
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x12
|
|
pop {r3-r5, pc}
|
|
_020756DC:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x31
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
ble _020756F2
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0xd
|
|
pop {r3-r5, pc}
|
|
_020756F2:
|
|
bge _020756FE
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x13
|
|
pop {r3-r5, pc}
|
|
_020756FE:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x32
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
ble _02075714
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0xe
|
|
pop {r3-r5, pc}
|
|
_02075714:
|
|
bge _02075720
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
_02075720:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x33
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
ble _02075736
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0xf
|
|
pop {r3-r5, pc}
|
|
_02075736:
|
|
bge _02075742
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x15
|
|
pop {r3-r5, pc}
|
|
_02075742:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x34
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
ble _02075758
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x10
|
|
pop {r3-r5, pc}
|
|
_02075758:
|
|
bge _02075764
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x16
|
|
pop {r3-r5, pc}
|
|
_02075764:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x35
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
ble _0207577A
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x11
|
|
pop {r3-r5, pc}
|
|
_0207577A:
|
|
bge _02075786
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x17
|
|
pop {r3-r5, pc}
|
|
_02075786:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1a
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _0207579C
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x18
|
|
pop {r3-r5, pc}
|
|
_0207579C:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x22
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _020757B2
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x19
|
|
pop {r3-r5, pc}
|
|
_020757B2:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x23
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _020757C8
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x1a
|
|
pop {r3-r5, pc}
|
|
_020757C8:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x24
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
bne _020757E0
|
|
add r0, r4, #0x0
|
|
mov r1, #0x25
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0x0
|
|
beq _020757EA
|
|
_020757E0:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x1b
|
|
pop {r3-r5, pc}
|
|
_020757EA:
|
|
add r0, r4, #0x0
|
|
bl Heap_Free
|
|
mov r0, #0x1c
|
|
pop {r3-r5, pc}
|
|
|
|
thumb_func_start sub_020757F4
|
|
sub_020757F4: ; 0x020757F4
|
|
push {r4-r6, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _02075B8C ; =0x000005A4
|
|
add r6, r1, #0x0
|
|
ldr r1, _02075B90 ; =0x00000B25
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
add r5, r2, #0x0
|
|
bl Party_GetMonByIndex
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
add r0, r6, #0x0
|
|
bl sub_0207550C
|
|
cmp r0, #0x1b
|
|
bls _02075828
|
|
b _02075C40
|
|
_02075828:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02075834: ; jump table (using 16-bit offset)
|
|
.short _02075C40 - _02075834 - 2; case 0
|
|
.short _02075C40 - _02075834 - 2; case 1
|
|
.short _02075C40 - _02075834 - 2; case 2
|
|
.short _02075890 - _02075834 - 2; case 3
|
|
.short _0207586C - _02075834 - 2; case 4
|
|
.short _020758B4 - _02075834 - 2; case 5
|
|
.short _020758D8 - _02075834 - 2; case 6
|
|
.short _020758FC - _02075834 - 2; case 7
|
|
.short _02075920 - _02075834 - 2; case 8
|
|
.short _02075968 - _02075834 - 2; case 9
|
|
.short _02075944 - _02075834 - 2; case 10
|
|
.short _02075C40 - _02075834 - 2; case 11
|
|
.short _0207598C - _02075834 - 2; case 12
|
|
.short _020759BE - _02075834 - 2; case 13
|
|
.short _020759F0 - _02075834 - 2; case 14
|
|
.short _02075A22 - _02075834 - 2; case 15
|
|
.short _02075A54 - _02075834 - 2; case 16
|
|
.short _02075A86 - _02075834 - 2; case 17
|
|
.short _02075AB8 - _02075834 - 2; case 18
|
|
.short _02075AEC - _02075834 - 2; case 19
|
|
.short _02075B20 - _02075834 - 2; case 20
|
|
.short _02075B54 - _02075834 - 2; case 21
|
|
.short _02075B88 - _02075834 - 2; case 22
|
|
.short _02075BCA - _02075834 - 2; case 23
|
|
.short _02075C40 - _02075834 - 2; case 24
|
|
.short _02075BFE - _02075834 - 2; case 25
|
|
.short _02075BFE - _02075834 - 2; case 26
|
|
.short _02075C30 - _02075834 - 2; case 27
|
|
_0207586C:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x41
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075890:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x5b
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_020758B4:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x43
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_020758D8:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x44
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_020758FC:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x42
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075920:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x49
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075944:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x4a
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075968:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x47
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_0207598C:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x4b
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x0
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_020759BE:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x4b
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
add r2, r1, #0x0
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_020759F0:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x4b
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x2
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075A22:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x4b
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x3
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075A54:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x4b
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x4
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075A86:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
mov r1, #0x4b
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x5
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075AB8:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
add r5, #0x6e
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0x0
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x0
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075AEC:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
add r5, #0x6e
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0x0
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
mov r1, #0x1
|
|
ldr r0, [r4, r0]
|
|
add r2, r1, #0x0
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075B20:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
add r5, #0x6e
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0x0
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x2
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075B54:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
add r5, #0x6e
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0x0
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x3
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075B88:
|
|
ldr r0, _02075B94 ; =0x0000069C
|
|
b _02075B98
|
|
.balign 4
|
|
_02075B8C: .word 0x000005A4
|
|
_02075B90: .word 0x00000B25
|
|
_02075B94: .word 0x0000069C
|
|
_02075B98:
|
|
add r5, #0x6e
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0x0
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x4
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075BCA:
|
|
ldr r0, _02075C50 ; =0x0000069C
|
|
add r5, #0x6e
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0x0
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
mov r2, #0x5
|
|
bl BufferStatName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075BFE:
|
|
ldr r0, _02075C50 ; =0x0000069C
|
|
mov r1, #0x48
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
add r2, r5, #0x0
|
|
bl BufferMoveName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r6, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r6, #0x0
|
|
bl String_Delete
|
|
pop {r4-r6, pc}
|
|
_02075C30:
|
|
ldr r2, _02075C50 ; =0x0000069C
|
|
mov r1, #0x45
|
|
ldr r0, [r4, r2]
|
|
add r2, #0x8
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
pop {r4-r6, pc}
|
|
_02075C40:
|
|
ldr r2, _02075C50 ; =0x0000069C
|
|
mov r1, #0x69
|
|
ldr r0, [r4, r2]
|
|
add r2, #0x8
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_02075C50: .word 0x0000069C
|
|
|
|
thumb_func_start sub_02075C54
|
|
sub_02075C54: ; 0x02075C54
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _02075CCC ; =0x000005A4
|
|
ldr r0, [r4, r0]
|
|
ldrh r0, [r0, #0x24]
|
|
bl sub_0207550C
|
|
cmp r0, #0x1c
|
|
bhi _02075CCA
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02075C72: ; jump table (using 16-bit offset)
|
|
.short _02075CCA - _02075C72 - 2; case 0
|
|
.short _02075CCA - _02075C72 - 2; case 1
|
|
.short _02075CAC - _02075C72 - 2; case 2
|
|
.short _02075CB4 - _02075C72 - 2; case 3
|
|
.short _02075CB4 - _02075C72 - 2; case 4
|
|
.short _02075CB4 - _02075C72 - 2; case 5
|
|
.short _02075CB4 - _02075C72 - 2; case 6
|
|
.short _02075CB4 - _02075C72 - 2; case 7
|
|
.short _02075CB4 - _02075C72 - 2; case 8
|
|
.short _02075CB4 - _02075C72 - 2; case 9
|
|
.short _02075CB4 - _02075C72 - 2; case 10
|
|
.short _02075CC4 - _02075C72 - 2; case 11
|
|
.short _02075CB4 - _02075C72 - 2; case 12
|
|
.short _02075CB4 - _02075C72 - 2; case 13
|
|
.short _02075CB4 - _02075C72 - 2; case 14
|
|
.short _02075CB4 - _02075C72 - 2; case 15
|
|
.short _02075CB4 - _02075C72 - 2; case 16
|
|
.short _02075CB4 - _02075C72 - 2; case 17
|
|
.short _02075CBC - _02075C72 - 2; case 18
|
|
.short _02075CBC - _02075C72 - 2; case 19
|
|
.short _02075CBC - _02075C72 - 2; case 20
|
|
.short _02075CBC - _02075C72 - 2; case 21
|
|
.short _02075CBC - _02075C72 - 2; case 22
|
|
.short _02075CBC - _02075C72 - 2; case 23
|
|
.short _02075CCA - _02075C72 - 2; case 24
|
|
.short _02075CB4 - _02075C72 - 2; case 25
|
|
.short _02075CB4 - _02075C72 - 2; case 26
|
|
.short _02075CB4 - _02075C72 - 2; case 27
|
|
.short _02075CCA - _02075C72 - 2; case 28
|
|
_02075CAC:
|
|
ldr r1, _02075CD0 ; =sub_0207640C
|
|
ldr r0, _02075CD4 ; =0x00000B14
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_02075CB4:
|
|
ldr r1, _02075CD8 ; =sub_02075D20
|
|
ldr r0, _02075CD4 ; =0x00000B14
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_02075CBC:
|
|
ldr r1, _02075CDC ; =sub_02075DC0
|
|
ldr r0, _02075CD4 ; =0x00000B14
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_02075CC4:
|
|
ldr r1, _02075CE0 ; =sub_02075F60
|
|
ldr r0, _02075CD4 ; =0x00000B14
|
|
str r1, [r4, r0]
|
|
_02075CCA:
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_02075CCC: .word 0x000005A4
|
|
_02075CD0: .word sub_0207640C
|
|
_02075CD4: .word 0x00000B14
|
|
_02075CD8: .word sub_02075D20
|
|
_02075CDC: .word sub_02075DC0
|
|
_02075CE0: .word sub_02075F60
|
|
|
|
thumb_func_start sub_02075CE4
|
|
sub_02075CE4: ; 0x02075CE4
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _02075D14 ; =0x00000B24
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0201BD70
|
|
cmp r0, #0x0
|
|
beq _02075CF8
|
|
mov r0, #0x5
|
|
pop {r4, pc}
|
|
_02075CF8:
|
|
ldr r0, _02075D18 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _02075D10
|
|
ldr r0, _02075D1C ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
mov r0, #0x1b
|
|
pop {r4, pc}
|
|
_02075D10:
|
|
mov r0, #0x5
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_02075D14: .word 0x00000B24
|
|
_02075D18: .word gSystem
|
|
_02075D1C: .word 0x000005A4
|
|
|
|
thumb_func_start sub_02075D20
|
|
sub_02075D20: ; 0x02075D20
|
|
push {r3-r5, lr}
|
|
sub sp, #0x8
|
|
ldr r1, _02075DA8 ; =0x000005A4
|
|
add r5, r0, #0x0
|
|
ldr r4, [r5, r1]
|
|
bl sub_020772CC
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x4]
|
|
ldr r2, _02075DAC ; =0x00000B25
|
|
ldrh r1, [r4, #0x24]
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, [r4, #0x0]
|
|
mov r3, #0x0
|
|
bl UseItemOnMonInParty
|
|
ldr r1, _02075DAC ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_0207008C
|
|
ldr r1, _02075DAC ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_02072D1C
|
|
ldr r1, _02075DAC ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_02072DDC
|
|
ldr r0, _02075DAC ; =0x00000B25
|
|
mov r2, #0x2c
|
|
ldrb r1, [r5, r0]
|
|
add r0, r5, #0x0
|
|
mul r2, r1
|
|
add r3, r5, r2
|
|
ldr r2, _02075DB0 ; =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 r1, _02075DA8 ; =0x000005A4
|
|
add r0, r5, #0x0
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0x0
|
|
ldrh r1, [r1, #0x24]
|
|
bl sub_020757F4
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02075DB4 ; =0x000005EC
|
|
bl PlaySE
|
|
ldr r1, _02075DB8 ; =sub_02075CE4
|
|
ldr r0, _02075DBC ; =0x00000B14
|
|
str r1, [r5, r0]
|
|
mov r0, #0x5
|
|
add sp, #0x8
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02075DA8: .word 0x000005A4
|
|
_02075DAC: .word 0x00000B25
|
|
_02075DB0: .word 0x0000070E
|
|
_02075DB4: .word 0x000005EC
|
|
_02075DB8: .word sub_02075CE4
|
|
_02075DBC: .word 0x00000B14
|
|
|
|
thumb_func_start sub_02075DC0
|
|
sub_02075DC0: ; 0x02075DC0
|
|
push {r3-r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0x0
|
|
ldr r0, _02075F4C ; =0x000005A4
|
|
ldr r1, _02075F50 ; =0x00000B25
|
|
ldr r0, [r5, r0]
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
mov r1, #0xd
|
|
mov r2, #0x0
|
|
add r4, r0, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x1c]
|
|
add r0, r4, #0x0
|
|
mov r1, #0xe
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
add r0, r4, #0x0
|
|
mov r1, #0xf
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x14]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x10
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x11
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0xc]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x12
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x8]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x9
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
ldr r0, _02075F4C ; =0x000005A4
|
|
ldr r6, [r5, r0]
|
|
add r0, r5, #0x0
|
|
bl sub_020772CC
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x4]
|
|
ldr r2, _02075F50 ; =0x00000B25
|
|
ldrh r1, [r6, #0x24]
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, [r6, #0x0]
|
|
mov r3, #0x0
|
|
bl UseItemOnMonInParty
|
|
ldr r1, _02075F50 ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_0207008C
|
|
ldr r1, _02075F50 ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_02072D1C
|
|
ldr r1, _02075F50 ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_02072DDC
|
|
ldr r0, _02075F50 ; =0x00000B25
|
|
mov r2, #0x2c
|
|
ldrb r1, [r5, r0]
|
|
add r0, r5, #0x0
|
|
mul r2, r1
|
|
add r3, r5, r2
|
|
ldr r2, _02075F54 ; =0x0000070E
|
|
ldrh r2, [r3, r2]
|
|
lsl r2, r2, #0x14
|
|
lsr r2, r2, #0x14
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl sub_02073A4C
|
|
add r0, r4, #0x0
|
|
mov r1, #0xd
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0x1c]
|
|
cmp r1, r0
|
|
bne _02075EFA
|
|
add r0, r4, #0x0
|
|
mov r1, #0xe
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0x18]
|
|
cmp r1, r0
|
|
bne _02075EFA
|
|
add r0, r4, #0x0
|
|
mov r1, #0xf
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0x14]
|
|
cmp r1, r0
|
|
bne _02075EFA
|
|
add r0, r4, #0x0
|
|
mov r1, #0x10
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0x10]
|
|
cmp r1, r0
|
|
bne _02075EFA
|
|
add r0, r4, #0x0
|
|
mov r1, #0x11
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0xc]
|
|
cmp r1, r0
|
|
bne _02075EFA
|
|
add r0, r4, #0x0
|
|
mov r1, #0x12
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0x8]
|
|
cmp r1, r0
|
|
beq _02075F26
|
|
_02075EFA:
|
|
add r0, r4, #0x0
|
|
mov r1, #0x9
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
cmp r7, r0
|
|
ldr r1, _02075F4C ; =0x000005A4
|
|
beq _02075F18
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
ldrh r1, [r1, #0x24]
|
|
mov r2, #0x0
|
|
bl sub_020757F4
|
|
b _02075F34
|
|
_02075F18:
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
ldrh r1, [r1, #0x24]
|
|
mov r2, #0x1
|
|
bl sub_020757F4
|
|
b _02075F34
|
|
_02075F26:
|
|
ldr r1, _02075F4C ; =0x000005A4
|
|
add r0, r5, #0x0
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0x2
|
|
ldrh r1, [r1, #0x24]
|
|
bl sub_020757F4
|
|
_02075F34:
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r1, _02075F58 ; =sub_02075CE4
|
|
ldr r0, _02075F5C ; =0x00000B14
|
|
str r1, [r5, r0]
|
|
mov r0, #0x5
|
|
add sp, #0x20
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_02075F4C: .word 0x000005A4
|
|
_02075F50: .word 0x00000B25
|
|
_02075F54: .word 0x0000070E
|
|
_02075F58: .word sub_02075CE4
|
|
_02075F5C: .word 0x00000B14
|
|
|
|
thumb_func_start sub_02075F60
|
|
sub_02075F60: ; 0x02075F60
|
|
push {r4-r7, lr}
|
|
sub sp, #0xc
|
|
ldr r1, _02076080 ; =0x000005A4
|
|
add r5, r0, #0x0
|
|
ldr r4, [r5, r1]
|
|
bl sub_020772CC
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x4]
|
|
ldr r2, _02076084 ; =0x00000B25
|
|
ldrh r1, [r4, #0x24]
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, [r4, #0x0]
|
|
mov r3, #0x0
|
|
bl UseItemOnMonInParty
|
|
ldr r0, _02076080 ; =0x000005A4
|
|
ldr r1, _02076084 ; =0x00000B25
|
|
ldr r0, [r5, r0]
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
mov r1, #0xa2
|
|
mov r2, #0x0
|
|
str r0, [sp, #0x8]
|
|
bl GetMonData
|
|
add r4, r0, #0x0
|
|
ldr r0, _02076084 ; =0x00000B25
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #0x2c
|
|
mul r0, r1
|
|
add r1, r5, r0
|
|
ldr r0, _02076088 ; =0x00000706
|
|
ldrh r1, [r1, r0]
|
|
cmp r1, #0x0
|
|
bne _02075FBC
|
|
sub r0, #0x6a
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x46
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0x0
|
|
b _02075FDA
|
|
_02075FBC:
|
|
cmp r4, r1
|
|
bne _02075FCE
|
|
sub r0, #0x6a
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x47
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0x0
|
|
b _02075FDA
|
|
_02075FCE:
|
|
sub r0, #0x6a
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x40
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0x0
|
|
_02075FDA:
|
|
ldr r0, [sp, #0x8]
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
mov r0, #0x0
|
|
mov r3, #0x6a
|
|
str r0, [sp, #0x0]
|
|
mov r1, #0x1
|
|
ldr r2, _02076084 ; =0x00000B25
|
|
str r1, [sp, #0x4]
|
|
ldrb r6, [r5, r2]
|
|
mov r2, #0x2c
|
|
lsl r3, r3, #0x4
|
|
mul r2, r6
|
|
ldr r0, [r5, r3]
|
|
add r2, r5, r2
|
|
add r3, #0x66
|
|
ldrh r2, [r2, r3]
|
|
mov r3, #0x3
|
|
sub r2, r4, r2
|
|
bl BufferIntegerAsString
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r7, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r7, #0x0
|
|
bl String_Delete
|
|
ldr r0, [sp, #0x8]
|
|
bl sub_0207C2D4
|
|
add r4, r0, #0x0
|
|
ldr r1, _02076084 ; =0x00000B25
|
|
lsl r2, r4, #0x18
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
lsr r2, r2, #0x18
|
|
bl sub_02073A4C
|
|
cmp r4, #0x7
|
|
bne _02076062
|
|
ldr r1, _02076084 ; =0x00000B25
|
|
ldr r0, _0207608C ; =0x0000070E
|
|
ldrb r3, [r5, r1]
|
|
add r2, r5, r0
|
|
mov r0, #0x2c
|
|
mul r0, r3
|
|
ldrh r4, [r2, r0]
|
|
ldr r3, _02076090 ; =0xFFFFF000
|
|
and r4, r3
|
|
mov r3, #0x7
|
|
orr r3, r4
|
|
strh r3, [r2, r0]
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
bl sub_02072B20
|
|
_02076062:
|
|
ldr r1, _02076084 ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_020709FC
|
|
ldr r1, _02076094 ; =sub_020760A0
|
|
ldr r0, _02076098 ; =0x00000B14
|
|
str r1, [r5, r0]
|
|
ldr r0, _0207609C ; =0x000005EC
|
|
bl PlaySE
|
|
mov r0, #0x5
|
|
add sp, #0xc
|
|
pop {r4-r7, pc}
|
|
nop
|
|
_02076080: .word 0x000005A4
|
|
_02076084: .word 0x00000B25
|
|
_02076088: .word 0x00000706
|
|
_0207608C: .word 0x0000070E
|
|
_02076090: .word 0xFFFFF000
|
|
_02076094: .word sub_020760A0
|
|
_02076098: .word 0x00000B14
|
|
_0207609C: .word 0x000005EC
|
|
|
|
thumb_func_start sub_020760A0
|
|
sub_020760A0: ; 0x020760A0
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076130 ; =0x000005A4
|
|
ldr r1, _02076134 ; =0x00000B25
|
|
ldr r0, [r5, r0]
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
mov r1, #0xa2
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _02076134 ; =0x00000B25
|
|
add r4, r0, #0x0
|
|
ldrb r2, [r5, r1]
|
|
ldr r0, _02076138 ; =0x00000706
|
|
mov r1, #0x2c
|
|
add r3, r2, #0x0
|
|
add r0, r5, r0
|
|
mul r3, r1
|
|
ldrh r1, [r0, r3]
|
|
cmp r4, r1
|
|
beq _020760D4
|
|
add r1, r1, #0x1
|
|
strh r1, [r0, r3]
|
|
_020760D4:
|
|
ldr r1, _02076134 ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_02072BBC
|
|
ldr r1, _02076134 ; =0x00000B25
|
|
add r0, r5, #0x4
|
|
ldrb r2, [r5, r1]
|
|
lsl r1, r2, #0x2
|
|
add r1, r2, r1
|
|
add r1, r1, #0x3
|
|
lsl r1, r1, #0x4
|
|
add r0, r0, r1
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _02076134 ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_02072B7C
|
|
ldr r1, _02076134 ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_02072C28
|
|
ldr r0, _02076134 ; =0x00000B25
|
|
mov r1, #0x2c
|
|
ldrb r0, [r5, r0]
|
|
add r2, r0, #0x0
|
|
mul r2, r1
|
|
ldr r0, _02076138 ; =0x00000706
|
|
add r2, r5, r2
|
|
ldrh r0, [r2, r0]
|
|
cmp r4, r0
|
|
bne _0207612C
|
|
add r0, r5, #0x0
|
|
sub r1, #0x2d
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r1, _0207613C ; =sub_02075CE4
|
|
ldr r0, _02076140 ; =0x00000B14
|
|
str r1, [r5, r0]
|
|
_0207612C:
|
|
mov r0, #0x5
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02076130: .word 0x000005A4
|
|
_02076134: .word 0x00000B25
|
|
_02076138: .word 0x00000706
|
|
_0207613C: .word sub_02075CE4
|
|
_02076140: .word 0x00000B14
|
|
|
|
thumb_func_start sub_02076144
|
|
sub_02076144: ; 0x02076144
|
|
push {r3, lr}
|
|
mov r1, #0x18
|
|
mov r2, #0xc
|
|
bl GetItemAttr
|
|
cmp r0, #0x0
|
|
beq _02076156
|
|
mov r0, #0x1
|
|
pop {r3, pc}
|
|
_02076156:
|
|
mov r0, #0x0
|
|
pop {r3, pc}
|
|
.balign 4
|
|
|
|
thumb_func_start sub_0207615C
|
|
sub_0207615C: ; 0x0207615C
|
|
push {r3-r6}
|
|
cmp r1, #0x6
|
|
blo _02076168
|
|
mov r0, #0xff
|
|
pop {r3-r6}
|
|
bx lr
|
|
_02076168:
|
|
bhs _02076194
|
|
ldr r2, _0207619C ; =0x00000706
|
|
mov r3, #0x2c
|
|
add r4, r2, #0x0
|
|
add r4, #0x23
|
|
_02076172:
|
|
add r5, r1, #0x0
|
|
mul r5, r3
|
|
add r6, r0, r5
|
|
ldrb r5, [r6, r4]
|
|
cmp r5, #0x0
|
|
beq _0207618A
|
|
ldrh r5, [r6, r2]
|
|
cmp r5, #0x0
|
|
bne _0207618A
|
|
add r0, r1, #0x0
|
|
pop {r3-r6}
|
|
bx lr
|
|
_0207618A:
|
|
add r1, r1, #0x1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, #0x6
|
|
blo _02076172
|
|
_02076194:
|
|
mov r0, #0xff
|
|
pop {r3-r6}
|
|
bx lr
|
|
nop
|
|
_0207619C: .word 0x00000706
|
|
|
|
thumb_func_start sub_020761A0
|
|
sub_020761A0: ; 0x020761A0
|
|
push {r3-r7, lr}
|
|
ldr r1, _020763DC ; =0x00000B22
|
|
add r4, r0, #0x0
|
|
ldrb r2, [r4, r1]
|
|
cmp r2, #0x3
|
|
bls _020761AE
|
|
b _020763D6
|
|
_020761AE:
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #0x6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_020761BA: ; jump table (using 16-bit offset)
|
|
.short _020761C2 - _020761BA - 2; case 0
|
|
.short _02076212 - _020761BA - 2; case 1
|
|
.short _020762DC - _020761BA - 2; case 2
|
|
.short _02076360 - _020761BA - 2; case 3
|
|
_020761C2:
|
|
mov r1, #0x0
|
|
bl sub_0207615C
|
|
ldr r1, _020763E0 ; =0x00000B25
|
|
strb r0, [r4, r1]
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #0xff
|
|
bne _02076206
|
|
ldr r2, _020763E4 ; =0x0000069C
|
|
mov r1, #0x69
|
|
ldr r0, [r4, r2]
|
|
add r2, #0x8
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r1, _020763E8 ; =sub_02075CE4
|
|
ldr r0, _020763EC ; =0x00000B14
|
|
mov r2, #0x1
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_02073CB4
|
|
ldr r0, _020763E0 ; =0x00000B25
|
|
mov r1, #0x7
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x5
|
|
pop {r3-r7, pc}
|
|
_02076206:
|
|
cmp r0, #0x0
|
|
beq _02076212
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_020709FC
|
|
_02076212:
|
|
ldr r0, _020763F0 ; =0x000005A4
|
|
ldr r1, _020763E0 ; =0x00000B25
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
add r5, r0, #0x0
|
|
add r0, r4, #0x0
|
|
bl sub_020772CC
|
|
add r3, r0, #0x0
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x0]
|
|
ldr r1, _020763F0 ; =0x000005A4
|
|
add r0, r5, #0x0
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x0
|
|
ldrh r1, [r1, #0x24]
|
|
bl UseItemOnPokemon
|
|
add r0, r5, #0x0
|
|
mov r1, #0xa2
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r0, _020763E4 ; =0x0000069C
|
|
mov r1, #0x46
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0x0
|
|
add r0, r5, #0x0
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r6, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r6, #0x0
|
|
bl String_Delete
|
|
ldr r7, _020763E0 ; =0x00000B25
|
|
ldr r3, _020763F4 ; =0x0000070E
|
|
ldrb r5, [r4, r7]
|
|
mov r2, #0x2c
|
|
add r1, r4, r3
|
|
add r0, r5, #0x0
|
|
mul r0, r2
|
|
ldrh r6, [r1, r0]
|
|
ldr r5, _020763F8 ; =0xFFFFF000
|
|
and r6, r5
|
|
mov r5, #0x7
|
|
orr r5, r6
|
|
strh r5, [r1, r0]
|
|
ldrb r1, [r4, r7]
|
|
add r0, r4, #0x0
|
|
mul r2, r1
|
|
add r2, r4, r2
|
|
ldrh r2, [r2, r3]
|
|
lsl r2, r2, #0x14
|
|
lsr r2, r2, #0x14
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl sub_02073A4C
|
|
add r1, r7, #0x0
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0x0
|
|
bl sub_02072B20
|
|
add r1, r7, #0x0
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0x0
|
|
bl sub_020709FC
|
|
add r1, r7, #0x0
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0x0
|
|
mov r2, #0x1
|
|
bl sub_02073CB4
|
|
ldr r0, _020763FC ; =0x000005EC
|
|
bl PlaySE
|
|
sub r0, r7, #0x3
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #0x1
|
|
strb r1, [r4, r0]
|
|
b _020763D6
|
|
_020762DC:
|
|
ldr r0, _020763F0 ; =0x000005A4
|
|
add r1, r1, #0x3
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
mov r1, #0xa2
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r2, _020763E0 ; =0x00000B25
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076400 ; =0x00000706
|
|
ldrb r3, [r4, r2]
|
|
add r1, r4, r0
|
|
mov r0, #0x2c
|
|
mul r0, r3
|
|
ldrh r3, [r1, r0]
|
|
add r3, r3, #0x1
|
|
strh r3, [r1, r0]
|
|
ldrb r1, [r4, r2]
|
|
add r0, r4, #0x0
|
|
bl sub_02072BBC
|
|
ldr r1, _020763E0 ; =0x00000B25
|
|
add r0, r4, #0x4
|
|
ldrb r2, [r4, r1]
|
|
lsl r1, r2, #0x2
|
|
add r1, r2, r1
|
|
add r1, r1, #0x3
|
|
lsl r1, r1, #0x4
|
|
add r0, r0, r1
|
|
mov r1, #0x0
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _020763E0 ; =0x00000B25
|
|
add r0, r4, #0x0
|
|
ldrb r1, [r4, r1]
|
|
bl sub_02072B7C
|
|
ldr r1, _020763E0 ; =0x00000B25
|
|
add r0, r4, #0x0
|
|
ldrb r1, [r4, r1]
|
|
bl sub_02072C28
|
|
ldr r0, _020763E0 ; =0x00000B25
|
|
mov r1, #0x2c
|
|
ldrb r0, [r4, r0]
|
|
add r2, r0, #0x0
|
|
mul r2, r1
|
|
ldr r0, _02076400 ; =0x00000706
|
|
add r2, r4, r2
|
|
ldrh r0, [r2, r0]
|
|
cmp r5, r0
|
|
bne _020763D6
|
|
add r0, r4, #0x0
|
|
sub r1, #0x2d
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _020763DC ; =0x00000B22
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #0x1
|
|
strb r1, [r4, r0]
|
|
b _020763D6
|
|
_02076360:
|
|
add r0, r1, #0x2
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0201BD70
|
|
cmp r0, #0x0
|
|
bne _020763D6
|
|
ldr r0, _02076404 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _020763D6
|
|
ldr r0, _02076408 ; =0x000005DC
|
|
bl PlaySE
|
|
ldr r0, _020763E0 ; =0x00000B25
|
|
ldrb r5, [r4, r0]
|
|
add r0, r4, #0x0
|
|
add r1, r5, #0x1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl sub_0207615C
|
|
ldr r1, _020763E0 ; =0x00000B25
|
|
strb r0, [r4, r1]
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #0xff
|
|
beq _020763B2
|
|
mov r0, #0x89
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x0
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0x0
|
|
add r1, r5, #0x0
|
|
bl sub_020709FC
|
|
ldr r0, _020763DC ; =0x00000B22
|
|
mov r1, #0x1
|
|
strb r1, [r4, r0]
|
|
b _020763D6
|
|
_020763B2:
|
|
ldr r0, _020763F0 ; =0x000005A4
|
|
mov r2, #0x1
|
|
ldr r1, [r4, r0]
|
|
mov r3, #0xc
|
|
ldr r0, [r1, #0x4]
|
|
ldrh r1, [r1, #0x24]
|
|
bl Bag_TakeItem
|
|
ldr r0, _020763F0 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _020763E0 ; =0x00000B25
|
|
mov r1, #0x7
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x1b
|
|
pop {r3-r7, pc}
|
|
_020763D6:
|
|
mov r0, #0x7
|
|
pop {r3-r7, pc}
|
|
nop
|
|
_020763DC: .word 0x00000B22
|
|
_020763E0: .word 0x00000B25
|
|
_020763E4: .word 0x0000069C
|
|
_020763E8: .word sub_02075CE4
|
|
_020763EC: .word 0x00000B14
|
|
_020763F0: .word 0x000005A4
|
|
_020763F4: .word 0x0000070E
|
|
_020763F8: .word 0xFFFFF000
|
|
_020763FC: .word 0x000005EC
|
|
_02076400: .word 0x00000706
|
|
_02076404: .word gSystem
|
|
_02076408: .word 0x000005DC
|
|
|
|
thumb_func_start sub_0207640C
|
|
sub_0207640C: ; 0x0207640C
|
|
push {r3-r7, lr}
|
|
sub sp, #0x8
|
|
add r5, r0, #0x0
|
|
ldr r0, _020765B0 ; =0x000005A4
|
|
ldr r1, _020765B4 ; =0x00000B25
|
|
ldr r0, [r5, r0]
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
mov r1, #0xa3
|
|
mov r2, #0x0
|
|
add r4, r0, #0x0
|
|
bl GetMonData
|
|
ldr r1, _020765B8 ; =0x00000B28
|
|
mov r2, #0x0
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa4
|
|
bl GetMonData
|
|
ldr r1, _020765BC ; =0x00000B2A
|
|
mov r2, #0x0
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa5
|
|
bl GetMonData
|
|
ldr r1, _020765C0 ; =0x00000B2C
|
|
mov r2, #0x0
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa7
|
|
bl GetMonData
|
|
ldr r1, _020765C4 ; =0x00000B2E
|
|
mov r2, #0x0
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa8
|
|
bl GetMonData
|
|
mov r1, #0xb3
|
|
lsl r1, r1, #0x4
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa6
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _020765C8 ; =0x00000B32
|
|
strh r0, [r5, r1]
|
|
ldr r0, _020765B0 ; =0x000005A4
|
|
ldr r6, [r5, r0]
|
|
add r0, r5, #0x0
|
|
bl sub_020772CC
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x4]
|
|
ldr r2, _020765B4 ; =0x00000B25
|
|
ldrh r1, [r6, #0x24]
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, [r6, #0x0]
|
|
mov r3, #0x0
|
|
bl UseItemOnMonInParty
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa0
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _020765B4 ; =0x00000B25
|
|
ldrb r2, [r5, r1]
|
|
mov r1, #0x2c
|
|
mul r1, r2
|
|
add r2, r5, r1
|
|
ldr r1, _020765CC ; =0x0000070A
|
|
strh r0, [r2, r1]
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa2
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _020765B4 ; =0x00000B25
|
|
ldrb r2, [r5, r1]
|
|
mov r1, #0x2c
|
|
mul r1, r2
|
|
add r2, r5, r1
|
|
ldr r1, _020765D0 ; =0x00000706
|
|
strh r0, [r2, r1]
|
|
add r0, r4, #0x0
|
|
mov r1, #0xa3
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _020765B4 ; =0x00000B25
|
|
ldrb r2, [r5, r1]
|
|
mov r1, #0x2c
|
|
mul r1, r2
|
|
add r2, r5, r1
|
|
ldr r1, _020765D4 ; =0x00000708
|
|
strh r0, [r2, r1]
|
|
sub r1, #0x6c
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0xc1
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0x0
|
|
add r0, r4, #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 r0, #0x0
|
|
mov r3, #0x6a
|
|
str r0, [sp, #0x0]
|
|
mov r1, #0x1
|
|
ldr r2, _020765B4 ; =0x00000B25
|
|
str r1, [sp, #0x4]
|
|
ldrb r6, [r5, r2]
|
|
mov r2, #0x2c
|
|
lsl r3, r3, #0x4
|
|
mul r2, r6
|
|
ldr r0, [r5, r3]
|
|
add r2, r5, r2
|
|
add r3, #0x6a
|
|
ldrh r2, [r2, r3]
|
|
mov r3, #0x3
|
|
bl BufferIntegerAsString
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r7, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r7, #0x0
|
|
bl String_Delete
|
|
add r0, r4, #0x0
|
|
bl sub_0207C2D4
|
|
add r4, r0, #0x0
|
|
ldr r1, _020765B4 ; =0x00000B25
|
|
lsl r2, r4, #0x18
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
lsr r2, r2, #0x18
|
|
bl sub_02073A4C
|
|
cmp r4, #0x7
|
|
bne _0207656E
|
|
ldr r1, _020765B4 ; =0x00000B25
|
|
ldr r0, _020765D8 ; =0x0000070E
|
|
ldrb r3, [r5, r1]
|
|
add r2, r5, r0
|
|
mov r0, #0x2c
|
|
mul r0, r3
|
|
ldrh r4, [r2, r0]
|
|
ldr r3, _020765DC ; =0xFFFFF000
|
|
and r4, r3
|
|
mov r3, #0x7
|
|
orr r3, r4
|
|
strh r3, [r2, r0]
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
bl sub_02072B20
|
|
_0207656E:
|
|
ldr r1, _020765B4 ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_020709FC
|
|
ldr r0, _020765E0 ; =sub_020760A0
|
|
ldr r1, _020765E4 ; =0x00000B14
|
|
str r0, [r5, r1]
|
|
add r1, #0x11
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
bl sub_02072D1C
|
|
ldr r1, _020765B4 ; =0x00000B25
|
|
add r0, r5, #0x0
|
|
ldrb r1, [r5, r1]
|
|
bl sub_02072DDC
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r1, _020765E8 ; =sub_020765EC
|
|
ldr r0, _020765E4 ; =0x00000B14
|
|
str r1, [r5, r0]
|
|
mov r1, #0x0
|
|
add r0, #0x13
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x5
|
|
add sp, #0x8
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_020765B0: .word 0x000005A4
|
|
_020765B4: .word 0x00000B25
|
|
_020765B8: .word 0x00000B28
|
|
_020765BC: .word 0x00000B2A
|
|
_020765C0: .word 0x00000B2C
|
|
_020765C4: .word 0x00000B2E
|
|
_020765C8: .word 0x00000B32
|
|
_020765CC: .word 0x0000070A
|
|
_020765D0: .word 0x00000706
|
|
_020765D4: .word 0x00000708
|
|
_020765D8: .word 0x0000070E
|
|
_020765DC: .word 0xFFFFF000
|
|
_020765E0: .word sub_020760A0
|
|
_020765E4: .word 0x00000B14
|
|
_020765E8: .word sub_020765EC
|
|
|
|
thumb_func_start sub_020765EC
|
|
sub_020765EC: ; 0x020765EC
|
|
push {r3-r5, lr}
|
|
ldr r1, _0207686C ; =0x00000B27
|
|
add r4, r0, #0x0
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #0x6
|
|
bhi _020766A8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02076604: ; jump table (using 16-bit offset)
|
|
.short _02076612 - _02076604 - 2; case 0
|
|
.short _0207663C - _02076604 - 2; case 1
|
|
.short _0207665A - _02076604 - 2; case 2
|
|
.short _02076680 - _02076604 - 2; case 3
|
|
.short _02076780 - _02076604 - 2; case 4
|
|
.short _020767A4 - _02076604 - 2; case 5
|
|
.short _02076814 - _02076604 - 2; case 6
|
|
_02076612:
|
|
sub r0, r1, #0x3
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0201BD70
|
|
cmp r0, #0x0
|
|
bne _020766A8
|
|
ldr r0, _02076870 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _020766A8
|
|
ldr r0, _02076874 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_020734C0
|
|
ldr r0, _0207686C ; =0x00000B27
|
|
mov r1, #0x1
|
|
strb r1, [r4, r0]
|
|
b _02076868
|
|
_0207663C:
|
|
ldr r0, _02076870 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _020766A8
|
|
ldr r0, _02076874 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_0207363C
|
|
ldr r0, _0207686C ; =0x00000B27
|
|
mov r1, #0x2
|
|
strb r1, [r4, r0]
|
|
b _02076868
|
|
_0207665A:
|
|
ldr r0, _02076870 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _020766A8
|
|
ldr r0, _02076874 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r4, #0x0
|
|
bl sub_020736F4
|
|
ldr r0, _0207686C ; =0x00000B27
|
|
mov r1, #0x3
|
|
strb r1, [r4, r0]
|
|
ldr r0, _02076878 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
str r1, [r0, #0x34]
|
|
b _02076868
|
|
_02076680:
|
|
ldr r0, _02076878 ; =0x000005A4
|
|
sub r1, r1, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
ldr r1, _02076878 ; =0x000005A4
|
|
add r5, r0, #0x0
|
|
ldr r2, [r4, r1]
|
|
add r1, r2, #0x0
|
|
add r1, #0x34
|
|
add r2, #0x26
|
|
bl sub_02069818
|
|
cmp r0, #0x0
|
|
beq _020766B2
|
|
ldr r1, _0207687C ; =0x0000FFFE
|
|
cmp r0, r1
|
|
bne _020766AA
|
|
_020766A8:
|
|
b _02076868
|
|
_020766AA:
|
|
add r1, r1, #0x1
|
|
cmp r0, r1
|
|
beq _020766BA
|
|
b _02076724
|
|
_020766B2:
|
|
ldr r0, _0207686C ; =0x00000B27
|
|
mov r1, #0x6
|
|
strb r1, [r4, r0]
|
|
b _02076868
|
|
_020766BA:
|
|
add r0, r5, #0x0
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
mov r2, #0x6a
|
|
lsl r2, r2, #0x4
|
|
ldr r0, [r4, r2]
|
|
sub r2, #0xfc
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x1
|
|
ldrh r2, [r2, #0x26]
|
|
bl BufferMoveName
|
|
ldr r0, _02076880 ; =0x0000069C
|
|
mov r1, #0x34
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _02076884 ; =sub_02076950
|
|
ldr r1, _02076888 ; =0x00000B18
|
|
ldr r2, _0207688C ; =sub_020769A4
|
|
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 {r3-r5, pc}
|
|
_02076724:
|
|
add r0, r5, #0x0
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
mov r2, #0x6a
|
|
lsl r2, r2, #0x4
|
|
ldr r0, [r4, r2]
|
|
sub r2, #0xfc
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x1
|
|
ldrh r2, [r2, #0x26]
|
|
bl BufferMoveName
|
|
ldr r0, _02076880 ; =0x0000069C
|
|
mov r1, #0xc2
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _0207686C ; =0x00000B27
|
|
mov r1, #0x4
|
|
strb r1, [r4, r0]
|
|
b _02076868
|
|
_02076780:
|
|
sub r0, r1, #0x3
|
|
ldrb r0, [r4, r0]
|
|
bl sub_0201BD70
|
|
cmp r0, #0x0
|
|
bne _02076868
|
|
ldr r0, _02076870 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _02076868
|
|
ldr r0, _02076874 ; =0x000005DC
|
|
bl PlaySE
|
|
ldr r0, _0207686C ; =0x00000B27
|
|
mov r1, #0x3
|
|
strb r1, [r4, r0]
|
|
b _02076868
|
|
_020767A4:
|
|
ldr r0, _02076870 ; =gSystem
|
|
ldr r2, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r2
|
|
beq _02076868
|
|
ldr r0, _02076878 ; =0x000005A4
|
|
sub r1, r1, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
ldr r2, _02076878 ; =0x000005A4
|
|
add r1, r0, #0x0
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, #0x0
|
|
add r2, #0x28
|
|
ldrb r2, [r2, #0x0]
|
|
bl sub_02076F2C
|
|
ldr r0, _02076880 ; =0x0000069C
|
|
mov r1, #0x3d
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r2, #0x6a
|
|
lsl r2, r2, #0x4
|
|
add r5, r0, #0x0
|
|
ldr r0, [r4, r2]
|
|
sub r2, #0xfc
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x1
|
|
ldrh r2, [r2, #0x26]
|
|
bl BufferMoveName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _0207686C ; =0x00000B27
|
|
mov r1, #0x4
|
|
strb r1, [r4, r0]
|
|
b _02076868
|
|
_02076814:
|
|
ldr r0, _02076878 ; =0x000005A4
|
|
sub r1, r1, #0x2
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076878 ; =0x000005A4
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x1c]
|
|
ldr r0, [r0, #0x1c]
|
|
ldr r0, [r0, #0x0]
|
|
bl MapHeader_GetMapEvolutionMethod
|
|
add r3, r0, #0x0
|
|
ldr r0, _02076878 ; =0x000005A4
|
|
lsl r3, r3, #0x10
|
|
ldr r1, [r4, r0]
|
|
mov r2, #0x0
|
|
add r0, r1, #0x0
|
|
add r0, #0x3c
|
|
str r0, [sp, #0x0]
|
|
ldr r0, [r1, #0x0]
|
|
add r1, r5, #0x0
|
|
lsr r3, r3, #0x10
|
|
bl GetMonEvolution
|
|
ldr r1, _02076878 ; =0x000005A4
|
|
ldr r2, [r4, r1]
|
|
strh r0, [r2, #0x38]
|
|
ldr r1, [r4, r1]
|
|
ldrh r0, [r1, #0x38]
|
|
cmp r0, #0x0
|
|
beq _0207685E
|
|
mov r0, #0x9
|
|
b _02076860
|
|
_0207685E:
|
|
mov r0, #0x0
|
|
_02076860:
|
|
add r1, #0x23
|
|
strb r0, [r1, #0x0]
|
|
mov r0, #0x1b
|
|
pop {r3-r5, pc}
|
|
_02076868:
|
|
mov r0, #0x5
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_0207686C: .word 0x00000B27
|
|
_02076870: .word gSystem
|
|
_02076874: .word 0x000005DC
|
|
_02076878: .word 0x000005A4
|
|
_0207687C: .word 0x0000FFFE
|
|
_02076880: .word 0x0000069C
|
|
_02076884: .word sub_02076950
|
|
_02076888: .word 0x00000B18
|
|
_0207688C: .word sub_020769A4
|
|
|
|
thumb_func_start sub_02076890
|
|
sub_02076890: ; 0x02076890
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _0207693C ; =sub_020765EC
|
|
ldr r1, _02076940 ; =0x00000B14
|
|
mov r2, #0x3
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0x0
|
|
add r0, #0x13
|
|
strb r2, [r4, r0]
|
|
ldr r0, _02076944 ; =0x000005A4
|
|
add r1, #0x11
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
add r5, r0, #0x0
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
ldr r0, _02076944 ; =0x000005A4
|
|
ldr r2, [r4, r0]
|
|
add r1, r2, #0x0
|
|
add r1, #0x28
|
|
ldrb r1, [r1, #0x0]
|
|
cmp r1, #0x4
|
|
bne _020768E6
|
|
add r0, #0xfc
|
|
ldrh r2, [r2, #0x26]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl BufferMoveName
|
|
add r0, r4, #0x0
|
|
bl sub_020769A4
|
|
pop {r3-r5, pc}
|
|
_020768E6:
|
|
add r0, r5, #0x0
|
|
add r1, #0x36
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl BufferMoveName
|
|
ldr r0, _02076948 ; =0x0000069C
|
|
mov r1, #0x3c
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _0207694C ; =0x00000B22
|
|
mov r1, #0x5
|
|
strb r1, [r4, r0]
|
|
add r0, r0, #0x5
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0207693C: .word sub_020765EC
|
|
_02076940: .word 0x00000B14
|
|
_02076944: .word 0x000005A4
|
|
_02076948: .word 0x0000069C
|
|
_0207694C: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02076950
|
|
sub_02076950: ; 0x02076950
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076998 ; =0x0000069C
|
|
mov r1, #0x3b
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _0207699C ; =0x000005A4
|
|
mov r1, #0x5
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _020769A0 ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02076998: .word 0x0000069C
|
|
_0207699C: .word 0x000005A4
|
|
_020769A0: .word 0x00000B22
|
|
|
|
thumb_func_start sub_020769A4
|
|
sub_020769A4: ; 0x020769A4
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _020769EC ; =0x0000069C
|
|
mov r1, #0x37
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _020769F0 ; =sub_020769FC
|
|
ldr r1, _020769F4 ; =0x00000B18
|
|
ldr r2, _020769F8 ; =sub_02076A48
|
|
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
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_020769EC: .word 0x0000069C
|
|
_020769F0: .word sub_020769FC
|
|
_020769F4: .word 0x00000B18
|
|
_020769F8: .word sub_02076A48
|
|
|
|
thumb_func_start sub_020769FC
|
|
sub_020769FC: ; 0x020769FC
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076A40 ; =0x0000069C
|
|
mov r1, #0x3a
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _02076A44 ; =0x00000B22
|
|
mov r1, #0x5
|
|
strb r1, [r5, r0]
|
|
mov r1, #0x4
|
|
add r0, r0, #0x5
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02076A40: .word 0x0000069C
|
|
_02076A44: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02076A48
|
|
sub_02076A48: ; 0x02076A48
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076A90 ; =0x0000069C
|
|
mov r1, #0x34
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _02076A94 ; =sub_02076950
|
|
ldr r1, _02076A98 ; =0x00000B18
|
|
ldr r2, _02076A9C ; =sub_020769A4
|
|
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
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02076A90: .word 0x0000069C
|
|
_02076A94: .word sub_02076950
|
|
_02076A98: .word 0x00000B18
|
|
_02076A9C: .word sub_020769A4
|
|
|
|
thumb_func_start sub_02076AA0
|
|
sub_02076AA0: ; 0x02076AA0
|
|
push {r3-r7, lr}
|
|
ldr r7, _02076AF4 ; =0x000005A4
|
|
add r5, r0, #0x0
|
|
add r6, r1, #0x0
|
|
mov r4, #0x0
|
|
_02076AAA:
|
|
add r1, r4, #0x0
|
|
add r0, r6, #0x0
|
|
add r1, #0x36
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x10
|
|
lsr r2, r0, #0x10
|
|
ldr r0, [r5, r7]
|
|
ldrh r1, [r0, #0x26]
|
|
cmp r2, r1
|
|
bne _02076AC6
|
|
mov r0, #0xfd
|
|
pop {r3-r7, pc}
|
|
_02076AC6:
|
|
cmp r2, #0x0
|
|
beq _02076AD4
|
|
add r1, r4, #0x1
|
|
lsl r1, r1, #0x18
|
|
lsr r4, r1, #0x18
|
|
cmp r4, #0x4
|
|
blo _02076AAA
|
|
_02076AD4:
|
|
ldrh r0, [r0, #0x24]
|
|
bl ItemToTMHMId
|
|
add r1, r0, #0x0
|
|
add r0, r6, #0x0
|
|
bl sub_0206A13C
|
|
cmp r0, #0x0
|
|
bne _02076AEA
|
|
mov r0, #0xff
|
|
pop {r3-r7, pc}
|
|
_02076AEA:
|
|
cmp r4, #0x4
|
|
bne _02076AF0
|
|
mov r4, #0xfe
|
|
_02076AF0:
|
|
add r0, r4, #0x0
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_02076AF4: .word 0x000005A4
|
|
|
|
thumb_func_start sub_02076AF8
|
|
sub_02076AF8: ; 0x02076AF8
|
|
push {r4-r6, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _02076C78 ; =0x000005A4
|
|
ldr r1, _02076C7C ; =0x00000B25
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
add r6, r0, #0x0
|
|
add r0, r4, #0x0
|
|
add r1, r6, #0x0
|
|
bl sub_02076AA0
|
|
add r5, r0, #0x0
|
|
add r0, r6, #0x0
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
mov r2, #0x6a
|
|
lsl r2, r2, #0x4
|
|
ldr r0, [r4, r2]
|
|
sub r2, #0xfc
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x1
|
|
ldrh r2, [r2, #0x26]
|
|
bl BufferMoveName
|
|
cmp r5, #0xfd
|
|
bhi _02076B5A
|
|
bhs _02076BB2
|
|
cmp r5, #0x3
|
|
bhi _02076B60
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #0x6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02076B52: ; jump table (using 16-bit offset)
|
|
.short _02076B68 - _02076B52 - 2; case 0
|
|
.short _02076B68 - _02076B52 - 2; case 1
|
|
.short _02076B68 - _02076B52 - 2; case 2
|
|
.short _02076B68 - _02076B52 - 2; case 3
|
|
_02076B5A:
|
|
cmp r5, #0xfe
|
|
bhi _02076B62
|
|
beq _02076BF2
|
|
_02076B60:
|
|
b _02076C72
|
|
_02076B62:
|
|
cmp r5, #0xff
|
|
beq _02076C34
|
|
b _02076C72
|
|
_02076B68:
|
|
add r0, r4, #0x0
|
|
add r1, r6, #0x0
|
|
add r2, r5, #0x0
|
|
bl sub_02076F2C
|
|
ldr r0, _02076C80 ; =0x0000069C
|
|
mov r1, #0x3d
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02076C78 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _02076C84 ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r4, r0]
|
|
b _02076C72
|
|
_02076BB2:
|
|
ldr r0, _02076C80 ; =0x0000069C
|
|
mov r1, #0x3f
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02076C78 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _02076C84 ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r4, r0]
|
|
b _02076C72
|
|
_02076BF2:
|
|
ldr r0, _02076C80 ; =0x0000069C
|
|
mov r1, #0x34
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02076C88 ; =sub_02076DD4
|
|
ldr r1, _02076C8C ; =0x00000B18
|
|
ldr r2, _02076C90 ; =sub_02076E28
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0x4
|
|
str r2, [r4, r0]
|
|
mov r0, #0x16
|
|
add r1, #0xa
|
|
strb r0, [r4, r1]
|
|
b _02076C72
|
|
_02076C34:
|
|
ldr r0, _02076C80 ; =0x0000069C
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02076C78 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _02076C84 ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r4, r0]
|
|
_02076C72:
|
|
mov r0, #0x14
|
|
pop {r4-r6, pc}
|
|
nop
|
|
_02076C78: .word 0x000005A4
|
|
_02076C7C: .word 0x00000B25
|
|
_02076C80: .word 0x0000069C
|
|
_02076C84: .word 0x00000B22
|
|
_02076C88: .word sub_02076DD4
|
|
_02076C8C: .word 0x00000B18
|
|
_02076C90: .word sub_02076E28
|
|
|
|
thumb_func_start sub_02076C94
|
|
sub_02076C94: ; 0x02076C94
|
|
push {r3-r5, lr}
|
|
add r4, r0, #0x0
|
|
ldr r0, _02076D2C ; =0x000005A4
|
|
ldr r1, _02076D30 ; =0x00000B25
|
|
ldr r0, [r4, r0]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
add r5, r0, #0x0
|
|
bl sub_020690E4
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x0
|
|
bl BufferBoxMonNickname
|
|
ldr r0, _02076D2C ; =0x000005A4
|
|
ldr r2, [r4, r0]
|
|
add r1, r2, #0x0
|
|
add r1, #0x28
|
|
ldrb r1, [r1, #0x0]
|
|
cmp r1, #0x4
|
|
bne _02076CDC
|
|
add r0, #0xfc
|
|
ldrh r2, [r2, #0x26]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl BufferMoveName
|
|
add r0, r4, #0x0
|
|
bl sub_02076E28
|
|
pop {r3-r5, pc}
|
|
_02076CDC:
|
|
add r0, r5, #0x0
|
|
add r1, #0x36
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
add r2, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x1
|
|
bl BufferMoveName
|
|
ldr r0, _02076D34 ; =0x0000069C
|
|
mov r1, #0x3c
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r5, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02076D38 ; =0x00000B22
|
|
mov r1, #0x12
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02076D2C: .word 0x000005A4
|
|
_02076D30: .word 0x00000B25
|
|
_02076D34: .word 0x0000069C
|
|
_02076D38: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02076D3C
|
|
sub_02076D3C: ; 0x02076D3C
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076DC0 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x3
|
|
tst r0, r1
|
|
beq _02076DBC
|
|
ldr r0, _02076DC4 ; =0x000005A4
|
|
ldr r1, _02076DC8 ; =0x00000B25
|
|
ldr r0, [r5, r0]
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
ldr r2, _02076DC4 ; =0x000005A4
|
|
add r1, r0, #0x0
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, #0x0
|
|
add r2, #0x28
|
|
ldrb r2, [r2, #0x0]
|
|
bl sub_02076F2C
|
|
ldr r0, _02076DCC ; =0x0000069C
|
|
mov r1, #0x3d
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r2, #0x6a
|
|
lsl r2, r2, #0x4
|
|
add r4, r0, #0x0
|
|
ldr r0, [r5, r2]
|
|
sub r2, #0xfc
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x1
|
|
ldrh r2, [r2, #0x26]
|
|
bl BufferMoveName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _02076DC4 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _02076DD0 ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
_02076DBC:
|
|
mov r0, #0x12
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02076DC0: .word gSystem
|
|
_02076DC4: .word 0x000005A4
|
|
_02076DC8: .word 0x00000B25
|
|
_02076DCC: .word 0x0000069C
|
|
_02076DD0: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02076DD4
|
|
sub_02076DD4: ; 0x02076DD4
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076E1C ; =0x0000069C
|
|
mov r1, #0x3b
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _02076E20 ; =0x000005A4
|
|
mov r1, #0x4
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _02076E24 ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02076E1C: .word 0x0000069C
|
|
_02076E20: .word 0x000005A4
|
|
_02076E24: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02076E28
|
|
sub_02076E28: ; 0x02076E28
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076E70 ; =0x0000069C
|
|
mov r1, #0x37
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02076E74 ; =sub_02076E80
|
|
ldr r1, _02076E78 ; =0x00000B18
|
|
ldr r2, _02076E7C ; =sub_02076ED4
|
|
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
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02076E70: .word 0x0000069C
|
|
_02076E74: .word sub_02076E80
|
|
_02076E78: .word 0x00000B18
|
|
_02076E7C: .word sub_02076ED4
|
|
|
|
thumb_func_start sub_02076E80
|
|
sub_02076E80: ; 0x02076E80
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076EC8 ; =0x0000069C
|
|
mov r1, #0x3a
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _02076ECC ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _02076ED0 ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x14
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_02076EC8: .word 0x0000069C
|
|
_02076ECC: .word 0x000005A4
|
|
_02076ED0: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02076ED4
|
|
sub_02076ED4: ; 0x02076ED4
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076F1C ; =0x0000069C
|
|
mov r1, #0x34
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x6a
|
|
add r4, r0, #0x0
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #0x4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0x0
|
|
bl String_Delete
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x0
|
|
bl sub_020731E8
|
|
ldr r0, _02076F20 ; =sub_02076DD4
|
|
ldr r1, _02076F24 ; =0x00000B18
|
|
ldr r2, _02076F28 ; =sub_02076E28
|
|
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
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_02076F1C: .word 0x0000069C
|
|
_02076F20: .word sub_02076DD4
|
|
_02076F24: .word 0x00000B18
|
|
_02076F28: .word sub_02076E28
|
|
|
|
thumb_func_start sub_02076F2C
|
|
sub_02076F2C: ; 0x02076F2C
|
|
push {r3-r6, lr}
|
|
sub sp, #0x4
|
|
add r5, r0, #0x0
|
|
ldr r0, _02076FAC ; =0x000005A4
|
|
add r6, r2, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0x0
|
|
ldrh r0, [r0, #0x26]
|
|
add r1, r6, #0x0
|
|
add r1, #0x36
|
|
str r0, [sp, #0x0]
|
|
add r0, r4, #0x0
|
|
add r2, sp, #0x0
|
|
bl SetMonData
|
|
mov r0, #0x0
|
|
add r1, r6, #0x0
|
|
str r0, [sp, #0x0]
|
|
add r0, r4, #0x0
|
|
add r1, #0x3e
|
|
add r2, sp, #0x0
|
|
bl SetMonData
|
|
ldr r0, _02076FAC ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
ldrh r0, [r0, #0x26]
|
|
bl WazaGetMaxPp
|
|
add r6, #0x3a
|
|
str r0, [sp, #0x0]
|
|
add r0, r4, #0x0
|
|
add r1, r6, #0x0
|
|
add r2, sp, #0x0
|
|
bl SetMonData
|
|
ldr r0, _02076FAC ; =0x000005A4
|
|
ldr r1, [r5, r0]
|
|
ldrh r0, [r1, #0x24]
|
|
cmp r0, #0x0
|
|
beq _02076FA8
|
|
ldrh r0, [r1, #0x26]
|
|
bl MoveIsHM
|
|
cmp r0, #0x0
|
|
bne _02076F98
|
|
ldr r0, _02076FAC ; =0x000005A4
|
|
mov r2, #0x1
|
|
ldr r1, [r5, r0]
|
|
mov r3, #0xc
|
|
ldr r0, [r1, #0x4]
|
|
ldrh r1, [r1, #0x24]
|
|
bl Bag_TakeItem
|
|
_02076F98:
|
|
add r0, r5, #0x0
|
|
bl sub_020772CC
|
|
add r2, r0, #0x0
|
|
add r0, r4, #0x0
|
|
mov r1, #0x4
|
|
bl MonApplyFriendshipMod
|
|
_02076FA8:
|
|
add sp, #0x4
|
|
pop {r3-r6, pc}
|
|
.balign 4
|
|
_02076FAC: .word 0x000005A4
|
|
|
|
thumb_func_start sub_02076FB0
|
|
sub_02076FB0: ; 0x02076FB0
|
|
push {r3-r7, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _0207702C ; =0x000005A4
|
|
add r6, r1, #0x0
|
|
ldr r1, _02077030 ; =0x00000B25
|
|
ldr r0, [r5, r0]
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
add r1, r6, #0x0
|
|
add r1, #0x36
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
ldr r0, _02077034 ; =0x0000069C
|
|
add r1, r6, #0x0
|
|
ldr r0, [r5, r0]
|
|
add r1, #0xa2
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0x0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #0x4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x0
|
|
add r2, r4, #0x0
|
|
bl BufferMoveName
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #0x4
|
|
ldr r0, [r5, r1]
|
|
add r1, #0x8
|
|
ldr r1, [r5, r1]
|
|
add r2, r7, #0x0
|
|
bl StringExpandPlaceholders
|
|
add r0, r7, #0x0
|
|
bl String_Delete
|
|
cmp r4, #0x0
|
|
ldr r1, _02077038 ; =0x000006F8
|
|
bne _0207701C
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x50
|
|
mov r2, #0x2
|
|
ldr r1, [r5, r1]
|
|
mvn r2, r2
|
|
bl ListMenuItems_AddItem
|
|
mov r0, #0x0
|
|
pop {r3-r7, pc}
|
|
_0207701C:
|
|
ldr r0, [r5, r1]
|
|
sub r1, #0x50
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0x0
|
|
bl ListMenuItems_AddItem
|
|
mov r0, #0x1
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_0207702C: .word 0x000005A4
|
|
_02077030: .word 0x00000B25
|
|
_02077034: .word 0x0000069C
|
|
_02077038: .word 0x000006F8
|
|
|
|
thumb_func_start sub_0207703C
|
|
sub_0207703C: ; 0x0207703C
|
|
push {r4-r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0x0
|
|
cmp r1, #0x0
|
|
bne _02077050
|
|
mov r1, #0x29
|
|
mov r2, #0x1
|
|
bl sub_020731D4
|
|
b _02077058
|
|
_02077050:
|
|
mov r1, #0x28
|
|
mov r2, #0x1
|
|
bl sub_020731D4
|
|
_02077058:
|
|
mov r0, #0x4
|
|
mov r1, #0xc
|
|
bl ListMenuItems_New
|
|
ldr r1, _02077108 ; =0x000006F8
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0x0
|
|
mov r1, #0x0
|
|
bl sub_02076FB0
|
|
add r5, r0, #0x0
|
|
add r0, r4, #0x0
|
|
mov r1, #0x1
|
|
bl sub_02076FB0
|
|
add r0, r5, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
add r0, r4, #0x0
|
|
mov r1, #0x2
|
|
bl sub_02076FB0
|
|
add r0, r5, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
add r0, r4, #0x0
|
|
mov r1, #0x3
|
|
bl sub_02076FB0
|
|
add r0, r5, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldr r0, _02077108 ; =0x000006F8
|
|
mov r2, #0x0
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x8]
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0x8
|
|
strb r2, [r0, #0x8]
|
|
mov r2, #0x1
|
|
strb r2, [r0, #0x9]
|
|
mov r2, #0x4
|
|
strb r2, [r0, #0xa]
|
|
ldrb r3, [r0, #0xb]
|
|
mov r2, #0xf
|
|
bic r3, r2
|
|
strb r3, [r0, #0xb]
|
|
ldrb r3, [r0, #0xb]
|
|
mov r2, #0x30
|
|
bic r3, r2
|
|
strb r3, [r0, #0xb]
|
|
cmp r1, #0x4
|
|
ldrb r2, [r0, #0xb]
|
|
bne _020770D6
|
|
mov r1, #0xc0
|
|
bic r2, r1
|
|
mov r1, #0x40
|
|
orr r1, r2
|
|
strb r1, [r0, #0xb]
|
|
b _020770DC
|
|
_020770D6:
|
|
mov r1, #0xc0
|
|
bic r2, r1
|
|
strb r2, [r0, #0xb]
|
|
_020770DC:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
mov r1, #0x1
|
|
add r0, r4, r0
|
|
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, _0207710C ; =0x000006FC
|
|
str r0, [r4, r1]
|
|
add sp, #0x14
|
|
pop {r4-r5, pc}
|
|
.balign 4
|
|
_02077108: .word 0x000006F8
|
|
_0207710C: .word 0x000006FC
|
|
|
|
thumb_func_start sub_02077110
|
|
sub_02077110: ; 0x02077110
|
|
push {r4-r6, lr}
|
|
sub sp, #0x8
|
|
add r5, r0, #0x0
|
|
ldr r0, _0207722C ; =0x000006FC
|
|
ldr r0, [r5, r0]
|
|
bl sub_02001C78
|
|
add r4, r0, #0x0
|
|
mov r0, #0x1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _02077130
|
|
add r0, r0, #0x1
|
|
cmp r4, r0
|
|
beq _02077226
|
|
b _0207716A
|
|
_02077130:
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow1
|
|
ldr r0, _0207722C ; =0x000006FC
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl sub_02001C5C
|
|
ldr r0, _02077230 ; =0x000006F8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_Delete
|
|
add r0, r5, #0x0
|
|
mov r1, #0x20
|
|
mov r2, #0x1
|
|
bl sub_020731C0
|
|
add sp, #0x8
|
|
mov r0, #0x4
|
|
pop {r4-r6, pc}
|
|
_0207716A:
|
|
mov r0, #0x85
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
mov r0, #0x91
|
|
lsl r0, r0, #0x2
|
|
add r0, r5, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow1
|
|
ldr r0, _0207722C ; =0x000006FC
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
bl sub_02001C5C
|
|
ldr r0, _02077230 ; =0x000006F8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_Delete
|
|
ldr r0, _02077234 ; =0x000005A4
|
|
ldr r6, [r5, r0]
|
|
add r0, r5, #0x0
|
|
bl sub_020772CC
|
|
str r0, [sp, #0x0]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0x4]
|
|
ldr r2, _02077238 ; =0x00000B25
|
|
lsl r3, r4, #0x18
|
|
ldrh r1, [r6, #0x24]
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, [r6, #0x0]
|
|
lsr r3, r3, #0x18
|
|
bl UseItemOnMonInParty
|
|
cmp r0, #0x1
|
|
bne _020771F6
|
|
ldr r0, _02077234 ; =0x000005A4
|
|
ldr r1, _02077238 ; =0x00000B25
|
|
ldr r0, [r5, r0]
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r0, #0x0]
|
|
bl Party_GetMonByIndex
|
|
add r4, #0x36
|
|
add r1, r4, #0x0
|
|
mov r2, #0x0
|
|
bl GetMonData
|
|
ldr r1, _02077234 ; =0x000005A4
|
|
add r2, r0, #0x0
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0x0
|
|
ldrh r1, [r1, #0x24]
|
|
bl sub_020757F4
|
|
ldr r0, _02077234 ; =0x000005A4
|
|
mov r2, #0x1
|
|
ldr r1, [r5, r0]
|
|
mov r3, #0xc
|
|
ldr r0, [r1, #0x4]
|
|
ldrh r1, [r1, #0x24]
|
|
bl Bag_TakeItem
|
|
ldr r0, _0207723C ; =0x000005EC
|
|
bl PlaySE
|
|
b _02077204
|
|
_020771F6:
|
|
ldr r2, _02077240 ; =0x0000069C
|
|
mov r1, #0x69
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x8
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
_02077204:
|
|
mov r1, #0x0
|
|
add r0, r5, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _02077234 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r5, r0]
|
|
add sp, #0x8
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _02077244 ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x14
|
|
pop {r4-r6, pc}
|
|
_02077226:
|
|
mov r0, #0x6
|
|
add sp, #0x8
|
|
pop {r4-r6, pc}
|
|
.balign 4
|
|
_0207722C: .word 0x000006FC
|
|
_02077230: .word 0x000006F8
|
|
_02077234: .word 0x000005A4
|
|
_02077238: .word 0x00000B25
|
|
_0207723C: .word 0x000005EC
|
|
_02077240: .word 0x0000069C
|
|
_02077244: .word 0x00000B22
|
|
|
|
thumb_func_start sub_02077248
|
|
sub_02077248: ; 0x02077248
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x2
|
|
add r0, r4, r0
|
|
mov r1, #0x1
|
|
bl ClearFrameAndWindow2
|
|
ldr r0, _020772BC ; =0x00000B25
|
|
ldr r2, _020772C0 ; =0x0000070C
|
|
ldrb r1, [r4, r0]
|
|
mov r0, #0x2c
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
ldrh r0, [r0, r2]
|
|
cmp r0, #0x0
|
|
bne _02077286
|
|
add r0, r2, #0x0
|
|
sub r0, #0x70
|
|
sub r2, #0x68
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x7f
|
|
bl ReadMsgDataIntoString
|
|
ldr r1, _020772BC ; =0x00000B25
|
|
add r0, r4, #0x0
|
|
ldrb r1, [r4, r1]
|
|
bl sub_02073AB8
|
|
b _0207729C
|
|
_02077286:
|
|
add r0, r2, #0x0
|
|
sub r0, #0x70
|
|
sub r2, #0x68
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x80
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, _020772BC ; =0x00000B25
|
|
mov r1, #0x7
|
|
strb r1, [r4, r0]
|
|
_0207729C:
|
|
mov r1, #0x0
|
|
add r0, r4, #0x0
|
|
mvn r1, r1
|
|
mov r2, #0x1
|
|
bl sub_020731E8
|
|
ldr r0, _020772C4 ; =0x000005A4
|
|
mov r1, #0x0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x23
|
|
strb r1, [r0, #0x0]
|
|
ldr r0, _020772C8 ; =0x00000B22
|
|
mov r1, #0x15
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_020772BC: .word 0x00000B25
|
|
_020772C0: .word 0x0000070C
|
|
_020772C4: .word 0x000005A4
|
|
_020772C8: .word 0x00000B22
|
|
|
|
thumb_func_start sub_020772CC
|
|
sub_020772CC: ; 0x020772CC
|
|
push {r3, lr}
|
|
ldr r1, _020772E4 ; =0x000005A4
|
|
ldr r0, [r0, r1]
|
|
ldr r0, [r0, #0x1c]
|
|
ldr r0, [r0, #0x1c]
|
|
ldr r0, [r0, #0x0]
|
|
bl MapHeader_GetMapSec
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, pc}
|
|
nop
|
|
_020772E4: .word 0x000005A4
|