mirror of
https://github.com/pret/pmd-sky.git
synced 2026-04-23 10:07:32 -05:00
3237 lines
70 KiB
ArmAsm
3237 lines
70 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_16.inc"
|
|
|
|
.text
|
|
|
|
arm_func_start ov16_0238A140
|
|
ov16_0238A140: ; 0x0238A140
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x128
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x70]
|
|
ldr r0, [r1]
|
|
ldr r2, [r0, #0x70]
|
|
cmp r2, #0x2c
|
|
addls pc, pc, r2, lsl #2
|
|
b _0238B0C4
|
|
_0238A168: ; jump table
|
|
b _0238A21C ; case 0
|
|
b _0238A274 ; case 1
|
|
b _0238A2D8 ; case 2
|
|
b _0238A344 ; case 3
|
|
b _0238A370 ; case 4
|
|
b _0238B0C4 ; case 5
|
|
b _0238A318 ; case 6
|
|
b _0238A928 ; case 7
|
|
b _0238A95C ; case 8
|
|
b _0238A9C4 ; case 9
|
|
b _0238AEA0 ; case 10
|
|
b _0238AE3C ; case 11
|
|
b _0238AE6C ; case 12
|
|
b _0238A640 ; case 13
|
|
b _0238A614 ; case 14
|
|
b _0238AE74 ; case 15
|
|
b _0238A574 ; case 16
|
|
b _0238A5D8 ; case 17
|
|
b _0238A480 ; case 18
|
|
b _0238A50C ; case 19
|
|
b _0238A440 ; case 20
|
|
b _0238B0C4 ; case 21
|
|
b _0238A730 ; case 22
|
|
b _0238A850 ; case 23
|
|
b _0238B0C4 ; case 24
|
|
b _0238B0C4 ; case 25
|
|
b _0238A668 ; case 26
|
|
b _0238A6F4 ; case 27
|
|
b _0238A9F4 ; case 28
|
|
b _0238AA58 ; case 29
|
|
b _0238AA94 ; case 30
|
|
b _0238AAD8 ; case 31
|
|
b _0238AFF8 ; case 32
|
|
b _0238AED8 ; case 33
|
|
b _0238AF98 ; case 34
|
|
b _0238AFD0 ; case 35
|
|
b _0238B0C4 ; case 36
|
|
b _0238AFEC ; case 37
|
|
b _0238B0C4 ; case 38
|
|
b _0238B038 ; case 39
|
|
b _0238B0C4 ; case 40
|
|
b _0238B0C4 ; case 41
|
|
b _0238B0C4 ; case 42
|
|
b _0238B0C4 ; case 43
|
|
b _0238A424 ; case 44
|
|
_0238A21C:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
bne _0238A240
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A240:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238B0D0 ; =0x00000431
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A274:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
bne _0238A298
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A298:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #6
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B0D4 ; =0x00000432
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A2D8:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #1
|
|
ldr r1, [r0]
|
|
#ifdef JAPAN
|
|
ldr r2, _0238C638 ; =0x000032E1
|
|
#else
|
|
add r2, r3, #0x440
|
|
#endif
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A318:
|
|
ldr r0, _0238B0D8 ; =EVO_WINDOW_PARAMS_6
|
|
mov r4, #3
|
|
ldr r1, _0238B0DC ; =0x00300011
|
|
ldr r3, _0238B0E0 ; =EVO_MAIN_MENU_ITEMS
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A344:
|
|
mov r1, #1
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238B0E4 ; =0x00000442
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A370:
|
|
mov r1, #5
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x88]
|
|
cmp r0, #0
|
|
ble _0238A394
|
|
bl sub_020572EC
|
|
_0238A394:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x88]
|
|
cmp r1, #1
|
|
ble _0238A3DC
|
|
mov r1, #4
|
|
str r1, [r2, #0x74]
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B0E8 ; =0x00000449
|
|
ldrsb r0, [r1, #0xc1]
|
|
add r3, r1, #0xe8
|
|
mov r1, #0x18
|
|
bl ShowStringIdInDialogueBox
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x88]
|
|
b _0238B0C4
|
|
_0238A3DC:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
mov r1, #0x18
|
|
bne _0238A408
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
#ifdef JAPAN
|
|
ldr r2, _0238C650 ; =0x000032E0
|
|
#else
|
|
mov r2, #0x440
|
|
#endif
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A408:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
#ifdef JAPAN
|
|
rsb r2, r1, #0x3300
|
|
#else
|
|
add r2, r1, #0x430
|
|
#endif
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A424:
|
|
mov r2, #5
|
|
str r2, [r0, #0xd8]
|
|
ldr r0, [r1]
|
|
mov r1, #1
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A440:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0x27
|
|
ldr r1, [r0]
|
|
#ifdef JAPAN
|
|
rsb r2, r3, #0x3300
|
|
#else
|
|
rsb r2, r3, #0x460
|
|
#endif
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A480:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #0xa
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0x138
|
|
add r1, r1, #0x3a
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
add r1, r2, #0x138
|
|
str r1, [r2, #0x120]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
#ifdef JAPAN
|
|
mov r3, #0x13
|
|
ldr r2, [r0]
|
|
mov r1, #8
|
|
str r3, [r2, #0x74]
|
|
ldr r3, [r0]
|
|
ldr r2, _0238C654 ; =0x000032D8
|
|
#else
|
|
mov r1, #8
|
|
mov r4, #0x13
|
|
ldr r3, [r0]
|
|
add r2, r1, #0x430
|
|
str r4, [r3, #0x74]
|
|
ldr r3, [r0]
|
|
#endif
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A50C:
|
|
ldr r2, [r0, #0x40]
|
|
mov r1, #0
|
|
add r0, r0, r2, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl IsMonsterOnTeam
|
|
cmp r0, #0
|
|
ldrne r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
movne r1, #0x1a
|
|
ldreq r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
moveq r1, #0x1c
|
|
ldr r0, [r0]
|
|
mov r4, #2
|
|
str r1, [r0, #0x74]
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r3, _0238B0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
ldr r1, [r0]
|
|
ldr r0, _0238B0D8 ; =EVO_WINDOW_PARAMS_6
|
|
str r4, [r1, #0x78]
|
|
ldr r1, _0238B0F0 ; =0x00300013
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A574:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
ldrsh r1, [r2, #0x44]
|
|
orr r1, r1, #0x20000
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0x11
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B0F4 ; =0x00000434
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A5D8:
|
|
mov r2, #0x1c
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r4, #2
|
|
str r4, [r0, #0x78]
|
|
ldr r0, _0238B0D8 ; =EVO_WINDOW_PARAMS_6
|
|
ldr r1, _0238B0F0 ; =0x00300013
|
|
ldr r3, _0238B0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A614:
|
|
ldr r0, _0238B0F8 ; =EVO_WINDOW_PARAMS_5
|
|
mov r4, #3
|
|
ldr r3, _0238B0FC ; =EVO_SUBMENU_ITEMS
|
|
mov r1, #0x13
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A640:
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, sp, #0x18
|
|
bl sub_0205B008
|
|
add r0, sp, #0x18
|
|
mov r1, #3
|
|
bl sub_0203F150
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc4]
|
|
b _0238B0C4
|
|
_0238A668:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #0xa
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0x138
|
|
add r1, r1, #0x3a
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
add r1, r2, #0x138
|
|
str r1, [r2, #0x120]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r4, #0x1b
|
|
ldr r2, [r0]
|
|
mov r1, #8
|
|
str r4, [r2, #0x74]
|
|
ldr r3, [r0]
|
|
#ifdef JAPAN
|
|
add r2, r4, #0x32c0
|
|
#else
|
|
add r2, r4, #0x420
|
|
#endif
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A6F4:
|
|
mov r2, #0x1c
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r4, #2
|
|
str r4, [r0, #0x78]
|
|
ldr r0, _0238B0D8 ; =EVO_WINDOW_PARAMS_6
|
|
ldr r1, _0238B0F0 ; =0x00300013
|
|
ldr r3, _0238B0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A730:
|
|
mov r2, #0
|
|
str r2, [r0, #0x40]
|
|
ldr r3, [r1]
|
|
ldr r0, _0238B100 ; =0x00000125
|
|
ldr r1, [r3, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
cmp r1, r0
|
|
addne r0, r0, #0x258
|
|
cmpne r1, r0
|
|
moveq r0, #0
|
|
beq _0238A7DC
|
|
mov r1, r2
|
|
_0238A760:
|
|
add r0, r3, r1, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
add r1, r1, #1
|
|
cmp r0, #0
|
|
addne r2, r2, #1
|
|
cmp r1, #8
|
|
blt _0238A760
|
|
cmp r2, #1
|
|
bne _0238A7D8
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0
|
|
_0238A78C:
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
cmp r1, #0
|
|
beq _0238A7C4
|
|
strh r1, [r2, #0xc]
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0x1c]
|
|
strh r1, [r2, #0x1c]
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0x2c]
|
|
strh r1, [r2, #0x2c]
|
|
_0238A7C4:
|
|
add r3, r3, #1
|
|
cmp r3, #8
|
|
blt _0238A78C
|
|
mov r0, #1
|
|
b _0238A7DC
|
|
_0238A7D8:
|
|
mov r0, #2
|
|
_0238A7DC:
|
|
cmp r0, #0
|
|
beq _0238A7F0
|
|
cmp r0, #1
|
|
beq _0238A820
|
|
b _0238A838
|
|
_0238A7F0:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldrsh r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streq r0, [r1, #0x40]
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x10
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A820:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x17
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A838:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x14
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A850:
|
|
ldrsh r2, [r0, #0x44]
|
|
orr r2, r2, #0x20000
|
|
str r2, [r0, #0xe8]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
str r0, [r2, #0xec]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
str r0, [r2, #0xf8]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
str r0, [r2, #0xfc]
|
|
ldr r1, [r1]
|
|
ldr r0, [r1, #0xf8]
|
|
cmp r0, #0
|
|
ldreq r0, [r1, #0xfc]
|
|
streq r0, [r1, #0xf8]
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0
|
|
ldr r3, [r0]
|
|
ldr r2, [r3, #0x40]
|
|
add r0, r3, r2, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
add r0, r3, r2, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
addne r1, r1, #1
|
|
cmp r0, #0
|
|
addne r1, r1, #1
|
|
cmp r1, #0
|
|
beq _0238A8F8
|
|
cmp r1, #1
|
|
beq _0238A908
|
|
cmp r1, #2
|
|
beq _0238A918
|
|
b _0238B0C4
|
|
_0238A8F8:
|
|
mov r0, #0x12
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A908:
|
|
mov r0, #7
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A918:
|
|
mov r0, #9
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A928:
|
|
bl ov16_0238CAE8
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #8
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B104 ; =0x0000043E
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A95C:
|
|
ldr r2, [r0, #0x40]
|
|
mov r1, #0
|
|
add r0, r0, r2, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl IsMonsterOnTeam
|
|
cmp r0, #0
|
|
ldrne r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
movne r1, #0x1a
|
|
ldreq r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
moveq r1, #0x1c
|
|
ldr r0, [r0]
|
|
mov r4, #2
|
|
str r1, [r0, #0x74]
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r3, _0238B0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
ldr r1, [r0]
|
|
ldr r0, _0238B0D8 ; =EVO_WINDOW_PARAMS_6
|
|
str r4, [r1, #0x78]
|
|
ldr r1, _0238B0F0 ; =0x00300013
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A9C4:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #8
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B108 ; =0x0000043A
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238A9F4:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl sub_0202F2C4
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0x14
|
|
ldr r1, [r0]
|
|
mov r2, #3
|
|
str r3, [r1, #0xe4]
|
|
ldr r1, [r0]
|
|
mov r3, #0
|
|
str r2, [r1, #0xd8]
|
|
ldr r4, [r0]
|
|
mov r1, #0x1d
|
|
ldr r2, [r4, #0x3c]
|
|
ldrsh r2, [r2, #4]
|
|
strh r2, [r4, #0xdc]
|
|
ldr r4, [r0]
|
|
ldr r2, [r4, #0x40]
|
|
add r2, r4, r2, lsl #1
|
|
ldrsh r2, [r2, #0xc]
|
|
strh r2, [r4, #0xde]
|
|
ldr r2, [r0]
|
|
str r3, [r2, #0xe0]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
b _0238B0C4
|
|
_0238AA58:
|
|
ldrsh r3, [r0, #0x44]
|
|
mov r2, #0x1e
|
|
orr r3, r3, #0x20000
|
|
str r3, [r0, #0xe8]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238B10C ; =0x0000043C
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238AA94:
|
|
mov r1, #0x1f
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #3
|
|
ldr r1, [r0]
|
|
ldr r3, _0238B110 ; =0x0000140F
|
|
str r2, [r1, #0xe0]
|
|
ldr r1, [r0]
|
|
#ifdef JAPAN
|
|
ldr r2, _0238C680 ; =0x000032DD
|
|
#else
|
|
rsb r2, r2, #0x440
|
|
#endif
|
|
str r3, [r1, #0x10c]
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238AAD8:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x3c]
|
|
bl IsMonsterNotNicknamed
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #1
|
|
ldr r3, [r1]
|
|
strb r0, [r3, #0x46]
|
|
ldr r0, [r1]
|
|
strb r2, [r0]
|
|
bl IncrementNbEvolutions
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl SetPokemonJoined
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl sub_02056410
|
|
cmp r0, #0
|
|
beq _0238AB84
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl sub_020564B0
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x8c]
|
|
bl SetTeamSetupHeroOnly
|
|
cmp r0, #0
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
movne r1, #2
|
|
ldr r0, [r0]
|
|
moveq r1, #1
|
|
str r1, [r0, #0x88]
|
|
b _0238AB9C
|
|
_0238AB84:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x8c]
|
|
ldr r0, [r0]
|
|
str r2, [r0, #0x88]
|
|
_0238AB9C:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r0, r2, #0x44
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
bl HandleShedinjaEvolution
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl ov16_0238CC64
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #0x8c]
|
|
cmp r0, #0
|
|
beq _0238ABF4
|
|
bl sub_02056880
|
|
bl GetActiveTeamMember
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
ldrsh r1, [r1, #0x44]
|
|
strh r1, [r0, #8]
|
|
_0238ABF4:
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, _0238B114 ; =EVOLUTION_HP_BONUS
|
|
ldr r3, [r1]
|
|
ldrsh r2, [r0]
|
|
ldr r4, [r3, #0x3c]
|
|
ldr r0, _0238B118 ; =0x000003E7
|
|
ldrsh r3, [r4, #0xa]
|
|
add r2, r3, r2
|
|
strh r2, [r4, #0xa]
|
|
ldr r1, [r1]
|
|
ldr r3, _0238B11C ; =EVOLUTION_PHYSICAL_STAT_BONUSES
|
|
ldr r2, [r1, #0x3c]
|
|
ldrsh r1, [r2, #0xa]
|
|
cmp r1, r0
|
|
strgth r0, [r2, #0xa]
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, _0238B120 ; =EVOLUTION_SPECIAL_STAT_BONUSES
|
|
ldr r1, [r1]
|
|
ldrsh r5, [r0]
|
|
ldr r1, [r1, #0x3c]
|
|
ldrsh r2, [r0, #2]
|
|
ldrb ip, [r1, #0xc]
|
|
ldrb r4, [r1, #0xd]
|
|
ldrb lr, [r1, #0xf]
|
|
add r0, ip, r5
|
|
add r2, r4, r2
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
ldrsh ip, [r3, #2]
|
|
cmp r0, #0xff
|
|
ldrb r5, [r1, #0xe]
|
|
ldrsh r4, [r3]
|
|
movgt r0, #0xff
|
|
strb r0, [r1, #0xc]
|
|
add r3, r5, r4
|
|
mov r2, r2, lsl #0x10
|
|
mov r4, r2, asr #0x10
|
|
ldr r2, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
cmp r4, #0xff
|
|
ldr r1, [r2]
|
|
mov r3, r3, lsl #0x10
|
|
add ip, lr, ip
|
|
mov ip, ip, lsl #0x10
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r4, #0xff
|
|
strb r4, [r1, #0xd]
|
|
ldr r1, [r2]
|
|
mov r3, r3, asr #0x10
|
|
cmp r3, #0xff
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r3, #0xff
|
|
strb r3, [r1, #0xe]
|
|
ldr r1, [r2]
|
|
mov r5, ip, asr #0x10
|
|
cmp r5, #0xff
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r5, #0xff
|
|
strb r5, [r1, #0xf]
|
|
mov r0, #0
|
|
ldr r1, [r2]
|
|
strh r0, [sp, #0xa]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
strh r0, [sp, #0xc]
|
|
bl GetFirstUnequippedItemOfType
|
|
mov r4, r0
|
|
mvn r1, #0
|
|
cmp r4, r1
|
|
beq _0238AD2C
|
|
bl GetItemAtIdx
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _0238AD20
|
|
bl sub_020582E0
|
|
_0238AD20:
|
|
mov r0, r4
|
|
bl RemoveItemNoHole
|
|
b _0238AD40
|
|
_0238AD2C:
|
|
ldrsh r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _0238AD40
|
|
add r0, sp, #8
|
|
bl RemoveItemInStorage
|
|
_0238AD40:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
strh r0, [sp, #0xc]
|
|
bl GetFirstUnequippedItemOfType
|
|
mov r4, r0
|
|
mvn r1, #0
|
|
cmp r4, r1
|
|
beq _0238AD8C
|
|
bl GetItemAtIdx
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _0238AD80
|
|
bl sub_020582E0
|
|
_0238AD80:
|
|
mov r0, r4
|
|
bl RemoveItemNoHole
|
|
b _0238ADA0
|
|
_0238AD8C:
|
|
ldrsh r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _0238ADA0
|
|
add r0, sp, #8
|
|
bl RemoveItemInStorage
|
|
_0238ADA0:
|
|
ldr r0, _0238B124 ; =0x00003F01
|
|
bl sub_02017CB4
|
|
mov r0, #8
|
|
bl sub_02017C50
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x46]
|
|
cmp r0, #0
|
|
moveq r0, #4
|
|
streq r0, [r1, #0x74]
|
|
beq _0238AE1C
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, sp, #0xe
|
|
ldrsh r1, [r1, #4]
|
|
bl GetNameRaw
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x3c]
|
|
ldrsh r0, [r0, #4]
|
|
bl GetNameString
|
|
ldr r2, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, r0
|
|
ldr r0, [r2]
|
|
mov r2, #0xa
|
|
ldr r0, [r0, #0x3c]
|
|
add r0, r0, #0x3a
|
|
bl StrncpyName
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x21
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
_0238AE1C:
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238B128 ; =0x0000043F
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238AE3C:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl CloseDialogueBox
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc1]
|
|
bl GetMainCharacter1MemberIdx
|
|
bl sub_0203C7E4
|
|
mov r0, #5
|
|
mov r1, #0
|
|
bl sub_02039C3C
|
|
b _0238B0C4
|
|
_0238AE6C:
|
|
bl sub_0203A638
|
|
b _0238B0C4
|
|
_0238AE74:
|
|
mov r1, #5
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238B12C ; =0x0000042D
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238AEA0:
|
|
mov r2, #0xb
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r1, #0x29
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238B130 ; =0x00000433
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238B0C4
|
|
_0238AED8:
|
|
bl ov11_02310BDC
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x20
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238B134 ; =0x00000447
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r0, #1
|
|
ldr r1, [r1]
|
|
ldrsb r1, [r1, #0xc2]
|
|
cmp r1, r0
|
|
bne _0238B0C4
|
|
mov r0, #0
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl CreatePortraitBox
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #0xc2]
|
|
ldr r2, [r1]
|
|
ldr r1, [r2, #0x40]
|
|
add r0, r2, #0xc8
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
bl InitPortraitParamsWithMonsterId
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc8
|
|
bl SetPortraitLayout
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc8
|
|
bl SetPortraitEmotion
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldrsb r0, [r1, #0xc2]
|
|
add r1, r1, #0xc8
|
|
bl ShowPortraitInPortraitBox
|
|
b _0238B0C4
|
|
_0238AF98:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl CloseDialogueBox
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r3, #1
|
|
ldr r2, [r1]
|
|
mov r0, #2
|
|
strb r3, [r2, #0xc1]
|
|
ldr r3, [r1]
|
|
mov r2, #0
|
|
ldr r1, [r3, #0x3c]
|
|
add r3, r3, #0xb1
|
|
add r1, r1, #0x3a
|
|
bl ShowKeyboard
|
|
b _0238B0C4
|
|
_0238AFD0:
|
|
ldr r1, [r0, #0x3c]
|
|
add r3, r0, #0xb1
|
|
add r1, r1, #0x3a
|
|
mov r0, #2
|
|
mov r2, #0
|
|
bl ShowKeyboard
|
|
b _0238B0C4
|
|
_0238AFEC:
|
|
add r0, r0, #0x8d
|
|
bl sub_0203909C
|
|
b _0238B0C4
|
|
_0238AFF8:
|
|
mov r2, #0x22
|
|
str r2, [r0, #0x74]
|
|
ldr r2, [r1]
|
|
mov ip, #4
|
|
ldr r0, _0238B0D8 ; =EVO_WINDOW_PARAMS_6
|
|
ldr r1, _0238B0DC ; =0x00300011
|
|
ldr r3, _0238B0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
str ip, [r2, #0x78]
|
|
mov ip, #2
|
|
mov r2, #0
|
|
str ip, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238B038:
|
|
mov ip, #0
|
|
mov r3, ip
|
|
_0238B040:
|
|
ldr r2, [r1]
|
|
add r0, r2, r3, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
addne r0, r2, ip, lsl #2
|
|
strne r3, [r0, #0x50]
|
|
add r3, r3, #1
|
|
addne ip, ip, #1
|
|
cmp r3, #8
|
|
blt _0238B040
|
|
cmp ip, #2
|
|
bge _0238B088
|
|
ldr r0, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x17
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238B088:
|
|
ldr r1, _0238B138 ; =0x00000446
|
|
mov r0, #0xf
|
|
strh r1, [sp, #0x98]
|
|
str r0, [sp, #0x9c]
|
|
str ip, [sp]
|
|
mov ip, #4
|
|
ldr r0, _0238B13C ; =EVO_WINDOW_PARAMS_4
|
|
ldr r1, _0238B140 ; =0x00009813
|
|
ldr r3, _0238B144 ; =ov16_0238CB30
|
|
add r2, sp, #0x90
|
|
str ip, [sp, #4]
|
|
bl CreateAdvancedMenu
|
|
ldr r1, _0238B0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
_0238B0C4:
|
|
add sp, sp, #0x128
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
#ifdef JAPAN
|
|
#define OV16_0238A140_OFFSET 0x2EA0
|
|
#else
|
|
#define OV16_0238A140_OFFSET 0
|
|
#endif
|
|
_0238B0CC: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
_0238B0D0: .word 0x00000431 + OV16_0238A140_OFFSET
|
|
_0238B0D4: .word 0x00000432 + OV16_0238A140_OFFSET
|
|
#ifdef JAPAN
|
|
_0238C638: .word 0x000032E1
|
|
#endif
|
|
_0238B0D8: .word EVO_WINDOW_PARAMS_6
|
|
_0238B0DC: .word 0x00300011
|
|
_0238B0E0: .word EVO_MAIN_MENU_ITEMS
|
|
_0238B0E4: .word 0x00000442 + OV16_0238A140_OFFSET
|
|
_0238B0E8: .word 0x00000449 + OV16_0238A140_OFFSET
|
|
#ifdef JAPAN
|
|
_0238C650: .word 0x000032E0
|
|
_0238C654: .word 0x000032D8
|
|
#endif
|
|
_0238B0EC: .word EVO_MENU_ITEMS_CONFIRM
|
|
_0238B0F0: .word 0x00300013
|
|
_0238B0F4: .word 0x00000434 + OV16_0238A140_OFFSET
|
|
_0238B0F8: .word EVO_WINDOW_PARAMS_5
|
|
_0238B0FC: .word EVO_SUBMENU_ITEMS
|
|
_0238B100: .word 0x00000125
|
|
_0238B104: .word 0x0000043E + OV16_0238A140_OFFSET
|
|
_0238B108: .word 0x0000043A + OV16_0238A140_OFFSET
|
|
_0238B10C: .word 0x0000043C + OV16_0238A140_OFFSET
|
|
_0238B110: .word 0x0000140F
|
|
#ifdef JAPAN
|
|
_0238C680: .word 0x000032DD
|
|
#endif
|
|
_0238B114: .word EVOLUTION_HP_BONUS
|
|
_0238B118: .word 0x000003E7
|
|
_0238B11C: .word EVOLUTION_PHYSICAL_STAT_BONUSES
|
|
_0238B120: .word EVOLUTION_SPECIAL_STAT_BONUSES
|
|
_0238B124: .word 0x00003F01
|
|
_0238B128: .word 0x0000043F + OV16_0238A140_OFFSET
|
|
_0238B12C: .word 0x0000042D + OV16_0238A140_OFFSET
|
|
_0238B130: .word 0x00000433 + OV16_0238A140_OFFSET
|
|
_0238B134: .word 0x00000447 + OV16_0238A140_OFFSET
|
|
_0238B138: .word 0x00000446 + OV16_0238A140_OFFSET
|
|
_0238B13C: .word EVO_WINDOW_PARAMS_4
|
|
_0238B140: .word 0x00009813
|
|
_0238B144: .word ov16_0238CB30
|
|
arm_func_end ov16_0238A140
|
|
|
|
arm_func_start ov16_0238B148
|
|
ov16_0238B148: ; 0x0238B148
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x128
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r1]
|
|
ldr r2, [r0, #0x70]
|
|
cmp r2, #0x2c
|
|
addls pc, pc, r2, lsl #2
|
|
b _0238C0C4
|
|
_0238B168: ; jump table
|
|
b _0238B21C ; case 0
|
|
b _0238B274 ; case 1
|
|
b _0238B2D8 ; case 2
|
|
b _0238B344 ; case 3
|
|
b _0238B370 ; case 4
|
|
b _0238C0C4 ; case 5
|
|
b _0238B318 ; case 6
|
|
b _0238B928 ; case 7
|
|
b _0238B95C ; case 8
|
|
b _0238B9C4 ; case 9
|
|
b _0238BEA0 ; case 10
|
|
b _0238BE3C ; case 11
|
|
b _0238BE6C ; case 12
|
|
b _0238B640 ; case 13
|
|
b _0238B614 ; case 14
|
|
b _0238BE74 ; case 15
|
|
b _0238B574 ; case 16
|
|
b _0238B5D8 ; case 17
|
|
b _0238B480 ; case 18
|
|
b _0238B50C ; case 19
|
|
b _0238B440 ; case 20
|
|
b _0238C0C4 ; case 21
|
|
b _0238B730 ; case 22
|
|
b _0238B850 ; case 23
|
|
b _0238C0C4 ; case 24
|
|
b _0238C0C4 ; case 25
|
|
b _0238B668 ; case 26
|
|
b _0238B6F4 ; case 27
|
|
b _0238B9F4 ; case 28
|
|
b _0238BA58 ; case 29
|
|
b _0238BA94 ; case 30
|
|
b _0238BAD8 ; case 31
|
|
b _0238BFF8 ; case 32
|
|
b _0238BED8 ; case 33
|
|
b _0238BF98 ; case 34
|
|
b _0238BFD0 ; case 35
|
|
b _0238C0C4 ; case 36
|
|
b _0238BFEC ; case 37
|
|
b _0238C0C4 ; case 38
|
|
b _0238C038 ; case 39
|
|
b _0238C0C4 ; case 40
|
|
b _0238C0C4 ; case 41
|
|
b _0238C0C4 ; case 42
|
|
b _0238C0C4 ; case 43
|
|
b _0238B424 ; case 44
|
|
_0238B21C:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
bne _0238B240
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B240:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238C0D0 ; =0x00000431
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B274:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
bne _0238B298
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B298:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #6
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C0D4 ; =0x00000432
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B2D8:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #1
|
|
ldr r1, [r0]
|
|
#ifdef JAPAN
|
|
ldr r2, _0238D648 ; =0x000032E1
|
|
#else
|
|
add r2, r3, #0x440
|
|
#endif
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B318:
|
|
ldr r0, _0238C0D8 ; =EVO_WINDOW_PARAMS_6
|
|
mov r4, #3
|
|
ldr r1, _0238C0DC ; =0x00300011
|
|
ldr r3, _0238C0E0 ; =EVO_MAIN_MENU_ITEMS
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B344:
|
|
mov r1, #1
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238C0E4 ; =0x00000442
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B370:
|
|
mov r1, #5
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x88]
|
|
cmp r0, #0
|
|
ble _0238B394
|
|
bl sub_020572EC
|
|
_0238B394:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x88]
|
|
cmp r1, #1
|
|
ble _0238B3DC
|
|
mov r1, #4
|
|
str r1, [r2, #0x74]
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C0E8 ; =0x00000449
|
|
ldrsb r0, [r1, #0xc1]
|
|
add r3, r1, #0xe8
|
|
mov r1, #0x18
|
|
bl ShowStringIdInDialogueBox
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x88]
|
|
b _0238C0C4
|
|
_0238B3DC:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
mov r1, #0x18
|
|
bne _0238B408
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
#ifdef JAPAN
|
|
ldr r2, _0238D660 ; =0x000032E0
|
|
#else
|
|
mov r2, #0x440
|
|
#endif
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B408:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
#ifdef JAPAN
|
|
rsb r2, r1, #0x3300
|
|
#else
|
|
add r2, r1, #0x430
|
|
#endif
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B424:
|
|
mov r2, #5
|
|
str r2, [r0, #0xd8]
|
|
ldr r0, [r1]
|
|
mov r1, #1
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B440:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0x27
|
|
ldr r1, [r0]
|
|
#ifdef JAPAN
|
|
rsb r2, r3, #0x3300
|
|
#else
|
|
rsb r2, r3, #0x460
|
|
#endif
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B480:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #0xa
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0x138
|
|
add r1, r1, #0x3a
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
add r1, r2, #0x138
|
|
str r1, [r2, #0x120]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
#ifdef JAPAN
|
|
mov r3, #0x13
|
|
ldr r2, [r0]
|
|
mov r1, #8
|
|
str r3, [r2, #0x74]
|
|
ldr r3, [r0]
|
|
ldr r2, _0238D664 ; =0x000032D8
|
|
#else
|
|
mov r1, #8
|
|
mov r4, #0x13
|
|
ldr r3, [r0]
|
|
add r2, r1, #0x430
|
|
str r4, [r3, #0x74]
|
|
ldr r3, [r0]
|
|
#endif
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B50C:
|
|
ldr r2, [r0, #0x40]
|
|
mov r1, #0
|
|
add r0, r0, r2, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl IsMonsterOnTeam
|
|
cmp r0, #0
|
|
ldrne r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
movne r1, #0x1a
|
|
ldreq r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
moveq r1, #0x1c
|
|
ldr r0, [r0]
|
|
mov r4, #2
|
|
str r1, [r0, #0x74]
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r3, _0238C0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
ldr r1, [r0]
|
|
ldr r0, _0238C0D8 ; =EVO_WINDOW_PARAMS_6
|
|
str r4, [r1, #0x78]
|
|
ldr r1, _0238C0F0 ; =0x00300013
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B574:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
ldrsh r1, [r2, #0x44]
|
|
orr r1, r1, #0x20000
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0x11
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C0F4 ; =0x00000434
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B5D8:
|
|
mov r2, #0x1c
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r4, #2
|
|
str r4, [r0, #0x78]
|
|
ldr r0, _0238C0D8 ; =EVO_WINDOW_PARAMS_6
|
|
ldr r1, _0238C0F0 ; =0x00300013
|
|
ldr r3, _0238C0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B614:
|
|
ldr r0, _0238C0F8 ; =EVO_WINDOW_PARAMS_5
|
|
mov r4, #3
|
|
ldr r3, _0238C0FC ; =EVO_SUBMENU_ITEMS
|
|
mov r1, #0x13
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B640:
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, sp, #0xb0
|
|
bl sub_0205B008
|
|
add r0, sp, #0xb0
|
|
mov r1, #3
|
|
bl sub_0203F150
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc4]
|
|
b _0238C0C4
|
|
_0238B668:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #0xa
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0x138
|
|
add r1, r1, #0x3a
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
add r1, r2, #0x138
|
|
str r1, [r2, #0x120]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r4, #0x1b
|
|
ldr r2, [r0]
|
|
mov r1, #8
|
|
str r4, [r2, #0x74]
|
|
ldr r3, [r0]
|
|
#ifdef JAPAN
|
|
add r2, r4, #0x32c0
|
|
#else
|
|
add r2, r4, #0x420
|
|
#endif
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B6F4:
|
|
mov r2, #0x1c
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r4, #2
|
|
str r4, [r0, #0x78]
|
|
ldr r0, _0238C0D8 ; =EVO_WINDOW_PARAMS_6
|
|
ldr r1, _0238C0F0 ; =0x00300013
|
|
ldr r3, _0238C0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B730:
|
|
mov r2, #0
|
|
str r2, [r0, #0x40]
|
|
ldr r3, [r1]
|
|
ldr r0, _0238C100 ; =0x00000125
|
|
ldr r1, [r3, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
cmp r1, r0
|
|
addne r0, r0, #0x258
|
|
cmpne r1, r0
|
|
moveq r0, #0
|
|
beq _0238B7DC
|
|
mov r1, r2
|
|
_0238B760:
|
|
add r0, r3, r1, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
add r1, r1, #1
|
|
cmp r0, #0
|
|
addne r2, r2, #1
|
|
cmp r1, #8
|
|
blt _0238B760
|
|
cmp r2, #1
|
|
bne _0238B7D8
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0
|
|
_0238B78C:
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
cmp r1, #0
|
|
beq _0238B7C4
|
|
strh r1, [r2, #0xc]
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0x1c]
|
|
strh r1, [r2, #0x1c]
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0x2c]
|
|
strh r1, [r2, #0x2c]
|
|
_0238B7C4:
|
|
add r3, r3, #1
|
|
cmp r3, #8
|
|
blt _0238B78C
|
|
mov r0, #1
|
|
b _0238B7DC
|
|
_0238B7D8:
|
|
mov r0, #2
|
|
_0238B7DC:
|
|
cmp r0, #0
|
|
beq _0238B7F0
|
|
cmp r0, #1
|
|
beq _0238B820
|
|
b _0238B838
|
|
_0238B7F0:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldrsh r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streq r0, [r1, #0x40]
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x10
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B820:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x17
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B838:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x14
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B850:
|
|
ldrsh r2, [r0, #0x44]
|
|
orr r2, r2, #0x20000
|
|
str r2, [r0, #0xe8]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
str r0, [r2, #0xec]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
str r0, [r2, #0xf8]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
str r0, [r2, #0xfc]
|
|
ldr r1, [r1]
|
|
ldr r0, [r1, #0xf8]
|
|
cmp r0, #0
|
|
ldreq r0, [r1, #0xfc]
|
|
streq r0, [r1, #0xf8]
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0
|
|
ldr r3, [r0]
|
|
ldr r2, [r3, #0x40]
|
|
add r0, r3, r2, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
add r0, r3, r2, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
addne r1, r1, #1
|
|
cmp r0, #0
|
|
addne r1, r1, #1
|
|
cmp r1, #0
|
|
beq _0238B8F8
|
|
cmp r1, #1
|
|
beq _0238B908
|
|
cmp r1, #2
|
|
beq _0238B918
|
|
b _0238C0C4
|
|
_0238B8F8:
|
|
mov r0, #0x12
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B908:
|
|
mov r0, #7
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B918:
|
|
mov r0, #9
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B928:
|
|
bl ov16_0238CAE8
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #8
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C104 ; =0x0000043E
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B95C:
|
|
ldr r2, [r0, #0x40]
|
|
mov r1, #0
|
|
add r0, r0, r2, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl IsMonsterOnTeam
|
|
cmp r0, #0
|
|
ldrne r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
movne r1, #0x1a
|
|
ldreq r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
moveq r1, #0x1c
|
|
ldr r0, [r0]
|
|
mov r4, #2
|
|
str r1, [r0, #0x74]
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r3, _0238C0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
ldr r1, [r0]
|
|
ldr r0, _0238C0D8 ; =EVO_WINDOW_PARAMS_6
|
|
str r4, [r1, #0x78]
|
|
ldr r1, _0238C0F0 ; =0x00300013
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B9C4:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #8
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C108 ; =0x0000043A
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238B9F4:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl sub_0202F2C4
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0x14
|
|
ldr r1, [r0]
|
|
mov r2, #3
|
|
str r3, [r1, #0xe4]
|
|
ldr r1, [r0]
|
|
mov r3, #0
|
|
str r2, [r1, #0xd8]
|
|
ldr r4, [r0]
|
|
mov r1, #0x1d
|
|
ldr r2, [r4, #0x3c]
|
|
ldrsh r2, [r2, #4]
|
|
strh r2, [r4, #0xdc]
|
|
ldr r4, [r0]
|
|
ldr r2, [r4, #0x40]
|
|
add r2, r4, r2, lsl #1
|
|
ldrsh r2, [r2, #0xc]
|
|
strh r2, [r4, #0xde]
|
|
ldr r2, [r0]
|
|
str r3, [r2, #0xe0]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
b _0238C0C4
|
|
_0238BA58:
|
|
ldrsh r3, [r0, #0x44]
|
|
mov r2, #0x1e
|
|
orr r3, r3, #0x20000
|
|
str r3, [r0, #0xe8]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238C10C ; =0x0000043C
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238BA94:
|
|
mov r1, #0x1f
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #3
|
|
ldr r1, [r0]
|
|
ldr r3, _0238C110 ; =0x0000140F
|
|
str r2, [r1, #0xe0]
|
|
ldr r1, [r0]
|
|
#ifdef JAPAN
|
|
ldr r2, _0238D690 ; =0x000032DD
|
|
#else
|
|
rsb r2, r2, #0x440
|
|
#endif
|
|
str r3, [r1, #0x10c]
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238BAD8:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x3c]
|
|
bl IsMonsterNotNicknamed
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #1
|
|
ldr r3, [r1]
|
|
strb r0, [r3, #0x46]
|
|
ldr r0, [r1]
|
|
strb r2, [r0]
|
|
bl IncrementNbEvolutions
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl SetPokemonJoined
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl sub_02056410
|
|
cmp r0, #0
|
|
beq _0238BB84
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl sub_020564B0
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x8c]
|
|
bl SetTeamSetupHeroOnly
|
|
cmp r0, #0
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
movne r1, #2
|
|
ldr r0, [r0]
|
|
moveq r1, #1
|
|
str r1, [r0, #0x88]
|
|
b _0238BB9C
|
|
_0238BB84:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x8c]
|
|
ldr r0, [r0]
|
|
str r2, [r0, #0x88]
|
|
_0238BB9C:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r0, r2, #0x44
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
bl HandleShedinjaEvolution
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl ov16_0238CC64
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #0x8c]
|
|
cmp r0, #0
|
|
beq _0238BBF4
|
|
bl sub_02056880
|
|
bl GetActiveTeamMember
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
ldrsh r1, [r1, #0x44]
|
|
strh r1, [r0, #8]
|
|
_0238BBF4:
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, _0238C114 ; =EVOLUTION_HP_BONUS
|
|
ldr r3, [r1]
|
|
ldrsh r2, [r0]
|
|
ldr r4, [r3, #0x3c]
|
|
ldr r0, _0238C118 ; =0x000003E7
|
|
ldrsh r3, [r4, #0xa]
|
|
add r2, r3, r2
|
|
strh r2, [r4, #0xa]
|
|
ldr r1, [r1]
|
|
ldr r3, _0238C11C ; =EVOLUTION_PHYSICAL_STAT_BONUSES
|
|
ldr r2, [r1, #0x3c]
|
|
ldrsh r1, [r2, #0xa]
|
|
cmp r1, r0
|
|
strgth r0, [r2, #0xa]
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, _0238C120 ; =EVOLUTION_SPECIAL_STAT_BONUSES
|
|
ldr r1, [r1]
|
|
ldrsh r5, [r0]
|
|
ldr r1, [r1, #0x3c]
|
|
ldrsh r2, [r0, #2]
|
|
ldrb ip, [r1, #0xc]
|
|
ldrb r4, [r1, #0xd]
|
|
ldrb lr, [r1, #0xf]
|
|
add r0, ip, r5
|
|
add r2, r4, r2
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
ldrsh ip, [r3, #2]
|
|
cmp r0, #0xff
|
|
ldrb r5, [r1, #0xe]
|
|
ldrsh r4, [r3]
|
|
movgt r0, #0xff
|
|
strb r0, [r1, #0xc]
|
|
add r3, r5, r4
|
|
mov r2, r2, lsl #0x10
|
|
mov r4, r2, asr #0x10
|
|
ldr r2, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
cmp r4, #0xff
|
|
ldr r1, [r2]
|
|
mov r3, r3, lsl #0x10
|
|
add ip, lr, ip
|
|
mov ip, ip, lsl #0x10
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r4, #0xff
|
|
strb r4, [r1, #0xd]
|
|
ldr r1, [r2]
|
|
mov r3, r3, asr #0x10
|
|
cmp r3, #0xff
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r3, #0xff
|
|
strb r3, [r1, #0xe]
|
|
ldr r1, [r2]
|
|
mov r5, ip, asr #0x10
|
|
cmp r5, #0xff
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r5, #0xff
|
|
strb r5, [r1, #0xf]
|
|
mov r0, #0
|
|
ldr r1, [r2]
|
|
strh r0, [sp, #0xa]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
strh r0, [sp, #0xc]
|
|
bl GetFirstUnequippedItemOfType
|
|
mov r4, r0
|
|
mvn r1, #0
|
|
cmp r4, r1
|
|
beq _0238BD2C
|
|
bl GetItemAtIdx
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _0238BD20
|
|
bl sub_020582E0
|
|
_0238BD20:
|
|
mov r0, r4
|
|
bl RemoveItemNoHole
|
|
b _0238BD40
|
|
_0238BD2C:
|
|
ldrsh r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _0238BD40
|
|
add r0, sp, #8
|
|
bl RemoveItemInStorage
|
|
_0238BD40:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
strh r0, [sp, #0xc]
|
|
bl GetFirstUnequippedItemOfType
|
|
mov r4, r0
|
|
mvn r1, #0
|
|
cmp r4, r1
|
|
beq _0238BD8C
|
|
bl GetItemAtIdx
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _0238BD80
|
|
bl sub_020582E0
|
|
_0238BD80:
|
|
mov r0, r4
|
|
bl RemoveItemNoHole
|
|
b _0238BDA0
|
|
_0238BD8C:
|
|
ldrsh r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _0238BDA0
|
|
add r0, sp, #8
|
|
bl RemoveItemInStorage
|
|
_0238BDA0:
|
|
ldr r0, _0238C124 ; =0x00003F01
|
|
bl sub_02017CB4
|
|
mov r0, #8
|
|
bl sub_02017C50
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x46]
|
|
cmp r0, #0
|
|
moveq r0, #4
|
|
streq r0, [r1, #0x74]
|
|
beq _0238BE1C
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, sp, #0xe
|
|
ldrsh r1, [r1, #4]
|
|
bl GetNameRaw
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x3c]
|
|
ldrsh r0, [r0, #4]
|
|
bl GetNameString
|
|
ldr r2, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, r0
|
|
ldr r0, [r2]
|
|
mov r2, #0xa
|
|
ldr r0, [r0, #0x3c]
|
|
add r0, r0, #0x3a
|
|
bl StrncpyName
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x21
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
_0238BE1C:
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238C128 ; =0x0000043F
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238BE3C:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl CloseDialogueBox
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc1]
|
|
bl GetMainCharacter1MemberIdx
|
|
bl sub_0203C7E4
|
|
mov r0, #5
|
|
mov r1, #0
|
|
bl sub_02039C3C
|
|
b _0238C0C4
|
|
_0238BE6C:
|
|
bl sub_0203A638
|
|
b _0238C0C4
|
|
_0238BE74:
|
|
mov r1, #5
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238C12C ; =0x0000042D
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238BEA0:
|
|
mov r2, #0xb
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r1, #0x29
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238C130 ; =0x00000433
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
b _0238C0C4
|
|
_0238BED8:
|
|
bl ov11_02310BDC
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x20
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, _0238C134 ; =0x00000447
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowStringIdInDialogueBox
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r0, #1
|
|
ldr r1, [r1]
|
|
ldrsb r1, [r1, #0xc2]
|
|
cmp r1, r0
|
|
bne _0238C0C4
|
|
mov r0, #0
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl CreatePortraitBox
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #0xc2]
|
|
ldr r2, [r1]
|
|
ldr r1, [r2, #0x40]
|
|
add r0, r2, #0xc8
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
bl InitPortraitParamsWithMonsterId
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc8
|
|
bl SetPortraitLayout
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc8
|
|
bl SetPortraitEmotion
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldrsb r0, [r1, #0xc2]
|
|
add r1, r1, #0xc8
|
|
bl ShowPortraitInPortraitBox
|
|
b _0238C0C4
|
|
_0238BF98:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl CloseDialogueBox
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r3, #1
|
|
ldr r2, [r1]
|
|
mov r0, #2
|
|
strb r3, [r2, #0xc1]
|
|
ldr r3, [r1]
|
|
mov r2, #0
|
|
ldr r1, [r3, #0x3c]
|
|
add r3, r3, #0xb1
|
|
add r1, r1, #0x3a
|
|
bl ShowKeyboard
|
|
b _0238C0C4
|
|
_0238BFD0:
|
|
ldr r1, [r0, #0x3c]
|
|
add r3, r0, #0xb1
|
|
add r1, r1, #0x3a
|
|
mov r0, #2
|
|
mov r2, #0
|
|
bl ShowKeyboard
|
|
b _0238C0C4
|
|
_0238BFEC:
|
|
add r0, r0, #0x8d
|
|
bl sub_0203909C
|
|
b _0238C0C4
|
|
_0238BFF8:
|
|
mov r2, #0x22
|
|
str r2, [r0, #0x74]
|
|
ldr r2, [r1]
|
|
mov ip, #4
|
|
ldr r0, _0238C0D8 ; =EVO_WINDOW_PARAMS_6
|
|
ldr r1, _0238C0DC ; =0x00300011
|
|
ldr r3, _0238C0EC ; =EVO_MENU_ITEMS_CONFIRM
|
|
str ip, [r2, #0x78]
|
|
mov ip, #2
|
|
mov r2, #0
|
|
str ip, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238C038:
|
|
mov ip, #0
|
|
mov r3, ip
|
|
_0238C040:
|
|
ldr r2, [r1]
|
|
add r0, r2, r3, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
addne r0, r2, ip, lsl #2
|
|
strne r3, [r0, #0x50]
|
|
add r3, r3, #1
|
|
addne ip, ip, #1
|
|
cmp r3, #8
|
|
blt _0238C040
|
|
cmp ip, #2
|
|
bge _0238C088
|
|
ldr r0, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0x17
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238C088:
|
|
ldr r1, _0238C138 ; =0x00000446
|
|
mov r0, #0xf
|
|
strh r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str ip, [sp]
|
|
mov ip, #4
|
|
ldr r0, _0238C13C ; =EVO_WINDOW_PARAMS_4
|
|
ldr r1, _0238C140 ; =0x00009813
|
|
ldr r3, _0238C144 ; =ov16_0238CB30
|
|
add r2, sp, #0x18
|
|
str ip, [sp, #4]
|
|
bl CreateAdvancedMenu
|
|
ldr r1, _0238C0CC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
_0238C0C4:
|
|
add sp, sp, #0x128
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
#ifdef JAPAN
|
|
#define OV16_0238B148_OFFSET 0x2EA0
|
|
#else
|
|
#define OV16_0238B148_OFFSET 0
|
|
#endif
|
|
_0238C0CC: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
_0238C0D0: .word 0x00000431 + OV16_0238B148_OFFSET
|
|
_0238C0D4: .word 0x00000432 + OV16_0238B148_OFFSET
|
|
#ifdef JAPAN
|
|
_0238D648: .word 0x000032E1
|
|
#endif
|
|
_0238C0D8: .word EVO_WINDOW_PARAMS_6
|
|
_0238C0DC: .word 0x00300011
|
|
_0238C0E0: .word EVO_MAIN_MENU_ITEMS
|
|
_0238C0E4: .word 0x00000442 + OV16_0238B148_OFFSET
|
|
_0238C0E8: .word 0x00000449 + OV16_0238B148_OFFSET
|
|
#ifdef JAPAN
|
|
_0238D660: .word 0x000032E0
|
|
_0238D664: .word 0x000032D8
|
|
#endif
|
|
_0238C0EC: .word EVO_MENU_ITEMS_CONFIRM
|
|
_0238C0F0: .word 0x00300013
|
|
_0238C0F4: .word 0x00000434 + OV16_0238B148_OFFSET
|
|
_0238C0F8: .word EVO_WINDOW_PARAMS_5
|
|
_0238C0FC: .word EVO_SUBMENU_ITEMS
|
|
_0238C100: .word 0x00000125
|
|
_0238C104: .word 0x0000043E + OV16_0238B148_OFFSET
|
|
_0238C108: .word 0x0000043A + OV16_0238B148_OFFSET
|
|
_0238C10C: .word 0x0000043C + OV16_0238B148_OFFSET
|
|
_0238C110: .word 0x0000140F
|
|
#ifdef JAPAN
|
|
_0238D690: .word 0x000032DD
|
|
#endif
|
|
_0238C114: .word EVOLUTION_HP_BONUS
|
|
_0238C118: .word 0x000003E7
|
|
_0238C11C: .word EVOLUTION_PHYSICAL_STAT_BONUSES
|
|
_0238C120: .word EVOLUTION_SPECIAL_STAT_BONUSES
|
|
_0238C124: .word 0x00003F01
|
|
_0238C128: .word 0x0000043F + OV16_0238B148_OFFSET
|
|
_0238C12C: .word 0x0000042D + OV16_0238B148_OFFSET
|
|
_0238C130: .word 0x00000433 + OV16_0238B148_OFFSET
|
|
_0238C134: .word 0x00000447 + OV16_0238B148_OFFSET
|
|
_0238C138: .word 0x00000446 + OV16_0238B148_OFFSET
|
|
_0238C13C: .word EVO_WINDOW_PARAMS_4
|
|
_0238C140: .word 0x00009813
|
|
_0238C144: .word ov16_0238CB30
|
|
arm_func_end ov16_0238B148
|
|
|
|
arm_func_start ov16_0238C148
|
|
ov16_0238C148: ; 0x0238C148
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0238C1C8 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0238C170
|
|
mov r0, #0x150
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r1, _0238C1C8 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
str r0, [r1]
|
|
_0238C170:
|
|
ldr r0, _0238C1C8 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xe8
|
|
bl InitPreprocessorArgs
|
|
ldr r1, _0238C1C8 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r0, #0
|
|
ldr r2, [r1]
|
|
sub r3, r0, #2
|
|
str r0, [r2, #0x134]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0xe8]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0xd8]
|
|
ldr r2, [r1]
|
|
strb r3, [r2, #0xc1]
|
|
ldr r2, [r1]
|
|
strb r3, [r2, #0xc2]
|
|
ldr r1, [r1]
|
|
strb r3, [r1, #0xc3]
|
|
bl ov16_0238A140
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238C1C8: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238C148
|
|
|
|
arm_func_start ov16_0238C1CC
|
|
ov16_0238C1CC: ; 0x0238C1CC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0238C1F4 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _0238C1F4 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238C1F4: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238C1CC
|
|
|
|
arm_func_start ov16_0238C1F8
|
|
ov16_0238C1F8: ; 0x0238C1F8
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, #0xd8]
|
|
cmp r1, #7
|
|
addls pc, pc, r1, lsl #2
|
|
b _0238CAD0
|
|
_0238C218: ; jump table
|
|
b _0238C238 ; case 0
|
|
b _0238C250 ; case 1
|
|
b _0238CA40 ; case 2
|
|
b _0238CA5C ; case 3
|
|
b _0238CA84 ; case 4
|
|
b _0238CAAC ; case 5
|
|
b _0238C9EC ; case 6
|
|
b _0238CA30 ; case 7
|
|
_0238C238:
|
|
bl ov11_022E6E68
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0xd8]
|
|
b _0238CAD0
|
|
_0238C250:
|
|
ldr r1, [r3, #0x70]
|
|
cmp r1, #0x29
|
|
addls pc, pc, r1, lsl #2
|
|
b _0238C96C
|
|
_0238C260: ; jump table
|
|
b _0238C96C ; case 0
|
|
b _0238C96C ; case 1
|
|
b _0238C96C ; case 2
|
|
b _0238C96C ; case 3
|
|
b _0238C96C ; case 4
|
|
b _0238C874 ; case 5
|
|
b _0238C308 ; case 6
|
|
b _0238C96C ; case 7
|
|
b _0238C690 ; case 8
|
|
b _0238C96C ; case 9
|
|
b _0238C96C ; case 10
|
|
b _0238C380 ; case 11
|
|
b _0238C380 ; case 12
|
|
b _0238C614 ; case 13
|
|
b _0238C56C ; case 14
|
|
b _0238C96C ; case 15
|
|
b _0238C96C ; case 16
|
|
b _0238C690 ; case 17
|
|
b _0238C96C ; case 18
|
|
b _0238C690 ; case 19
|
|
b _0238C96C ; case 20
|
|
b _0238C96C ; case 21
|
|
b _0238C96C ; case 22
|
|
b _0238C96C ; case 23
|
|
b _0238C4A4 ; case 24
|
|
b _0238C51C ; case 25
|
|
b _0238C96C ; case 26
|
|
b _0238C690 ; case 27
|
|
b _0238C66C ; case 28
|
|
b _0238C96C ; case 29
|
|
b _0238C96C ; case 30
|
|
b _0238C96C ; case 31
|
|
b _0238C690 ; case 32
|
|
b _0238C96C ; case 33
|
|
b _0238C770 ; case 34
|
|
b _0238C770 ; case 35
|
|
b _0238C7D8 ; case 36
|
|
b _0238C7F0 ; case 37
|
|
b _0238C854 ; case 38
|
|
b _0238C8BC ; case 39
|
|
b _0238C96C ; case 40
|
|
b _0238C87C ; case 41
|
|
_0238C308:
|
|
ldrsb r0, [r3, #0xc3]
|
|
bl GetSimpleMenuResult__0202B870
|
|
cmp r0, #1
|
|
ldrne r1, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldrne r1, [r1]
|
|
strne r0, [r1, #0x7c]
|
|
cmp r0, #1
|
|
beq _0238C370
|
|
cmp r0, #2
|
|
beq _0238C360
|
|
cmp r0, #3
|
|
bne _0238C9B0
|
|
bl ov16_0238CAE8
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
bne _0238C354
|
|
mov r0, #0xf
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C354:
|
|
mov r0, #0xa
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C360:
|
|
bl ov16_0238CAE8
|
|
mov r0, #3
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C370:
|
|
bl ov16_0238CAE8
|
|
mov r0, #4
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C380:
|
|
bl sub_0203C9E4
|
|
bl sub_0203A5A8
|
|
cmp r0, #0
|
|
beq _0238C408
|
|
bl sub_0203A9EC
|
|
cmp r0, #0
|
|
beq _0238C9B0
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
bl GetPressedButtons
|
|
ldrh r0, [sp]
|
|
tst r0, #8
|
|
beq _0238C9B0
|
|
bl sub_0203AAB0
|
|
ldr r1, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r0, r0, lsl #0x10
|
|
ldr r1, [r1]
|
|
mov r0, r0, asr #0x10
|
|
strh r0, [r1, #0x44]
|
|
bl ov16_0238CC64
|
|
ldr r0, _0238CAE0 ; =0x00003F02
|
|
mov r1, #0x100
|
|
bl sub_02017C74
|
|
bl sub_0203A5F0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0xa
|
|
ldr r1, [r0]
|
|
mov r2, #0xd
|
|
str r3, [r1, #0x78]
|
|
ldr r1, [r0]
|
|
mov r0, #0x19
|
|
str r2, [r1, #0x74]
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C408:
|
|
bl sub_0203AA20
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
bne _0238C448
|
|
bl sub_0203A51C
|
|
bl sub_0203C874
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0xa
|
|
ldr r1, [r0]
|
|
mov r2, #2
|
|
str r3, [r1, #0x78]
|
|
ldr r1, [r0]
|
|
mov r0, #0x18
|
|
str r2, [r1, #0x74]
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C448:
|
|
ldr r1, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r0, r0, lsl #0x10
|
|
ldr r1, [r1]
|
|
mov r0, r0, asr #0x10
|
|
strh r0, [r1, #0x44]
|
|
bl ov16_0238CC64
|
|
bl Rand16Bit
|
|
mov r1, #0x64
|
|
bl _s32_div_f
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
strb r1, [r2, #6]
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x3c]
|
|
add r1, r1, #2
|
|
bl GetEvolutionPossibilities
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl ov16_0238CC64
|
|
mov r0, #0xe
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C4A4:
|
|
bl sub_0203C9E4
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #5
|
|
bne _0238C4C4
|
|
bl sub_0203A51C
|
|
bl sub_0203C874
|
|
_0238C4C4:
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #0
|
|
bne _0238C504
|
|
bl sub_0203C8E0
|
|
cmp r0, #0
|
|
beq _0238C4F0
|
|
ldr r0, _0238CAE4 ; =ov16_0238CE04
|
|
bl Debug_Print0
|
|
b _0238C9B0
|
|
_0238C4F0:
|
|
bl sub_0203C940
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x74]
|
|
bl ov16_0238A140
|
|
_0238C504:
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x78]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x78]
|
|
b _0238C9B0
|
|
_0238C51C:
|
|
bl sub_0203C9E4
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #5
|
|
bne _0238C538
|
|
bl sub_0203A618
|
|
_0238C538:
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x78]
|
|
cmp r0, #0
|
|
bne _0238C554
|
|
ldr r0, [r1, #0x74]
|
|
bl ov16_0238A140
|
|
_0238C554:
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x78]
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x78]
|
|
b _0238C9B0
|
|
_0238C56C:
|
|
ldrsb r0, [r3, #0xc3]
|
|
bl GetSimpleMenuResult__0202B870
|
|
mov r4, r0
|
|
bl sub_0203C9E4
|
|
cmp r4, #1
|
|
beq _0238C5F8
|
|
cmp r4, #3
|
|
beq _0238C598
|
|
cmp r4, #8
|
|
beq _0238C5CC
|
|
b _0238C9B0
|
|
_0238C598:
|
|
bl ov16_0238CAE8
|
|
bl sub_0203A51C
|
|
bl sub_0203C874
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0xa
|
|
ldr r1, [r0]
|
|
mov r2, #0x16
|
|
str r3, [r1, #0x78]
|
|
ldr r1, [r0]
|
|
mov r0, #0x18
|
|
str r2, [r1, #0x74]
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C5CC:
|
|
bl ov16_0238CAE8
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0xa
|
|
ldr r1, [r0]
|
|
mov r2, #0xd
|
|
str r3, [r1, #0x78]
|
|
ldr r1, [r0]
|
|
mov r0, #0x19
|
|
str r2, [r1, #0x74]
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C5F8:
|
|
bl ov16_0238CAE8
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0xb
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl sub_0203A638
|
|
b _0238C9B0
|
|
_0238C614:
|
|
bl sub_0203F398
|
|
cmp r0, #1
|
|
bne _0238C9B0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc4]
|
|
bl sub_0202836C
|
|
bl sub_0203F990
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r3, #1
|
|
ldr r1, [r0]
|
|
mov r2, #3
|
|
strb r3, [r1, #0xc4]
|
|
ldr r1, [r0]
|
|
mov r3, #0xc
|
|
str r2, [r1, #0xe4]
|
|
ldr r2, [r0]
|
|
mov r1, #0x1c
|
|
str r3, [r2, #0x74]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
b _0238C9B0
|
|
_0238C66C:
|
|
ldr r2, [r3, #0xe4]
|
|
sub r1, r2, #1
|
|
str r1, [r3, #0xe4]
|
|
cmp r2, #0
|
|
bne _0238C9B0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x74]
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C690:
|
|
ldrsb r0, [r3, #0xc3]
|
|
bl IsSimpleMenuActive
|
|
cmp r0, #0
|
|
bne _0238C9B0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc3]
|
|
bl GetSimpleMenuResult__0202B870
|
|
ldr r1, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
mvn r1, #1
|
|
ldrsb r0, [r0, #0xc2]
|
|
cmp r0, r1
|
|
beq _0238C6E0
|
|
bl ClosePortraitBox
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc2]
|
|
_0238C6E0:
|
|
cmp r4, #1
|
|
beq _0238C730
|
|
cmp r4, #6
|
|
beq _0238C6FC
|
|
cmp r4, #7
|
|
beq _0238C730
|
|
b _0238C9B0
|
|
_0238C6FC:
|
|
bl ov16_0238CAE8
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl sub_0202F2C4
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0xa
|
|
ldr r2, [r0]
|
|
mov r1, #0x1c
|
|
str r3, [r2, #0xe4]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
b _0238C9B0
|
|
_0238C730:
|
|
bl ov16_0238CAE8
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl sub_0202F2C4
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #0xa
|
|
ldr r4, [r0]
|
|
mov r1, #0x1c
|
|
ldr r2, [r4, #0x78]
|
|
str r2, [r4, #0x74]
|
|
ldr r2, [r0]
|
|
str r3, [r2, #0xe4]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
b _0238C9B0
|
|
_0238C770:
|
|
bl GetKeyboardStatus
|
|
cmp r0, #3
|
|
bne _0238C9B0
|
|
bl GetKeyboardStringResult
|
|
ldr r1, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
mov r1, r4
|
|
add r0, r0, #0x8d
|
|
mov r2, #0x10
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, r4
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xa1
|
|
bl StrcpySimple
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x3c]
|
|
bl IsMonsterNotNicknamed
|
|
ldr r1, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x46]
|
|
mov r0, #0x24
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C7D8:
|
|
bl sub_02037468
|
|
cmp r0, #0
|
|
beq _0238C9B0
|
|
mov r0, #0x25
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C7F0:
|
|
bl sub_0203931C
|
|
cmp r0, #0
|
|
bne _0238C830
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r3, #4
|
|
ldr r1, [r0]
|
|
mov r2, #0xa
|
|
str r3, [r1, #0x78]
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x3c]
|
|
add r1, r1, #0xa1
|
|
add r0, r0, #0x3a
|
|
bl StrncpySimple
|
|
mov r0, #0x26
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C830:
|
|
cmp r0, #1
|
|
bne _0238C9B0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #0x23
|
|
ldr r1, [r0]
|
|
mov r0, #0x26
|
|
str r2, [r1, #0x78]
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C854:
|
|
bl sub_02039218
|
|
cmp r0, #0
|
|
beq _0238C9B0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x78]
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C874:
|
|
mov r0, #3
|
|
b _0238C9B4
|
|
_0238C87C:
|
|
ldrsb r0, [r3, #0xc1]
|
|
bl IsDialogueBoxActive
|
|
cmp r0, #0
|
|
bne _0238C9B0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #0x2b
|
|
ldr r1, [r0]
|
|
str r2, [r1, #0x70]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl sub_0202F2C4
|
|
b _0238C9B0
|
|
_0238C8BC:
|
|
ldrsb r0, [r3, #0xc3]
|
|
bl IsAdvancedMenuActive
|
|
cmp r0, #0
|
|
bne _0238C9B0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc3]
|
|
bl GetAdvancedMenuResult
|
|
mov r4, r0
|
|
mvn r0, #0
|
|
cmp r4, r0
|
|
bne _0238C918
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc3]
|
|
bl CloseAdvancedMenu
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r2, #1
|
|
ldr r1, [r0]
|
|
mov r0, #2
|
|
strb r2, [r1, #0xc3]
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C918:
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r2, [r0]
|
|
add r1, r2, r4, lsl #2
|
|
ldr r1, [r1, #0x50]
|
|
str r1, [r2, #0x40]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc3]
|
|
bl CloseAdvancedMenu
|
|
ldr r1, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r3, #1
|
|
ldr r2, [r1]
|
|
mov r0, #0x17
|
|
strb r3, [r2, #0xc3]
|
|
ldr r2, [r1]
|
|
add r1, r2, r4, lsl #2
|
|
ldr r1, [r1, #0x50]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
strh r1, [r2, #0xa]
|
|
bl ov16_0238A140
|
|
b _0238C9B0
|
|
_0238C96C:
|
|
bl ov11_0230D220
|
|
cmp r0, #0
|
|
bne _0238C9B0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl IsDialogueBoxActive
|
|
cmp r0, #0
|
|
bne _0238C9B0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDialogueBox
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x74]
|
|
bl ov16_0238A140
|
|
_0238C9B0:
|
|
mov r0, #0
|
|
_0238C9B4:
|
|
cmp r0, #3
|
|
bne _0238CAD0
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r2, #6
|
|
ldr r1, [r0]
|
|
str r2, [r1, #0xd8]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl sub_0202836C
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl sub_0202F2C4
|
|
b _0238CAD0
|
|
_0238C9EC:
|
|
mov r1, #7
|
|
str r1, [r3, #0xd8]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl CloseDialogueBox
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc2]
|
|
cmp r0, r1
|
|
beq _0238CAD0
|
|
bl ClosePortraitBox
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc2]
|
|
b _0238CAD0
|
|
_0238CA30:
|
|
mvn r0, #0
|
|
bl ov11_022E6E8C
|
|
mov r0, #4
|
|
b _0238CAD4
|
|
_0238CA40:
|
|
bl ov11_022E6EC8
|
|
cmp r0, #0
|
|
ldrne r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strne r1, [r0, #0xd8]
|
|
b _0238CAD0
|
|
_0238CA5C:
|
|
bl ov11_022E6EC8
|
|
cmp r0, #0
|
|
beq _0238CAD0
|
|
mov r0, #3
|
|
bl ov11_022E6E8C
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0xd8]
|
|
b _0238CAD0
|
|
_0238CA84:
|
|
bl ov11_022E6EC8
|
|
cmp r0, #0
|
|
beq _0238CAD0
|
|
mov r0, #1
|
|
bl ov11_022E6E8C
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0xd8]
|
|
b _0238CAD0
|
|
_0238CAAC:
|
|
bl ov11_022E6EC8
|
|
cmp r0, #0
|
|
beq _0238CAD0
|
|
mov r0, #4
|
|
bl ov11_022E6E8C
|
|
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0xd8]
|
|
_0238CAD0:
|
|
mov r0, #1
|
|
_0238CAD4:
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_0238CADC: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
_0238CAE0: .word 0x00003F02
|
|
_0238CAE4: .word ov16_0238CE04
|
|
arm_func_end ov16_0238C1F8
|
|
|
|
arm_func_start ov16_0238CAE8
|
|
ov16_0238CAE8: ; 0x0238CAE8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0238CB2C ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc3]
|
|
cmp r0, r1
|
|
ldmeqia sp!, {r3, pc}
|
|
bl sub_0202836C
|
|
ldr r0, _0238CB2C ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc3]
|
|
bl CloseSimpleMenu
|
|
ldr r0, _0238CB2C ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc3]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238CB2C: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238CAE8
|
|
|
|
arm_func_start ov16_0238CB30
|
|
ov16_0238CB30: ; 0x0238CB30
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x54
|
|
ldr r2, _0238CB8C ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r3, _0238CB90 ; =0x0000C402
|
|
ldr r6, [r2]
|
|
ldr r2, _0238CB94 ; =ov16_0238CE28
|
|
add r5, r6, r1, lsl #2
|
|
ldr r1, [r5, #0x50]
|
|
add ip, sp, #4
|
|
add r1, r6, r1, lsl #1
|
|
ldrsh lr, [r1, #0xc]
|
|
mov r1, #0x400
|
|
mov r4, r0
|
|
str lr, [sp, #4]
|
|
ldr lr, [r5, #0x50]
|
|
add lr, r6, lr, lsl #1
|
|
ldrsh lr, [lr, #0xc]
|
|
str lr, [sp, #0x28]
|
|
str ip, [sp]
|
|
bl PreprocessString
|
|
mov r0, r4
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0238CB8C: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
_0238CB90: .word 0x0000C402
|
|
_0238CB94: .word ov16_0238CE28
|
|
arm_func_end ov16_0238CB30
|
|
|
|
arm_func_start ov16_0238CB98
|
|
ov16_0238CB98: ; 0x0238CB98
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0238CBCC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mvn r0, #1
|
|
ldr r1, [r1]
|
|
ldrsb r1, [r1, #0xc1]
|
|
cmp r1, r0
|
|
ldmneia sp!, {r3, pc}
|
|
mov r0, #0
|
|
bl CreateDialogueBox
|
|
ldr r1, _0238CBCC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238CBCC: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238CB98
|
|
|
|
arm_func_start ov16_0238CBD0
|
|
ov16_0238CBD0: ; 0x0238CBD0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x3c
|
|
bl sub_02059B08
|
|
ldr r1, _0238CC5C ; =TEAM_MEMBER_TABLE_PTR
|
|
mov r6, #0
|
|
ldr r8, [r1]
|
|
ldr sb, _0238CC60 ; =0x0000022B
|
|
mov r5, r0
|
|
mov r7, r6
|
|
add r4, sp, #0
|
|
_0238CBF8:
|
|
mov r0, r7, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
bl IsValidTeamMember
|
|
cmp r0, #0
|
|
beq _0238CC40
|
|
cmp r5, #0
|
|
bne _0238CC28
|
|
mov r0, r7, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
bl IsMainCharacter
|
|
cmp r0, #0
|
|
bne _0238CC40
|
|
_0238CC28:
|
|
mov r0, r8
|
|
mov r1, r4
|
|
bl GetEvolutionPossibilities
|
|
ldrsh r0, [sp, #8]
|
|
cmp r0, #0
|
|
addne r6, r6, #1
|
|
_0238CC40:
|
|
add r7, r7, #1
|
|
cmp r7, sb
|
|
add r8, r8, #0x44
|
|
blt _0238CBF8
|
|
mov r0, r6
|
|
add sp, sp, #0x3c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_0238CC5C: .word TEAM_MEMBER_TABLE_PTR
|
|
_0238CC60: .word 0x0000022B
|
|
arm_func_end ov16_0238CBD0
|
|
|
|
arm_func_start ov16_0238CC64
|
|
ov16_0238CC64: ; 0x0238CC64
|
|
stmdb sp!, {r3, lr}
|
|
bl GetTeamMember
|
|
ldr r1, _0238CC90 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
#ifdef EUROPE
|
|
mov r2, #0xa
|
|
ldr r3, [r1]
|
|
str r0, [r3, #0x3c]
|
|
#else
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x3c]
|
|
#endif
|
|
ldr r0, [r1]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0xb1
|
|
add r1, r1, #0x3a
|
|
#ifdef EUROPE
|
|
bl StrncpySimple
|
|
#else
|
|
bl StrcpySimple
|
|
#endif
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238CC90: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238CC64
|
|
|
|
arm_func_start ov16_0238CC94
|
|
ov16_0238CC94: ; 0x0238CC94
|
|
ldr r0, _0238CCA4 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0xdc]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CCA4: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238CC94
|
|
|
|
arm_func_start ov16_0238CCA8
|
|
ov16_0238CCA8: ; 0x0238CCA8
|
|
ldr r0, _0238CCB8 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0xde]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CCB8: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238CCA8
|
|
|
|
arm_func_start ov16_0238CCBC
|
|
ov16_0238CCBC: ; 0x0238CCBC
|
|
ldr r0, _0238CCD4 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldrne r0, [r0, #0xe0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CCD4: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238CCBC
|
|
|
|
arm_func_start ov16_0238CCD8
|
|
ov16_0238CCD8: ; 0x0238CCD8
|
|
ldr r0, _0238CCEC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0xe0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CCEC: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238CCD8
|
|
|
|
arm_func_start ov16_0238CCF0
|
|
ov16_0238CCF0: ; 0x0238CCF0
|
|
ldr r0, _0238CD04 ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0xd8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CD04: .word OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
arm_func_end ov16_0238CCF0
|
|
; 0x0238CD08
|
|
|
|
.rodata
|
|
.global EVO_MENU_ITEMS_CONFIRM
|
|
EVO_MENU_ITEMS_CONFIRM:
|
|
#ifdef JAPAN
|
|
#define OV16_DATA_OFFSET 0x2EA0
|
|
#else
|
|
#define OV16_DATA_OFFSET 0
|
|
#endif
|
|
.word 0x42B + OV16_DATA_OFFSET
|
|
.byte 0x06, 0x00, 0x00, 0x00
|
|
.word 0x42C + OV16_DATA_OFFSET
|
|
.byte 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.global EVO_SUBMENU_ITEMS
|
|
EVO_SUBMENU_ITEMS:
|
|
.word 0x435 + OV16_DATA_OFFSET
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.word 0x436 + OV16_DATA_OFFSET
|
|
.byte 0x08, 0x00, 0x00, 0x00
|
|
.word 0x437 + OV16_DATA_OFFSET
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.global EVO_MAIN_MENU_ITEMS
|
|
EVO_MAIN_MENU_ITEMS:
|
|
.word 0x42E + OV16_DATA_OFFSET
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.word 0x42F + OV16_DATA_OFFSET
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.word 0x430 + OV16_DATA_OFFSET
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.hword 0x42D + OV16_DATA_OFFSET, 0x42E + OV16_DATA_OFFSET, 0x42F + OV16_DATA_OFFSET, 0x430 + OV16_DATA_OFFSET
|
|
.hword 0x431 + OV16_DATA_OFFSET, 0x432 + OV16_DATA_OFFSET, 0x433 + OV16_DATA_OFFSET, 0x434 + OV16_DATA_OFFSET, 0x438 + OV16_DATA_OFFSET, 0x439 + OV16_DATA_OFFSET, 0x43A + OV16_DATA_OFFSET, 0x43C + OV16_DATA_OFFSET
|
|
.hword 0x43D + OV16_DATA_OFFSET, 0x43E + OV16_DATA_OFFSET, 0x43F + OV16_DATA_OFFSET, 0x440 + OV16_DATA_OFFSET, 0x441 + OV16_DATA_OFFSET, 0x442 + OV16_DATA_OFFSET, 0x443 + OV16_DATA_OFFSET, 0x444 + OV16_DATA_OFFSET
|
|
.hword 0x445 + OV16_DATA_OFFSET, 0x446 + OV16_DATA_OFFSET, 0x447 + OV16_DATA_OFFSET, 0x448 + OV16_DATA_OFFSET, 0x449 + OV16_DATA_OFFSET, 0x43B + OV16_DATA_OFFSET
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x02, 0x12, 0x10, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x0A, 0x08, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global EVO_WINDOW_PARAMS_4
|
|
EVO_WINDOW_PARAMS_4:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x02, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global EVO_WINDOW_PARAMS_5
|
|
EVO_WINDOW_PARAMS_5:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x02, 0x0B, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global EVO_WINDOW_PARAMS_6
|
|
EVO_WINDOW_PARAMS_6:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x02, 0x14, 0x10, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov16_0238CE04
|
|
ov16_0238CE04:
|
|
.byte 0x6D, 0x65, 0x6E, 0x75
|
|
.byte 0x4D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x6F
|
|
.byte 0x6F, 0x6B, 0x5F, 0x49, 0x73, 0x42, 0x75, 0x73, 0x79, 0x20, 0x62, 0x75, 0x73, 0x79, 0x0A, 0x00
|
|
.global ov16_0238CE28
|
|
ov16_0238CE28:
|
|
.byte 0x5B, 0x6B, 0x69, 0x6E, 0x64, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.data
|
|
.global OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
|
OVERLAY16_UNKNOWN_POINTER__NA_238CE40:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|