mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
23528 lines
463 KiB
ArmAsm
23528 lines
463 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_01.inc"
|
|
|
|
.text
|
|
|
|
arm_func_start ov01_02329520
|
|
ov01_02329520: ; 0x02329520
|
|
ldr r0, _0232952C ; =ov01_0233C0C0
|
|
ldr r0, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232952C: .word ov01_0233C0C0
|
|
arm_func_end ov01_02329520
|
|
|
|
arm_func_start ov01_02329530
|
|
ov01_02329530: ; 0x02329530
|
|
ldr r0, _02329540 ; =ov01_0233C0C0
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_02329540: .word ov01_0233C0C0
|
|
arm_func_end ov01_02329530
|
|
|
|
arm_func_start ov01_02329544
|
|
ov01_02329544: ; 0x02329544
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02329568 ; =ov01_0233C240
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
bl ov01_02329A38
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329568: .word ov01_0233C240
|
|
arm_func_end ov01_02329544
|
|
|
|
arm_func_start ov01_0232956C
|
|
ov01_0232956C: ; 0x0232956C
|
|
ldr r0, _02329578 ; =ov01_0233C0C0
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_02329578: .word ov01_0233C0C0
|
|
arm_func_end ov01_0232956C
|
|
|
|
arm_func_start ov01_0232957C
|
|
ov01_0232957C: ; 0x0232957C
|
|
ldr r0, _0232958C ; =ov01_0233C0C0
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232958C: .word ov01_0233C0C0
|
|
arm_func_end ov01_0232957C
|
|
|
|
arm_func_start ov01_02329590
|
|
ov01_02329590: ; 0x02329590
|
|
stmdb sp!, {r3, lr}
|
|
mov r3, r0
|
|
mov ip, #0x1e
|
|
ldr r0, _023295C0 ; =ov01_023295C4
|
|
mov r1, #3
|
|
mov r2, #0x11
|
|
str ip, [sp]
|
|
bl ov00_022C1610
|
|
cmp r0, #2
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023295C0: .word ov01_023295C4
|
|
arm_func_end ov01_02329590
|
|
|
|
arm_func_start ov01_023295C4
|
|
ov01_023295C4: ; 0x023295C4
|
|
stmdb sp!, {r3, lr}
|
|
ldrh r1, [r0, #2]
|
|
cmp r1, #0
|
|
beq _023295DC
|
|
bl ov01_0232AB88
|
|
ldmia sp!, {r3, pc}
|
|
_023295DC:
|
|
ldr r1, _02329618 ; =ov01_0233C240
|
|
ldrh r3, [r0, #0xa]
|
|
ldrh r2, [r1]
|
|
cmp r2, r3
|
|
strhih r3, [r1]
|
|
ldrhih r2, [r0, #8]
|
|
strhih r2, [r1, #6]
|
|
ldrh r0, [r0, #8]
|
|
bl ov01_0232961C
|
|
cmp r0, #0
|
|
beq _02329610
|
|
bl ov01_02329590
|
|
ldmia sp!, {r3, pc}
|
|
_02329610:
|
|
bl ov01_0232AB88
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329618: .word ov01_0233C240
|
|
arm_func_end ov01_023295C4
|
|
|
|
arm_func_start ov01_0232961C
|
|
ov01_0232961C: ; 0x0232961C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov00_022BF640
|
|
mov r2, #1
|
|
b _02329640
|
|
_02329630:
|
|
sub r1, r4, #1
|
|
tst r0, r2, lsl r1
|
|
movne r0, r4
|
|
ldmneia sp!, {r4, pc}
|
|
_02329640:
|
|
add r1, r4, #1
|
|
mov r1, r1, lsl #0x10
|
|
mov r4, r1, lsr #0x10
|
|
cmp r4, #0xe
|
|
bls _02329630
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov01_0232961C
|
|
|
|
arm_func_start ov01_0232965C
|
|
ov01_0232965C: ; 0x0232965C
|
|
stmdb sp!, {r4, lr}
|
|
ldr r4, _02329828 ; =ov01_0233C0C0
|
|
mov lr, #0
|
|
str lr, [r4, #8]
|
|
ldr ip, _0232982C ; =ov01_0233C240
|
|
str lr, [r4, #4]
|
|
str lr, [ip, #0x7c]
|
|
strh lr, [ip, #8]
|
|
strh r3, [ip, #4]
|
|
str r1, [ip, #0x30]
|
|
str lr, [ip, #0x14]
|
|
mov r4, r0
|
|
str r2, [ip, #0xc]
|
|
str r4, [ip, #0x4c]
|
|
str lr, [ip, #0x74]
|
|
str lr, [ip, #0x2c]
|
|
mov r0, #0xf20
|
|
mov r1, #8
|
|
str lr, [ip, #0x18]
|
|
bl MemAlloc
|
|
ldr r2, _0232982C ; =ov01_0233C240
|
|
mov r1, #8
|
|
str r0, [r2, #0x10]
|
|
mov r0, #0x60
|
|
bl MemAlloc
|
|
ldr r2, _0232982C ; =ov01_0233C240
|
|
add r1, r0, #0x1f
|
|
str r0, [r2, #0x24]
|
|
bic r3, r1, #0x1f
|
|
mov r0, #0x40
|
|
mov r1, #8
|
|
str r3, [r2, #0x20]
|
|
bl MemAlloc
|
|
ldr r2, _0232982C ; =ov01_0233C240
|
|
add r1, r0, #0x1f
|
|
str r0, [r2, #0x70]
|
|
bic r3, r1, #0x1f
|
|
mov r0, #0xe0
|
|
mov r1, #8
|
|
str r3, [r2, #0x28]
|
|
bl MemAlloc
|
|
ldr r1, _0232982C ; =ov01_0233C240
|
|
add r2, r0, #0x1f
|
|
str r0, [r1, #0x38]
|
|
bic r0, r2, #0x1f
|
|
str r0, [r1, #0x6c]
|
|
ldr r0, [r1, #0x30]
|
|
cmp r0, #0
|
|
beq _02329760
|
|
mov r0, #0x840
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _0232982C ; =ov01_0233C240
|
|
add r1, r0, #0x1f
|
|
str r0, [r2, #0x54]
|
|
bic r3, r1, #0x1f
|
|
mov r0, #0x220
|
|
mov r1, #8
|
|
str r3, [r2, #0x50]
|
|
bl MemAlloc
|
|
ldr r1, _0232982C ; =ov01_0233C240
|
|
add r2, r0, #0x1f
|
|
str r0, [r1, #0x5c]
|
|
bic r0, r2, #0x1f
|
|
str r0, [r1, #0x58]
|
|
_02329760:
|
|
ldr r0, _0232982C ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x60]
|
|
ldrh r1, [r4, #0x34]
|
|
ldrh r0, [r4, #0x36]
|
|
ldr r2, _0232982C ; =ov01_0233C240
|
|
add r1, r1, #0x23
|
|
add r0, r0, #0x21
|
|
bic r3, r1, #0x1f
|
|
bic r0, r0, #0x1f
|
|
cmp r3, r0
|
|
movle r3, r0
|
|
add r0, r3, #0x20
|
|
mov r1, #8
|
|
str r3, [r2, #0x34]
|
|
bl MemAlloc
|
|
ldr r1, _0232982C ; =ov01_0233C240
|
|
add r2, r0, #0x1f
|
|
str r0, [r1, #0x40]
|
|
bic r0, r2, #0x1f
|
|
str r0, [r1, #0x3c]
|
|
ldrh r2, [r4, #0x36]
|
|
ldrh r0, [r4, #0x34]
|
|
ldrh r1, [r4, #0x10]
|
|
add r2, r2, #0xe
|
|
add r0, r0, #0x55
|
|
mul r1, r2, r1
|
|
add r1, r1, #0x29
|
|
bic r1, r1, #0x1f
|
|
mov r3, r1, lsl #1
|
|
bic r0, r0, #0x1f
|
|
cmp r3, r0, lsl #1
|
|
mov r0, r0, lsl #1
|
|
movle r3, r0
|
|
ldr r2, _0232982C ; =ov01_0233C240
|
|
add r0, r3, #0x20
|
|
mov r1, #8
|
|
str r3, [r2, #0x44]
|
|
bl MemAlloc
|
|
ldr r1, _0232982C ; =ov01_0233C240
|
|
add r2, r0, #0x1f
|
|
str r0, [r1, #0x1c]
|
|
bic r0, r2, #0x1f
|
|
str r0, [r1, #0x48]
|
|
ldr r0, [r1, #0x10]
|
|
mov r1, #2
|
|
add r0, r0, #0x1f
|
|
bic r0, r0, #0x1f
|
|
bl ov00_022BE964
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02329828: .word ov01_0233C0C0
|
|
_0232982C: .word ov01_0233C240
|
|
arm_func_end ov01_0232965C
|
|
|
|
arm_func_start ov01_02329830
|
|
ov01_02329830: ; 0x02329830
|
|
stmdb sp!, {r3, lr}
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r0, #0xd
|
|
bl ov00_022BF308
|
|
ldr r0, _023298E0 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x7c]
|
|
cmp r0, #0
|
|
cmpne r0, #2
|
|
ldmneia sp!, {r3, pc}
|
|
bl ov00_022BEB74
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _023298E0 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x1c]
|
|
bl MemFree
|
|
ldr r0, _023298E0 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x40]
|
|
bl MemFree
|
|
ldr r0, _023298E0 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x30]
|
|
cmp r1, #0
|
|
beq _023298A0
|
|
ldr r0, [r0, #0x5c]
|
|
bl MemFree
|
|
ldr r0, _023298E0 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x54]
|
|
bl MemFree
|
|
_023298A0:
|
|
ldr r0, _023298E0 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x38]
|
|
bl MemFree
|
|
ldr r0, _023298E0 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x70]
|
|
bl MemFree
|
|
ldr r0, _023298E0 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x24]
|
|
bl MemFree
|
|
ldr r0, _023298E0 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x10]
|
|
bl MemFree
|
|
ldr r0, _023298E4 ; =ov01_0233C0C0
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023298E0: .word ov01_0233C240
|
|
_023298E4: .word ov01_0233C0C0
|
|
arm_func_end ov01_02329830
|
|
|
|
arm_func_start ov01_023298E8
|
|
ov01_023298E8: ; 0x023298E8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _02329994 ; =ov01_0233C0C0
|
|
mov r3, #0
|
|
mov r5, r0
|
|
mov r4, r1
|
|
str r3, [r2, #0x10]
|
|
bl ov00_022BF96C
|
|
ldr r2, _02329998 ; =ov01_0233C240
|
|
ldr r1, _02329994 ; =ov01_0233C0C0
|
|
strh r0, [r2, #2]
|
|
str r5, [r1, #0x14]
|
|
strh r4, [r1]
|
|
ldr r0, [r2, #0x7c]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02329928: ; jump table
|
|
b _02329940 ; case 0
|
|
b _02329958 ; case 1
|
|
ldmia sp!, {r3, r4, r5, pc} ; case 2
|
|
b _02329970 ; case 3
|
|
ldmia sp!, {r3, r4, r5, pc} ; case 4
|
|
b _0232997C ; case 5
|
|
_02329940:
|
|
mov r0, #3
|
|
str r0, [r2, #0x7c]
|
|
mov r0, #4
|
|
str r0, [r2, #0x78]
|
|
bl ov01_0232AA8C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02329958:
|
|
mov r0, #3
|
|
str r0, [r2, #0x7c]
|
|
mov r0, #4
|
|
str r0, [r2, #0x78]
|
|
bl ov01_0232AAEC
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02329970:
|
|
mov r0, #4
|
|
str r0, [r2, #0x78]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0232997C:
|
|
mov r0, #3
|
|
str r0, [r2, #0x7c]
|
|
mov r0, #4
|
|
str r0, [r2, #0x78]
|
|
bl ov01_0232AB88
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02329994: .word ov01_0233C0C0
|
|
_02329998: .word ov01_0233C240
|
|
arm_func_end ov01_023298E8
|
|
|
|
arm_func_start ov01_0232999C
|
|
ov01_0232999C: ; 0x0232999C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _02329A30 ; =ov01_0233C0C0
|
|
mov r2, #0
|
|
str r0, [r1, #0xc]
|
|
ldr r0, _02329A34 ; =ov01_0233C240
|
|
str r2, [r1, #0x10]
|
|
ldr r1, [r0, #0x7c]
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
ldmia sp!, {r3, pc}
|
|
_023299C4: ; jump table
|
|
b _023299DC ; case 0
|
|
b _023299F4 ; case 1
|
|
ldmia sp!, {r3, pc} ; case 2
|
|
b _02329A0C ; case 3
|
|
b _02329A18 ; case 4
|
|
ldmia sp!, {r3, pc} ; case 5
|
|
_023299DC:
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #5
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AA8C
|
|
ldmia sp!, {r3, pc}
|
|
_023299F4:
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #5
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AAEC
|
|
ldmia sp!, {r3, pc}
|
|
_02329A0C:
|
|
mov r1, #5
|
|
str r1, [r0, #0x78]
|
|
ldmia sp!, {r3, pc}
|
|
_02329A18:
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #5
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329A30: .word ov01_0233C0C0
|
|
_02329A34: .word ov01_0233C240
|
|
arm_func_end ov01_0232999C
|
|
|
|
arm_func_start ov01_02329A38
|
|
ov01_02329A38: ; 0x02329A38
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02329AA4 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x7c]
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
ldmia sp!, {r3, pc}
|
|
_02329A50: ; jump table
|
|
ldmia sp!, {r3, pc} ; case 0
|
|
b _02329A68 ; case 1
|
|
ldmia sp!, {r3, pc} ; case 2
|
|
b _02329A80 ; case 3
|
|
b _02329A8C ; case 4
|
|
b _02329A8C ; case 5
|
|
_02329A68:
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AABC
|
|
ldmia sp!, {r3, pc}
|
|
_02329A80:
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
ldmia sp!, {r3, pc}
|
|
_02329A8C:
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329AA4: .word ov01_0233C240
|
|
arm_func_end ov01_02329A38
|
|
|
|
arm_func_start ov01_02329AA8
|
|
ov01_02329AA8: ; 0x02329AA8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02329B14 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x7c]
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
ldmia sp!, {r3, pc}
|
|
_02329AC0: ; jump table
|
|
b _02329AD8 ; case 0
|
|
ldmia sp!, {r3, pc} ; case 1
|
|
ldmia sp!, {r3, pc} ; case 2
|
|
b _02329AF0 ; case 3
|
|
b _02329AFC ; case 4
|
|
b _02329AFC ; case 5
|
|
_02329AD8:
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #1
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AA8C
|
|
ldmia sp!, {r3, pc}
|
|
_02329AF0:
|
|
mov r1, #1
|
|
str r1, [r0, #0x78]
|
|
ldmia sp!, {r3, pc}
|
|
_02329AFC:
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #1
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329B14: .word ov01_0233C240
|
|
arm_func_end ov01_02329AA8
|
|
|
|
arm_func_start ov01_02329B18
|
|
ov01_02329B18: ; 0x02329B18
|
|
ldr r0, _02329B24 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x7c]
|
|
bx lr
|
|
.align 2, 0
|
|
_02329B24: .word ov01_0233C240
|
|
arm_func_end ov01_02329B18
|
|
|
|
arm_func_start ov01_02329B28
|
|
ov01_02329B28: ; 0x02329B28
|
|
ldr r0, _02329B34 ; =ov01_0233C240
|
|
ldrh r0, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_02329B34: .word ov01_0233C240
|
|
arm_func_end ov01_02329B28
|
|
|
|
arm_func_start ov01_02329B38
|
|
ov01_02329B38: ; 0x02329B38
|
|
stmdb sp!, {r3, lr}
|
|
ldr r2, _02329B6C ; =ov01_0233C240
|
|
ldr r3, [r2, #0x20]
|
|
ldrh r3, [r3, #0x34]
|
|
cmp r1, r3
|
|
ldmhiia sp!, {r3, pc}
|
|
ldr r3, [r2, #0x74]
|
|
cmp r3, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r3, #0
|
|
str r3, [r2, #0x74]
|
|
bl ov01_0232AD60
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329B6C: .word ov01_0233C240
|
|
arm_func_end ov01_02329B38
|
|
|
|
arm_func_start ov01_02329B70
|
|
ov01_02329B70: ; 0x02329B70
|
|
stmdb sp!, {r3, lr}
|
|
ldr r2, _02329BA4 ; =ov01_0233C240
|
|
ldr r3, [r2, #0x4c]
|
|
ldrh r3, [r3, #0x36]
|
|
cmp r1, r3
|
|
ldmhiia sp!, {r3, pc}
|
|
ldr r3, [r2, #0x74]
|
|
cmp r3, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r3, #0
|
|
str r3, [r2, #0x74]
|
|
bl ov01_0232AD60
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329BA4: .word ov01_0233C240
|
|
arm_func_end ov01_02329B70
|
|
|
|
arm_func_start ov01_02329BA8
|
|
ov01_02329BA8: ; 0x02329BA8
|
|
ldr r1, _02329BB4 ; =ov01_0233C240
|
|
str r0, [r1, #0x2c]
|
|
bx lr
|
|
.align 2, 0
|
|
_02329BB4: .word ov01_0233C240
|
|
arm_func_end ov01_02329BA8
|
|
|
|
arm_func_start ov01_02329BB8
|
|
ov01_02329BB8: ; 0x02329BB8
|
|
ldr r1, _02329BC4 ; =ov01_0233C240
|
|
str r0, [r1, #0x18]
|
|
bx lr
|
|
.align 2, 0
|
|
_02329BC4: .word ov01_0233C240
|
|
arm_func_end ov01_02329BB8
|
|
|
|
arm_func_start ov01_02329BC8
|
|
ov01_02329BC8: ; 0x02329BC8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _02329C2C ; =ov01_0233C240
|
|
mov r2, #0x40
|
|
ldr r0, [r1, #0x4c]
|
|
ldr r1, [r1, #0x20]
|
|
bl ArrayCopy32
|
|
ldr r0, _02329C2C ; =ov01_0233C240
|
|
ldrh r1, [r0, #6]
|
|
ldr r0, [r0, #0x20]
|
|
strh r1, [r0, #0x32]
|
|
bl ov00_022BF6F0
|
|
ldr r2, _02329C2C ; =ov01_0233C240
|
|
ldr r1, _02329C30 ; =ov01_0233C0C0
|
|
ldr r3, [r2, #0x20]
|
|
strh r0, [r3, #0x18]
|
|
ldrh r3, [r2, #2]
|
|
ldr r0, [r2, #0x20]
|
|
strh r3, [r0, #0xc]
|
|
ldr r3, [r1, #0x14]
|
|
ldr r0, [r2, #0x20]
|
|
str r3, [r0]
|
|
ldrh r1, [r1]
|
|
ldr r0, [r2, #0x20]
|
|
strh r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329C2C: .word ov01_0233C240
|
|
_02329C30: .word ov01_0233C0C0
|
|
arm_func_end ov01_02329BC8
|
|
|
|
arm_func_start ov01_02329C34
|
|
ov01_02329C34: ; 0x02329C34
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02329CA4 ; =ov01_0233C240
|
|
ldr r2, [r0, #0x6c]
|
|
ldr r1, [r0, #0x28]
|
|
str r2, [r1]
|
|
ldr r1, [r0, #0x4c]
|
|
ldr r0, [r0, #0x28]
|
|
ldrh r1, [r1, #0x32]
|
|
strh r1, [r0, #4]
|
|
bl ov00_022BF780
|
|
ldr r1, _02329CA4 ; =ov01_0233C240
|
|
mov r2, #0xff
|
|
ldr r3, [r1, #0x28]
|
|
strh r0, [r3, #6]
|
|
ldr r0, [r1, #0x28]
|
|
strb r2, [r0, #8]
|
|
ldr r0, [r1, #0x28]
|
|
strb r2, [r0, #9]
|
|
ldr r0, [r1, #0x28]
|
|
strb r2, [r0, #0xa]
|
|
ldr r0, [r1, #0x28]
|
|
strb r2, [r0, #0xb]
|
|
ldr r0, [r1, #0x28]
|
|
strb r2, [r0, #0xc]
|
|
ldr r0, [r1, #0x28]
|
|
strb r2, [r0, #0xd]
|
|
bl ov01_02329CA8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329CA4: .word ov01_0233C240
|
|
arm_func_end ov01_02329C34
|
|
|
|
arm_func_start ov01_02329CA8
|
|
ov01_02329CA8: ; 0x02329CA8
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_022BF640
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r1, _02329D28 ; =ov01_0233C240
|
|
mov ip, #0
|
|
ldr lr, [r1, #0x28]
|
|
mov r3, #1
|
|
b _02329D18
|
|
_02329CD0:
|
|
ldrh r1, [lr, #4]
|
|
add r1, r1, ip
|
|
mov r2, r1, lsr #0x1f
|
|
rsb r1, r2, r1, lsl #28
|
|
add r1, r2, r1, ror #28
|
|
tst r0, r3, lsl r1
|
|
beq _02329D14
|
|
ldr r0, _02329D28 ; =ov01_0233C240
|
|
ldr r2, [r0, #0x28]
|
|
ldrh r0, [r2, #4]
|
|
add r0, r0, ip
|
|
mov r1, r0, lsr #0x1f
|
|
rsb r0, r1, r0, lsl #28
|
|
add r0, r1, r0, ror #28
|
|
add r0, r0, #1
|
|
strh r0, [r2, #4]
|
|
b _02329D20
|
|
_02329D14:
|
|
add ip, ip, #1
|
|
_02329D18:
|
|
cmp ip, #0x10
|
|
blt _02329CD0
|
|
_02329D20:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02329D28: .word ov01_0233C240
|
|
arm_func_end ov01_02329CA8
|
|
|
|
arm_func_start ov01_02329D2C
|
|
ov01_02329D2C: ; 0x02329D2C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r4, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _02329D90
|
|
ldr r0, _02329DA8 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
b _02329D9C
|
|
_02329D5C: ; jump table
|
|
b _02329D74 ; case 0
|
|
b _02329D7C ; case 1
|
|
b _02329D9C ; case 2
|
|
b _02329D9C ; case 3
|
|
b _02329D88 ; case 4
|
|
b _02329D88 ; case 5
|
|
_02329D74:
|
|
bl ov01_0232AABC
|
|
b _02329D9C
|
|
_02329D7C:
|
|
mov r1, #1
|
|
str r1, [r0, #0x7c]
|
|
b _02329D9C
|
|
_02329D88:
|
|
bl ov01_0232AAEC
|
|
b _02329D9C
|
|
_02329D90:
|
|
ldr r0, _02329DA8 ; =ov01_0233C240
|
|
mov r1, #2
|
|
str r1, [r0, #0x7c]
|
|
_02329D9C:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02329DA8: .word ov01_0233C240
|
|
arm_func_end ov01_02329D2C
|
|
|
|
arm_func_start ov01_02329DAC
|
|
ov01_02329DAC: ; 0x02329DAC
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r4, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _02329E44
|
|
ldr r1, _02329E5C ; =ov01_0233C240
|
|
ldr r0, [r1, #0x78]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _02329E50
|
|
_02329DDC: ; jump table
|
|
b _02329DF4 ; case 0
|
|
b _02329E00 ; case 1
|
|
b _02329E50 ; case 2
|
|
b _02329E50 ; case 3
|
|
b _02329E10 ; case 4
|
|
b _02329E2C ; case 5
|
|
_02329DF4:
|
|
mov r0, #0
|
|
str r0, [r1, #0x7c]
|
|
b _02329E50
|
|
_02329E00:
|
|
mov r0, #3
|
|
str r0, [r1, #0x7c]
|
|
bl ov01_0232AA8C
|
|
b _02329E50
|
|
_02329E10:
|
|
mov r2, #0
|
|
ldr r0, _02329E60 ; =ov01_0233C0C0
|
|
str r2, [r1, #0x7c]
|
|
ldrh r1, [r0]
|
|
ldr r0, [r0, #0x14]
|
|
bl ov01_023298E8
|
|
b _02329E50
|
|
_02329E2C:
|
|
mov r2, #0
|
|
ldr r0, _02329E60 ; =ov01_0233C0C0
|
|
str r2, [r1, #0x7c]
|
|
ldr r0, [r0, #0xc]
|
|
bl ov01_0232999C
|
|
b _02329E50
|
|
_02329E44:
|
|
ldr r0, _02329E5C ; =ov01_0233C240
|
|
mov r1, #2
|
|
str r1, [r0, #0x7c]
|
|
_02329E50:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02329E5C: .word ov01_0233C240
|
|
_02329E60: .word ov01_0233C0C0
|
|
arm_func_end ov01_02329DAC
|
|
|
|
arm_func_start ov01_02329E64
|
|
ov01_02329E64: ; 0x02329E64
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r4, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _02329FA8
|
|
ldr r0, _02329FC0 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _02329FB4
|
|
_02329E94: ; jump table
|
|
b _02329EAC ; case 0
|
|
b _02329EAC ; case 1
|
|
b _02329FB4 ; case 2
|
|
b _02329FB4 ; case 3
|
|
b _02329EB4 ; case 4
|
|
b _02329F34 ; case 5
|
|
_02329EAC:
|
|
bl ov01_0232AB28
|
|
b _02329FB4
|
|
_02329EB4:
|
|
bl ov01_0232AB58
|
|
cmp r0, #0
|
|
beq _02329FB4
|
|
ldr r1, _02329FC0 ; =ov01_0233C240
|
|
ldr r0, [r1, #0x68]
|
|
cmp r0, #1
|
|
mov r0, #0
|
|
bne _02329F08
|
|
str r0, [r1, #0x68]
|
|
strh r0, [r1, #6]
|
|
mov r2, #0x65
|
|
strh r2, [r1]
|
|
bl ov01_0232961C
|
|
cmp r0, #0
|
|
bne _02329EF8
|
|
mov r0, #0
|
|
bl ov01_0232961C
|
|
_02329EF8:
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov01_02329590
|
|
mov r0, #1
|
|
_02329F08:
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
bl ov01_02329BC8
|
|
bl ov01_0232AC00
|
|
cmp r0, #0
|
|
bne _02329FB4
|
|
ldr r0, _02329FC0 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _02329FB4
|
|
_02329F34:
|
|
bl ov01_0232AB58
|
|
cmp r0, #1
|
|
bne _02329FB4
|
|
ldr r0, _02329FC4 ; =ov01_0233C0C0
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
bne _02329F88
|
|
bl ov01_02329C34
|
|
cmp r0, #0
|
|
ldreq r0, _02329FC0 ; =ov01_0233C240
|
|
moveq r1, #2
|
|
streq r1, [r0, #0x7c]
|
|
beq _02329FB4
|
|
bl ov01_0232AC2C
|
|
cmp r0, #0
|
|
bne _02329FB4
|
|
ldr r0, _02329FC0 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _02329FB4
|
|
_02329F88:
|
|
bl ov01_0232AC78
|
|
cmp r0, #0
|
|
bne _02329FB4
|
|
ldr r0, _02329FC0 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _02329FB4
|
|
_02329FA8:
|
|
ldr r0, _02329FC0 ; =ov01_0233C240
|
|
mov r1, #2
|
|
str r1, [r0, #0x7c]
|
|
_02329FB4:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02329FC0: .word ov01_0233C240
|
|
_02329FC4: .word ov01_0233C0C0
|
|
arm_func_end ov01_02329E64
|
|
|
|
arm_func_start ov01_02329FC8
|
|
ov01_02329FC8: ; 0x02329FC8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r4, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232A02C
|
|
ldr r0, _0232A044 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
b _0232A038
|
|
_02329FF8: ; jump table
|
|
b _0232A010 ; case 0
|
|
b _0232A018 ; case 1
|
|
b _0232A038 ; case 2
|
|
b _0232A038 ; case 3
|
|
b _0232A024 ; case 4
|
|
b _0232A024 ; case 5
|
|
_0232A010:
|
|
bl ov01_0232AABC
|
|
b _0232A038
|
|
_0232A018:
|
|
mov r1, #1
|
|
str r1, [r0, #0x7c]
|
|
b _0232A038
|
|
_0232A024:
|
|
bl ov01_0232AAEC
|
|
b _0232A038
|
|
_0232A02C:
|
|
ldr r0, _0232A044 ; =ov01_0233C240
|
|
mov r1, #2
|
|
str r1, [r0, #0x7c]
|
|
_0232A038:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232A044: .word ov01_0233C240
|
|
arm_func_end ov01_02329FC8
|
|
|
|
arm_func_start ov01_0232A048
|
|
ov01_0232A048: ; 0x0232A048
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r4, #2]
|
|
cmp r1, #8
|
|
ldreq r1, _0232A074 ; =ov01_0233C240
|
|
moveq r2, #2
|
|
streq r2, [r1, #0x78]
|
|
streq r2, [r1, #0x7c]
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232A074: .word ov01_0233C240
|
|
arm_func_end ov01_0232A048
|
|
|
|
arm_func_start sub_0232A078
|
|
sub_0232A078: ; 0x0232A078
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r5, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232A174
|
|
ldr r0, _0232A18C ; =ov01_0233C240
|
|
mov r1, #0
|
|
strh r1, [r0, #8]
|
|
ldr r1, [r0, #0x18]
|
|
cmp r1, #0
|
|
beq _0232A0B4
|
|
mov r0, r5
|
|
blx r1
|
|
_0232A0B4:
|
|
ldr r0, _0232A18C ; =ov01_0233C240
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232A180
|
|
_0232A0C8: ; jump table
|
|
b _0232A0E0 ; case 0
|
|
b _0232A0E0 ; case 1
|
|
b _0232A180 ; case 2
|
|
b _0232A180 ; case 3
|
|
b _0232A0E8 ; case 4
|
|
b _0232A10C ; case 5
|
|
_0232A0E0:
|
|
bl ov01_0232AB28
|
|
b _0232A180
|
|
_0232A0E8:
|
|
bl ov01_02329BC8
|
|
bl ov01_0232AC00
|
|
cmp r0, #0
|
|
bne _0232A180
|
|
ldr r0, _0232A18C ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A180
|
|
_0232A10C:
|
|
ldr r0, _0232A190 ; =ov01_0233C0C0
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
bne _0232A154
|
|
bl ov01_02329C34
|
|
cmp r0, #0
|
|
ldreq r0, _0232A18C ; =ov01_0233C240
|
|
moveq r1, #2
|
|
streq r1, [r0, #0x7c]
|
|
beq _0232A180
|
|
bl ov01_0232AC2C
|
|
cmp r0, #0
|
|
bne _0232A180
|
|
ldr r0, _0232A18C ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A180
|
|
_0232A154:
|
|
bl ov01_0232AC78
|
|
cmp r0, #0
|
|
bne _0232A180
|
|
ldr r0, _0232A18C ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A180
|
|
_0232A174:
|
|
ldr r0, _0232A18C ; =ov01_0233C240
|
|
mov r1, #2
|
|
str r1, [r0, #0x7c]
|
|
_0232A180:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0232A18C: .word ov01_0233C240
|
|
_0232A190: .word ov01_0233C0C0
|
|
arm_func_end sub_0232A078
|
|
|
|
arm_func_start ov01_0232A194
|
|
ov01_0232A194: ; 0x0232A194
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r5, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232A218
|
|
ldr r0, _0232A240 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
b _0232A234
|
|
_0232A1C4: ; jump table
|
|
b _0232A1DC ; case 0
|
|
b _0232A1DC ; case 1
|
|
b _0232A234 ; case 2
|
|
b _0232A234 ; case 3
|
|
b _0232A1E4 ; case 4
|
|
b _0232A208 ; case 5
|
|
_0232A1DC:
|
|
bl ov01_0232AB88
|
|
b _0232A234
|
|
_0232A1E4:
|
|
ldr r0, _0232A244 ; =ov01_0232A24C
|
|
bl ov00_022BFD9C
|
|
cmp r0, #2
|
|
beq _0232A234
|
|
ldr r0, _0232A240 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A234
|
|
_0232A208:
|
|
mov r1, #5
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A234
|
|
_0232A218:
|
|
ldr r0, _0232A240 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
ldrh r1, [r5, #2]
|
|
ldr r0, _0232A248 ; =ov01_0233C0C0
|
|
str r1, [r0, #4]
|
|
bl ov01_0232AB88
|
|
_0232A234:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0232A240: .word ov01_0233C240
|
|
_0232A244: .word ov01_0232A24C
|
|
_0232A248: .word ov01_0233C0C0
|
|
arm_func_end ov01_0232A194
|
|
|
|
arm_func_start ov01_0232A24C
|
|
ov01_0232A24C: ; 0x0232A24C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r5, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232A35C
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #7
|
|
bgt _0232A294
|
|
bge _0232A318
|
|
cmp r0, #2
|
|
bgt _0232A36C
|
|
cmp r0, #0
|
|
blt _0232A36C
|
|
beq _0232A2AC
|
|
cmp r0, #2
|
|
b _0232A36C
|
|
_0232A294:
|
|
cmp r0, #9
|
|
bgt _0232A2A4
|
|
beq _0232A334
|
|
b _0232A36C
|
|
_0232A2A4:
|
|
cmp r0, #0x1a
|
|
b _0232A36C
|
|
_0232A2AC:
|
|
ldr r0, _0232A378 ; =ov01_0233C240
|
|
mov r1, #0
|
|
strh r1, [r0, #8]
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
b _0232A36C
|
|
_0232A2C8: ; jump table
|
|
b _0232A2E0 ; case 0
|
|
b _0232A2E0 ; case 1
|
|
b _0232A36C ; case 2
|
|
b _0232A36C ; case 3
|
|
b _0232A2E8 ; case 4
|
|
b _0232A308 ; case 5
|
|
_0232A2E0:
|
|
bl ov01_0232AB88
|
|
b _0232A36C
|
|
_0232A2E8:
|
|
bl ov01_0232ACD8
|
|
cmp r0, #0
|
|
bne _0232A36C
|
|
ldr r0, _0232A378 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A36C
|
|
_0232A308:
|
|
mov r1, #5
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A36C
|
|
_0232A318:
|
|
ldr r0, _0232A378 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x18]
|
|
cmp r1, #0
|
|
beq _0232A36C
|
|
mov r0, r5
|
|
blx r1
|
|
b _0232A36C
|
|
_0232A334:
|
|
ldr r0, _0232A378 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x18]
|
|
cmp r1, #0
|
|
beq _0232A34C
|
|
mov r0, r5
|
|
blx r1
|
|
_0232A34C:
|
|
ldr r0, _0232A37C ; =ov01_0233C0C0
|
|
mov r1, #1
|
|
str r1, [r0, #8]
|
|
b _0232A36C
|
|
_0232A35C:
|
|
ldr r0, _0232A378 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
_0232A36C:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0232A378: .word ov01_0233C240
|
|
_0232A37C: .word ov01_0233C0C0
|
|
arm_func_end ov01_0232A24C
|
|
|
|
arm_func_start ov01_0232A380
|
|
ov01_0232A380: ; 0x0232A380
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r5, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232A508
|
|
ldr r1, _0232A524 ; =ov01_0233C240
|
|
ldr r0, [r1, #0x78]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232A518
|
|
_0232A3B0: ; jump table
|
|
b _0232A3C8 ; case 0
|
|
b _0232A3C8 ; case 1
|
|
b _0232A518 ; case 2
|
|
b _0232A518 ; case 3
|
|
b _0232A3D0 ; case 4
|
|
b _0232A3F0 ; case 5
|
|
_0232A3C8:
|
|
bl ov01_0232AB88
|
|
b _0232A518
|
|
_0232A3D0:
|
|
bl ov01_0232AC58
|
|
cmp r0, #0
|
|
bne _0232A518
|
|
ldr r0, _0232A524 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A518
|
|
_0232A3F0:
|
|
ldr r0, _0232A528 ; =ov01_0233C0C0
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
bne _0232A518
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #4
|
|
beq _0232A4C4
|
|
cmp r0, #5
|
|
bne _0232A4F0
|
|
ldr r0, [r1, #0x6c]
|
|
mov r1, #0xc0
|
|
bl DC_InvalidateRange
|
|
ldr r1, _0232A524 ; =ov01_0233C240
|
|
ldr r0, [r1, #0x60]
|
|
cmp r0, #0
|
|
ldr r0, [r1, #0x6c]
|
|
beq _0232A458
|
|
bl sub_020851AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232A524 ; =ov01_0233C240
|
|
ldrne r1, [r0, #0x64]
|
|
cmpne r1, #0
|
|
beq _0232A4C4
|
|
ldr r0, [r0, #0x6c]
|
|
blx r1
|
|
b _0232A4C4
|
|
_0232A458:
|
|
ldrh r2, [r0, #0x3c]
|
|
cmp r2, #0x10
|
|
blo _0232A4C4
|
|
ldrh r2, [r0, #0x40]
|
|
cmp r2, #1
|
|
ldreq r1, [r1, #0x4c]
|
|
ldreq r2, [r0, #0x44]
|
|
ldreq r1, [r1, #8]
|
|
cmpeq r2, r1
|
|
bne _0232A4C4
|
|
ldrb r1, [r0, #0x4b]
|
|
tst r1, #1
|
|
ldrne r1, _0232A528 ; =ov01_0233C0C0
|
|
ldrne r1, [r1, #0xc]
|
|
cmpne r1, #0
|
|
beq _0232A4C4
|
|
blx r1
|
|
cmp r0, #0
|
|
beq _0232A4C4
|
|
bl ov01_0232AC58
|
|
cmp r0, #0
|
|
bne _0232A518
|
|
ldr r0, _0232A524 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A518
|
|
_0232A4C4:
|
|
bl ov01_02329CA8
|
|
cmp r0, #0
|
|
beq _0232A518
|
|
bl ov01_0232AC2C
|
|
cmp r0, #0
|
|
bne _0232A518
|
|
ldr r0, _0232A524 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A518
|
|
_0232A4F0:
|
|
mov r0, #3
|
|
str r0, [r1, #0x7c]
|
|
mov r0, #0
|
|
str r0, [r1, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A518
|
|
_0232A508:
|
|
ldr r0, _0232A524 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
_0232A518:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0232A524: .word ov01_0233C240
|
|
_0232A528: .word ov01_0233C0C0
|
|
arm_func_end ov01_0232A380
|
|
|
|
arm_func_start ov01_0232A52C
|
|
ov01_0232A52C: ; 0x0232A52C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r4, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232A5C0
|
|
ldr r0, _0232A5DC ; =ov01_0233C240
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232A5D0
|
|
_0232A55C: ; jump table
|
|
b _0232A574 ; case 0
|
|
b _0232A574 ; case 1
|
|
b _0232A5D0 ; case 2
|
|
b _0232A5D0 ; case 3
|
|
b _0232A57C ; case 4
|
|
b _0232A5A0 ; case 5
|
|
_0232A574:
|
|
bl ov01_0232AB28
|
|
b _0232A5D0
|
|
_0232A57C:
|
|
bl ov01_02329BC8
|
|
bl ov01_0232AC00
|
|
cmp r0, #0
|
|
bne _0232A5D0
|
|
ldr r0, _0232A5DC ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A5D0
|
|
_0232A5A0:
|
|
bl ov01_0232AC78
|
|
cmp r0, #0
|
|
bne _0232A5D0
|
|
ldr r0, _0232A5DC ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A5D0
|
|
_0232A5C0:
|
|
ldr r0, _0232A5DC ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
_0232A5D0:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232A5DC: .word ov01_0233C240
|
|
arm_func_end ov01_0232A52C
|
|
|
|
arm_func_start ov01_0232A5E0
|
|
ov01_0232A5E0: ; 0x0232A5E0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r5, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232A6E8
|
|
ldr r0, _0232A748 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
b _0232A73C
|
|
_0232A610: ; jump table
|
|
b _0232A628 ; case 0
|
|
b _0232A628 ; case 1
|
|
b _0232A73C ; case 2
|
|
b _0232A73C ; case 3
|
|
b _0232A628 ; case 4
|
|
b _0232A63C ; case 5
|
|
_0232A628:
|
|
ldr r0, [r0, #0x7c]
|
|
cmp r0, #3
|
|
beq _0232A73C
|
|
bl ov01_0232AB88
|
|
b _0232A73C
|
|
_0232A63C:
|
|
ldrh r2, [r5, #8]
|
|
cmp r2, #9
|
|
bgt _0232A664
|
|
subs r1, r2, #6
|
|
addpl pc, pc, r1, lsl #2
|
|
b _0232A6CC
|
|
_0232A654: ; jump table
|
|
b _0232A73C ; case 0
|
|
b _0232A670 ; case 1
|
|
b _0232A73C ; case 2
|
|
b _0232A6A4 ; case 3
|
|
_0232A664:
|
|
cmp r2, #0x1a
|
|
beq _0232A73C
|
|
b _0232A6CC
|
|
_0232A670:
|
|
ldrh r1, [r5, #0xa]
|
|
strh r1, [r0, #8]
|
|
ldr r0, [r0, #0x7c]
|
|
cmp r0, #5
|
|
beq _0232A73C
|
|
bl ov01_0232ACD8
|
|
cmp r0, #0
|
|
bne _0232A73C
|
|
ldr r0, _0232A748 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A73C
|
|
_0232A6A4:
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
ldr r0, [r0, #0x7c]
|
|
cmp r0, #3
|
|
beq _0232A6BC
|
|
bl ov01_0232AB88
|
|
_0232A6BC:
|
|
ldr r0, _0232A74C ; =ov01_0233C0C0
|
|
mov r1, #1
|
|
str r1, [r0, #8]
|
|
b _0232A73C
|
|
_0232A6CC:
|
|
ldr r0, _0232A748 ; =ov01_0233C240
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A73C
|
|
_0232A6E8:
|
|
cmp r1, #0xb
|
|
bne _0232A708
|
|
ldr r0, _0232A748 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
ldrh r1, [r5, #2]
|
|
ldr r0, _0232A74C ; =ov01_0233C0C0
|
|
str r1, [r0, #4]
|
|
_0232A708:
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0xc
|
|
ldreq r0, _0232A748 ; =ov01_0233C240
|
|
moveq r1, #5
|
|
streq r1, [r0, #0x78]
|
|
beq _0232A738
|
|
ldr r0, _0232A748 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
ldrh r1, [r5, #2]
|
|
ldr r0, _0232A74C ; =ov01_0233C0C0
|
|
str r1, [r0, #4]
|
|
_0232A738:
|
|
bl ov01_0232AB88
|
|
_0232A73C:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0232A748: .word ov01_0233C240
|
|
_0232A74C: .word ov01_0233C0C0
|
|
arm_func_end ov01_0232A5E0
|
|
|
|
arm_func_start ov01_0232A750
|
|
ov01_0232A750: ; 0x0232A750
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #4
|
|
mov r6, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r6, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232A87C
|
|
ldrh r0, [r6, #4]
|
|
mov r5, #0
|
|
cmp r0, #0xa
|
|
beq _0232A78C
|
|
cmp r0, #0xb
|
|
cmpne r0, #0xc
|
|
b _0232A8A4
|
|
_0232A78C:
|
|
ldr r0, _0232A8B4 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
b _0232A8A4
|
|
_0232A7A0: ; jump table
|
|
b _0232A7B8 ; case 0
|
|
b _0232A7B8 ; case 1
|
|
b _0232A8A4 ; case 2
|
|
b _0232A8A4 ; case 3
|
|
b _0232A7C0 ; case 4
|
|
b _0232A7C0 ; case 5
|
|
_0232A7B8:
|
|
bl ov01_0232AB88
|
|
b _0232A8A4
|
|
_0232A7C0:
|
|
ldr r1, [r0, #0x30]
|
|
cmp r1, #0
|
|
beq _0232A844
|
|
ldr r3, [r0, #0x4c]
|
|
ldrh r0, [r0, #4]
|
|
ldrh r1, [r3, #0x10]
|
|
mov ip, #1
|
|
cmp r0, #1
|
|
add r0, r1, #1
|
|
mov r0, ip, lsl r0
|
|
sub r0, r0, #1
|
|
mov r0, r0, lsl #0x10
|
|
movhi ip, r5
|
|
mov r2, r0, lsr #0x10
|
|
str ip, [sp]
|
|
ldr r0, _0232A8B4 ; =ov01_0233C240
|
|
ldrh r3, [r3, #0x36]
|
|
ldr r0, [r0, #0x50]
|
|
mov r1, #0xc
|
|
bl ov00_022C0810
|
|
cmp r0, #0
|
|
movne r1, #0
|
|
ldreq r0, _0232A8B4 ; =ov01_0233C240
|
|
moveq r1, #1
|
|
streq r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
movne r5, #1
|
|
bne _0232A848
|
|
ldr r0, _0232A8B4 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
b _0232A848
|
|
_0232A844:
|
|
mov r5, #1
|
|
_0232A848:
|
|
cmp r5, #0
|
|
beq _0232A8A4
|
|
ldr r0, _0232A8B4 ; =ov01_0233C240
|
|
mov r1, #1
|
|
str r1, [r0, #0x74]
|
|
ldr r1, [r0, #0x78]
|
|
str r1, [r0, #0x7c]
|
|
ldr r1, [r0, #0x18]
|
|
cmp r1, #0
|
|
beq _0232A8A4
|
|
mov r0, r6
|
|
blx r1
|
|
b _0232A8A4
|
|
_0232A87C:
|
|
cmp r1, #9
|
|
cmpne r1, #0xd
|
|
cmpne r1, #0xf
|
|
beq _0232A8A4
|
|
ldr r0, _0232A8B4 ; =ov01_0233C240
|
|
mov r1, #3
|
|
str r1, [r0, #0x7c]
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
_0232A8A4:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0232A8B4: .word ov01_0233C240
|
|
arm_func_end ov01_0232A750
|
|
|
|
arm_func_start ov01_0232A8B8
|
|
ov01_0232A8B8: ; 0x0232A8B8
|
|
stmdb sp!, {r3, lr}
|
|
mov r1, r0
|
|
ldr r0, _0232A8D8 ; =ov01_0232A8DC
|
|
bl ov00_022C1688
|
|
cmp r0, #2
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232A8D8: .word ov01_0232A8DC
|
|
arm_func_end ov01_0232A8B8
|
|
|
|
arm_func_start ov01_0232A8DC
|
|
ov01_0232A8DC: ; 0x0232A8DC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r5, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232A914
|
|
ldr r0, _0232A930 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x18]
|
|
cmp r1, #0
|
|
beq _0232A924
|
|
mov r0, r5
|
|
blx r1
|
|
b _0232A924
|
|
_0232A914:
|
|
ldr r0, _0232A930 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x78]
|
|
bl ov01_0232AB88
|
|
_0232A924:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0232A930: .word ov01_0233C240
|
|
arm_func_end ov01_0232A8DC
|
|
|
|
arm_func_start ov01_0232A934
|
|
ov01_0232A934: ; 0x0232A934
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl EnableIrqFlag
|
|
ldr r1, _0232A970 ; =ov01_0233C240
|
|
mov r2, #1
|
|
str r2, [r1, #0x74]
|
|
ldr r1, [r1, #0x18]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
beq _0232A964
|
|
mov r0, r5
|
|
blx r1
|
|
_0232A964:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0232A970: .word ov01_0233C240
|
|
arm_func_end ov01_0232A934
|
|
|
|
arm_func_start ov01_0232A974
|
|
ov01_0232A974: ; 0x0232A974
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl EnableIrqFlag
|
|
ldrh r1, [r5, #2]
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
bne _0232AA7C
|
|
ldrh r0, [r5, #4]
|
|
cmp r0, #0x15
|
|
bgt _0232A9C0
|
|
bge _0232A9C8
|
|
cmp r0, #9
|
|
bgt _0232AA7C
|
|
cmp r0, #7
|
|
blt _0232AA7C
|
|
beq _0232AA7C
|
|
cmp r0, #9
|
|
beq _0232AA24
|
|
b _0232AA7C
|
|
_0232A9C0:
|
|
cmp r0, #0x1a
|
|
b _0232AA7C
|
|
_0232A9C8:
|
|
ldr r0, _0232AA88 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x7c]
|
|
cmp r1, #4
|
|
beq _0232A9E4
|
|
cmp r1, #5
|
|
beq _0232AA04
|
|
b _0232AA7C
|
|
_0232A9E4:
|
|
ldr r3, [r0, #0x2c]
|
|
cmp r3, #0
|
|
beq _0232AA7C
|
|
ldrh r0, [r5, #0x12]
|
|
ldrh r2, [r5, #0x10]
|
|
ldr r1, [r5, #0xc]
|
|
blx r3
|
|
b _0232AA7C
|
|
_0232AA04:
|
|
ldr r3, [r0, #0x2c]
|
|
cmp r3, #0
|
|
beq _0232AA7C
|
|
ldrh r2, [r5, #0x10]
|
|
ldr r1, [r5, #0xc]
|
|
mov r0, #0
|
|
blx r3
|
|
b _0232AA7C
|
|
_0232AA24:
|
|
ldr r0, _0232AA88 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x7c]
|
|
cmp r1, #4
|
|
beq _0232AA40
|
|
cmp r1, #5
|
|
beq _0232AA60
|
|
b _0232AA7C
|
|
_0232AA40:
|
|
ldr r3, [r0, #0x2c]
|
|
cmp r3, #0
|
|
beq _0232AA7C
|
|
ldrh r0, [r5, #0x12]
|
|
mov r1, #0
|
|
mov r2, r1
|
|
blx r3
|
|
b _0232AA7C
|
|
_0232AA60:
|
|
ldr r3, [r0, #0x2c]
|
|
cmp r3, #0
|
|
beq _0232AA7C
|
|
mov r0, #0
|
|
mov r1, r0
|
|
mov r2, r0
|
|
blx r3
|
|
_0232AA7C:
|
|
mov r0, r4
|
|
bl SetIrqFlag
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0232AA88: .word ov01_0233C240
|
|
arm_func_end ov01_0232A974
|
|
|
|
arm_func_start ov01_0232AA8C
|
|
ov01_0232AA8C: ; 0x0232AA8C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232AAB4 ; =ov01_02329D2C
|
|
bl ov00_022BF9E0
|
|
cmp r0, #2
|
|
ldrne r0, _0232AAB8 ; =ov01_0233C240
|
|
movne r1, #2
|
|
strne r1, [r0, #0x7c]
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232AAB4: .word ov01_02329D2C
|
|
_0232AAB8: .word ov01_0233C240
|
|
arm_func_end ov01_0232AA8C
|
|
|
|
arm_func_start ov01_0232AABC
|
|
ov01_0232AABC: ; 0x0232AABC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232AAE4 ; =ov01_02329DAC
|
|
bl ov00_022BFA54
|
|
cmp r0, #2
|
|
ldrne r0, _0232AAE8 ; =ov01_0233C240
|
|
movne r1, #2
|
|
strne r1, [r0, #0x7c]
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232AAE4: .word ov01_02329DAC
|
|
_0232AAE8: .word ov01_0233C240
|
|
arm_func_end ov01_0232AABC
|
|
|
|
arm_func_start ov01_0232AAEC
|
|
ov01_0232AAEC: ; 0x0232AAEC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0232AB20 ; =ov01_0233C240
|
|
mov r2, #1
|
|
ldr r0, _0232AB24 ; =ov01_02329E64
|
|
str r2, [r1, #0x68]
|
|
bl ov00_022BFA94
|
|
cmp r0, #2
|
|
ldrne r0, _0232AB20 ; =ov01_0233C240
|
|
movne r1, #2
|
|
strne r1, [r0, #0x7c]
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232AB20: .word ov01_0233C240
|
|
_0232AB24: .word ov01_02329E64
|
|
arm_func_end ov01_0232AAEC
|
|
|
|
arm_func_start ov01_0232AB28
|
|
ov01_0232AB28: ; 0x0232AB28
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232AB50 ; =ov01_02329FC8
|
|
bl ov00_022BFAD4
|
|
cmp r0, #2
|
|
ldrne r0, _0232AB54 ; =ov01_0233C240
|
|
movne r1, #2
|
|
strne r1, [r0, #0x7c]
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232AB50: .word ov01_02329FC8
|
|
_0232AB54: .word ov01_0233C240
|
|
arm_func_end ov01_0232AB28
|
|
|
|
arm_func_start ov01_0232AB58
|
|
ov01_0232AB58: ; 0x0232AB58
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232AB80 ; =ov01_0232A048
|
|
bl ov00_022BF2C4
|
|
cmp r0, #0
|
|
ldrne r0, _0232AB84 ; =ov01_0233C240
|
|
movne r1, #2
|
|
strne r1, [r0, #0x7c]
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232AB80: .word ov01_0232A048
|
|
_0232AB84: .word ov01_0233C240
|
|
arm_func_end ov01_0232AB58
|
|
|
|
arm_func_start ov01_0232AB88
|
|
ov01_0232AB88: ; 0x0232AB88
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232ABF8 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
beq _0232ABBC
|
|
ldr r0, [r0, #0x50]
|
|
bl ov00_022C0A64
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _0232ABF8 ; =ov01_0233C240
|
|
mov r1, #0
|
|
str r1, [r0, #0x14]
|
|
_0232ABBC:
|
|
ldr r0, _0232ABF8 ; =ov01_0233C240
|
|
ldr r1, [r0, #0x7c]
|
|
cmp r1, #3
|
|
cmpne r1, #2
|
|
movne r1, #3
|
|
strne r1, [r0, #0x7c]
|
|
ldr r0, _0232ABFC ; =sub_0232A078
|
|
bl ov00_022BFB9C
|
|
cmp r0, #2
|
|
ldrne r0, _0232ABF8 ; =ov01_0233C240
|
|
movne r1, #2
|
|
strne r1, [r0, #0x7c]
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232ABF8: .word ov01_0233C240
|
|
_0232ABFC: .word sub_0232A078
|
|
arm_func_end ov01_0232AB88
|
|
|
|
arm_func_start ov01_0232AC00
|
|
ov01_0232AC00: ; 0x0232AC00
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0232AC24 ; =ov01_0233C240
|
|
ldr r0, _0232AC28 ; =ov01_0232A194
|
|
ldr r1, [r1, #0x20]
|
|
bl ov00_022BFC14
|
|
cmp r0, #2
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232AC24: .word ov01_0233C240
|
|
_0232AC28: .word ov01_0232A194
|
|
arm_func_end ov01_0232AC00
|
|
|
|
arm_func_start ov01_0232AC2C
|
|
ov01_0232AC2C: ; 0x0232AC2C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0232AC50 ; =ov01_0233C240
|
|
ldr r0, _0232AC54 ; =ov01_0232A380
|
|
ldr r1, [r1, #0x28]
|
|
bl ov00_022BFDEC
|
|
cmp r0, #2
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232AC50: .word ov01_0233C240
|
|
_0232AC54: .word ov01_0232A380
|
|
arm_func_end ov01_0232AC2C
|
|
|
|
arm_func_start ov01_0232AC58
|
|
ov01_0232AC58: ; 0x0232AC58
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232AC74 ; =ov01_0232A52C
|
|
bl ov00_022C0028
|
|
cmp r0, #2
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232AC74: .word ov01_0232A52C
|
|
arm_func_end ov01_0232AC58
|
|
|
|
arm_func_start ov01_0232AC78
|
|
ov01_0232AC78: ; 0x0232AC78
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232ACCC ; =ov01_0233C0C0
|
|
mov r2, #0
|
|
ldr r1, [r0, #0x10]
|
|
mov r3, #1
|
|
cmp r1, #0
|
|
bne _0232ACAC
|
|
ldr r0, _0232ACD0 ; =ov01_0233C240
|
|
str r2, [sp]
|
|
ldr r1, [r0, #0x6c]
|
|
ldr r0, _0232ACD4 ; =ov01_0232A5E0
|
|
bl ov00_022C0068
|
|
b _0232ACBC
|
|
_0232ACAC:
|
|
str r2, [sp]
|
|
ldr r1, [r0, #0x10]
|
|
ldr r0, _0232ACD4 ; =ov01_0232A5E0
|
|
bl ov00_022C0068
|
|
_0232ACBC:
|
|
cmp r0, #2
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232ACCC: .word ov01_0233C0C0
|
|
_0232ACD0: .word ov01_0233C240
|
|
_0232ACD4: .word ov01_0232A5E0
|
|
arm_func_end ov01_0232AC78
|
|
|
|
arm_func_start ov01_0232ACD8
|
|
ov01_0232ACD8: ; 0x0232ACD8
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _0232AD54 ; =ov01_0233C240
|
|
ldr r0, [r0, #0x30]
|
|
cmp r0, #0
|
|
bne _0232AD0C
|
|
ldr r1, _0232AD58 ; =ov01_0232A974
|
|
mov r0, #0xd
|
|
mov r2, #0
|
|
bl ov00_022BF308
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
bne _0232AD4C
|
|
_0232AD0C:
|
|
ldr r3, _0232AD54 ; =ov01_0233C240
|
|
mov r2, #1
|
|
ldr r1, [r3, #0x34]
|
|
ldr r0, _0232AD5C ; =ov01_0232A750
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, lsr #0x10
|
|
stmia sp, {r1, r2}
|
|
ldr r2, [r3, #0x44]
|
|
ldr r1, [r3, #0x48]
|
|
mov r2, r2, lsl #0x10
|
|
ldr r3, [r3, #0x3c]
|
|
mov r2, r2, lsr #0x10
|
|
bl ov00_022C0430
|
|
cmp r0, #2
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
_0232AD4C:
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232AD54: .word ov01_0233C240
|
|
_0232AD58: .word ov01_0232A974
|
|
_0232AD5C: .word ov01_0232A750
|
|
arm_func_end ov01_0232ACD8
|
|
|
|
arm_func_start ov01_0232AD60
|
|
ov01_0232AD60: ; 0x0232AD60
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
ldr r3, _0232ADB4 ; =0x0000FFFF
|
|
mov r2, r0
|
|
str r3, [sp]
|
|
mov ip, #0xd
|
|
mov r3, r1
|
|
str ip, [sp, #4]
|
|
mov ip, #2
|
|
ldr r0, _0232ADB8 ; =ov01_0232A934
|
|
mov r1, #0
|
|
str ip, [sp, #8]
|
|
bl ov00_022C0498
|
|
cmp r0, #2
|
|
ldrne r0, _0232ADBC ; =ov01_0233C240
|
|
movne r1, #1
|
|
strne r1, [r0, #0x74]
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_0232ADB4: .word 0x0000FFFF
|
|
_0232ADB8: .word ov01_0232A934
|
|
_0232ADBC: .word ov01_0233C240
|
|
arm_func_end ov01_0232AD60
|
|
|
|
arm_func_start ov01_0232ADC0
|
|
ov01_0232ADC0: ; 0x0232ADC0
|
|
#ifdef EUROPE
|
|
#define OV01_0232ADC0_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232ADC0_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #0x160
|
|
mov r1, #0
|
|
bl MemAlloc
|
|
ldr r2, _0232AEC0 ; =ov01_0233C0D8
|
|
mov r1, #0x160
|
|
str r0, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
bl MemZero
|
|
ldr r0, _0232AEC4 ; =ov01_0233C580
|
|
mov r1, #0x200
|
|
bl MemZero
|
|
ldr r0, _0232AEC8 ; =ov01_0233C380
|
|
mov r1, #0x200
|
|
bl MemZero
|
|
ldr r2, _0232AEC0 ; =ov01_0233C0D8
|
|
mov r3, #1
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
mov r0, #0
|
|
add r1, r1, #0x100
|
|
strh r3, [r1, #0x10]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
mov lr, #0x10
|
|
str r0, [r1, #0x50]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
mov ip, #0x1e0
|
|
str r0, [r1, #0x90]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
ldr r3, _0232AECC ; =0x00000708
|
|
str r0, [r1, #0xd0]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
str r0, [r1, #0x14c]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
str lr, [r1, #0x150]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
str r0, [r1, #0x138]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
str r0, [r1, #0x148]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
str ip, [r1, #0x13c]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
str r3, [r1, #0x140]
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
mov r3, r0
|
|
str r0, [r1, #0x158]
|
|
b _0232AE88
|
|
_0232AE78:
|
|
ldr r1, [r2, OV01_0232ADC0_LOAD_OFFSET]
|
|
add r1, r1, r0, lsl #2
|
|
str r3, [r1, #0x114]
|
|
add r0, r0, #1
|
|
_0232AE88:
|
|
cmp r0, #4
|
|
blt _0232AE78
|
|
bl ov01_0232C0CC
|
|
bl ov01_0232C2E4
|
|
mov r0, r4
|
|
bl ov01_0232C0A0
|
|
ldr r2, _0232AED0 ; =ov01_0233C100
|
|
mov r1, #0
|
|
str r0, [r2, #8]
|
|
mov r0, r2
|
|
mov r2, r1
|
|
mov r3, #1
|
|
bl ov01_0232965C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232AEC0: .word ov01_0233C0D8
|
|
_0232AEC4: .word ov01_0233C580
|
|
_0232AEC8: .word ov01_0233C380
|
|
_0232AECC: .word 0x00000708
|
|
_0232AED0: .word ov01_0233C100
|
|
arm_func_end ov01_0232ADC0
|
|
|
|
arm_func_start ov01_0232AED4
|
|
ov01_0232AED4: ; 0x0232AED4
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _0232AF38 ; =ov01_0233C0D8
|
|
mov r4, r0
|
|
#ifdef EUROPE
|
|
ldr r1, [r1, #4]
|
|
#else
|
|
ldr r1, [r1]
|
|
#endif
|
|
ldr r0, _0232AF3C ; =ov01_0232B600
|
|
str r4, [r1, #0x18]
|
|
bl ov01_02329BB8
|
|
cmp r4, #0
|
|
bne _0232AF14
|
|
ldr r2, _0232AF40 ; =ov01_0232B9E8
|
|
mov r0, #0x100
|
|
mov r1, #0x20
|
|
bl ov00_022C2D60
|
|
ldr r0, _0232AF44 ; =ov01_0232B8D0
|
|
bl ov01_02329BA8
|
|
b _0232AF24
|
|
_0232AF14:
|
|
ldr r0, _0232AF40 ; =ov01_0232B9E8
|
|
bl ov00_022C2E1C
|
|
ldr r0, _0232AF48 ; =ov01_0232B960
|
|
bl ov01_02329BA8
|
|
_0232AF24:
|
|
ldr r0, _0232AF38 ; =ov01_0233C0D8
|
|
mov r1, #1
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
strb r1, [r0, #0x15e]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232AF38: .word ov01_0233C0D8
|
|
_0232AF3C: .word ov01_0232B600
|
|
_0232AF40: .word ov01_0232B9E8
|
|
_0232AF44: .word ov01_0232B8D0
|
|
_0232AF48: .word ov01_0232B960
|
|
arm_func_end ov01_0232AED4
|
|
|
|
arm_func_start ov01_0232AF4C
|
|
ov01_0232AF4C: ; 0x0232AF4C
|
|
stmdb sp!, {r3, lr}
|
|
bl ov01_02329B18
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232AFA8
|
|
_0232AF60: ; jump table
|
|
b _0232AF78 ; case 0
|
|
b _0232AF80 ; case 1
|
|
b _0232AF88 ; case 2
|
|
b _0232AF90 ; case 3
|
|
b _0232AF98 ; case 4
|
|
b _0232AFA0 ; case 5
|
|
_0232AF78:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0232AF80:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_0232AF88:
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
_0232AF90:
|
|
mov r0, #3
|
|
ldmia sp!, {r3, pc}
|
|
_0232AF98:
|
|
mov r0, #4
|
|
ldmia sp!, {r3, pc}
|
|
_0232AFA0:
|
|
mov r0, #5
|
|
ldmia sp!, {r3, pc}
|
|
_0232AFA8:
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov01_0232AF4C
|
|
|
|
arm_func_start ov01_0232AFB0
|
|
ov01_0232AFB0: ; 0x0232AFB0
|
|
ldr r0, _0232AFC0 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
ldrb r0, [r0, #0xf]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232AFC0: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232AFB0
|
|
|
|
arm_func_start ov01_0232AFC4
|
|
ov01_0232AFC4: ; 0x0232AFC4
|
|
#ifdef EUROPE
|
|
#define OV01_0232AFC4_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232AFC4_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232B008 ; =ov01_0233C0D8
|
|
ldr r0, [r0, OV01_0232AFC4_LOAD_OFFSET]
|
|
ldr r0, [r0, #0x18]
|
|
cmp r0, #1
|
|
bne _0232AFF8
|
|
bl ov01_02329520
|
|
cmp r0, #0
|
|
ldrne r1, _0232B008 ; =ov01_0233C0D8
|
|
movne r0, #1
|
|
ldrne r1, [r1, OV01_0232AFC4_LOAD_OFFSET]
|
|
strneb r0, [r1, #0x11]
|
|
ldmneia sp!, {r3, pc}
|
|
_0232AFF8:
|
|
ldr r0, _0232B008 ; =ov01_0233C0D8
|
|
ldr r0, [r0, OV01_0232AFC4_LOAD_OFFSET]
|
|
ldrb r0, [r0, #0x11]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232B008: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232AFC4
|
|
|
|
arm_func_start ov01_0232B00C
|
|
ov01_0232B00C: ; 0x0232B00C
|
|
ldr r0, _0232B01C ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
ldrb r0, [r0, #0x13]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232B01C: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B00C
|
|
|
|
arm_func_start ov01_0232B020
|
|
ov01_0232B020: ; 0x0232B020
|
|
ldr r1, _0232B03C ; =ov01_0233C0D8
|
|
mov r3, #0
|
|
#ifdef EUROPE
|
|
ldr r2, [r1, #4]
|
|
strb r3, [r2, #0xe]
|
|
ldr r1, [r1, #4]
|
|
#else
|
|
ldr r2, [r1]
|
|
strb r3, [r2, #0xe]
|
|
ldr r1, [r1]
|
|
#endif
|
|
str r0, [r1, #0x13c]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232B03C: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B020
|
|
|
|
arm_func_start ov01_0232B040
|
|
ov01_0232B040: ; 0x0232B040
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0232B064 ; =ov01_0233C0D8
|
|
mov r2, #0
|
|
#ifdef EUROPE
|
|
ldr r1, [r1, #4]
|
|
#else
|
|
ldr r1, [r1]
|
|
#endif
|
|
cmp r0, #0
|
|
strb r2, [r1, #0x11]
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov01_02329530
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232B064: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B040
|
|
|
|
arm_func_start ov01_0232B068
|
|
ov01_0232B068: ; 0x0232B068
|
|
ldr r0, _0232B07C ; =ov01_0233C0D8
|
|
mov r1, #0
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
strb r1, [r0, #0x13]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232B07C: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B068
|
|
|
|
arm_func_start ov01_0232B080
|
|
ov01_0232B080: ; 0x0232B080
|
|
#ifdef EUROPE
|
|
#define OV01_0232B080_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232B080_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232B120 ; =ov01_0233C0D8
|
|
mov r2, #0
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #8]
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #9]
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0xa]
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0xb]
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0xc]
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0xd]
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0xe]
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0xf]
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0x10]
|
|
ldr r0, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r0, #0x11]
|
|
bl ov01_02329530
|
|
ldr r0, _0232B120 ; =ov01_0233C0D8
|
|
mov r2, #0
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0x12]
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0x13]
|
|
ldr r0, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r0, #0x14]
|
|
bl ov01_0232957C
|
|
ldr r0, _0232B120 ; =ov01_0233C0D8
|
|
mov r2, #0
|
|
ldr r1, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r1, #0x15]
|
|
ldr r0, [r0, OV01_0232B080_LOAD_OFFSET]
|
|
strb r2, [r0, #0x16]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232B120: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B080
|
|
|
|
arm_func_start ov01_0232B124
|
|
ov01_0232B124: ; 0x0232B124
|
|
#ifdef EUROPE
|
|
#define OV01_0232B124_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232B124_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r0, #2
|
|
mov r5, r1
|
|
mov r4, r2
|
|
bl ov01_0232C1D8
|
|
ldr r0, _0232B188 ; =ov01_0233C0D8
|
|
ldr r0, [r0, OV01_0232B124_LOAD_OFFSET]
|
|
ldr r0, [r0, #0x18]
|
|
cmp r0, #0
|
|
bne _0232B160
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov01_023298E8
|
|
b _0232B168
|
|
_0232B160:
|
|
mov r0, r4
|
|
bl ov01_0232999C
|
|
_0232B168:
|
|
ldr r0, _0232B188 ; =ov01_0233C0D8
|
|
mov r3, #1
|
|
ldr r2, [r0, OV01_0232B124_LOAD_OFFSET]
|
|
mov r1, #0x3c
|
|
strb r3, [r2, #0x10]
|
|
ldr r0, [r0, OV01_0232B124_LOAD_OFFSET]
|
|
str r1, [r0, #0x144]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0232B188: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B124
|
|
|
|
arm_func_start ov01_0232B18C
|
|
ov01_0232B18C: ; 0x0232B18C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232B200 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r1, [r0, #4]
|
|
#else
|
|
ldr r1, [r0]
|
|
#endif
|
|
ldrb r0, [r1, #0x15e]
|
|
cmp r0, #0
|
|
beq _0232B1E8
|
|
ldr r0, [r1, #0x18]
|
|
cmp r0, #0
|
|
bne _0232B1C8
|
|
ldr r0, _0232B204 ; =ov01_0233C380
|
|
mov r1, #0x100
|
|
bl ov00_022C2F20
|
|
ldr r0, _0232B208 ; =0x0000FFFF
|
|
bl ov00_022C324C
|
|
b _0232B1DC
|
|
_0232B1C8:
|
|
ldr r0, _0232B204 ; =ov01_0233C380
|
|
mov r1, #0x20
|
|
bl ov00_022C2F44
|
|
mov r0, #1
|
|
bl ov00_022C324C
|
|
_0232B1DC:
|
|
ldr r0, _0232B20C ; =0x0000044C
|
|
bl ov00_022C2FF0
|
|
bl ov00_022C2EAC
|
|
_0232B1E8:
|
|
ldr r0, _0232B200 ; =ov01_0233C0D8
|
|
mov r1, #0
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
strb r1, [r0, #0x15e]
|
|
bl ov01_02329AA8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232B200: .word ov01_0233C0D8
|
|
_0232B204: .word ov01_0233C380
|
|
_0232B208: .word 0x0000FFFF
|
|
_0232B20C: .word 0x0000044C
|
|
arm_func_end ov01_0232B18C
|
|
|
|
arm_func_start ov01_0232B210
|
|
ov01_0232B210: ; 0x0232B210
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _0232B264 ; =ov01_0233C0D8
|
|
mov r4, r0
|
|
#ifdef EUROPE
|
|
ldr r1, [r1, #4]
|
|
#else
|
|
ldr r1, [r1]
|
|
#endif
|
|
ldrb r0, [r1, #0x15e]
|
|
cmp r0, #0
|
|
beq _0232B24C
|
|
ldr r0, [r1, #0x18]
|
|
cmp r0, #0
|
|
bne _0232B244
|
|
ldr r0, _0232B268 ; =0x0000FFFF
|
|
bl ov00_022C324C
|
|
b _0232B24C
|
|
_0232B244:
|
|
mov r0, #1
|
|
bl ov00_022C324C
|
|
_0232B24C:
|
|
cmp r4, #0
|
|
beq _0232B25C
|
|
bl ov01_02329544
|
|
ldmia sp!, {r4, pc}
|
|
_0232B25C:
|
|
bl ov01_02329A38
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232B264: .word ov01_0233C0D8
|
|
_0232B268: .word 0x0000FFFF
|
|
arm_func_end ov01_0232B210
|
|
|
|
arm_func_start ov01_0232B26C
|
|
ov01_0232B26C: ; 0x0232B26C
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x7d0
|
|
add r0, sp, #0
|
|
bl ov00_022BF3E0
|
|
ldr r0, _0232B2C8 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
ldr r0, [r0, #0x18]
|
|
cmp r0, #0
|
|
ldreqh r0, [sp]
|
|
cmpeq r0, #9
|
|
beq _0232B2B4
|
|
ldr r0, _0232B2C8 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
ldr r0, [r0, #0x18]
|
|
cmp r0, #1
|
|
ldreqh r0, [sp]
|
|
cmpeq r0, #5
|
|
bne _0232B2BC
|
|
_0232B2B4:
|
|
mov r0, #1
|
|
b _0232B2C0
|
|
_0232B2BC:
|
|
mov r0, #0
|
|
_0232B2C0:
|
|
add sp, sp, #0x7d0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232B2C8: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B26C
|
|
|
|
arm_func_start ov01_0232B2CC
|
|
ov01_0232B2CC: ; 0x0232B2CC
|
|
#ifdef EUROPE
|
|
#define OV01_0232B2CC_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232B2CC_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232B370 ; =ov01_0233C0D8
|
|
ldr r1, [r0, OV01_0232B2CC_LOAD_OFFSET]
|
|
ldrb r0, [r1, #0x15e]
|
|
cmp r0, #0
|
|
beq _0232B30C
|
|
ldr r0, [r1, #0x18]
|
|
cmp r0, #0
|
|
bne _0232B300
|
|
ldr r0, _0232B374 ; =ov01_0233C380
|
|
mov r1, #0x100
|
|
bl ov00_022C2F20
|
|
b _0232B30C
|
|
_0232B300:
|
|
ldr r0, _0232B374 ; =ov01_0233C380
|
|
mov r1, #0x20
|
|
bl ov00_022C2F44
|
|
_0232B30C:
|
|
bl ov01_02329544
|
|
ldr r0, _0232B370 ; =ov01_0233C0D8
|
|
ldr r0, [r0, OV01_0232B2CC_LOAD_OFFSET]
|
|
ldrb r0, [r0, #0x15e]
|
|
cmp r0, #0
|
|
beq _0232B338
|
|
ldr r0, _0232B378 ; =0x0000FFFF
|
|
bl ov00_022C324C
|
|
ldr r0, _0232B37C ; =0x0000044C
|
|
bl ov00_022C2FF0
|
|
bl ov00_022C2EAC
|
|
_0232B338:
|
|
ldr r0, _0232B370 ; =ov01_0233C0D8
|
|
mov r1, #0
|
|
ldr r0, [r0, OV01_0232B2CC_LOAD_OFFSET]
|
|
strb r1, [r0, #0x15e]
|
|
bl ov01_02329830
|
|
bl ov01_0232C370
|
|
bl ov01_0232C10C
|
|
ldr r0, _0232B370 ; =ov01_0233C0D8
|
|
ldr r0, [r0, OV01_0232B2CC_LOAD_OFFSET]
|
|
bl MemFree
|
|
ldr r0, _0232B370 ; =ov01_0233C0D8
|
|
mov r1, #0
|
|
str r1, [r0, OV01_0232B2CC_LOAD_OFFSET]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232B370: .word ov01_0233C0D8
|
|
_0232B374: .word ov01_0233C380
|
|
_0232B378: .word 0x0000FFFF
|
|
_0232B37C: .word 0x0000044C
|
|
arm_func_end ov01_0232B2CC
|
|
|
|
arm_func_start ov01_0232B380
|
|
ov01_0232B380: ; 0x0232B380
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_022BF660
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232B3C4
|
|
_0232B394: ; jump table
|
|
b _0232B3A4 ; case 0
|
|
b _0232B3AC ; case 1
|
|
b _0232B3B4 ; case 2
|
|
b _0232B3BC ; case 3
|
|
_0232B3A4:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_0232B3AC:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_0232B3B4:
|
|
mov r0, #2
|
|
ldmia sp!, {r3, pc}
|
|
_0232B3BC:
|
|
mov r0, #3
|
|
ldmia sp!, {r3, pc}
|
|
_0232B3C4:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov01_0232B380
|
|
|
|
arm_func_start ov01_0232B3CC
|
|
ov01_0232B3CC: ; 0x0232B3CC
|
|
#ifdef EUROPE
|
|
#define OV01_0232B3CC_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232B3CC_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232B41C ; =ov01_0233C0D8
|
|
ldr r0, [r0, OV01_0232B3CC_LOAD_OFFSET]
|
|
ldrb r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov01_0232B380
|
|
ldr r1, _0232B41C ; =ov01_0233C0D8
|
|
ldr r2, [r1, OV01_0232B3CC_LOAD_OFFSET]
|
|
str r0, [r2, #0x14c]
|
|
ldr r0, [r1, OV01_0232B3CC_LOAD_OFFSET]
|
|
ldr r0, [r0, #0x14c]
|
|
add r0, r0, #2
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov01_0232C1D8
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov01_0232C454
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232B41C: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B3CC
|
|
|
|
arm_func_start ov01_0232B420
|
|
ov01_0232B420: ; 0x0232B420
|
|
#ifdef EUROPE
|
|
#define OV01_0232B420_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232B420_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #8
|
|
movs r5, r2
|
|
cmpeq r0, #0
|
|
mov r4, r3
|
|
moveq r0, #0
|
|
beq _0232B528
|
|
cmp r4, #0
|
|
cmple r1, #0
|
|
movle r0, #0
|
|
ble _0232B528
|
|
cmp r1, #0
|
|
ble _0232B498
|
|
ldr ip, _0232B530 ; =ov01_0233C0D8
|
|
mov lr, #0
|
|
ldr r3, [ip, OV01_0232B420_LOAD_OFFSET]
|
|
ldr r2, _0232B534 ; =ov01_0233AE78
|
|
str r0, [r3]
|
|
ldr r6, [ip, OV01_0232B420_LOAD_OFFSET]
|
|
mov r3, r0
|
|
add r0, r6, #0x100
|
|
strh r1, [r0, #0x30]
|
|
stmia sp, {r1, lr}
|
|
ldr r0, [ip, OV01_0232B420_LOAD_OFFSET]
|
|
ldr r1, _0232B538 ; =0x0000044C
|
|
add r0, r0, #0x1c
|
|
bl ov00_022C2FAC
|
|
tst r0, #0xff
|
|
moveq r0, #0
|
|
beq _0232B528
|
|
_0232B498:
|
|
cmp r4, #0
|
|
ble _0232B4B8
|
|
ldr r0, _0232B530 ; =ov01_0233C0D8
|
|
ldr r1, [r0, OV01_0232B420_LOAD_OFFSET]
|
|
str r5, [r1, #4]
|
|
ldr r0, [r0, OV01_0232B420_LOAD_OFFSET]
|
|
add r0, r0, #0x100
|
|
strh r4, [r0, #0x32]
|
|
_0232B4B8:
|
|
ldr r0, _0232B530 ; =ov01_0233C0D8
|
|
ldr r1, [r0, OV01_0232B420_LOAD_OFFSET]
|
|
ldr r0, [r1, #0x18]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streqb r0, [r1, #0xb]
|
|
beq _0232B528
|
|
bl ov01_02329B28
|
|
bl ov00_022C2EF0
|
|
ldr r0, _0232B530 ; =ov01_0233C0D8
|
|
ldr r1, _0232B53C ; =ov01_0232B9E8
|
|
ldr r0, [r0, OV01_0232B420_LOAD_OFFSET]
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0x10]
|
|
bl ov00_022C3008
|
|
cmp r0, #0
|
|
beq _0232B518
|
|
ldr r0, _0232B530 ; =ov01_0233C0D8
|
|
mov r1, #1
|
|
ldr r0, [r0, OV01_0232B420_LOAD_OFFSET]
|
|
strb r1, [r0, #0xb]
|
|
bl ov01_0232BD98
|
|
mov r0, #1
|
|
b _0232B528
|
|
_0232B518:
|
|
mov r0, #1
|
|
bl ov00_022C324C
|
|
bl ov00_022C2D18
|
|
mov r0, #0
|
|
_0232B528:
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0232B530: .word ov01_0233C0D8
|
|
_0232B534: .word ov01_0233AE78
|
|
_0232B538: .word 0x0000044C
|
|
_0232B53C: .word ov01_0232B9E8
|
|
arm_func_end ov01_0232B420
|
|
|
|
arm_func_start ov01_0232B540
|
|
ov01_0232B540: ; 0x0232B540
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0xc
|
|
mov r5, r0
|
|
mov r4, r1
|
|
cmp r5, #4
|
|
mov r0, #0
|
|
bhs _0232B5C0
|
|
ldr r1, _0232B5C8 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r3, [r1, #4]
|
|
#else
|
|
ldr r3, [r1]
|
|
#endif
|
|
ldrb r1, [r3, #0xb]
|
|
cmp r1, #0
|
|
beq _0232B5C0
|
|
ldrb r1, [r3, #0x13]
|
|
cmp r1, #0
|
|
bne _0232B5C0
|
|
cmp r4, #8
|
|
bhi _0232B5C0
|
|
mov r1, r2
|
|
add r0, sp, #1
|
|
mov r2, r4
|
|
bl MemcpySimple
|
|
ldr r0, _0232B5C8 ; =ov01_0233C0D8
|
|
add r1, r5, #1
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
strb r1, [sp]
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0x10]
|
|
ldr r3, _0232B5CC ; =ov01_0232B8A8
|
|
add r1, sp, #0
|
|
add r2, r4, #1
|
|
bl ov00_022C31D4
|
|
and r0, r0, #0xff
|
|
_0232B5C0:
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_0232B5C8: .word ov01_0233C0D8
|
|
_0232B5CC: .word ov01_0232B8A8
|
|
arm_func_end ov01_0232B540
|
|
|
|
arm_func_start ov01_0232B5D0
|
|
ov01_0232B5D0: ; 0x0232B5D0
|
|
ldr r2, _0232B5FC ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r2, [r2, #4]
|
|
#else
|
|
ldr r2, [r2]
|
|
#endif
|
|
cmp r2, #0
|
|
beq _0232B5F4
|
|
cmp r0, #4
|
|
addlo r0, r2, r0, lsl #2
|
|
strlo r1, [r0, #0x114]
|
|
movlo r0, #1
|
|
bxlo lr
|
|
_0232B5F4:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_0232B5FC: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B5D0
|
|
|
|
arm_func_start ov01_0232B600
|
|
ov01_0232B600: ; 0x0232B600
|
|
#ifdef EUROPE
|
|
#define OV01_0232B600_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232B600_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov01_02329B18
|
|
ldr r1, _0232B8A0 ; =ov01_0233C0D8
|
|
ldr r3, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
cmp r3, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldrh r2, [r4]
|
|
cmp r2, #0xf
|
|
bgt _0232B64C
|
|
cmp r2, #0xe
|
|
blt _0232B640
|
|
beq _0232B658
|
|
cmp r2, #0xf
|
|
beq _0232B6A8
|
|
b _0232B884
|
|
_0232B640:
|
|
cmp r2, #8
|
|
beq _0232B7B0
|
|
b _0232B884
|
|
_0232B64C:
|
|
cmp r2, #0x21
|
|
beq _0232B828
|
|
b _0232B884
|
|
_0232B658:
|
|
ldrh r1, [r4, #4]
|
|
cmp r1, #7
|
|
cmpne r1, #0xa
|
|
bne _0232B884
|
|
cmp r0, #5
|
|
bne _0232B884
|
|
ldr r0, _0232B8A0 ; =ov01_0233C0D8
|
|
mov r3, #1
|
|
ldr r1, [r0, OV01_0232B600_LOAD_OFFSET]
|
|
mov r2, #0
|
|
strb r3, [r1, #8]
|
|
ldr r1, [r0, OV01_0232B600_LOAD_OFFSET]
|
|
strb r3, [r1, #9]
|
|
ldr r1, [r0, OV01_0232B600_LOAD_OFFSET]
|
|
strb r3, [r1, #0xf]
|
|
ldr r1, [r0, OV01_0232B600_LOAD_OFFSET]
|
|
strb r2, [r1, #0x15c]
|
|
ldr r0, [r0, OV01_0232B600_LOAD_OFFSET]
|
|
strb r2, [r0, #0x15d]
|
|
b _0232B884
|
|
_0232B6A8:
|
|
ldrh r2, [r4, #2]
|
|
cmp r2, #0
|
|
beq _0232B6C8
|
|
cmp r2, #9
|
|
beq _0232B788
|
|
cmp r2, #0xf
|
|
beq _0232B730
|
|
b _0232B79C
|
|
_0232B6C8:
|
|
mov r2, #1
|
|
strb r2, [r3, #0x15]
|
|
ldr r2, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
mov r3, #0
|
|
strb r3, [r2, #0xd]
|
|
ldr r2, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
strb r3, [r2, #0x15c]
|
|
ldr r2, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
ldrb r1, [r2, #0xb]
|
|
cmp r1, #1
|
|
bne _0232B884
|
|
ldrb r1, [r2, #0x15d]
|
|
cmp r1, #0
|
|
beq _0232B884
|
|
cmp r0, #4
|
|
bne _0232B710
|
|
bl ov01_0232BD54
|
|
b _0232B71C
|
|
_0232B710:
|
|
cmp r0, #5
|
|
bne _0232B71C
|
|
bl ov01_0232BD98
|
|
_0232B71C:
|
|
ldr r0, _0232B8A0 ; =ov01_0233C0D8
|
|
mov r1, #0
|
|
ldr r0, [r0, OV01_0232B600_LOAD_OFFSET]
|
|
strb r1, [r0, #0x15d]
|
|
b _0232B884
|
|
_0232B730:
|
|
ldrb r1, [r3, #0xb]
|
|
cmp r1, #1
|
|
bne _0232B75C
|
|
cmp r0, #4
|
|
bne _0232B74C
|
|
bl ov01_0232BD54
|
|
b _0232B884
|
|
_0232B74C:
|
|
cmp r0, #5
|
|
bne _0232B884
|
|
bl ov01_0232BD98
|
|
b _0232B884
|
|
_0232B75C:
|
|
ldr r0, [r3, #0x18]
|
|
cmp r0, #0
|
|
add r0, r3, #0x100
|
|
ldrh r1, [r0, #0x2c]
|
|
bne _0232B77C
|
|
ldr r0, _0232B8A4 ; =ov01_0233C380
|
|
bl ov01_02329B38
|
|
b _0232B884
|
|
_0232B77C:
|
|
ldr r0, _0232B8A4 ; =ov01_0233C380
|
|
bl ov01_02329B70
|
|
b _0232B884
|
|
_0232B788:
|
|
str r2, [r3, #0x154]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
mov r1, #1
|
|
strb r1, [r0, #0x14]
|
|
b _0232B884
|
|
_0232B79C:
|
|
str r2, [r3, #0x154]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
mov r1, #1
|
|
strb r1, [r0, #0x14]
|
|
b _0232B884
|
|
_0232B7B0:
|
|
cmp r0, #4
|
|
bne _0232B884
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #7
|
|
beq _0232B7D0
|
|
cmp r0, #9
|
|
beq _0232B7F0
|
|
b _0232B884
|
|
_0232B7D0:
|
|
mov r0, #0
|
|
bl ov01_0232A8B8
|
|
cmp r0, #0
|
|
ldreq r0, _0232B8A0 ; =ov01_0233C0D8
|
|
moveq r1, #0xc
|
|
ldreq r0, [r0, OV01_0232B600_LOAD_OFFSET]
|
|
streq r1, [r0, #0x158]
|
|
b _0232B884
|
|
_0232B7F0:
|
|
mov ip, #1
|
|
strb ip, [r3, #0x11]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
ldrh r2, [r4, #0x10]
|
|
add r0, r0, #0x100
|
|
ldrh r3, [r0, #0x24]
|
|
mvn r2, ip, lsl r2
|
|
and r2, r3, r2
|
|
strh r2, [r0, #0x24]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
add r0, r0, #0x100
|
|
ldrh r1, [r0, #0x24]
|
|
strh r1, [r0, #0x10]
|
|
b _0232B884
|
|
_0232B828:
|
|
cmp r0, #4
|
|
bne _0232B884
|
|
mov lr, #1
|
|
strb lr, [r3, #8]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
mov r2, #0
|
|
strb lr, [r0, #9]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
strb lr, [r0, #0xf]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
ldrh r3, [r4, #0x10]
|
|
add r0, r0, #0x100
|
|
ldrh ip, [r0, #0x24]
|
|
orr r3, ip, lr, lsl r3
|
|
strh r3, [r0, #0x24]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
add r0, r0, #0x100
|
|
ldrh r3, [r0, #0x24]
|
|
strh r3, [r0, #0x10]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
strb r2, [r0, #0x15c]
|
|
ldr r0, [r1, OV01_0232B600_LOAD_OFFSET]
|
|
strb r2, [r0, #0x15d]
|
|
_0232B884:
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #9
|
|
ldreq r0, _0232B8A0 ; =ov01_0233C0D8
|
|
moveq r1, #1
|
|
ldreq r0, [r0, OV01_0232B600_LOAD_OFFSET]
|
|
streqb r1, [r0, #0x11]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232B8A0: .word ov01_0233C0D8
|
|
_0232B8A4: .word ov01_0233C380
|
|
arm_func_end ov01_0232B600
|
|
|
|
arm_func_start ov01_0232B8A8
|
|
ov01_0232B8A8: ; 0x0232B8A8
|
|
ldr r0, _0232B8CC ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r2, [r0, #4]
|
|
#else
|
|
ldr r2, [r0]
|
|
#endif
|
|
cmp r2, #0
|
|
movne r1, #1
|
|
strneb r1, [r2, #0x15]
|
|
#ifdef EUROPE
|
|
ldrne r0, [r0, #4]
|
|
#else
|
|
ldrne r0, [r0]
|
|
#endif
|
|
movne r1, #0
|
|
strneb r1, [r0, #0xd]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232B8CC: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232B8A8
|
|
|
|
arm_func_start ov01_0232B8D0
|
|
ov01_0232B8D0: ; 0x0232B8D0
|
|
#ifdef EUROPE
|
|
#define OV01_0232B8D0_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232B8D0_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r3, lr}
|
|
ldr r3, _0232B958 ; =ov01_0233C0D8
|
|
mov ip, r0
|
|
ldr r3, [r3, OV01_0232B8D0_LOAD_OFFSET]
|
|
cmp r3, #0
|
|
cmpne r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldrb r0, [r3, #0xb]
|
|
cmp r0, #0
|
|
beq _0232B92C
|
|
mov r0, r1
|
|
mov r1, r2
|
|
mov r2, ip
|
|
bl ov00_022C2F68
|
|
ldr r0, _0232B958 ; =ov01_0233C0D8
|
|
ldr r1, [r0, OV01_0232B8D0_LOAD_OFFSET]
|
|
ldrb r0, [r1, #0x15c]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
strneb r0, [r1, #0x15d]
|
|
ldmneia sp!, {r3, pc}
|
|
bl ov01_0232BD54
|
|
ldmia sp!, {r3, pc}
|
|
_0232B92C:
|
|
mov r0, #1
|
|
strb r0, [r3, #0x12]
|
|
ldr r3, _0232B958 ; =ov01_0233C0D8
|
|
cmp r2, #0x200
|
|
ldr r3, [r3, OV01_0232B8D0_LOAD_OFFSET]
|
|
ldr r0, _0232B95C ; =ov01_0233C580
|
|
movhi r2, #0x200
|
|
add r3, r3, #0x100
|
|
strh r2, [r3, #0x2e]
|
|
bl MemcpySimple
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232B958: .word ov01_0233C0D8
|
|
_0232B95C: .word ov01_0233C580
|
|
arm_func_end ov01_0232B8D0
|
|
|
|
arm_func_start ov01_0232B960
|
|
ov01_0232B960: ; 0x0232B960
|
|
#ifdef EUROPE
|
|
#define OV01_0232B960_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232B960_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232B9E0 ; =ov01_0233C0D8
|
|
ldr r3, [r0, OV01_0232B960_LOAD_OFFSET]
|
|
cmp r3, #0
|
|
cmpne r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldrb r0, [r3, #0xb]
|
|
cmp r0, #0
|
|
beq _0232B9B4
|
|
mov r0, r1
|
|
mov r1, r2
|
|
bl ov00_022C2F8C
|
|
ldr r0, _0232B9E0 ; =ov01_0233C0D8
|
|
ldr r1, [r0, OV01_0232B960_LOAD_OFFSET]
|
|
ldrb r0, [r1, #0x15c]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
strneb r0, [r1, #0x15d]
|
|
ldmneia sp!, {r3, pc}
|
|
bl ov01_0232BD98
|
|
ldmia sp!, {r3, pc}
|
|
_0232B9B4:
|
|
mov r0, #1
|
|
strb r0, [r3, #0x12]
|
|
ldr r3, _0232B9E0 ; =ov01_0233C0D8
|
|
cmp r2, #0x200
|
|
ldr r3, [r3, OV01_0232B960_LOAD_OFFSET]
|
|
ldr r0, _0232B9E4 ; =ov01_0233C580
|
|
movhi r2, #0x200
|
|
add r3, r3, #0x100
|
|
strh r2, [r3, #0x2e]
|
|
bl MemcpySimple
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232B9E0: .word ov01_0233C0D8
|
|
_0232B9E4: .word ov01_0233C580
|
|
arm_func_end ov01_0232B960
|
|
|
|
arm_func_start ov01_0232B9E8
|
|
ov01_0232B9E8: ; 0x0232B9E8
|
|
#ifdef EUROPE
|
|
#define OV01_0232B9E8_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232B9E8_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0xc
|
|
mov r5, r0
|
|
ldrh r0, [r5, #0xa]
|
|
mov r4, #0
|
|
bl ov00_022C2D3C
|
|
ldr r0, _0232BD3C ; =ov01_0233C0D8
|
|
ldr r0, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
cmp r0, #0
|
|
beq _0232BD34
|
|
mov r3, r4
|
|
add r0, r0, #0x100
|
|
mov r1, #1
|
|
b _0232BA34
|
|
_0232BA20:
|
|
ldrh r2, [r0, #0x10]
|
|
tst r2, r1, lsl r3
|
|
movne r4, r3
|
|
bne _0232BA3C
|
|
add r3, r3, #1
|
|
_0232BA34:
|
|
cmp r3, #0x10
|
|
blt _0232BA20
|
|
_0232BA3C:
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0xb
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232BD34
|
|
_0232BA4C: ; jump table
|
|
b _0232BD34 ; case 0
|
|
b _0232BD34 ; case 1
|
|
b _0232BD34 ; case 2
|
|
b _0232BA7C ; case 3
|
|
b _0232BD34 ; case 4
|
|
b _0232BBE4 ; case 5
|
|
b _0232BD34 ; case 6
|
|
b _0232BB68 ; case 7
|
|
b _0232BC8C ; case 8
|
|
b _0232BD34 ; case 9
|
|
b _0232BCB0 ; case 10
|
|
b _0232BD34 ; case 11
|
|
_0232BA7C:
|
|
ldr r0, _0232BD3C ; =ov01_0233C0D8
|
|
ldr r3, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
ldr r1, [r3, #0x18]
|
|
cmp r1, #1
|
|
bne _0232BB28
|
|
ldrsh r1, [r5, #0x14]
|
|
cmp r1, #0
|
|
ble _0232BADC
|
|
ldr r2, _0232BD40 ; =ov01_0233C2C0
|
|
add r1, r3, r4, lsl #2
|
|
str r2, [r1, #0x50]
|
|
ldr r1, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
ldr r3, _0232BD44 ; =ov01_0232B9E8
|
|
add r0, r1, #0x100
|
|
ldrh r0, [r0, #0x10]
|
|
add r2, r1, #0x50
|
|
mov r1, #0
|
|
bl ov00_022C306C
|
|
cmp r0, #0
|
|
ldreq r0, _0232BD3C ; =ov01_0233C0D8
|
|
moveq r1, #1
|
|
ldreq r0, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
streqb r1, [r0, #0x14]
|
|
b _0232BD34
|
|
_0232BADC:
|
|
add r0, r3, #0x100
|
|
ldrh r1, [r0, #0x30]
|
|
cmp r1, #0
|
|
beq _0232BD34
|
|
mov r2, #0
|
|
mov r1, #1
|
|
strb r2, [sp, #0xa]
|
|
strb r1, [sp, #0xb]
|
|
ldrh r0, [r0, #0x10]
|
|
ldr r3, _0232BD48 ; =ov01_0232B8A8
|
|
add r1, sp, #0xa
|
|
mov r2, #2
|
|
bl ov00_022C31D4
|
|
cmp r0, #0
|
|
ldreq r0, _0232BD3C ; =ov01_0233C0D8
|
|
moveq r1, #1
|
|
ldreq r0, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
streqb r1, [r0, #0x14]
|
|
b _0232BD34
|
|
_0232BB28:
|
|
ldr r2, _0232BD40 ; =ov01_0233C2C0
|
|
add r1, r3, r4, lsl #2
|
|
str r2, [r1, #0x50]
|
|
ldr r1, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
ldr r3, _0232BD44 ; =ov01_0232B9E8
|
|
add r0, r1, #0x100
|
|
ldrh r0, [r0, #0x10]
|
|
add r2, r1, #0x50
|
|
mov r1, #0
|
|
bl ov00_022C306C
|
|
cmp r0, #0
|
|
ldreq r0, _0232BD3C ; =ov01_0233C0D8
|
|
moveq r1, #1
|
|
ldreq r0, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
streqb r1, [r0, #0x14]
|
|
b _0232BD34
|
|
_0232BB68:
|
|
ldr r0, _0232BD3C ; =ov01_0233C0D8
|
|
ldr r3, _0232BD4C ; =ov01_0233C300
|
|
ldr r2, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
ldr r1, _0232BD44 ; =ov01_0232B9E8
|
|
ldr r5, [r2, #4]
|
|
add r2, r2, r4, lsl #2
|
|
str r5, [r2, #0x90]
|
|
ldr r2, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
add r2, r2, r4, lsl #2
|
|
str r3, [r2, #0xd0]
|
|
ldr r2, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
add r2, r2, #0xd0
|
|
str r2, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r5, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
add r0, r5, r4, lsl #2
|
|
ldr r2, [r0, #0x50]
|
|
add r0, r5, #0x100
|
|
ldmia r2, {r1, r3}
|
|
ldrh r0, [r0, #0x10]
|
|
add r2, r5, #0x90
|
|
bl ov00_022C3110
|
|
cmp r0, #0
|
|
bne _0232BD34
|
|
ldr r1, _0232BD3C ; =ov01_0233C0D8
|
|
ldr r0, _0232BD50 ; =0x0000044C
|
|
ldr r1, [r1, OV01_0232B9E8_LOAD_OFFSET]
|
|
mov r2, #1
|
|
strb r2, [r1, #0x14]
|
|
bl ov00_022C2FF0
|
|
b _0232BD34
|
|
_0232BBE4:
|
|
ldr r1, _0232BD3C ; =ov01_0233C0D8
|
|
ldr r3, [r1, OV01_0232B9E8_LOAD_OFFSET]
|
|
add r0, r3, r4, lsl #2
|
|
ldr r2, [r0, #0x50]
|
|
add r0, r3, #0x100
|
|
ldr r2, [r2, #4]
|
|
strh r2, [r0, #0x34]
|
|
ldr r1, [r1, OV01_0232B9E8_LOAD_OFFSET]
|
|
ldr r0, [r1, #0x18]
|
|
cmp r0, #1
|
|
bne _0232BC80
|
|
mov r2, #0
|
|
add r0, r1, #0x100
|
|
strb r2, [sp, #8]
|
|
ldrh r0, [r0, #0x30]
|
|
ldr r3, _0232BD48 ; =ov01_0232B8A8
|
|
add r1, sp, #8
|
|
cmp r0, #0
|
|
ldr r0, _0232BD3C ; =ov01_0233C0D8
|
|
movne r2, #1
|
|
ldr r0, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
strb r2, [sp, #9]
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0x10]
|
|
mov r2, #2
|
|
bl ov00_022C31D4
|
|
cmp r0, #0
|
|
ldreq r0, _0232BD3C ; =ov01_0233C0D8
|
|
moveq r1, #1
|
|
ldreq r0, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
streqb r1, [r0, #0x14]
|
|
ldr r0, _0232BD3C ; =ov01_0233C0D8
|
|
ldr r1, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
add r0, r1, #0x100
|
|
ldrh r0, [r0, #0x30]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streqb r0, [r1, #0x13]
|
|
b _0232BD34
|
|
_0232BC80:
|
|
mov r0, #1
|
|
strb r0, [r1, #0x13]
|
|
b _0232BD34
|
|
_0232BC8C:
|
|
ldr r0, [r5, #0x14]
|
|
bl ov00_022C2FF0
|
|
ldr r0, _0232BD3C ; =ov01_0233C0D8
|
|
ldr r1, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
ldr r0, [r1, #0x18]
|
|
cmp r0, #1
|
|
moveq r0, #1
|
|
streqb r0, [r1, #0x13]
|
|
b _0232BD34
|
|
_0232BCB0:
|
|
ldrb r1, [r5, #0x14]
|
|
cmp r1, #0
|
|
bne _0232BCF4
|
|
ldrb r0, [r5, #0x15]
|
|
cmp r0, #0
|
|
ldreq r0, _0232BD3C ; =ov01_0233C0D8
|
|
moveq r1, #1
|
|
ldreq r0, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
streqb r1, [r0, #0x13]
|
|
beq _0232BD34
|
|
ldr r0, _0232BD3C ; =ov01_0233C0D8
|
|
ldr r1, _0232BD44 ; =ov01_0232B9E8
|
|
ldr r0, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0x10]
|
|
bl ov00_022C3008
|
|
b _0232BD34
|
|
_0232BCF4:
|
|
cmp r1, #1
|
|
blo _0232BD34
|
|
cmp r1, #5
|
|
bhs _0232BD34
|
|
ldr r0, _0232BD3C ; =ov01_0233C0D8
|
|
sub r1, r1, #1
|
|
ldr r0, [r0, OV01_0232B9E8_LOAD_OFFSET]
|
|
add r0, r0, r1, lsl #2
|
|
ldr r2, [r0, #0x114]
|
|
cmp r2, #0
|
|
beq _0232BD34
|
|
ldrb r0, [r5, #0x1d]
|
|
add r1, r5, #0x15
|
|
sub r0, r0, #1
|
|
and r0, r0, #0xff
|
|
blx r2
|
|
_0232BD34:
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_0232BD3C: .word ov01_0233C0D8
|
|
_0232BD40: .word ov01_0233C2C0
|
|
_0232BD44: .word ov01_0232B9E8
|
|
_0232BD48: .word ov01_0232B8A8
|
|
_0232BD4C: .word ov01_0233C300
|
|
_0232BD50: .word 0x0000044C
|
|
arm_func_end ov01_0232B9E8
|
|
|
|
arm_func_start ov01_0232BD54
|
|
ov01_0232BD54: ; 0x0232BD54
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232BD90 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r3, [r0, #4]
|
|
#else
|
|
ldr r3, [r0]
|
|
#endif
|
|
cmp r3, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, _0232BD94 ; =ov01_0233C380
|
|
mov r2, #1
|
|
mov r1, #0x100
|
|
strb r2, [r3, #0x15c]
|
|
bl ov00_022C2F20
|
|
mov r1, r0, lsl #0x10
|
|
ldr r0, _0232BD94 ; =ov01_0233C380
|
|
mov r1, r1, lsr #0x10
|
|
bl ov01_02329B38
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232BD90: .word ov01_0233C0D8
|
|
_0232BD94: .word ov01_0233C380
|
|
arm_func_end ov01_0232BD54
|
|
|
|
arm_func_start ov01_0232BD98
|
|
ov01_0232BD98: ; 0x0232BD98
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232BDD4 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r3, [r0, #4]
|
|
#else
|
|
ldr r3, [r0]
|
|
#endif
|
|
cmp r3, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, _0232BDD8 ; =ov01_0233C380
|
|
mov r2, #1
|
|
mov r1, #0x20
|
|
strb r2, [r3, #0x15c]
|
|
bl ov00_022C2F44
|
|
mov r1, r0, lsl #0x10
|
|
ldr r0, _0232BDD8 ; =ov01_0233C380
|
|
mov r1, r1, lsr #0x10
|
|
bl ov01_02329B70
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232BDD4: .word ov01_0233C0D8
|
|
_0232BDD8: .word ov01_0233C380
|
|
arm_func_end ov01_0232BD98
|
|
|
|
arm_func_start ov01_0232BDDC
|
|
ov01_0232BDDC: ; 0x0232BDDC
|
|
ldr r0, _0232BDEC ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
ldrb r0, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232BDEC: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232BDDC
|
|
|
|
arm_func_start ov01_0232BDF0
|
|
ov01_0232BDF0: ; 0x0232BDF0
|
|
ldr r0, _0232BE04 ; =ov01_0233C0D8
|
|
mov r1, #0
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
strb r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232BE04: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232BDF0
|
|
|
|
arm_func_start ov01_0232BE08
|
|
ov01_0232BE08: ; 0x0232BE08
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232BE48 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r1, [r0, #4]
|
|
#else
|
|
ldr r1, [r0]
|
|
#endif
|
|
ldrb r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x148]
|
|
cmp r0, #0
|
|
ldmgtia sp!, {r3, pc}
|
|
bl ov01_0232B26C
|
|
cmp r0, #0
|
|
ldrne r0, _0232BE48 ; =ov01_0233C0D8
|
|
movne r1, #0x1e
|
|
#ifdef EUROPE
|
|
ldrne r0, [r0, #4]
|
|
#else
|
|
ldrne r0, [r0]
|
|
#endif
|
|
strne r1, [r0, #0x148]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232BE48: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232BE08
|
|
|
|
arm_func_start ov01_0232BE4C
|
|
ov01_0232BE4C: ; 0x0232BE4C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232BE94 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r1, [r0, #4]
|
|
#else
|
|
ldr r1, [r0]
|
|
#endif
|
|
ldrb r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x148]
|
|
cmp r0, #0
|
|
ble _0232BE8C
|
|
cmp r0, #0x1e
|
|
bgt _0232BE8C
|
|
bl ov01_0232B26C
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, pc}
|
|
_0232BE8C:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232BE94: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232BE4C
|
|
|
|
arm_func_start ov01_0232BE98
|
|
ov01_0232BE98: ; 0x0232BE98
|
|
#ifdef EUROPE
|
|
#define OV01_0232BE98_LOAD_OFFSET #4
|
|
#else
|
|
#define OV01_0232BE98_LOAD_OFFSET #0
|
|
#endif
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232C004 ; =ov01_0233C0D8
|
|
ldr r1, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x158]
|
|
cmp r0, #0xa
|
|
ldmgeia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x144]
|
|
cmp r0, #0
|
|
subgt r0, r0, #1
|
|
strgt r0, [r1, #0x144]
|
|
ldr r0, _0232C004 ; =ov01_0233C0D8
|
|
ldr r3, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
ldr r2, [r3, #0x148]
|
|
cmp r2, #0
|
|
ble _0232BF24
|
|
ldrb r1, [r3, #8]
|
|
cmp r1, #0
|
|
bne _0232BF24
|
|
sub r1, r2, #1
|
|
str r1, [r3, #0x148]
|
|
ldr r0, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
ldr r0, [r0, #0x148]
|
|
cmp r0, #0
|
|
bgt _0232BF24
|
|
bl ov01_0232B26C
|
|
cmp r0, #0
|
|
beq _0232BF24
|
|
ldr r0, _0232C004 ; =ov01_0233C0D8
|
|
mov r2, #1
|
|
ldr r1, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
strb r2, [r1, #0xc]
|
|
ldr r0, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
str r2, [r0, #0x158]
|
|
_0232BF24:
|
|
ldr r0, _0232C004 ; =ov01_0233C0D8
|
|
ldr r3, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
ldr r1, [r3, #0x158]
|
|
cmp r1, #2
|
|
beq _0232BFF8
|
|
ldrb r1, [r3, #9]
|
|
cmp r1, #0
|
|
beq _0232BF80
|
|
ldr r1, [r3, #0x138]
|
|
add r1, r1, #1
|
|
str r1, [r3, #0x138]
|
|
ldr r3, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
ldrb r1, [r3, #0xe]
|
|
cmp r1, #0
|
|
bne _0232BFA8
|
|
ldr r2, [r3, #0x13c]
|
|
sub r1, r2, #1
|
|
str r1, [r3, #0x13c]
|
|
cmp r2, #0
|
|
ldrlt r0, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
movlt r1, #0xa
|
|
strlt r1, [r0, #0x158]
|
|
b _0232BFA8
|
|
_0232BF80:
|
|
ldrb r1, [r3, #8]
|
|
cmp r1, #0
|
|
bne _0232BFA8
|
|
ldr r2, [r3, #0x140]
|
|
sub r1, r2, #1
|
|
str r1, [r3, #0x140]
|
|
cmp r2, #0
|
|
ldrlt r0, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
movlt r1, #5
|
|
strlt r1, [r0, #0x158]
|
|
_0232BFA8:
|
|
bl ov01_0232AFC4
|
|
cmp r0, #0
|
|
ldrne r0, _0232C004 ; =ov01_0233C0D8
|
|
movne r1, #0xc
|
|
ldrne r0, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
strne r1, [r0, #0x158]
|
|
bne _0232BFF8
|
|
ldr r0, _0232C004 ; =ov01_0233C0D8
|
|
ldr r1, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
ldrb r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
movne r0, #0xc
|
|
strne r0, [r1, #0x158]
|
|
bne _0232BFF8
|
|
bl ov01_0232956C
|
|
cmp r0, #0
|
|
ldrne r0, _0232C004 ; =ov01_0233C0D8
|
|
movne r1, #0xc
|
|
ldrne r0, [r0, OV01_0232BE98_LOAD_OFFSET]
|
|
strne r1, [r0, #0x158]
|
|
_0232BFF8:
|
|
bl ov01_0232B3CC
|
|
bl ov01_0232C07C
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232C004: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232BE98
|
|
|
|
arm_func_start ov01_0232C008
|
|
ov01_0232C008: ; 0x0232C008
|
|
ldr r0, _0232C020 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldrne r0, [r0, #0x158]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232C020: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232C008
|
|
|
|
arm_func_start ov01_0232C024
|
|
ov01_0232C024: ; 0x0232C024
|
|
ldr r0, _0232C03C ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r1, [r0, #4]
|
|
#else
|
|
ldr r1, [r0]
|
|
#endif
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
strne r0, [r1, #0x158]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232C03C: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232C024
|
|
|
|
arm_func_start ov01_0232C040
|
|
ov01_0232C040: ; 0x0232C040
|
|
ldr r1, _0232C078 ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r1, [r1, #4]
|
|
#else
|
|
ldr r1, [r1]
|
|
#endif
|
|
cmp r1, #0
|
|
bxeq lr
|
|
cmp r0, #0
|
|
bne _0232C064
|
|
ldr r0, [r1, #0x158]
|
|
cmp r0, #0xa
|
|
bxge lr
|
|
_0232C064:
|
|
ldr r0, _0232C078 ; =ov01_0233C0D8
|
|
mov r1, #2
|
|
#ifdef EUROPE
|
|
ldr r0, [r0, #4]
|
|
#else
|
|
ldr r0, [r0]
|
|
#endif
|
|
str r1, [r0, #0x158]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232C078: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232C040
|
|
|
|
arm_func_start ov01_0232C07C
|
|
ov01_0232C07C: ; 0x0232C07C
|
|
ldr r0, _0232C09C ; =ov01_0233C0D8
|
|
#ifdef EUROPE
|
|
ldr r1, [r0, #4]
|
|
#else
|
|
ldr r1, [r0]
|
|
#endif
|
|
cmp r1, #0
|
|
bxeq lr
|
|
ldr r1, [r1, #0x158]
|
|
cmp r1, #0xa
|
|
#ifdef EUROPE
|
|
strge r1, [r0]
|
|
#else
|
|
strge r1, [r0, #4]
|
|
#endif
|
|
bx lr
|
|
.align 2, 0
|
|
_0232C09C: .word ov01_0233C0D8
|
|
arm_func_end ov01_0232C07C
|
|
|
|
arm_func_start ov01_0232C0A0
|
|
ov01_0232C0A0: ; 0x0232C0A0
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl GetLanguage
|
|
#ifdef EUROPE
|
|
ldr r2, _0232C0C8 ; =ov01_0233C0E0
|
|
mov r1, #0x14
|
|
mla r1, r4, r1, r2
|
|
#else
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
ldr r1, _0232C0C8 ; =ov01_0233C0E0
|
|
movne r0, #0
|
|
add r1, r1, r4, lsl #3
|
|
#endif
|
|
ldr r0, [r1, r0, lsl #2]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232C0C8: .word ov01_0233C0E0
|
|
arm_func_end ov01_0232C0A0
|
|
|
|
arm_func_start ov01_0232C0CC
|
|
ov01_0232C0CC: ; 0x0232C0CC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0232C0FC ; =ov01_0233C140
|
|
mov r2, #0
|
|
strb r2, [r1, #1]
|
|
ldr r0, _0232C100 ; =WAN_TABLE
|
|
strb r2, [r1]
|
|
ldr r0, [r0]
|
|
ldr r1, _0232C104 ; =ov01_0233AEF8
|
|
bl LoadWanTableEntry
|
|
ldr r1, _0232C108 ; =ov01_0233C780
|
|
strh r0, [r1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232C0FC: .word ov01_0233C140
|
|
_0232C100: .word WAN_TABLE
|
|
_0232C104: .word ov01_0233AEF8
|
|
_0232C108: .word ov01_0233C780
|
|
arm_func_end ov01_0232C0CC
|
|
|
|
arm_func_start ov01_0232C10C
|
|
ov01_0232C10C: ; 0x0232C10C
|
|
stmdb sp!, {r3, lr}
|
|
bl ov01_0232C2AC
|
|
ldr r0, _0232C13C ; =ov01_0233C780
|
|
ldr r2, _0232C140 ; =WAN_TABLE
|
|
ldrsh r1, [r0]
|
|
ldr r0, [r2]
|
|
bl DeleteWanTableEntryVeneer
|
|
ldr r0, _0232C144 ; =ov01_0233C140
|
|
mov r1, #0
|
|
strb r1, [r0, #1]
|
|
strb r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232C13C: .word ov01_0233C780
|
|
_0232C140: .word WAN_TABLE
|
|
_0232C144: .word ov01_0233C140
|
|
arm_func_end ov01_0232C10C
|
|
|
|
arm_func_start ov01_0232C148
|
|
ov01_0232C148: ; 0x0232C148
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x10
|
|
mov r5, r0
|
|
ldr r0, _0232C1CC ; =ov01_0233C800
|
|
mov r4, r1
|
|
mov r6, r2
|
|
bl InitAnimationControlWithSet__0201C0B0
|
|
ldr r1, _0232C1D0 ; =ov01_0233C780
|
|
ldr r0, _0232C1CC ; =ov01_0233C800
|
|
ldrsh r1, [r1]
|
|
bl SetSpriteIdForAnimationControl
|
|
mov r1, r6
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r0, _0232C1CC ; =ov01_0233C800
|
|
mov r3, r2
|
|
bl SetAnimationForAnimationControl
|
|
ldr r1, _0232C1CC ; =ov01_0233C800
|
|
mov r0, #0
|
|
strh r0, [r1, #0x38]
|
|
strh r5, [r1, #0x1c]
|
|
ldr r0, _0232C1D4 ; =ov01_0233C140
|
|
strh r4, [r1, #0x1e]
|
|
mov r1, #1
|
|
strb r1, [r0]
|
|
strb r1, [r0, #1]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0232C1CC: .word ov01_0233C800
|
|
_0232C1D0: .word ov01_0233C780
|
|
_0232C1D4: .word ov01_0233C140
|
|
arm_func_end ov01_0232C148
|
|
|
|
arm_func_start ov01_0232C1D8
|
|
ov01_0232C1D8: ; 0x0232C1D8
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x10
|
|
ldr r2, _0232C23C ; =ov01_0233C140
|
|
mov r1, r0
|
|
ldrb r0, [r2, #1]
|
|
cmp r0, #0
|
|
ldrne r0, _0232C240 ; =ov01_0233C800
|
|
movne r2, r1, lsl #0x10
|
|
ldrnesh r3, [r0, #0x78]
|
|
cmpne r3, r2, asr #16
|
|
beq _0232C234
|
|
mov r3, #0xc
|
|
mov r2, #0
|
|
str r3, [sp]
|
|
str r2, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r3, r2
|
|
str r2, [sp, #0xc]
|
|
bl SetAnimationForAnimationControl
|
|
ldr r0, _0232C23C ; =ov01_0233C140
|
|
mov r1, #1
|
|
strb r1, [r0]
|
|
_0232C234:
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232C23C: .word ov01_0233C140
|
|
_0232C240: .word ov01_0233C800
|
|
arm_func_end ov01_0232C1D8
|
|
|
|
arm_func_start ov01_0232C244
|
|
ov01_0232C244: ; 0x0232C244
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _0232C2A0 ; =ov01_0233C140
|
|
ldrb r1, [r0, #1]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0232C294
|
|
ldr r4, _0232C2A4 ; =ov01_0233C800
|
|
ldr lr, _0232C2A8 ; =ov01_0233C784
|
|
mov ip, #7
|
|
_0232C270:
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _0232C270
|
|
ldmia r4, {r0, r1, r2}
|
|
stmia lr, {r0, r1, r2}
|
|
ldr r0, _0232C2A0 ; =ov01_0233C140
|
|
mov r1, #0
|
|
strb r1, [r0]
|
|
_0232C294:
|
|
ldr r0, _0232C2A8 ; =ov01_0233C784
|
|
bl sub_0201CF5C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232C2A0: .word ov01_0233C140
|
|
_0232C2A4: .word ov01_0233C800
|
|
_0232C2A8: .word ov01_0233C784
|
|
arm_func_end ov01_0232C244
|
|
|
|
arm_func_start ov01_0232C2AC
|
|
ov01_0232C2AC: ; 0x0232C2AC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232C2DC ; =ov01_0233C140
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, _0232C2E0 ; =ov01_0233C800
|
|
bl sub_0201C138
|
|
ldr r0, _0232C2DC ; =ov01_0233C140
|
|
mov r1, #0
|
|
strb r1, [r0, #1]
|
|
strb r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232C2DC: .word ov01_0233C140
|
|
_0232C2E0: .word ov01_0233C800
|
|
arm_func_end ov01_0232C2AC
|
|
|
|
arm_func_start ov01_0232C2E4
|
|
ov01_0232C2E4: ; 0x0232C2E4
|
|
stmdb sp!, {r3, lr}
|
|
bl GetHero
|
|
ldr r1, _0232C360 ; =ov01_0233C144
|
|
mov r2, #0
|
|
strb r2, [r1, #1]
|
|
strb r2, [r1]
|
|
cmp r0, #0
|
|
beq _0232C330
|
|
ldrsh r0, [r0, #4]
|
|
bl GetSpriteIndex__020526EC
|
|
mov r3, #0
|
|
ldr r1, _0232C364 ; =WAN_TABLE
|
|
str r3, [sp]
|
|
mov r2, r0
|
|
ldr r0, [r1]
|
|
mov r1, #2
|
|
bl LoadWanTableEntryFromPack
|
|
ldr r1, _0232C368 ; =ov01_0233C87C
|
|
b _0232C358
|
|
_0232C330:
|
|
ldr r0, _0232C36C ; =0x00000229
|
|
bl GetSpriteIndex__020526EC
|
|
mov r3, #0
|
|
ldr r1, _0232C364 ; =WAN_TABLE
|
|
str r3, [sp]
|
|
mov r2, r0
|
|
ldr r0, [r1]
|
|
mov r1, #2
|
|
bl LoadWanTableEntryFromPack
|
|
ldr r1, _0232C368 ; =ov01_0233C87C
|
|
_0232C358:
|
|
strh r0, [r1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232C360: .word ov01_0233C144
|
|
_0232C364: .word WAN_TABLE
|
|
_0232C368: .word ov01_0233C87C
|
|
_0232C36C: .word 0x00000229
|
|
arm_func_end ov01_0232C2E4
|
|
|
|
arm_func_start ov01_0232C370
|
|
ov01_0232C370: ; 0x0232C370
|
|
stmdb sp!, {r3, lr}
|
|
bl ov01_0232C540
|
|
ldr r0, _0232C3A0 ; =ov01_0233C87C
|
|
ldr r2, _0232C3A4 ; =WAN_TABLE
|
|
ldrsh r1, [r0]
|
|
ldr r0, [r2]
|
|
bl DeleteWanTableEntryVeneer
|
|
ldr r0, _0232C3A8 ; =ov01_0233C144
|
|
mov r1, #0
|
|
strb r1, [r0, #1]
|
|
strb r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232C3A0: .word ov01_0233C87C
|
|
_0232C3A4: .word WAN_TABLE
|
|
_0232C3A8: .word ov01_0233C144
|
|
arm_func_end ov01_0232C370
|
|
|
|
arm_func_start ov01_0232C3AC
|
|
ov01_0232C3AC: ; 0x0232C3AC
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x10
|
|
mov r5, r0
|
|
ldr r0, _0232C448 ; =ov01_0233C8FC
|
|
mov r4, r1
|
|
mov r6, r3
|
|
bl InitAnimationControlWithSet__0201C0B0
|
|
ldr r1, _0232C44C ; =ov01_0233C87C
|
|
ldr r0, _0232C448 ; =ov01_0233C8FC
|
|
ldrsh r1, [r1]
|
|
bl SetSpriteIdForAnimationControl
|
|
mov r0, #0xd
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, _0232C448 ; =ov01_0233C8FC
|
|
mov r3, r6, lsr #0x1f
|
|
rsb r2, r3, r6, lsl #29
|
|
add r2, r3, r2, ror #29
|
|
mov r3, #0x20
|
|
bl SetAnimationForAnimationControl
|
|
mov r1, #0
|
|
ldr r0, _0232C448 ; =ov01_0233C8FC
|
|
strh r1, [r0, #0x38]
|
|
strh r5, [r0, #0x1c]
|
|
strh r4, [r0, #0x1e]
|
|
ldrh r2, [r0, #2]
|
|
orr r2, r2, #0x20
|
|
strh r2, [r0, #2]
|
|
bl sub_0201D12C
|
|
ldr r0, _0232C450 ; =ov01_0233C144
|
|
mov r1, #1
|
|
strb r1, [r0]
|
|
strb r1, [r0, #1]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0232C448: .word ov01_0233C8FC
|
|
_0232C44C: .word ov01_0233C87C
|
|
_0232C450: .word ov01_0233C144
|
|
arm_func_end ov01_0232C3AC
|
|
|
|
arm_func_start ov01_0232C454
|
|
ov01_0232C454: ; 0x0232C454
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x10
|
|
ldr r2, _0232C4D0 ; =ov01_0233C144
|
|
mov lr, r0
|
|
ldrb r0, [r2, #1]
|
|
cmp r0, #0
|
|
beq _0232C4C8
|
|
ldr r0, _0232C4D4 ; =ov01_0233C8FC
|
|
ldrsh r2, [r0, #0x76]
|
|
cmp r2, lr
|
|
ldreqsh r2, [r0, #0x78]
|
|
cmpeq r2, r1
|
|
beq _0232C4C8
|
|
mov ip, #0xd
|
|
mov r3, r1, lsr #0x1f
|
|
rsb r2, r3, r1, lsl #29
|
|
str ip, [sp]
|
|
mov ip, #0
|
|
str ip, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
mov r1, lr
|
|
add r2, r3, r2, ror #29
|
|
mov r3, #0x20
|
|
str ip, [sp, #0xc]
|
|
bl SetAnimationForAnimationControl
|
|
ldr r0, _0232C4D0 ; =ov01_0233C144
|
|
mov r1, #1
|
|
strb r1, [r0]
|
|
_0232C4C8:
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232C4D0: .word ov01_0233C144
|
|
_0232C4D4: .word ov01_0233C8FC
|
|
arm_func_end ov01_0232C454
|
|
|
|
arm_func_start ov01_0232C4D8
|
|
ov01_0232C4D8: ; 0x0232C4D8
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _0232C534 ; =ov01_0233C144
|
|
ldrb r1, [r0, #1]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0232C528
|
|
ldr r4, _0232C538 ; =ov01_0233C8FC
|
|
ldr lr, _0232C53C ; =ov01_0233C880
|
|
mov ip, #7
|
|
_0232C504:
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _0232C504
|
|
ldmia r4, {r0, r1, r2}
|
|
stmia lr, {r0, r1, r2}
|
|
ldr r0, _0232C534 ; =ov01_0233C144
|
|
mov r1, #0
|
|
strb r1, [r0]
|
|
_0232C528:
|
|
ldr r0, _0232C53C ; =ov01_0233C880
|
|
bl sub_0201CF5C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232C534: .word ov01_0233C144
|
|
_0232C538: .word ov01_0233C8FC
|
|
_0232C53C: .word ov01_0233C880
|
|
arm_func_end ov01_0232C4D8
|
|
|
|
arm_func_start ov01_0232C540
|
|
ov01_0232C540: ; 0x0232C540
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232C570 ; =ov01_0233C144
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, _0232C574 ; =ov01_0233C8FC
|
|
bl sub_0201C138
|
|
ldr r0, _0232C570 ; =ov01_0233C144
|
|
mov r1, #0
|
|
strb r1, [r0, #1]
|
|
strb r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232C570: .word ov01_0233C144
|
|
_0232C574: .word ov01_0233C8FC
|
|
arm_func_end ov01_0232C540
|
|
|
|
arm_func_start ov01_0232C578
|
|
ov01_0232C578: ; 0x0232C578
|
|
ldr r3, [r0]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov01_0232C578
|
|
|
|
arm_func_start ov01_0232C5AC
|
|
ov01_0232C5AC: ; 0x0232C5AC
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov01_0232C578
|
|
cmp r0, #0
|
|
addne r0, r4, #4
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov01_0232C5AC
|
|
|
|
arm_func_start ov01_0232C5C8
|
|
ov01_0232C5C8: ; 0x0232C5C8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x18
|
|
mov sl, r0
|
|
mov r0, #0x3e8
|
|
mov r6, r1
|
|
mov r4, r2
|
|
bl RandInt
|
|
mov r2, r0, lsl #0x10
|
|
mov r0, sl
|
|
mov r1, #0xa4
|
|
mov sb, r2, lsr #0x10
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
mov r2, r4, lsl #0x18
|
|
mov r1, r4, lsl #8
|
|
and r2, r2, #0xff000000
|
|
and r1, r1, #0xff0000
|
|
str r0, [sl]
|
|
orr r0, r2, r1
|
|
str r0, [sl, #4]
|
|
bl GetLanguageType
|
|
mov r5, r0
|
|
bl GetLanguageType
|
|
mov r4, r0
|
|
bl GetLanguageType
|
|
mov r7, r0
|
|
bl GetLanguageType
|
|
mov r1, r7, lsl #8
|
|
and r3, r1, #0xff0000
|
|
mov r1, r4, lsr #0x18
|
|
and r2, r1, #0xff
|
|
mov r1, r5, lsr #8
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
mov r0, r0, lsl #0x18
|
|
orr r1, r3, r1
|
|
and r0, r0, #0xff000000
|
|
orr r0, r0, r1
|
|
str r0, [sl, #8]
|
|
mov r0, sb, asr #8
|
|
and r1, r0, #0xff
|
|
mov r0, sb, lsl #8
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [sl, #0x5c]
|
|
add r0, sl, #0x48
|
|
mov r1, #0x14
|
|
bl MemZero
|
|
add r0, sp, #4
|
|
bl GetMainTeamNameWithCheck
|
|
cmp r6, #0
|
|
add r1, sp, #4
|
|
add r0, sl, #0x48
|
|
beq _0232C6AC
|
|
#ifdef JAPAN
|
|
mov r2, #5
|
|
bl StrcpyName
|
|
#else
|
|
mov r2, #0xa
|
|
bl sub_02025404
|
|
#endif
|
|
b _0232C6B0
|
|
_0232C6AC:
|
|
bl StrcpySimple
|
|
_0232C6B0:
|
|
bl ov00_022BD5C8
|
|
cmp r0, #0
|
|
beq _0232C7A8
|
|
bl ov00_022BD5EC
|
|
mov r1, r0
|
|
add r0, sl, #0xc
|
|
mov r2, #0x36
|
|
bl MemcpySimple
|
|
bl ov00_022BD71C
|
|
mov r8, r0
|
|
bl ov00_022BD708
|
|
mov r7, r0
|
|
bl ov00_022BD6E0
|
|
mov r6, r0
|
|
bl ov00_022BD6F4
|
|
mov r5, r0
|
|
bl ov00_022BD71C
|
|
mov r4, r0
|
|
bl ov00_022BD708
|
|
mov fp, r0
|
|
bl ov00_022BD6E0
|
|
str r0, [sp]
|
|
bl ov00_022BD6F4
|
|
mov r1, r5, lsl #2
|
|
mov r2, r0, lsl #2
|
|
ldr r0, [sp]
|
|
orr r1, r1, r6, lsl #1
|
|
orr r1, r1, r7, lsl #3
|
|
orr r0, r2, r0, lsl #1
|
|
orr r1, r8, r1
|
|
orr r0, r0, fp, lsl #3
|
|
mov r1, r1, lsl #0x10
|
|
orr r0, r4, r0
|
|
mov r1, r1, lsr #0x10
|
|
mov r0, r0, lsl #0x10
|
|
mov r1, r1, asr #8
|
|
mov r0, r0, lsr #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [sl, #0x44]
|
|
bl ov00_022BD660
|
|
cmp r0, #0
|
|
ldreq r4, _0232C8B0 ; =0x0000FFFF
|
|
beq _0232C76C
|
|
bl ov00_022BD690
|
|
mov r4, r0
|
|
_0232C76C:
|
|
bl ov00_022BD660
|
|
cmp r0, #0
|
|
ldreq r0, _0232C8B0 ; =0x0000FFFF
|
|
beq _0232C780
|
|
bl ov00_022BD690
|
|
_0232C780:
|
|
mov r0, r0, lsl #0x10
|
|
mov r1, r0, lsr #0x10
|
|
mov r0, r4, lsl #0x10
|
|
mov r1, r1, asr #8
|
|
mov r0, r0, lsr #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [sl, #0x5e]
|
|
b _0232C7B4
|
|
_0232C7A8:
|
|
mov r0, #0
|
|
strh r0, [sl, #0x44]
|
|
strh r0, [sl, #0x5e]
|
|
_0232C7B4:
|
|
mov r6, #0
|
|
mov r4, r6
|
|
mov r5, r6
|
|
mov r7, #1
|
|
_0232C7C4:
|
|
mov r0, r4, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD13C
|
|
mov r8, r0
|
|
cmp r8, #0
|
|
ble _0232C850
|
|
mov r0, r4, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD2C0
|
|
cmp r0, #0
|
|
beq _0232C850
|
|
mov r2, r8, lsr #0x18
|
|
mov r1, r8, lsr #8
|
|
mov r3, r8, lsl #8
|
|
mov r0, r8, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
and r3, r3, #0xff0000
|
|
orr r1, r2, r1
|
|
and r2, r0, #0xff000000
|
|
orr r0, r3, r1
|
|
orr r1, r2, r0
|
|
add r0, sl, r5, lsl #2
|
|
str r1, [r0, #0x64]
|
|
bl ov00_022BD5C8
|
|
cmp r0, #0
|
|
beq _0232C84C
|
|
mov r0, r4, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD284
|
|
cmp r0, #0
|
|
orrne r0, r6, r7, lsl r5
|
|
movne r0, r0, lsl #0x10
|
|
movne r6, r0, lsr #0x10
|
|
_0232C84C:
|
|
add r5, r5, #1
|
|
_0232C850:
|
|
add r4, r4, #1
|
|
cmp r4, #0x10
|
|
blt _0232C7C4
|
|
mov r1, r5, lsr #0x18
|
|
mov r0, r5, lsr #8
|
|
mov r7, r6, asr #8
|
|
mov r4, r6, lsl #8
|
|
mov r2, r5, lsl #8
|
|
mov r3, r5, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r5, r7, #0xff
|
|
and r4, r4, #0xff00
|
|
orr r4, r5, r4
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
strh r4, [sl, #0x46]
|
|
orr r1, r1, r0
|
|
mov r0, sb
|
|
str r1, [sl, #0x60]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0232C8B0: .word 0x0000FFFF
|
|
arm_func_end ov01_0232C5C8
|
|
|
|
#ifndef EUROPE
|
|
arm_func_start ov01_0232C8B4
|
|
ov01_0232C8B4: ; 0x0232C8B4
|
|
ldr r3, [r0, #4]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov01_0232C8B4
|
|
#endif
|
|
|
|
arm_func_start ov01_0232C8E8
|
|
ov01_0232C8E8: ; 0x0232C8E8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r4, r1
|
|
mov r5, r0
|
|
mov r1, #0x98
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r5]
|
|
ldr r6, [r4, #0x14]
|
|
add r0, r5, #0x2c
|
|
mov r2, r6, lsr #0x18
|
|
mov r1, r6, lsr #8
|
|
mov r3, r6, lsl #8
|
|
mov r6, r6, lsl #0x18
|
|
and r6, r6, #0xff000000
|
|
and r3, r3, #0xff0000
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
orr r1, r3, r1
|
|
orr r1, r6, r1
|
|
str r1, [r5, #4]
|
|
ldr r6, [r4, #0x18]
|
|
add r1, r4, #0x32
|
|
mov r3, r6, lsr #0x18
|
|
mov r2, r6, lsr #8
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
orr r2, r3, r2
|
|
mov r3, r6, lsl #8
|
|
mov r6, r6, lsl #0x18
|
|
and r6, r6, #0xff000000
|
|
and r3, r3, #0xff0000
|
|
orr r2, r3, r2
|
|
orr r2, r6, r2
|
|
str r2, [r5, #8]
|
|
ldrb r7, [r4, #4]
|
|
mov r2, #0x12
|
|
mov r3, r7, lsl #0x18
|
|
and r6, r3, #0xff000000
|
|
mov r3, r7, lsl #8
|
|
and r3, r3, #0xff0000
|
|
orr r3, r6, r3
|
|
str r3, [r5, #0x1c]
|
|
ldrb r7, [r4, #5]
|
|
mov r3, r7, lsl #0x18
|
|
and r6, r3, #0xff000000
|
|
mov r3, r7, lsl #8
|
|
and r3, r3, #0xff0000
|
|
orr r3, r6, r3
|
|
str r3, [r5, #0x20]
|
|
ldr r7, [r4, #8]
|
|
mov r3, r7, lsr #0x18
|
|
and ip, r3, #0xff
|
|
mov r3, r7, lsl #0x18
|
|
and r6, r3, #0xff000000
|
|
mov r3, r7, lsl #8
|
|
and lr, r3, #0xff0000
|
|
mov r3, r7, lsr #8
|
|
and r3, r3, #0xff00
|
|
orr r3, ip, r3
|
|
orr r3, lr, r3
|
|
orr r3, r6, r3
|
|
str r3, [r5, #0x24]
|
|
ldrb lr, [r4, #0xad]
|
|
mov r3, lr, lsl #0x18
|
|
and ip, r3, #0xff000000
|
|
mov r3, lr, lsl #8
|
|
and r3, r3, #0xff0000
|
|
orr r3, ip, r3
|
|
str r3, [r5, #0x28]
|
|
bl ov01_0232E27C
|
|
add r0, r5, #0x50
|
|
add r1, r4, #0x56
|
|
mov r2, #0x24
|
|
bl ov01_0232E27C
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov01_0232C8E8
|
|
|
|
arm_func_start ov01_0232CA18
|
|
ov01_0232CA18: ; 0x0232CA18
|
|
ldr r2, [r0, #4]
|
|
ldr ip, _0232CA2C ; =ov01_0232E1C4
|
|
ldr r1, [r0, #8]
|
|
mov r0, r2
|
|
bx ip
|
|
.align 2, 0
|
|
_0232CA2C: .word ov01_0232E1C4
|
|
arm_func_end ov01_0232CA18
|
|
|
|
arm_func_start ov01_0232CA30
|
|
ov01_0232CA30: ; 0x0232CA30
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sb, r1
|
|
mov sl, r0
|
|
mov r8, r2
|
|
mov r1, #0x98
|
|
mov fp, r3
|
|
ldr r7, [sp, #0x28]
|
|
ldr r6, [sp, #0x2c]
|
|
ldr r5, [sp, #0x30]
|
|
ldr r4, [sp, #0x34]
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [sl]
|
|
mov r0, sb
|
|
mov r1, r8
|
|
bl ov01_0232E1C4
|
|
stmib sl, {r0, r1}
|
|
mov r0, fp
|
|
mov r1, r7
|
|
bl ov01_0232E1C4
|
|
str r0, [sl, #0xc]
|
|
mov r0, r6, lsr #8
|
|
str r1, [sl, #0x10]
|
|
mov r2, r6, lsr #0x18
|
|
mov r1, r6, lsl #8
|
|
mov r3, r6, lsl #0x18
|
|
and r6, r3, #0xff000000
|
|
and r3, r1, #0xff0000
|
|
and r1, r2, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
orr r1, r3, r0
|
|
mov r2, r5, lsr #0x18
|
|
mov r0, r5, lsr #8
|
|
mov r3, r5, lsl #8
|
|
orr r1, r6, r1
|
|
str r1, [sl, #0x14]
|
|
mov r1, r4, lsr #0x18
|
|
mov r5, r5, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r2, r2, r0
|
|
and r3, r3, #0xff0000
|
|
mov r0, r4, lsr #8
|
|
orr r3, r3, r2
|
|
and r5, r5, #0xff000000
|
|
orr r5, r5, r3
|
|
mov r2, r4, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r3, r4, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r2, r2, #0xff0000
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
str r5, [sl, #0x18]
|
|
orr r0, r1, r0
|
|
str r0, [sl, #0x1c]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov01_0232CA30
|
|
|
|
arm_func_start ov01_0232CB1C
|
|
ov01_0232CB1C: ; 0x0232CB1C
|
|
ldr r3, [r0, #8]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov01_0232CB1C
|
|
|
|
arm_func_start ov01_0232CB50
|
|
ov01_0232CB50: ; 0x0232CB50
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x128
|
|
str r2, [sp, #8]
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
str r3, [sp, #0xc]
|
|
mov r4, #0
|
|
bl ov01_0232CB1C
|
|
ldr r1, [sp, #8]
|
|
mov r5, #0
|
|
cmp r1, r0
|
|
strhs r0, [sp, #8]
|
|
str r5, [sp, #0x124]
|
|
b _0232CE88
|
|
_0232CB88:
|
|
ldr r0, [sp]
|
|
add r1, r0, #0xc
|
|
mov r0, #0xb4
|
|
mla r7, r5, r0, r1
|
|
ldr r1, [r7, #0x34]
|
|
ldr r8, [r7, #0x38]
|
|
mov sb, r1, lsr #0x18
|
|
mov r6, r1, lsr #8
|
|
mov r0, r1, lsl #8
|
|
mov r3, r8, lsr #0x18
|
|
mov r2, r8, lsr #8
|
|
mov r1, r1, lsl #0x18
|
|
and sb, sb, #0xff
|
|
and r6, r6, #0xff00
|
|
orr sb, sb, r6
|
|
mov r6, r8, lsl #8
|
|
and r0, r0, #0xff0000
|
|
mov r8, r8, lsl #0x18
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
and r6, r6, #0xff0000
|
|
orr r2, r3, r2
|
|
orr r3, r6, r2
|
|
ldr r2, [sp, #0xc]
|
|
and r8, r8, #0xff000000
|
|
and r1, r1, #0xff000000
|
|
orr r0, r0, sb
|
|
orr fp, r1, r0
|
|
mov r0, #0
|
|
cmp r2, #0
|
|
orr r8, r8, r3
|
|
str r0, [sp, #0x18]
|
|
bne _0232CC1C
|
|
and r0, fp, #0xff
|
|
bl GetMaxReachedFloor
|
|
cmp r0, r8
|
|
blo _0232CE84
|
|
_0232CC1C:
|
|
ldmia r7, {r0, r1}
|
|
bl ov01_0232E1C4
|
|
ldr r2, [r7, #8]
|
|
str r1, [sp, #0x14]
|
|
mov r1, r2, lsl #8
|
|
mov sl, r0
|
|
mov r0, r2, lsr #0x18
|
|
and r6, r1, #0xff0000
|
|
mov r1, r2, lsr #8
|
|
and r3, r0, #0xff
|
|
and r1, r1, #0xff00
|
|
mov r0, r2, lsl #0x18
|
|
orr r1, r3, r1
|
|
orr r1, r6, r1
|
|
and r0, r0, #0xff000000
|
|
orr r0, r0, r1
|
|
str r0, [sp, #0x1c]
|
|
ldr r2, [r7, #0xc]
|
|
mov sb, #0
|
|
mov r0, r2, lsl #0x18
|
|
and r1, r0, #0xff000000
|
|
mov r0, r2, lsl #8
|
|
mov r3, r2, lsr #0x18
|
|
mov r2, r2, lsr #8
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
and r0, r0, #0xff0000
|
|
orr r2, r3, r2
|
|
orr r0, r0, r2
|
|
orr r0, r1, r0
|
|
str r0, [sp, #0x20]
|
|
add r6, sp, #0x24
|
|
b _0232CCCC
|
|
_0232CCA0:
|
|
add r0, r6, sb, lsl #3
|
|
add r1, sp, #0x1c
|
|
bl sub_0205B554
|
|
cmp r0, #0
|
|
beq _0232CCC8
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, _0232CEA0 ; =ov01_0233AF14
|
|
ldr r2, [sp, #0x1c]
|
|
bl Debug_Print0
|
|
b _0232CCDC
|
|
_0232CCC8:
|
|
add sb, sb, #1
|
|
_0232CCCC:
|
|
ldr r0, [sp, #0x124]
|
|
cmp sb, r0
|
|
blt _0232CCA0
|
|
mvn sb, #0
|
|
_0232CCDC:
|
|
mvn r0, #0
|
|
cmp sb, r0
|
|
mov r1, #0xb0
|
|
beq _0232CD18
|
|
ldr r0, [sp, #4]
|
|
mla r6, sb, r1, r0
|
|
ldr r1, [r6, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [r6, #0xc]
|
|
cmp r1, r0
|
|
cmpeq r2, sl
|
|
bhs _0232CE84
|
|
mov r0, #1
|
|
str r0, [sp, #0x18]
|
|
b _0232CD20
|
|
_0232CD18:
|
|
ldr r0, [sp, #4]
|
|
mla r6, r4, r1, r0
|
|
_0232CD20:
|
|
ldr r0, [sp, #0x14]
|
|
str sl, [r6, #0xc]
|
|
str r0, [r6, #0x10]
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, [sp, #0x20]
|
|
str r1, [r6, #0x14]
|
|
str r0, [r6, #0x18]
|
|
ldr r0, [sp, #0x124]
|
|
cmp r0, #0x20
|
|
beq _0232CD80
|
|
ldr r1, [r6, #0x18]
|
|
ldr r2, [r6, #0x14]
|
|
ldr r0, _0232CEA4 ; =ov01_0233AF3C
|
|
bl Debug_Print0
|
|
ldr sb, [sp, #0x124]
|
|
add r3, sp, #0x24
|
|
ldr r2, [r6, #0x14]
|
|
ldr r1, [r6, #0x18]
|
|
add r0, r3, sb, lsl #3
|
|
str r2, [r3, sb, lsl #3]
|
|
str r1, [r0, #4]
|
|
ldr r0, [sp, #0x124]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x124]
|
|
_0232CD80:
|
|
add r0, r6, #0x1d
|
|
mov r1, #0x14
|
|
bl MemZero
|
|
add r0, r6, #0x1d
|
|
add r1, r7, #0x20
|
|
mov r2, #0x14
|
|
#ifdef JAPAN
|
|
bl sub_020253E0_JP
|
|
#else
|
|
bl sub_0202544C
|
|
#endif
|
|
strb fp, [r6, #4]
|
|
strb r8, [r6, #5]
|
|
ldr sb, [r7, #0x3c]
|
|
add r0, r6, #0x32
|
|
mov r2, sb, lsl #8
|
|
and r8, r2, #0xff0000
|
|
mov r2, sb, lsr #0x18
|
|
and r3, r2, #0xff
|
|
mov r2, sb, lsr #8
|
|
and r2, r2, #0xff00
|
|
mov r1, sb, lsl #0x18
|
|
orr r2, r3, r2
|
|
and r1, r1, #0xff000000
|
|
orr r2, r8, r2
|
|
orr r1, r1, r2
|
|
str r1, [r6, #8]
|
|
ldr sl, [r7, #0x44]
|
|
mov r1, #0x24
|
|
mov r3, sl, lsl #8
|
|
and sb, r3, #0xff0000
|
|
mov r3, sl, lsr #0x18
|
|
and r8, r3, #0xff
|
|
mov r3, sl, lsr #8
|
|
and r3, r3, #0xff00
|
|
mov r2, sl, lsl #0x18
|
|
orr r3, r8, r3
|
|
and r2, r2, #0xff000000
|
|
orr r3, sb, r3
|
|
orr r2, r2, r3
|
|
strb r2, [r6, #0x1c]
|
|
ldr sl, [r7, #0x40]
|
|
mov r3, sl, lsl #8
|
|
and sb, r3, #0xff0000
|
|
mov r3, sl, lsr #0x18
|
|
and r8, r3, #0xff
|
|
mov r3, sl, lsr #8
|
|
and r3, r3, #0xff00
|
|
mov r2, sl, lsl #0x18
|
|
orr r3, r8, r3
|
|
and r2, r2, #0xff000000
|
|
orr r3, sb, r3
|
|
orr r2, r2, r3
|
|
strb r2, [r6, #0xae]
|
|
bl MemZero
|
|
add r0, r6, #0x56
|
|
mov r1, #0x48
|
|
bl MemZero
|
|
add r0, r6, #0x32
|
|
add r1, r7, #0x48
|
|
mov r2, #0x12
|
|
bl ov01_0232E2D8
|
|
add r0, r6, #0x56
|
|
add r1, r7, #0x6c
|
|
mov r2, #0x24
|
|
bl ov01_0232E2D8
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #0
|
|
addeq r4, r4, #1
|
|
_0232CE84:
|
|
add r5, r5, #1
|
|
_0232CE88:
|
|
ldr r0, [sp, #8]
|
|
cmp r5, r0
|
|
blt _0232CB88
|
|
mov r0, r4
|
|
add sp, sp, #0x128
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0232CEA0: .word ov01_0233AF14
|
|
_0232CEA4: .word ov01_0233AF3C
|
|
arm_func_end ov01_0232CB50
|
|
|
|
arm_func_start ov01_0232CEA8
|
|
ov01_0232CEA8: ; 0x0232CEA8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
mov r6, r0
|
|
mov r4, r2
|
|
mov r1, #0xc
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r6]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov01_0232E1C4
|
|
stmib r6, {r0, r1}
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov01_0232CEA8
|
|
|
|
arm_func_start ov01_0232CEDC
|
|
ov01_0232CEDC: ; 0x0232CEDC
|
|
ldr r3, [r0, #4]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov01_0232CEDC
|
|
|
|
arm_func_start ov01_0232CF14
|
|
ov01_0232CF14: ; 0x0232CF14
|
|
ldr r3, [r0, #0xb4]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov01_0232CF14
|
|
|
|
arm_func_start ov01_0232CF4C
|
|
ov01_0232CF4C: ; 0x0232CF4C
|
|
ldr r3, [r0, #0xb8]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov01_0232CF4C
|
|
|
|
arm_func_start ov01_0232CF84
|
|
ov01_0232CF84: ; 0x0232CF84
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r3, [r5, #8]
|
|
mov r4, r1
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
str r0, [r4, #0x14]
|
|
ldr ip, [r5, #0xc]
|
|
add r0, r4, #0x1d
|
|
mov r2, ip, lsr #0x18
|
|
mov r1, ip, lsr #8
|
|
mov r3, ip, lsl #8
|
|
mov ip, ip, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
and r3, r3, #0xff0000
|
|
orr r1, r2, r1
|
|
and r2, ip, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r2, r2, r1
|
|
mov r1, #0x14
|
|
str r2, [r4, #0x18]
|
|
bl MemZero
|
|
add r0, r4, #0x1d
|
|
add r1, r5, #0x20
|
|
mov r2, #0x14
|
|
#ifdef JAPAN
|
|
bl sub_020253E0_JP
|
|
#else
|
|
bl sub_0202544C
|
|
#endif
|
|
ldr r3, [r5, #0x34]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
strb r0, [r4, #4]
|
|
ldr r3, [r5, #0x38]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
strb r0, [r4, #5]
|
|
ldr r3, [r5, #0x3c]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
str r0, [r4, #8]
|
|
ldr r3, [r5, #0x44]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
strb r0, [r4, #0x1c]
|
|
ldr ip, [r5, #0xb4]
|
|
add r0, r4, #0x32
|
|
mov r2, ip, lsr #0x18
|
|
mov r1, ip, lsr #8
|
|
mov r3, ip, lsl #8
|
|
mov ip, ip, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
and r3, r3, #0xff0000
|
|
orr r1, r2, r1
|
|
and r2, ip, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r1, r2, r1
|
|
strb r1, [r4, #0xad]
|
|
ldr lr, [r5, #0x40]
|
|
mov r1, #0x24
|
|
mov r3, lr, lsr #0x18
|
|
mov r2, lr, lsr #8
|
|
mov ip, lr, lsl #8
|
|
mov lr, lr, lsl #0x18
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
and ip, ip, #0xff0000
|
|
orr r2, r3, r2
|
|
and r3, lr, #0xff000000
|
|
orr r2, ip, r2
|
|
orr r2, r3, r2
|
|
strb r2, [r4, #0xae]
|
|
bl MemZero
|
|
add r0, r4, #0x56
|
|
mov r1, #0x48
|
|
bl MemZero
|
|
add r0, r4, #0x32
|
|
add r1, r5, #0x48
|
|
mov r2, #0x12
|
|
bl ov01_0232E2D8
|
|
add r0, r4, #0x56
|
|
add r1, r5, #0x6c
|
|
mov r2, #0x24
|
|
bl ov01_0232E2D8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov01_0232CF84
|
|
|
|
arm_func_start ov01_0232D188
|
|
ov01_0232D188: ; 0x0232D188
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
mov r6, r0
|
|
mov r4, r2
|
|
mov r1, #0xc
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r6]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov01_0232E1C4
|
|
stmib r6, {r0, r1}
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov01_0232D188
|
|
|
|
arm_func_start ov01_0232D1BC
|
|
ov01_0232D1BC: ; 0x0232D1BC
|
|
ldr r3, [r0, #4]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov01_0232D1BC
|
|
|
|
arm_func_start ov01_0232D1F4
|
|
ov01_0232D1F4: ; 0x0232D1F4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r3, [r5, #8]
|
|
mov r4, r1
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
str r0, [r4, #0x14]
|
|
ldr ip, [r5, #0xc]
|
|
add r0, r4, #0x1d
|
|
mov r2, ip, lsr #0x18
|
|
mov r1, ip, lsr #8
|
|
mov r3, ip, lsl #8
|
|
mov ip, ip, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
and r3, r3, #0xff0000
|
|
orr r1, r2, r1
|
|
and r2, ip, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r2, r2, r1
|
|
mov r1, #0x14
|
|
str r2, [r4, #0x18]
|
|
bl MemZero
|
|
add r0, r4, #0x1d
|
|
add r1, r5, #0x20
|
|
mov r2, #0x14
|
|
#ifdef JAPAN
|
|
bl sub_020253E0_JP
|
|
#else
|
|
bl sub_0202544C
|
|
#endif
|
|
ldr r3, [r5, #0x34]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
strb r0, [r4, #4]
|
|
ldr r3, [r5, #0x38]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
strb r0, [r4, #5]
|
|
ldr r3, [r5, #0x3c]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
str r0, [r4, #8]
|
|
ldr r3, [r5, #0x44]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
strb r0, [r4, #0x1c]
|
|
ldr ip, [r5, #0x40]
|
|
add r0, r4, #0x32
|
|
mov r2, ip, lsr #0x18
|
|
mov r1, ip, lsr #8
|
|
mov r3, ip, lsl #8
|
|
mov ip, ip, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
and r3, r3, #0xff0000
|
|
orr r1, r2, r1
|
|
and r2, ip, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r2, r2, r1
|
|
mov r1, #0x24
|
|
strb r2, [r4, #0xae]
|
|
bl MemZero
|
|
add r0, r4, #0x56
|
|
mov r1, #0x48
|
|
bl MemZero
|
|
add r0, r4, #0x32
|
|
add r1, r5, #0x48
|
|
mov r2, #0x12
|
|
bl ov01_0232E2D8
|
|
add r0, r4, #0x56
|
|
add r1, r5, #0x6c
|
|
mov r2, #0x24
|
|
bl ov01_0232E2D8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov01_0232D1F4
|
|
|
|
arm_func_start ov01_0232D3C4
|
|
ov01_0232D3C4: ; 0x0232D3C4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x14
|
|
mov r5, r1
|
|
mov r6, r0
|
|
mov r1, #0xd4
|
|
mov r4, r2
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r6]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5, #0x10]
|
|
bl ov01_0232E1C4
|
|
stmib r6, {r0, r1}
|
|
ldr r8, [r5, #0xa4]
|
|
add r0, sp, #4
|
|
mov r1, r8, lsl #0x18
|
|
and r7, r1, #0xff000000
|
|
mov r1, r8, lsl #8
|
|
and r3, r1, #0xff0000
|
|
mov r1, r8, lsr #0x18
|
|
and r2, r1, #0xff
|
|
mov r1, r8, lsr #8
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
orr r1, r3, r1
|
|
orr r1, r7, r1
|
|
str r1, [r6, #0xc]
|
|
ldr ip, [r5, #0xa8]
|
|
add r1, r6, #0x28
|
|
mov r3, ip, lsl #8
|
|
and r8, r3, #0xff0000
|
|
mov r3, ip, lsr #0x18
|
|
and r7, r3, #0xff
|
|
mov r3, ip, lsr #8
|
|
and r3, r3, #0xff00
|
|
mov r2, ip, lsl #0x18
|
|
orr r3, r7, r3
|
|
and r2, r2, #0xff000000
|
|
orr r3, r8, r3
|
|
orr r2, r2, r3
|
|
str r2, [r6, #0x10]
|
|
ldrsh r7, [r5, #0xa2]
|
|
ldrh r3, [r5, #0xa0]
|
|
mov r2, #0x40
|
|
orr r8, r3, r7, lsl #16
|
|
mov ip, r8, lsl #8
|
|
and r7, ip, #0xff0000
|
|
mov ip, r8, lsr #0x18
|
|
and lr, ip, #0xff
|
|
mov ip, r8, lsr #8
|
|
and ip, ip, #0xff00
|
|
mov r3, r8, lsl #0x18
|
|
orr ip, lr, ip
|
|
and r3, r3, #0xff000000
|
|
orr r7, r7, ip
|
|
orr r3, r3, r7
|
|
str r3, [r6, #0x24]
|
|
bl sub_02050990
|
|
cmp r4, #0
|
|
add r0, sp, #4
|
|
beq _0232D4E0
|
|
mov r2, #0xff
|
|
strb r2, [sp, #1]
|
|
add r1, sp, #1
|
|
mov r2, #1
|
|
bl CopyBitsTo
|
|
ldrb r2, [r5, #0xad]
|
|
add r0, sp, #4
|
|
mov r1, r4
|
|
bl ov01_0232E334
|
|
b _0232D4F4
|
|
_0232D4E0:
|
|
mov r3, #0
|
|
add r1, sp, #0
|
|
mov r2, #1
|
|
strb r3, [sp]
|
|
bl CopyBitsTo
|
|
_0232D4F4:
|
|
add r0, sp, #4
|
|
bl sub_020509BC
|
|
add r0, r6, #0x68
|
|
add r1, r5, #0x32
|
|
mov r2, #0x12
|
|
bl ov01_0232E27C
|
|
add r0, r6, #0x8c
|
|
add r1, r5, #0x56
|
|
mov r2, #0x24
|
|
bl ov01_0232E27C
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov01_0232D3C4
|
|
|
|
arm_func_start ov01_0232D524
|
|
ov01_0232D524: ; 0x0232D524
|
|
ldr r3, [r0, #4]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov01_0232D524
|
|
|
|
arm_func_start ov01_0232D55C
|
|
ov01_0232D55C: ; 0x0232D55C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
mov r6, r0
|
|
mov r4, r2
|
|
mov r1, #0xc
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r6]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov01_0232E1C4
|
|
stmib r6, {r0, r1}
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov01_0232D55C
|
|
|
|
arm_func_start ov01_0232D590
|
|
ov01_0232D590: ; 0x0232D590
|
|
ldr r3, [r0, #4]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov01_0232D590
|
|
|
|
arm_func_start ov01_0232D5C4
|
|
ov01_0232D5C4: ; 0x0232D5C4
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x14
|
|
mov r6, r0
|
|
mov r5, r1
|
|
add r0, sp, #4
|
|
add r1, r6, #0x50
|
|
mov r2, #0x40
|
|
bl sub_02050974
|
|
add r0, sp, #4
|
|
add r1, sp, #0
|
|
mov r2, #1
|
|
bl CopyBitsFrom
|
|
ldrb r0, [sp]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ands r4, r0, #0xff
|
|
beq _0232D650
|
|
ldr ip, [r6, #0x94]
|
|
add r0, sp, #4
|
|
mov r2, ip, lsr #0x18
|
|
mov r1, ip, lsr #8
|
|
mov r3, ip, lsl #8
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
mov ip, ip, lsl #0x18
|
|
orr r1, r2, r1
|
|
and r3, r3, #0xff0000
|
|
and r2, ip, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r1, r2, r1
|
|
mov r2, r1, lsl #0x18
|
|
mov r1, r5
|
|
mov r2, r2, asr #0x18
|
|
bl ov01_0232E58C
|
|
_0232D650:
|
|
add r0, sp, #4
|
|
bl sub_020509BC
|
|
mov r0, r4
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov01_0232D5C4
|
|
|
|
arm_func_start ov01_0232D664
|
|
ov01_0232D664: ; 0x0232D664
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r3, [r5, #8]
|
|
mov r4, r1
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
str r0, [r4, #0xa4]
|
|
ldr ip, [r5, #0xc]
|
|
add r0, r4, #0x1d
|
|
mov r2, ip, lsr #0x18
|
|
mov r1, ip, lsr #8
|
|
mov r3, ip, lsl #8
|
|
mov ip, ip, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
and r3, r3, #0xff0000
|
|
orr r1, r2, r1
|
|
and r2, ip, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r1, r2, r1
|
|
str r1, [r4, #0xa8]
|
|
ldr lr, [r5, #0x20]
|
|
mov r1, #0x14
|
|
mov r3, lr, lsr #0x18
|
|
mov r2, lr, lsr #8
|
|
mov ip, lr, lsl #8
|
|
mov lr, lr, lsl #0x18
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
and ip, ip, #0xff0000
|
|
orr r2, r3, r2
|
|
and r3, lr, #0xff000000
|
|
orr r2, ip, r2
|
|
orr r2, r3, r2
|
|
str r2, [r4, #0x14]
|
|
ldr lr, [r5, #0x24]
|
|
mov r3, lr, lsr #0x18
|
|
mov r2, lr, lsr #8
|
|
mov ip, lr, lsl #8
|
|
mov lr, lr, lsl #0x18
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
and ip, ip, #0xff0000
|
|
orr r2, r3, r2
|
|
and r3, lr, #0xff000000
|
|
orr r2, ip, r2
|
|
orr r2, r3, r2
|
|
str r2, [r4, #0x18]
|
|
bl MemZero
|
|
add r0, r4, #0x1d
|
|
add r1, r5, #0x38
|
|
mov r2, #0x14
|
|
#ifdef JAPAN
|
|
bl sub_020253E0_JP
|
|
#else
|
|
bl sub_0202544C
|
|
#endif
|
|
ldr r3, [r5, #0x4c]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r1, r1, r0
|
|
mov r0, r1, lsr #0x10
|
|
strh r0, [r4, #0xa2]
|
|
strh r1, [r4, #0xa0]
|
|
ldr r3, [r5, #0x94]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
strb r0, [r4, #0x1c]
|
|
ldr ip, [r5, #0x90]
|
|
add r0, r4, #0x32
|
|
mov r2, ip, lsr #0x18
|
|
mov r1, ip, lsr #8
|
|
mov r3, ip, lsl #8
|
|
mov ip, ip, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
and r3, r3, #0xff0000
|
|
orr r1, r2, r1
|
|
and r2, ip, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r2, r2, r1
|
|
mov r1, #0x24
|
|
strb r2, [r4, #0xae]
|
|
bl MemZero
|
|
add r0, r4, #0x56
|
|
mov r1, #0x48
|
|
bl MemZero
|
|
add r0, r4, #0x32
|
|
add r1, r5, #0x98
|
|
mov r2, #0x12
|
|
bl ov01_0232E2D8
|
|
add r0, r4, #0x56
|
|
add r1, r5, #0xbc
|
|
mov r2, #0x24
|
|
bl ov01_0232E2D8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov01_0232D664
|
|
|
|
arm_func_start ov01_0232D83C
|
|
ov01_0232D83C: ; 0x0232D83C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, r1
|
|
mov r5, r0
|
|
mov r1, #0x7c
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r5]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4, #0x10]
|
|
bl ov01_0232E1C4
|
|
stmib r5, {r0, r1}
|
|
ldrsh r3, [r4, #0xa2]
|
|
ldrh r2, [r4, #0xa0]
|
|
add r0, r5, #0x10
|
|
add r1, r4, #0x32
|
|
orr r6, r2, r3, lsl #16
|
|
mov r2, r6, lsl #0x18
|
|
and lr, r2, #0xff000000
|
|
mov r2, r6, lsl #8
|
|
and ip, r2, #0xff0000
|
|
mov r2, r6, lsr #0x18
|
|
and r3, r2, #0xff
|
|
mov r2, r6, lsr #8
|
|
and r2, r2, #0xff00
|
|
orr r2, r3, r2
|
|
orr r2, ip, r2
|
|
orr r2, lr, r2
|
|
str r2, [r5, #0xc]
|
|
mov r2, #0x12
|
|
bl ov01_0232E27C
|
|
add r0, r5, #0x34
|
|
add r1, r4, #0x56
|
|
mov r2, #0x24
|
|
bl ov01_0232E27C
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov01_0232D83C
|
|
|
|
arm_func_start ov01_0232D8C8
|
|
ov01_0232D8C8: ; 0x0232D8C8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
mov r6, r0
|
|
mov r4, r2
|
|
mov r1, #0xc
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r6]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov01_0232E1C4
|
|
stmib r6, {r0, r1}
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov01_0232D8C8
|
|
|
|
arm_func_start ov01_0232D8FC
|
|
ov01_0232D8FC: ; 0x0232D8FC
|
|
ldr r3, [r0, #4]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov01_0232D8FC
|
|
|
|
arm_func_start ov01_0232D930
|
|
ov01_0232D930: ; 0x0232D930
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r3, [r5, #8]
|
|
mov r4, r1
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
str r0, [r4, #0x14]
|
|
ldr ip, [r5, #0xc]
|
|
add r0, r4, #0x32
|
|
mov r2, ip, lsr #0x18
|
|
mov r1, ip, lsr #8
|
|
mov r3, ip, lsl #8
|
|
mov ip, ip, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
and r3, r3, #0xff0000
|
|
orr r1, r2, r1
|
|
and r2, ip, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r1, r2, r1
|
|
str r1, [r4, #0x18]
|
|
ldr lr, [r5, #0x20]
|
|
mov r1, #0x24
|
|
mov r3, lr, lsr #0x18
|
|
mov r2, lr, lsr #8
|
|
mov ip, lr, lsl #8
|
|
mov lr, lr, lsl #0x18
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
and ip, ip, #0xff0000
|
|
orr r2, r3, r2
|
|
and r3, lr, #0xff000000
|
|
orr r2, ip, r2
|
|
orr r3, r3, r2
|
|
mov r2, r3, lsr #0x10
|
|
strh r2, [r4, #0xa2]
|
|
strh r3, [r4, #0xa0]
|
|
bl MemZero
|
|
add r0, r4, #0x56
|
|
mov r1, #0x48
|
|
bl MemZero
|
|
add r0, r4, #0x32
|
|
add r1, r5, #0x24
|
|
mov r2, #0x12
|
|
bl ov01_0232E2D8
|
|
add r0, r4, #0x56
|
|
add r1, r5, #0x48
|
|
mov r2, #0x24
|
|
bl ov01_0232E2D8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov01_0232D930
|
|
|
|
arm_func_start ov01_0232DA1C
|
|
ov01_0232DA1C: ; 0x0232DA1C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x68
|
|
mov r5, r1
|
|
mov r7, r0
|
|
mov r1, #0x10c
|
|
mov r4, #1
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r7]
|
|
bl sub_02050CD0
|
|
mov sb, r0
|
|
bl sub_02050CD0
|
|
mov r8, r0
|
|
bl sub_02050CD0
|
|
mov r6, r0
|
|
bl sub_02050CD0
|
|
mov r2, r8, lsl #8
|
|
and r3, r2, #0xff0000
|
|
mov r2, r6, lsr #0x18
|
|
mov r0, r0, lsr #8
|
|
mov r1, sb, lsl #0x18
|
|
and r2, r2, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r2, r0
|
|
and r1, r1, #0xff000000
|
|
orr r0, r3, r0
|
|
orr r0, r1, r0
|
|
str r0, [r7, #4]
|
|
mov r0, r5, lsl #0x18
|
|
and r1, r0, #0xff000000
|
|
mov r0, r5, lsl #8
|
|
and r0, r0, #0xff0000
|
|
orr r0, r1, r0
|
|
str r0, [r7, #8]
|
|
add r1, r7, #0xc
|
|
add r0, sp, #0xc
|
|
mov r2, #0x100
|
|
bl sub_02050990
|
|
add r0, sp, #2
|
|
mov r1, #0
|
|
bl sub_02057030
|
|
strb r0, [sp]
|
|
tst r0, #0xff
|
|
add r0, sp, #0xc
|
|
bne _0232DADC
|
|
bl sub_020509BC
|
|
mov r0, #0
|
|
b _0232DB8C
|
|
_0232DADC:
|
|
add r1, sp, #0
|
|
mov r2, #3
|
|
bl CopyBitsTo
|
|
mov sl, #0
|
|
add sb, sp, #2
|
|
add r7, sp, #0x1c
|
|
add r6, sp, #0xc
|
|
b _0232DB74
|
|
_0232DAFC:
|
|
mov r0, sl, lsl #1
|
|
ldrsh r0, [sb, r0]
|
|
bl GetTeamMember
|
|
mov r8, r0
|
|
mov r0, r7
|
|
mov r1, r8
|
|
bl sub_02055E14
|
|
mov r0, r6
|
|
mov r1, r7
|
|
mov r2, r5
|
|
bl ov01_0232E334
|
|
ldrsh r0, [r8, #4]
|
|
bl IsMonsterIllegalForMissions
|
|
cmp r0, #0
|
|
bne _0232DB68
|
|
add r0, r8, #0x22
|
|
bl IsMovesetValid
|
|
cmp r0, #0
|
|
beq _0232DB68
|
|
ldrb r0, [r8, #1]
|
|
cmp r0, #1
|
|
blo _0232DB68
|
|
cmp r0, #0x64
|
|
bhi _0232DB68
|
|
ldrb r0, [r8, #0x20]
|
|
cmp r0, #0xb
|
|
blo _0232DB70
|
|
_0232DB68:
|
|
mov r4, #0
|
|
b _0232DB80
|
|
_0232DB70:
|
|
add sl, sl, #1
|
|
_0232DB74:
|
|
ldrb r0, [sp]
|
|
cmp sl, r0
|
|
blt _0232DAFC
|
|
_0232DB80:
|
|
add r0, sp, #0xc
|
|
bl sub_020509BC
|
|
mov r0, r4
|
|
_0232DB8C:
|
|
add sp, sp, #0x68
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
arm_func_end ov01_0232DA1C
|
|
|
|
arm_func_start ov01_0232DB94
|
|
ov01_0232DB94: ; 0x0232DB94
|
|
ldr r2, [r0, #4]
|
|
ldr ip, _0232DBA8 ; =ov01_0232E1C4
|
|
ldr r1, [r0, #8]
|
|
mov r0, r2
|
|
bx ip
|
|
.align 2, 0
|
|
_0232DBA8: .word ov01_0232E1C4
|
|
arm_func_end ov01_0232DB94
|
|
|
|
arm_func_start ov01_0232DBAC
|
|
ov01_0232DBAC: ; 0x0232DBAC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov r8, r1
|
|
mov r1, #0x18
|
|
mov sb, r0
|
|
mov r7, r2
|
|
mov r6, r3
|
|
ldr r5, [sp, #0x28]
|
|
ldr r4, [sp, #0x2c]
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
mov sl, r8, lsr #0x18
|
|
mov ip, r8, lsr #8
|
|
mov fp, r8, lsl #8
|
|
mov r2, r7, lsr #0x18
|
|
mov r1, r7, lsr #8
|
|
str r0, [sb]
|
|
mov r0, r8, lsl #0x18
|
|
mov lr, r7, lsl #8
|
|
and r3, r0, #0xff000000
|
|
and r0, fp, #0xff0000
|
|
and sl, sl, #0xff
|
|
and r8, ip, #0xff00
|
|
orr r8, sl, r8
|
|
mov ip, r6, lsr #0x18
|
|
orr r0, r0, r8
|
|
mov r8, r6, lsr #8
|
|
orr r3, r3, r0
|
|
mov r0, r7, lsl #0x18
|
|
mov r7, r6, lsl #8
|
|
str r3, [sb, #4]
|
|
mov r3, r5, lsr #0x18
|
|
and r0, r0, #0xff000000
|
|
and lr, lr, #0xff0000
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
orr r1, r2, r1
|
|
mov r2, r5, lsr #8
|
|
orr r1, lr, r1
|
|
mov lr, r6, lsl #0x18
|
|
mov r6, r5, lsl #8
|
|
orr r0, r0, r1
|
|
mov r1, r4, lsr #0x18
|
|
str r0, [sb, #8]
|
|
mov r0, r4, lsr #8
|
|
and lr, lr, #0xff000000
|
|
and r7, r7, #0xff0000
|
|
and ip, ip, #0xff
|
|
and r8, r8, #0xff00
|
|
orr r8, ip, r8
|
|
orr r7, r7, r8
|
|
mov r5, r5, lsl #0x18
|
|
mov r8, r4, lsl #8
|
|
orr r7, lr, r7
|
|
mov r4, r4, lsl #0x18
|
|
and r3, r3, #0xff
|
|
and r2, r2, #0xff00
|
|
and r6, r6, #0xff0000
|
|
orr r2, r3, r2
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r5, r5, #0xff000000
|
|
orr r3, r6, r2
|
|
and r2, r8, #0xff0000
|
|
orr r0, r1, r0
|
|
str r7, [sb, #0xc]
|
|
orr r3, r5, r3
|
|
and r1, r4, #0xff000000
|
|
orr r0, r2, r0
|
|
str r3, [sb, #0x10]
|
|
orr r0, r1, r0
|
|
str r0, [sb, #0x14]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov01_0232DBAC
|
|
|
|
arm_func_start ov01_0232DCCC
|
|
ov01_0232DCCC: ; 0x0232DCCC
|
|
ldr r3, [r0, #8]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
bx lr
|
|
arm_func_end ov01_0232DCCC
|
|
|
|
arm_func_start ov01_0232DD00
|
|
ov01_0232DD00: ; 0x0232DD00
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x14
|
|
mov r5, r3
|
|
mov fp, r0
|
|
mov r7, r1
|
|
mov r6, r2
|
|
bl ov01_0232DCCC
|
|
cmp r5, r0
|
|
movhs r5, r0
|
|
mov sb, #0
|
|
b _0232DE64
|
|
_0232DD2C:
|
|
mov r0, #0x124
|
|
mul r1, sb, r0
|
|
mov r0, #0x148
|
|
mul r8, sb, r0
|
|
add r2, fp, #0xc
|
|
mov r0, #0
|
|
add sl, r2, r1
|
|
str r0, [sp]
|
|
ldmia sl, {r0, r1}
|
|
add r4, r7, r8
|
|
bl ov01_0232E1C4
|
|
str r0, [r6, sb, lsl #3]
|
|
add r0, r6, sb, lsl #3
|
|
str r1, [r0, #4]
|
|
ldr ip, [sl, #0x20]
|
|
add r0, r4, #2
|
|
mov r2, ip, lsl #0x18
|
|
mov r1, ip, lsr #0x18
|
|
and r3, r2, #0xff000000
|
|
mov r2, ip, lsl #8
|
|
mov ip, ip, lsr #8
|
|
and r1, r1, #0xff
|
|
and ip, ip, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r1, r1, ip
|
|
orr r1, r2, r1
|
|
orr r1, r3, r1
|
|
strb r1, [r7, r8]
|
|
ldr ip, [sl, #0x1c]
|
|
mov r1, #0x14
|
|
mov r3, ip, lsl #0x18
|
|
mov r2, ip, lsr #0x18
|
|
and r8, r3, #0xff000000
|
|
mov r3, ip, lsl #8
|
|
mov ip, ip, lsr #8
|
|
and r2, r2, #0xff
|
|
and ip, ip, #0xff00
|
|
and r3, r3, #0xff0000
|
|
orr r2, r2, ip
|
|
orr r2, r3, r2
|
|
orr r2, r8, r2
|
|
strb r2, [r4, #1]
|
|
bl MemZero
|
|
add r0, r4, #2
|
|
add r1, sl, #8
|
|
mov r2, #0x14
|
|
#ifdef JAPAN
|
|
bl sub_020253E0_JP
|
|
#else
|
|
bl sub_0202544C
|
|
#endif
|
|
add r1, sl, #0x24
|
|
add r0, sp, #4
|
|
mov r2, #0x100
|
|
bl sub_02050974
|
|
add r0, sp, #4
|
|
add r1, sp, #0
|
|
mov r2, #3
|
|
bl CopyBitsFrom
|
|
mov sl, #0
|
|
add r8, r4, #0x18
|
|
b _0232DE2C
|
|
_0232DE14:
|
|
mov r0, #0x4c
|
|
mla r1, sl, r0, r8
|
|
ldrsb r2, [r4]
|
|
add r0, sp, #4
|
|
bl ov01_0232E58C
|
|
add sl, sl, #1
|
|
_0232DE2C:
|
|
ldr r3, [sp]
|
|
cmp sl, r3
|
|
blt _0232DE14
|
|
mov r2, #0
|
|
mov r0, #0x4c
|
|
b _0232DE50
|
|
_0232DE44:
|
|
mla r1, r3, r0, r4
|
|
strh r2, [r1, #0x20]
|
|
add r3, r3, #1
|
|
_0232DE50:
|
|
cmp r3, #4
|
|
blt _0232DE44
|
|
add r0, sp, #4
|
|
bl sub_020509BC
|
|
add sb, sb, #1
|
|
_0232DE64:
|
|
cmp sb, r5
|
|
blt _0232DD2C
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov01_0232DD00
|
|
|
|
arm_func_start ov01_0232DE74
|
|
ov01_0232DE74: ; 0x0232DE74
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
mov r6, r0
|
|
mov r4, r2
|
|
mov r1, #0xc
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r6]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov01_0232E1C4
|
|
stmib r6, {r0, r1}
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov01_0232DE74
|
|
|
|
arm_func_start ov01_0232DEA8
|
|
ov01_0232DEA8: ; 0x0232DEA8
|
|
ldr r3, [r0, #4]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov01_0232DEA8
|
|
|
|
arm_func_start ov01_0232DEE0
|
|
ov01_0232DEE0: ; 0x0232DEE0
|
|
ldr r3, [r0, #0x124]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov01_0232DEE0
|
|
|
|
arm_func_start ov01_0232DF18
|
|
ov01_0232DF18: ; 0x0232DF18
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x14
|
|
mov r2, #0
|
|
mov r5, r0
|
|
str r2, [sp]
|
|
ldr r3, [r5, #0x20]
|
|
mov r4, r1
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r3, r3, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r2, r2, #0xff0000
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
strb r0, [r4]
|
|
ldr r6, [r5, #0x1c]
|
|
add r0, r4, #2
|
|
mov r2, r6, lsr #0x18
|
|
mov r1, r6, lsr #8
|
|
mov r3, r6, lsl #8
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
mov r6, r6, lsl #0x18
|
|
orr r1, r2, r1
|
|
and r3, r3, #0xff0000
|
|
and r2, r6, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r2, r2, r1
|
|
mov r1, #0x14
|
|
strb r2, [r4, #1]
|
|
bl MemZero
|
|
add r0, r4, #2
|
|
add r1, r5, #8
|
|
mov r2, #0x14
|
|
#ifdef JAPAN
|
|
bl sub_020253E0_JP
|
|
#else
|
|
bl sub_0202544C
|
|
#endif
|
|
add r0, sp, #4
|
|
add r1, r5, #0x24
|
|
mov r2, #0x100
|
|
bl sub_02050974
|
|
add r0, sp, #4
|
|
add r1, sp, #0
|
|
mov r2, #3
|
|
bl CopyBitsFrom
|
|
mov r8, #0
|
|
add r6, r4, #0x18
|
|
add r7, sp, #4
|
|
mov r5, #0x4c
|
|
b _0232DFFC
|
|
_0232DFE8:
|
|
mla r1, r8, r5, r6
|
|
ldrsb r2, [r4]
|
|
mov r0, r7
|
|
bl ov01_0232E58C
|
|
add r8, r8, #1
|
|
_0232DFFC:
|
|
ldr r3, [sp]
|
|
cmp r8, r3
|
|
blt _0232DFE8
|
|
mov r2, #0
|
|
mov r0, #0x4c
|
|
b _0232E020
|
|
_0232E014:
|
|
mla r1, r3, r0, r4
|
|
strh r2, [r1, #0x20]
|
|
add r3, r3, #1
|
|
_0232E020:
|
|
cmp r3, #4
|
|
blt _0232E014
|
|
add r0, sp, #4
|
|
bl sub_020509BC
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov01_0232DF18
|
|
|
|
arm_func_start ov01_0232E038
|
|
ov01_0232E038: ; 0x0232E038
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r1
|
|
mov r6, r0
|
|
mov r4, r2
|
|
mov r1, #0xc
|
|
bl MemZero
|
|
bl ov01_0232E22C
|
|
str r0, [r6]
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl ov01_0232E1C4
|
|
stmib r6, {r0, r1}
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov01_0232E038
|
|
|
|
arm_func_start ov01_0232E06C
|
|
ov01_0232E06C: ; 0x0232E06C
|
|
ldr r3, [r0, #4]
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
mov r3, r3, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
arm_func_end ov01_0232E06C
|
|
|
|
arm_func_start ov01_0232E0A4
|
|
ov01_0232E0A4: ; 0x0232E0A4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x14
|
|
mov r2, #0
|
|
mov r5, r0
|
|
str r2, [sp]
|
|
ldr r3, [r5, #0x20]
|
|
mov r4, r1
|
|
mov r1, r3, lsr #0x18
|
|
mov r0, r3, lsr #8
|
|
mov r2, r3, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
mov r3, r3, lsl #0x18
|
|
orr r0, r1, r0
|
|
and r2, r2, #0xff0000
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
strb r0, [r4]
|
|
ldr r6, [r5, #0x1c]
|
|
add r0, r4, #2
|
|
mov r2, r6, lsr #0x18
|
|
mov r1, r6, lsr #8
|
|
mov r3, r6, lsl #8
|
|
and r2, r2, #0xff
|
|
and r1, r1, #0xff00
|
|
mov r6, r6, lsl #0x18
|
|
orr r1, r2, r1
|
|
and r3, r3, #0xff0000
|
|
and r2, r6, #0xff000000
|
|
orr r1, r3, r1
|
|
orr r2, r2, r1
|
|
mov r1, #0x14
|
|
strb r2, [r4, #1]
|
|
bl MemZero
|
|
add r0, r4, #2
|
|
add r1, r5, #8
|
|
mov r2, #0x14
|
|
#ifdef JAPAN
|
|
bl sub_020253E0_JP
|
|
#else
|
|
bl sub_0202544C
|
|
#endif
|
|
add r0, sp, #4
|
|
add r1, r5, #0x24
|
|
mov r2, #0x100
|
|
bl sub_02050974
|
|
add r0, sp, #4
|
|
add r1, sp, #0
|
|
mov r2, #3
|
|
bl CopyBitsFrom
|
|
mov r8, #0
|
|
add r6, r4, #0x18
|
|
add r7, sp, #4
|
|
mov r5, #0x4c
|
|
b _0232E188
|
|
_0232E174:
|
|
mla r1, r8, r5, r6
|
|
ldrsb r2, [r4]
|
|
mov r0, r7
|
|
bl ov01_0232E58C
|
|
add r8, r8, #1
|
|
_0232E188:
|
|
ldr r3, [sp]
|
|
cmp r8, r3
|
|
blt _0232E174
|
|
mov r2, #0
|
|
mov r0, #0x4c
|
|
b _0232E1AC
|
|
_0232E1A0:
|
|
mla r1, r3, r0, r4
|
|
strh r2, [r1, #0x20]
|
|
add r3, r3, #1
|
|
_0232E1AC:
|
|
cmp r3, #4
|
|
blt _0232E1A0
|
|
add r0, sp, #4
|
|
bl sub_020509BC
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
arm_func_end ov01_0232E0A4
|
|
|
|
arm_func_start ov01_0232E1C4
|
|
ov01_0232E1C4: ; 0x0232E1C4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r0, lsr #0x18
|
|
mov r4, r0, lsr #8
|
|
mov r3, r1, lsr #0x18
|
|
mov r2, r1, lsr #8
|
|
mov r6, r0, lsl #8
|
|
mov ip, r1, lsl #8
|
|
mov r0, r0, lsl #0x18
|
|
mov lr, r1, lsl #0x18
|
|
and r5, r5, #0xff
|
|
and r4, r4, #0xff00
|
|
and r3, r3, #0xff
|
|
and r1, r2, #0xff00
|
|
and r6, r6, #0xff0000
|
|
orr r4, r5, r4
|
|
and r2, ip, #0xff0000
|
|
orr r1, r3, r1
|
|
and r3, r0, #0xff000000
|
|
orr r0, r6, r4
|
|
orr r4, r3, r0
|
|
and r3, lr, #0xff000000
|
|
orr r0, r2, r1
|
|
orr r0, r3, r0
|
|
orr r1, r4, #0
|
|
orr r0, r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov01_0232E1C4
|
|
|
|
arm_func_start ov01_0232E22C
|
|
ov01_0232E22C: ; 0x0232E22C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
bl ov00_022BCCC8
|
|
mov r6, r0
|
|
bl ov00_022BCCC8
|
|
mov r5, r0
|
|
bl ov00_022BCCC8
|
|
mov r4, r0
|
|
bl ov00_022BCCC8
|
|
mov r1, r4, lsr #0x18
|
|
mov r0, r0, lsr #8
|
|
mov r2, r5, lsl #8
|
|
mov r3, r6, lsl #0x18
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
and r2, r2, #0xff0000
|
|
orr r0, r1, r0
|
|
and r1, r3, #0xff000000
|
|
orr r0, r2, r0
|
|
orr r0, r1, r0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov01_0232E22C
|
|
|
|
arm_func_start ov01_0232E27C
|
|
ov01_0232E27C: ; 0x0232E27C
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, #0
|
|
b _0232E2AC
|
|
_0232E288:
|
|
mov lr, r4, lsl #1
|
|
ldrh r3, [r1, lr]
|
|
add r4, r4, #1
|
|
mov ip, r3, asr #8
|
|
mov r3, r3, lsl #8
|
|
and ip, ip, #0xff
|
|
and r3, r3, #0xff00
|
|
orr r3, ip, r3
|
|
strh r3, [r0, lr]
|
|
_0232E2AC:
|
|
mov r3, r4, lsl #1
|
|
ldrh r3, [r1, r3]
|
|
cmp r3, #0
|
|
beq _0232E2C4
|
|
cmp r4, r2
|
|
blt _0232E288
|
|
_0232E2C4:
|
|
cmp r4, r2
|
|
movlt r1, r4, lsl #1
|
|
movlt r2, #0
|
|
strlth r2, [r0, r1]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov01_0232E27C
|
|
|
|
arm_func_start ov01_0232E2D8
|
|
ov01_0232E2D8: ; 0x0232E2D8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, #0
|
|
b _0232E308
|
|
_0232E2E4:
|
|
mov lr, r4, lsl #1
|
|
ldrh r3, [r1, lr]
|
|
add r4, r4, #1
|
|
mov ip, r3, asr #8
|
|
mov r3, r3, lsl #8
|
|
and ip, ip, #0xff
|
|
and r3, r3, #0xff00
|
|
orr r3, ip, r3
|
|
strh r3, [r0, lr]
|
|
_0232E308:
|
|
mov r3, r4, lsl #1
|
|
ldrh r3, [r1, r3]
|
|
cmp r3, #0
|
|
beq _0232E320
|
|
cmp r4, r2
|
|
blt _0232E2E4
|
|
_0232E320:
|
|
cmp r4, r2
|
|
movlt r1, r4, lsl #1
|
|
movlt r2, #0
|
|
strlth r2, [r0, r1]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov01_0232E2D8
|
|
|
|
arm_func_start ov01_0232E334
|
|
ov01_0232E334: ; 0x0232E334
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x24
|
|
ldr r3, _0232E588 ; =ov01_0233AF10
|
|
mov r5, r2
|
|
ldrh r2, [r3]
|
|
mov r7, r0
|
|
mov r6, r1
|
|
strh r2, [sp, #8]
|
|
ldrh r4, [r3, #2]
|
|
mov r3, #0
|
|
mov r2, #4
|
|
strh r4, [sp, #0xa]
|
|
str r3, [sp, #4]
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #4
|
|
mov r2, #7
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #5
|
|
bl Copy16BitsTo
|
|
mov r0, r7
|
|
add r1, r6, #8
|
|
mov r2, #0xb
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #0xa
|
|
bl sub_02059AF8
|
|
mov r0, r7
|
|
add r1, r6, #0xb
|
|
bl sub_02059AF8
|
|
mov r0, r7
|
|
add r1, r6, #0xc
|
|
mov r2, #0xa
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #0xe
|
|
mov r2, #0xa
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #0x10
|
|
mov r2, #8
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #0x11
|
|
mov r2, #8
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #0x12
|
|
mov r2, #8
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #0x13
|
|
mov r2, #8
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #0x14
|
|
mov r2, #0x18
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #0x18
|
|
mov r2, #0x45
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, r6, #0x24
|
|
mov r2, #4
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, sp, #4
|
|
mov r2, #3
|
|
bl CopyBitsTo
|
|
mov r0, r7
|
|
add r1, sp, #8
|
|
bl sub_0200DFE4
|
|
mov r0, r7
|
|
add r1, r6, #0x2a
|
|
bl CopyMovesetTo
|
|
add r0, sp, #0xc
|
|
mov r1, #0x18
|
|
bl MemZero
|
|
cmp r5, #0
|
|
mov r5, #0
|
|
beq _0232E4FC
|
|
mov r0, #0x14
|
|
mov r1, #0
|
|
bl MemAlloc
|
|
add r1, r6, #0x42
|
|
mov r2, #0xa
|
|
mov r4, r0
|
|
#ifdef JAPAN
|
|
bl StrcpyName
|
|
#else
|
|
bl sub_02025404
|
|
#endif
|
|
add r1, sp, #0xc
|
|
b _0232E4D4
|
|
_0232E4A4:
|
|
mov r3, r5, lsl #1
|
|
ldrh r0, [r4, r3]
|
|
mov r2, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r2, r2, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r2, r0
|
|
strh r0, [r1, r3]
|
|
ldrh r0, [r1, r3]
|
|
cmp r0, #0
|
|
beq _0232E4DC
|
|
add r5, r5, #1
|
|
_0232E4D4:
|
|
cmp r5, #0xa
|
|
blt _0232E4A4
|
|
_0232E4DC:
|
|
cmp r5, #0xa
|
|
addne r0, sp, #0xc
|
|
movne r1, r5, lsl #1
|
|
movne r2, #0
|
|
strneh r2, [r0, r1]
|
|
mov r0, r4
|
|
bl MemFree
|
|
b _0232E570
|
|
_0232E4FC:
|
|
ldrsh r0, [r6, #8]
|
|
bl GetNameString
|
|
str r0, [sp]
|
|
add r6, sp, #0xc
|
|
add r4, sp, #0
|
|
b _0232E54C
|
|
_0232E514:
|
|
mov r0, r4
|
|
bl sub_0202065C
|
|
mov sb, r0
|
|
bl sub_02025480
|
|
mov r8, r0
|
|
mov r0, sb
|
|
bl sub_02025480
|
|
mov r1, r0, asr #8
|
|
mov r0, r8, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [r6], #2
|
|
add r5, r5, #1
|
|
_0232E54C:
|
|
ldr r0, [sp]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0232E564
|
|
cmp r5, #0xa
|
|
blt _0232E514
|
|
_0232E564:
|
|
cmp r5, #0xa
|
|
movlt r0, #0
|
|
strlth r0, [r6]
|
|
_0232E570:
|
|
add r1, sp, #0xc
|
|
mov r0, r7
|
|
mov r2, #0xa0
|
|
bl CopyBitsTo
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_0232E588: .word ov01_0233AF10
|
|
arm_func_end ov01_0232E334
|
|
|
|
arm_func_start ov01_0232E58C
|
|
ov01_0232E58C: ; 0x0232E58C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x2c
|
|
mov r4, r2
|
|
mov r5, r1
|
|
mov r2, #4
|
|
mov r6, r0
|
|
bl CopyBitsFrom
|
|
ldrh r2, [r5]
|
|
mov r0, r6
|
|
add r1, r5, #4
|
|
and r3, r2, #1
|
|
mov r2, #7
|
|
strh r3, [r5]
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #5
|
|
bl Copy16BitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #8
|
|
mov r2, #0xb
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0xa
|
|
bl sub_02059AE8
|
|
mov r0, r6
|
|
add r1, r5, #0xb
|
|
bl sub_02059AE8
|
|
mov r0, r6
|
|
add r1, r5, #0xc
|
|
mov r2, #0xa
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0xe
|
|
mov r2, #0xa
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0x10
|
|
mov r2, #8
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0x11
|
|
mov r2, #8
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0x12
|
|
mov r2, #8
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0x13
|
|
mov r2, #8
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0x14
|
|
mov r2, #0x18
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0x18
|
|
mov r2, #0x45
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0x24
|
|
mov r2, #4
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0x25
|
|
mov r2, #3
|
|
bl CopyBitsFrom
|
|
mov r0, r6
|
|
add r1, r5, #0x26
|
|
bl sub_0200DFBC
|
|
mov r2, #0
|
|
strh r2, [r5, #0x26]
|
|
mov r0, r6
|
|
add r1, r5, #0x2a
|
|
strh r2, [r5, #0x28]
|
|
bl CopyMovesetFrom
|
|
add r1, sp, #0
|
|
mov r0, r6
|
|
mov r2, #0xa0
|
|
bl CopyBitsFrom
|
|
bl GetLanguageType
|
|
cmp r4, r0
|
|
bne _0232E748
|
|
mov r0, #0x14
|
|
mov r1, #0
|
|
bl MemAlloc
|
|
mov r4, r0
|
|
mov ip, #0
|
|
add r2, sp, #0
|
|
b _0232E724
|
|
_0232E6F4:
|
|
mov r3, ip, lsl #1
|
|
ldrh r0, [r2, r3]
|
|
mov r1, r0, asr #8
|
|
mov r0, r0, lsl #8
|
|
and r1, r1, #0xff
|
|
and r0, r0, #0xff00
|
|
orr r0, r1, r0
|
|
strh r0, [r4, r3]
|
|
ldrh r0, [r4, r3]
|
|
cmp r0, #0
|
|
beq _0232E72C
|
|
add ip, ip, #1
|
|
_0232E724:
|
|
cmp ip, #0xa
|
|
blt _0232E6F4
|
|
_0232E72C:
|
|
mov r1, r4
|
|
add r0, r5, #0x42
|
|
mov r2, #0xa
|
|
#ifdef JAPAN
|
|
bl sub_020253E0_JP
|
|
#else
|
|
bl sub_0202544C
|
|
#endif
|
|
mov r0, r4
|
|
bl MemFree
|
|
b _0232E760
|
|
_0232E748:
|
|
ldrsh r0, [r5, #8]
|
|
bl GetNameString
|
|
mov r1, r0
|
|
add r0, r5, #0x42
|
|
mov r2, #0xa
|
|
bl StrncpyName
|
|
_0232E760:
|
|
add sp, sp, #0x2c
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end ov01_0232E58C
|
|
|
|
arm_func_start ov01_0232E768
|
|
ov01_0232E768: ; 0x0232E768
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r0, #0x54
|
|
mov r1, #1
|
|
bl MemAlloc
|
|
mov r5, r0
|
|
ldr r0, _0232E7B8 ; =ov01_0233C148
|
|
ldr r4, _0232E7BC ; =ov01_0233AF64
|
|
str r5, [r0]
|
|
add lr, r5, #0x2c
|
|
mov ip, #2
|
|
_0232E790:
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _0232E790
|
|
ldr r1, [r4]
|
|
mov r0, #0
|
|
str r1, [lr]
|
|
str r0, [r5, #0x50]
|
|
bl ov01_0232E7E8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0232E7B8: .word ov01_0233C148
|
|
_0232E7BC: .word ov01_0233AF64
|
|
arm_func_end ov01_0232E768
|
|
|
|
arm_func_start ov01_0232E7C0
|
|
ov01_0232E7C0: ; 0x0232E7C0
|
|
stmdb sp!, {r3, lr}
|
|
bl ov01_0232E7E8
|
|
ldr r0, _0232E7E4 ; =ov01_0233C148
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _0232E7E4 ; =ov01_0233C148
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232E7E4: .word ov01_0233C148
|
|
arm_func_end ov01_0232E7C0
|
|
|
|
arm_func_start ov01_0232E7E8
|
|
ov01_0232E7E8: ; 0x0232E7E8
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x24
|
|
ldr r0, _0232E8D0 ; =ov01_0233C148
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x50]
|
|
add r4, r1, #0x2c
|
|
cmp r0, #2
|
|
bne _0232E830
|
|
ldr r0, _0232E8D4 ; =ov01_0233AF64
|
|
mov r1, r4
|
|
bl ov01_0232E8D8
|
|
cmp r0, #0
|
|
bne _0232E830
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
beq _0232E830
|
|
mov r0, #1
|
|
blx r1
|
|
_0232E830:
|
|
ldr r0, _0232E8D0 ; =ov01_0233C148
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
ldr lr, _0232E8D4 ; =ov01_0233AF64
|
|
add ip, sp, #0
|
|
strb r1, [r0]
|
|
mov r5, #2
|
|
_0232E84C:
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
subs r5, r5, #1
|
|
bne _0232E84C
|
|
ldr r0, _0232E8D0 ; =ov01_0233C148
|
|
ldr r1, [lr]
|
|
ldr r6, [r0]
|
|
str r1, [ip]
|
|
add r5, sp, #0
|
|
add lr, r6, #4
|
|
mov ip, #2
|
|
_0232E878:
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _0232E878
|
|
ldr r1, [r5]
|
|
mov r0, #0
|
|
str r1, [lr]
|
|
add lr, sp, #0
|
|
strb r0, [r6, #0x28]
|
|
mov ip, #2
|
|
_0232E8A0:
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _0232E8A0
|
|
ldr r1, [lr]
|
|
ldr r0, _0232E8D0 ; =ov01_0233C148
|
|
str r1, [r4]
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
str r1, [r0, #0x50]
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0232E8D0: .word ov01_0233C148
|
|
_0232E8D4: .word ov01_0233AF64
|
|
arm_func_end ov01_0232E7E8
|
|
|
|
arm_func_start ov01_0232E8D8
|
|
ov01_0232E8D8: ; 0x0232E8D8
|
|
cmp r0, #0
|
|
ldreq r0, _0232E948 ; =ov01_0233AF64
|
|
cmp r1, #0
|
|
ldreq r1, _0232E948 ; =ov01_0233AF64
|
|
ldr r3, [r0]
|
|
ldr r2, [r1]
|
|
cmp r3, r2
|
|
ldreq r3, [r0, #4]
|
|
ldreq r2, [r1, #4]
|
|
cmpeq r3, r2
|
|
ldreq r3, [r0, #8]
|
|
ldreq r2, [r1, #8]
|
|
cmpeq r3, r2
|
|
ldreq r3, [r0, #0x18]
|
|
ldreq r2, [r1, #0x18]
|
|
cmpeq r3, r2
|
|
ldreq r3, [r0, #0x14]
|
|
ldreq r2, [r1, #0x14]
|
|
cmpeq r3, r2
|
|
ldreq r3, [r0, #0x1c]
|
|
ldreq r2, [r1, #0x1c]
|
|
cmpeq r3, r2
|
|
ldreq r2, [r0, #0x20]
|
|
ldreq r0, [r1, #0x20]
|
|
cmpeq r2, r0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_0232E948: .word ov01_0233AF64
|
|
arm_func_end ov01_0232E8D8
|
|
|
|
arm_func_start ov01_0232E94C
|
|
ov01_0232E94C: ; 0x0232E94C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232E998 ; =ov01_0233C148
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
ldreqb r0, [r1, #0x28]
|
|
cmpeq r0, #0
|
|
movne r0, #1
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x50]
|
|
cmp r0, #1
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, pc}
|
|
cmp r0, #2
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x38]
|
|
blx r0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232E998: .word ov01_0233C148
|
|
arm_func_end ov01_0232E94C
|
|
|
|
arm_func_start ov01_0232E99C
|
|
ov01_0232E99C: ; 0x0232E99C
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _0232EA2C ; =ov01_0233C148
|
|
mov r4, r0
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x2c
|
|
bl ov01_0232E8D8
|
|
cmp r0, #0
|
|
bne _0232EA24
|
|
ldr r0, _0232EA2C ; =ov01_0233C148
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2]
|
|
cmp r1, #0
|
|
beq _0232E9E4
|
|
mov r0, r4
|
|
add r1, r2, #4
|
|
bl ov01_0232E8D8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_0232E9E4:
|
|
mov r1, #1
|
|
strb r1, [r2]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
strb r2, [r1, #0x28]
|
|
ldr r0, [r0]
|
|
mov ip, #2
|
|
add lr, r0, #4
|
|
_0232EA04:
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _0232EA04
|
|
ldr r1, [r4]
|
|
mov r0, #1
|
|
str r1, [lr]
|
|
ldmia sp!, {r4, pc}
|
|
_0232EA24:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232EA2C: .word ov01_0233C148
|
|
arm_func_end ov01_0232E99C
|
|
|
|
arm_func_start ov01_0232EA30
|
|
ov01_0232EA30: ; 0x0232EA30
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x24
|
|
ldr r0, _0232EC28 ; =ov01_0233C148
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x50]
|
|
add r4, r1, #0x2c
|
|
cmp r0, #1
|
|
beq _0232EC20
|
|
cmp r0, #2
|
|
bne _0232EB00
|
|
add ip, sp, #0
|
|
mov lr, r4
|
|
mov r5, #2
|
|
_0232EA64:
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
subs r5, r5, #1
|
|
bne _0232EA64
|
|
ldr r0, [lr]
|
|
str r0, [ip]
|
|
ldr r0, [r4, #0x14]
|
|
blx r0
|
|
cmp r0, #1
|
|
bne _0232EB00
|
|
add r1, sp, #0
|
|
mov r0, r4
|
|
bl ov01_0232E8D8
|
|
cmp r0, #0
|
|
beq _0232EB00
|
|
ldr r0, _0232EC28 ; =ov01_0233C148
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x50]
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
beq _0232EAC4
|
|
mov r0, #1
|
|
blx r1
|
|
_0232EAC4:
|
|
ldr r5, _0232EC2C ; =ov01_0233AF64
|
|
mov lr, r4
|
|
mov ip, #2
|
|
_0232EAD0:
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _0232EAD0
|
|
ldr r1, [r5]
|
|
ldr r0, _0232EC28 ; =ov01_0233C148
|
|
str r1, [lr]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
strb r2, [r1, #0x28]
|
|
ldr r0, [r0]
|
|
str r2, [r0, #0x50]
|
|
_0232EB00:
|
|
ldr r0, _0232EC28 ; =ov01_0233C148
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _0232EBAC
|
|
ldr r0, _0232EC2C ; =ov01_0233AF64
|
|
mov r1, r4
|
|
bl ov01_0232E8D8
|
|
cmp r0, #0
|
|
bne _0232EB44
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
beq _0232EB44
|
|
mov r0, #0
|
|
blx r1
|
|
cmp r0, #0
|
|
beq _0232EC20
|
|
_0232EB44:
|
|
ldr r0, _0232EC28 ; =ov01_0233C148
|
|
mov ip, #2
|
|
ldr r5, [r0]
|
|
add lr, r5, #4
|
|
_0232EB54:
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _0232EB54
|
|
ldr r0, [lr]
|
|
mov r1, #0
|
|
str r0, [r4]
|
|
ldr r0, _0232EC28 ; =ov01_0233C148
|
|
strb r1, [r5]
|
|
ldr r5, [r0]
|
|
ldr lr, _0232EC2C ; =ov01_0233AF64
|
|
add ip, r5, #4
|
|
mov r4, #2
|
|
_0232EB88:
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _0232EB88
|
|
ldr r1, [lr]
|
|
mov r0, #1
|
|
str r1, [ip]
|
|
str r0, [r5, #0x50]
|
|
b _0232EC20
|
|
_0232EBAC:
|
|
ldrb r0, [r1, #0x28]
|
|
cmp r0, #0
|
|
beq _0232EC20
|
|
ldr r0, _0232EC2C ; =ov01_0233AF64
|
|
mov r1, r4
|
|
bl ov01_0232E8D8
|
|
cmp r0, #0
|
|
bne _0232EBE8
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
beq _0232EBE8
|
|
mov r0, #0
|
|
blx r1
|
|
cmp r0, #0
|
|
beq _0232EC20
|
|
_0232EBE8:
|
|
ldr lr, _0232EC2C ; =ov01_0233AF64
|
|
mov ip, #2
|
|
_0232EBF0:
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _0232EBF0
|
|
ldr r1, [lr]
|
|
ldr r0, _0232EC28 ; =ov01_0233C148
|
|
str r1, [r4]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
strb r2, [r1, #0x28]
|
|
ldr r0, [r0]
|
|
str r2, [r0, #0x50]
|
|
_0232EC20:
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_0232EC28: .word ov01_0233C148
|
|
_0232EC2C: .word ov01_0233AF64
|
|
arm_func_end ov01_0232EA30
|
|
|
|
arm_func_start ov01_0232EC30
|
|
ov01_0232EC30: ; 0x0232EC30
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r0, _0232ED54 ; =ov01_0233C148
|
|
ldr lr, [r0]
|
|
ldr r0, [lr, #0x50]
|
|
add ip, lr, #0x2c
|
|
cmp r0, #2
|
|
bne _0232EC60
|
|
ldr r0, [ip, #0x18]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
blx r0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0232EC60:
|
|
cmp r0, #1
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldrb r0, [lr]
|
|
cmp r0, #0
|
|
beq _0232ECC4
|
|
mov r5, ip
|
|
add r6, lr, #4
|
|
mov r4, #2
|
|
_0232EC80:
|
|
ldmia r6!, {r0, r1, r2, r3}
|
|
stmia r5!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _0232EC80
|
|
ldr r0, [r6]
|
|
ldr r6, _0232ED58 ; =ov01_0233AF64
|
|
str r0, [r5]
|
|
add r5, lr, #4
|
|
mov r4, #2
|
|
_0232ECA4:
|
|
ldmia r6!, {r0, r1, r2, r3}
|
|
stmia r5!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _0232ECA4
|
|
ldr r1, [r6]
|
|
mov r0, #0
|
|
str r1, [r5]
|
|
strb r0, [lr]
|
|
_0232ECC4:
|
|
ldr r0, _0232ED54 ; =ov01_0233C148
|
|
ldr lr, [r0]
|
|
ldrb r0, [lr, #0x28]
|
|
cmp r0, #0
|
|
beq _0232ED10
|
|
ldr r5, _0232ED58 ; =ov01_0233AF64
|
|
mov r4, #2
|
|
_0232ECE0:
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _0232ECE0
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [ip]
|
|
ldr r0, _0232ED54 ; =ov01_0233C148
|
|
strb r1, [lr, #0x28]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x50]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0232ED10:
|
|
ldr r0, [ip, #4]
|
|
cmp r0, #0
|
|
beq _0232ED48
|
|
blx r0
|
|
cmp r0, #0
|
|
ldreq r0, _0232ED54 ; =ov01_0233C148
|
|
moveq r1, #3
|
|
ldreq r0, [r0]
|
|
streq r1, [r0, #0x50]
|
|
ldrne r0, _0232ED54 ; =ov01_0233C148
|
|
movne r1, #2
|
|
ldrne r0, [r0]
|
|
strne r1, [r0, #0x50]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0232ED48:
|
|
mov r0, #2
|
|
str r0, [lr, #0x50]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0232ED54: .word ov01_0233C148
|
|
_0232ED58: .word ov01_0233AF64
|
|
arm_func_end ov01_0232EC30
|
|
|
|
arm_func_start ov01_0232ED5C
|
|
ov01_0232ED5C: ; 0x0232ED5C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232ED80 ; =ov01_0233C148
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x50]
|
|
cmp r0, #2
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x48]
|
|
blx r0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232ED80: .word ov01_0233C148
|
|
arm_func_end ov01_0232ED5C
|
|
|
|
arm_func_start ov01_0232ED84
|
|
ov01_0232ED84: ; 0x0232ED84
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232EDA8 ; =ov01_0233C148
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x50]
|
|
cmp r0, #2
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, [r1, #0x4c]
|
|
blx r0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232EDA8: .word ov01_0233C148
|
|
arm_func_end ov01_0232ED84
|
|
|
|
arm_func_start ov01_0232EDAC
|
|
ov01_0232EDAC: ; 0x0232EDAC
|
|
ldr ip, _0232EDB8 ; =ov01_0232E99C
|
|
ldr r0, _0232EDBC ; =ov01_0233AF88
|
|
bx ip
|
|
.align 2, 0
|
|
_0232EDB8: .word ov01_0232E99C
|
|
_0232EDBC: .word ov01_0233AF88
|
|
arm_func_end ov01_0232EDAC
|
|
|
|
arm_func_start ov01_0232EDC0
|
|
ov01_0232EDC0: ; 0x0232EDC0
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #4
|
|
mov r1, #0xf
|
|
bl MemAlloc
|
|
ldr r1, _0232EDE8 ; =ov01_0233C14C
|
|
mov r2, #0
|
|
str r0, [r1]
|
|
str r2, [r0]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232EDE8: .word ov01_0233C14C
|
|
arm_func_end ov01_0232EDC0
|
|
|
|
arm_func_start ov01_0232EDEC
|
|
ov01_0232EDEC: ; 0x0232EDEC
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
bne _0232EE10
|
|
ldr r0, _0232EE30 ; =ov01_0233C14C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, #6
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
_0232EE10:
|
|
ldr r0, _0232EE30 ; =ov01_0233C14C
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _0232EE30 ; =ov01_0233C14C
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232EE30: .word ov01_0233C14C
|
|
arm_func_end ov01_0232EDEC
|
|
|
|
arm_func_start ov01_0232EE34
|
|
ov01_0232EE34: ; 0x0232EE34
|
|
ldr r0, _0232EE54 ; =ov01_0233C14C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, #6
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
and r0, r0, #0xff
|
|
bx lr
|
|
.align 2, 0
|
|
_0232EE54: .word ov01_0233C14C
|
|
arm_func_end ov01_0232EE34
|
|
|
|
arm_func_start ov01_0232EE58
|
|
ov01_0232EE58: ; 0x0232EE58
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232EF24 ; =ov01_0233C14C
|
|
ldr r1, [r0]
|
|
ldr r0, [r1]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232EF1C
|
|
_0232EE74: ; jump table
|
|
b _0232EE8C ; case 0
|
|
b _0232EEF0 ; case 1
|
|
b _0232EF1C ; case 2
|
|
b _0232EF0C ; case 3
|
|
b _0232EF1C ; case 4
|
|
b _0232EF0C ; case 5
|
|
_0232EE8C:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
bne _0232EF1C
|
|
bl ov00_022BE6C0
|
|
cmp r0, #0x100
|
|
ldreq r0, _0232EF24 ; =ov01_0233C14C
|
|
moveq r1, #4
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
beq _0232EF1C
|
|
bl ov00_022BE6C0
|
|
mvn r1, #0xff
|
|
cmp r0, r1
|
|
ldreq r0, _0232EF24 ; =ov01_0233C14C
|
|
moveq r1, #2
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
beq _0232EF1C
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _0232EF24 ; =ov01_0233C14C
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0232EF1C
|
|
_0232EEF0:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldreq r0, _0232EF24 ; =ov01_0233C14C
|
|
moveq r1, #2
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
b _0232EF1C
|
|
_0232EF0C:
|
|
mov r0, #6
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_0232EF1C:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232EF24: .word ov01_0233C14C
|
|
arm_func_end ov01_0232EE58
|
|
|
|
arm_func_start ov01_0232EF28
|
|
ov01_0232EF28: ; 0x0232EF28
|
|
ldr r0, _0232EF48 ; =ov01_0233C14C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, #2
|
|
cmpne r0, #4
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_0232EF48: .word ov01_0233C14C
|
|
arm_func_end ov01_0232EF28
|
|
|
|
arm_func_start ov01_0232EF4C
|
|
ov01_0232EF4C: ; 0x0232EF4C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232EFA4 ; =ov01_0233C14C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, #2
|
|
cmpne r0, #4
|
|
ldmneia sp!, {r3, pc}
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl sub_02008F64
|
|
mov r0, #1
|
|
mov r1, #3
|
|
bl sub_02008F64
|
|
ldr r0, _0232EFA4 ; =ov01_0233C14C
|
|
ldr r1, [r0]
|
|
ldr r0, [r1]
|
|
cmp r0, #2
|
|
moveq r0, #3
|
|
streq r0, [r1]
|
|
movne r0, #5
|
|
strne r0, [r1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232EFA4: .word ov01_0233C14C
|
|
arm_func_end ov01_0232EF4C
|
|
|
|
arm_func_start ov01_0232EFA8
|
|
ov01_0232EFA8: ; 0x0232EFA8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, _0232EFE0 ; =ov01_0233AFAC
|
|
bl ov01_0232E99C
|
|
cmp r0, #0
|
|
ldrne r0, _0232EFE4 ; =ov01_0233C150
|
|
strne r4, [r0, #4]
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, _0232EFE4 ; =ov01_0233C150
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #8]
|
|
cmp r0, r4
|
|
strne r4, [r1, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232EFE0: .word ov01_0233AFAC
|
|
_0232EFE4: .word ov01_0233C150
|
|
arm_func_end ov01_0232EFA8
|
|
|
|
arm_func_start ov01_0232EFE8
|
|
ov01_0232EFE8: ; 0x0232EFE8
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0x18
|
|
mov r1, #0xf
|
|
bl MemAlloc
|
|
ldr r1, _0232F034 ; =ov01_0233C150
|
|
str r0, [r1]
|
|
bl ov01_0232F08C
|
|
mov r0, #0x10
|
|
bl ov00_022BE64C
|
|
ldr r1, _0232F034 ; =ov01_0233C150
|
|
mov r3, #0
|
|
ldmia r1, {r2, ip}
|
|
str ip, [r2, #0x10]
|
|
ldr r2, [r1]
|
|
mov r0, #1
|
|
strb r3, [r2, #0x14]
|
|
ldr r1, [r1]
|
|
str r3, [r1, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F034: .word ov01_0233C150
|
|
arm_func_end ov01_0232EFE8
|
|
|
|
arm_func_start ov01_0232F038
|
|
ov01_0232F038: ; 0x0232F038
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
bne _0232F064
|
|
ldr r0, _0232F088 ; =ov01_0233C150
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #7
|
|
movne r0, #1
|
|
strneb r0, [r1, #0x14]
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
_0232F064:
|
|
bl ov01_0232F08C
|
|
ldr r0, _0232F088 ; =ov01_0233C150
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _0232F088 ; =ov01_0233C150
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F088: .word ov01_0233C150
|
|
arm_func_end ov01_0232F038
|
|
|
|
arm_func_start ov01_0232F08C
|
|
ov01_0232F08C: ; 0x0232F08C
|
|
ldr r0, _0232F0BC ; =ov01_0233C150
|
|
mov r3, #0
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
strb r3, [r1]
|
|
ldr r1, [r0]
|
|
str r2, [r1, #4]
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0xc]
|
|
ldr r0, [r0]
|
|
str r3, [r0, #0x10]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232F0BC: .word ov01_0233C150
|
|
arm_func_end ov01_0232F08C
|
|
|
|
arm_func_start ov01_0232F0C0
|
|
ov01_0232F0C0: ; 0x0232F0C0
|
|
ldr r0, _0232F0DC ; =ov01_0233C150
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldreqb r0, [r1, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232F0DC: .word ov01_0233C150
|
|
arm_func_end ov01_0232F0C0
|
|
|
|
arm_func_start ov01_0232F0E0
|
|
ov01_0232F0E0: ; 0x0232F0E0
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232F288 ; =ov01_0233C150
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #7
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232F280
|
|
_0232F0FC: ; jump table
|
|
b _0232F11C ; case 0
|
|
b _0232F144 ; case 1
|
|
b _0232F280 ; case 2
|
|
b _0232F280 ; case 3
|
|
b _0232F1DC ; case 4
|
|
b _0232F208 ; case 5
|
|
b _0232F254 ; case 6
|
|
b _0232F270 ; case 7
|
|
_0232F11C:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232F288 ; =ov01_0233C150
|
|
mov r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0xc]
|
|
bne _0232F280
|
|
ldr r0, _0232F288 ; =ov01_0233C150
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232F144:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232F288 ; =ov01_0233C150
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0xc]
|
|
bne _0232F280
|
|
ldr r0, _0232F288 ; =ov01_0233C150
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, #0x14]
|
|
cmp r1, #0
|
|
beq _0232F19C
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _0232F288 ; =ov01_0233C150
|
|
mov r3, #1
|
|
ldr r2, [r0]
|
|
mov r1, #6
|
|
strb r3, [r2, #0xc]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _0232F280
|
|
_0232F19C:
|
|
ldr r1, [r2, #0x10]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r2, #0xc]
|
|
beq _0232F280
|
|
str r1, [r2, #8]
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
strb r2, [r1, #0xc]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
str r2, [r1, #0x10]
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
str r1, [r0, #4]
|
|
b _0232F280
|
|
_0232F1DC:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232F288 ; =ov01_0233C150
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0xc]
|
|
bne _0232F280
|
|
ldr r0, _0232F288 ; =ov01_0233C150
|
|
mov r1, #5
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232F208:
|
|
ldr r0, _0232F288 ; =ov01_0233C150
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
ldreq r0, [r1, #0x10]
|
|
cmpeq r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [r1, #0xc]
|
|
beq _0232F280
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _0232F288 ; =ov01_0233C150
|
|
mov r3, #0
|
|
ldr r2, [r0]
|
|
mov r1, #1
|
|
str r3, [r2, #4]
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc]
|
|
b _0232F280
|
|
_0232F254:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
bne _0232F280
|
|
ldr r0, _0232F288 ; =ov01_0233C150
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232F270:
|
|
ldr r0, _0232F288 ; =ov01_0233C150
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc]
|
|
_0232F280:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F288: .word ov01_0233C150
|
|
arm_func_end ov01_0232F0E0
|
|
|
|
arm_func_start ov01_0232F28C
|
|
ov01_0232F28C: ; 0x0232F28C
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _0232F334 ; =ov01_0233C150
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #2
|
|
bne _0232F32C
|
|
mov r0, #1
|
|
strb r0, [r1, #0xc]
|
|
bl ov01_0232F08C
|
|
ldr r0, _0232F334 ; =ov01_0233C150
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _0232F2E8
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str r1, [sp]
|
|
mov ip, #1
|
|
str ip, [sp, #4]
|
|
bl sub_02052060
|
|
_0232F2E8:
|
|
ldr r0, _0232F334 ; =ov01_0233C150
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0232F31C
|
|
mov r1, #0
|
|
mov ip, #1
|
|
str ip, [sp]
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str ip, [sp, #4]
|
|
bl sub_02052060
|
|
_0232F31C:
|
|
ldr r0, _0232F334 ; =ov01_0233C150
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232F32C:
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F334: .word ov01_0233C150
|
|
arm_func_end ov01_0232F28C
|
|
|
|
arm_func_start ov01_0232F338
|
|
ov01_0232F338: ; 0x0232F338
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232F380 ; =ov01_0233C150
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, #4]
|
|
cmp r1, #3
|
|
bne _0232F378
|
|
mov r2, #1
|
|
strb r2, [r3, #0xc]
|
|
ldr r1, [r0]
|
|
mov r0, #0x10
|
|
strb r2, [r1]
|
|
bl ov00_022BE618
|
|
ldr r0, _0232F380 ; =ov01_0233C150
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232F378:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F380: .word ov01_0233C150
|
|
arm_func_end ov01_0232F338
|
|
|
|
arm_func_start ov01_0232F384
|
|
ov01_0232F384: ; 0x0232F384
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232F3F0 ; =ov01_0233C150
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, [r1, #8]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
bne _0232F3B8
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl sub_02008F64
|
|
_0232F3B8:
|
|
ldr r0, _0232F3F0 ; =ov01_0233C150
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0232F3DC
|
|
mov r0, #1
|
|
mov r1, #3
|
|
bl sub_02008F64
|
|
_0232F3DC:
|
|
ldr r0, _0232F3F0 ; =ov01_0233C150
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F3F0: .word ov01_0233C150
|
|
arm_func_end ov01_0232F384
|
|
|
|
arm_func_start ov01_0232F3F4
|
|
ov01_0232F3F4: ; 0x0232F3F4
|
|
ldr ip, _0232F400 ; =ov01_0232EFA8
|
|
ldr r0, _0232F404 ; =ov01_0233AFD0
|
|
bx ip
|
|
.align 2, 0
|
|
_0232F400: .word ov01_0232EFA8
|
|
_0232F404: .word ov01_0233AFD0
|
|
arm_func_end ov01_0232F3F4
|
|
|
|
arm_func_start ov01_0232F408
|
|
ov01_0232F408: ; 0x0232F408
|
|
ldr ip, _0232F414 ; =ov01_0232E99C
|
|
ldr r0, _0232F418 ; =ov01_0233AFFC
|
|
bx ip
|
|
.align 2, 0
|
|
_0232F414: .word ov01_0232E99C
|
|
_0232F418: .word ov01_0233AFFC
|
|
arm_func_end ov01_0232F408
|
|
|
|
arm_func_start ov01_0232F41C
|
|
ov01_0232F41C: ; 0x0232F41C
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0x14
|
|
mov r1, #0xf
|
|
bl MemAlloc
|
|
ldr r1, _0232F474 ; =ov01_0233C158
|
|
str r0, [r1]
|
|
bl ov01_0232F504
|
|
mov r0, #0x10
|
|
bl ov00_022BE64C
|
|
ldr r1, _0232F474 ; =ov01_0233C158
|
|
mvn r3, #1
|
|
ldr r2, [r1]
|
|
mov r0, #1
|
|
strb r3, [r2, #8]
|
|
ldr r2, [r1]
|
|
mov r3, #0
|
|
strb r0, [r2, #0x11]
|
|
ldr r2, [r1]
|
|
strb r3, [r2, #0x12]
|
|
ldr r1, [r1]
|
|
str r3, [r1, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F474: .word ov01_0233C158
|
|
arm_func_end ov01_0232F41C
|
|
|
|
arm_func_start ov01_0232F478
|
|
ov01_0232F478: ; 0x0232F478
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
bne _0232F4A4
|
|
ldr r0, _0232F500 ; =ov01_0233C158
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #7
|
|
movne r0, #1
|
|
strneb r0, [r1, #0x12]
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
_0232F4A4:
|
|
bl ov01_0232F504
|
|
ldr r1, _0232F500 ; =ov01_0233C158
|
|
mov r3, #7
|
|
ldr r2, [r1]
|
|
sub r0, r3, #9
|
|
str r3, [r2, #4]
|
|
ldr r1, [r1]
|
|
ldrsb r1, [r1, #8]
|
|
cmp r1, r0
|
|
beq _0232F4E0
|
|
bl ov01_02330FFC
|
|
ldr r0, _0232F500 ; =ov01_0233C158
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
bl CloseTextBox
|
|
_0232F4E0:
|
|
ldr r0, _0232F500 ; =ov01_0233C158
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _0232F500 ; =ov01_0233C158
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F500: .word ov01_0233C158
|
|
arm_func_end ov01_0232F478
|
|
|
|
arm_func_start ov01_0232F504
|
|
ov01_0232F504: ; 0x0232F504
|
|
ldr r0, _0232F534 ; =ov01_0233C158
|
|
mov r3, #0
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
strb r3, [r1]
|
|
ldr r1, [r0]
|
|
str r2, [r1, #4]
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x10]
|
|
ldr r0, [r0]
|
|
strb r3, [r0, #0x11]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232F534: .word ov01_0233C158
|
|
arm_func_end ov01_0232F504
|
|
|
|
arm_func_start ov01_0232F538
|
|
ov01_0232F538: ; 0x0232F538
|
|
ldr r0, _0232F554 ; =ov01_0233C158
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldreqb r0, [r1, #0x10]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232F554: .word ov01_0233C158
|
|
arm_func_end ov01_0232F538
|
|
|
|
arm_func_start ov01_0232F558
|
|
ov01_0232F558: ; 0x0232F558
|
|
bx lr
|
|
arm_func_end ov01_0232F558
|
|
|
|
arm_func_start ov01_0232F55C
|
|
ov01_0232F55C: ; 0x0232F55C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #7
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232F728
|
|
_0232F578: ; jump table
|
|
b _0232F598 ; case 0
|
|
b _0232F5C0 ; case 1
|
|
b _0232F728 ; case 2
|
|
b _0232F728 ; case 3
|
|
b _0232F684 ; case 4
|
|
b _0232F6B0 ; case 5
|
|
b _0232F6FC ; case 6
|
|
b _0232F718 ; case 7
|
|
_0232F598:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232F730 ; =ov01_0233C158
|
|
mov r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0x10]
|
|
bne _0232F728
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232F5C0:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232F730 ; =ov01_0233C158
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0x10]
|
|
bne _0232F728
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, #0x12]
|
|
cmp r1, #0
|
|
beq _0232F618
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
mov r3, #1
|
|
ldr r2, [r0]
|
|
mov r1, #6
|
|
strb r3, [r2, #0x10]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _0232F728
|
|
_0232F618:
|
|
ldrb r1, [r2, #0x11]
|
|
cmp r1, #0
|
|
beq _0232F678
|
|
mov r1, #1
|
|
strb r1, [r2, #0x10]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
strb r2, [r1, #0x11]
|
|
ldr r1, [r0]
|
|
sub r0, r2, #2
|
|
ldrsb r1, [r1, #8]
|
|
cmp r1, r0
|
|
bne _0232F664
|
|
ldr r0, _0232F734 ; =ov01_0233AFEC
|
|
ldr r1, _0232F738 ; =ov01_0232F830
|
|
bl CreateTextBox
|
|
ldr r1, _0232F730 ; =ov01_0233C158
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #8]
|
|
_0232F664:
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _0232F728
|
|
_0232F678:
|
|
mov r0, #0
|
|
strb r0, [r2, #0x10]
|
|
b _0232F728
|
|
_0232F684:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232F730 ; =ov01_0233C158
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0x10]
|
|
bne _0232F728
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
mov r1, #5
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232F6B0:
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x12]
|
|
cmp r0, #0
|
|
ldreqb r0, [r1, #0x11]
|
|
cmpeq r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [r1, #0x10]
|
|
beq _0232F728
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
mov r3, #0
|
|
ldr r2, [r0]
|
|
mov r1, #1
|
|
str r3, [r2, #4]
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x10]
|
|
b _0232F728
|
|
_0232F6FC:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
bne _0232F728
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232F718:
|
|
ldr r0, _0232F730 ; =ov01_0233C158
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x10]
|
|
_0232F728:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F730: .word ov01_0233C158
|
|
_0232F734: .word ov01_0233AFEC
|
|
_0232F738: .word ov01_0232F830
|
|
arm_func_end ov01_0232F55C
|
|
|
|
arm_func_start ov01_0232F73C
|
|
ov01_0232F73C: ; 0x0232F73C
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
bl GetHero
|
|
ldr r1, _0232F7B4 ; =ov01_0233C158
|
|
mov r4, r0
|
|
ldr r1, [r1]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #2
|
|
bne _0232F7AC
|
|
mov r0, #1
|
|
strb r0, [r1, #0x10]
|
|
bl ov01_0232F504
|
|
ldrsh r0, [r4, #4]
|
|
mov r1, #0x80
|
|
mov r2, #0x60
|
|
bl ov01_02330EB8
|
|
mov r1, #0
|
|
mov ip, #1
|
|
str ip, [sp]
|
|
ldr r0, _0232F7B8 ; =ov01_0233B020
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str ip, [sp, #4]
|
|
bl sub_02052060
|
|
ldr r0, _0232F7B4 ; =ov01_0233C158
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232F7AC:
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0232F7B4: .word ov01_0233C158
|
|
_0232F7B8: .word ov01_0233B020
|
|
arm_func_end ov01_0232F73C
|
|
|
|
arm_func_start ov01_0232F7BC
|
|
ov01_0232F7BC: ; 0x0232F7BC
|
|
ldr r0, _0232F7E8 ; =ov01_0233C158
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #4]
|
|
cmp r1, #3
|
|
moveq r1, #1
|
|
streqb r1, [r2]
|
|
ldreq r0, [r0]
|
|
moveq r1, #4
|
|
streq r1, [r0, #4]
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_0232F7E8: .word ov01_0233C158
|
|
arm_func_end ov01_0232F7BC
|
|
|
|
arm_func_start ov01_0232F7EC
|
|
ov01_0232F7EC: ; 0x0232F7EC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232F82C ; =ov01_0233C158
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl sub_02008F64
|
|
ldr r0, _0232F82C ; =ov01_0233C158
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
mov r0, #0x10
|
|
strb r2, [r1]
|
|
bl ov00_022BE618
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F82C: .word ov01_0233C158
|
|
arm_func_end ov01_0232F7EC
|
|
|
|
arm_func_start ov01_0232F830
|
|
ov01_0232F830: ; 0x0232F830
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x54
|
|
sub sp, sp, #0x400
|
|
mov r5, r0
|
|
bl sub_02048C3C
|
|
mov r4, r0
|
|
add r0, sp, #4
|
|
bl InitPreprocessorArgs
|
|
ldr r1, _0232F904 ; =0x00002710
|
|
mov r0, r4
|
|
bl _u32_div_f
|
|
ldr r1, _0232F904 ; =0x00002710
|
|
bl _u32_div_f
|
|
str r1, [sp, #0x28]
|
|
ldr r1, _0232F904 ; =0x00002710
|
|
mov r0, r4
|
|
bl _u32_div_f
|
|
mov r0, r5
|
|
str r1, [sp, #0x2c]
|
|
bl sub_02027B1C
|
|
add r1, sp, #4
|
|
str r1, [sp]
|
|
#ifdef JAPAN
|
|
ldr r2, _023310A8 ; =0x00002436
|
|
#endif
|
|
ldr r3, _0232F908 ; =0x0000C402
|
|
add r0, sp, #0x54
|
|
mov r1, #0x400
|
|
#ifndef JAPAN
|
|
mov r2, #0x20c
|
|
#endif
|
|
bl PreprocessStringFromId
|
|
mov r0, r5
|
|
mov r1, #0x1e
|
|
mov r2, #0x14
|
|
add r3, sp, #0x54
|
|
bl DrawTextInWindow
|
|
mov r0, #0x16
|
|
bl GetResolvedPerformanceProgressFlag
|
|
cmp r0, #0
|
|
beq _0232F8F0
|
|
ldr r2, _0232F90C ; =0x00000226
|
|
add ip, sp, #4
|
|
ldr r3, _0232F908 ; =0x0000C402
|
|
add r0, sp, #0x54
|
|
mov r1, #0x100
|
|
str ip, [sp]
|
|
bl PreprocessStringFromId
|
|
add r3, sp, #0x54
|
|
mov r0, r5
|
|
mov r1, #0x5a
|
|
mov r2, #0
|
|
bl DrawTextInWindow
|
|
_0232F8F0:
|
|
mov r0, r5
|
|
bl UpdateWindow
|
|
add sp, sp, #0x54
|
|
add sp, sp, #0x400
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_0232F904: .word 0x00002710
|
|
#ifdef JAPAN
|
|
_023310A8: .word 0x00002436
|
|
_0232F908: .word 0x0000C402
|
|
_0232F90C: .word 0x0000042D
|
|
#else
|
|
_0232F908: .word 0x0000C402
|
|
_0232F90C: .word 0x00000226
|
|
#endif
|
|
arm_func_end ov01_0232F830
|
|
|
|
arm_func_start ov01_0232F910
|
|
ov01_0232F910: ; 0x0232F910
|
|
ldr ip, _0232F91C ; =ov01_0232E99C
|
|
ldr r0, _0232F920 ; =ov01_0233B034
|
|
bx ip
|
|
.align 2, 0
|
|
_0232F91C: .word ov01_0232E99C
|
|
_0232F920: .word ov01_0233B034
|
|
arm_func_end ov01_0232F910
|
|
|
|
arm_func_start ov01_0232F924
|
|
ov01_0232F924: ; 0x0232F924
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0xc
|
|
mov r1, #0xf
|
|
bl MemAlloc
|
|
ldr r1, _0232F97C ; =ov01_0233C15C
|
|
str r0, [r1]
|
|
bl ov01_0232F9FC
|
|
mov r0, #0x10
|
|
bl ov00_022BE64C
|
|
ldr r1, _0232F97C ; =ov01_0233C15C
|
|
mvn r3, #1
|
|
ldr r2, [r1]
|
|
mov r0, #1
|
|
strb r3, [r2, #8]
|
|
ldr r2, [r1]
|
|
mov r3, #0
|
|
strb r0, [r2, #0xa]
|
|
ldr r2, [r1]
|
|
strb r3, [r2, #0xb]
|
|
ldr r1, [r1]
|
|
str r3, [r1, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F97C: .word ov01_0233C15C
|
|
arm_func_end ov01_0232F924
|
|
|
|
arm_func_start ov01_0232F980
|
|
ov01_0232F980: ; 0x0232F980
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
bne _0232F9AC
|
|
ldr r0, _0232F9F8 ; =ov01_0233C15C
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #8
|
|
movne r0, #1
|
|
strneb r0, [r1, #0xb]
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
_0232F9AC:
|
|
bl ov01_0232F9FC
|
|
ldr r0, _0232F9F8 ; =ov01_0233C15C
|
|
mov r3, #8
|
|
ldr r2, [r0]
|
|
sub r1, r3, #0xa
|
|
str r3, [r2, #4]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
cmp r0, r1
|
|
beq _0232F9D8
|
|
bl CloseControlsChart
|
|
_0232F9D8:
|
|
ldr r0, _0232F9F8 ; =ov01_0233C15C
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _0232F9F8 ; =ov01_0233C15C
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232F9F8: .word ov01_0233C15C
|
|
arm_func_end ov01_0232F980
|
|
|
|
arm_func_start ov01_0232F9FC
|
|
ov01_0232F9FC: ; 0x0232F9FC
|
|
ldr r0, _0232FA2C ; =ov01_0233C15C
|
|
mov r3, #0
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
strb r3, [r1]
|
|
ldr r1, [r0]
|
|
str r2, [r1, #4]
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #9]
|
|
ldr r0, [r0]
|
|
strb r3, [r0, #0xa]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232FA2C: .word ov01_0233C15C
|
|
arm_func_end ov01_0232F9FC
|
|
|
|
arm_func_start ov01_0232FA30
|
|
ov01_0232FA30: ; 0x0232FA30
|
|
ldr r0, _0232FA4C ; =ov01_0233C15C
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldreqb r0, [r1, #9]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232FA4C: .word ov01_0233C15C
|
|
arm_func_end ov01_0232FA30
|
|
|
|
arm_func_start ov01_0232FA50
|
|
ov01_0232FA50: ; 0x0232FA50
|
|
bx lr
|
|
arm_func_end ov01_0232FA50
|
|
|
|
arm_func_start ov01_0232FA54
|
|
ov01_0232FA54: ; 0x0232FA54
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #8
|
|
addls pc, pc, r0, lsl #2
|
|
b _0232FC1C
|
|
_0232FA70: ; jump table
|
|
b _0232FA94 ; case 0
|
|
b _0232FABC ; case 1
|
|
b _0232FC1C ; case 2
|
|
b _0232FC1C ; case 3
|
|
b _0232FC1C ; case 4
|
|
b _0232FB4C ; case 5
|
|
b _0232FB78 ; case 6
|
|
b _0232FBC4 ; case 7
|
|
b _0232FC0C ; case 8
|
|
_0232FA94:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232FC24 ; =ov01_0233C15C
|
|
mov r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #9]
|
|
bne _0232FC1C
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232FABC:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232FC24 ; =ov01_0233C15C
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #9]
|
|
bne _0232FC1C
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, #0xb]
|
|
cmp r1, #0
|
|
beq _0232FB14
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
mov r3, #1
|
|
ldr r2, [r0]
|
|
mov r1, #7
|
|
strb r3, [r2, #9]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _0232FC1C
|
|
_0232FB14:
|
|
ldrb r1, [r2, #0xa]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r2, #9]
|
|
beq _0232FC1C
|
|
mov r1, #1
|
|
strb r1, [r2, #9]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
strb r2, [r1, #0xa]
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
str r1, [r0, #4]
|
|
b _0232FC1C
|
|
_0232FB4C:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _0232FC24 ; =ov01_0233C15C
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #9]
|
|
bne _0232FC1C
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232FB78:
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0xb]
|
|
cmp r0, #0
|
|
ldreqb r0, [r1, #0xa]
|
|
cmpeq r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [r1, #9]
|
|
beq _0232FC1C
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
mov r3, #0
|
|
ldr r2, [r0]
|
|
mov r1, #1
|
|
str r3, [r2, #4]
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #9]
|
|
b _0232FC1C
|
|
_0232FBC4:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
bne _0232FC1C
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
cmp r0, r1
|
|
beq _0232FBFC
|
|
bl CloseControlsChart
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #8]
|
|
_0232FBFC:
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
mov r1, #8
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232FC0C:
|
|
ldr r0, _0232FC24 ; =ov01_0233C15C
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #9]
|
|
_0232FC1C:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232FC24: .word ov01_0233C15C
|
|
arm_func_end ov01_0232FA54
|
|
|
|
arm_func_start ov01_0232FC28
|
|
ov01_0232FC28: ; 0x0232FC28
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _0232FCF4 ; =ov01_0233C15C
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, #4]
|
|
cmp r1, #2
|
|
bne _0232FC94
|
|
mov r2, #1
|
|
strb r2, [r3, #9]
|
|
ldr r1, [r0]
|
|
sub r0, r2, #3
|
|
ldrsb r1, [r1, #8]
|
|
cmp r1, r0
|
|
bne _0232FC80
|
|
mov r0, #0
|
|
ldr r3, _0232FCF8 ; =0x00003FC9
|
|
mov r1, r0
|
|
mov r2, r0
|
|
bl CreateControlsChart
|
|
ldr r1, _0232FCF4 ; =ov01_0233C15C
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #8]
|
|
_0232FC80:
|
|
ldr r0, _0232FCF4 ; =ov01_0233C15C
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _0232FCEC
|
|
_0232FC94:
|
|
cmp r1, #3
|
|
bne _0232FCEC
|
|
mov r1, #1
|
|
strb r1, [r3, #9]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
bl IsControlsChartActive
|
|
cmp r0, #0
|
|
bne _0232FCEC
|
|
bl ov01_0232F9FC
|
|
mov r1, #0
|
|
mov ip, #1
|
|
str ip, [sp]
|
|
ldr r0, _0232FCFC ; =ov01_0233B058
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str ip, [sp, #4]
|
|
bl sub_02052060
|
|
ldr r0, _0232FCF4 ; =ov01_0233C15C
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232FCEC:
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232FCF4: .word ov01_0233C15C
|
|
#if defined(EUROPE)
|
|
_0232FCF8: .word 0x00003FCB
|
|
#elif defined(JAPAN)
|
|
_0232FCF8: .word 0x000049CC
|
|
#else
|
|
_0232FCF8: .word 0x00003FC9
|
|
#endif
|
|
_0232FCFC: .word ov01_0233B058
|
|
arm_func_end ov01_0232FC28
|
|
|
|
arm_func_start ov01_0232FD00
|
|
ov01_0232FD00: ; 0x0232FD00
|
|
ldr r0, _0232FD2C ; =ov01_0233C15C
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #4]
|
|
cmp r1, #4
|
|
moveq r1, #1
|
|
streqb r1, [r2]
|
|
ldreq r0, [r0]
|
|
moveq r1, #5
|
|
streq r1, [r0, #4]
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_0232FD2C: .word ov01_0233C15C
|
|
arm_func_end ov01_0232FD00
|
|
|
|
arm_func_start ov01_0232FD30
|
|
ov01_0232FD30: ; 0x0232FD30
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0232FD70 ; =ov01_0233C15C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl sub_02008F64
|
|
ldr r0, _0232FD70 ; =ov01_0233C15C
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
mov r0, #0x10
|
|
strb r2, [r1]
|
|
bl ov00_022BE618
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232FD70: .word ov01_0233C15C
|
|
arm_func_end ov01_0232FD30
|
|
|
|
arm_func_start ov01_0232FD74
|
|
ov01_0232FD74: ; 0x0232FD74
|
|
ldr r0, _0232FDA8 ; =ov01_0233C15C
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
ldrne r0, [r1, #4]
|
|
cmpne r0, #7
|
|
cmpne r0, #8
|
|
beq _0232FDA0
|
|
ldrb r0, [r1, #0xb]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
bxeq lr
|
|
_0232FDA0:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_0232FDA8: .word ov01_0233C15C
|
|
arm_func_end ov01_0232FD74
|
|
|
|
arm_func_start ov01_0232FDAC
|
|
ov01_0232FDAC: ; 0x0232FDAC
|
|
ldr ip, _0232FDB8 ; =ov01_0232E99C
|
|
ldr r0, _0232FDBC ; =ov01_0233B06C
|
|
bx ip
|
|
.align 2, 0
|
|
_0232FDB8: .word ov01_0232E99C
|
|
_0232FDBC: .word ov01_0233B06C
|
|
arm_func_end ov01_0232FDAC
|
|
|
|
arm_func_start ov01_0232FDC0
|
|
ov01_0232FDC0: ; 0x0232FDC0
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0xc
|
|
mov r1, #0xf
|
|
bl MemAlloc
|
|
ldr r1, _0232FE18 ; =ov01_0233C160
|
|
str r0, [r1]
|
|
bl ov01_0232FE98
|
|
mov r0, #0x10
|
|
bl ov00_022BE64C
|
|
ldr r1, _0232FE18 ; =ov01_0233C160
|
|
mvn r3, #1
|
|
ldr r2, [r1]
|
|
mov r0, #1
|
|
strb r3, [r2, #8]
|
|
ldr r2, [r1]
|
|
mov r3, #0
|
|
strb r0, [r2, #0xa]
|
|
ldr r2, [r1]
|
|
strb r3, [r2, #0xb]
|
|
ldr r1, [r1]
|
|
str r3, [r1, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232FE18: .word ov01_0233C160
|
|
arm_func_end ov01_0232FDC0
|
|
|
|
arm_func_start ov01_0232FE1C
|
|
ov01_0232FE1C: ; 0x0232FE1C
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
bne _0232FE48
|
|
ldr r0, _0232FE94 ; =ov01_0233C160
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #8
|
|
movne r0, #1
|
|
strneb r0, [r1, #0xb]
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
_0232FE48:
|
|
bl ov01_0232FE98
|
|
ldr r0, _0232FE94 ; =ov01_0233C160
|
|
mov r3, #8
|
|
ldr r2, [r0]
|
|
sub r1, r3, #0xa
|
|
str r3, [r2, #4]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
cmp r0, r1
|
|
beq _0232FE74
|
|
bl CloseControlsChart
|
|
_0232FE74:
|
|
ldr r0, _0232FE94 ; =ov01_0233C160
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _0232FE94 ; =ov01_0233C160
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0232FE94: .word ov01_0233C160
|
|
arm_func_end ov01_0232FE1C
|
|
|
|
arm_func_start ov01_0232FE98
|
|
ov01_0232FE98: ; 0x0232FE98
|
|
ldr r0, _0232FEC8 ; =ov01_0233C160
|
|
mov r3, #0
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
strb r3, [r1]
|
|
ldr r1, [r0]
|
|
str r2, [r1, #4]
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #9]
|
|
ldr r0, [r0]
|
|
strb r3, [r0, #0xa]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232FEC8: .word ov01_0233C160
|
|
arm_func_end ov01_0232FE98
|
|
|
|
arm_func_start ov01_0232FECC
|
|
ov01_0232FECC: ; 0x0232FECC
|
|
ldr r0, _0232FEE8 ; =ov01_0233C160
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldreqb r0, [r1, #9]
|
|
bx lr
|
|
.align 2, 0
|
|
_0232FEE8: .word ov01_0233C160
|
|
arm_func_end ov01_0232FECC
|
|
|
|
arm_func_start ov01_0232FEEC
|
|
ov01_0232FEEC: ; 0x0232FEEC
|
|
bx lr
|
|
arm_func_end ov01_0232FEEC
|
|
|
|
arm_func_start ov01_0232FEF0
|
|
ov01_0232FEF0: ; 0x0232FEF0
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #8
|
|
addls pc, pc, r0, lsl #2
|
|
b _023300B8
|
|
_0232FF0C: ; jump table
|
|
b _0232FF30 ; case 0
|
|
b _0232FF58 ; case 1
|
|
b _023300B8 ; case 2
|
|
b _023300B8 ; case 3
|
|
b _023300B8 ; case 4
|
|
b _0232FFE8 ; case 5
|
|
b _02330014 ; case 6
|
|
b _02330060 ; case 7
|
|
b _023300A8 ; case 8
|
|
_0232FF30:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _023300C0 ; =ov01_0233C160
|
|
mov r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #9]
|
|
bne _023300B8
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_0232FF58:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _023300C0 ; =ov01_0233C160
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #9]
|
|
bne _023300B8
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, #0xb]
|
|
cmp r1, #0
|
|
beq _0232FFB0
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
mov r3, #1
|
|
ldr r2, [r0]
|
|
mov r1, #7
|
|
strb r3, [r2, #9]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _023300B8
|
|
_0232FFB0:
|
|
ldrb r1, [r2, #0xa]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r2, #9]
|
|
beq _023300B8
|
|
mov r1, #1
|
|
strb r1, [r2, #9]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
strb r2, [r1, #0xa]
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
str r1, [r0, #4]
|
|
b _023300B8
|
|
_0232FFE8:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _023300C0 ; =ov01_0233C160
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #9]
|
|
bne _023300B8
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_02330014:
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0xb]
|
|
cmp r0, #0
|
|
ldreqb r0, [r1, #0xa]
|
|
cmpeq r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [r1, #9]
|
|
beq _023300B8
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
mov r3, #0
|
|
ldr r2, [r0]
|
|
mov r1, #1
|
|
str r3, [r2, #4]
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #9]
|
|
b _023300B8
|
|
_02330060:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
bne _023300B8
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
cmp r0, r1
|
|
beq _02330098
|
|
bl CloseControlsChart
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #8]
|
|
_02330098:
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
mov r1, #8
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_023300A8:
|
|
ldr r0, _023300C0 ; =ov01_0233C160
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #9]
|
|
_023300B8:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023300C0: .word ov01_0233C160
|
|
arm_func_end ov01_0232FEF0
|
|
|
|
arm_func_start ov01_023300C4
|
|
ov01_023300C4: ; 0x023300C4
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _02330190 ; =ov01_0233C160
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, #4]
|
|
cmp r1, #2
|
|
bne _02330130
|
|
mov r2, #1
|
|
strb r2, [r3, #9]
|
|
ldr r1, [r0]
|
|
sub r0, r2, #3
|
|
ldrsb r1, [r1, #8]
|
|
cmp r1, r0
|
|
bne _0233011C
|
|
mov r0, #0
|
|
ldr r3, _02330194 ; =0x00000122
|
|
mov r1, r0
|
|
mov r2, r0
|
|
bl CreateControlsChart
|
|
ldr r1, _02330190 ; =ov01_0233C160
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #8]
|
|
_0233011C:
|
|
ldr r0, _02330190 ; =ov01_0233C160
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _02330188
|
|
_02330130:
|
|
cmp r1, #3
|
|
bne _02330188
|
|
mov r1, #1
|
|
strb r1, [r3, #9]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
bl IsControlsChartActive
|
|
cmp r0, #0
|
|
bne _02330188
|
|
bl ov01_0232FE98
|
|
mov r1, #0
|
|
mov ip, #1
|
|
str ip, [sp]
|
|
ldr r0, _02330198 ; =ov01_0233B090
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str ip, [sp, #4]
|
|
bl sub_02052060
|
|
ldr r0, _02330190 ; =ov01_0233C160
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_02330188:
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02330190: .word ov01_0233C160
|
|
#ifdef JAPAN
|
|
_02330194: .word 0x000031D4
|
|
#else
|
|
_02330194: .word 0x00000122
|
|
#endif
|
|
_02330198: .word ov01_0233B090
|
|
arm_func_end ov01_023300C4
|
|
|
|
arm_func_start ov01_0233019C
|
|
ov01_0233019C: ; 0x0233019C
|
|
ldr r0, _023301C8 ; =ov01_0233C160
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #4]
|
|
cmp r1, #4
|
|
moveq r1, #1
|
|
streqb r1, [r2]
|
|
ldreq r0, [r0]
|
|
moveq r1, #5
|
|
streq r1, [r0, #4]
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_023301C8: .word ov01_0233C160
|
|
arm_func_end ov01_0233019C
|
|
|
|
arm_func_start ov01_023301CC
|
|
ov01_023301CC: ; 0x023301CC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233020C ; =ov01_0233C160
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl sub_02008F64
|
|
ldr r0, _0233020C ; =ov01_0233C160
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
mov r0, #0x10
|
|
strb r2, [r1]
|
|
bl ov00_022BE618
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233020C: .word ov01_0233C160
|
|
arm_func_end ov01_023301CC
|
|
|
|
arm_func_start ov01_02330210
|
|
ov01_02330210: ; 0x02330210
|
|
ldr ip, _0233021C ; =ov01_0232E99C
|
|
ldr r0, _02330220 ; =ov01_0233B0E0
|
|
bx ip
|
|
.align 2, 0
|
|
_0233021C: .word ov01_0232E99C
|
|
_02330220: .word ov01_0233B0E0
|
|
arm_func_end ov01_02330210
|
|
|
|
arm_func_start ov01_02330224
|
|
ov01_02330224: ; 0x02330224
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
mov r0, #0x288
|
|
mov r1, #0xf
|
|
bl MemAlloc
|
|
ldr r1, _02330584 ; =ov01_0233C164
|
|
str r0, [r1]
|
|
bl ov01_02330644
|
|
mov r0, #0x10
|
|
bl ov00_022BE64C
|
|
ldr r1, _02330584 ; =ov01_0233C164
|
|
mvn r3, #1
|
|
ldr r0, [r1]
|
|
mov r2, #1
|
|
strb r3, [r0, #8]
|
|
ldr r0, [r1]
|
|
mov r3, #0
|
|
strb r2, [r0, #0x285]
|
|
ldr r2, [r1]
|
|
mov r0, #3
|
|
strb r3, [r2, #0x286]
|
|
ldr r1, [r1]
|
|
str r3, [r1, #4]
|
|
bl RandInt
|
|
mov r4, r0
|
|
ldr r0, _02330588 ; =WAN_TABLE
|
|
ldr r1, _0233058C ; =ov01_0233B104
|
|
ldr r0, [r0]
|
|
mov r2, #0
|
|
bl LoadWanTableEntry
|
|
ldr r1, _02330584 ; =ov01_0233C164
|
|
ldr r2, _02330588 ; =WAN_TABLE
|
|
ldr r3, [r1]
|
|
ldr r1, _02330590 ; =ov01_0233C168
|
|
strh r0, [r3, #0x90]
|
|
ldr r1, [r1, r4, lsl #2]
|
|
ldr r0, [r2]
|
|
mov r2, #0
|
|
bl LoadWanTableEntry
|
|
ldr r1, _02330584 ; =ov01_0233C164
|
|
ldr r2, [r1]
|
|
strh r0, [r2, #0x92]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x84
|
|
bl sub_0201C000
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldrh r1, [r2, #0x88]
|
|
bic r1, r1, #0xc00
|
|
strh r1, [r2, #0x88]
|
|
ldr r2, [r0]
|
|
ldrh r1, [r2, #0x8e]
|
|
bic r1, r1, #0xc00
|
|
strh r1, [r2, #0x8e]
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x94
|
|
bl InitAnimationControlWithSet__0201C0B0
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldrh r1, [r2, #0x96]
|
|
orr r1, r1, #0x20
|
|
strh r1, [r2, #0x96]
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x94
|
|
add r1, r1, #0x84
|
|
bl sub_0201D110
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x94
|
|
ldrsh r1, [r1, #0x90]
|
|
bl SetSpriteIdForAnimationControl
|
|
mov r1, #4
|
|
str r1, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
mov r3, r2
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x94
|
|
bl SetAnimationForAnimationControl
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
mov r2, #0x78
|
|
ldr r1, [r0]
|
|
mov r3, #0x50
|
|
strh r2, [r1, #0xb0]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
strh r3, [r1, #0xb2]
|
|
ldr r1, [r0]
|
|
strh r2, [r1, #0xcc]
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x110
|
|
bl InitAnimationControlWithSet__0201C0B0
|
|
ldr r1, _02330584 ; =ov01_0233C164
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x100
|
|
ldrh r2, [r0, #0x12]
|
|
orr r2, r2, #0x20
|
|
strh r2, [r0, #0x12]
|
|
ldr r1, [r1]
|
|
add r0, r1, #0x110
|
|
add r1, r1, #0x84
|
|
bl sub_0201D110
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
ldr r0, [r0]
|
|
ldrsh r1, [r0, #0x90]
|
|
add r0, r0, #0x110
|
|
bl SetSpriteIdForAnimationControl
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r0]
|
|
mov r1, #8
|
|
add r0, r0, #0x110
|
|
mov r3, #0x100
|
|
bl SetAnimationForAnimationControl
|
|
mov ip, #0x78
|
|
ldr r1, _02330584 ; =ov01_0233C164
|
|
mov r3, #0x64
|
|
ldr r0, [r1]
|
|
mov r2, #0
|
|
add r0, r0, #0x100
|
|
strh ip, [r0, #0x2c]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x100
|
|
strh r3, [r0, #0x2e]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x100
|
|
strh r2, [r0, #0x48]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x18c
|
|
bl InitAnimationControlWithSet__0201C0B0
|
|
ldr r1, _02330584 ; =ov01_0233C164
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x100
|
|
ldrh r2, [r0, #0x8e]
|
|
orr r2, r2, #0x20
|
|
strh r2, [r0, #0x8e]
|
|
ldr r1, [r1]
|
|
add r0, r1, #0x18c
|
|
add r1, r1, #0x84
|
|
bl sub_0201D110
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x18c
|
|
ldrsh r1, [r1, #0x90]
|
|
bl SetSpriteIdForAnimationControl
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
mov r1, #8
|
|
ldr r0, [r0]
|
|
mov r3, #0x200
|
|
add r0, r0, #0x18c
|
|
bl SetAnimationForAnimationControl
|
|
ldr r1, _02330584 ; =ov01_0233C164
|
|
mov r3, #0x78
|
|
ldr r0, [r1]
|
|
mov r2, #0
|
|
add r0, r0, #0x100
|
|
strh r3, [r0, #0xa8]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x100
|
|
strh r3, [r0, #0xaa]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x100
|
|
strh r2, [r0, #0xc4]
|
|
ldr r0, [r1]
|
|
add r0, r0, #0x208
|
|
bl InitAnimationControlWithSet__0201C0B0
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
ldr r0, [r0]
|
|
ldrsh r1, [r0, #0x92]
|
|
add r0, r0, #0x208
|
|
bl SetSpriteIdForAnimationControl
|
|
mov r0, #7
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
ldr r0, _02330584 ; =ov01_0233C164
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r0]
|
|
mov r3, #0x300
|
|
add r0, r0, #0x208
|
|
bl SetAnimationForAnimationControl
|
|
ldr r1, _02330584 ; =ov01_0233C164
|
|
mov r2, #0x50
|
|
ldr r0, [r1]
|
|
mov r3, #0x48
|
|
add r0, r0, #0x200
|
|
strh r2, [r0, #0x24]
|
|
ldr r0, [r1]
|
|
mov r2, #0
|
|
add r0, r0, #0x200
|
|
strh r3, [r0, #0x26]
|
|
ldr r1, [r1]
|
|
mov r0, #1
|
|
add r1, r1, #0x200
|
|
strh r2, [r1, #0x40]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02330584: .word ov01_0233C164
|
|
_02330588: .word WAN_TABLE
|
|
_0233058C: .word ov01_0233B104
|
|
_02330590: .word ov01_0233C168
|
|
arm_func_end ov01_02330224
|
|
|
|
arm_func_start ov01_02330594
|
|
ov01_02330594: ; 0x02330594
|
|
stmdb sp!, {r3, lr}
|
|
cmp r0, #0
|
|
bne _023305C0
|
|
ldr r0, _0233063C ; =ov01_0233C164
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #8
|
|
movne r0, #1
|
|
strneb r0, [r1, #0x286]
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
_023305C0:
|
|
bl ov01_02330644
|
|
ldr r0, _0233063C ; =ov01_0233C164
|
|
mov r3, #8
|
|
ldr r2, [r0]
|
|
sub r1, r3, #0xa
|
|
str r3, [r2, #4]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
cmp r0, r1
|
|
beq _023305EC
|
|
bl CloseControlsChart
|
|
_023305EC:
|
|
ldr r0, _0233063C ; =ov01_0233C164
|
|
ldr r1, _02330640 ; =WAN_TABLE
|
|
ldr r2, [r0]
|
|
ldr r0, [r1]
|
|
ldrsh r1, [r2, #0x90]
|
|
bl DeleteWanTableEntryVeneer
|
|
ldr r0, _0233063C ; =ov01_0233C164
|
|
ldr r1, _02330640 ; =WAN_TABLE
|
|
ldr r2, [r0]
|
|
ldr r0, [r1]
|
|
ldrsh r1, [r2, #0x92]
|
|
bl DeleteWanTableEntryVeneer
|
|
ldr r0, _0233063C ; =ov01_0233C164
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _0233063C ; =ov01_0233C164
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233063C: .word ov01_0233C164
|
|
_02330640: .word WAN_TABLE
|
|
arm_func_end ov01_02330594
|
|
|
|
arm_func_start ov01_02330644
|
|
ov01_02330644: ; 0x02330644
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _023306D8 ; =ov01_0233C164
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
mov r3, #1
|
|
strb r1, [r2]
|
|
ldr r2, [r0]
|
|
str r3, [r2, #4]
|
|
ldr r2, [r0]
|
|
strb r3, [r2, #0x284]
|
|
ldr r2, [r0]
|
|
strb r1, [r2, #0x285]
|
|
ldr r2, [r0]
|
|
str r1, [r2, #0xc]
|
|
ldr r2, [r0]
|
|
str r1, [r2, #0x48]
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x10
|
|
bl ov09_0233D964
|
|
ldr r0, _023306D8 ; =ov01_0233C164
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x4c
|
|
bl ov09_0233D964
|
|
ldr r0, _023306D8 ; =ov01_0233C164
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x44]
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x80]
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x81]
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x82]
|
|
ldr r0, [r0]
|
|
strb r2, [r0, #0x83]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023306D8: .word ov01_0233C164
|
|
arm_func_end ov01_02330644
|
|
|
|
arm_func_start ov01_023306DC
|
|
ov01_023306DC: ; 0x023306DC
|
|
ldr r0, _023306F8 ; =ov01_0233C164
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
ldreqb r0, [r1, #0x284]
|
|
bx lr
|
|
.align 2, 0
|
|
_023306F8: .word ov01_0233C164
|
|
arm_func_end ov01_023306DC
|
|
|
|
arm_func_start ov01_023306FC
|
|
ov01_023306FC: ; 0x023306FC
|
|
bx lr
|
|
arm_func_end ov01_023306FC
|
|
|
|
arm_func_start ov01_02330700
|
|
ov01_02330700: ; 0x02330700
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #8
|
|
addls pc, pc, r0, lsl #2
|
|
b _023309E8
|
|
_0233071C: ; jump table
|
|
b _02330740 ; case 0
|
|
b _02330768 ; case 1
|
|
b _023309E8 ; case 2
|
|
b _023309E8 ; case 3
|
|
b _023309E8 ; case 4
|
|
b _023307F8 ; case 5
|
|
b _02330824 ; case 6
|
|
b _02330990 ; case 7
|
|
b _023309D8 ; case 8
|
|
_02330740:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _023309F0 ; =ov01_0233C164
|
|
mov r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0x284]
|
|
bne _023309E8
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_02330768:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _023309F0 ; =ov01_0233C164
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0x284]
|
|
bne _023309E8
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, #0x286]
|
|
cmp r1, #0
|
|
beq _023307C0
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
mov r3, #1
|
|
ldr r2, [r0]
|
|
mov r1, #7
|
|
strb r3, [r2, #0x284]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _023309E8
|
|
_023307C0:
|
|
ldrb r1, [r2, #0x285]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r2, #0x284]
|
|
beq _023309E8
|
|
mov r1, #1
|
|
strb r1, [r2, #0x284]
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
strb r2, [r1, #0x285]
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
str r1, [r0, #4]
|
|
b _023309E8
|
|
_023307F8:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
ldrne r0, _023309F0 ; =ov01_0233C164
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0x284]
|
|
bne _023309E8
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_02330824:
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, #0x286]
|
|
cmp r0, #0
|
|
ldreqb r0, [r2, #0x285]
|
|
cmpeq r0, #0
|
|
beq _02330868
|
|
mov r0, #0x10
|
|
bl ov00_022BE630
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
mov r3, #0
|
|
ldr r2, [r0]
|
|
mov r1, #1
|
|
str r3, [r2, #4]
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x284]
|
|
b _023309E8
|
|
_02330868:
|
|
ldrb r0, [r2, #0x44]
|
|
cmp r0, #0
|
|
beq _02330984
|
|
ldr r1, [r2, #0x48]
|
|
ldr r0, [r2, #0xc]
|
|
mov ip, #3
|
|
cmp r1, r0
|
|
ldreqb r1, [r2, #0x61]
|
|
ldreqb r0, [r2, #0x25]
|
|
cmpeq r1, r0
|
|
ldreq r1, [r2, #0x64]
|
|
ldreq r0, [r2, #0x28]
|
|
cmpeq r1, r0
|
|
movne r0, #1
|
|
strneb r0, [r2, #0x80]
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x48]
|
|
ldr r0, [r2, #0xc]
|
|
cmp r1, r0
|
|
ldreqb r1, [r2, #0x62]
|
|
ldreqb r0, [r2, #0x26]
|
|
cmpeq r1, r0
|
|
ldreq r1, [r2, #0x68]
|
|
ldreq r0, [r2, #0x2c]
|
|
cmpeq r1, r0
|
|
movne r0, #1
|
|
strneb r0, [r2, #0x81]
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x48]
|
|
ldr r0, [r2, #0xc]
|
|
cmp r1, r0
|
|
ldreqb r1, [r2, #0x60]
|
|
ldreqb r0, [r2, #0x24]
|
|
cmpeq r1, r0
|
|
ldreq r1, [r2, #0x7c]
|
|
ldreq r0, [r2, #0x40]
|
|
cmpeq r1, r0
|
|
movne r0, #1
|
|
strneb r0, [r2, #0x82]
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x48]
|
|
ldr r0, [r2, #0xc]
|
|
cmp r1, r0
|
|
ldreqb r1, [r2, #0x60]
|
|
ldreqb r0, [r2, #0x24]
|
|
cmpeq r1, r0
|
|
movne r0, #1
|
|
strneb r0, [r2, #0x83]
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0xc]
|
|
str r1, [r2, #0x48]
|
|
ldr r5, [r0]
|
|
add r4, r5, #0x10
|
|
add lr, r5, #0x4c
|
|
_02330950:
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _02330950
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
str r0, [lr]
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
strb r1, [r5, #0x44]
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
strb r1, [r0, #0x284]
|
|
b _023309E8
|
|
_02330984:
|
|
mov r0, #0
|
|
strb r0, [r2, #0x284]
|
|
b _023309E8
|
|
_02330990:
|
|
bl ov00_022BE6AC
|
|
cmp r0, #0
|
|
bne _023309E8
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
cmp r0, r1
|
|
beq _023309C8
|
|
bl CloseControlsChart
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #8]
|
|
_023309C8:
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
mov r1, #8
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_023309D8:
|
|
ldr r0, _023309F0 ; =ov01_0233C164
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x284]
|
|
_023309E8:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_023309F0: .word ov01_0233C164
|
|
arm_func_end ov01_02330700
|
|
|
|
arm_func_start ov01_023309F4
|
|
ov01_023309F4: ; 0x023309F4
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _02330AC0 ; =ov01_0233C164
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, #4]
|
|
cmp r1, #2
|
|
bne _02330A60
|
|
mov r2, #1
|
|
strb r2, [r3, #0x284]
|
|
ldr r1, [r0]
|
|
sub r0, r2, #3
|
|
ldrsb r1, [r1, #8]
|
|
cmp r1, r0
|
|
bne _02330A4C
|
|
mov r0, #0
|
|
ldr r3, _02330AC4 ; =0x000004EE
|
|
mov r1, r0
|
|
mov r2, r0
|
|
bl CreateControlsChart
|
|
ldr r1, _02330AC0 ; =ov01_0233C164
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #8]
|
|
_02330A4C:
|
|
ldr r0, _02330AC0 ; =ov01_0233C164
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _02330AB8
|
|
_02330A60:
|
|
cmp r1, #3
|
|
bne _02330AB8
|
|
mov r1, #1
|
|
strb r1, [r3, #0x284]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #8]
|
|
bl IsControlsChartActive
|
|
cmp r0, #0
|
|
bne _02330AB8
|
|
bl ov01_02330644
|
|
mov r1, #0
|
|
mov ip, #1
|
|
str ip, [sp]
|
|
ldr r0, _02330AC8 ; =ov01_0233B118
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str ip, [sp, #4]
|
|
bl sub_02052060
|
|
ldr r0, _02330AC0 ; =ov01_0233C164
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
_02330AB8:
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02330AC0: .word ov01_0233C164
|
|
#ifdef JAPAN
|
|
_02330AC4: .word 0x00000538
|
|
#else
|
|
_02330AC4: .word 0x000004EE
|
|
#endif
|
|
_02330AC8: .word ov01_0233B118
|
|
arm_func_end ov01_023309F4
|
|
|
|
arm_func_start ov01_02330ACC
|
|
ov01_02330ACC: ; 0x02330ACC
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x10
|
|
ldr r0, _02330D54 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #4]
|
|
cmp r1, #4
|
|
moveq r1, #1
|
|
streqb r1, [r2]
|
|
ldreq r0, [r0]
|
|
moveq r1, #5
|
|
streq r1, [r0, #4]
|
|
ldr r0, _02330D54 ; =ov01_0233C164
|
|
ldr ip, [r0]
|
|
ldrb r0, [ip, #0x80]
|
|
cmp r0, #0
|
|
beq _02330BA8
|
|
ldrb r0, [ip, #0x61]
|
|
cmp r0, #0
|
|
ldr r0, [ip, #0x64]
|
|
beq _02330B2C
|
|
cmp r0, #0
|
|
movgt r1, #3
|
|
movle r1, #4
|
|
b _02330B38
|
|
_02330B2C:
|
|
cmp r0, #0
|
|
movgt r1, #5
|
|
movle r1, #2
|
|
_02330B38:
|
|
mov r2, #0
|
|
mov r0, #4
|
|
stmia sp, {r0, r2}
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r3, r2
|
|
add r0, ip, #0x94
|
|
str r2, [sp, #0xc]
|
|
bl SetAnimationForAnimationControl
|
|
ldr r0, _02330D54 ; =ov01_0233C164
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x48]
|
|
cmp r1, #2
|
|
bne _02330B84
|
|
mov r1, #0xa0
|
|
strh r1, [r2, #0xb0]
|
|
ldr r0, [r0]
|
|
mov r1, #0x16
|
|
b _02330B94
|
|
_02330B84:
|
|
mov r1, #0xe4
|
|
strh r1, [r2, #0xb0]
|
|
ldr r0, [r0]
|
|
mov r1, #0x52
|
|
_02330B94:
|
|
strh r1, [r0, #0xb2]
|
|
ldr r0, _02330D54 ; =ov01_0233C164
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x80]
|
|
_02330BA8:
|
|
ldr r0, _02330D54 ; =ov01_0233C164
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, #0x81]
|
|
cmp r0, #0
|
|
beq _02330C64
|
|
ldrb r0, [r3, #0x62]
|
|
cmp r0, #0
|
|
ldr r0, [r3, #0x68]
|
|
beq _02330BDC
|
|
cmp r0, #0
|
|
movgt r1, #7
|
|
movle r1, #8
|
|
b _02330BE8
|
|
_02330BDC:
|
|
cmp r0, #0
|
|
movgt r1, #9
|
|
movle r1, #6
|
|
_02330BE8:
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
add r0, r3, #0x110
|
|
mov r3, #0x100
|
|
str r2, [sp, #0xc]
|
|
bl SetAnimationForAnimationControl
|
|
ldr r1, _02330D54 ; =ov01_0233C164
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x48]
|
|
cmp r0, #2
|
|
add r0, r2, #0x100
|
|
bne _02330C3C
|
|
mov r2, #0xb4
|
|
strh r2, [r0, #0x2c]
|
|
ldr r0, [r1]
|
|
mov r1, #0x16
|
|
b _02330C4C
|
|
_02330C3C:
|
|
mov r2, #0xe4
|
|
strh r2, [r0, #0x2c]
|
|
ldr r0, [r1]
|
|
mov r1, #0x60
|
|
_02330C4C:
|
|
add r0, r0, #0x100
|
|
strh r1, [r0, #0x2e]
|
|
ldr r0, _02330D54 ; =ov01_0233C164
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x81]
|
|
_02330C64:
|
|
ldr r0, _02330D54 ; =ov01_0233C164
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, #0x82]
|
|
cmp r0, #0
|
|
beq _02330CEC
|
|
ldrb r0, [r3, #0x24]
|
|
mov r2, #0
|
|
cmp r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
movne r1, #1
|
|
str r2, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
add r0, r3, #0x18c
|
|
moveq r1, #0
|
|
mov r3, #0x200
|
|
str r2, [sp, #0xc]
|
|
bl SetAnimationForAnimationControl
|
|
ldr r2, _02330D54 ; =ov01_0233C164
|
|
mov ip, #0x9c
|
|
ldr r1, [r2]
|
|
mov r3, #0
|
|
ldr r0, [r1, #0x7c]
|
|
add r1, r1, #0x100
|
|
add r0, r0, r0, lsr #31
|
|
mov r0, r0, asr #1
|
|
add r0, r0, #0x88
|
|
strh r0, [r1, #0xa8]
|
|
ldr r0, [r2]
|
|
add r0, r0, #0x100
|
|
strh ip, [r0, #0xaa]
|
|
ldr r0, [r2]
|
|
strb r3, [r0, #0x82]
|
|
_02330CEC:
|
|
ldr r0, _02330D54 ; =ov01_0233C164
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, #0x83]
|
|
cmp r0, #0
|
|
beq _02330D48
|
|
ldrb r0, [r3, #0x24]
|
|
mov r2, #0
|
|
cmp r0, #0
|
|
mov r0, #7
|
|
str r0, [sp]
|
|
moveq r1, #1
|
|
str r2, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
add r0, r3, #0x208
|
|
movne r1, #0
|
|
mov r3, #0x300
|
|
str r2, [sp, #0xc]
|
|
bl SetAnimationForAnimationControl
|
|
ldr r0, _02330D54 ; =ov01_0233C164
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x83]
|
|
_02330D48:
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02330D54: .word ov01_0233C164
|
|
arm_func_end ov01_02330ACC
|
|
|
|
arm_func_start ov01_02330D58
|
|
ov01_02330D58: ; 0x02330D58
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02330DFC ; =ov01_0233C164
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _02330D94
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl sub_02008F64
|
|
ldr r0, _02330DFC ; =ov01_0233C164
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
mov r0, #0x10
|
|
strb r2, [r1]
|
|
bl ov00_022BE618
|
|
_02330D94:
|
|
ldr r0, _02330DFC ; =ov01_0233C164
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x48]
|
|
cmp r0, #0
|
|
beq _02330DC0
|
|
add r0, r1, #0x94
|
|
bl sub_0201CF5C
|
|
ldr r0, _02330DFC ; =ov01_0233C164
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x110
|
|
bl sub_0201CF5C
|
|
_02330DC0:
|
|
ldr r0, _02330DFC ; =ov01_0233C164
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x48]
|
|
cmp r0, #3
|
|
ldmneia sp!, {r3, pc}
|
|
add r0, r1, #0x208
|
|
bl sub_0201CF5C
|
|
ldr r0, _02330DFC ; =ov01_0233C164
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x7c]
|
|
cmp r0, #0
|
|
ldmleia sp!, {r3, pc}
|
|
add r0, r1, #0x18c
|
|
bl sub_0201CF5C
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02330DFC: .word ov01_0233C164
|
|
arm_func_end ov01_02330D58
|
|
|
|
arm_func_start ov01_02330E00
|
|
ov01_02330E00: ; 0x02330E00
|
|
ldr r0, _02330E34 ; =ov01_0233C164
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
ldrne r0, [r1, #4]
|
|
cmpne r0, #7
|
|
cmpne r0, #8
|
|
beq _02330E2C
|
|
ldrb r0, [r1, #0x286]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
bxeq lr
|
|
_02330E2C:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_02330E34: .word ov01_0233C164
|
|
arm_func_end ov01_02330E00
|
|
|
|
arm_func_start ov01_02330E38
|
|
ov01_02330E38: ; 0x02330E38
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, _02330EB4 ; =ov01_0233C164
|
|
mov r4, r1
|
|
ldr r1, [r2]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
cmp r0, #1
|
|
strne r0, [r1, #0xc]
|
|
cmp r4, #0
|
|
beq _02330E8C
|
|
ldr r0, _02330EB4 ; =ov01_0233C164
|
|
mov ip, #3
|
|
ldr r0, [r0]
|
|
add lr, r0, #0x10
|
|
_02330E70:
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _02330E70
|
|
ldr r0, [r4]
|
|
str r0, [lr]
|
|
b _02330EA0
|
|
_02330E8C:
|
|
ldr r0, _02330EB4 ; =ov01_0233C164
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x10
|
|
bl ov09_0233D964
|
|
_02330EA0:
|
|
ldr r0, _02330EB4 ; =ov01_0233C164
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x44]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02330EB4: .word ov01_0233C164
|
|
arm_func_end ov01_02330E38
|
|
|
|
arm_func_start ov01_02330EB8
|
|
ov01_02330EB8: ; 0x02330EB8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x110
|
|
ldr r3, _02330FE4 ; =ov01_0233C174
|
|
mov ip, #0
|
|
strb ip, [r3]
|
|
mov r5, r1
|
|
mov r4, r2
|
|
strb ip, [r3, #1]
|
|
bl FemaleToMaleForm
|
|
mov r3, #0
|
|
ldr r2, _02330FE8 ; =PRINTS_STRUCT
|
|
b _02330F04
|
|
_02330EE8:
|
|
cmp r0, r1
|
|
addne r1, r1, #0x258
|
|
cmpne r0, r1
|
|
beq _02330F18
|
|
add r1, r3, #1
|
|
mov r1, r1, lsl #0x10
|
|
mov r3, r1, asr #0x10
|
|
_02330F04:
|
|
mov r1, r3, lsl #3
|
|
ldrsh r1, [r2, r1]
|
|
cmp r1, #0
|
|
bne _02330EE8
|
|
mvn r3, #0
|
|
_02330F18:
|
|
cmp r3, #0
|
|
ldrlt r1, _02330FE4 ; =ov01_0233C174
|
|
movlt r0, #0
|
|
strlth r0, [r1, #2]
|
|
blt _02330FDC
|
|
ldr r1, _02330FEC ; =ov01_0233B318
|
|
add r0, sp, #0x10
|
|
ldr r2, [r1, r3, lsl #3]
|
|
ldr r1, _02330FF0 ; =ov01_0233B504
|
|
bl sprintf
|
|
ldr r0, _02330FF4 ; =WAN_TABLE
|
|
add r1, sp, #0x10
|
|
ldr r0, [r0]
|
|
mov r2, #0
|
|
bl LoadWanTableEntry
|
|
ldr r1, _02330FE4 ; =ov01_0233C174
|
|
strh r0, [r1, #2]
|
|
ldrsh r0, [r1, #2]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
beq _02330FDC
|
|
ldr r0, _02330FF8 ; =ov01_0233C978
|
|
bl InitAnimationControlWithSet__0201C0B0
|
|
ldr r1, _02330FE4 ; =ov01_0233C174
|
|
ldr r0, _02330FF8 ; =ov01_0233C978
|
|
ldrsh r1, [r1, #2]
|
|
bl SetSpriteIdForAnimationControl
|
|
mov r3, #0xa
|
|
mov r1, #0
|
|
str r3, [sp]
|
|
str r1, [sp, #4]
|
|
mov r2, #1
|
|
str r2, [sp, #8]
|
|
ldr r0, _02330FF8 ; =ov01_0233C978
|
|
str r2, [sp, #0xc]
|
|
mov r2, r1
|
|
bl SetAnimationForAnimationControl
|
|
ldr r2, _02330FF8 ; =ov01_0233C978
|
|
mov r0, #0
|
|
strh r0, [r2, #0x38]
|
|
strh r5, [r2, #0x1c]
|
|
strh r4, [r2, #0x1e]
|
|
ldrh r3, [r2, #2]
|
|
ldr r1, _02330FE4 ; =ov01_0233C174
|
|
mov r0, #1
|
|
bic r3, r3, #2
|
|
strh r3, [r2, #2]
|
|
strb r0, [r1]
|
|
strb r0, [r1, #1]
|
|
_02330FDC:
|
|
add sp, sp, #0x110
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02330FE4: .word ov01_0233C174
|
|
_02330FE8: .word PRINTS_STRUCT
|
|
_02330FEC: .word ov01_0233B318
|
|
_02330FF0: .word ov01_0233B504
|
|
_02330FF4: .word WAN_TABLE
|
|
_02330FF8: .word ov01_0233C978
|
|
arm_func_end ov01_02330EB8
|
|
|
|
arm_func_start ov01_02330FFC
|
|
ov01_02330FFC: ; 0x02330FFC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02331034 ; =ov01_0233C174
|
|
ldrsh r1, [r0, #2]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, _02331038 ; =WAN_TABLE
|
|
ldr r0, [r0]
|
|
bl DeleteWanTableEntryVeneer
|
|
ldr r0, _02331034 ; =ov01_0233C174
|
|
mov r1, #0
|
|
strh r1, [r0, #2]
|
|
strb r1, [r0]
|
|
strb r1, [r0, #1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02331034: .word ov01_0233C174
|
|
_02331038: .word WAN_TABLE
|
|
arm_func_end ov01_02330FFC
|
|
|
|
arm_func_start ov01_0233103C
|
|
ov01_0233103C: ; 0x0233103C
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _023310AC ; =ov01_0233C174
|
|
ldrsh r1, [r0, #2]
|
|
cmp r1, #0
|
|
ldrneb r1, [r0]
|
|
cmpne r1, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _02331094
|
|
ldr r4, _023310B0 ; =ov01_0233C978
|
|
ldr lr, _023310B4 ; =ov01_0233C9F4
|
|
mov ip, #7
|
|
_02331070:
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _02331070
|
|
ldmia r4, {r0, r1, r2}
|
|
stmia lr, {r0, r1, r2}
|
|
ldr r0, _023310AC ; =ov01_0233C174
|
|
mov r1, #0
|
|
strb r1, [r0, #1]
|
|
_02331094:
|
|
ldr r0, _023310B4 ; =ov01_0233C9F4
|
|
ldrh r1, [r0, #2]
|
|
tst r1, #2
|
|
ldmneia sp!, {r4, pc}
|
|
bl sub_0201CF5C
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_023310AC: .word ov01_0233C174
|
|
_023310B0: .word ov01_0233C978
|
|
_023310B4: .word ov01_0233C9F4
|
|
arm_func_end ov01_0233103C
|
|
|
|
arm_func_start ov01_023310B8
|
|
ov01_023310B8: ; 0x023310B8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, _023310DC ; =ov01_0233B558
|
|
bl InitMenu
|
|
cmp r0, #0
|
|
ldrne r0, _023310E0 ; =ov01_0233C178
|
|
movne r1, #0
|
|
stmneib r0, {r1, r4}
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_023310DC: .word ov01_0233B558
|
|
_023310E0: .word ov01_0233C178
|
|
arm_func_end ov01_023310B8
|
|
|
|
arm_func_start CreateMainMenus
|
|
CreateMainMenus: ; 0x023310E4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r0, #0x184
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r7, _0233154C ; =ov01_0233C178
|
|
mov r6, #0
|
|
str r0, [r7]
|
|
str r6, [r0, #0x18]
|
|
ldr r0, [r7]
|
|
mov r4, #1
|
|
str r6, [r0, #0x94]
|
|
ldr r0, [r7]
|
|
mov r5, r6
|
|
str r6, [r0, #0x114]
|
|
_0233111C:
|
|
mov r0, r6
|
|
bl IsSpecialEpisodeOpen
|
|
cmp r0, #0
|
|
beq _02331180
|
|
ldr r2, [r7]
|
|
#ifdef JAPAN
|
|
add r0, r6, #0x3b
|
|
#else
|
|
add r0, r6, #0x72
|
|
#endif
|
|
ldr r1, [r2, #0x114]
|
|
add r2, r2, #0x11c
|
|
add r3, r2, r1, lsl #3
|
|
str r6, [r3, #4]
|
|
mov r1, r1, lsl #3
|
|
#ifndef JAPAN
|
|
add r0, r0, #0x100
|
|
#endif
|
|
strh r0, [r2, r1]
|
|
bl GetSpecialEpisodeType
|
|
cmp r6, r0
|
|
ldr r1, [r7]
|
|
movne r2, r5
|
|
ldr r0, [r1, #0x114]
|
|
moveq r2, r4
|
|
add r0, r1, r0
|
|
strb r2, [r0, #0x174]
|
|
ldr r1, [r7]
|
|
ldr r0, [r1, #0x114]
|
|
add r0, r0, #1
|
|
str r0, [r1, #0x114]
|
|
_02331180:
|
|
add r6, r6, #1
|
|
cmp r6, #5
|
|
blt _0233111C
|
|
ldr r0, _0233154C ; =ov01_0233C178
|
|
mvn r2, #0
|
|
ldr r4, [r0]
|
|
ldr r1, _02331550 ; =0x000001E6
|
|
ldr r3, [r4, #0x114]
|
|
add r4, r4, #0x11c
|
|
add r5, r4, r3, lsl #3
|
|
str r2, [r5, #4]
|
|
mov r2, r3, lsl #3
|
|
strh r1, [r4, r2]
|
|
ldr r3, [r0]
|
|
mov r2, #0
|
|
ldr r1, [r3, #0x114]
|
|
add r1, r3, r1
|
|
strb r2, [r1, #0x174]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x114]
|
|
add r1, r1, #1
|
|
str r1, [r2, #0x114]
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0x20
|
|
bne _023311EC
|
|
bl GetDebugSpecialEpisodeNumber
|
|
b _023311F0
|
|
_023311EC:
|
|
bl GetSpecialEpisodeType
|
|
_023311F0:
|
|
ldr r2, _0233154C ; =ov01_0233C178
|
|
mov r4, #0
|
|
ldr r3, [r2]
|
|
sub r1, r4, #1
|
|
str r4, [r3, #0x118]
|
|
cmp r0, r1
|
|
ldreq r0, [r2]
|
|
moveq r1, #1
|
|
streqb r1, [r0, #0x10e]
|
|
beq _0233124C
|
|
ldr r1, [r2]
|
|
strb r4, [r1, #0x10e]
|
|
ldr r3, [r2]
|
|
ldr r2, [r3, #0x114]
|
|
b _02331244
|
|
_0233122C:
|
|
add r1, r3, r4, lsl #3
|
|
ldr r1, [r1, #0x120]
|
|
cmp r0, r1
|
|
streq r4, [r3, #0x118]
|
|
beq _0233124C
|
|
add r4, r4, #1
|
|
_02331244:
|
|
cmp r4, r2
|
|
blt _0233122C
|
|
_0233124C:
|
|
mov r4, #0
|
|
bl IsAdventureLogNotEmpty
|
|
cmp r0, #0
|
|
beq _02331268
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl AddSubMenuOption
|
|
_02331268:
|
|
bl sub_02048480
|
|
cmp r0, #0
|
|
beq _023313E4
|
|
mov r4, #1
|
|
bl sub_0204E6A4
|
|
cmp r0, #0
|
|
bne _02331304
|
|
bl sub_0204E40C
|
|
cmp r0, #0
|
|
beq _023312A0
|
|
mov r0, #0xa
|
|
mov r1, r4
|
|
bl AddMainMenuOption
|
|
b _0233131C
|
|
_023312A0:
|
|
bl sub_0204E210
|
|
cmp r0, #2
|
|
bne _023312BC
|
|
mov r0, #0xd
|
|
mov r1, r4
|
|
bl AddMainMenuOption
|
|
b _0233131C
|
|
_023312BC:
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
beq _023312D8
|
|
mov r0, #0x1b
|
|
mov r1, r4
|
|
bl AddMainMenuOption
|
|
b _0233131C
|
|
_023312D8:
|
|
mov r1, r4
|
|
mov r0, #0x1a
|
|
mov r4, #0
|
|
bl AddMainMenuOption
|
|
bl sub_0204E644
|
|
cmp r0, #0
|
|
beq _0233131C
|
|
mov r0, #0xc
|
|
mov r1, #1
|
|
bl AddMainMenuOption
|
|
b _0233131C
|
|
_02331304:
|
|
mov r1, r4
|
|
mov r0, #0xb
|
|
bl AddMainMenuOption
|
|
mov r0, #0xe
|
|
mov r1, r4
|
|
bl AddMainMenuOption
|
|
_0233131C:
|
|
mov r0, #4
|
|
bl GetResolvedPerformanceProgressFlag
|
|
cmp r0, #0
|
|
beq _02331338
|
|
mov r0, #0xf
|
|
mov r1, #1
|
|
bl AddMainMenuOption
|
|
_02331338:
|
|
mov r0, #3
|
|
bl GetResolvedPerformanceProgressFlag
|
|
cmp r0, #0
|
|
beq _02331354
|
|
mov r0, #0x12
|
|
mov r1, #1
|
|
bl AddMainMenuOption
|
|
_02331354:
|
|
mov r0, #4
|
|
bl GetResolvedPerformanceProgressFlag
|
|
cmp r0, #0
|
|
beq _02331370
|
|
mov r0, #0x11
|
|
mov r1, #1
|
|
bl AddMainMenuOption
|
|
_02331370:
|
|
mov r0, #8
|
|
bl GetResolvedPerformanceProgressFlag
|
|
cmp r0, #0
|
|
beq _0233138C
|
|
mov r0, #0x13
|
|
mov r1, #1
|
|
bl AddMainMenuOption
|
|
_0233138C:
|
|
mov r0, #0x1a
|
|
bl GetResolvedPerformanceProgressFlag
|
|
cmp r0, #0
|
|
beq _023313A8
|
|
mov r0, #0x14
|
|
mov r1, #1
|
|
bl AddSubMenuOption
|
|
_023313A8:
|
|
mov r0, #1
|
|
bl GetResolvedPerformanceProgressFlag
|
|
mov r1, r0
|
|
mov r0, #8
|
|
bl AddSubMenuOption
|
|
mov r0, #9
|
|
mov r1, #1
|
|
bl AddSubMenuOption
|
|
mov r0, #0x18
|
|
mov r1, #1
|
|
bl AddSubMenuOption
|
|
mov r0, #7
|
|
mov r1, #1
|
|
bl AddSubMenuOption
|
|
b _023313FC
|
|
_023313E4:
|
|
mov r0, #0x18
|
|
mov r1, #1
|
|
bl AddSubMenuOption
|
|
mov r0, #3
|
|
mov r1, #1
|
|
bl AddMainMenuOption
|
|
_023313FC:
|
|
mov r0, #0x19
|
|
mov r1, #1
|
|
bl AddMainMenuOption
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl AddSubMenuOption
|
|
ldr r0, _0233154C ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x114]
|
|
cmp r0, #1
|
|
ble _02331480
|
|
bl IsSpecialEpisodeOpenMismatch
|
|
cmp r0, #0
|
|
beq _0233145C
|
|
cmp r4, #0
|
|
beq _0233144C
|
|
mov r0, #0x1f
|
|
mov r1, #0
|
|
bl AddMainMenuOption
|
|
b _02331480
|
|
_0233144C:
|
|
mov r0, #0x1d
|
|
mov r1, #1
|
|
bl AddMainMenuOption
|
|
b _02331480
|
|
_0233145C:
|
|
cmp r4, #0
|
|
beq _02331474
|
|
mov r0, #0x1e
|
|
mov r1, #0
|
|
bl AddMainMenuOption
|
|
b _02331480
|
|
_02331474:
|
|
mov r0, #0x1c
|
|
mov r1, #1
|
|
bl AddMainMenuOption
|
|
_02331480:
|
|
mov r0, #0x21
|
|
mov r1, #1
|
|
bl AddSubMenuOption
|
|
ldr r2, _0233154C ; =ov01_0233C178
|
|
mov r1, #0
|
|
ldr r4, [r2]
|
|
mov r0, #1
|
|
ldr r3, [r4, #0x18]
|
|
add r4, r4, #0x1c
|
|
add r5, r4, r3, lsl #3
|
|
str r0, [r5, #4]
|
|
mov r3, r3, lsl #3
|
|
strh r1, [r4, r3]
|
|
ldr r5, [r2]
|
|
ldr r4, _02331554 ; =0x000001EA
|
|
ldr r3, [r5, #0x94]
|
|
add r5, r5, #0x98
|
|
add r6, r5, r3, lsl #3
|
|
str r0, [r6, #4]
|
|
mov r3, r3, lsl #3
|
|
strh r1, [r5, r3]
|
|
ldr r6, [r2]
|
|
sub r5, r1, #1
|
|
ldr r3, [r6, #0x114]
|
|
add r6, r6, #0x11c
|
|
add r7, r6, r3, lsl #3
|
|
str r5, [r7, #4]
|
|
mov r3, r3, lsl #3
|
|
strh r4, [r6, r3]
|
|
str r5, [r7, #0xc]
|
|
strh r1, [r7, #8]
|
|
ldr r3, [r2]
|
|
#ifdef JAPAN
|
|
rsb r4, r4, #0x410
|
|
#else
|
|
sub r4, r4, #0x1ec
|
|
#endif
|
|
strb r4, [r3]
|
|
ldr r3, [r2]
|
|
strb r4, [r3, #1]
|
|
ldr r3, [r2]
|
|
strb r4, [r3, #2]
|
|
ldr r3, [r2]
|
|
strb r4, [r3, #3]
|
|
ldr r3, [r2]
|
|
strb r4, [r3, #4]
|
|
ldr r3, [r2]
|
|
str r5, [r3, #0x10]
|
|
ldr r3, [r2]
|
|
str r1, [r3, #8]
|
|
ldr r4, [r2, #8]
|
|
ldr r3, [r2]
|
|
str r4, [r3, #0xc]
|
|
str r1, [r2, #4]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0233154C: .word ov01_0233C178
|
|
#ifdef JAPAN
|
|
_02331550: .word 0x0000040E
|
|
_02331554: .word 0x00000412
|
|
#else
|
|
_02331550: .word 0x000001E6
|
|
_02331554: .word 0x000001EA
|
|
#endif
|
|
arm_func_end CreateMainMenus
|
|
|
|
arm_func_start AddMainMenuOption
|
|
AddMainMenuOption: ; 0x02331558
|
|
ldr r2, _023315EC ; =MAIN_MENU
|
|
b _023315DC
|
|
_02331560:
|
|
ldr ip, [r2]
|
|
cmp ip, r0
|
|
bne _023315D8
|
|
ldr r0, _023315F0 ; =ov01_0233C178
|
|
cmp r1, #0
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x18]
|
|
add r3, r0, #0x1c
|
|
add r0, r3, r1, lsl #3
|
|
str ip, [r0, #4]
|
|
ldrh r0, [r2, #4]
|
|
mov r1, r1, lsl #3
|
|
movne ip, #0
|
|
strh r0, [r3, r1]
|
|
ldr r0, _023315F0 ; =ov01_0233C178
|
|
moveq ip, #3
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, #0x18]
|
|
add r1, r3, r1
|
|
strb ip, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
ldrh r2, [r2, #6]
|
|
ldr r1, [r3, #0x18]
|
|
add r1, r3, r1, lsl #1
|
|
strh r2, [r1, #0x7e]
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [r1, #0x18]
|
|
bx lr
|
|
_023315D8:
|
|
add r2, r2, #8
|
|
_023315DC:
|
|
ldrh r3, [r2, #4]
|
|
cmp r3, #0
|
|
bne _02331560
|
|
bx lr
|
|
.align 2, 0
|
|
_023315EC: .word MAIN_MENU
|
|
_023315F0: .word ov01_0233C178
|
|
arm_func_end AddMainMenuOption
|
|
|
|
arm_func_start ov01_023315F4
|
|
ov01_023315F4: ; 0x023315F4
|
|
ldr r1, _0233162C ; =ov01_0233C178
|
|
mov r2, #0
|
|
ldr r3, [r1]
|
|
ldr ip, [r3, #0x18]
|
|
b _0233161C
|
|
_02331608:
|
|
add r1, r3, r2, lsl #3
|
|
ldr r1, [r1, #0x20]
|
|
cmp r1, r0
|
|
bxeq lr
|
|
add r2, r2, #1
|
|
_0233161C:
|
|
cmp r2, ip
|
|
blt _02331608
|
|
mov r0, #2
|
|
bx lr
|
|
.align 2, 0
|
|
_0233162C: .word ov01_0233C178
|
|
arm_func_end ov01_023315F4
|
|
|
|
arm_func_start AddSubMenuOption
|
|
AddSubMenuOption: ; 0x02331630
|
|
ldr r2, _023316C4 ; =SUBMENU
|
|
b _023316B4
|
|
_02331638:
|
|
ldr ip, [r2]
|
|
cmp ip, r0
|
|
bne _023316B0
|
|
ldr r0, _023316C8 ; =ov01_0233C178
|
|
cmp r1, #0
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x94]
|
|
add r3, r0, #0x98
|
|
add r0, r3, r1, lsl #3
|
|
str ip, [r0, #4]
|
|
ldrh r0, [r2, #4]
|
|
mov r1, r1, lsl #3
|
|
movne ip, #0
|
|
strh r0, [r3, r1]
|
|
ldr r0, _023316C8 ; =ov01_0233C178
|
|
moveq ip, #3
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, #0x94]
|
|
add r1, r3, r1
|
|
strb ip, [r1, #0xf0]
|
|
ldr r3, [r0]
|
|
ldrh r2, [r2, #6]
|
|
ldr r1, [r3, #0x94]
|
|
add r1, r3, r1, lsl #1
|
|
strh r2, [r1, #0xfa]
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x94]
|
|
add r0, r0, #1
|
|
str r0, [r1, #0x94]
|
|
bx lr
|
|
_023316B0:
|
|
add r2, r2, #8
|
|
_023316B4:
|
|
ldrh r3, [r2, #4]
|
|
cmp r3, #0
|
|
bne _02331638
|
|
bx lr
|
|
.align 2, 0
|
|
_023316C4: .word SUBMENU
|
|
_023316C8: .word ov01_0233C178
|
|
arm_func_end AddSubMenuOption
|
|
|
|
arm_func_start ov01_023316CC
|
|
ov01_023316CC: ; 0x023316CC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02331780 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldrsb r0, [r0]
|
|
mvn r1, #1
|
|
cmp r0, r1
|
|
beq _023316F4
|
|
bl CloseParentMenu
|
|
_023316F4:
|
|
ldr r0, _02331780 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
cmp r0, r1
|
|
beq _02331710
|
|
bl CloseParentMenu
|
|
_02331710:
|
|
ldr r0, _02331780 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
cmp r0, r1
|
|
beq _0233172C
|
|
bl CloseParentMenu
|
|
_0233172C:
|
|
ldr r0, _02331780 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
cmp r0, r1
|
|
beq _02331748
|
|
bl CloseAdvancedMenu
|
|
_02331748:
|
|
ldr r0, _02331780 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #4]
|
|
cmp r0, r1
|
|
beq _02331764
|
|
bl CloseDialogueBox
|
|
_02331764:
|
|
ldr r0, _02331780 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _02331780 ; =ov01_0233C178
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02331780: .word ov01_0233C178
|
|
arm_func_end ov01_023316CC
|
|
|
|
arm_func_start ov01_02331784
|
|
ov01_02331784: ; 0x02331784
|
|
#ifdef JAPAN
|
|
#define OV01_02331784_OFFSET 0x228
|
|
#else
|
|
#define OV01_02331784_OFFSET 0
|
|
#endif
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x304
|
|
_0233178C:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r4, #0
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #8]
|
|
cmp r0, #0xd
|
|
addls pc, pc, r0, lsl #2
|
|
b _023324F4
|
|
_023317A8: ; jump table
|
|
b _023317E0 ; case 0
|
|
b _02331810 ; case 1
|
|
b _0233184C ; case 2
|
|
b _02331AB4 ; case 3
|
|
b _02331CA8 ; case 4
|
|
b _02331D4C ; case 5
|
|
b _02331E08 ; case 6
|
|
b _02331EC0 ; case 7
|
|
b _02331F3C ; case 8
|
|
b _02332040 ; case 9
|
|
b _02332128 ; case 10
|
|
b _023322CC ; case 11
|
|
b _0233234C ; case 12
|
|
b _02332340 ; case 13
|
|
_023317E0:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
str r1, [r0, #8]
|
|
bl ov01_0232FD74
|
|
cmp r0, #0
|
|
bne _02331810
|
|
bl ov01_0232EDAC
|
|
b _023324F4
|
|
_02331810:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
bl ov01_0232F910
|
|
ldr r0, _0233250C ; =MAIN_MENU_WINDOW_PARAMS_3
|
|
bl CreateDialogueBox
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
mov r3, #2
|
|
ldr r5, [r1]
|
|
mov r2, #0
|
|
strb r0, [r5, #4]
|
|
ldr r0, [r1]
|
|
str r3, [r0, #8]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #0x180]
|
|
_0233184C:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
cmp r0, r1
|
|
beq _02331890
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #1]
|
|
_02331890:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
cmp r0, r1
|
|
beq _023318D4
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #2]
|
|
_023318D4:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
cmp r0, r1
|
|
beq _02331918
|
|
bl IsAdvancedMenuActive2
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
bl CloseAdvancedMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #3]
|
|
_02331918:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x180]
|
|
cmp r0, #0
|
|
subgt r0, r0, #1
|
|
strgt r0, [r1, #0x180]
|
|
bgt _023324F4
|
|
ldrsb r0, [r1]
|
|
mvn r2, #1
|
|
cmp r0, r2
|
|
bne _02331A9C
|
|
ldr ip, [r1, #0xc]
|
|
cmp ip, #0
|
|
beq _023319E4
|
|
cmp ip, #0x1c
|
|
cmpne ip, #0x1d
|
|
cmpne ip, #0x20
|
|
bne _02331998
|
|
mov r0, #0x1c
|
|
bl ov01_023315F4
|
|
cmp r0, #0x1c
|
|
moveq r0, #0x1c
|
|
streq r0, [sp, #0x26c]
|
|
movne r0, #0x1d
|
|
strne r0, [sp, #0x26c]
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #0x20
|
|
movne r0, #0
|
|
strne r0, [r1, #0xc]
|
|
b _02331A1C
|
|
_02331998:
|
|
mov r2, ip
|
|
ldr r5, [r1, #0x94]
|
|
mov r3, #0
|
|
b _023319BC
|
|
_023319A8:
|
|
add r0, r1, r3, lsl #3
|
|
ldr r0, [r0, #0x9c]
|
|
cmp r0, r2
|
|
beq _023319C8
|
|
add r3, r3, #1
|
|
_023319BC:
|
|
cmp r3, r5
|
|
blt _023319A8
|
|
mov r2, #0
|
|
_023319C8:
|
|
cmp r2, #0
|
|
streq ip, [sp, #0x26c]
|
|
moveq r0, #0
|
|
streq r0, [r1, #0xc]
|
|
movne r0, #0x19
|
|
strne r0, [sp, #0x26c]
|
|
b _02331A1C
|
|
_023319E4:
|
|
mov r0, #0x16
|
|
str r0, [sp, #0x26c]
|
|
bl ov01_023375A0
|
|
cmp r0, #1
|
|
bne _02331A08
|
|
mov r0, #0xc
|
|
bl ov01_023315F4
|
|
str r0, [sp, #0x26c]
|
|
b _02331A1C
|
|
_02331A08:
|
|
cmp r0, #2
|
|
bne _02331A1C
|
|
mov r0, #0xa
|
|
bl ov01_023315F4
|
|
str r0, [sp, #0x26c]
|
|
_02331A1C:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r3, [r0]
|
|
add r1, r3, #0x74
|
|
str r1, [sp, #0x2cc]
|
|
ldr r1, [r3, #0xc]
|
|
cmp r1, #0x20
|
|
bne _02331A54
|
|
mov r1, #8
|
|
str r1, [r3, #8]
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
str r1, [r0, #0x180]
|
|
mov r4, #1
|
|
b _023324F4
|
|
_02331A54:
|
|
cmp r1, #0
|
|
beq _02331A78
|
|
mov r1, #4
|
|
str r1, [r3, #8]
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
str r1, [r0, #0x180]
|
|
mov r4, #1
|
|
b _023324F4
|
|
_02331A78:
|
|
ldr r0, _02332510 ; =MAIN_MENU_WINDOW_PARAMS_1
|
|
ldr r1, _02332514 ; =0x00400231
|
|
add r2, sp, #0x26c
|
|
add r3, r3, #0x1c
|
|
bl CreateParentMenuFromStringIds
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
ldr r1, [r1]
|
|
strb r0, [r1]
|
|
b _02331AA0
|
|
_02331A9C:
|
|
bl ResumeParentMenu
|
|
_02331AA0:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
str r1, [r0, #8]
|
|
b _023324F4
|
|
_02331AB4:
|
|
ldrsb r0, [r1]
|
|
bl GetWindowIdSelectedItemOnPage
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
ldr r3, [r1]
|
|
ldr r2, [r3, #0x10]
|
|
cmp r2, r0
|
|
beq _02331AF0
|
|
str r0, [r3, #0x10]
|
|
ldr r3, [r1]
|
|
ldr r1, _02332518 ; =0x00000404
|
|
add r2, r3, r0, lsl #1
|
|
ldrsb r0, [r3, #4]
|
|
ldrh r2, [r2, #0x7e]
|
|
mov r3, r4
|
|
bl ShowStringIdInDialogueBox
|
|
_02331AF0:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0]
|
|
bl CheckParentMenuField0x1A0
|
|
cmp r0, #0
|
|
bne _02331C20
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0]
|
|
bl GetSimpleMenuResult__0202AEA4
|
|
cmp r0, #0x19
|
|
bne _02331B44
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r3, #4
|
|
ldr r2, [r0]
|
|
mov r1, #0xa
|
|
str r3, [r2, #8]
|
|
ldr r0, [r0]
|
|
mov r4, #1
|
|
str r1, [r0, #0x180]
|
|
b _023324F4
|
|
_02331B44:
|
|
cmp r0, #0x1a
|
|
bne _02331B98
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, #0x10e]
|
|
cmp r1, #0
|
|
movne r1, #5
|
|
strne r1, [r0, #4]
|
|
movne r0, #0xa
|
|
strne r0, [r2, #8]
|
|
bne _023324F4
|
|
mov r1, #6
|
|
str r1, [r2, #8]
|
|
ldr r1, [r0]
|
|
mov r2, #5
|
|
str r2, [r1, #0x110]
|
|
ldr r0, [r0]
|
|
mov r1, #0xa
|
|
str r1, [r0, #0x180]
|
|
mov r4, #1
|
|
b _023324F4
|
|
_02331B98:
|
|
cmp r0, #0x1b
|
|
bne _02331BD8
|
|
add r0, sp, #8
|
|
bl sub_0204E2DC
|
|
ldrb r0, [sp, #8]
|
|
cmp r0, #3
|
|
ldreq r0, _02332508 ; =ov01_0233C178
|
|
moveq r1, #6
|
|
ldrne r0, _02332508 ; =ov01_0233C178
|
|
movne r1, #5
|
|
str r1, [r0, #4]
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r1, #0xa
|
|
ldr r0, [r0]
|
|
str r1, [r0, #8]
|
|
b _023324F4
|
|
_02331BD8:
|
|
sub r1, r0, #0x1c
|
|
cmp r1, #1
|
|
bhi _02331C08
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r3, #8
|
|
ldr r2, [r0]
|
|
mov r1, #0xa
|
|
str r3, [r2, #8]
|
|
ldr r0, [r0]
|
|
mov r4, #1
|
|
str r1, [r0, #0x180]
|
|
b _023324F4
|
|
_02331C08:
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
mov r2, #0xa
|
|
str r0, [r1, #4]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #8]
|
|
b _023324F4
|
|
_02331C20:
|
|
add r1, sp, #0xa
|
|
mov r0, #0
|
|
bl GetHeldButtons
|
|
ldrh r0, [sp, #0xa]
|
|
tst r0, #0x200
|
|
mov r0, #0
|
|
mov r1, r0
|
|
beq _02331C74
|
|
bl sub_02009194
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl sub_02009194
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl sub_02009194
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0]
|
|
bl sub_0202B0A4
|
|
b _023324F4
|
|
_02331C74:
|
|
bl sub_020091B0
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl sub_020091B0
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl sub_020091B0
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0]
|
|
bl sub_0202B0A4
|
|
b _023324F4
|
|
_02331CA8:
|
|
ldrsb r0, [r1]
|
|
sub r1, r4, #2
|
|
cmp r0, r1
|
|
beq _02331CE4
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0]
|
|
_02331CE4:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, #0x180]
|
|
cmp r1, #0
|
|
subgt r0, r1, #1
|
|
strgt r0, [r3, #0x180]
|
|
bgt _023324F4
|
|
ldr r2, [r3, #0xc]
|
|
mov r1, #0
|
|
str r2, [sp, #0x1d4]
|
|
str r1, [r3, #0xc]
|
|
ldr r3, [r0]
|
|
ldr r0, _0233251C ; =MAIN_MENU_WINDOW_PARAMS_2
|
|
add r5, r3, #0xf0
|
|
ldr r1, _02332520 ; =0x00400233
|
|
add r2, sp, #0x1d4
|
|
add r3, r3, #0x98
|
|
str r5, [sp, #0x234]
|
|
bl CreateParentMenuFromStringIds
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
mov r2, #5
|
|
ldr r3, [r1]
|
|
strb r0, [r3, #1]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #8]
|
|
b _023324F4
|
|
_02331D4C:
|
|
ldrsb r0, [r1, #1]
|
|
bl GetWindowIdSelectedItemOnPage
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
add r3, r0, #0x64
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x10]
|
|
cmp r0, r3
|
|
beq _02331D8C
|
|
str r3, [r2, #0x10]
|
|
ldr r0, [r1]
|
|
ldr r1, _02332518 ; =0x00000404
|
|
add r2, r0, r3, lsl #1
|
|
ldrsb r0, [r0, #4]
|
|
ldrh r2, [r2, #0x32]
|
|
mov r3, r4
|
|
bl ShowStringIdInDialogueBox
|
|
_02331D8C:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl CheckParentMenuField0x1A0
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl GetSimpleMenuResult__0202AEA4
|
|
cmp r0, #0x21
|
|
cmpne r0, #1
|
|
bne _02331DF0
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r2, #2
|
|
ldr r1, [r0]
|
|
mov r3, #0xa
|
|
str r2, [r1, #8]
|
|
ldr r2, [r0]
|
|
mov r1, #0x19
|
|
str r3, [r2, #0x180]
|
|
ldr r0, [r0]
|
|
mov r4, #1
|
|
str r1, [r0, #0xc]
|
|
b _023324F4
|
|
_02331DF0:
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
mov r2, #0xa
|
|
str r0, [r1, #4]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #8]
|
|
b _023324F4
|
|
_02331E08:
|
|
ldrsb r0, [r1]
|
|
sub r1, r4, #2
|
|
cmp r0, r1
|
|
beq _02331E44
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0]
|
|
_02331E44:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x180]
|
|
cmp r0, #0
|
|
subgt r0, r0, #1
|
|
strgt r0, [r1, #0x180]
|
|
bgt _023324F4
|
|
ldr r5, [r1, #0x110]
|
|
ldr r1, _02332524 ; =0x00400033
|
|
ldr r3, _02332528 ; =CONTINUE_CHOICE
|
|
add r2, sp, #0x13c
|
|
mov r0, #0
|
|
str r5, [sp, #0x13c]
|
|
bl CreateParentMenuFromStringIds
|
|
ldr r3, _02332508 ; =ov01_0233C178
|
|
ldr r1, _02332518 ; =0x00000404
|
|
ldr r5, [r3]
|
|
#ifdef JAPAN
|
|
add r2, r1, #3
|
|
#else
|
|
ldr r2, _0233252C ; =0x000001DF
|
|
#endif
|
|
strb r0, [r5, #2]
|
|
ldr r0, [r3]
|
|
mov r3, #0
|
|
ldrsb r0, [r0, #4]
|
|
bl ShowStringIdInDialogueBox
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r3, #0
|
|
ldr r2, [r0]
|
|
mov r1, #7
|
|
str r3, [r2, #0x10]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #8]
|
|
b _023324F4
|
|
_02331EC0:
|
|
ldrsb r0, [r1, #2]
|
|
bl CheckParentMenuField0x1A0
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
bl GetSimpleMenuResult__0202AEA4
|
|
cmp r0, #0x21
|
|
cmpne r0, #1
|
|
bne _02331F1C
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r2, #2
|
|
ldr r1, [r0]
|
|
mov r3, #0xa
|
|
str r2, [r1, #8]
|
|
ldr r2, [r0]
|
|
mov r1, #0x1a
|
|
str r3, [r2, #0x180]
|
|
ldr r0, [r0]
|
|
mov r4, #1
|
|
str r1, [r0, #0xc]
|
|
b _023324F4
|
|
_02331F1C:
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
mov r2, #0xa
|
|
ldr r3, [r1]
|
|
str r0, [r3, #0x110]
|
|
str r0, [r1, #4]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #8]
|
|
b _023324F4
|
|
_02331F3C:
|
|
ldrsb r0, [r1]
|
|
sub r1, r4, #2
|
|
cmp r0, r1
|
|
beq _02331F78
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0]
|
|
_02331F78:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r5, [r0]
|
|
ldr r0, [r5, #0x180]
|
|
cmp r0, #0
|
|
subgt r0, r0, #1
|
|
strgt r0, [r5, #0x180]
|
|
bgt _023324F4
|
|
ldr r3, [r5, #0x118]
|
|
ldr r2, _02332530 ; =0x000001E1
|
|
add r0, r5, #0x174
|
|
mov r1, #0x10
|
|
str r3, [sp, #0xa4]
|
|
strh r2, [sp, #0xac]
|
|
str r1, [sp, #0xb0]
|
|
str r0, [sp, #0x104]
|
|
ldr r5, [r5, #0x114]
|
|
ldr r0, _02332534 ; =MAIN_MENU_WINDOW_PARAMS_4
|
|
str r5, [sp]
|
|
mov r5, #0xa
|
|
ldr r1, _02332538 ; =0x00400A33
|
|
ldr r3, _0233253C ; =ov01_02332580
|
|
add r2, sp, #0xa4
|
|
str r5, [sp, #4]
|
|
bl CreateAdvancedMenu
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #3]
|
|
bl ov01_02332648
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
mov r3, #0
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #0x14]
|
|
ldr r1, [r1]
|
|
ldrb r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
ldrne r2, _02332540 ; =0x000001E9
|
|
ldrsb r0, [r1, #4]
|
|
moveq r2, #0x1e8 + OV01_02331784_OFFSET
|
|
mov r2, r2, lsl #0x10
|
|
ldr r1, _02332518 ; =0x00000404
|
|
mov r2, r2, lsr #0x10
|
|
bl ShowStringIdInDialogueBox
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r3, #0
|
|
ldr r2, [r0]
|
|
mov r1, #9
|
|
str r3, [r2, #0x10]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #8]
|
|
b _023324F4
|
|
_02332040:
|
|
bl ov01_02332648
|
|
ldr r1, _02332508 ; =ov01_0233C178
|
|
ldr r3, [r1]
|
|
ldrb r2, [r3, #0x14]
|
|
cmp r2, r0
|
|
beq _02332088
|
|
strb r0, [r3, #0x14]
|
|
ldr r1, [r1]
|
|
mov r3, #0
|
|
ldrb r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
ldrne r2, _02332540 ; =0x000001E9
|
|
ldrsb r0, [r1, #4]
|
|
moveq r2, #0x1e8 + OV01_02331784_OFFSET
|
|
mov r2, r2, lsl #0x10
|
|
ldr r1, _02332518 ; =0x00000404
|
|
mov r2, r2, lsr #0x10
|
|
bl ShowStringIdInDialogueBox
|
|
_02332088:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
bl IsAdvancedMenuActive
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
bl GetAdvancedMenuResult
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
ldrne r1, _02332508 ; =ov01_0233C178
|
|
ldrne r1, [r1]
|
|
addne r0, r1, r0, lsl #3
|
|
ldrne r1, [r0, #0x120]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
bne _02332104
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r2, #2
|
|
ldr r1, [r0]
|
|
mov r3, #0xa
|
|
str r2, [r1, #8]
|
|
ldr r2, [r0]
|
|
mov r1, #0x1c
|
|
str r3, [r2, #0x180]
|
|
ldr r0, [r0]
|
|
mov r4, #1
|
|
str r1, [r0, #0xc]
|
|
b _023324F4
|
|
_02332104:
|
|
mov r0, r1
|
|
bl SetDebugSpecialEpisodeNumber
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r1, #4
|
|
str r1, [r0, #4]
|
|
ldr r0, [r0]
|
|
mov r1, #0xa
|
|
str r1, [r0, #8]
|
|
b _023324F4
|
|
_02332128:
|
|
ldrsb r0, [r1, #4]
|
|
mov r5, #1
|
|
sub r1, r5, #3
|
|
cmp r0, r1
|
|
beq _02332148
|
|
bl IsDialogueBoxActive
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
_02332148:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0]
|
|
cmp r0, r1
|
|
beq _02332190
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
movne r5, #0
|
|
bne _02332190
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0]
|
|
_02332190:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
cmp r0, r1
|
|
beq _023321D8
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
movne r5, #0
|
|
bne _023321D8
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #1]
|
|
_023321D8:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
cmp r0, r1
|
|
beq _02332220
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
movne r5, #0
|
|
bne _02332220
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #2]
|
|
_02332220:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
cmp r0, r1
|
|
beq _02332268
|
|
bl IsAdvancedMenuActive2
|
|
cmp r0, #0
|
|
movne r5, #0
|
|
bne _02332268
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
bl CloseAdvancedMenu
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #3]
|
|
_02332268:
|
|
cmp r5, #0
|
|
ldrne r0, _02332508 ; =ov01_0233C178
|
|
mvnne r1, #1
|
|
ldrne r0, [r0]
|
|
ldrnesb r0, [r0, #4]
|
|
cmpne r0, r1
|
|
beq _023322B4
|
|
bl IsDialogueBoxActive
|
|
cmp r0, #0
|
|
movne r5, #0
|
|
bne _023322B4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #4]
|
|
bl CloseDialogueBox
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #4]
|
|
_023322B4:
|
|
cmp r5, #0
|
|
ldrne r0, _02332508 ; =ov01_0233C178
|
|
movne r1, #0xb
|
|
ldrne r0, [r0]
|
|
strne r1, [r0, #8]
|
|
b _023324F4
|
|
_023322CC:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r0, [r0, #4]
|
|
sub r0, r0, #0xf
|
|
cmp r0, #8
|
|
addls pc, pc, r0, lsl #2
|
|
b _0233232C
|
|
_023322F0: ; jump table
|
|
b _02332314 ; case 0
|
|
b _02332314 ; case 1
|
|
b _02332314 ; case 2
|
|
b _02332314 ; case 3
|
|
b _02332314 ; case 4
|
|
b _0233232C ; case 5
|
|
b _0233232C ; case 6
|
|
b _0233232C ; case 7
|
|
b _02332314 ; case 8
|
|
_02332314:
|
|
bl ov01_0232EDAC
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r1, #0xd
|
|
ldr r0, [r0]
|
|
str r1, [r0, #8]
|
|
b _023324F4
|
|
_0233232C:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
mov r1, #0xc
|
|
ldr r0, [r0]
|
|
str r1, [r0, #8]
|
|
b _023324F4
|
|
_02332340:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _023324F4
|
|
_0233234C:
|
|
ldr r0, _02332508 ; =ov01_0233C178
|
|
ldr r2, _02332544 ; =ov01_0233254C
|
|
mov r4, #0
|
|
str r2, [sp, #0x90]
|
|
ldr r1, [r0]
|
|
str r4, [sp, #0x94]
|
|
mov r2, #0xe
|
|
str r2, [r1, #8]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0x18
|
|
addls pc, pc, r0, lsl #2
|
|
b _023324D8
|
|
_0233237C: ; jump table
|
|
b _023324D8 ; case 0
|
|
b _023324D8 ; case 1
|
|
b _02332480 ; case 2
|
|
b _023323E0 ; case 3
|
|
b _023323E8 ; case 4
|
|
b _02332414 ; case 5
|
|
b _02332420 ; case 6
|
|
b _02332408 ; case 7
|
|
b _02332490 ; case 8
|
|
b _0233249C ; case 9
|
|
b _0233242C ; case 10
|
|
b _02332444 ; case 11
|
|
b _02332450 ; case 12
|
|
b _02332438 ; case 13
|
|
b _02332458 ; case 14
|
|
b _02332468 ; case 15
|
|
b _02332478 ; case 16
|
|
b _02332460 ; case 17
|
|
b _02332488 ; case 18
|
|
b _02332470 ; case 19
|
|
b _023324B8 ; case 20
|
|
b _023324D8 ; case 21
|
|
b _023324C8 ; case 22
|
|
b _023324C0 ; case 23
|
|
b _023324D0 ; case 24
|
|
_023323E0:
|
|
mov r4, #4
|
|
b _023324DC
|
|
_023323E8:
|
|
bl GetSpecialEpisodeType
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
moveq r4, #5
|
|
beq _023324DC
|
|
mov r0, #4
|
|
bl ov01_02332698
|
|
b _023324DC
|
|
_02332408:
|
|
mov r0, #3
|
|
bl ov01_02332698
|
|
b _023324DC
|
|
_02332414:
|
|
mov r0, r4
|
|
bl ov01_02332698
|
|
b _023324DC
|
|
_02332420:
|
|
mov r0, #1
|
|
bl ov01_02332698
|
|
b _023324DC
|
|
_0233242C:
|
|
mov r0, r4
|
|
bl ov01_02332698
|
|
b _023324DC
|
|
_02332438:
|
|
mov r0, #2
|
|
bl ov01_02332698
|
|
b _023324DC
|
|
_02332444:
|
|
mov r0, #5
|
|
bl ov01_02332698
|
|
b _023324DC
|
|
_02332450:
|
|
mov r4, #0xb
|
|
b _023324DC
|
|
_02332458:
|
|
mov r4, #0xd
|
|
b _023324DC
|
|
_02332460:
|
|
bl ov01_02337634
|
|
b _023324DC
|
|
_02332468:
|
|
bl ov01_0233758C
|
|
b _023324DC
|
|
_02332470:
|
|
bl ov01_02337668
|
|
b _023324DC
|
|
_02332478:
|
|
bl ov01_02337914
|
|
b _023324DC
|
|
_02332480:
|
|
bl ov01_02333678
|
|
b _023324DC
|
|
_02332488:
|
|
bl ov01_023375E0
|
|
b _023324DC
|
|
_02332490:
|
|
mov r0, r4
|
|
bl ov01_023371B4
|
|
b _023324DC
|
|
_0233249C:
|
|
ldr r3, _02332548 ; =ov01_02332570
|
|
add r2, sp, #0xc
|
|
mov r0, #1
|
|
mov r1, #0x100
|
|
str r3, [sp, #0x90]
|
|
bl sub_02035CE4
|
|
b _023324DC
|
|
_023324B8:
|
|
bl ov00_022BE0B4
|
|
b _023324DC
|
|
_023324C0:
|
|
bl ov01_023375F4
|
|
b _023324DC
|
|
_023324C8:
|
|
bl ov01_0233396C
|
|
b _023324DC
|
|
_023324D0:
|
|
bl ov00_022BE094
|
|
b _023324DC
|
|
_023324D8:
|
|
bl ov01_0233396C
|
|
_023324DC:
|
|
cmp r4, #0
|
|
beq _023324EC
|
|
mov r0, r4
|
|
bl ov00_022BE4A8
|
|
_023324EC:
|
|
mov r0, #4
|
|
b _02332500
|
|
_023324F4:
|
|
cmp r4, #0
|
|
bne _0233178C
|
|
mov r0, #1
|
|
_02332500:
|
|
add sp, sp, #0x304
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_02332508: .word ov01_0233C178
|
|
_0233250C: .word MAIN_MENU_WINDOW_PARAMS_3
|
|
_02332510: .word MAIN_MENU_WINDOW_PARAMS_1
|
|
_02332514: .word 0x00400231
|
|
_02332518: .word 0x00000404
|
|
_0233251C: .word MAIN_MENU_WINDOW_PARAMS_2
|
|
_02332520: .word 0x00400233
|
|
_02332524: .word 0x00400033
|
|
_02332528: .word CONTINUE_CHOICE
|
|
#ifndef JAPAN
|
|
_0233252C: .word 0x000001DF
|
|
#endif
|
|
_02332530: .word 0x000001E1 + OV01_02331784_OFFSET
|
|
_02332534: .word MAIN_MENU_WINDOW_PARAMS_4
|
|
_02332538: .word 0x00400A33
|
|
_0233253C: .word ov01_02332580
|
|
_02332540: .word 0x000001E9 + OV01_02331784_OFFSET
|
|
_02332544: .word ov01_0233254C
|
|
_02332548: .word ov01_02332570
|
|
arm_func_end ov01_02331784
|
|
|
|
arm_func_start ov01_0233254C
|
|
ov01_0233254C: ; 0x0233254C
|
|
stmdb sp!, {r3, lr}
|
|
cmp r1, #0
|
|
bne _02332564
|
|
mov r0, #0
|
|
bl ov01_023310B8
|
|
ldmia sp!, {r3, pc}
|
|
_02332564:
|
|
mov r0, r1
|
|
bl ov00_022BE4A8
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov01_0233254C
|
|
|
|
arm_func_start ov01_02332570
|
|
ov01_02332570: ; 0x02332570
|
|
ldr ip, _0233257C ; =ov01_023310B8
|
|
mov r0, #9
|
|
bx ip
|
|
.align 2, 0
|
|
_0233257C: .word ov01_023310B8
|
|
arm_func_end ov01_02332570
|
|
|
|
arm_func_start ov01_02332580
|
|
ov01_02332580: ; 0x02332580
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x54
|
|
ldr r2, _0233262C ; =ov01_0233C178
|
|
mov r5, r1
|
|
ldr r2, [r2]
|
|
mvn r1, #0
|
|
add r2, r2, r5, lsl #3
|
|
ldr r7, [r2, #0x120]
|
|
mov r6, r0
|
|
cmp r7, r1
|
|
ldr r8, _02332630 ; =ov01_0233B670
|
|
ldr r4, _02332634 ; =ov01_0233B678
|
|
beq _023325E4
|
|
mov r0, r7
|
|
bl IsSpecialEpisodeBeaten
|
|
cmp r0, #0
|
|
ldrne r8, _02332638 ; =ov01_0233B6A4
|
|
bne _023325D8
|
|
mov r0, r7
|
|
bl IsSpecialEpisodeOpenOld
|
|
cmp r0, #0
|
|
ldreq r8, _0233263C ; =ov01_0233B6B0
|
|
_023325D8:
|
|
bl GetSpecialEpisodeType
|
|
cmp r7, r0
|
|
ldreq r4, _02332640 ; =ov01_0233B6BC
|
|
_023325E4:
|
|
ldr r0, _0233262C ; =ov01_0233C178
|
|
str r8, [sp, #0x3c]
|
|
ldr r0, [r0]
|
|
add r0, r0, r5, lsl #3
|
|
add r0, r0, #0x100
|
|
ldrh r0, [r0, #0x1c]
|
|
bl StringFromId
|
|
str r0, [sp, #0x40]
|
|
add r5, sp, #4
|
|
ldr r3, _02332644 ; =0x0000C402
|
|
mov r0, r6
|
|
mov r2, r4
|
|
mov r1, #0x400
|
|
str r5, [sp]
|
|
bl PreprocessString
|
|
mov r0, r6
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0233262C: .word ov01_0233C178
|
|
_02332630: .word ov01_0233B670
|
|
_02332634: .word ov01_0233B678
|
|
_02332638: .word ov01_0233B6A4
|
|
_0233263C: .word ov01_0233B6B0
|
|
_02332640: .word ov01_0233B6BC
|
|
_02332644: .word 0x0000C402
|
|
arm_func_end ov01_02332580
|
|
|
|
arm_func_start ov01_02332648
|
|
ov01_02332648: ; 0x02332648
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _02332694 ; =ov01_0233C178
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
bl GetAdvancedMenuCurrentOption
|
|
ldr r2, _02332694 ; =ov01_0233C178
|
|
mvn r1, #0
|
|
ldr r2, [r2]
|
|
add r0, r2, r0, lsl #3
|
|
ldr r4, [r0, #0x120]
|
|
cmp r4, r1
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
bl GetSpecialEpisodeType
|
|
cmp r4, r0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
and r0, r0, #0xff
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02332694: .word ov01_0233C178
|
|
arm_func_end ov01_02332648
|
|
|
|
arm_func_start ov01_02332698
|
|
ov01_02332698: ; 0x02332698
|
|
#ifdef JAPAN
|
|
#define OV01_02332698_OFFSET 0x222A
|
|
#else
|
|
#define OV01_02332698_OFFSET 0
|
|
#endif
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0xa4
|
|
mov r5, r0
|
|
mov r1, #0
|
|
ldr r0, _023329C4 ; =ov01_0233B70C
|
|
str r1, [sp, #0xc]
|
|
bl InitMenu
|
|
cmp r0, #0
|
|
beq _023329BC
|
|
ldr r0, _023329C8 ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _023326EC
|
|
mov r0, #0x630
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r3, _023329C8 ; =ov01_0233C184
|
|
mov r1, #0
|
|
mov r2, #0x630
|
|
str r0, [r3]
|
|
bl MemsetSimple
|
|
_023326EC:
|
|
ldr r0, _023329C8 ; =ov01_0233C184
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x624]
|
|
bl sub_0204E3C8
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x61c]
|
|
bl sub_0204E40C
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x61d]
|
|
bl sub_0204E464
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x61e]
|
|
bl sub_0204E4BC
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x61f]
|
|
bl sub_0204E4EC
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x620]
|
|
bl sub_0204E530
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #0x621]
|
|
ldr r3, [r1]
|
|
ldr r0, _023329CC ; =ov01_0233B798
|
|
ldrb r1, [r3, #0x61f]
|
|
str r1, [sp]
|
|
ldrb r1, [r3, #0x620]
|
|
str r1, [sp, #4]
|
|
ldrb r1, [r3, #0x621]
|
|
str r1, [sp, #8]
|
|
ldrb r1, [r3, #0x61c]
|
|
ldrb r2, [r3, #0x61d]
|
|
ldrb r3, [r3, #0x61e]
|
|
bl Debug_Print0
|
|
ldr r0, _023329C8 ; =ov01_0233C184
|
|
mov r3, #0
|
|
mvn r2, #1
|
|
_02332798:
|
|
ldr r1, [r0]
|
|
add r1, r1, r3
|
|
add r3, r3, #1
|
|
strb r2, [r1, #0x60f]
|
|
cmp r3, #0xd
|
|
blt _02332798
|
|
bl sub_0204A1CC
|
|
bl ov00_022BCA80
|
|
bl ov00_022BCCF4
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x622]
|
|
mov r0, #1
|
|
bl ov00_022BCBAC
|
|
ldr r0, _023329C8 ; =ov01_0233C184
|
|
ldr r1, [r0]
|
|
str r5, [r1]
|
|
ldr r1, [r0]
|
|
str r5, [r1, #8]
|
|
ldr r0, [r0]
|
|
mov r1, #0x32
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
cmpne r0, #4
|
|
mov r0, #0
|
|
beq _02332810
|
|
mov r2, r0
|
|
bl LoadScriptVariableValueAtIndex
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
b _0233281C
|
|
_02332810:
|
|
mov r2, #1
|
|
bl LoadScriptVariableValueAtIndex
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
_0233281C:
|
|
ldr r1, [r1]
|
|
str r0, [r1, #4]
|
|
ldr r0, _023329D0 ; =MAIN_MENU_WINDOW_PARAMS_5
|
|
ldr r1, _023329D4 ; =ProcessContinueScreenContents
|
|
bl CreateTextBox
|
|
ldr r2, _023329C8 ; =ov01_0233C184
|
|
mov r1, #0
|
|
ldr r2, [r2]
|
|
strb r0, [r2, #0x60c]
|
|
ldr r0, _023329D8 ; =MAIN_MENU_WINDOW_PARAMS_6
|
|
bl CreateTextBox
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #0x60d]
|
|
ldr r1, [r1]
|
|
ldr r0, [r1, #8]
|
|
cmp r0, #0xb
|
|
addls pc, pc, r0, lsl #2
|
|
b _02332950
|
|
_02332868: ; jump table
|
|
b _02332898 ; case 0
|
|
b _02332898 ; case 1
|
|
b _023328CC ; case 2
|
|
b _023328F0 ; case 3
|
|
b _02332910 ; case 4
|
|
b _023328E0 ; case 5
|
|
b _02332950 ; case 6
|
|
b _02332950 ; case 7
|
|
b _02332950 ; case 8
|
|
b _02332950 ; case 9
|
|
b _02332900 ; case 10
|
|
b _02332944 ; case 11
|
|
_02332898:
|
|
ldrb r0, [r1, #0x61d]
|
|
cmp r0, #0
|
|
ldrne r4, _023329DC ; =0x00000203
|
|
bne _02332950
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0xa
|
|
#ifdef JAPAN
|
|
ldreq r4, _0233417C ; =0x0000242A
|
|
#else
|
|
moveq r4, #0x200
|
|
#endif
|
|
beq _02332950
|
|
ldrb r0, [r1, #0x61c]
|
|
cmp r0, #0
|
|
ldrne r4, _023329E0 ; =0x00000201
|
|
#ifdef JAPAN
|
|
ldreq r4, _0233417C ; =0x0000242A
|
|
#else
|
|
moveq r4, #0x200
|
|
#endif
|
|
b _02332950
|
|
_023328CC:
|
|
ldrb r0, [r1, #0x61c]
|
|
cmp r0, #0
|
|
ldrne r4, _023329E4 ; =0x00000202
|
|
#ifdef JAPAN
|
|
ldreq r4, _0233417C ; =0x0000242A
|
|
#else
|
|
moveq r4, #0x200
|
|
#endif
|
|
b _02332950
|
|
_023328E0:
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
#ifdef JAPAN
|
|
ldr r4, _02334188 ; =0x0000242E
|
|
#else
|
|
mov r4, #0x204
|
|
#endif
|
|
b _02332950
|
|
_023328F0:
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
ldr r4, _023329E8 ; =0x00000206
|
|
b _02332950
|
|
_02332900:
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
#ifdef JAPAN
|
|
ldr r4, _02334190 ; =0x00002431
|
|
#else
|
|
rsb r4, r0, #0x208
|
|
#endif
|
|
b _02332950
|
|
_02332910:
|
|
bl GetSpecialEpisodeType
|
|
mov r5, r0
|
|
bl GetDebugSpecialEpisodeNumber
|
|
mvn r1, #0
|
|
cmp r5, r1
|
|
beq _02332950
|
|
cmp r5, r0
|
|
mov r0, #1
|
|
#ifdef JAPAN
|
|
ldreq r4, _02334194 ; =0x00002432
|
|
streq r0, [sp, #0xc]
|
|
strne r0, [sp, #0xc]
|
|
ldrne r4, _02334198 ; =0x00002433
|
|
#else
|
|
streq r0, [sp, #0xc]
|
|
moveq r4, #0x208
|
|
strne r0, [sp, #0xc]
|
|
addne r4, r0, #0x208
|
|
#endif
|
|
b _02332950
|
|
_02332944:
|
|
mov r0, #1
|
|
ldr r4, _023329EC ; =0x0000020A
|
|
str r0, [sp, #0xc]
|
|
_02332950:
|
|
ldr r0, _023329C8 ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xd]
|
|
bl sub_02027B1C
|
|
ldr r0, _023329C8 ; =ov01_0233C184
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
mov r2, r1
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xd]
|
|
mov r3, r4
|
|
bl sub_02026268
|
|
ldr r0, _023329C8 ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xd]
|
|
bl UpdateWindow
|
|
ldr r0, _023329F0 ; =MAIN_MENU_WINDOW_PARAMS_7
|
|
ldr r3, _023329F4 ; =MAIN_MENU_ITEMS_CONFIRM
|
|
add r2, sp, #0xc
|
|
mov r1, #0x33
|
|
bl CreateParentMenuFromStringIds
|
|
ldr r1, _023329C8 ; =ov01_0233C184
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x60e]
|
|
bl ov01_0232F408
|
|
_023329BC:
|
|
add sp, sp, #0xa4
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
_023329C4: .word ov01_0233B70C
|
|
_023329C8: .word ov01_0233C184
|
|
_023329CC: .word ov01_0233B798
|
|
_023329D0: .word MAIN_MENU_WINDOW_PARAMS_5
|
|
_023329D4: .word ProcessContinueScreenContents
|
|
_023329D8: .word MAIN_MENU_WINDOW_PARAMS_6
|
|
_023329DC: .word 0x00000203 + OV01_02332698_OFFSET
|
|
#ifdef JAPAN
|
|
_0233417C: .word 0x0000242A
|
|
#endif
|
|
_023329E0: .word 0x00000201 + OV01_02332698_OFFSET
|
|
_023329E4: .word 0x00000202 + OV01_02332698_OFFSET
|
|
#ifdef JAPAN
|
|
_02334188: .word 0x0000242E
|
|
#endif
|
|
_023329E8: .word 0x00000206 + OV01_02332698_OFFSET
|
|
#ifdef JAPAN
|
|
_02334190: .word 0x00002431
|
|
_02334194: .word 0x00002432
|
|
_02334198: .word 0x00002433
|
|
#endif
|
|
_023329EC: .word 0x0000020A + OV01_02332698_OFFSET
|
|
_023329F0: .word MAIN_MENU_WINDOW_PARAMS_7
|
|
_023329F4: .word MAIN_MENU_ITEMS_CONFIRM
|
|
arm_func_end ov01_02332698
|
|
|
|
arm_func_start ov01_023329F8
|
|
ov01_023329F8: ; 0x023329F8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02332A7C ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov01_02332A80
|
|
bl sub_0202737C
|
|
ldr r0, _02332A7C ; =ov01_0233C184
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r2, [r0, #0xc]
|
|
cmp r2, r1
|
|
beq _02332A60
|
|
ldrsb r0, [r0, #0xe]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332A7C ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xd]
|
|
bl CloseTextBox
|
|
ldr r0, _02332A7C ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xc]
|
|
bl CloseTextBox
|
|
_02332A60:
|
|
ldr r0, _02332A7C ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _02332A7C ; =ov01_0233C184
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02332A7C: .word ov01_0233C184
|
|
arm_func_end ov01_023329F8
|
|
|
|
arm_func_start ov01_02332A80
|
|
ov01_02332A80: ; 0x02332A80
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r5, _02332AC8 ; =ov01_0233C184
|
|
mov r4, #0
|
|
mvn r6, #1
|
|
_02332A90:
|
|
ldr r0, [r5]
|
|
add r0, r0, r4
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xf]
|
|
cmp r0, r6
|
|
beq _02332AB8
|
|
bl CloseTextBox
|
|
ldr r0, [r5]
|
|
add r0, r0, r4
|
|
strb r6, [r0, #0x60f]
|
|
_02332AB8:
|
|
add r4, r4, #1
|
|
cmp r4, #0xd
|
|
blt _02332A90
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02332AC8: .word ov01_0233C184
|
|
arm_func_end ov01_02332A80
|
|
|
|
arm_func_start ov01_02332ACC
|
|
ov01_02332ACC: ; 0x02332ACC
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x98
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
ldr r3, [r0]
|
|
ldr r1, [r3, #0x624]
|
|
cmp r1, #7
|
|
addls pc, pc, r1, lsl #2
|
|
b _02332ED0
|
|
_02332AEC: ; jump table
|
|
b _02332B0C ; case 0
|
|
b _02332B50 ; case 1
|
|
b _02332C10 ; case 2
|
|
b _02332C30 ; case 3
|
|
b _02332ED0 ; case 4
|
|
b _02332E10 ; case 5
|
|
b _02332E10 ; case 6
|
|
b _02332E10 ; case 7
|
|
_02332B0C:
|
|
add r0, r3, #0x600
|
|
ldrsb r0, [r0, #0xe]
|
|
bl CheckParentMenuField0x1A0
|
|
cmp r0, #0
|
|
bne _02332ED0
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
mov r2, #1
|
|
ldr r1, [r0]
|
|
str r2, [r1, #0x624]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #3
|
|
cmpne r0, #5
|
|
cmpne r0, #4
|
|
beq _02332ED0
|
|
bl ov01_0232EDAC
|
|
b _02332ED0
|
|
_02332B50:
|
|
add r0, r3, #0x600
|
|
ldrsb r0, [r0, #0xe]
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
bne _02332ED0
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xe]
|
|
bl GetSimpleMenuResult__0202AEA4
|
|
ldr r1, _02332EDC ; =ov01_0233C184
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x62c]
|
|
ldr r1, [r1]
|
|
ldr r0, [r1, #8]
|
|
cmp r0, #3
|
|
cmpne r0, #5
|
|
cmpne r0, #4
|
|
moveq r0, #3
|
|
streq r0, [r1, #0x624]
|
|
beq _02332ED0
|
|
bl ov01_02332A80
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xe]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xd]
|
|
bl CloseTextBox
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xc]
|
|
bl CloseTextBox
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
mvn r2, #1
|
|
ldr r1, [r0]
|
|
mov r3, #2
|
|
strb r2, [r1, #0x60c]
|
|
ldr r2, [r0]
|
|
mov r1, #4
|
|
str r3, [r2, #0x624]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x628]
|
|
b _02332ED0
|
|
_02332C10:
|
|
ldr r2, [r3, #0x628]
|
|
sub r1, r2, #1
|
|
str r1, [r3, #0x628]
|
|
cmp r2, #0
|
|
ldreq r0, [r0]
|
|
moveq r1, #3
|
|
streq r1, [r0, #0x624]
|
|
b _02332ED0
|
|
_02332C30:
|
|
mov r1, #4
|
|
str r1, [r3, #0x624]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x62c]
|
|
cmp r1, #2
|
|
bne _02332DCC
|
|
ldr r1, [r2, #8]
|
|
cmp r1, #0xb
|
|
addls pc, pc, r1, lsl #2
|
|
b _02332ED0
|
|
_02332C58: ; jump table
|
|
b _02332C88 ; case 0
|
|
b _02332CAC ; case 1
|
|
b _02332CD0 ; case 2
|
|
b _02332D1C ; case 3
|
|
b _02332D5C ; case 4
|
|
b _02332CDC ; case 5
|
|
b _02332ED0 ; case 6
|
|
b _02332ED0 ; case 7
|
|
b _02332ED0 ; case 8
|
|
b _02332D10 ; case 9
|
|
b _02332D4C ; case 10
|
|
b _02332DBC ; case 11
|
|
_02332C88:
|
|
ldrb r0, [r2, #0x61d]
|
|
cmp r0, #0
|
|
beq _02332CA0
|
|
mov r0, #9
|
|
bl ov00_022BE4A8
|
|
b _02332ED0
|
|
_02332CA0:
|
|
mov r0, #6
|
|
bl ov00_022BE4A8
|
|
b _02332ED0
|
|
_02332CAC:
|
|
ldrb r0, [r2, #0x61d]
|
|
cmp r0, #0
|
|
beq _02332CC4
|
|
mov r0, #9
|
|
bl ov00_022BE4A8
|
|
b _02332ED0
|
|
_02332CC4:
|
|
mov r0, #7
|
|
bl ov00_022BE4A8
|
|
b _02332ED0
|
|
_02332CD0:
|
|
mov r0, #0xc
|
|
bl ov00_022BE4A8
|
|
b _02332ED0
|
|
_02332CDC:
|
|
mov r1, #9
|
|
str r1, [r2, #8]
|
|
ldr r1, [r0]
|
|
mov r2, #6
|
|
str r2, [r1, #0x624]
|
|
ldr r1, [r0]
|
|
mov r2, #0xa
|
|
str r2, [r1, #0x628]
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xe]
|
|
bl CloseParentMenu
|
|
b _02332ED0
|
|
_02332D10:
|
|
mov r0, #0xa
|
|
bl ov00_022BE4A8
|
|
b _02332ED0
|
|
_02332D1C:
|
|
mov r3, #0xa
|
|
str r3, [r2, #8]
|
|
ldr r1, [r0]
|
|
mov r2, #5
|
|
str r2, [r1, #0x624]
|
|
ldr r1, [r0]
|
|
str r3, [r1, #0x628]
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xe]
|
|
bl CloseParentMenu
|
|
b _02332ED0
|
|
_02332D4C:
|
|
mov r0, #8
|
|
bl ov00_022BE4A8
|
|
mov r0, #4
|
|
b _02332ED4
|
|
_02332D5C:
|
|
bl GetDebugSpecialEpisodeNumber
|
|
bl IsSpecialEpisodeBeaten
|
|
cmp r0, #0
|
|
beq _02332DAC
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xe]
|
|
bl CloseParentMenu
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
mov r2, #0xb
|
|
ldr r1, [r0]
|
|
mov r3, #7
|
|
str r2, [r1, #8]
|
|
ldr r2, [r0]
|
|
mov r1, #0xa
|
|
str r3, [r2, #0x624]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x628]
|
|
b _02332ED0
|
|
_02332DAC:
|
|
mov r0, #5
|
|
bl ov00_022BE4A8
|
|
mov r0, #4
|
|
b _02332ED4
|
|
_02332DBC:
|
|
mov r0, #5
|
|
bl ov00_022BE4A8
|
|
mov r0, #4
|
|
b _02332ED4
|
|
_02332DCC:
|
|
ldr r0, [r2, #8]
|
|
cmp r0, #4
|
|
cmpne r0, #0xb
|
|
bne _02332DE8
|
|
mov r0, #0x20
|
|
bl ov01_023310B8
|
|
b _02332E08
|
|
_02332DE8:
|
|
cmp r0, #3
|
|
cmpne r0, #0xa
|
|
bne _02332E00
|
|
mov r0, #7
|
|
bl ov01_023310B8
|
|
b _02332E08
|
|
_02332E00:
|
|
mov r0, #0
|
|
bl ov01_023310B8
|
|
_02332E08:
|
|
mov r0, #4
|
|
b _02332ED4
|
|
_02332E10:
|
|
ldr r2, [r3, #0x628]
|
|
sub r1, r2, #1
|
|
str r1, [r3, #0x628]
|
|
cmp r2, #0
|
|
bne _02332ED0
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, #0x624]
|
|
cmp r0, #5
|
|
beq _02332E44
|
|
cmp r0, #6
|
|
beq _02332E4C
|
|
cmp r0, #7
|
|
beq _02332E54
|
|
_02332E44:
|
|
ldr r4, _02332EE0 ; =0x00000207
|
|
b _02332E58
|
|
_02332E4C:
|
|
ldr r4, _02332EE4 ; =0x00000205
|
|
b _02332E58
|
|
_02332E54:
|
|
ldr r4, _02332EE8 ; =0x0000020A
|
|
_02332E58:
|
|
mov r1, #0
|
|
str r1, [r2, #0x624]
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
str r1, [sp]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xd]
|
|
bl sub_02027B1C
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
mov r2, r1
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xd]
|
|
mov r3, r4
|
|
bl sub_02026268
|
|
ldr r0, _02332EDC ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x600
|
|
ldrsb r0, [r0, #0xd]
|
|
bl UpdateWindow
|
|
ldr r0, _02332EEC ; =MAIN_MENU_WINDOW_PARAMS_7
|
|
ldr r3, _02332EF0 ; =MAIN_MENU_ITEMS_CONFIRM
|
|
add r2, sp, #0
|
|
mov r1, #0x33
|
|
bl CreateParentMenuFromStringIds
|
|
ldr r1, _02332EDC ; =ov01_0233C184
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x60e]
|
|
_02332ED0:
|
|
mov r0, #1
|
|
_02332ED4:
|
|
add sp, sp, #0x98
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
#ifdef JAPAN
|
|
#define OV01_02332ACC_OFFSET 0x222A
|
|
#else
|
|
#define OV01_02332ACC_OFFSET 0
|
|
#endif
|
|
_02332EDC: .word ov01_0233C184
|
|
_02332EE0: .word 0x00000207 + OV01_02332ACC_OFFSET
|
|
_02332EE4: .word 0x00000205 + OV01_02332ACC_OFFSET
|
|
_02332EE8: .word 0x0000020A + OV01_02332ACC_OFFSET
|
|
_02332EEC: .word MAIN_MENU_WINDOW_PARAMS_7
|
|
_02332EF0: .word MAIN_MENU_ITEMS_CONFIRM
|
|
arm_func_end ov01_02332ACC
|
|
|
|
arm_func_start ProcessContinueScreenContents
|
|
ProcessContinueScreenContents: ; 0x02332EF4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x94
|
|
sub sp, sp, #0x800
|
|
ldr r3, _0233361C ; =0x0000020B
|
|
mov r1, #8
|
|
mov r2, #0
|
|
mov r4, r0
|
|
bl sub_02026268
|
|
ldr r3, _02333620 ; =ov01_0233B7BC
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #0
|
|
bl DrawTextInWindow
|
|
ldr r3, _02333624 ; =0x0000020F
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #0x1c
|
|
bl sub_02026268
|
|
#ifdef JAPAN
|
|
ldr r3, _02334DCC ; =0x0000243A
|
|
#endif
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #0x36
|
|
#ifndef JAPAN
|
|
mov r3, #0x210
|
|
#endif
|
|
bl sub_02026268
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #0x43
|
|
#ifdef JAPAN
|
|
ldr r3, _02334DD0 ; =0x0000243B
|
|
#else
|
|
rsb r3, r2, #0x254
|
|
#endif
|
|
bl sub_02026268
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x61d]
|
|
cmp r0, #0
|
|
beq _02332FC8
|
|
ldr r0, _0233362C ; =_020B0A5C
|
|
ldr r1, [r0]
|
|
ldrsh r0, [r1, #4]
|
|
cmp r0, #0
|
|
beq _02332FA4
|
|
ldr r3, _02333630 ; =0x00000212
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #0x50
|
|
bl sub_02026268
|
|
b _02333000
|
|
_02332FA4:
|
|
ldrsh r0, [r1, #0x48]
|
|
cmp r0, #0
|
|
beq _02333000
|
|
ldr r3, _02333634 ; =0x00000213
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #0x50
|
|
bl sub_02026268
|
|
b _02333000
|
|
_02332FC8:
|
|
ldrb r0, [r1, #0x61e]
|
|
cmp r0, #0
|
|
ldrneb r0, [r1, #0x622]
|
|
cmpne r0, #0
|
|
beq _02333000
|
|
mov r0, #0
|
|
bl sub_0205BBA4
|
|
cmp r0, #0
|
|
beq _02333000
|
|
#ifndef JAPAN
|
|
ldr r3, _02333638 ; =0x00000216
|
|
#endif
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #0x50
|
|
#ifdef JAPAN
|
|
mov r3, #0x2440
|
|
#endif
|
|
bl sub_02026268
|
|
_02333000:
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
cmpne r0, #4
|
|
beq _02333110
|
|
#ifdef JAPAN
|
|
ldr r3, _02334DE4 ; =0x00002437
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #0xf
|
|
#else
|
|
mov r2, #0xf
|
|
mov r0, r4
|
|
rsb r3, r2, #0x21c
|
|
mov r1, #8
|
|
#endif
|
|
bl sub_02026268
|
|
add r0, sp, #0x400
|
|
ldr r1, _0233363C ; =0x000001F9
|
|
add r0, r0, #0x94
|
|
bl GetStringFromFileVeneer
|
|
mov r3, #0
|
|
add r2, sp, #0x400
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
str r3, [sp]
|
|
ldr r0, [r0]
|
|
add r2, r2, #0x94
|
|
add r0, r0, #0xc
|
|
mov r1, #0x100
|
|
bl PreprocessString
|
|
ldr r1, _02333628 ; =ov01_0233C184
|
|
mov r0, r4
|
|
ldr r2, [r1]
|
|
mov r1, #0x90
|
|
add r3, r2, #0xc
|
|
mov r2, #0xf
|
|
bl DrawTextInWindow
|
|
bl GetHero
|
|
movs r5, r0
|
|
add r0, sp, #0x400
|
|
add r0, r0, #0x94
|
|
bne _023330A4
|
|
ldr r1, _02333640 ; =0x000001FA
|
|
bl GetStringFromFileVeneer
|
|
#ifdef JAPAN
|
|
b _02334854
|
|
#else
|
|
mov r0, #0
|
|
strb r0, [sp, #0x21]
|
|
b _023330BC
|
|
#endif
|
|
_023330A4:
|
|
ldr r1, _02333644 ; =0x000001FB
|
|
bl GetStringFromFileVeneer
|
|
_02334854:
|
|
add r0, sp, #0x21
|
|
add r1, r5, #0x3a
|
|
mov r2, #0xa
|
|
bl StrncpySimpleNoPadSafe
|
|
_023330BC:
|
|
add r0, sp, #0x21
|
|
add r1, sp, #0x400
|
|
str r0, [sp, #0x47c]
|
|
add r1, r1, #0x44
|
|
str r1, [sp]
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
add r2, sp, #0x400
|
|
ldr r0, [r0]
|
|
add r2, r2, #0x94
|
|
add r0, r0, #0x10c
|
|
mov r1, #0x100
|
|
mov r3, #0
|
|
bl PreprocessString
|
|
ldr r1, _02333628 ; =ov01_0233C184
|
|
mov r0, r4
|
|
ldr r2, [r1]
|
|
mov r1, #0x50
|
|
add r3, r2, #0x10c
|
|
mov r2, #0xf
|
|
bl DrawTextInWindow
|
|
b _02333158
|
|
_02333110:
|
|
bl GetSpecialEpisodeType
|
|
#ifdef JAPAN
|
|
mov r1, #8
|
|
mov r5, r0
|
|
mov r0, r4
|
|
rsb r3, r1, #0x2440
|
|
#else
|
|
mov r5, r0
|
|
ldr r3, _02333648 ; =0x0000020E
|
|
mov r0, r4
|
|
mov r1, #8
|
|
#endif
|
|
mov r2, #0xf
|
|
bl sub_02026268
|
|
mvn r0, #0
|
|
cmp r5, r0
|
|
beq _02333158
|
|
#ifdef JAPAN
|
|
add r0, r5, #0x3b
|
|
#else
|
|
add r0, r5, #0x72
|
|
add r0, r0, #0x100
|
|
#endif
|
|
mov r1, r0, lsl #0x10
|
|
mov r0, r4
|
|
mov r3, r1, lsr #0x10
|
|
mov r1, #0x50
|
|
mov r2, #0xf
|
|
bl sub_02026268
|
|
_02333158:
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #4]
|
|
cmp r1, #0xa
|
|
bne _0233317C
|
|
ldr r1, _0233364C ; =0x000001FE
|
|
add r0, r2, #0x20c
|
|
bl GetStringFromFileVeneer
|
|
b _02333260
|
|
_0233317C:
|
|
ldrb r0, [r2, #0x621]
|
|
cmp r0, #0
|
|
beq _023331F8
|
|
cmp r1, #6
|
|
bne _023331A0
|
|
ldr r1, _02333650 ; =0x000001FD
|
|
add r0, r2, #0x20c
|
|
bl GetStringFromFileVeneer
|
|
b _02333260
|
|
_023331A0:
|
|
add r0, sp, #0x400
|
|
#ifdef JAPAN
|
|
ldr r1, _02334DFC ; =0x00002426
|
|
add r0, r0, #0x94
|
|
#else
|
|
add r0, r0, #0x94
|
|
mov r1, #0x1fc
|
|
#endif
|
|
bl GetStringFromFileVeneer
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
add r2, sp, #0x400
|
|
ldr r1, [r0]
|
|
add r5, sp, #0x3f4
|
|
ldr r0, [r1]
|
|
add r2, r2, #0x94
|
|
cmp r0, #1
|
|
cmpne r0, #4
|
|
movne r0, #0x40000
|
|
strne r0, [sp, #0x404]
|
|
moveq r0, #0x50000
|
|
streq r0, [sp, #0x404]
|
|
add r0, r1, #0x20c
|
|
mov r1, #0x100
|
|
mov r3, #0
|
|
str r5, [sp]
|
|
bl PreprocessString
|
|
b _02333260
|
|
_023331F8:
|
|
ldrb r0, [r2, #0x61c]
|
|
cmp r0, #0
|
|
ldreqb r0, [r2, #0x61d]
|
|
cmpeq r0, #0
|
|
ldreqb r0, [r2, #0x61e]
|
|
cmpeq r0, #0
|
|
beq _02333238
|
|
bl GetAdventureLogDungeonFloor
|
|
ldr r1, _02333628 ; =ov01_0233C184
|
|
ldrb r3, [r0]
|
|
ldr r1, [r1]
|
|
ldrb r2, [r0, #1]
|
|
add r0, r1, #0x20c
|
|
orr r1, r3, #0x10000
|
|
bl sub_020245D0
|
|
b _02333260
|
|
_02333238:
|
|
ldrb r0, [r2, #0x620]
|
|
cmp r0, #0
|
|
beq _02333254
|
|
ldr r1, _02333650 ; =0x000001FD
|
|
add r0, r2, #0x20c
|
|
bl GetStringFromFileVeneer
|
|
b _02333260
|
|
_02333254:
|
|
ldr r1, _0233364C ; =0x000001FE
|
|
add r0, r2, #0x20c
|
|
bl GetStringFromFileVeneer
|
|
_02333260:
|
|
ldr r1, _02333628 ; =ov01_0233C184
|
|
mov r0, r4
|
|
ldr r2, [r1]
|
|
mov r1, #0x50
|
|
add r3, r2, #0x20c
|
|
mov r2, #0x1c
|
|
bl DrawTextInWindow
|
|
bl sub_0204F9E0
|
|
str r0, [sp, #0x3c8]
|
|
add r1, sp, #0x3a4
|
|
str r1, [sp]
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
ldr r2, _02333654 ; =ov01_0233B7C4
|
|
ldr r0, [r0]
|
|
ldr r3, _02333658 ; =0x0000C402
|
|
add r0, r0, #0x30c
|
|
mov r1, #0x100
|
|
bl PreprocessString
|
|
ldr r1, _02333628 ; =ov01_0233C184
|
|
mov r0, r4
|
|
ldr r2, [r1]
|
|
mov r1, #0x50
|
|
add r3, r2, #0x30c
|
|
mov r2, #0x36
|
|
bl DrawTextInWindow
|
|
bl GetNbAdventures
|
|
cmp r0, #0
|
|
beq _02333334
|
|
bl GetNbAdventures
|
|
str r0, [sp, #0x378]
|
|
add r0, sp, #0x400
|
|
ldr r1, _0233365C ; =0x000001FF
|
|
add r0, r0, #0x94
|
|
bl GetStringFromFileVeneer
|
|
add r1, sp, #0x354
|
|
str r1, [sp]
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
add r2, sp, #0x400
|
|
ldr r0, [r0]
|
|
add r2, r2, #0x94
|
|
add r0, r0, #0xc
|
|
add r0, r0, #0x400
|
|
mov r1, #0x100
|
|
mov r3, #0
|
|
bl PreprocessString
|
|
ldr r1, _02333628 ; =ov01_0233C184
|
|
mov r0, r4
|
|
ldr r2, [r1]
|
|
mov r1, #0x50
|
|
add r2, r2, #0xc
|
|
add r3, r2, #0x400
|
|
mov r2, #0x43
|
|
bl DrawTextInWindow
|
|
_02333334:
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
strb r1, [r2, #0x50c]
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, #0x61d]
|
|
cmp r0, #0
|
|
beq _02333464
|
|
mov r0, #7
|
|
bl GetSosMailCount
|
|
cmp r0, #0
|
|
beq _02333534
|
|
ldr r0, _0233362C ; =_020B0A5C
|
|
ldr r5, [r0]
|
|
ldrsh r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _023333E4
|
|
ldrsh r1, [r5, #4]
|
|
add r0, sp, #0x204
|
|
bl GetSpeciesString
|
|
add r0, sp, #0xc
|
|
add r1, r5, #0x3a
|
|
mov r2, #0xa
|
|
bl StrncpySimpleNoPadSafe
|
|
add r0, sp, #0x400
|
|
add r3, sp, #0x204
|
|
add r2, sp, #0xc
|
|
#ifdef JAPAN
|
|
ldr r1, _02334E0C ; =0x0000243E
|
|
add r0, r0, #0x94
|
|
#else
|
|
add r0, r0, #0x94
|
|
mov r1, #0x214
|
|
#endif
|
|
str r3, [sp, #0x33c]
|
|
str r2, [sp, #0x340]
|
|
bl GetStringFromFileVeneer
|
|
add r1, sp, #0x304
|
|
str r1, [sp]
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
add r2, sp, #0x400
|
|
ldr r0, [r0]
|
|
mov r1, #0x100
|
|
add r0, r0, #0x10c
|
|
add r0, r0, #0x400
|
|
add r2, r2, #0x94
|
|
mov r3, #0
|
|
bl PreprocessString
|
|
b _02333534
|
|
_023333E4:
|
|
ldrsh r0, [r5, #0x48]
|
|
cmp r0, #0
|
|
beq _02333534
|
|
add r0, sp, #0x1b4
|
|
bl InitPreprocessorArgs
|
|
mov r1, #0
|
|
ldr r0, _0233362C ; =_020B0A5C
|
|
str r1, [sp]
|
|
ldr r1, [r0]
|
|
ldr r2, _02333660 ; =ov01_0233B700
|
|
add r0, sp, #0xb4
|
|
add r1, r1, #0x44
|
|
mov r3, #1
|
|
bl sub_0200D310
|
|
add r0, sp, #0x400
|
|
add r2, sp, #0xb4
|
|
ldr r1, _02333664 ; =0x00000215
|
|
add r0, r0, #0x94
|
|
str r2, [sp, #0x1ec]
|
|
bl GetStringFromFileVeneer
|
|
add r1, sp, #0x1b4
|
|
str r1, [sp]
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
add r2, sp, #0x400
|
|
ldr r0, [r0]
|
|
mov r1, #0x100
|
|
add r0, r0, #0x10c
|
|
add r0, r0, #0x400
|
|
add r2, r2, #0x94
|
|
mov r3, #0
|
|
bl PreprocessString
|
|
b _02333534
|
|
_02333464:
|
|
ldrb r0, [r2, #0x61e]
|
|
cmp r0, #0
|
|
ldrneb r0, [r2, #0x622]
|
|
cmpne r0, #0
|
|
beq _02333534
|
|
add r0, sp, #4
|
|
bl sub_0205BBA4
|
|
cmp r0, #0
|
|
beq _02333534
|
|
add r0, sp, #0x64
|
|
bl InitPreprocessorArgs
|
|
ldr r6, [sp, #4]
|
|
ldr r5, [sp, #8]
|
|
ldr r2, _02333668 ; =0x00002710
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r3, #0
|
|
bl _ull_mod
|
|
str r0, [sp, #0x90]
|
|
ldr r2, _02333668 ; =0x00002710
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r3, #0
|
|
bl _ll_udiv
|
|
ldr r2, _02333668 ; =0x00002710
|
|
mov r3, #0
|
|
bl _ull_mod
|
|
str r0, [sp, #0x8c]
|
|
ldr r2, _0233366C ; =0x05F5E100
|
|
mov r1, r5
|
|
mov r0, r6
|
|
mov r3, #0
|
|
bl _ll_udiv
|
|
ldr r2, _02333668 ; =0x00002710
|
|
mov r3, #0
|
|
bl _ull_mod
|
|
str r0, [sp, #0x88]
|
|
add r0, sp, #0x400
|
|
ldr r1, _02333670 ; =0x00000217
|
|
add r0, r0, #0x94
|
|
bl GetStringFromFileVeneer
|
|
add r1, sp, #0x64
|
|
str r1, [sp]
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
add r2, sp, #0x400
|
|
ldr r0, [r0]
|
|
mov r1, #0x100
|
|
add r0, r0, #0x10c
|
|
add r0, r0, #0x400
|
|
add r2, r2, #0x94
|
|
mov r3, #0
|
|
bl PreprocessString
|
|
_02333534:
|
|
ldr r0, _02333628 ; =ov01_0233C184
|
|
mov r1, #0x50
|
|
ldr r2, [r0]
|
|
mov r0, r4
|
|
add r3, r2, #0x10c
|
|
mov r2, r1
|
|
add r3, r3, #0x400
|
|
bl DrawTextInWindow
|
|
ldr sb, _02333628 ; =ov01_0233C184
|
|
mov r8, #3
|
|
ldr r0, [sb]
|
|
mov r7, #0
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
cmpne r0, #4
|
|
beq _023335C4
|
|
ldr r6, _02333674 ; =ov01_0233B764
|
|
mov r5, #0xe
|
|
mvn r4, #1
|
|
_02333580:
|
|
ldr r0, [r6, r7, lsl #2]
|
|
bl GetResolvedPerformanceProgressFlag
|
|
cmp r0, #0
|
|
beq _023335B4
|
|
mov r0, r7
|
|
mov r1, r8
|
|
mov r2, r5
|
|
mov r3, r4
|
|
bl PrintClearMark
|
|
ldr r1, [sb]
|
|
add r8, r8, #2
|
|
add r1, r1, r7
|
|
strb r0, [r1, #0x60f]
|
|
_023335B4:
|
|
add r7, r7, #1
|
|
cmp r7, #0xd
|
|
blt _02333580
|
|
b _02333610
|
|
_023335C4:
|
|
ldr r4, _02333628 ; =ov01_0233C184
|
|
mov r6, #0xe
|
|
mvn r5, #1
|
|
_023335D0:
|
|
mov r0, r7
|
|
bl IsSpecialEpisodeBeaten
|
|
cmp r0, #0
|
|
beq _02333604
|
|
mov r0, r7
|
|
mov r1, r8
|
|
mov r2, r6
|
|
mov r3, r5
|
|
bl sub_0202A40C
|
|
ldr r1, [r4]
|
|
add r8, r8, #2
|
|
add r1, r1, r7
|
|
strb r0, [r1, #0x60f]
|
|
_02333604:
|
|
add r7, r7, #1
|
|
cmp r7, #5
|
|
blt _023335D0
|
|
_02333610:
|
|
add sp, sp, #0x94
|
|
add sp, sp, #0x800
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
#ifdef JAPAN
|
|
#define PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET 0x222A
|
|
#else
|
|
#define PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET 0
|
|
#endif
|
|
_0233361C: .word 0x0000020B + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
_02333620: .word ov01_0233B7BC
|
|
_02333624: .word 0x0000020F + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
#ifdef JAPAN
|
|
_02334DCC: .word 0x0000243A
|
|
_02334DD0: .word 0x0000243B
|
|
#endif
|
|
_02333628: .word ov01_0233C184
|
|
_0233362C: .word _020B0A5C
|
|
_02333630: .word 0x00000212 + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
_02333634: .word 0x00000213 + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
#ifdef JAPAN
|
|
_02334DE4: .word 0x00002437
|
|
#else
|
|
_02333638: .word 0x00000216
|
|
#endif
|
|
_0233363C: .word 0x000001F9 + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
_02333640: .word 0x000001FA + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
_02333644: .word 0x000001FB + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
#ifndef JAPAN
|
|
_02333648: .word 0x0000020E
|
|
#endif
|
|
_0233364C: .word 0x000001FE + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
_02333650: .word 0x000001FD + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
#ifdef JAPAN
|
|
_02334DFC: .word 0x00002426
|
|
#endif
|
|
_02333654: .word ov01_0233B7C4
|
|
_02333658: .word 0x0000C402
|
|
_0233365C: .word 0x000001FF + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
#ifdef JAPAN
|
|
_02334E0C: .word 0x0000243E
|
|
#endif
|
|
_02333660: .word ov01_0233B700
|
|
_02333664: .word 0x00000215 + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
_02333668: .word 0x00002710
|
|
_0233366C: .word 0x05F5E100
|
|
_02333670: .word 0x00000217 + PROCESS_CONTINUE_SCREEN_CONTENTS_OFFSET
|
|
_02333674: .word ov01_0233B764
|
|
arm_func_end ProcessContinueScreenContents
|
|
|
|
arm_func_start ov01_02333678
|
|
ov01_02333678: ; 0x02333678
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02333698 ; =ov01_0233B7E0
|
|
bl InitMenu
|
|
cmp r0, #0
|
|
ldrne r0, _0233369C ; =ov01_0233C188
|
|
movne r1, #0
|
|
strneb r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333698: .word ov01_0233B7E0
|
|
_0233369C: .word ov01_0233C188
|
|
arm_func_end ov01_02333678
|
|
|
|
arm_func_start ov01_023336A0
|
|
ov01_023336A0: ; 0x023336A0
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0xa0
|
|
mov r0, #0x24c
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r1, _02333754 ; =ov01_0233C188
|
|
str r0, [r1, #4]
|
|
bl ComputeSpecialCounters
|
|
mov r3, #0
|
|
ldr r0, _02333754 ; =ov01_0233C188
|
|
mov r2, r3
|
|
_023336CC:
|
|
ldr r1, [r0, #4]
|
|
add r1, r1, r3, lsl #2
|
|
add r3, r3, #1
|
|
str r2, [r1, #0x12c]
|
|
cmp r3, #0x48
|
|
blt _023336CC
|
|
ldr r0, _02333754 ; =ov01_0233C188
|
|
ldr r2, _02333758 ; =0x00003FE9
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0x10
|
|
add r0, r0, #0xdc
|
|
strh r2, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
bl InitPreprocessorArgs
|
|
ldr r0, _02333754 ; =ov01_0233C188
|
|
mov r2, #0
|
|
ldr r1, [r0, #4]
|
|
mov ip, #0x48
|
|
str r2, [r1, #4]
|
|
strb r2, [r0]
|
|
str ip, [sp]
|
|
mov ip, #8
|
|
ldr r0, _0233375C ; =MAIN_MENU_WINDOW_PARAMS_8
|
|
ldr r1, _02333760 ; =0x05001812
|
|
ldr r3, _02333764 ; =ov01_0233382C
|
|
add r2, sp, #8
|
|
str ip, [sp, #4]
|
|
bl CreateAdvancedMenu
|
|
ldr r1, _02333754 ; =ov01_0233C188
|
|
ldr r1, [r1, #4]
|
|
strb r0, [r1]
|
|
mov r0, #1
|
|
add sp, sp, #0xa0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333754: .word ov01_0233C188
|
|
#if defined(EUROPE)
|
|
_02333758: .word 0x00003FEB
|
|
#elif defined(JAPAN)
|
|
_02333758: .word 0x000049EC
|
|
#else
|
|
_02333758: .word 0x00003FE9
|
|
#endif
|
|
_0233375C: .word MAIN_MENU_WINDOW_PARAMS_8
|
|
_02333760: .word 0x05001812
|
|
_02333764: .word ov01_0233382C
|
|
arm_func_end ov01_023336A0
|
|
|
|
arm_func_start ov01_02333768
|
|
ov01_02333768: ; 0x02333768
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02333790 ; =ov01_0233C188
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _02333790 ; =ov01_0233C188
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333790: .word ov01_0233C188
|
|
arm_func_end ov01_02333768
|
|
|
|
arm_func_start ov01_02333794
|
|
ov01_02333794: ; 0x02333794
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02333828 ; =ov01_0233C188
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0
|
|
beq _023337C0
|
|
cmp r0, #1
|
|
beq _02333820
|
|
cmp r0, #2
|
|
beq _023337F8
|
|
b _02333820
|
|
_023337C0:
|
|
ldrsb r0, [r1]
|
|
bl IsAdvancedMenuActive2
|
|
cmp r0, #0
|
|
bne _02333820
|
|
ldr r0, _02333828 ; =ov01_0233C188
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl GetAdvancedMenuResult
|
|
ldr r1, _02333828 ; =ov01_0233C188
|
|
mov r2, #2
|
|
strb r0, [r1]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #4]
|
|
b _02333820
|
|
_023337F8:
|
|
ldrsb r0, [r1]
|
|
bl CloseAdvancedMenu
|
|
ldr r0, _02333828 ; =ov01_0233C188
|
|
mov r2, #3
|
|
ldr r1, [r0, #4]
|
|
mov r0, #2
|
|
str r2, [r1, #4]
|
|
bl ov01_023310B8
|
|
mov r0, #4
|
|
ldmia sp!, {r3, pc}
|
|
_02333820:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333828: .word ov01_0233C188
|
|
arm_func_end ov01_02333794
|
|
|
|
arm_func_start ov01_0233382C
|
|
ov01_0233382C: ; 0x0233382C
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x54
|
|
mov r4, r1
|
|
mov r5, r0
|
|
mov r1, #0
|
|
and r0, r4, #0xff
|
|
str r1, [sp, #0x28]
|
|
bl GetAdventureLogCompleted
|
|
cmp r0, #0
|
|
#if defined(EUROPE)
|
|
addne r0, r4, #0xed
|
|
addne r0, r0, #0x3f00
|
|
#elif defined(JAPAN)
|
|
addne r0, r4, #0xee
|
|
addne r0, r0, #0x4900
|
|
#else
|
|
addne r0, r4, #0xeb
|
|
addne r0, r0, #0x3f00
|
|
#endif
|
|
movne r0, r0, lsl #0x10
|
|
movne r6, r0, lsr #0x10
|
|
ldreq r6, _02333964 ; =0x00003FEA
|
|
cmp r4, #0xc
|
|
addls pc, pc, r4, lsl #2
|
|
b _0233393C
|
|
_02333870: ; jump table
|
|
b _023338A4 ; case 0
|
|
b _023338B0 ; case 1
|
|
b _023338BC ; case 2
|
|
b _023338C8 ; case 3
|
|
b _023338D4 ; case 4
|
|
b _023338E0 ; case 5
|
|
b _023338EC ; case 6
|
|
b _023338F8 ; case 7
|
|
b _02333904 ; case 8
|
|
b _02333910 ; case 9
|
|
b _0233391C ; case 10
|
|
b _02333928 ; case 11
|
|
b _02333934 ; case 12
|
|
_023338A4:
|
|
bl GetNbPokemonJoined
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_023338B0:
|
|
bl GetNbPokemonBattled
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_023338BC:
|
|
bl GetNbMovesLearned
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_023338C8:
|
|
bl GetNbItemAcquired
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_023338D4:
|
|
bl GetNbDungeonsCleared
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_023338E0:
|
|
bl GetNbFainted
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_023338EC:
|
|
bl GetNbFriendRescues
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_023338F8:
|
|
bl GetNbEvolutions
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_02333904:
|
|
bl GetNbEggsHatched
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_02333910:
|
|
bl GetVictoriesOnOneFloor
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_0233391C:
|
|
bl GetNbBigTreasureWins
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_02333928:
|
|
bl GetNbRecycled
|
|
str r0, [sp, #0x28]
|
|
b _0233393C
|
|
_02333934:
|
|
bl GetNbSkyGiftsSent
|
|
str r0, [sp, #0x28]
|
|
_0233393C:
|
|
ldr r3, _02333968 ; =0x0000C402
|
|
add r4, sp, #4
|
|
mov r0, r5
|
|
mov r2, r6
|
|
mov r1, #0x400
|
|
str r4, [sp]
|
|
bl PreprocessStringFromId
|
|
mov r0, r5
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
#if defined(EUROPE)
|
|
_02333964: .word 0x00003FEC
|
|
#elif defined(JAPAN)
|
|
_02333964: .word 0x000049ED
|
|
#else
|
|
_02333964: .word 0x00003FEA
|
|
#endif
|
|
_02333968: .word 0x0000C402
|
|
arm_func_end ov01_0233382C
|
|
|
|
arm_func_start ov01_0233396C
|
|
ov01_0233396C: ; 0x0233396C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233398C ; =ov01_0233B800
|
|
bl InitMenu
|
|
cmp r0, #0
|
|
ldrne r0, _02333990 ; =ov01_0233C190
|
|
movne r1, #0
|
|
strne r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233398C: .word ov01_0233B800
|
|
_02333990: .word ov01_0233C190
|
|
arm_func_end ov01_0233396C
|
|
|
|
arm_func_start ov01_02333994
|
|
ov01_02333994: ; 0x02333994
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #8
|
|
mov r1, r0
|
|
bl MemAlloc
|
|
ldr r1, _023339EC ; =ov01_0233C190
|
|
ldr r3, _023339F0 ; =MAIN_DEBUG_MENU_ITEMS_1
|
|
str r0, [r1, #4]
|
|
mov ip, #0xb
|
|
ldr r0, _023339F4 ; =MAIN_MENU_WINDOW_PARAMS_9
|
|
mov r1, #0x13
|
|
mov r2, #0
|
|
str ip, [sp]
|
|
bl CreateSimpleMenuFromStringIds
|
|
ldr r1, _023339EC ; =ov01_0233C190
|
|
mov r3, #0
|
|
ldr r2, [r1, #4]
|
|
strb r0, [r2]
|
|
ldr r2, [r1, #4]
|
|
mov r0, #1
|
|
str r3, [r2, #4]
|
|
str r3, [r1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023339EC: .word ov01_0233C190
|
|
_023339F0: .word MAIN_DEBUG_MENU_ITEMS_1
|
|
_023339F4: .word MAIN_MENU_WINDOW_PARAMS_9
|
|
arm_func_end ov01_02333994
|
|
|
|
arm_func_start ov01_023339F8
|
|
ov01_023339F8: ; 0x023339F8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02333A30 ; =ov01_0233C190
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldrsb r0, [r0]
|
|
bl CloseSimpleMenu
|
|
ldr r0, _02333A30 ; =ov01_0233C190
|
|
ldr r0, [r0, #4]
|
|
bl MemFree
|
|
ldr r0, _02333A30 ; =ov01_0233C190
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333A30: .word ov01_0233C190
|
|
arm_func_end ov01_023339F8
|
|
|
|
arm_func_start ov01_02333A34
|
|
ov01_02333A34: ; 0x02333A34
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x98
|
|
ldr r0, _02333BC8 ; =ov01_0233C190
|
|
ldr r2, [r0, #4]
|
|
ldr r1, [r2, #4]
|
|
cmp r1, #0
|
|
beq _02333A64
|
|
cmp r1, #1
|
|
beq _02333A84
|
|
cmp r1, #2
|
|
beq _02333ABC
|
|
b _02333BBC
|
|
_02333A64:
|
|
ldrsb r0, [r2]
|
|
bl CheckSimpleMenuField0x1A0
|
|
cmp r0, #0
|
|
ldreq r0, _02333BC8 ; =ov01_0233C190
|
|
moveq r1, #1
|
|
ldreq r0, [r0, #4]
|
|
streq r1, [r0, #4]
|
|
b _02333BBC
|
|
_02333A84:
|
|
ldrsb r0, [r2]
|
|
bl IsSimpleMenuActive
|
|
cmp r0, #0
|
|
bne _02333BBC
|
|
ldr r0, _02333BC8 ; =ov01_0233C190
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl GetSimpleMenuResult__0202B870
|
|
ldr r1, _02333BC8 ; =ov01_0233C190
|
|
mov r2, #2
|
|
str r0, [r1]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #4]
|
|
b _02333BBC
|
|
_02333ABC:
|
|
ldr r1, _02333BCC ; =ov01_02333BD0
|
|
mov r4, #0
|
|
str r1, [sp, #0x84]
|
|
str r4, [sp, #0x88]
|
|
mov r1, #3
|
|
str r1, [r2, #4]
|
|
ldr r0, [r0]
|
|
cmp r0, #0xd
|
|
addls pc, pc, r0, lsl #2
|
|
b _02333BA4
|
|
_02333AE4: ; jump table
|
|
b _02333BA4 ; case 0
|
|
b _02333B1C ; case 1
|
|
b _02333B2C ; case 2
|
|
b _02333B34 ; case 3
|
|
b _02333B3C ; case 4
|
|
b _02333B44 ; case 5
|
|
b _02333B4C ; case 6
|
|
b _02333B54 ; case 7
|
|
b _02333B5C ; case 8
|
|
b _02333B68 ; case 9
|
|
b _02333B70 ; case 10
|
|
b _02333B78 ; case 11
|
|
b _02333B8C ; case 12
|
|
b _02333BA0 ; case 13
|
|
_02333B1C:
|
|
mov r0, #0x16
|
|
bl ov01_023310B8
|
|
mov r0, #4
|
|
b _02333BC0
|
|
_02333B2C:
|
|
mov r4, #0xf
|
|
b _02333BA4
|
|
_02333B34:
|
|
mov r4, #0xe
|
|
b _02333BA4
|
|
_02333B3C:
|
|
mov r4, #0x11
|
|
b _02333BA4
|
|
_02333B44:
|
|
mov r4, #0x10
|
|
b _02333BA4
|
|
_02333B4C:
|
|
mov r4, #0x12
|
|
b _02333BA4
|
|
_02333B54:
|
|
mov r4, #0x13
|
|
b _02333BA4
|
|
_02333B5C:
|
|
bl ov01_02333BF8
|
|
mov r0, #4
|
|
b _02333BC0
|
|
_02333B68:
|
|
mov r4, r1
|
|
b _02333BA4
|
|
_02333B70:
|
|
bl ov00_022BE0B4
|
|
b _02333BA4
|
|
_02333B78:
|
|
add r1, sp, #0
|
|
mov r0, #0x100
|
|
bl sub_02036324
|
|
mov r0, #4
|
|
b _02333BC0
|
|
_02333B8C:
|
|
add r1, sp, #0
|
|
mov r0, #0x100
|
|
bl sub_0203656C
|
|
mov r0, #4
|
|
b _02333BC0
|
|
_02333BA0:
|
|
mov r4, #0x14
|
|
_02333BA4:
|
|
cmp r4, #0
|
|
beq _02333BB4
|
|
mov r0, r4
|
|
bl ov00_022BE4A8
|
|
_02333BB4:
|
|
mov r0, #4
|
|
b _02333BC0
|
|
_02333BBC:
|
|
mov r0, #1
|
|
_02333BC0:
|
|
add sp, sp, #0x98
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02333BC8: .word ov01_0233C190
|
|
_02333BCC: .word ov01_02333BD0
|
|
arm_func_end ov01_02333A34
|
|
|
|
arm_func_start ov01_02333BD0
|
|
ov01_02333BD0: ; 0x02333BD0
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02333BF0 ; =ov01_0233B800
|
|
bl InitMenu
|
|
cmp r0, #0
|
|
ldrne r0, _02333BF4 ; =ov01_0233C190
|
|
movne r1, #0
|
|
strne r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333BF0: .word ov01_0233B800
|
|
_02333BF4: .word ov01_0233C190
|
|
arm_func_end ov01_02333BD0
|
|
|
|
arm_func_start ov01_02333BF8
|
|
ov01_02333BF8: ; 0x02333BF8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02333C18 ; =ov01_0233B880
|
|
bl InitMenu
|
|
cmp r0, #0
|
|
ldrne r0, _02333C1C ; =ov01_0233C198
|
|
movne r1, #0
|
|
strne r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333C18: .word ov01_0233B880
|
|
_02333C1C: .word ov01_0233C198
|
|
arm_func_end ov01_02333BF8
|
|
|
|
arm_func_start ov01_02333C20
|
|
ov01_02333C20: ; 0x02333C20
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #8
|
|
mov r1, r0
|
|
bl MemAlloc
|
|
ldr r1, _02333C70 ; =ov01_0233C198
|
|
ldr r3, _02333C74 ; =MAIN_DEBUG_MENU_ITEMS_2
|
|
str r0, [r1, #4]
|
|
ldr r0, _02333C78 ; =MAIN_MENU_WINDOW_PARAMS_10
|
|
mov r1, #0x13
|
|
mov r2, #0
|
|
bl CreateParentMenuFromStringIds
|
|
ldr r1, _02333C70 ; =ov01_0233C198
|
|
mov r3, #0
|
|
ldr r2, [r1, #4]
|
|
strb r0, [r2]
|
|
ldr r2, [r1, #4]
|
|
mov r0, #1
|
|
str r3, [r2, #4]
|
|
str r3, [r1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333C70: .word ov01_0233C198
|
|
_02333C74: .word MAIN_DEBUG_MENU_ITEMS_2
|
|
_02333C78: .word MAIN_MENU_WINDOW_PARAMS_10
|
|
arm_func_end ov01_02333C20
|
|
|
|
arm_func_start ov01_02333C7C
|
|
ov01_02333C7C: ; 0x02333C7C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02333CB4 ; =ov01_0233C198
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldrsb r0, [r0]
|
|
bl CloseParentMenu
|
|
ldr r0, _02333CB4 ; =ov01_0233C198
|
|
ldr r0, [r0, #4]
|
|
bl MemFree
|
|
ldr r0, _02333CB4 ; =ov01_0233C198
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333CB4: .word ov01_0233C198
|
|
arm_func_end ov01_02333C7C
|
|
|
|
arm_func_start ov01_02333CB8
|
|
ov01_02333CB8: ; 0x02333CB8
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x98
|
|
ldr r1, _02333E48 ; =ov01_0233C198
|
|
ldr r3, [r1, #4]
|
|
ldr r0, [r3, #4]
|
|
cmp r0, #0
|
|
beq _02333CE8
|
|
cmp r0, #1
|
|
beq _02333D08
|
|
cmp r0, #2
|
|
beq _02333D40
|
|
b _02333E3C
|
|
_02333CE8:
|
|
ldrsb r0, [r3]
|
|
bl CheckParentMenuField0x1A0
|
|
cmp r0, #0
|
|
ldreq r0, _02333E48 ; =ov01_0233C198
|
|
moveq r1, #1
|
|
ldreq r0, [r0, #4]
|
|
streq r1, [r0, #4]
|
|
b _02333E3C
|
|
_02333D08:
|
|
ldrsb r0, [r3]
|
|
bl IsParentMenuActive
|
|
cmp r0, #0
|
|
bne _02333E3C
|
|
ldr r0, _02333E48 ; =ov01_0233C198
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl GetSimpleMenuResult__0202AEA4
|
|
ldr r1, _02333E48 ; =ov01_0233C198
|
|
mov r2, #2
|
|
str r0, [r1]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #4]
|
|
b _02333E3C
|
|
_02333D40:
|
|
mov r0, #3
|
|
str r0, [r3, #4]
|
|
ldr r2, _02333E4C ; =ov01_02333E50
|
|
mov r0, #0
|
|
str r2, [sp, #0x84]
|
|
str r0, [sp, #0x88]
|
|
ldr r1, [r1]
|
|
cmp r1, #7
|
|
addls pc, pc, r1, lsl #2
|
|
b _02333E24
|
|
_02333D68: ; jump table
|
|
b _02333E24 ; case 0
|
|
b _02333D94 ; case 1
|
|
b _02333D9C ; case 2
|
|
b _02333DA4 ; case 3
|
|
b _02333E24 ; case 4
|
|
b _02333DF8 ; case 5
|
|
b _02333E0C ; case 6
|
|
b _02333D88 ; case 7
|
|
_02333D88:
|
|
bl ov01_023310B8
|
|
mov r0, #4
|
|
b _02333E40
|
|
_02333D94:
|
|
bl sub_02048454
|
|
b _02333E24
|
|
_02333D9C:
|
|
bl sub_020484C0
|
|
b _02333E24
|
|
_02333DA4:
|
|
bl sub_020485EC
|
|
mov r0, #3
|
|
mov r1, #0x1c
|
|
mov r2, #0
|
|
bl SetScenarioProgressScriptVar
|
|
mov r0, #2
|
|
mov r1, #6
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl sub_0205B5A8
|
|
mov r0, #2
|
|
mov r1, #6
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl sub_0205B5A8
|
|
mov r0, #2
|
|
mov r1, #6
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl sub_0205B5A8
|
|
b _02333E24
|
|
_02333DF8:
|
|
add r2, sp, #0
|
|
mov r1, #0x100
|
|
bl sub_02049D4C
|
|
mov r0, #4
|
|
b _02333E40
|
|
_02333E0C:
|
|
add r2, sp, #0
|
|
mov r0, #1
|
|
mov r1, #0x100
|
|
bl sub_02049D4C
|
|
mov r0, #4
|
|
b _02333E40
|
|
_02333E24:
|
|
add r2, sp, #0
|
|
mov r0, #3
|
|
mov r1, #0x100
|
|
bl sub_0204964C
|
|
mov r0, #4
|
|
b _02333E40
|
|
_02333E3C:
|
|
mov r0, #1
|
|
_02333E40:
|
|
add sp, sp, #0x98
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02333E48: .word ov01_0233C198
|
|
_02333E4C: .word ov01_02333E50
|
|
arm_func_end ov01_02333CB8
|
|
|
|
arm_func_start ov01_02333E50
|
|
ov01_02333E50: ; 0x02333E50
|
|
ldr ip, _02333E5C ; =sub_02002448
|
|
mov r0, #1
|
|
bx ip
|
|
.align 2, 0
|
|
_02333E5C: .word sub_02002448
|
|
arm_func_end ov01_02333E50
|
|
|
|
arm_func_start ov01_02333E60
|
|
ov01_02333E60: ; 0x02333E60
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x64
|
|
mov r4, r0
|
|
ldr r0, _02334600 ; =0x00000998
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r1, _02334604 ; =ov01_0233C1A0
|
|
mov r2, #0
|
|
str r0, [r1, #4]
|
|
str r4, [r0, #0x1b4]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #0x1b8]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #8]
|
|
ldr r1, [r1, #4]
|
|
str r2, [r1, #0xc]
|
|
add r0, r1, #0x1ac
|
|
str r2, [r1, #0x10]
|
|
bl sub_020547C8
|
|
ldr r0, _02334604 ; =ov01_0233C1A0
|
|
mov r1, #0
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x1ac
|
|
bl sub_02054824
|
|
ldr r0, _02334604 ; =ov01_0233C1A0
|
|
mov r8, #0
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x900
|
|
strh r8, [r0, #0x8c]
|
|
b _023344E4
|
|
_02333ED8:
|
|
ldr r0, _02334608 ; =BAG_ITEMS_PTR_MIRROR
|
|
ldr r1, [r0]
|
|
add r0, r1, r8, lsl #1
|
|
add r0, r0, #0x300
|
|
ldrsh r0, [r0, #0x8a]
|
|
cmp r0, #0
|
|
beq _023344EC
|
|
cmp r0, #0xbb
|
|
mov r4, #1
|
|
bgt _02333F0C
|
|
cmp r0, #0xbb
|
|
beq _02333F8C
|
|
b _02333F90
|
|
_02333F0C:
|
|
sub r0, r0, #0x190
|
|
cmp r0, #0x1b
|
|
addls pc, pc, r0, lsl #2
|
|
b _02333F90
|
|
_02333F1C: ; jump table
|
|
b _02333F8C ; case 0
|
|
b _02333F8C ; case 1
|
|
b _02333F8C ; case 2
|
|
b _02333F8C ; case 3
|
|
b _02333F8C ; case 4
|
|
b _02333F8C ; case 5
|
|
b _02333F8C ; case 6
|
|
b _02333F8C ; case 7
|
|
b _02333F8C ; case 8
|
|
b _02333F8C ; case 9
|
|
b _02333F8C ; case 10
|
|
b _02333F8C ; case 11
|
|
b _02333F8C ; case 12
|
|
b _02333F8C ; case 13
|
|
b _02333F8C ; case 14
|
|
b _02333F8C ; case 15
|
|
b _02333F8C ; case 16
|
|
b _02333F8C ; case 17
|
|
b _02333F8C ; case 18
|
|
b _02333F8C ; case 19
|
|
b _02333F8C ; case 20
|
|
b _02333F8C ; case 21
|
|
b _02333F8C ; case 22
|
|
b _02333F8C ; case 23
|
|
b _02333F8C ; case 24
|
|
b _02333F8C ; case 25
|
|
b _02333F8C ; case 26
|
|
b _02333F8C ; case 27
|
|
_02333F8C:
|
|
mov r4, #0
|
|
_02333F90:
|
|
add r0, r1, r8, lsl #1
|
|
add r0, r0, #0x300
|
|
ldrsh r0, [r0, #0x8a]
|
|
bl IsItemInTimeDarkness
|
|
cmp r0, #0
|
|
moveq r4, #0
|
|
cmp r4, #0
|
|
beq _023344D8
|
|
ldr r2, _02334604 ; =ov01_0233C1A0
|
|
ldr r1, [r2, #4]
|
|
add r0, r1, #0x900
|
|
ldrsh r0, [r0, #0x8c]
|
|
cmp r0, #0
|
|
bne _02333FFC
|
|
ldr r0, _02334608 ; =BAG_ITEMS_PTR_MIRROR
|
|
add r1, r1, #0x100
|
|
ldr r0, [r0]
|
|
add r0, r0, r8, lsl #1
|
|
add r0, r0, #0x300
|
|
ldrsh r0, [r0, #0x8a]
|
|
strh r0, [r1, #0xbc]
|
|
ldr r0, [r2, #4]
|
|
add r0, r0, #0x900
|
|
ldrsh r1, [r0, #0x8c]
|
|
add r1, r1, #1
|
|
strh r1, [r0, #0x8c]
|
|
b _023344D8
|
|
_02333FFC:
|
|
ldr r0, _02334608 ; =BAG_ITEMS_PTR_MIRROR
|
|
ldr r0, [r0]
|
|
add r0, r0, r8, lsl #1
|
|
add r0, r0, #0x300
|
|
ldrsh r0, [r0, #0x8a]
|
|
bl sub_0200EB64
|
|
mov r0, r0, lsl #0x10
|
|
mov r7, r0, asr #0x10
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
mov sb, #1
|
|
sub r4, r0, #1
|
|
add fp, r0, #3
|
|
add sl, r0, #1
|
|
add r0, r0, #5
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
mov r6, #0
|
|
add r0, r0, #4
|
|
str r0, [sp, #8]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
ldr r5, _02334604 ; =ov01_0233C1A0
|
|
add r0, r0, #9
|
|
str r0, [sp, #0x18]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #8
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #7
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0xc
|
|
str r0, [sp, #0x20]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0xb
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0xf
|
|
str r0, [sp, #0x28]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0xd
|
|
str r0, [sp, #0x24]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x11
|
|
str r0, [sp, #0x30]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x10
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x15
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x14
|
|
str r0, [sp, #0x38]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x13
|
|
str r0, [sp, #0x34]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x18
|
|
str r0, [sp, #0x44]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x17
|
|
str r0, [sp, #0x40]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x1b
|
|
str r0, [sp, #0x4c]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x19
|
|
str r0, [sp, #0x48]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x1d
|
|
str r0, [sp, #0x54]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x1c
|
|
str r0, [sp, #0x50]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x21
|
|
str r0, [sp, #0x60]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x20
|
|
str r0, [sp, #0x5c]
|
|
ldr r0, _0233460C ; =0x0000016E
|
|
add r0, r0, #0x1f
|
|
str r0, [sp, #0x58]
|
|
b _02334444
|
|
_0233414C:
|
|
add r0, r1, r6, lsl #1
|
|
add r0, r0, #0x100
|
|
ldrsh r0, [r0, #0xbc]
|
|
bl sub_0200EB64
|
|
ldr r1, _02334608 ; =BAG_ITEMS_PTR_MIRROR
|
|
mov r0, r0, lsl #0x10
|
|
ldr r1, [r1]
|
|
add r1, r1, r8, lsl #1
|
|
add r1, r1, #0x300
|
|
ldrsh r1, [r1, #0x8a]
|
|
sub r1, r1, #0x16c
|
|
cmp r1, #0x23
|
|
addls pc, pc, r1, lsl #2
|
|
b _02334420
|
|
_02334184: ; jump table
|
|
b _02334214 ; case 0
|
|
b _02334214 ; case 1
|
|
b _02334214 ; case 2
|
|
b _0233423C ; case 3
|
|
b _0233423C ; case 4
|
|
b _0233423C ; case 5
|
|
b _02334260 ; case 6
|
|
b _02334260 ; case 7
|
|
b _02334260 ; case 8
|
|
b _0233428C ; case 9
|
|
b _0233428C ; case 10
|
|
b _0233428C ; case 11
|
|
b _023342BC ; case 12
|
|
b _023342BC ; case 13
|
|
b _023342BC ; case 14
|
|
b _023342E8 ; case 15
|
|
b _023342E8 ; case 16
|
|
b _023342E8 ; case 17
|
|
b _02334314 ; case 18
|
|
b _02334314 ; case 19
|
|
b _02334314 ; case 20
|
|
b _02334340 ; case 21
|
|
b _02334340 ; case 22
|
|
b _02334340 ; case 23
|
|
b _02334370 ; case 24
|
|
b _02334370 ; case 25
|
|
b _02334370 ; case 26
|
|
b _0233439C ; case 27
|
|
b _0233439C ; case 28
|
|
b _0233439C ; case 29
|
|
b _023343C8 ; case 30
|
|
b _023343C8 ; case 31
|
|
b _023343C8 ; case 32
|
|
b _023343F4 ; case 33
|
|
b _023343F4 ; case 34
|
|
b _023343F4 ; case 35
|
|
_02334214:
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r2, [r1, #0xbc]
|
|
cmp r2, #0x16c
|
|
cmpne r2, r4
|
|
ldrne r1, _0233460C ; =0x0000016E
|
|
cmpne r2, r1
|
|
moveq sb, #0
|
|
b _02334420
|
|
_0233423C:
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r1, [r1, #0xbc]
|
|
cmp r1, sl
|
|
cmpne r1, #0x170
|
|
cmpne r1, fp
|
|
moveq sb, #0
|
|
b _02334420
|
|
_02334260:
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r2, [r1, #0xbc]
|
|
ldr r1, [sp, #8]
|
|
cmp r2, r1
|
|
ldrne r1, [sp, #0xc]
|
|
cmpne r2, r1
|
|
cmpne r2, #0x174
|
|
moveq sb, #0
|
|
b _02334420
|
|
_0233428C:
|
|
ldr r1, [r5, #4]
|
|
ldr r2, [sp, #0x10]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r1, [r1, #0xbc]
|
|
cmp r1, r2
|
|
ldrne r2, [sp, #0x14]
|
|
cmpne r1, r2
|
|
ldrne r2, [sp, #0x18]
|
|
cmpne r1, r2
|
|
moveq sb, #0
|
|
b _02334420
|
|
_023342BC:
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r2, [r1, #0xbc]
|
|
cmp r2, #0x178
|
|
ldrne r1, [sp, #0x1c]
|
|
cmpne r2, r1
|
|
ldrne r1, [sp, #0x20]
|
|
cmpne r2, r1
|
|
moveq sb, #0
|
|
b _02334420
|
|
_023342E8:
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r2, [r1, #0xbc]
|
|
ldr r1, [sp, #0x24]
|
|
cmp r2, r1
|
|
cmpne r2, #0x17c
|
|
ldrne r1, [sp, #0x28]
|
|
cmpne r2, r1
|
|
moveq sb, #0
|
|
b _02334420
|
|
_02334314:
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r2, [r1, #0xbc]
|
|
ldr r1, [sp, #0x2c]
|
|
cmp r2, r1
|
|
ldrne r1, [sp, #0x30]
|
|
cmpne r2, r1
|
|
cmpne r2, #0x180
|
|
moveq sb, #0
|
|
b _02334420
|
|
_02334340:
|
|
ldr r1, [r5, #4]
|
|
ldr r2, [sp, #0x34]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r1, [r1, #0xbc]
|
|
cmp r1, r2
|
|
ldrne r2, [sp, #0x38]
|
|
cmpne r1, r2
|
|
ldrne r2, [sp, #0x3c]
|
|
cmpne r1, r2
|
|
moveq sb, #0
|
|
b _02334420
|
|
_02334370:
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r2, [r1, #0xbc]
|
|
cmp r2, #0x184
|
|
ldrne r1, [sp, #0x40]
|
|
cmpne r2, r1
|
|
ldrne r1, [sp, #0x44]
|
|
cmpne r2, r1
|
|
moveq sb, #0
|
|
b _02334420
|
|
_0233439C:
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r2, [r1, #0xbc]
|
|
ldr r1, [sp, #0x48]
|
|
cmp r2, r1
|
|
cmpne r2, #0x188
|
|
ldrne r1, [sp, #0x4c]
|
|
cmpne r2, r1
|
|
moveq sb, #0
|
|
b _02334420
|
|
_023343C8:
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r2, [r1, #0xbc]
|
|
ldr r1, [sp, #0x50]
|
|
cmp r2, r1
|
|
ldrne r1, [sp, #0x54]
|
|
cmpne r2, r1
|
|
cmpne r2, #0x18c
|
|
moveq sb, #0
|
|
b _02334420
|
|
_023343F4:
|
|
ldr r1, [r5, #4]
|
|
ldr r2, [sp, #0x58]
|
|
add r1, r1, r6, lsl #1
|
|
add r1, r1, #0x100
|
|
ldrsh r1, [r1, #0xbc]
|
|
cmp r1, r2
|
|
ldrne r2, [sp, #0x5c]
|
|
cmpne r1, r2
|
|
ldrne r2, [sp, #0x60]
|
|
cmpne r1, r2
|
|
moveq sb, #0
|
|
_02334420:
|
|
cmp sb, #0
|
|
beq _02334458
|
|
cmp r7, r0, asr #16
|
|
moveq sb, #0
|
|
beq _02334458
|
|
blt _02334458
|
|
add r0, r6, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r6, r0, asr #0x10
|
|
_02334444:
|
|
ldr r1, [r5, #4]
|
|
add r0, r1, #0x900
|
|
ldrsh r0, [r0, #0x8c]
|
|
cmp r6, r0
|
|
blt _0233414C
|
|
_02334458:
|
|
cmp sb, #0
|
|
beq _023344D8
|
|
ldr r2, _02334604 ; =ov01_0233C1A0
|
|
ldr r0, [r2, #4]
|
|
add r0, r0, #0x900
|
|
ldrsh r4, [r0, #0x8c]
|
|
b _02334494
|
|
_02334474:
|
|
ldr r0, [r2, #4]
|
|
sub r1, r4, #1
|
|
add r0, r0, r4, lsl #1
|
|
add r0, r0, #0x100
|
|
ldrsh r3, [r0, #0xba]
|
|
mov r1, r1, lsl #0x10
|
|
mov r4, r1, asr #0x10
|
|
strh r3, [r0, #0xbc]
|
|
_02334494:
|
|
cmp r4, r6
|
|
bgt _02334474
|
|
ldr r0, _02334608 ; =BAG_ITEMS_PTR_MIRROR
|
|
ldr r1, _02334604 ; =ov01_0233C1A0
|
|
ldr r0, [r0]
|
|
ldr r2, [r1, #4]
|
|
add r0, r0, r8, lsl #1
|
|
add r0, r0, #0x300
|
|
ldrsh r3, [r0, #0x8a]
|
|
add r0, r2, r6, lsl #1
|
|
add r0, r0, #0x100
|
|
strh r3, [r0, #0xbc]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x900
|
|
ldrsh r1, [r0, #0x8c]
|
|
add r1, r1, #1
|
|
strh r1, [r0, #0x8c]
|
|
_023344D8:
|
|
add r0, r8, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r8, r0, asr #0x10
|
|
_023344E4:
|
|
cmp r8, #0x3e8
|
|
blt _02333ED8
|
|
_023344EC:
|
|
ldr r0, _02334610 ; =ov01_0233B8E8
|
|
bl CreateDialogueBox
|
|
ldr r2, _02334604 ; =ov01_0233C1A0
|
|
#ifdef JAPAN
|
|
ldr r1, _02335DC4_JP ; =0x00003CDA
|
|
#else
|
|
mov r1, #0xff
|
|
#endif
|
|
ldr r3, [r2, #4]
|
|
strb r0, [r3, #1]
|
|
ldr r0, [r2, #4]
|
|
add r0, r0, #0xac
|
|
bl GetStringFromFileVeneer
|
|
ldr r0, _02334604 ; =ov01_0233C1A0
|
|
ldr r1, _02334614 ; =0x00000404
|
|
ldr r2, [r0, #4]
|
|
mov r3, #0
|
|
ldrsb r0, [r2, #1]
|
|
add r2, r2, #0xac
|
|
bl ShowStringInDialogueBox
|
|
ldr r0, _02334618 ; =ov01_0233B8C8
|
|
ldr r1, _0233461C ; =ov01_02334F2C
|
|
bl CreateTextBox
|
|
ldr r1, _02334604 ; =ov01_0233C1A0
|
|
mov r4, #0
|
|
ldr r2, [r1, #4]
|
|
#ifdef JAPAN
|
|
ldr r3, _02335DD4 ; =0x00003CD9
|
|
#else
|
|
mov r3, #0xfe
|
|
#endif
|
|
strb r0, [r2, #2]
|
|
ldr r0, [r1, #4]
|
|
mov r2, #0x10
|
|
str r4, [r0, #0x14]
|
|
ldr r0, [r1, #4]
|
|
strh r3, [r0, #0x1c]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #0x20]
|
|
ldr r0, [r1, #4]
|
|
str r4, [r0, #0x78]
|
|
ldr r0, [r1, #4]
|
|
str r4, [r0, #0x7c]
|
|
bl ov01_02335280
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r2, _02334604 ; =ov01_0233C1A0
|
|
ldr r0, _02334620 ; =ov01_0233B8D8
|
|
ldr r2, [r2, #4]
|
|
ldr r1, _02334624 ; =0x80401859
|
|
ldr r3, _02334628 ; =ov01_023355DC
|
|
add r2, r2, #0x14
|
|
bl CreateAdvancedMenu
|
|
ldr r1, _02334604 ; =ov01_0233C1A0
|
|
mov r2, r4
|
|
ldr r3, [r1, #4]
|
|
strb r0, [r3]
|
|
ldr r3, [r1, #4]
|
|
mov r0, #0x12
|
|
str r2, [r3, #0xc]
|
|
str r2, [r3, #0x10]
|
|
str r2, [r3, #4]
|
|
ldr r1, [r1, #4]
|
|
str r2, [r1, #0x1b8]
|
|
bl ov01_02335728
|
|
ldr r1, _02334604 ; =ov01_0233C1A0
|
|
ldr r1, [r1, #4]
|
|
str r0, [r1, #0x990]
|
|
mov r0, #0x24
|
|
bl ov01_02335728
|
|
ldr r1, _02334604 ; =ov01_0233C1A0
|
|
ldr r1, [r1, #4]
|
|
str r0, [r1, #0x994]
|
|
mov r0, #1
|
|
add sp, sp, #0x64
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02334600: .word 0x00000998
|
|
_02334604: .word ov01_0233C1A0
|
|
_02334608: .word BAG_ITEMS_PTR_MIRROR
|
|
_0233460C: .word 0x0000016E
|
|
_02334610: .word ov01_0233B8E8
|
|
#ifdef JAPAN
|
|
_02335DC4_JP: .word 0x00003CDA
|
|
#endif
|
|
_02334614: .word 0x00000404
|
|
_02334618: .word ov01_0233B8C8
|
|
_0233461C: .word ov01_02334F2C
|
|
#ifdef JAPAN
|
|
_02335DD4: .word 0x00003CD9
|
|
#endif
|
|
_02334620: .word ov01_0233B8D8
|
|
_02334624: .word 0x80401859
|
|
_02334628: .word ov01_023355DC
|
|
arm_func_end ov01_02333E60
|
|
|
|
arm_func_start ov01_0233462C
|
|
ov01_0233462C: ; 0x0233462C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _023346B8 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
add r0, r0, #0x194
|
|
add r0, r0, #0x800
|
|
bl ov01_023357C4
|
|
ldr r0, _023346B8 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x990
|
|
bl ov01_023357C4
|
|
ldr r0, _023346B8 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl CloseAdvancedMenu
|
|
ldr r0, _023346B8 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl CloseTextBox
|
|
ldr r0, _023346B8 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #1]
|
|
bl CloseDialogueBox
|
|
ldr r0, _023346B8 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x1ac
|
|
bl sub_020547D8
|
|
ldr r0, _023346B8 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
bl MemFree
|
|
ldr r0, _023346B8 ; =ov01_0233C1A0
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023346B8: .word ov01_0233C1A0
|
|
arm_func_end ov01_0233462C
|
|
|
|
arm_func_start ov01_023346BC
|
|
ov01_023346BC: ; 0x023346BC
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0xb0
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
b _02334B84
|
|
_023346DC: ; jump table
|
|
b _023346EC ; case 0
|
|
b _02334B0C ; case 1
|
|
b _02334B70 ; case 2
|
|
b _02334B7C ; case 3
|
|
_023346EC:
|
|
add r0, sp, #0xc
|
|
mov r1, #8
|
|
bl sub_02031914
|
|
mov r0, #0
|
|
add r1, sp, #0
|
|
strh r0, [sp]
|
|
strh r0, [sp, #2]
|
|
bl GetPressedButtons
|
|
add r1, sp, #2
|
|
mov r0, #0
|
|
bl GetHeldButtons
|
|
ldrh r0, [sp, #2]
|
|
tst r0, #0x800
|
|
beq _02334764
|
|
ldrh r0, [sp]
|
|
tst r0, #0xc0
|
|
beq _02334764
|
|
mov r0, #0
|
|
bl PlaySeVolumeWrapper
|
|
bl ov01_02334E20
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02334F2C
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl sub_0202BC28
|
|
mov r0, #0
|
|
b _02334B88
|
|
_02334764:
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl sub_0202C38C
|
|
tst r0, #0x40000
|
|
bne _02334784
|
|
tst r0, #0x80000
|
|
beq _023347B0
|
|
_02334784:
|
|
bl ov01_02334E20
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02334F2C
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl sub_0202BC28
|
|
mov r0, #0
|
|
b _02334B88
|
|
_023347B0:
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl IsAdvancedMenuActive2
|
|
cmp r0, #0
|
|
bne _023349BC
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r4, [r0, #4]
|
|
ldrsb r0, [r4]
|
|
bl GetAdvancedMenuResult
|
|
mov r2, r0, asr #0x1f
|
|
str r0, [r4, #0xc]
|
|
str r2, [r4, #0x10]
|
|
mvn r1, #0
|
|
ldr r0, [r4, #0xc]
|
|
cmp r2, r1
|
|
cmpeq r0, r1
|
|
bne _02334804
|
|
mov r0, #1
|
|
bl PlaySeVolumeWrapper
|
|
b _023349B4
|
|
_02334804:
|
|
bl ov01_02334B94
|
|
cmp r0, #0
|
|
beq _02334824
|
|
cmp r0, #1
|
|
beq _0233491C
|
|
cmp r0, #2
|
|
beq _02334954
|
|
b _023349B4
|
|
_02334824:
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
#ifdef JAPAN
|
|
ldr r3, [r0, #4]
|
|
ldr r0, [r3, #8]
|
|
#else
|
|
ldr r2, [r0, #4]
|
|
ldr r0, [r2, #8]
|
|
#endif
|
|
cmp r0, #0
|
|
beq _02334844
|
|
cmp r0, #1
|
|
beq _023348A0
|
|
b _023348F8
|
|
_02334844:
|
|
#ifdef JAPAN
|
|
ldr r0, [r3, #0x10]
|
|
ldr r1, [r3, #0xc]
|
|
#else
|
|
ldr r0, [r2, #0x10]
|
|
ldr r1, [r2, #0xc]
|
|
#endif
|
|
cmp r0, #0
|
|
cmpeq r1, #0
|
|
mov r0, #0
|
|
bne _0233487C
|
|
#ifdef JAPAN
|
|
mov r2, #0x81
|
|
mov r1, #0x40
|
|
strb r1, [sp, #0x31]
|
|
strb r2, [sp, #0x30]
|
|
strb r0, [sp, #0x32]
|
|
ldr r0, [r3, #0x990]
|
|
#else
|
|
mov r1, #0x20
|
|
strb r1, [sp, #0x30]
|
|
strb r0, [sp, #0x31]
|
|
strb r0, [sp, #0x32]
|
|
ldr r0, [r2, #0x990]
|
|
#endif
|
|
add r1, sp, #0x30
|
|
bl ov01_02334C34
|
|
b _023348F8
|
|
_0233487C:
|
|
#ifdef JAPAN
|
|
ldr r2, [r3, #0x990]
|
|
#else
|
|
ldr r2, [r2, #0x990]
|
|
#endif
|
|
add r0, sp, #0x30
|
|
bl ov01_02335324
|
|
ldr r2, _02334B90 ; =ov01_0233C1A0
|
|
mov r1, r0
|
|
ldr r0, [r2, #4]
|
|
ldr r0, [r0, #0x990]
|
|
bl ov01_02334C34
|
|
b _023348F8
|
|
_023348A0:
|
|
#ifdef JAPAN
|
|
ldr r0, [r3, #0x10]
|
|
ldr r1, [r3, #0xc]
|
|
#else
|
|
ldr r0, [r2, #0x10]
|
|
ldr r1, [r2, #0xc]
|
|
#endif
|
|
cmp r0, #0
|
|
cmpeq r1, #0
|
|
mov r0, #0
|
|
bne _023348D8
|
|
#ifdef JAPAN
|
|
mov r2, #0x81
|
|
mov r1, #0x40
|
|
strb r1, [sp, #0x31]
|
|
strb r2, [sp, #0x30]
|
|
strb r0, [sp, #0x32]
|
|
ldr r0, [r3, #0x994]
|
|
#else
|
|
mov r1, #0x20
|
|
strb r1, [sp, #0x30]
|
|
strb r0, [sp, #0x31]
|
|
strb r0, [sp, #0x32]
|
|
ldr r0, [r2, #0x994]
|
|
#endif
|
|
add r1, sp, #0x30
|
|
bl ov01_02334C34
|
|
b _023348F8
|
|
_023348D8:
|
|
#ifdef JAPAN
|
|
ldr r2, [r3, #0x994]
|
|
#else
|
|
ldr r2, [r2, #0x994]
|
|
#endif
|
|
add r0, sp, #0x30
|
|
bl ov01_02335324
|
|
ldr r2, _02334B90 ; =ov01_0233C1A0
|
|
mov r1, r0
|
|
ldr r0, [r2, #4]
|
|
ldr r0, [r0, #0x994]
|
|
bl ov01_02334C34
|
|
_023348F8:
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02334F2C
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl ResumeAdvancedMenu
|
|
b _023349B4
|
|
_0233491C:
|
|
mov r0, #1
|
|
bl PlaySeVolumeWrapper
|
|
bl ov01_02334D04
|
|
cmp r0, #0
|
|
blt _023349B4
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02334F2C
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl ResumeAdvancedMenu
|
|
b _023349B4
|
|
_02334954:
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #0x990]
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
ldrne r0, [r1, #0x994]
|
|
ldrne r0, [r0, #0xc]
|
|
cmpne r0, #0
|
|
bne _023349A8
|
|
mov r0, #0
|
|
bl PlaySeVolumeWrapper
|
|
bl ov01_02334E20
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02334F2C
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl ResumeAdvancedMenu
|
|
b _023349B4
|
|
_023349A8:
|
|
mov r0, #4
|
|
bl PlaySeVolumeWrapper
|
|
bl ov01_02335208
|
|
_023349B4:
|
|
mov r0, #0
|
|
b _02334B88
|
|
_023349BC:
|
|
mov r0, #0
|
|
add r1, sp, #8
|
|
strh r0, [sp, #8]
|
|
strh r0, [sp, #6]
|
|
strh r0, [sp, #4]
|
|
bl GetPressedButtons
|
|
add r1, sp, #6
|
|
mov r0, #0
|
|
bl sub_020063F4
|
|
add r1, sp, #4
|
|
mov r0, #0
|
|
bl GetHeldButtons
|
|
ldrh r0, [sp, #4]
|
|
tst r0, #0x800
|
|
beq _02334A34
|
|
ldrh r0, [sp, #8]
|
|
tst r0, #0x10
|
|
beq _02334A18
|
|
mov r0, #3
|
|
bl PlaySeVolumeWrapper
|
|
mov r0, #1
|
|
bl ov01_02335154
|
|
b _02334AD8
|
|
_02334A18:
|
|
tst r0, #0x20
|
|
beq _02334AD8
|
|
mov r0, #3
|
|
bl PlaySeVolumeWrapper
|
|
mvn r0, #0
|
|
bl ov01_02335154
|
|
b _02334AD8
|
|
_02334A34:
|
|
ldrh r0, [sp, #8]
|
|
cmp r0, #2
|
|
beq _02334A4C
|
|
cmp r0, #8
|
|
beq _02334A5C
|
|
b _02334AD0
|
|
_02334A4C:
|
|
mov r0, #1
|
|
bl PlaySeVolumeWrapper
|
|
bl ov01_02334D04
|
|
b _02334AD8
|
|
_02334A5C:
|
|
mov r0, #0
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl GetAdvancedMenuCurrentOption
|
|
mov r0, r0, lsl #0x10
|
|
mov r1, r0, asr #0x10
|
|
mov r0, r1, asr #2
|
|
add r0, r1, r0, lsr #29
|
|
mov r0, r0, asr #3
|
|
add r0, r0, #1
|
|
mov r0, r0, lsl #3
|
|
sub r0, r0, #1
|
|
mov r4, r0, lsl #0x10
|
|
mov r5, r4, asr #0x10
|
|
bl ov01_02335280
|
|
cmp r0, r4, asr #16
|
|
bgt _02334AB8
|
|
bl ov01_02335280
|
|
sub r0, r0, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r5, r0, asr #0x10
|
|
_02334AB8:
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
mov r1, r5
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl sub_0202BD48
|
|
b _02334AD8
|
|
_02334AD0:
|
|
mov r0, #0
|
|
b _02334ADC
|
|
_02334AD8:
|
|
mov r0, #1
|
|
_02334ADC:
|
|
cmp r0, #0
|
|
beq _02334B04
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02334F2C
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl sub_0202BC28
|
|
_02334B04:
|
|
mov r0, #0
|
|
b _02334B88
|
|
_02334B0C:
|
|
ldrsb r0, [r1]
|
|
bl IsAdvancedMenuActive2
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
bne _02334B58
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #1]
|
|
bl IsDialogueBoxActive
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
bne _02334B58
|
|
ldr r0, _02334B90 ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl IsTextBoxActive
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
_02334B58:
|
|
cmp r0, #0
|
|
ldrne r0, _02334B90 ; =ov01_0233C1A0
|
|
movne r1, #2
|
|
ldrne r0, [r0, #4]
|
|
strne r1, [r0, #4]
|
|
b _02334B84
|
|
_02334B70:
|
|
mov r0, #3
|
|
str r0, [r1, #4]
|
|
b _02334B84
|
|
_02334B7C:
|
|
ldr r0, [r1, #0x1b8]
|
|
b _02334B88
|
|
_02334B84:
|
|
mov r0, #0
|
|
_02334B88:
|
|
add sp, sp, #0xb0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02334B90: .word ov01_0233C1A0
|
|
arm_func_end ov01_023346BC
|
|
|
|
arm_func_start ov01_02334B94
|
|
ov01_02334B94: ; 0x02334B94
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl ov01_02335280
|
|
sub r1, r0, #1
|
|
cmp r4, r1
|
|
movne r2, r4, lsr #0x1f
|
|
rsbne r1, r2, r4, lsl #29
|
|
addne r1, r2, r1, ror #29
|
|
cmpne r1, #7
|
|
moveq r0, #2
|
|
ldmeqia sp!, {r4, pc}
|
|
sub r0, r0, #2
|
|
cmp r4, r0
|
|
cmpne r1, #6
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov01_02334B94
|
|
|
|
arm_func_start ov01_02334BD8
|
|
ov01_02334BD8: ; 0x02334BD8
|
|
#ifdef EUROPE
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r6, #0
|
|
mov r8, r0
|
|
mov r7, r1
|
|
mov r5, r6
|
|
mov r4, r6
|
|
b _023353F0
|
|
_023353D8:
|
|
ldr r1, [r8, #4]
|
|
mov r0, r4
|
|
ldr r1, [r1, r5, lsl #2]
|
|
bl ov01_02335654
|
|
add r6, r6, r0
|
|
add r5, r5, #1
|
|
_023353F0:
|
|
ldr r0, [r8, #0xc]
|
|
cmp r5, r0
|
|
blt _023353D8
|
|
mov r1, r7
|
|
mov r0, #0
|
|
bl ov01_02335654
|
|
ldr r1, [r8, #0x1c]
|
|
add r0, r6, r0
|
|
cmp r0, r1
|
|
movle r0, #1
|
|
movgt r0, #0
|
|
and r0, r0, #0xff
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
#else
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r5, #0
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r4, r5
|
|
b _02334C04
|
|
_02334BF0:
|
|
ldr r0, [r7, #4]
|
|
ldr r0, [r0, r4, lsl #2]
|
|
bl ov01_02335654
|
|
add r5, r5, r0
|
|
add r4, r4, #1
|
|
_02334C04:
|
|
ldr r0, [r7, #0xc]
|
|
cmp r4, r0
|
|
blt _02334BF0
|
|
mov r0, r6
|
|
bl ov01_02335654
|
|
ldr r1, [r7, #0x1c]
|
|
add r0, r5, r0
|
|
cmp r0, r1
|
|
movle r0, #1
|
|
movgt r0, #0
|
|
and r0, r0, #0xff
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
#endif
|
|
arm_func_end ov01_02334BD8
|
|
|
|
arm_func_start ov01_02334C34
|
|
ov01_02334C34: ; 0x02334C34
|
|
#ifdef JAPAN
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sl, r0
|
|
mov r4, r1
|
|
bl ov01_02334BD8
|
|
cmp r0, #0
|
|
bne _0233641C
|
|
mov r0, #2
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, [sl, #0xc]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0233641C:
|
|
ldr r5, [sl, #0x10]
|
|
ldr r0, [sl, #0xc]
|
|
ldr r7, [sl, #0x14]
|
|
cmp r0, r5
|
|
beq _0233645C
|
|
mov r3, #0
|
|
b _02336454
|
|
_02336438:
|
|
ldr r2, [sl]
|
|
mov r1, r3, lsl #8
|
|
ldrb r0, [r2, r3, lsl #8]
|
|
cmp r0, #0
|
|
addeq r8, r2, r1
|
|
beq _02336460
|
|
add r3, r3, #1
|
|
_02336454:
|
|
cmp r3, r5
|
|
blt _02336438
|
|
_0233645C:
|
|
mov r8, #0
|
|
_02336460:
|
|
str r4, [sp]
|
|
mov sb, r8
|
|
mov r4, #0x82
|
|
mov fp, #0x4f
|
|
mov r6, #0x81
|
|
mov r5, #0x40
|
|
b _023364E4
|
|
_0233647C:
|
|
add r0, sp, #0
|
|
bl sub_0202065C
|
|
tst r0, #0xff00
|
|
bne _023364D4
|
|
cmp r0, #0x20
|
|
streqb r6, [sb]
|
|
streqb r5, [sb, #1]
|
|
addeq sb, sb, #2
|
|
beq _023364E4
|
|
cmp r0, #0x30
|
|
streqb r4, [sb]
|
|
streqb fp, [sb, #1]
|
|
addeq sb, sb, #2
|
|
beq _023364E4
|
|
cmp r0, #0x31
|
|
bne _023364E4
|
|
mov r0, #0x82
|
|
strb r0, [sb]
|
|
mov r0, #0x50
|
|
strb r0, [sb, #1]
|
|
add sb, sb, #2
|
|
b _023364E4
|
|
_023364D4:
|
|
mov r1, r0, asr #8
|
|
strb r1, [sb]
|
|
strb r0, [sb, #1]
|
|
add sb, sb, #2
|
|
_023364E4:
|
|
ldr r0, [sp]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0233647C
|
|
mov r0, #0
|
|
strb r0, [sb]
|
|
ldr r2, [sl, #0xc]
|
|
cmp r2, r7
|
|
beq _02336528_JP
|
|
b _02336520_JP
|
|
_0233650C:
|
|
ldr r1, [sl, #4]
|
|
add r0, r1, r2, lsl #2
|
|
ldr r0, [r0, #-4]
|
|
str r0, [r1, r2, lsl #2]
|
|
sub r2, r2, #1
|
|
_02336520_JP:
|
|
cmp r2, r7
|
|
bgt _0233650C
|
|
_02336528_JP:
|
|
ldr r1, [sl, #0xc]
|
|
mov r0, #0
|
|
add r1, r1, #1
|
|
str r1, [sl, #0xc]
|
|
ldr r1, [sl, #4]
|
|
str r8, [r1, r7, lsl #2]
|
|
bl PlaySeVolumeWrapper
|
|
mov r0, #1
|
|
bl ov01_02335154
|
|
ldr r0, [sl, #0xc]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
#else
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r6, r1
|
|
bl ov01_02334BD8
|
|
cmp r0, #0
|
|
bne _02334C5C
|
|
mov r0, #2
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, [r7, #0xc]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02334C5C:
|
|
ldr r5, [r7, #0x10]
|
|
ldr r0, [r7, #0xc]
|
|
ldr r4, [r7, #0x14]
|
|
cmp r0, r5
|
|
beq _02334C9C
|
|
mov r3, #0
|
|
b _02334C94
|
|
_02334C78:
|
|
ldr r2, [r7]
|
|
mov r1, r3, lsl #8
|
|
ldrb r0, [r2, r3, lsl #8]
|
|
cmp r0, #0
|
|
addeq r5, r2, r1
|
|
beq _02334CA0
|
|
add r3, r3, #1
|
|
_02334C94:
|
|
cmp r3, r5
|
|
blt _02334C78
|
|
_02334C9C:
|
|
mov r5, #0
|
|
_02334CA0:
|
|
#ifdef EUROPE
|
|
mov r3, #0
|
|
mov r0, r5
|
|
mov r2, r6
|
|
str r3, [sp]
|
|
mov r1, #0x100
|
|
#else
|
|
mov r0, r5
|
|
mov r1, r6
|
|
#endif
|
|
#ifdef EUROPE
|
|
bl PreprocessString
|
|
#else
|
|
bl strcpy
|
|
#endif
|
|
ldr r2, [r7, #0xc]
|
|
cmp r2, r4
|
|
beq _02334CD8
|
|
b _02334CD0
|
|
_02334CBC:
|
|
ldr r1, [r7, #4]
|
|
add r0, r1, r2, lsl #2
|
|
ldr r0, [r0, #-4]
|
|
str r0, [r1, r2, lsl #2]
|
|
sub r2, r2, #1
|
|
_02334CD0:
|
|
cmp r2, r4
|
|
bgt _02334CBC
|
|
_02334CD8:
|
|
ldr r1, [r7, #0xc]
|
|
mov r0, #0
|
|
add r1, r1, #1
|
|
str r1, [r7, #0xc]
|
|
ldr r1, [r7, #4]
|
|
str r5, [r1, r4, lsl #2]
|
|
bl PlaySeVolumeWrapper
|
|
mov r0, #1
|
|
bl ov01_02335154
|
|
ldr r0, [r7, #0xc]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
#endif
|
|
arm_func_end ov01_02334C34
|
|
|
|
arm_func_start ov01_02334D04
|
|
ov01_02334D04: ; 0x02334D04
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02334D6C ; =ov01_0233C1A0
|
|
ldr r2, [r0, #4]
|
|
ldr r0, [r2, #0x990]
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, #0
|
|
ldreq r1, [r2, #0x994]
|
|
ldreq r1, [r1, #0xc]
|
|
cmpeq r1, #0
|
|
bne _02334D38
|
|
bl ov01_02335208
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_02334D38:
|
|
ldr r1, [r2, #8]
|
|
cmp r1, #0
|
|
beq _02334D50
|
|
cmp r1, #1
|
|
beq _02334D58
|
|
b _02334D64
|
|
_02334D50:
|
|
bl ov01_02334D70
|
|
ldmia sp!, {r3, pc}
|
|
_02334D58:
|
|
ldr r0, [r2, #0x994]
|
|
bl ov01_02334D70
|
|
ldmia sp!, {r3, pc}
|
|
_02334D64:
|
|
mvn r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02334D6C: .word ov01_0233C1A0
|
|
arm_func_end ov01_02334D04
|
|
|
|
arm_func_start ov01_02334D70
|
|
ov01_02334D70: ; 0x02334D70
|
|
stmdb sp!, {r4, lr}
|
|
ldr r3, [r0, #0xc]
|
|
mov r1, #0
|
|
cmp r3, #0
|
|
moveq r0, r1
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r2, [r0, #0x14]
|
|
mov ip, #0
|
|
cmp r2, r3
|
|
ldr r3, [r0, #4]
|
|
subeq r2, r2, #1
|
|
ldr r3, [r3, r2, lsl #2]
|
|
moveq r1, #1
|
|
strb ip, [r3]
|
|
ldr r3, [r0, #0xc]
|
|
cmp r3, r2
|
|
beq _02334DF0
|
|
sub r3, r3, #1
|
|
str r3, [r0, #0xc]
|
|
b _02334DD4
|
|
_02334DC0:
|
|
ldr ip, [r0, #4]
|
|
add r3, ip, r2, lsl #2
|
|
ldr r3, [r3, #4]
|
|
str r3, [ip, r2, lsl #2]
|
|
add r2, r2, #1
|
|
_02334DD4:
|
|
ldr r3, [r0, #0xc]
|
|
cmp r2, r3
|
|
blt _02334DC0
|
|
ldr r3, [r0, #4]
|
|
mov ip, #0
|
|
str ip, [r3, r2, lsl #2]
|
|
b _02334E04
|
|
_02334DF0:
|
|
ldr r3, [r0, #4]
|
|
str ip, [r3, r2, lsl #2]
|
|
ldr r2, [r0, #0xc]
|
|
sub r2, r2, #1
|
|
str r2, [r0, #0xc]
|
|
_02334E04:
|
|
cmp r1, #0
|
|
ldr r4, [r0, #0xc]
|
|
beq _02334E18
|
|
mvn r0, #0
|
|
bl ov01_02335154
|
|
_02334E18:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov01_02334D70
|
|
|
|
arm_func_start ov01_02334E20
|
|
ov01_02334E20: ; 0x02334E20
|
|
ldr r0, _02334E4C ; =ov01_0233C1A0
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #8]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
str r0, [r1, #8]
|
|
ldr r0, _02334E4C ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_02334E4C: .word ov01_0233C1A0
|
|
arm_func_end ov01_02334E20
|
|
|
|
arm_func_start ov01_02334E50
|
|
ov01_02334E50: ; 0x02334E50
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #4
|
|
mov r7, #0
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r8, r7
|
|
mov r6, r7
|
|
mov r5, #0x100
|
|
mov r4, #0x400
|
|
b _02334E9C
|
|
_02334E78:
|
|
str r6, [sp]
|
|
ldr r0, [sb, #4]
|
|
mov r1, r5
|
|
ldr r2, [r0, r8, lsl #2]
|
|
mov r3, r4
|
|
add r0, sl, r7
|
|
bl PreprocessString
|
|
add r7, r7, r0
|
|
add r8, r8, #1
|
|
_02334E9C:
|
|
ldr r0, [sb, #0xc]
|
|
cmp r8, r0
|
|
blt _02334E78
|
|
mov r0, r7
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
|
|
arm_func_end ov01_02334E50
|
|
|
|
arm_func_start ov01_02334EB4
|
|
ov01_02334EB4: ; 0x02334EB4
|
|
#ifdef EUROPE
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x100
|
|
ldr r2, [r1, #0xc]
|
|
mov r4, r0
|
|
cmp r2, #0
|
|
movle r0, #0
|
|
strleb r0, [sp]
|
|
ble _023356D8_EU
|
|
add r0, sp, #0
|
|
bl ov01_02334E50
|
|
_023356D8_EU:
|
|
add r1, sp, #0
|
|
mov r0, r4
|
|
bl ov01_02335654
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, pc}
|
|
#else
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x104
|
|
ldr r2, [r1, #0xc]
|
|
mov r5, r0
|
|
cmp r2, #0
|
|
movle r0, #0
|
|
strleb r0, [sp, #4]
|
|
ble _02334EDC
|
|
add r0, sp, #4
|
|
bl ov01_02334E50
|
|
_02334EDC:
|
|
add r0, sp, #4
|
|
mov r4, #0
|
|
str r0, [sp]
|
|
add r6, sp, #0
|
|
b _02334F04
|
|
_02334EF0:
|
|
mov r0, r6
|
|
bl sub_0202065C
|
|
mov r1, r4, lsl #1
|
|
strh r0, [r5, r1]
|
|
add r4, r4, #1
|
|
_02334F04:
|
|
ldr r0, [sp]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _02334EF0
|
|
mov r1, r4, lsl #1
|
|
mov r2, #0
|
|
mov r0, r4
|
|
strh r2, [r5, r1]
|
|
add sp, sp, #0x104
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
#endif
|
|
arm_func_end ov01_02334EB4
|
|
|
|
arm_func_start ov01_02334F2C
|
|
ov01_02334F2C: ; 0x02334F2C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x204
|
|
mov sl, r0
|
|
bl sub_02027B1C
|
|
ldr r1, _02335084 ; =ov01_0233C1A0
|
|
add r0, sp, #4
|
|
ldr r1, [r1, #4]
|
|
ldr r1, [r1, #0x990]
|
|
bl ov01_02334EB4
|
|
mov sb, r0
|
|
cmp sb, #0
|
|
add r7, sp, #4
|
|
mov r8, #0
|
|
ble _02334FA4
|
|
mov r6, #0x17
|
|
#ifdef JAPAN
|
|
mov fp, r8
|
|
mov r4, #0xc
|
|
ldr r5, _023368E0 ; =0x00008140
|
|
#else
|
|
mov r5, r8
|
|
mov r4, #0xc
|
|
#endif
|
|
b _02334F9C
|
|
_02334F74:
|
|
ldrh r3, [r7]
|
|
#ifdef JAPAN
|
|
cmp r3, r5
|
|
#else
|
|
cmp r3, #0x20
|
|
#endif
|
|
beq _02334F94
|
|
mul r1, r8, r4
|
|
mov r0, sl
|
|
#ifdef JAPAN
|
|
mov r2, fp
|
|
#else
|
|
mov r2, r5
|
|
#endif
|
|
str r6, [sp]
|
|
bl DrawChar
|
|
_02334F94:
|
|
add r8, r8, #1
|
|
add r7, r7, #2
|
|
_02334F9C:
|
|
cmp r8, sb
|
|
blt _02334F74
|
|
_02334FA4:
|
|
mov r4, #0x17
|
|
mov r0, sl
|
|
mov r1, #0
|
|
mov r2, #0xc
|
|
mov r3, #0xd8
|
|
str r4, [sp]
|
|
bl sub_02025D50
|
|
ldr r1, _02335084 ; =ov01_0233C1A0
|
|
add r0, sp, #4
|
|
ldr r1, [r1, #4]
|
|
ldr r1, [r1, #0x994]
|
|
bl ov01_02334EB4
|
|
mov r6, #0
|
|
add sb, sp, #4
|
|
mov r5, r6
|
|
mov fp, sb
|
|
b _02335064
|
|
_02334FE8:
|
|
mov r7, #0
|
|
mov r8, r7
|
|
mov r4, r5, lsl #4
|
|
b _02335048
|
|
_02334FF8:
|
|
ldrh r3, [sb]
|
|
cmp r3, #0
|
|
moveq r7, #1
|
|
beq _02335050
|
|
mov r0, r6, lsl #1
|
|
#ifdef JAPAN
|
|
ldrh r1, [fp, r0]
|
|
ldr r0, _023368E0 ; =0x00008140
|
|
cmp r1, r0
|
|
beq _02335034
|
|
mov r1, #0xc
|
|
mul r1, r8, r1
|
|
#else
|
|
ldrh r0, [fp, r0]
|
|
cmp r0, #0x20
|
|
beq _02335034
|
|
mov r0, #0xc
|
|
mul r1, r8, r0
|
|
#endif
|
|
mov r0, #0x17
|
|
str r0, [sp]
|
|
mov r0, sl
|
|
add r2, r4, #0x14
|
|
bl DrawChar
|
|
_02335034:
|
|
add r0, r6, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r6, r0, asr #0x10
|
|
add r8, r8, #1
|
|
add sb, sb, #2
|
|
_02335048:
|
|
cmp r8, #0x12
|
|
blt _02334FF8
|
|
_02335050:
|
|
cmp r7, #0
|
|
bne _0233506C
|
|
add r0, r5, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r5, r0, asr #0x10
|
|
_02335064:
|
|
cmp r5, #2
|
|
blt _02334FE8
|
|
_0233506C:
|
|
mov r0, sl
|
|
bl ov01_02335088
|
|
mov r0, sl
|
|
bl UpdateWindow
|
|
add sp, sp, #0x204
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02335084: .word ov01_0233C1A0
|
|
#ifdef JAPAN
|
|
_023368E0: .word 0x00008140
|
|
#endif
|
|
arm_func_end ov01_02334F2C
|
|
|
|
arm_func_start ov01_02335088
|
|
ov01_02335088: ; 0x02335088
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r1, _02335150 ; =ov01_0233C1A0
|
|
mov r4, r0
|
|
ldr r2, [r1, #4]
|
|
ldr r1, [r2, #8]
|
|
cmp r1, #0
|
|
beq _023350B0
|
|
cmp r1, #1
|
|
beq _023350EC
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_023350B0:
|
|
ldr r1, [r2, #0x990]
|
|
mov r3, #0x74
|
|
ldr r2, [r1, #0x18]
|
|
cmp r2, #0x12
|
|
bge _023350DC
|
|
mov r1, #0xc
|
|
mul r1, r2, r1
|
|
add r2, r1, #0x14
|
|
mov r1, #5
|
|
bl sub_020288FC
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_023350DC:
|
|
mov r1, #5
|
|
mov r2, #0xe0
|
|
bl sub_020288FC
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_023350EC:
|
|
ldr r1, [r2, #0x994]
|
|
ldr r5, [r1, #0x18]
|
|
cmp r5, #0x24
|
|
bge _0233513C
|
|
mov r0, r5
|
|
mov r1, #0x12
|
|
bl _s32_div_f
|
|
mov r6, r1
|
|
mov r0, r5
|
|
mov r1, #0x12
|
|
bl _s32_div_f
|
|
mov r1, #0xc
|
|
mul r2, r6, r1
|
|
mov r1, r0, lsl #4
|
|
add r3, r1, #0x84
|
|
mov r0, r4
|
|
add r2, r2, #0x14
|
|
mov r1, #5
|
|
bl sub_020288FC
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0233513C:
|
|
mov r1, #5
|
|
mov r2, #0xe0
|
|
mov r3, #0x94
|
|
bl sub_020288FC
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02335150: .word ov01_0233C1A0
|
|
arm_func_end ov01_02335088
|
|
|
|
arm_func_start ov01_02335154
|
|
ov01_02335154: ; 0x02335154
|
|
#ifdef EUROPE
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
#else
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
#endif
|
|
ldr r1, _02335204 ; =ov01_0233C1A0
|
|
ldr r2, [r1, #4]
|
|
ldr r1, [r2, #8]
|
|
cmp r1, #0
|
|
beq _02335178
|
|
cmp r1, #1
|
|
beq _02335184
|
|
#ifdef EUROPE
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
#else
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
#endif
|
|
_02335178:
|
|
ldr r4, [r2, #0x990]
|
|
ldr r2, [r4, #0xc]
|
|
b _0233518C
|
|
_02335184:
|
|
ldr r4, [r2, #0x994]
|
|
ldr r2, [r4, #0xc]
|
|
_0233518C:
|
|
ldr r1, [r4, #0x14]
|
|
adds r0, r1, r0
|
|
str r0, [r4, #0x14]
|
|
movmi r0, #0
|
|
strmi r0, [r4, #0x14]
|
|
bmi _023351AC
|
|
cmp r0, r2
|
|
strgt r2, [r4, #0x14]
|
|
_023351AC:
|
|
#ifdef EUROPE
|
|
ldr r7, [r4, #0x14]
|
|
ldr r0, [r4, #0xc]
|
|
mov r8, #0
|
|
cmp r7, r0
|
|
mov r5, #0
|
|
movgt r7, r0
|
|
mov r6, r8
|
|
b _023359AC
|
|
_0233598C:
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r0, r8, lsl #2]
|
|
cmp r1, #0
|
|
beq _023359B4
|
|
mov r0, r6
|
|
bl ov01_02335654
|
|
add r5, r5, r0
|
|
add r8, r8, #1
|
|
_023359AC:
|
|
cmp r8, r7
|
|
blt _0233598C
|
|
_023359B4:
|
|
ldr r0, _02335204 ; =ov01_0233C1A0
|
|
str r5, [r4, #0x18]
|
|
#else
|
|
ldr r5, [r4, #0x14]
|
|
ldr r0, [r4, #0xc]
|
|
mov r7, #0
|
|
cmp r5, r0
|
|
movgt r5, r0
|
|
mov r6, #0
|
|
b _023351E4
|
|
_023351C8:
|
|
ldr r0, [r4, #4]
|
|
ldr r0, [r0, r6, lsl #2]
|
|
cmp r0, #0
|
|
beq _023351EC
|
|
bl ov01_02335654
|
|
add r7, r7, r0
|
|
add r6, r6, #1
|
|
_023351E4:
|
|
cmp r6, r5
|
|
blt _023351C8
|
|
_023351EC:
|
|
ldr r0, _02335204 ; =ov01_0233C1A0
|
|
str r7, [r4, #0x18]
|
|
#endif
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02335088
|
|
#ifdef EUROPE
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
#else
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
#endif
|
|
.align 2, 0
|
|
_02335204: .word ov01_0233C1A0
|
|
arm_func_end ov01_02335154
|
|
|
|
arm_func_start ov01_02335208
|
|
ov01_02335208: ; 0x02335208
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233527C ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0]
|
|
bl sub_0202BC60
|
|
ldr r0, _0233527C ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #2]
|
|
bl sub_0202F954
|
|
ldr r0, _0233527C ; =ov01_0233C1A0
|
|
ldr r0, [r0, #4]
|
|
ldrsb r0, [r0, #1]
|
|
bl sub_0202F334
|
|
ldr r0, _0233527C ; =ov01_0233C1A0
|
|
mov r2, #1
|
|
ldr r1, [r0, #4]
|
|
str r2, [r1, #4]
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #0x990]
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
ldrne r0, [r1, #0x994]
|
|
ldrne r0, [r0, #0xc]
|
|
cmpne r0, #0
|
|
movne r0, #2
|
|
strne r0, [r1, #0x1b8]
|
|
moveq r0, #1
|
|
streq r0, [r1, #0x1b8]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233527C: .word ov01_0233C1A0
|
|
arm_func_end ov01_02335208
|
|
|
|
arm_func_start ov01_02335280
|
|
ov01_02335280: ; 0x02335280
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r0, _023352E8 ; =ov01_0233C1A0
|
|
mov r1, #6
|
|
ldr r2, [r0, #4]
|
|
add r0, r2, #0x100
|
|
ldrsh r3, [r0, #0xac]
|
|
add r0, r2, #0x900
|
|
ldrsh r2, [r0, #0x8c]
|
|
add r0, r3, #0xfc
|
|
mov r0, r0, lsl #0x10
|
|
add r0, r2, r0, asr #16
|
|
mov r0, r0, lsl #0x10
|
|
mov r4, r0, asr #0x10
|
|
mov r0, r4
|
|
bl _s32_div_f
|
|
movs r6, r1
|
|
movne r5, #2
|
|
mov r0, r4
|
|
mov r1, #6
|
|
moveq r5, #0
|
|
bl _s32_div_f
|
|
add r0, r6, r0, lsl #3
|
|
add r0, r0, r5
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_023352E8: .word ov01_0233C1A0
|
|
arm_func_end ov01_02335280
|
|
|
|
arm_func_start ov01_023352EC
|
|
ov01_023352EC: ; 0x023352EC
|
|
ldr r1, _02335300 ; =ov01_0233C1A0
|
|
ldr ip, _02335304 ; =ov01_02334E50
|
|
ldr r1, [r1, #4]
|
|
ldr r1, [r1, #0x990]
|
|
bx ip
|
|
.align 2, 0
|
|
_02335300: .word ov01_0233C1A0
|
|
_02335304: .word ov01_02334E50
|
|
arm_func_end ov01_023352EC
|
|
|
|
arm_func_start ov01_02335308
|
|
ov01_02335308: ; 0x02335308
|
|
ldr r1, _0233531C ; =ov01_0233C1A0
|
|
ldr ip, _02335320 ; =ov01_02334E50
|
|
ldr r1, [r1, #4]
|
|
ldr r1, [r1, #0x994]
|
|
bx ip
|
|
.align 2, 0
|
|
_0233531C: .word ov01_0233C1A0
|
|
_02335320: .word ov01_02334E50
|
|
arm_func_end ov01_02335308
|
|
|
|
arm_func_start ov01_02335324
|
|
ov01_02335324: ; 0x02335324
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x54
|
|
mov r4, r1
|
|
mov r7, r0
|
|
mov r0, r4
|
|
mov r6, r2
|
|
bl ov01_02334B94
|
|
cmp r0, #0
|
|
beq _0233535C
|
|
cmp r0, #1
|
|
beq _0233554C
|
|
cmp r0, #2
|
|
beq _0233555C
|
|
b _023355B8
|
|
_0233535C:
|
|
mov r0, r4, asr #2
|
|
mov r2, r4, lsr #0x1f
|
|
add r0, r4, r0, lsr #29
|
|
rsb r1, r2, r4, lsl #29
|
|
mov r3, r0, asr #3
|
|
add r1, r2, r1, ror #29
|
|
mov r0, #6
|
|
mla r5, r3, r0, r1
|
|
cmp r5, #0xfc
|
|
bge _0233540C
|
|
ldr r0, _023355C4 ; =ov01_0233C1A0
|
|
mov r1, r5, lsl #1
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, r1]
|
|
bl StringFromId
|
|
mov r4, r0
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl ov01_02334BD8
|
|
cmp r0, #0
|
|
bne _023353F8
|
|
ldr r0, _023355C4 ; =ov01_0233C1A0
|
|
mov r1, r5, lsl #1
|
|
#ifdef JAPAN
|
|
ldr r2, [r0]
|
|
ldr r0, _02336E28 ; =0x00003BDC
|
|
ldrh r1, [r2, r1]
|
|
cmp r1, r0
|
|
bne _023353E4
|
|
add r0, r0, #0xfc
|
|
#else
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, r1]
|
|
cmp r0, #1
|
|
bne _023353E4
|
|
mov r0, #0xfd
|
|
#endif
|
|
bl StringFromId
|
|
mov r2, r0
|
|
ldr r1, _023355C8 ; =ov01_0233BAF0
|
|
mov r0, r7
|
|
bl ov01_0233562C
|
|
b _023355B8
|
|
_023353E4:
|
|
ldr r1, _023355CC ; =ov01_0233BAF4
|
|
mov r0, r7
|
|
mov r2, r4
|
|
bl ov01_0233562C
|
|
b _023355B8
|
|
_023353F8:
|
|
ldr r1, _023355C8 ; =ov01_0233BAF0
|
|
mov r0, r7
|
|
mov r2, r4
|
|
bl ov01_0233562C
|
|
b _023355B8
|
|
_0233540C:
|
|
ldr r0, _023355C4 ; =ov01_0233C1A0
|
|
ldr r2, [r0, #4]
|
|
add r0, r2, #0x100
|
|
ldrsh r0, [r0, #0xac]
|
|
add r1, r0, #0xfc
|
|
cmp r5, r1
|
|
bge _02335488
|
|
bl AllocateTemp1024ByteBufferFromPool
|
|
ldr r1, _023355C4 ; =ov01_0233C1A0
|
|
sub r2, r5, #0xfc
|
|
ldr r3, [r1, #4]
|
|
mov r1, r2, lsl #1
|
|
ldr r2, [r3, #0x1b0]
|
|
mov r4, r0
|
|
ldrsh r1, [r2, r1]
|
|
bl GetNameRaw
|
|
mov r0, r6
|
|
mov r1, r4
|
|
bl ov01_02334BD8
|
|
cmp r0, #0
|
|
bne _02335474
|
|
ldr r1, _023355CC ; =ov01_0233BAF4
|
|
mov r0, r7
|
|
mov r2, r4
|
|
bl ov01_0233562C
|
|
b _023355B8
|
|
_02335474:
|
|
ldr r1, _023355C8 ; =ov01_0233BAF0
|
|
mov r0, r7
|
|
mov r2, r4
|
|
bl ov01_0233562C
|
|
b _023355B8
|
|
_02335488:
|
|
add r0, r2, #0x900
|
|
ldrsh r0, [r0, #0x8c]
|
|
add r0, r1, r0
|
|
cmp r5, r0
|
|
bge _023355B8
|
|
sub r0, r5, r1
|
|
add r0, r2, r0, lsl #1
|
|
add r0, r0, #0x100
|
|
ldrsh r1, [r0, #0xbc]
|
|
add r0, sp, #0
|
|
mov r2, #0
|
|
bl sub_0200D214
|
|
ldrb r0, [sp]
|
|
mov r4, #0
|
|
cmp r0, #0x5b
|
|
bne _02335508
|
|
mov r2, r4
|
|
add r1, sp, #0
|
|
b _02335500
|
|
_023354D4:
|
|
ldrb r0, [r1, r2]
|
|
cmp r0, #0
|
|
beq _02335508
|
|
cmp r0, #0x5d
|
|
addeq r0, r2, #1
|
|
moveq r0, r0, lsl #0x10
|
|
moveq r4, r0, asr #0x10
|
|
beq _02335508
|
|
add r0, r2, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r2, r0, asr #0x10
|
|
_02335500:
|
|
cmp r2, #0x51
|
|
blt _023354D4
|
|
_02335508:
|
|
add r1, sp, #0
|
|
mov r0, r6
|
|
add r1, r1, r4
|
|
bl ov01_02334BD8
|
|
cmp r0, #0
|
|
add r2, sp, #0
|
|
bne _02335538
|
|
ldr r1, _023355CC ; =ov01_0233BAF4
|
|
mov r0, r7
|
|
add r2, r2, r4
|
|
bl ov01_0233562C
|
|
b _023355B8
|
|
_02335538:
|
|
ldr r1, _023355C8 ; =ov01_0233BAF0
|
|
mov r0, r7
|
|
add r2, r2, r4
|
|
bl ov01_0233562C
|
|
b _023355B8
|
|
_0233554C:
|
|
ldr r1, _023355D0 ; =0x00000102
|
|
mov r0, r7
|
|
bl GetStringFromFileVeneer
|
|
b _023355B8
|
|
_0233555C:
|
|
ldr r0, _023355C4 ; =ov01_0233C1A0
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #0x990]
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
ldrgt r0, [r1, #0x994]
|
|
ldrgt r0, [r0, #0xc]
|
|
cmpgt r0, #0
|
|
ble _02335590
|
|
ldr r1, _023355D4 ; =0x00000103
|
|
mov r0, r7
|
|
bl GetStringFromFileVeneer
|
|
b _023355B8
|
|
_02335590:
|
|
ldr r0, [r1, #8]
|
|
cmp r0, #0
|
|
bne _023355AC
|
|
ldr r1, _023355D8 ; =0x00000101
|
|
mov r0, r7
|
|
bl GetStringFromFileVeneer
|
|
b _023355B8
|
|
_023355AC:
|
|
#ifdef JAPAN
|
|
ldr r1, _02336E40 ; =0x00003CDB
|
|
mov r0, r7
|
|
#else
|
|
mov r0, r7
|
|
mov r1, #0x100
|
|
#endif
|
|
bl GetStringFromFileVeneer
|
|
_023355B8:
|
|
mov r0, r7
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_023355C4: .word ov01_0233C1A0
|
|
#ifdef JAPAN
|
|
_02336E28: .word 0x00003BDC
|
|
#endif
|
|
_023355C8: .word ov01_0233BAF0
|
|
_023355CC: .word ov01_0233BAF4
|
|
#ifdef JAPAN
|
|
_023355D0: .word 0x00003CDD
|
|
_023355D4: .word 0x00003CDE
|
|
_023355D8: .word 0x00003CDC
|
|
_02336E40: .word 0x00003CDB
|
|
#else
|
|
_023355D0: .word 0x00000102
|
|
_023355D4: .word 0x00000103
|
|
_023355D8: .word 0x00000101
|
|
#endif
|
|
arm_func_end ov01_02335324
|
|
|
|
arm_func_start ov01_023355DC
|
|
ov01_023355DC: ; 0x023355DC
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, _02335628 ; =ov01_0233C1A0
|
|
mov r4, r0
|
|
ldr r3, [r2, #4]
|
|
ldr r2, [r3, #8]
|
|
cmp r2, #0
|
|
bne _02335604
|
|
ldr r2, [r3, #0x990]
|
|
bl ov01_02335324
|
|
b _02335620
|
|
_02335604:
|
|
cmp r2, #1
|
|
bne _02335618
|
|
ldr r2, [r3, #0x994]
|
|
bl ov01_02335324
|
|
b _02335620
|
|
_02335618:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_02335620:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02335628: .word ov01_0233C1A0
|
|
arm_func_end ov01_023355DC
|
|
|
|
arm_func_start ov01_0233562C
|
|
ov01_0233562C: ; 0x0233562C
|
|
stmdb sp!, {r0, r1, r2, r3}
|
|
stmdb sp!, {r3, lr}
|
|
add r2, sp, #0xc
|
|
bic r2, r2, #3
|
|
ldr r1, [sp, #0xc]
|
|
add r2, r2, #4
|
|
bl vsprintf
|
|
ldmia sp!, {r3, lr}
|
|
add sp, sp, #0x10
|
|
bx lr
|
|
arm_func_end ov01_0233562C
|
|
|
|
arm_func_start ov01_02335654
|
|
ov01_02335654: ; 0x02335654
|
|
#ifdef EUROPE
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r4, r1
|
|
#else
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
#endif
|
|
str r4, [sp]
|
|
ldrb r1, [r4]
|
|
#ifdef EUROPE
|
|
mov r6, r0
|
|
#endif
|
|
mov r5, #0
|
|
cmp r1, #0x5b
|
|
bne _0233569C
|
|
ldr r1, _02335720 ; =ov01_0233BB04
|
|
#ifdef EUROPE
|
|
mov r0, r4
|
|
#endif
|
|
bl strcmp
|
|
cmp r0, #0
|
|
beq _02335694
|
|
ldr r1, _02335724 ; =ov01_0233BB0C
|
|
mov r0, r4
|
|
bl strcmp
|
|
cmp r0, #0
|
|
bne _0233569C
|
|
_02335694:
|
|
mov r0, #1
|
|
#ifdef EUROPE
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
#else
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
#endif
|
|
_0233569C:
|
|
add r4, sp, #0
|
|
b _02335708
|
|
_023356A4:
|
|
mov r0, r4
|
|
bl sub_0202065C
|
|
cmp r0, #0x5b
|
|
bne _02335704
|
|
ldr r1, [sp]
|
|
ldrb r0, [r1]
|
|
cmp r0, #0x46
|
|
ldreqb r0, [r1, #1]
|
|
cmpeq r0, #0x3a
|
|
bne _023356E8
|
|
#ifdef EUROPE
|
|
add r7, r1, #2
|
|
mov r0, r7
|
|
b _023356D8
|
|
_023356D4:
|
|
add r7, r7, #1
|
|
_023356D8:
|
|
ldrb r1, [r7]
|
|
cmp r1, #0x5d
|
|
bne _023356D4
|
|
bl sub_0202380C_EU
|
|
add r1, r7, #1
|
|
str r1, [sp]
|
|
b _02335704
|
|
#else
|
|
add r1, r1, #3
|
|
b _023356D8
|
|
_023356D4:
|
|
add r1, r1, #1
|
|
_023356D8:
|
|
ldrb r0, [r1]
|
|
cmp r0, #0x5d
|
|
bne _023356D4
|
|
b _02335704
|
|
#endif
|
|
_023356E8:
|
|
mov r0, r4
|
|
bl sub_0202065C
|
|
cmp r0, #0
|
|
beq _02335708
|
|
cmp r0, #0x5d
|
|
bne _023356E8
|
|
b _02335708
|
|
_02335704:
|
|
#ifdef EUROPE
|
|
cmp r6, #0
|
|
movne r1, r5, lsl #1
|
|
strneh r0, [r6, r1]
|
|
#endif
|
|
add r5, r5, #1
|
|
_02335708:
|
|
ldr r0, [sp]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _023356A4
|
|
#ifdef EUROPE
|
|
cmp r6, #0
|
|
movne r0, r5, lsl #1
|
|
movne r1, #0
|
|
strneh r1, [r6, r0]
|
|
#endif
|
|
mov r0, r5
|
|
#ifdef EUROPE
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
#else
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
#endif
|
|
.align 2, 0
|
|
_02335720: .word ov01_0233BB04
|
|
_02335724: .word ov01_0233BB0C
|
|
arm_func_end ov01_02335654
|
|
|
|
arm_func_start ov01_02335728
|
|
ov01_02335728: ; 0x02335728
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r0, #0x20
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
mov r4, r0
|
|
mov r0, r5, lsl #8
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
str r0, [r4]
|
|
mov r0, r5, lsl #1
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
str r0, [r4, #8]
|
|
mov r0, r5, lsl #2
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
mov r3, #0
|
|
str r0, [r4, #4]
|
|
mov r2, r3
|
|
b _0233579C
|
|
_0233577C:
|
|
ldr r1, [r4]
|
|
mov r0, r3, lsl #1
|
|
strb r2, [r1, r3, lsl #8]
|
|
ldr r1, [r4, #8]
|
|
strh r2, [r1, r0]
|
|
ldr r0, [r4, #4]
|
|
str r2, [r0, r3, lsl #2]
|
|
add r3, r3, #1
|
|
_0233579C:
|
|
cmp r3, r5
|
|
blt _0233577C
|
|
mov r1, #0
|
|
str r1, [r4, #0xc]
|
|
str r5, [r4, #0x10]
|
|
str r1, [r4, #0x18]
|
|
str r5, [r4, #0x1c]
|
|
mov r0, r4
|
|
str r1, [r4, #0x14]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov01_02335728
|
|
|
|
arm_func_start ov01_023357C4
|
|
ov01_023357C4: ; 0x023357C4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #8]
|
|
bl MemFree
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #4]
|
|
bl MemFree
|
|
ldr r0, [r4]
|
|
bl MemFree
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov01_023357C4
|
|
|
|
arm_func_start ov01_0233580C
|
|
ov01_0233580C: ; 0x0233580C
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
mov r5, r1
|
|
mov r0, #0xe8
|
|
mov r1, #8
|
|
mov r4, r2
|
|
bl MemAlloc
|
|
ldr r2, _02335844 ; =ov01_0233C1A8
|
|
mov r1, r4
|
|
str r0, [r2]
|
|
str r6, [r0, #0xd8]
|
|
mov r0, r5
|
|
bl ov01_02335930
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02335844: .word ov01_0233C1A8
|
|
arm_func_end ov01_0233580C
|
|
|
|
#ifndef EUROPE
|
|
arm_func_start ov01_02335848
|
|
ov01_02335848: ; 0x02335848
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov r7, r0
|
|
mov sl, r1
|
|
mov r0, #0xe8
|
|
mov r1, #8
|
|
mov fp, r2
|
|
mov r4, r3
|
|
bl MemAlloc
|
|
mov r5, #0
|
|
ldr r1, _0233592C ; =ov01_0233C1A8
|
|
mov r2, #0x3e8
|
|
str r0, [r1]
|
|
str r7, [r0, #0xd8]
|
|
mov r0, r4
|
|
mov r1, r4, asr #0x1f
|
|
mov r3, r5
|
|
mov r6, #0x64
|
|
mov sb, r5
|
|
bl _ull_mod
|
|
mov r7, r0
|
|
mov r8, r1
|
|
mov r4, r5
|
|
b _0233590C
|
|
_023358A4:
|
|
mov r0, r7
|
|
mov r1, r8
|
|
mov r2, r6
|
|
mov r3, sb
|
|
bl _ll_udiv
|
|
ldr r1, _0233592C ; =ov01_0233C1A8
|
|
mov r3, sb
|
|
ldr r2, [r1]
|
|
mov r1, r8
|
|
add r2, r2, r5
|
|
strb r0, [r2, #0xe0]
|
|
mov r0, r7
|
|
mov r2, r6
|
|
bl _ull_mod
|
|
mov r7, r0
|
|
mov r8, r1
|
|
mov r0, r6
|
|
mov r1, sb
|
|
mov r2, #0xa
|
|
mov r3, #0
|
|
bl _ll_udiv
|
|
mov r6, r0
|
|
add r0, r5, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov sb, r1
|
|
mov r5, r0, asr #0x10
|
|
_0233590C:
|
|
mov r0, #0
|
|
cmp sb, r0
|
|
cmpeq r6, r4
|
|
bne _023358A4
|
|
mov r0, sl
|
|
mov r1, fp
|
|
bl ov01_02335930
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0233592C: .word ov01_0233C1A8
|
|
arm_func_end ov01_02335848
|
|
#endif
|
|
|
|
arm_func_start ov01_02335930
|
|
ov01_02335930: ; 0x02335930
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x208
|
|
ldr r7, _02335F58 ; =ov01_0233C1A8
|
|
ldr r2, [r7]
|
|
ldr r2, [r2, #0xd8]
|
|
cmp r2, #4
|
|
addls pc, pc, r2, lsl #2
|
|
b _02335AE8
|
|
_02335950: ; jump table
|
|
b _02335AE8 ; case 0
|
|
b _02335AE8 ; case 1
|
|
b _02335AE8 ; case 2
|
|
b _02335964 ; case 3
|
|
b _02335A24 ; case 4
|
|
_02335964:
|
|
mov r4, #0xc
|
|
ldr r8, _02335F5C ; =ov01_0233BC14
|
|
mov sb, #0
|
|
mov r2, #4
|
|
mov r3, #0xe
|
|
mov sl, r4
|
|
_0233597C:
|
|
smulbb r5, sb, sl
|
|
ldr r6, [r8, sb, lsl #2]
|
|
ldr fp, [r7]
|
|
add r5, r5, #6
|
|
add fp, fp, r6, lsl #3
|
|
strh r5, [fp, #0x16]
|
|
ldr fp, [r7]
|
|
add r5, sb, #1
|
|
add sb, fp, r6, lsl #3
|
|
strh r2, [sb, #0x18]
|
|
ldr sb, [r7]
|
|
mov r5, r5, lsl #0x10
|
|
add sb, sb, r6, lsl #3
|
|
strh r4, [sb, #0x1a]
|
|
ldr fp, [r7]
|
|
mov sb, r5, asr #0x10
|
|
add r5, fp, r6, lsl #3
|
|
strh r3, [r5, #0x1c]
|
|
cmp sb, #4
|
|
blt _0233597C
|
|
ldr r5, _02335F5C ; =ov01_0233BC14
|
|
ldr r6, _02335F58 ; =ov01_0233C1A8
|
|
mov r3, #0
|
|
_023359D8:
|
|
ldr r4, [r5, r2, lsl #2]
|
|
ldr r7, [r6]
|
|
add r2, r2, #1
|
|
add r7, r7, r4, lsl #3
|
|
strh r3, [r7, #0x16]
|
|
ldr r7, [r6]
|
|
mov r2, r2, lsl #0x10
|
|
add r7, r7, r4, lsl #3
|
|
strh r3, [r7, #0x18]
|
|
ldr r7, [r6]
|
|
mov r2, r2, asr #0x10
|
|
add r7, r7, r4, lsl #3
|
|
strh r3, [r7, #0x1a]
|
|
ldr r7, [r6]
|
|
cmp r2, #0xc
|
|
add r4, r7, r4, lsl #3
|
|
strh r3, [r4, #0x1c]
|
|
blt _023359D8
|
|
b _02335B60
|
|
_02335A24:
|
|
mov sb, #0xc
|
|
ldr r3, _02335F5C ; =ov01_0233BC14
|
|
mov r5, #0
|
|
mov r4, #4
|
|
mov r8, #0xe
|
|
mov r6, sb
|
|
_02335A3C:
|
|
add r2, r5, #5
|
|
mul fp, r2, r6
|
|
ldr r2, [r3, r5, lsl #2]
|
|
ldr sl, [r7]
|
|
add fp, fp, #0x1e
|
|
add sl, sl, r2, lsl #3
|
|
strh fp, [sl, #0x16]
|
|
ldr sl, [r7]
|
|
add r5, r5, #1
|
|
add sl, sl, r2, lsl #3
|
|
strh r4, [sl, #0x18]
|
|
ldr sl, [r7]
|
|
mov r5, r5, lsl #0x10
|
|
add sl, sl, r2, lsl #3
|
|
strh sb, [sl, #0x1a]
|
|
ldr sl, [r7]
|
|
mov r5, r5, asr #0x10
|
|
add r2, sl, r2, lsl #3
|
|
strh r8, [r2, #0x1c]
|
|
cmp r5, #4
|
|
blt _02335A3C
|
|
ldr r5, _02335F5C ; =ov01_0233BC14
|
|
ldr r6, _02335F58 ; =ov01_0233C1A8
|
|
mov r2, #0
|
|
_02335A9C:
|
|
ldr r3, [r5, r4, lsl #2]
|
|
ldr r7, [r6]
|
|
add r4, r4, #1
|
|
add r7, r7, r3, lsl #3
|
|
strh r2, [r7, #0x16]
|
|
ldr r7, [r6]
|
|
mov r4, r4, lsl #0x10
|
|
add r7, r7, r3, lsl #3
|
|
strh r2, [r7, #0x18]
|
|
ldr r7, [r6]
|
|
mov r4, r4, asr #0x10
|
|
add r7, r7, r3, lsl #3
|
|
strh r2, [r7, #0x1a]
|
|
ldr r7, [r6]
|
|
cmp r4, #0xc
|
|
add r3, r7, r3, lsl #3
|
|
strh r2, [r3, #0x1c]
|
|
blt _02335A9C
|
|
b _02335B60
|
|
_02335AE8:
|
|
mov r8, #0xc
|
|
ldr r3, _02335F5C ; =ov01_0233BC14
|
|
ldr r6, _02335F58 ; =ov01_0233C1A8
|
|
mov r4, #0
|
|
mov sb, #4
|
|
mov r7, #0xe
|
|
mov r5, r8
|
|
_02335B04:
|
|
mov r2, r4, asr #1
|
|
add r2, r4, r2, lsr #30
|
|
add r2, r4, r2, asr #2
|
|
mul fp, r2, r5
|
|
ldr r2, [r3, r4, lsl #2]
|
|
ldr sl, [r6]
|
|
add fp, fp, #6
|
|
add sl, sl, r2, lsl #3
|
|
strh fp, [sl, #0x16]
|
|
ldr sl, [r6]
|
|
add r4, r4, #1
|
|
add sl, sl, r2, lsl #3
|
|
strh sb, [sl, #0x18]
|
|
ldr sl, [r6]
|
|
mov r4, r4, lsl #0x10
|
|
add sl, sl, r2, lsl #3
|
|
strh r8, [sl, #0x1a]
|
|
ldr sl, [r6]
|
|
mov r4, r4, asr #0x10
|
|
add r2, sl, r2, lsl #3
|
|
strh r7, [r2, #0x1c]
|
|
cmp r4, #0xc
|
|
blt _02335B04
|
|
_02335B60:
|
|
ldr r4, _02335F60 ; =ov01_0233BC44
|
|
ldr r6, _02335F58 ; =ov01_0233C1A8
|
|
mov r5, #0
|
|
mov r2, #0xc
|
|
mov r8, #0xe
|
|
_02335B74:
|
|
ldr r3, [r4, r5, lsl #2]
|
|
ldr r7, [r6]
|
|
mov sb, r5, lsl #4
|
|
add sb, sb, #0x10
|
|
add r7, r7, r3, lsl #3
|
|
strh sb, [r7, #0x16]
|
|
ldr r7, [r6]
|
|
add r5, r5, #1
|
|
add r7, r7, r3, lsl #3
|
|
strh r2, [r7, #0x18]
|
|
ldr r7, [r6]
|
|
mov r5, r5, lsl #0x10
|
|
add r7, r7, r3, lsl #3
|
|
strh r2, [r7, #0x1a]
|
|
ldr r7, [r6]
|
|
mov r5, r5, asr #0x10
|
|
add r3, r7, r3, lsl #3
|
|
strh r8, [r3, #0x1c]
|
|
cmp r5, #0xb
|
|
blt _02335B74
|
|
ldr r4, _02335F58 ; =ov01_0233C1A8
|
|
mov r5, #0x24
|
|
ldr r3, [r4]
|
|
mov r2, #0
|
|
strh r5, [r3, #0xca]
|
|
ldr r5, [r4]
|
|
mov r6, #0xa
|
|
ldrsh r3, [r5, #0xc8]
|
|
sub r3, r3, #9
|
|
strh r3, [r5, #0xc8]
|
|
ldr r5, [r4]
|
|
ldrsh r3, [r5, #0xc6]
|
|
strh r3, [r5, #0xce]
|
|
ldr r5, [r4]
|
|
ldrsh r3, [r5, #0xc8]
|
|
add r3, r3, #0x10
|
|
strh r3, [r5, #0xd0]
|
|
ldr r5, [r4]
|
|
ldrsh r3, [r5, #0xca]
|
|
strh r3, [r5, #0xd2]
|
|
ldr r5, [r4]
|
|
ldrsh r3, [r5, #0xcc]
|
|
strh r3, [r5, #0xd4]
|
|
_02335C20:
|
|
add r3, r2, #1
|
|
ldr r5, [r4]
|
|
mov r3, r3, lsl #0x10
|
|
add r5, r5, r2
|
|
mov r2, r3, asr #0x10
|
|
strb r6, [r5, #8]
|
|
cmp r2, #0xc
|
|
blt _02335C20
|
|
ldr r2, _02335F64 ; =0xD4A51000
|
|
cmp r1, #0xe8
|
|
cmpeq r0, r2
|
|
beq _02335D2C
|
|
ldr r2, _02335F58 ; =ov01_0233C1A8
|
|
ldr r2, [r2]
|
|
ldr r2, [r2, #0xd8]
|
|
cmp r2, #4
|
|
addls pc, pc, r2, lsl #2
|
|
b _02335C88
|
|
_02335C68: ; jump table
|
|
b _02335C88 ; case 0
|
|
b _02335C88 ; case 1
|
|
b _02335C88 ; case 2
|
|
b _02335C7C ; case 3
|
|
b _02335C7C ; case 4
|
|
_02335C7C:
|
|
mov r5, #0x3e8
|
|
mov sb, #0
|
|
b _02335C90
|
|
_02335C88:
|
|
ldr r5, _02335F68 ; =0x4876E800
|
|
mov sb, #0x17
|
|
_02335C90:
|
|
mov r4, #0xa
|
|
umull r2, r3, r5, r4
|
|
mla r3, sb, r4, r3
|
|
mov r7, #0
|
|
bl _ull_mod
|
|
mov r6, r0
|
|
mov r8, r1
|
|
ldr sl, _02335F58 ; =ov01_0233C1A8
|
|
mov fp, r7
|
|
mov r4, r7
|
|
b _02335D20
|
|
_02335CBC:
|
|
mov r0, r6
|
|
mov r1, r8
|
|
mov r2, r5
|
|
mov r3, sb
|
|
bl _ll_udiv
|
|
ldr r2, [sl]
|
|
mov r1, r8
|
|
add r2, r2, r7
|
|
strb r0, [r2, #8]
|
|
mov r0, r6
|
|
mov r2, r5
|
|
mov r3, sb
|
|
bl _ull_mod
|
|
mov r6, r0
|
|
mov r8, r1
|
|
mov r0, r5
|
|
mov r1, sb
|
|
mov r2, #0xa
|
|
mov r3, #0
|
|
bl _ll_udiv
|
|
mov r5, r0
|
|
add r0, r7, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov sb, r1
|
|
mov r7, r0, asr #0x10
|
|
_02335D20:
|
|
cmp sb, fp
|
|
cmpeq r5, r4
|
|
bne _02335CBC
|
|
_02335D2C:
|
|
ldr r0, _02335F58 ; =ov01_0233C1A8
|
|
mov r4, #0
|
|
ldr r2, [r0]
|
|
ldr r1, _02335F6C ; =ov01_0233CA70
|
|
strb r4, [r2, #0x15]
|
|
ldr r3, [r0]
|
|
sub r2, r4, #1
|
|
strb r4, [r3, #0x14]
|
|
ldr r3, [r0]
|
|
ldr r0, _02335F70 ; =ov01_0233BB58
|
|
str r4, [r3, #0xdc]
|
|
str r2, [r1]
|
|
str r2, [r1, #4]
|
|
bl CreateDialogueBox
|
|
ldr r2, _02335F58 ; =ov01_0233C1A8
|
|
#ifdef JAPAN
|
|
ldr r1, _023377DC ; =0x00003CDF
|
|
#else
|
|
mov r1, #0x104
|
|
#endif
|
|
ldr r2, [r2]
|
|
strb r0, [r2]
|
|
add r0, sp, #8
|
|
bl GetStringFromFileVeneer
|
|
ldr r0, _02335F58 ; =ov01_0233C1A8
|
|
ldr r1, _02335F74 ; =0x00000404
|
|
ldr r0, [r0]
|
|
add r2, sp, #8
|
|
ldrsb r0, [r0]
|
|
mov r3, r4
|
|
bl ShowStringInDialogueBox
|
|
ldr r0, _02335F58 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0xd8]
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _02335E1C
|
|
_02335DB0: ; jump table
|
|
b _02335E1C ; case 0
|
|
b _02335E1C ; case 1
|
|
b _02335E1C ; case 2
|
|
b _02335DC4 ; case 3
|
|
b _02335DF0 ; case 4
|
|
_02335DC4:
|
|
mov r2, r4
|
|
str r2, [sp]
|
|
ldr r0, _02335F78 ; =ov01_0233BB48
|
|
ldr r3, _02335F7C ; =ov01_02336664
|
|
mov r1, #0x400000
|
|
str r2, [sp, #4]
|
|
bl CreateAdvancedTextBox
|
|
ldr r1, _02335F58 ; =ov01_0233C1A8
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #1]
|
|
b _02335E44
|
|
_02335DF0:
|
|
mov r2, r4
|
|
str r2, [sp]
|
|
ldr r0, _02335F80 ; =ov01_0233BB18
|
|
ldr r3, _02335F84 ; =ov01_02336730
|
|
mov r1, #0x400000
|
|
str r2, [sp, #4]
|
|
bl CreateAdvancedTextBox
|
|
ldr r1, _02335F58 ; =ov01_0233C1A8
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #1]
|
|
b _02335E44
|
|
_02335E1C:
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
ldr r0, _02335F80 ; =ov01_0233BB18
|
|
ldr r3, _02335F88 ; =ov01_02336540
|
|
mov r1, #0x400000
|
|
str r2, [sp, #4]
|
|
bl CreateAdvancedTextBox
|
|
ldr r1, _02335F58 ; =ov01_0233C1A8
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #1]
|
|
_02335E44:
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
ldr r0, _02335F8C ; =ov01_0233BB68
|
|
ldr r3, _02335F90 ; =ov01_02336890
|
|
mov r1, #0x400000
|
|
str r2, [sp, #4]
|
|
bl CreateAdvancedTextBox
|
|
ldr r1, _02335F58 ; =ov01_0233C1A8
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #2]
|
|
ldr r0, _02335F94 ; =ov01_0233BB78
|
|
bl CreateDialogueBox
|
|
ldr r1, _02335F58 ; =ov01_0233C1A8
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #3]
|
|
ldr r3, [r1]
|
|
ldr r0, [r3, #0xd8]
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _02335EF8
|
|
_02335E94: ; jump table
|
|
b _02335EA8 ; case 0
|
|
b _02335EB8 ; case 1
|
|
b _02335EC8 ; case 2
|
|
b _02335ED8 ; case 3
|
|
b _02335EE8 ; case 4
|
|
_02335EA8:
|
|
ldr r1, _02335F98 ; =0x00000105
|
|
add r0, sp, #8
|
|
bl GetStringFromFileVeneer
|
|
b _02335F0C
|
|
_02335EB8:
|
|
ldr r1, _02335F9C ; =0x00000106
|
|
add r0, sp, #8
|
|
bl GetStringFromFileVeneer
|
|
b _02335F0C
|
|
_02335EC8:
|
|
ldr r1, _02335FA0 ; =0x00000109
|
|
add r0, sp, #8
|
|
bl GetStringFromFileVeneer
|
|
b _02335F0C
|
|
_02335ED8:
|
|
ldr r1, _02335FA4 ; =0x00000107
|
|
add r0, sp, #8
|
|
bl GetStringFromFileVeneer
|
|
b _02335F0C
|
|
_02335EE8:
|
|
#ifdef JAPAN
|
|
ldr r1, _02337814 ; =0x00003CE3
|
|
add r0, sp, #8
|
|
#else
|
|
add r0, sp, #8
|
|
mov r1, #0x108
|
|
#endif
|
|
bl GetStringFromFileVeneer
|
|
b _02335F0C
|
|
_02335EF8:
|
|
ldr r1, _02335F98 ; =0x00000105
|
|
mov r2, #0
|
|
add r0, sp, #8
|
|
str r2, [r3, #0xd8]
|
|
bl GetStringFromFileVeneer
|
|
_02335F0C:
|
|
ldr r0, _02335F58 ; =ov01_0233C1A8
|
|
ldr r1, _02335F74 ; =0x00000404
|
|
ldr r0, [r0]
|
|
add r2, sp, #8
|
|
ldrsb r0, [r0, #3]
|
|
mov r3, #0
|
|
bl ShowStringInDialogueBox
|
|
ldr r1, _02335F58 ; =ov01_0233C1A8
|
|
mov r4, #0
|
|
ldr r0, [r1]
|
|
sub r2, r4, #1
|
|
str r4, [r0, #4]
|
|
ldr r3, [r1]
|
|
mov r0, #1
|
|
str r4, [r3, #0xdc]
|
|
ldr r1, [r1]
|
|
strh r2, [r1, #0xe4]
|
|
add sp, sp, #0x208
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02335F58: .word ov01_0233C1A8
|
|
_02335F5C: .word ov01_0233BC14
|
|
_02335F60: .word ov01_0233BC44
|
|
_02335F64: .word 0xD4A51000
|
|
_02335F68: .word 0x4876E800
|
|
_02335F6C: .word ov01_0233CA70
|
|
_02335F70: .word ov01_0233BB58
|
|
#ifdef JAPAN
|
|
_023377DC: .word 0x00003CDF
|
|
#endif
|
|
_02335F74: .word 0x00000404
|
|
_02335F78: .word ov01_0233BB48
|
|
_02335F7C: .word ov01_02336664
|
|
_02335F80: .word ov01_0233BB18
|
|
_02335F84: .word ov01_02336730
|
|
_02335F88: .word ov01_02336540
|
|
_02335F8C: .word ov01_0233BB68
|
|
_02335F90: .word ov01_02336890
|
|
_02335F94: .word ov01_0233BB78
|
|
#ifdef JAPAN
|
|
_02335F98: .word 0x00003CE0
|
|
_02335F9C: .word 0x00003CE1
|
|
_02335FA0: .word 0x00003CE4
|
|
_02335FA4: .word 0x00003CE2
|
|
_02337814: .word 0x00003CE3
|
|
#else
|
|
_02335F98: .word 0x00000105
|
|
_02335F9C: .word 0x00000106
|
|
_02335FA0: .word 0x00000109
|
|
_02335FA4: .word 0x00000107
|
|
#endif
|
|
arm_func_end ov01_02335930
|
|
|
|
arm_func_start ov01_02335FA8
|
|
ov01_02335FA8: ; 0x02335FA8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02336010 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldrsb r0, [r0]
|
|
bl CloseDialogueBox
|
|
ldr r0, _02336010 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl CloseAdvancedTextBox
|
|
ldr r0, _02336010 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
bl CloseAdvancedTextBox
|
|
ldr r0, _02336010 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
bl CloseDialogueBox
|
|
ldr r0, _02336010 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _02336010 ; =ov01_0233C1A8
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02336010: .word ov01_0233C1A8
|
|
arm_func_end ov01_02335FA8
|
|
|
|
arm_func_start ov01_02336014
|
|
ov01_02336014: ; 0x02336014
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #4]
|
|
cmp r1, #4
|
|
addls pc, pc, r1, lsl #2
|
|
b _02336528
|
|
_02336034: ; jump table
|
|
b _02336048 ; case 0
|
|
b _02336314 ; case 1
|
|
b _02336494 ; case 2
|
|
b _02336514 ; case 3
|
|
b _02336520 ; case 4
|
|
_02336048:
|
|
ldr r0, [r2, #0xd8]
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _023360E4
|
|
_02336058: ; jump table
|
|
b _023360E4 ; case 0
|
|
b _023360E4 ; case 1
|
|
b _023360E4 ; case 2
|
|
b _023360A8 ; case 3
|
|
b _0233606C ; case 4
|
|
_0233606C:
|
|
bl ov01_02336944
|
|
cmp r0, #0
|
|
bne _02336084
|
|
bl ov01_02336B50
|
|
cmp r0, #0
|
|
beq _02336528
|
|
_02336084:
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl ov01_02336730
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02336890
|
|
b _02336528
|
|
_023360A8:
|
|
bl ov01_02336944
|
|
cmp r0, #0
|
|
bne _023360C0
|
|
bl ov01_02336B50
|
|
cmp r0, #0
|
|
beq _02336528
|
|
_023360C0:
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl ov01_02336664
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02336890
|
|
b _02336528
|
|
_023360E4:
|
|
mov r0, #0
|
|
add r1, sp, #6
|
|
strh r0, [sp, #6]
|
|
strh r0, [sp, #4]
|
|
strh r0, [sp, #2]
|
|
strh r0, [sp]
|
|
bl GetPressedButtons
|
|
add r1, sp, #4
|
|
mov r0, #0
|
|
bl sub_020063F4
|
|
add r1, sp, #2
|
|
mov r0, #0
|
|
bl sub_020062FC
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
bl GetHeldButtons
|
|
ldrh r0, [sp, #6]
|
|
tst r0, #2
|
|
beq _0233613C
|
|
bl ov01_023370BC
|
|
mov r2, #1
|
|
b _023362DC
|
|
_0233613C:
|
|
tst r0, #1
|
|
beq _02336150
|
|
bl ov01_02337014
|
|
mov r2, #1
|
|
b _023362DC
|
|
_02336150:
|
|
tst r0, #8
|
|
beq _02336178
|
|
mov r0, #0
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
mov r1, #0xb
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
strb r1, [r0, #0x14]
|
|
b _023362DC
|
|
_02336178:
|
|
ldrh r0, [sp, #4]
|
|
tst r0, #0x20
|
|
bne _0233618C
|
|
tst r0, #0x40
|
|
beq _02336228
|
|
_0233618C:
|
|
ldrh r0, [sp]
|
|
tst r0, #0x100
|
|
beq _023361F0
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0x15]
|
|
sub r0, r0, #1
|
|
mov r0, r0, lsl #0x18
|
|
movs r4, r0, asr #0x18
|
|
movmi r4, #0xb
|
|
mov r0, r4
|
|
bl ov01_02337174
|
|
cmp r0, #0
|
|
bne _023361D4
|
|
mov r0, #2
|
|
bl PlaySeVolumeWrapper
|
|
mov r2, #0
|
|
b _023362DC
|
|
_023361D4:
|
|
ldr r1, _02336534 ; =ov01_0233C1A8
|
|
mov r0, #3
|
|
ldr r1, [r1]
|
|
strb r4, [r1, #0x15]
|
|
bl PlaySeVolumeWrapper
|
|
mov r2, #1
|
|
b _023362DC
|
|
_023361F0:
|
|
mov r0, #3
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r2, [r0]
|
|
ldrsb r1, [r2, #0x14]
|
|
sub r1, r1, #1
|
|
strb r1, [r2, #0x14]
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
ldrsb r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
movlt r0, #0xb
|
|
strltb r0, [r1, #0x14]
|
|
b _023362DC
|
|
_02336228:
|
|
tst r0, #0x10
|
|
bne _02336238
|
|
tst r0, #0x80
|
|
beq _023362D8
|
|
_02336238:
|
|
ldrh r0, [sp]
|
|
tst r0, #0x100
|
|
beq _023362A0
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0x15]
|
|
add r0, r0, #1
|
|
mov r0, r0, lsl #0x18
|
|
mov r4, r0, asr #0x18
|
|
cmp r4, #0xc
|
|
movge r4, #0
|
|
mov r0, r4
|
|
bl ov01_02337174
|
|
cmp r0, #0
|
|
bne _02336284
|
|
mov r0, #2
|
|
bl PlaySeVolumeWrapper
|
|
mov r2, #0
|
|
b _023362DC
|
|
_02336284:
|
|
ldr r1, _02336534 ; =ov01_0233C1A8
|
|
mov r0, #3
|
|
ldr r1, [r1]
|
|
strb r4, [r1, #0x15]
|
|
bl PlaySeVolumeWrapper
|
|
mov r2, #1
|
|
b _023362DC
|
|
_023362A0:
|
|
mov r0, #3
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r2, [r0]
|
|
ldrsb r1, [r2, #0x14]
|
|
add r1, r1, #1
|
|
strb r1, [r2, #0x14]
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
ldrsb r0, [r1, #0x14]
|
|
cmp r0, #0xc
|
|
movge r0, #0
|
|
strgeb r0, [r1, #0x14]
|
|
b _023362DC
|
|
_023362D8:
|
|
mov r2, #0
|
|
_023362DC:
|
|
cmp r2, #0
|
|
bne _023362F0
|
|
bl ov01_02336B50
|
|
cmp r0, #0
|
|
beq _02336528
|
|
_023362F0:
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl ov01_02336540
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
bl ov01_02336890
|
|
b _02336528
|
|
_02336314:
|
|
ldrsh r1, [r2, #0xe4]
|
|
cmp r1, #0
|
|
blt _02336338
|
|
add r1, r1, #1
|
|
strh r1, [r2, #0xe4]
|
|
ldr r2, [r0]
|
|
ldrsh r0, [r2, #0xe4]
|
|
cmp r0, #6
|
|
blt _02336528
|
|
_02336338:
|
|
ldrsb r0, [r2]
|
|
bl sub_0202F334
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
bl sub_0202F334
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl SetAdvancedTextBoxState5
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
bl SetAdvancedTextBoxState5
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
mov r3, #2
|
|
ldr r1, [r0]
|
|
ldr r2, _02336538 ; =ov01_0233BCA4
|
|
str r3, [r1, #4]
|
|
ldr r1, [r0]
|
|
mov r4, #0
|
|
ldr r3, [r1, #0xd8]
|
|
ldrsb r2, [r2, r3]
|
|
b _023363B4
|
|
_02336398:
|
|
add r0, r1, r4
|
|
ldrb r0, [r0, #8]
|
|
cmp r0, #0xa
|
|
bhs _023363BC
|
|
add r0, r4, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r4, r0, asr #0x10
|
|
_023363B4:
|
|
cmp r4, r2
|
|
blt _02336398
|
|
_023363BC:
|
|
ldr r6, _02336538 ; =ov01_0233BCA4
|
|
ldrsb r0, [r6, r3]
|
|
cmp r4, r0
|
|
blt _02336474
|
|
mov r0, #2
|
|
mov r7, #0
|
|
str r0, [r1, #0xdc]
|
|
ldr r3, _0233653C ; =ov01_0233CA70
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
str r7, [r3]
|
|
str r7, [r3, #4]
|
|
mov sl, r7
|
|
ldr sb, [r0]
|
|
mov r8, #1
|
|
mov fp, r7
|
|
mov r2, #0xa
|
|
b _02336458
|
|
_02336400:
|
|
sub r0, r0, #1
|
|
sub r0, r0, sl
|
|
add r0, sb, r0
|
|
ldrb lr, [r0, #8]
|
|
umull r0, r1, r8, r2
|
|
mla r1, r8, fp, r1
|
|
mov ip, lr, asr #0x1f
|
|
umull r5, r4, r8, lr
|
|
mla r4, r8, ip, r4
|
|
mla r4, r7, lr, r4
|
|
mov r8, r0
|
|
ldr ip, [r3]
|
|
ldr r0, [r3, #4]
|
|
adds r5, ip, r5
|
|
adc r0, r0, r4
|
|
str r5, [r3]
|
|
str r0, [r3, #4]
|
|
mla r1, r7, r2, r1
|
|
mov r7, r1
|
|
add r0, sl, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov sl, r0, asr #0x10
|
|
_02336458:
|
|
ldr r0, [sb, #0xd8]
|
|
ldrsb r0, [r6, r0]
|
|
cmp sl, r0
|
|
blt _02336400
|
|
mov r0, #0
|
|
bl PlaySeVolumeWrapper
|
|
b _02336528
|
|
_02336474:
|
|
mov r0, #1
|
|
str r0, [r1, #0xdc]
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _0233653C ; =ov01_0233CA70
|
|
mvn r1, #0
|
|
str r1, [r0]
|
|
str r1, [r0, #4]
|
|
b _02336528
|
|
_02336494:
|
|
ldrsb r0, [r2]
|
|
bl IsDialogueBoxActive
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
bne _023364FC
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #1]
|
|
bl IsAdvancedTextBoxActive
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
bne _023364FC
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #3]
|
|
bl IsDialogueBoxActive
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
bne _023364FC
|
|
ldr r0, _02336534 ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #2]
|
|
bl IsAdvancedTextBoxActive
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
_023364FC:
|
|
cmp r0, #0
|
|
ldrne r0, _02336534 ; =ov01_0233C1A8
|
|
movne r1, #3
|
|
ldrne r0, [r0]
|
|
strne r1, [r0, #4]
|
|
b _02336528
|
|
_02336514:
|
|
mov r0, #4
|
|
str r0, [r2, #4]
|
|
b _02336528
|
|
_02336520:
|
|
ldr r0, [r2, #0xdc]
|
|
b _0233652C
|
|
_02336528:
|
|
mov r0, #0
|
|
_0233652C:
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02336534: .word ov01_0233C1A8
|
|
_02336538: .word ov01_0233BCA4
|
|
_0233653C: .word ov01_0233CA70
|
|
arm_func_end ov01_02336014
|
|
|
|
arm_func_start ov01_02336540
|
|
ov01_02336540: ; 0x02336540
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x10
|
|
mov r8, r0
|
|
bl sub_02027B1C
|
|
ldr r5, _02336654 ; =ov01_0233BBB4
|
|
ldr r4, _02336658 ; =ov01_0233BC74
|
|
ldr sb, _0233665C ; =ov01_0233C1A8
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
_02336564:
|
|
ldr r1, [sb]
|
|
mov r0, r6
|
|
add r1, r1, r7
|
|
ldrb r1, [r1, #8]
|
|
mov r1, r1, lsl #1
|
|
ldrh r1, [r5, r1]
|
|
bl GetStringFromFileVeneer
|
|
ldr r2, [r4, r7, lsl #2]
|
|
ldr r1, [sb]
|
|
mov r0, r8
|
|
add r2, r1, r2, lsl #3
|
|
ldrsh r1, [r2, #0x16]
|
|
ldrsh r2, [r2, #0x18]
|
|
mov r3, r6
|
|
bl DrawTextInWindow
|
|
add r0, r7, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r7, r0, asr #0x10
|
|
cmp r7, #0xc
|
|
blt _02336564
|
|
ldr r1, _02336660 ; =0x00000117
|
|
add r0, sp, #0
|
|
bl GetStringFromFileVeneer
|
|
ldr r0, _0233665C ; =ov01_0233C1A8
|
|
add r3, sp, #0
|
|
ldr r2, [r0]
|
|
mov r0, r8
|
|
ldrsh r1, [r2, #0x2e]
|
|
ldrsh r2, [r2, #0x30]
|
|
add r1, r1, #0xc
|
|
bl DrawTextInWindow
|
|
ldr r0, _0233665C ; =ov01_0233C1A8
|
|
add r3, sp, #0
|
|
ldr r2, [r0]
|
|
mov r0, r8
|
|
ldrsh r1, [r2, #0x4e]
|
|
ldrsh r2, [r2, #0x50]
|
|
add r1, r1, #0xc
|
|
bl DrawTextInWindow
|
|
ldr r0, _0233665C ; =ov01_0233C1A8
|
|
ldr r1, _02336658 ; =ov01_0233BC74
|
|
ldr r0, [r0]
|
|
ldrsb r2, [r0, #0x15]
|
|
ldr r0, _0233665C ; =ov01_0233C1A8
|
|
cmp r2, #0
|
|
movlt r2, #0
|
|
ldr r2, [r1, r2, lsl #2]
|
|
ldr r1, [r0]
|
|
mov r0, r8
|
|
add r1, r1, r2, lsl #3
|
|
ldrsh r2, [r1, #0x16]
|
|
ldrsh r3, [r1, #0x18]
|
|
mov r1, #5
|
|
add r2, r2, #2
|
|
add r3, r3, #0x12
|
|
bl sub_02030978
|
|
mov r0, r8
|
|
bl UpdateWindow
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02336654: .word ov01_0233BBB4
|
|
_02336658: .word ov01_0233BC74
|
|
_0233665C: .word ov01_0233C1A8
|
|
#ifdef JAPAN
|
|
_02336660: .word 0x00003CF2
|
|
#else
|
|
_02336660: .word 0x00000117
|
|
#endif
|
|
arm_func_end ov01_02336540
|
|
|
|
arm_func_start ov01_02336664
|
|
ov01_02336664: ; 0x02336664
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov r8, r0
|
|
bl sub_02027B1C
|
|
ldr r5, _02336724 ; =ov01_0233BB88
|
|
ldr r4, _02336728 ; =ov01_0233BB28
|
|
ldr sb, _0233672C ; =ov01_0233C1A8
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
_02336684:
|
|
ldr r1, [sb]
|
|
mov r0, r6
|
|
add r1, r1, r7
|
|
ldrb r1, [r1, #8]
|
|
mov r1, r1, lsl #1
|
|
ldrh r1, [r5, r1]
|
|
bl GetStringFromFileVeneer
|
|
ldr r2, [r4, r7, lsl #2]
|
|
ldr r1, [sb]
|
|
mov r0, r8
|
|
add r2, r1, r2, lsl #3
|
|
ldrsh r1, [r2, #0x16]
|
|
ldrsh r2, [r2, #0x18]
|
|
mov r3, r6
|
|
bl DrawTextInWindow
|
|
add r0, r7, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r7, r0, asr #0x10
|
|
cmp r7, #4
|
|
blt _02336684
|
|
ldr r0, _0233672C ; =ov01_0233C1A8
|
|
ldr r1, _02336728 ; =ov01_0233BB28
|
|
ldr r0, [r0]
|
|
ldrsb r2, [r0, #0x15]
|
|
ldr r0, _0233672C ; =ov01_0233C1A8
|
|
cmp r2, #0
|
|
movlt r2, #0
|
|
ldr r2, [r1, r2, lsl #2]
|
|
ldr r1, [r0]
|
|
mov r0, r8
|
|
add r1, r1, r2, lsl #3
|
|
ldrsh r2, [r1, #0x16]
|
|
ldrsh r3, [r1, #0x18]
|
|
mov r1, #5
|
|
add r2, r2, #2
|
|
add r3, r3, #0x12
|
|
bl sub_02030978
|
|
mov r0, r8
|
|
bl UpdateWindow
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02336724: .word ov01_0233BB88
|
|
_02336728: .word ov01_0233BB28
|
|
_0233672C: .word ov01_0233C1A8
|
|
arm_func_end ov01_02336664
|
|
|
|
arm_func_start ov01_02336730
|
|
ov01_02336730: ; 0x02336730
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov r4, r0
|
|
bl sub_02027B1C
|
|
ldr r6, _02336880 ; =ov01_0233BB9E
|
|
ldr r5, _02336884 ; =ov01_0233BB38
|
|
ldr sb, _02336888 ; =ov01_0233C1A8
|
|
mov r8, #0
|
|
add r7, sp, #0
|
|
_02336750:
|
|
ldr r1, [sb]
|
|
mov r0, r7
|
|
add r1, r1, r8
|
|
ldrb r1, [r1, #8]
|
|
mov r1, r1, lsl #1
|
|
ldrh r1, [r6, r1]
|
|
bl GetStringFromFileVeneer
|
|
ldr r2, [r5, r8, lsl #2]
|
|
ldr r1, [sb]
|
|
mov r0, r4
|
|
add r2, r1, r2, lsl #3
|
|
ldrsh r1, [r2, #0x16]
|
|
ldrsh r2, [r2, #0x18]
|
|
mov r3, r7
|
|
bl DrawTextInWindow
|
|
add r0, r8, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r8, r0, asr #0x10
|
|
cmp r8, #4
|
|
blt _02336750
|
|
ldr r0, _02336888 ; =ov01_0233C1A8
|
|
ldr r1, _02336884 ; =ov01_0233BB38
|
|
ldr r0, [r0]
|
|
ldrsb r2, [r0, #0x15]
|
|
ldr r0, _02336888 ; =ov01_0233C1A8
|
|
cmp r2, #0
|
|
movlt r2, #0
|
|
ldr r2, [r1, r2, lsl #2]
|
|
ldr r1, [r0]
|
|
mov r0, r4
|
|
add r1, r1, r2, lsl #3
|
|
ldrsh r2, [r1, #0x16]
|
|
ldrsh r3, [r1, #0x18]
|
|
mov r1, #5
|
|
add r2, r2, #2
|
|
add r3, r3, #0x12
|
|
bl sub_02030978
|
|
ldr r1, _0233688C ; =0x00000117
|
|
add r0, sp, #0
|
|
bl GetStringFromFileVeneer
|
|
ldr r0, _02336888 ; =ov01_0233C1A8
|
|
add r3, sp, #0
|
|
ldr r2, [r0]
|
|
mov r0, r4
|
|
ldrsh r1, [r2, #0x16]
|
|
ldrsh r2, [r2, #0x18]
|
|
sub r1, r1, #0xc
|
|
bl DrawTextInWindow
|
|
ldr r5, _02336880 ; =ov01_0233BB9E
|
|
ldr sb, _02336888 ; =ov01_0233C1A8
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
mov r8, #0xc
|
|
_02336824:
|
|
ldr r1, [sb]
|
|
mov r0, r6
|
|
add r1, r1, r7
|
|
ldrb r1, [r1, #0xe0]
|
|
mov r1, r1, lsl #1
|
|
ldrh r1, [r5, r1]
|
|
bl GetStringFromFileVeneer
|
|
ldr r2, [sb]
|
|
mov r0, r4
|
|
ldrsh r1, [r2, #0x16]
|
|
ldrsh r2, [r2, #0x18]
|
|
mov r3, r6
|
|
sub r1, r1, #0x30
|
|
smlabb r1, r7, r8, r1
|
|
bl DrawTextInWindow
|
|
add r0, r7, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r7, r0, asr #0x10
|
|
cmp r7, #3
|
|
blt _02336824
|
|
mov r0, r4
|
|
bl UpdateWindow
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02336880: .word ov01_0233BB9E
|
|
_02336884: .word ov01_0233BB38
|
|
_02336888: .word ov01_0233C1A8
|
|
#ifdef JAPAN
|
|
_0233688C: .word 0x00003CF2
|
|
#else
|
|
_0233688C: .word 0x00000117
|
|
#endif
|
|
arm_func_end ov01_02336730
|
|
|
|
arm_func_start ov01_02336890
|
|
ov01_02336890: ; 0x02336890
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x10
|
|
mov r8, r0
|
|
bl sub_02027B1C
|
|
ldr r5, _02336938 ; =ov01_0233BBCA
|
|
ldr r4, _0233693C ; =ov01_0233BBE4
|
|
ldr sb, _02336940 ; =ov01_0233C1A8
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
_023368B4:
|
|
mov r0, r7, lsl #1
|
|
ldrh r1, [r5, r0]
|
|
mov r0, r6
|
|
bl GetStringFromFileVeneer
|
|
ldr r2, [r4, r7, lsl #2]
|
|
ldr r1, [sb]
|
|
mov r0, r8
|
|
add r2, r1, r2, lsl #3
|
|
ldrsh r1, [r2, #0x16]
|
|
ldrsh r2, [r2, #0x18]
|
|
mov r3, r6
|
|
bl DrawTextInWindow
|
|
add r0, r7, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r7, r0, asr #0x10
|
|
cmp r7, #0xc
|
|
blt _023368B4
|
|
ldr r0, _02336940 ; =ov01_0233C1A8
|
|
ldr r2, _0233693C ; =ov01_0233BBE4
|
|
ldr r4, [r0]
|
|
mov r0, r8
|
|
ldrsb r3, [r4, #0x14]
|
|
mov r1, #3
|
|
ldr r2, [r2, r3, lsl #2]
|
|
add r3, r4, r2, lsl #3
|
|
ldrsh r2, [r3, #0x16]
|
|
ldrsh r3, [r3, #0x18]
|
|
sub r2, r2, #8
|
|
bl sub_02030978
|
|
mov r0, r8
|
|
bl UpdateWindow
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_02336938: .word ov01_0233BBCA
|
|
_0233693C: .word ov01_0233BBE4
|
|
_02336940: .word ov01_0233C1A8
|
|
arm_func_end ov01_02336890
|
|
|
|
arm_func_start ov01_02336944
|
|
ov01_02336944: ; 0x02336944
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
mov r0, #0
|
|
add r1, sp, #6
|
|
strh r0, [sp, #6]
|
|
strh r0, [sp, #4]
|
|
strh r0, [sp, #2]
|
|
strh r0, [sp]
|
|
bl GetPressedButtons
|
|
add r1, sp, #4
|
|
mov r0, #0
|
|
bl sub_020063F4
|
|
add r1, sp, #2
|
|
mov r0, #0
|
|
bl sub_020062FC
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
bl GetHeldButtons
|
|
ldrh r0, [sp, #6]
|
|
tst r0, #2
|
|
beq _023369A4
|
|
bl ov01_023370BC
|
|
mov r0, #1
|
|
b _02336B44
|
|
_023369A4:
|
|
tst r0, #1
|
|
beq _023369B8
|
|
bl ov01_02337014
|
|
mov r0, #1
|
|
b _02336B44
|
|
_023369B8:
|
|
tst r0, #8
|
|
beq _023369E0
|
|
mov r0, #0
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _02336B4C ; =ov01_0233C1A8
|
|
mov r2, #0xb
|
|
ldr r1, [r0]
|
|
mov r0, #1
|
|
strb r2, [r1, #0x14]
|
|
b _02336B44
|
|
_023369E0:
|
|
ldrh r0, [sp, #4]
|
|
tst r0, #0x20
|
|
bne _023369F4
|
|
tst r0, #0x40
|
|
beq _02336A90
|
|
_023369F4:
|
|
ldrh r0, [sp]
|
|
tst r0, #0x100
|
|
beq _02336A58
|
|
ldr r0, _02336B4C ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0x15]
|
|
sub r0, r0, #1
|
|
mov r0, r0, lsl #0x18
|
|
movs r4, r0, asr #0x18
|
|
movmi r4, #3
|
|
mov r0, r4
|
|
bl ov01_02337174
|
|
cmp r0, #0
|
|
bne _02336A3C
|
|
mov r0, #2
|
|
bl PlaySeVolumeWrapper
|
|
mov r0, #0
|
|
b _02336B44
|
|
_02336A3C:
|
|
ldr r1, _02336B4C ; =ov01_0233C1A8
|
|
mov r0, #3
|
|
ldr r1, [r1]
|
|
strb r4, [r1, #0x15]
|
|
bl PlaySeVolumeWrapper
|
|
mov r0, #1
|
|
b _02336B44
|
|
_02336A58:
|
|
mov r0, #3
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _02336B4C ; =ov01_0233C1A8
|
|
ldr r2, [r0]
|
|
ldrsb r1, [r2, #0x14]
|
|
sub r1, r1, #1
|
|
strb r1, [r2, #0x14]
|
|
ldr r1, [r0]
|
|
ldrsb r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
movlt r0, #0xb
|
|
strltb r0, [r1, #0x14]
|
|
mov r0, #1
|
|
b _02336B44
|
|
_02336A90:
|
|
tst r0, #0x10
|
|
bne _02336AA0
|
|
tst r0, #0x80
|
|
beq _02336B40
|
|
_02336AA0:
|
|
ldrh r0, [sp]
|
|
tst r0, #0x100
|
|
beq _02336B08
|
|
ldr r0, _02336B4C ; =ov01_0233C1A8
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0x15]
|
|
add r0, r0, #1
|
|
mov r0, r0, lsl #0x18
|
|
mov r4, r0, asr #0x18
|
|
cmp r4, #4
|
|
movge r4, #0
|
|
mov r0, r4
|
|
bl ov01_02337174
|
|
cmp r0, #0
|
|
bne _02336AEC
|
|
mov r0, #2
|
|
bl PlaySeVolumeWrapper
|
|
mov r0, #0
|
|
b _02336B44
|
|
_02336AEC:
|
|
ldr r1, _02336B4C ; =ov01_0233C1A8
|
|
mov r0, #3
|
|
ldr r1, [r1]
|
|
strb r4, [r1, #0x15]
|
|
bl PlaySeVolumeWrapper
|
|
mov r0, #1
|
|
b _02336B44
|
|
_02336B08:
|
|
mov r0, #3
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _02336B4C ; =ov01_0233C1A8
|
|
ldr r2, [r0]
|
|
ldrsb r1, [r2, #0x14]
|
|
add r1, r1, #1
|
|
strb r1, [r2, #0x14]
|
|
ldr r1, [r0]
|
|
ldrsb r0, [r1, #0x14]
|
|
cmp r0, #0xc
|
|
movge r0, #0
|
|
strgeb r0, [r1, #0x14]
|
|
mov r0, #1
|
|
b _02336B44
|
|
_02336B40:
|
|
mov r0, #0
|
|
_02336B44:
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02336B4C: .word ov01_0233C1A8
|
|
arm_func_end ov01_02336944
|
|
|
|
arm_func_start ov01_02336B50
|
|
ov01_02336B50: ; 0x02336B50
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x2c
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
ldr r2, [r0]
|
|
ldrsh r1, [r2, #0xe4]
|
|
cmp r1, #0
|
|
addge r1, r1, #1
|
|
strgeh r1, [r2, #0xe4]
|
|
ldrge r1, [r0]
|
|
ldrgesh r0, [r1, #0xe4]
|
|
cmpge r0, #6
|
|
mvnge r0, #0
|
|
strgeh r0, [r1, #0xe4]
|
|
bl IsTouchScreenNotOff
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
beq _02337000
|
|
add r0, sp, #8
|
|
bl GetReleasedStylus
|
|
ldrh r1, [sp, #8]
|
|
ldr r0, _0233700C ; =0x00000408
|
|
tst r1, r0
|
|
moveq r0, #0
|
|
beq _02337000
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
ldr sb, [r0]
|
|
ldrsh r0, [sb, #0xe4]
|
|
cmp r0, #0
|
|
movge r0, #0
|
|
bge _02337000
|
|
mov fp, #0x16
|
|
ldr lr, [sp, #0xc]
|
|
ldr r8, [sp, #0x10]
|
|
mov r4, #0
|
|
mov sl, #0x27
|
|
mov ip, #0x5f
|
|
mov r3, fp
|
|
b _02336D30
|
|
_02336BE8:
|
|
ldr r1, [sb, #0xd8]
|
|
sub r0, r1, #3
|
|
cmp r0, #1
|
|
bhi _02336C1C
|
|
cmp r4, #4
|
|
cmpne r4, #5
|
|
cmpne r4, #6
|
|
cmpne r4, #7
|
|
cmpne r4, #8
|
|
cmpne r4, #9
|
|
cmpne r4, #0xa
|
|
cmpne r4, #0xb
|
|
beq _02336D24
|
|
_02336C1C:
|
|
cmp r4, #0x17
|
|
addls pc, pc, r4, lsl #2
|
|
b _02336CD8
|
|
_02336C28: ; jump table
|
|
b _02336C88 ; case 0
|
|
b _02336C88 ; case 1
|
|
b _02336C88 ; case 2
|
|
b _02336C88 ; case 3
|
|
b _02336C88 ; case 4
|
|
b _02336C88 ; case 5
|
|
b _02336C88 ; case 6
|
|
b _02336C88 ; case 7
|
|
b _02336C88 ; case 8
|
|
b _02336C88 ; case 9
|
|
b _02336C88 ; case 10
|
|
b _02336C88 ; case 11
|
|
b _02336CCC ; case 12
|
|
b _02336CCC ; case 13
|
|
b _02336CCC ; case 14
|
|
b _02336CCC ; case 15
|
|
b _02336CCC ; case 16
|
|
b _02336CCC ; case 17
|
|
b _02336CCC ; case 18
|
|
b _02336CCC ; case 19
|
|
b _02336CCC ; case 20
|
|
b _02336CCC ; case 21
|
|
b _02336CCC ; case 22
|
|
b _02336CCC ; case 23
|
|
_02336C88:
|
|
cmp r1, #4
|
|
addls pc, pc, r1, lsl #2
|
|
b _02336CC0
|
|
_02336C94: ; jump table
|
|
b _02336CC0 ; case 0
|
|
b _02336CC0 ; case 1
|
|
b _02336CC0 ; case 2
|
|
b _02336CA8 ; case 3
|
|
b _02336CB4 ; case 4
|
|
_02336CA8:
|
|
mov r5, ip
|
|
mov r6, r3
|
|
b _02336CE0
|
|
_02336CB4:
|
|
mov r5, sl
|
|
mov r6, fp
|
|
b _02336CE0
|
|
_02336CC0:
|
|
mov r5, #0x27
|
|
mov r6, #0x16
|
|
b _02336CE0
|
|
_02336CCC:
|
|
mov r5, #0xf
|
|
mov r6, #0x4e
|
|
b _02336CE0
|
|
_02336CD8:
|
|
mov r5, #0
|
|
mov r6, r5
|
|
_02336CE0:
|
|
add r1, sb, r4, lsl #3
|
|
ldrsh r0, [r1, #0x16]
|
|
add r2, r5, r0
|
|
cmp lr, r2
|
|
blt _02336D24
|
|
ldrsh r0, [r1, #0x1a]
|
|
add r0, r2, r0
|
|
cmp lr, r0
|
|
bgt _02336D24
|
|
ldrsh r0, [r1, #0x18]
|
|
add r0, r6, r0
|
|
cmp r8, r0
|
|
blt _02336D24
|
|
ldrsh r1, [r1, #0x1c]
|
|
add r0, r0, r1
|
|
cmp r8, r0
|
|
ble _02336D38
|
|
_02336D24:
|
|
add r0, r4, #1
|
|
mov r0, r0, lsl #0x10
|
|
mov r4, r0, asr #0x10
|
|
_02336D30:
|
|
cmp r4, #0x18
|
|
blt _02336BE8
|
|
_02336D38:
|
|
cmp r4, #0x18
|
|
movge r0, #0
|
|
bge _02337000
|
|
mov r1, #0
|
|
strh r1, [sb, #0xe4]
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
ldr r1, _02337010 ; =ov01_0233BB14
|
|
ldr r2, [r0]
|
|
mov r0, #0x40
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
add r3, r2, r4, lsl #3
|
|
ldrsh r1, [r3, #0x16]
|
|
ldrsh r0, [r3, #0x18]
|
|
ldrsh r2, [r3, #0x1a]
|
|
add r5, r5, r1
|
|
add r1, r6, r0
|
|
mov r0, r5, lsl #0x10
|
|
mov r1, r1, lsl #0x10
|
|
ldrsh r3, [r3, #0x1c]
|
|
mov r0, r0, asr #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl sub_0202A2A4
|
|
cmp r4, #0x17
|
|
addls pc, pc, r4, lsl #2
|
|
b _02336FFC
|
|
_02336DA0: ; jump table
|
|
b _02336E00 ; case 0
|
|
b _02336E00 ; case 1
|
|
b _02336E00 ; case 2
|
|
b _02336E00 ; case 3
|
|
b _02336E00 ; case 4
|
|
b _02336E00 ; case 5
|
|
b _02336E00 ; case 6
|
|
b _02336E00 ; case 7
|
|
b _02336E00 ; case 8
|
|
b _02336E00 ; case 9
|
|
b _02336E00 ; case 10
|
|
b _02336E00 ; case 11
|
|
b _02336ECC ; case 12
|
|
b _02336ECC ; case 13
|
|
b _02336ECC ; case 14
|
|
b _02336ECC ; case 15
|
|
b _02336ECC ; case 16
|
|
b _02336ECC ; case 17
|
|
b _02336ECC ; case 18
|
|
b _02336ECC ; case 19
|
|
b _02336ECC ; case 20
|
|
b _02336ECC ; case 21
|
|
b _02336ECC ; case 22
|
|
b _02336ECC ; case 23
|
|
_02336E00:
|
|
cmp r4, #0xb
|
|
addls pc, pc, r4, lsl #2
|
|
b _02336E98
|
|
_02336E0C: ; jump table
|
|
b _02336E3C ; case 0
|
|
b _02336E44 ; case 1
|
|
b _02336E4C ; case 2
|
|
b _02336E54 ; case 3
|
|
b _02336E5C ; case 4
|
|
b _02336E64 ; case 5
|
|
b _02336E6C ; case 6
|
|
b _02336E74 ; case 7
|
|
b _02336E7C ; case 8
|
|
b _02336E84 ; case 9
|
|
b _02336E8C ; case 10
|
|
b _02336E94 ; case 11
|
|
_02336E3C:
|
|
mov r7, #0
|
|
b _02336E98
|
|
_02336E44:
|
|
mov r7, #1
|
|
b _02336E98
|
|
_02336E4C:
|
|
mov r7, #2
|
|
b _02336E98
|
|
_02336E54:
|
|
mov r7, #3
|
|
b _02336E98
|
|
_02336E5C:
|
|
mov r7, #4
|
|
b _02336E98
|
|
_02336E64:
|
|
mov r7, #5
|
|
b _02336E98
|
|
_02336E6C:
|
|
mov r7, #6
|
|
b _02336E98
|
|
_02336E74:
|
|
mov r7, #7
|
|
b _02336E98
|
|
_02336E7C:
|
|
mov r7, #8
|
|
b _02336E98
|
|
_02336E84:
|
|
mov r7, #9
|
|
b _02336E98
|
|
_02336E8C:
|
|
mov r7, #0xa
|
|
b _02336E98
|
|
_02336E94:
|
|
mov r7, #0xb
|
|
_02336E98:
|
|
mov r0, r7
|
|
bl ov01_02337174
|
|
cmp r0, #0
|
|
beq _02336EC0
|
|
ldr r1, _02337008 ; =ov01_0233C1A8
|
|
mov r0, #7
|
|
ldr r1, [r1]
|
|
strb r7, [r1, #0x15]
|
|
bl PlaySeVolumeWrapper
|
|
b _02336FFC
|
|
_02336EC0:
|
|
mov r0, #2
|
|
bl PlaySeVolumeWrapper
|
|
b _02336FFC
|
|
_02336ECC:
|
|
sub r0, r4, #0xc
|
|
cmp r0, #0xb
|
|
addls pc, pc, r0, lsl #2
|
|
b _02336FF8
|
|
_02336EDC: ; jump table
|
|
b _02336F0C ; case 0
|
|
b _02336F20 ; case 1
|
|
b _02336F34 ; case 2
|
|
b _02336F48 ; case 3
|
|
b _02336F5C ; case 4
|
|
b _02336F70 ; case 5
|
|
b _02336F84 ; case 6
|
|
b _02336F98 ; case 7
|
|
b _02336FAC ; case 8
|
|
b _02336FC0 ; case 9
|
|
b _02336FD4 ; case 10
|
|
b _02336FE8 ; case 11
|
|
_02336F0C:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336F20:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336F34:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336F48:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336F5C:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336F70:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #5
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336F84:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336F98:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #7
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336FAC:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #8
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336FC0:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #9
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336FD4:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #0xa
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
b _02336FF8
|
|
_02336FE8:
|
|
ldr r0, _02337008 ; =ov01_0233C1A8
|
|
mov r1, #0xb
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x14]
|
|
_02336FF8:
|
|
bl ov01_02337014
|
|
_02336FFC:
|
|
mov r0, #1
|
|
_02337000:
|
|
add sp, sp, #0x2c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02337008: .word ov01_0233C1A8
|
|
_0233700C: .word 0x00000408
|
|
_02337010: .word ov01_0233BB14
|
|
arm_func_end ov01_02336B50
|
|
|
|
arm_func_start ov01_02337014
|
|
ov01_02337014: ; 0x02337014
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _023370A4 ; =ov01_0233C1A8
|
|
ldr r1, [r0]
|
|
ldrsb r0, [r1, #0x14]
|
|
cmp r0, #0xa
|
|
bge _02337090
|
|
mov r0, #0
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _023370A4 ; =ov01_0233C1A8
|
|
ldr r2, _023370A8 ; =ov01_0233BCA4
|
|
ldr ip, [r0]
|
|
ldrsb r1, [ip, #0x15]
|
|
ldrsb r3, [ip, #0x14]
|
|
add r1, ip, r1
|
|
strb r3, [r1, #8]
|
|
ldr r3, [r0]
|
|
ldrsb r1, [r3, #0x15]
|
|
add r1, r1, #1
|
|
strb r1, [r3, #0x15]
|
|
ldr ip, [r0]
|
|
ldr r3, [ip, #0xd8]
|
|
ldrsb r1, [ip, #0x15]
|
|
ldrsb r2, [r2, r3]
|
|
cmp r1, r2
|
|
ldmltia sp!, {r3, pc}
|
|
sub r1, r2, #1
|
|
strb r1, [ip, #0x15]
|
|
ldr r0, [r0]
|
|
mov r1, #0xb
|
|
strb r1, [r0, #0x14]
|
|
ldmia sp!, {r3, pc}
|
|
_02337090:
|
|
movne r0, #1
|
|
strne r0, [r1, #4]
|
|
ldmneia sp!, {r3, pc}
|
|
bl ov01_023370BC
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023370A4: .word ov01_0233C1A8
|
|
_023370A8: .word ov01_0233BCA4
|
|
arm_func_end ov01_02337014
|
|
|
|
arm_func_start ov01_023370AC
|
|
ov01_023370AC: ; 0x023370AC
|
|
ldr r1, _023370B8 ; =ov01_0233CA70
|
|
ldmia r1, {r0, r1}
|
|
bx lr
|
|
.align 2, 0
|
|
_023370B8: .word ov01_0233CA70
|
|
arm_func_end ov01_023370AC
|
|
|
|
arm_func_start ov01_023370BC
|
|
ov01_023370BC: ; 0x023370BC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02337170 ; =ov01_0233C1A8
|
|
ldr r2, [r0]
|
|
ldrsb r1, [r2, #0x15]
|
|
add r0, r2, r1
|
|
ldrb r0, [r0, #8]
|
|
cmp r0, #0xa
|
|
subeq r0, r1, #1
|
|
streqb r0, [r2, #0x15]
|
|
ldr r0, _02337170 ; =ov01_0233C1A8
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0x15]
|
|
cmp r0, #0
|
|
bge _0233714C
|
|
mov r2, #0
|
|
mov r1, r2
|
|
b _02337118
|
|
_02337100:
|
|
add r0, r3, r1
|
|
ldrb r0, [r0, #8]
|
|
cmp r0, #0xa
|
|
movne r2, #1
|
|
bne _02337120
|
|
add r1, r1, #1
|
|
_02337118:
|
|
cmp r1, #0xc
|
|
blt _02337100
|
|
_02337120:
|
|
cmp r2, #0
|
|
moveq r0, #1
|
|
streq r0, [r3, #4]
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #2
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _02337170 ; =ov01_0233C1A8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x15]
|
|
ldmia sp!, {r3, pc}
|
|
_0233714C:
|
|
mov r0, #1
|
|
bl PlaySeVolumeWrapper
|
|
ldr r0, _02337170 ; =ov01_0233C1A8
|
|
mov r1, #0xa
|
|
ldr r2, [r0]
|
|
ldrsb r0, [r2, #0x15]
|
|
add r0, r2, r0
|
|
strb r1, [r0, #8]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02337170: .word ov01_0233C1A8
|
|
arm_func_end ov01_023370BC
|
|
|
|
arm_func_start ov01_02337174
|
|
ov01_02337174: ; 0x02337174
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
bxeq lr
|
|
ldr r1, _023371B0 ; =ov01_0233C1A8
|
|
sub r2, r0, #1
|
|
ldr r3, [r1]
|
|
add r1, r3, r2
|
|
ldrb r1, [r1, #8]
|
|
cmp r1, #0xa
|
|
addeq r0, r3, r0
|
|
ldreqb r0, [r0, #8]
|
|
cmpeq r0, #0xa
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_023371B0: .word ov01_0233C1A8
|
|
arm_func_end ov01_02337174
|
|
|
|
arm_func_start ov01_023371B4
|
|
ov01_023371B4: ; 0x023371B4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, _023371D4 ; =ov01_0233BCAC
|
|
bl InitMenu
|
|
cmp r0, #0
|
|
ldrne r0, _023371D8 ; =ov01_0233CA78
|
|
strne r4, [r0]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_023371D4: .word ov01_0233BCAC
|
|
_023371D8: .word ov01_0233CA78
|
|
arm_func_end ov01_023371B4
|
|
|
|
arm_func_start ov01_023371DC
|
|
ov01_023371DC: ; 0x023371DC
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0x4c
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r1, _0233720C ; =ov01_0233C1AC
|
|
mov r2, #0
|
|
str r0, [r1]
|
|
strb r2, [r0, #8]
|
|
ldr r1, [r1]
|
|
mov r0, #1
|
|
str r2, [r1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233720C: .word ov01_0233C1AC
|
|
arm_func_end ov01_023371DC
|
|
|
|
arm_func_start ov01_02337210
|
|
ov01_02337210: ; 0x02337210
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02337238 ; =ov01_0233C1AC
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _02337238 ; =ov01_0233C1AC
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02337238: .word ov01_0233C1AC
|
|
arm_func_end ov01_02337210
|
|
|
|
arm_func_start ov01_0233723C
|
|
ov01_0233723C: ; 0x0233723C
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x98
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
ldr r1, [r0]
|
|
ldr r0, [r1]
|
|
cmp r0, #0xb
|
|
addls pc, pc, r0, lsl #2
|
|
b _02337544
|
|
_0233725C: ; jump table
|
|
b _0233728C ; case 0
|
|
b _023372B4 ; case 1
|
|
b _02337358 ; case 2
|
|
b _02337440 ; case 3
|
|
b _02337544 ; case 4
|
|
b _02337544 ; case 5
|
|
b _02337324 ; case 6
|
|
b _0233752C ; case 7
|
|
b _02337544 ; case 8
|
|
b _0233745C ; case 9
|
|
b _0233747C ; case 10
|
|
b _023374D0 ; case 11
|
|
_0233728C:
|
|
ldr r0, _02337554 ; =ov01_0233CA78
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _023372A0
|
|
bl ov01_0232FDAC
|
|
_023372A0:
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _02337544
|
|
_023372B4:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _02337544
|
|
ldr r0, _02337554 ; =ov01_0233CA78
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _02337310
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
ldr r0, [r0]
|
|
add r0, r0, #9
|
|
bl GetMainTeamNameWithCheck
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x39
|
|
add r1, r1, #9
|
|
bl StrcpySimple
|
|
ldr r1, _02337550 ; =ov01_0233C1AC
|
|
mov r0, #1
|
|
ldr r3, [r1]
|
|
mov r2, r0
|
|
add r1, r3, #9
|
|
add r3, r3, #0x39
|
|
bl ShowKeyboard
|
|
_02337310:
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _02337544
|
|
_02337324:
|
|
bl ov01_0232FDAC
|
|
ldr r1, _02337550 ; =ov01_0233C1AC
|
|
mov r0, #1
|
|
ldr r3, [r1]
|
|
mov r2, r0
|
|
add r1, r3, #0x19
|
|
add r3, r3, #0x39
|
|
bl ShowKeyboard
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _02337544
|
|
_02337358:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _02337544
|
|
bl GetKeyboardStatus
|
|
cmp r0, #3
|
|
bne _02337544
|
|
ldr r0, _02337554 ; =ov01_0233CA78
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _023373F8
|
|
bl ov01_0232F3F4
|
|
bl GetKeyboardStringResult
|
|
ldr r1, _02337550 ; =ov01_0233C1AC
|
|
#ifdef JAPAN
|
|
mov r2, #5
|
|
#else
|
|
mov r2, #0xa
|
|
#endif
|
|
ldr r1, [r1]
|
|
add r1, r1, #9
|
|
bl StrncmpSimple
|
|
cmp r0, #0
|
|
beq _023373BC
|
|
bl GetKeyboardStringResult
|
|
bl SetMainTeamName
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
ldr r0, [r0]
|
|
add r0, r0, #9
|
|
bl GetMainTeamNameWithCheck
|
|
_023373BC:
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
#ifdef JAPAN
|
|
mov r2, #5
|
|
#else
|
|
mov r2, #0xa
|
|
#endif
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x39
|
|
add r1, r1, #9
|
|
bl StrncmpSimple
|
|
cmp r0, #0
|
|
ldrne r0, _02337550 ; =ov01_0233C1AC
|
|
movne r1, #1
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #8]
|
|
ldreq r0, _02337550 ; =ov01_0233C1AC
|
|
moveq r1, #0
|
|
ldreq r0, [r0]
|
|
streqb r1, [r0, #8]
|
|
_023373F8:
|
|
bl GetKeyboardStringResult
|
|
ldr r1, _02337550 ; =ov01_0233C1AC
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
mov r1, r4
|
|
add r0, r0, #0x29
|
|
mov r2, #0x10
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
mov r1, r4
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x19
|
|
bl StrcpySimple
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _02337544
|
|
_02337440:
|
|
bl sub_02037468
|
|
cmp r0, #0
|
|
ldrne r0, _02337550 ; =ov01_0233C1AC
|
|
movne r1, #9
|
|
ldrne r0, [r0]
|
|
strne r1, [r0]
|
|
b _02337544
|
|
_0233745C:
|
|
add r0, r1, #0x29
|
|
bl sub_0203909C
|
|
bl sub_02039304
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
mov r1, #0xa
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _02337544
|
|
_0233747C:
|
|
bl sub_0203931C
|
|
cmp r0, #0
|
|
bne _023374A8
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
mov r3, #7
|
|
ldr r2, [r0]
|
|
mov r1, #0xb
|
|
str r3, [r2]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _02337544
|
|
_023374A8:
|
|
cmp r0, #1
|
|
bne _02337544
|
|
ldr r0, _02337550 ; =ov01_0233C1AC
|
|
mov r3, #7
|
|
ldr r2, [r0]
|
|
mov r1, #6
|
|
str r3, [r2]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #4]
|
|
b _02337544
|
|
_023374D0:
|
|
ldrb r0, [r1, #8]
|
|
cmp r0, #0
|
|
beq _02337500
|
|
ldr ip, _02337558 ; =ov01_0233755C
|
|
mov r3, #0
|
|
add r2, sp, #0
|
|
mov r0, #2
|
|
mov r1, #0x100
|
|
str ip, [sp, #0x84]
|
|
str r3, [sp, #0x88]
|
|
bl sub_0204964C
|
|
b _02337524
|
|
_02337500:
|
|
ldr r0, _02337554 ; =ov01_0233CA78
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0233751C
|
|
mov r0, #8
|
|
bl ov01_023310B8
|
|
b _02337524
|
|
_0233751C:
|
|
mov r0, #0
|
|
bl ov01_023310B8
|
|
_02337524:
|
|
mov r0, #4
|
|
b _02337548
|
|
_0233752C:
|
|
bl sub_02039218
|
|
cmp r0, #0
|
|
ldrne r0, _02337550 ; =ov01_0233C1AC
|
|
ldrne r1, [r0]
|
|
ldrne r0, [r1, #4]
|
|
strne r0, [r1]
|
|
_02337544:
|
|
mov r0, #1
|
|
_02337548:
|
|
add sp, sp, #0x98
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02337550: .word ov01_0233C1AC
|
|
_02337554: .word ov01_0233CA78
|
|
_02337558: .word ov01_0233755C
|
|
arm_func_end ov01_0233723C
|
|
|
|
arm_func_start ov01_0233755C
|
|
ov01_0233755C: ; 0x0233755C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02337588 ; =ov01_0233CA78
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0233757C
|
|
mov r0, #8
|
|
bl ov01_023310B8
|
|
ldmia sp!, {r3, pc}
|
|
_0233757C:
|
|
mov r0, #0
|
|
bl ov01_023310B8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02337588: .word ov01_0233CA78
|
|
arm_func_end ov01_0233755C
|
|
|
|
arm_func_start ov01_0233758C
|
|
ov01_0233758C: ; 0x0233758C
|
|
ldr ip, _02337598 ; =InitMenu
|
|
ldr r0, _0233759C ; =ov01_0233BCBC
|
|
bx ip
|
|
.align 2, 0
|
|
_02337598: .word InitMenu
|
|
_0233759C: .word ov01_0233BCBC
|
|
arm_func_end ov01_0233758C
|
|
|
|
arm_func_start ov01_023375A0
|
|
ov01_023375A0: ; 0x023375A0
|
|
ldr r0, _023375AC ; =ov01_0233C1B0
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_023375AC: .word ov01_0233C1B0
|
|
arm_func_end ov01_023375A0
|
|
|
|
arm_func_start ov01_023375B0
|
|
ov01_023375B0: ; 0x023375B0
|
|
ldr r1, _023375BC ; =ov01_0233C1B0
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_023375BC: .word ov01_0233C1B0
|
|
arm_func_end ov01_023375B0
|
|
|
|
arm_func_start ov01_023375C0
|
|
ov01_023375C0: ; 0x023375C0
|
|
ldr r1, _023375CC ; =ov01_0233C1B8
|
|
ldrsb r0, [r1, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_023375CC: .word ov01_0233C1B8
|
|
arm_func_end ov01_023375C0
|
|
|
|
arm_func_start ov01_023375D0
|
|
ov01_023375D0: ; 0x023375D0
|
|
ldr r2, _023375DC ; =ov01_0233C1B8
|
|
strb r1, [r2, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_023375DC: .word ov01_0233C1B8
|
|
arm_func_end ov01_023375D0
|
|
|
|
arm_func_start ov01_023375E0
|
|
ov01_023375E0: ; 0x023375E0
|
|
ldr ip, _023375EC ; =InitMenu
|
|
ldr r0, _023375F0 ; =ov01_0233BCCC
|
|
bx ip
|
|
.align 2, 0
|
|
_023375EC: .word InitMenu
|
|
_023375F0: .word ov01_0233BCCC
|
|
arm_func_end ov01_023375E0
|
|
|
|
arm_func_start ov01_023375F4
|
|
ov01_023375F4: ; 0x023375F4
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02337610 ; =ov01_0233BCDC
|
|
bl InitMenu
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov01_0232F3F4
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02337610: .word ov01_0233BCDC
|
|
arm_func_end ov01_023375F4
|
|
|
|
arm_func_start ov01_02337614
|
|
ov01_02337614: ; 0x02337614
|
|
ldr r1, _02337620 ; =ov01_0233C1D4
|
|
ldrsb r0, [r1, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337620: .word ov01_0233C1D4
|
|
arm_func_end ov01_02337614
|
|
|
|
arm_func_start ov01_02337624
|
|
ov01_02337624: ; 0x02337624
|
|
ldr r2, _02337630 ; =ov01_0233C1D4
|
|
strb r1, [r2, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337630: .word ov01_0233C1D4
|
|
arm_func_end ov01_02337624
|
|
|
|
arm_func_start ov01_02337634
|
|
ov01_02337634: ; 0x02337634
|
|
ldr ip, _02337640 ; =InitMenu
|
|
ldr r0, _02337644 ; =ov01_0233BCEC
|
|
bx ip
|
|
.align 2, 0
|
|
_02337640: .word InitMenu
|
|
_02337644: .word ov01_0233BCEC
|
|
arm_func_end ov01_02337634
|
|
|
|
arm_func_start ov01_02337648
|
|
ov01_02337648: ; 0x02337648
|
|
ldr r1, _02337654 ; =ov01_0233C1E0
|
|
ldrsb r0, [r1, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337654: .word ov01_0233C1E0
|
|
arm_func_end ov01_02337648
|
|
|
|
arm_func_start ov01_02337658
|
|
ov01_02337658: ; 0x02337658
|
|
ldr r2, _02337664 ; =ov01_0233C1E0
|
|
strb r1, [r2, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337664: .word ov01_0233C1E0
|
|
arm_func_end ov01_02337658
|
|
|
|
arm_func_start ov01_02337668
|
|
ov01_02337668: ; 0x02337668
|
|
ldr ip, _02337674 ; =InitMenu
|
|
ldr r0, _02337678 ; =ov01_0233BCFC
|
|
bx ip
|
|
.align 2, 0
|
|
_02337674: .word InitMenu
|
|
_02337678: .word ov01_0233BCFC
|
|
arm_func_end ov01_02337668
|
|
|
|
arm_func_start ov01_0233767C
|
|
ov01_0233767C: ; 0x0233767C
|
|
ldr r1, _02337688 ; =ov01_0233C1E8
|
|
ldrsb r0, [r1, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337688: .word ov01_0233C1E8
|
|
arm_func_end ov01_0233767C
|
|
|
|
arm_func_start ov01_0233768C
|
|
ov01_0233768C: ; 0x0233768C
|
|
ldr r2, _02337698 ; =ov01_0233C1E8
|
|
strb r1, [r2, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337698: .word ov01_0233C1E8
|
|
arm_func_end ov01_0233768C
|
|
|
|
arm_func_start ov01_0233769C
|
|
ov01_0233769C: ; 0x0233769C
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0xa8
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _023376D8 ; =ov01_0233C1F4
|
|
mov r1, #0xa8
|
|
str r0, [r2]
|
|
bl MemZero
|
|
ldr r0, _023376D8 ; =ov01_0233C1F4
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
str r2, [r1]
|
|
ldr r0, [r0]
|
|
str r2, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023376D8: .word ov01_0233C1F4
|
|
arm_func_end ov01_0233769C
|
|
|
|
arm_func_start ov01_023376DC
|
|
ov01_023376DC: ; 0x023376DC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02337714 ; =ov01_0233C1F4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #1
|
|
bl ov00_022BCBAC
|
|
ldr r0, _02337714 ; =ov01_0233C1F4
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _02337714 ; =ov01_0233C1F4
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02337714: .word ov01_0233C1F4
|
|
arm_func_end ov01_023376DC
|
|
|
|
arm_func_start ov01_02337718
|
|
ov01_02337718: ; 0x02337718
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r0, _023378E8 ; =ov01_0233C1F4
|
|
ldr r4, [r0]
|
|
ldr r1, [r4]
|
|
cmp r1, #0x1000
|
|
bgt _02337754
|
|
bge _023377A4
|
|
cmp r1, #1
|
|
bgt _023378E0
|
|
cmp r1, #0
|
|
blt _023378E0
|
|
beq _02337764
|
|
cmp r1, #1
|
|
beq _02337788
|
|
b _023378E0
|
|
_02337754:
|
|
ldr r0, _023378EC ; =0x00001001
|
|
cmp r1, r0
|
|
beq _023377BC
|
|
b _023378E0
|
|
_02337764:
|
|
ldr r1, _023378F0 ; =0x00003760
|
|
mov r0, #0x1c
|
|
mov r2, #0
|
|
bl sub_02046BE8
|
|
ldr r0, _023378E8 ; =ov01_0233C1F4
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _023378E0
|
|
_02337788:
|
|
bl ov01_023378FC
|
|
cmp r0, #1
|
|
ldreq r0, _023378E8 ; =ov01_0233C1F4
|
|
moveq r1, #0x1000
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
b _023378E0
|
|
_023377A4:
|
|
mov r1, #0
|
|
str r1, [r4, #4]
|
|
ldr r0, [r0]
|
|
ldr r1, _023378EC ; =0x00001001
|
|
str r1, [r0]
|
|
b _023378E0
|
|
_023377BC:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _023378AC
|
|
_023377CC: ; jump table
|
|
b _023377E0 ; case 0
|
|
b _023377FC ; case 1
|
|
b _02337828 ; case 2
|
|
b _02337888 ; case 3
|
|
b _0233789C ; case 4
|
|
_023377E0:
|
|
bl ov00_022BD780
|
|
mov r0, #0
|
|
ldr r1, _023378F4 ; =0x0000023B
|
|
mov r2, r0
|
|
bl sub_02046BE8
|
|
mov r0, #1
|
|
str r0, [r4, #4]
|
|
_023377FC:
|
|
bl ov01_023378FC
|
|
cmp r0, #1
|
|
bne _023378AC
|
|
mov r0, #0xe0
|
|
mov r1, #0x88
|
|
mov r2, #1
|
|
bl sub_02029F88
|
|
mov r0, #2
|
|
str r0, [r4, #4]
|
|
bl sub_02003B94
|
|
b _023378AC
|
|
_02337828:
|
|
mov r0, #3
|
|
bl NoteSaveBase
|
|
mov r5, r0
|
|
bl sub_02003BC8
|
|
bl sub_02029FBC
|
|
cmp r5, #0
|
|
bne _02337860
|
|
#ifdef JAPAN
|
|
ldr r1, _02339168 ; =0x000004CD
|
|
mov r0, #0x1c
|
|
#else
|
|
mov r0, #0x1c
|
|
mov r1, #0x23c
|
|
#endif
|
|
mov r2, #0
|
|
bl sub_02046BE8
|
|
mov r0, #3
|
|
str r0, [r4, #4]
|
|
b _023378AC
|
|
_02337860:
|
|
cmp r5, #1
|
|
moveq r0, #3
|
|
beq _023378B0
|
|
ldr r1, _023378F8 ; =0x00000239
|
|
mov r0, #0x1c
|
|
mov r2, #0
|
|
bl sub_02046BE8
|
|
mov r0, #4
|
|
str r0, [r4, #4]
|
|
b _023378AC
|
|
_02337888:
|
|
bl ov01_023378FC
|
|
cmp r0, #1
|
|
bne _023378AC
|
|
mov r0, #1
|
|
b _023378B0
|
|
_0233789C:
|
|
bl ov01_023378FC
|
|
cmp r0, #1
|
|
moveq r0, #2
|
|
beq _023378B0
|
|
_023378AC:
|
|
mov r0, #0
|
|
_023378B0:
|
|
cmp r0, #1
|
|
bne _023378C8
|
|
mov r0, #0
|
|
bl ov00_022BD264
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_023378C8:
|
|
cmp r0, #3
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r0, #2
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
_023378E0:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_023378E8: .word ov01_0233C1F4
|
|
_023378EC: .word 0x00001001
|
|
#if defined(EUROPE)
|
|
_023378F0: .word 0x00003762
|
|
_023378F4: .word 0x0000023B
|
|
_023378F8: .word 0x00000239
|
|
#elif defined(JAPAN)
|
|
_023378F0: .word 0x000033E2
|
|
_023378F4: .word 0x000004CC
|
|
_02339168: .word 0x000004CD
|
|
_023378F8: .word 0x000004CA
|
|
#else
|
|
_023378F0: .word 0x00003760
|
|
_023378F4: .word 0x0000023B
|
|
_023378F8: .word 0x00000239
|
|
#endif
|
|
arm_func_end ov01_02337718
|
|
|
|
arm_func_start ov01_023378FC
|
|
ov01_023378FC: ; 0x023378FC
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov01_023378FC
|
|
|
|
arm_func_start ov01_02337914
|
|
ov01_02337914: ; 0x02337914
|
|
ldr ip, _02337920 ; =InitMenu
|
|
ldr r0, _02337924 ; =ov01_0233BD0C
|
|
bx ip
|
|
.align 2, 0
|
|
_02337920: .word InitMenu
|
|
_02337924: .word ov01_0233BD0C
|
|
arm_func_end ov01_02337914
|
|
|
|
arm_func_start ov01_02337928
|
|
ov01_02337928: ; 0x02337928
|
|
ldr r1, _02337934 ; =ov01_0233C1F8
|
|
ldrsb r0, [r1, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337934: .word ov01_0233C1F8
|
|
arm_func_end ov01_02337928
|
|
|
|
arm_func_start ov01_02337938
|
|
ov01_02337938: ; 0x02337938
|
|
ldr r2, _02337944 ; =ov01_0233C1F8
|
|
strb r1, [r2, r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337944: .word ov01_0233C1F8
|
|
arm_func_end ov01_02337938
|
|
|
|
arm_func_start ov01_02337948
|
|
ov01_02337948: ; 0x02337948
|
|
stmdb sp!, {r4, lr}
|
|
bl sub_02046B04
|
|
mov r4, r0
|
|
mvn r1, #1
|
|
cmp r4, r1
|
|
moveq r4, #1
|
|
beq _02337980
|
|
sub r0, r1, #1
|
|
cmp r4, r0
|
|
moveq r4, #1
|
|
beq _02337980
|
|
add r0, r1, #1
|
|
cmp r4, r0
|
|
moveq r4, #0
|
|
_02337980:
|
|
bl sub_02046BA0
|
|
ldr r1, _02337994 ; =ov01_0233C210
|
|
strb r0, [r1]
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02337994: .word ov01_0233C210
|
|
arm_func_end ov01_02337948
|
|
|
|
arm_func_start ov01_02337998
|
|
ov01_02337998: ; 0x02337998
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r5, r1
|
|
cmp r3, #0
|
|
movne r1, #0
|
|
moveq r1, #0x1c
|
|
mov r1, r1, lsl #0x10
|
|
sub r0, r0, #4
|
|
mov r4, r2
|
|
cmp r0, #0xa
|
|
mov r6, r1, lsr #0x10
|
|
mov r7, #0
|
|
addls pc, pc, r0, lsl #2
|
|
b _02337AC4
|
|
_023379CC: ; jump table
|
|
b _023379F8 ; case 0
|
|
b _02337A00 ; case 1
|
|
b _02337A10 ; case 2
|
|
b _02337A20 ; case 3
|
|
b _02337A30 ; case 4
|
|
b _02337A40 ; case 5
|
|
b _02337A50 ; case 6
|
|
b _02337A60 ; case 7
|
|
b _02337A78 ; case 8
|
|
b _02337AA8 ; case 9
|
|
b _02337AB8 ; case 10
|
|
_023379F8:
|
|
mov r0, r7
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02337A00:
|
|
ldr r0, _02337AE4 ; =ov01_0233BD34
|
|
bl Debug_Print0
|
|
ldr r7, _02337AE8 ; =0x000036DA
|
|
b _02337AC4
|
|
_02337A10:
|
|
ldr r0, _02337AEC ; =ov01_0233BD48
|
|
bl Debug_Print0
|
|
mov r0, r7
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02337A20:
|
|
ldr r0, _02337AF0 ; =ov01_0233BD5C
|
|
bl Debug_Print0
|
|
ldr r7, _02337AF4 ; =0x000036DB
|
|
b _02337AC4
|
|
_02337A30:
|
|
ldr r0, _02337AF8 ; =ov01_0233BD70
|
|
bl Debug_Print0
|
|
ldr r7, _02337AFC ; =0x000036E2
|
|
b _02337AC4
|
|
_02337A40:
|
|
ldr r0, _02337B00 ; =ov01_0233BD90
|
|
bl Debug_Print0
|
|
ldr r7, _02337B04 ; =0x000036DC
|
|
b _02337AC4
|
|
_02337A50:
|
|
ldr r0, _02337B08 ; =ov01_0233BDAC
|
|
bl Debug_Print0
|
|
ldr r7, _02337B0C ; =0x000036E3
|
|
b _02337AC4
|
|
_02337A60:
|
|
ldr r0, _02337B10 ; =ov01_0233BDC8
|
|
bl Debug_Print0
|
|
cmp r5, #0
|
|
ldrne r7, _02337B14 ; =0x000036DD
|
|
ldreq r7, _02337B18 ; =0x000036DE
|
|
b _02337AC4
|
|
_02337A78:
|
|
ldr r0, _02337B1C ; =ov01_0233BDDC
|
|
bl Debug_Print0
|
|
cmp r5, #0
|
|
beq _02337AA0
|
|
cmp r4, #2
|
|
ldreq r7, _02337B20 ; =0x000036DF
|
|
beq _02337AC4
|
|
cmp r4, #3
|
|
ldreq r7, _02337B24 ; =0x000036E0
|
|
b _02337AC4
|
|
_02337AA0:
|
|
ldr r7, _02337B28 ; =0x000036E1
|
|
b _02337AC4
|
|
_02337AA8:
|
|
ldr r0, _02337B2C ; =ov01_0233BDF4
|
|
bl Debug_Print0
|
|
ldr r7, _02337B30 ; =0x000036E4
|
|
b _02337AC4
|
|
_02337AB8:
|
|
ldr r0, _02337B34 ; =ov01_0233BE0C
|
|
bl Debug_Print0
|
|
ldr r7, _02337B38 ; =0x000036E5
|
|
_02337AC4:
|
|
cmp r7, #0
|
|
beq _02337ADC
|
|
mov r0, r6
|
|
mov r1, r7
|
|
mov r2, #0
|
|
bl sub_02046BE8
|
|
_02337ADC:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
#if defined(EUROPE)
|
|
#define OV01_02337998_OFFSET 2
|
|
#elif defined(JAPAN)
|
|
#define OV01_02337998_OFFSET -0x37E
|
|
#else
|
|
#define OV01_02337998_OFFSET 0
|
|
#endif
|
|
_02337AE4: .word ov01_0233BD34
|
|
_02337AE8: .word 0x000036DA + OV01_02337998_OFFSET
|
|
_02337AEC: .word ov01_0233BD48
|
|
_02337AF0: .word ov01_0233BD5C
|
|
_02337AF4: .word 0x000036DB + OV01_02337998_OFFSET
|
|
_02337AF8: .word ov01_0233BD70
|
|
_02337AFC: .word 0x000036E2 + OV01_02337998_OFFSET
|
|
_02337B00: .word ov01_0233BD90
|
|
_02337B04: .word 0x000036DC + OV01_02337998_OFFSET
|
|
_02337B08: .word ov01_0233BDAC
|
|
_02337B0C: .word 0x000036E3 + OV01_02337998_OFFSET
|
|
_02337B10: .word ov01_0233BDC8
|
|
_02337B14: .word 0x000036DD + OV01_02337998_OFFSET
|
|
_02337B18: .word 0x000036DE + OV01_02337998_OFFSET
|
|
_02337B1C: .word ov01_0233BDDC
|
|
_02337B20: .word 0x000036DF + OV01_02337998_OFFSET
|
|
_02337B24: .word 0x000036E0 + OV01_02337998_OFFSET
|
|
_02337B28: .word 0x000036E1 + OV01_02337998_OFFSET
|
|
_02337B2C: .word ov01_0233BDF4
|
|
_02337B30: .word 0x000036E4 + OV01_02337998_OFFSET
|
|
_02337B34: .word ov01_0233BE0C
|
|
_02337B38: .word 0x000036E5 + OV01_02337998_OFFSET
|
|
arm_func_end ov01_02337998
|
|
|
|
arm_func_start ov01_02337B3C
|
|
ov01_02337B3C: ; 0x02337B3C
|
|
mov ip, #0
|
|
mov r3, ip
|
|
b _02337B58
|
|
_02337B48:
|
|
ldrb r2, [r0, r3]
|
|
add r3, r3, #1
|
|
add r2, ip, r2
|
|
and ip, r2, #0xff
|
|
_02337B58:
|
|
cmp r3, r1
|
|
blt _02337B48
|
|
mov r0, ip
|
|
bx lr
|
|
arm_func_end ov01_02337B3C
|
|
|
|
arm_func_start ov01_02337B68
|
|
ov01_02337B68: ; 0x02337B68
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #4
|
|
mov r1, #0x14
|
|
bl ov01_02337B3C
|
|
ldrb r1, [r4]
|
|
cmp r1, #0x11
|
|
movne r0, #2
|
|
ldmneia sp!, {r4, pc}
|
|
ldrb r1, [r4, #3]
|
|
cmp r0, r1
|
|
movne r0, #3
|
|
moveq r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov01_02337B68
|
|
|
|
arm_func_start ov01_02337BA0
|
|
ov01_02337BA0: ; 0x02337BA0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
mov r0, #0x60
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _02337C50 ; =ov01_0233C210
|
|
mov r1, #0x60
|
|
str r0, [r2, #4]
|
|
bl MemZero
|
|
ldr r0, _02337C50 ; =ov01_0233C210
|
|
mov r2, #0
|
|
ldr r1, [r0, #4]
|
|
mov ip, #2
|
|
str r2, [r1]
|
|
ldr r1, [r0, #4]
|
|
str r2, [r1, #0x30]
|
|
ldr r5, [r0, #4]
|
|
add lr, r5, #8
|
|
_02337BE8:
|
|
ldmia r4!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _02337BE8
|
|
ldr r1, [r4]
|
|
mov r0, #1
|
|
str r1, [lr]
|
|
mov r4, #0
|
|
ldr r1, _02337C50 ; =ov01_0233C210
|
|
str r4, [r5, #4]
|
|
ldr r3, [r1, #4]
|
|
sub r2, r0, #2
|
|
strb r0, [r3, #0x3c]
|
|
ldr r3, [r1, #4]
|
|
strb r4, [r3, #0x3e]
|
|
ldr r3, [r1, #4]
|
|
str r4, [r3, #0x40]
|
|
ldr r3, [r1, #4]
|
|
str r4, [r3, #0x44]
|
|
ldr r3, [r1, #4]
|
|
str r4, [r3, #0x48]
|
|
ldr r3, [r1, #4]
|
|
str r4, [r3, #0x4c]
|
|
ldr r1, [r1, #4]
|
|
str r2, [r1, #0x50]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02337C50: .word ov01_0233C210
|
|
arm_func_end ov01_02337BA0
|
|
|
|
arm_func_start ov01_02337C54
|
|
ov01_02337C54: ; 0x02337C54
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02337C8C ; =ov01_0233C210
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov01_0233893C
|
|
bl ov01_02338978
|
|
ldr r0, _02337C8C ; =ov01_0233C210
|
|
ldr r0, [r0, #4]
|
|
bl MemFree
|
|
ldr r0, _02337C8C ; =ov01_0233C210
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02337C8C: .word ov01_0233C210
|
|
arm_func_end ov01_02337C54
|
|
|
|
arm_func_start ov01_02337C90
|
|
ov01_02337C90: ; 0x02337C90
|
|
ldr r0, _02337CA8 ; =ov01_0233C210
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldrne r0, [r0, #0x30]
|
|
moveq r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_02337CA8: .word ov01_0233C210
|
|
arm_func_end ov01_02337C90
|
|
|
|
arm_func_start ov01_02337CAC
|
|
ov01_02337CAC: ; 0x02337CAC
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _02337CE0 ; =ov01_0233C210
|
|
ldr r4, [r0, #4]
|
|
cmp r4, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0xb
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, #0x1e0
|
|
bl ov01_0232B020
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02337CE0: .word ov01_0233C210
|
|
arm_func_end ov01_02337CAC
|
|
|
|
arm_func_start ov01_02337CE4
|
|
ov01_02337CE4: ; 0x02337CE4
|
|
ldr r0, _02337CFC ; =ov01_0233C210
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
ldrneb r0, [r0, #0x3c]
|
|
moveq r0, #1
|
|
bx lr
|
|
.align 2, 0
|
|
_02337CFC: .word ov01_0233C210
|
|
arm_func_end ov01_02337CE4
|
|
|
|
arm_func_start ov01_02337D00
|
|
ov01_02337D00: ; 0x02337D00
|
|
ldr r1, _02337D14 ; =ov01_0233C210
|
|
ldr r1, [r1, #4]
|
|
cmp r1, #0
|
|
strneb r0, [r1, #0x3c]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337D14: .word ov01_0233C210
|
|
arm_func_end ov01_02337D00
|
|
|
|
arm_func_start ov01_02337D18
|
|
ov01_02337D18: ; 0x02337D18
|
|
ldr r1, _02337D2C ; =ov01_0233C210
|
|
ldr r1, [r1, #4]
|
|
cmp r1, #0
|
|
strneb r0, [r1, #0x3e]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337D2C: .word ov01_0233C210
|
|
arm_func_end ov01_02337D18
|
|
|
|
arm_func_start ov01_02337D30
|
|
ov01_02337D30: ; 0x02337D30
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _02337DCC ; =ov01_0233C210
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov ip, #0
|
|
str ip, [r0, #0x30]
|
|
ldr r0, [r1, #4]
|
|
mov r3, #1
|
|
str ip, [r0, #4]
|
|
ldr r0, [r1, #4]
|
|
sub r2, r3, #2
|
|
strb r3, [r0, #0x3c]
|
|
ldr r3, [r1, #4]
|
|
mov r0, #0x1e0
|
|
strb ip, [r3, #0x3e]
|
|
ldr r3, [r1, #4]
|
|
str ip, [r3, #0x40]
|
|
ldr r3, [r1, #4]
|
|
str ip, [r3, #0x44]
|
|
ldr r3, [r1, #4]
|
|
str ip, [r3, #0x48]
|
|
ldr r3, [r1, #4]
|
|
str ip, [r3, #0x4c]
|
|
ldr r1, [r1, #4]
|
|
str r2, [r1, #0x50]
|
|
bl ov01_0232B020
|
|
mov r0, #1
|
|
bl ov01_0232B080
|
|
bl ov01_0232C024
|
|
ldr r0, _02337DCC ; =ov01_0233C210
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x18]
|
|
bl ov01_0232AED4
|
|
ldr r0, _02337DCC ; =ov01_0233C210
|
|
mov r1, #3
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02337DCC: .word ov01_0233C210
|
|
arm_func_end ov01_02337D30
|
|
|
|
arm_func_start ov01_02337DD0
|
|
ov01_02337DD0: ; 0x02337DD0
|
|
ldr r0, _02337E08 ; =ov01_0233C210
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #0
|
|
bxeq lr
|
|
ldr r0, [r1, #0x30]
|
|
cmp r0, #4
|
|
cmpne r0, #0
|
|
moveq r0, #6
|
|
streq r0, [r1, #0x30]
|
|
ldr r0, _02337E08 ; =ov01_0233C210
|
|
mov r1, #9
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_02337E08: .word ov01_0233C210
|
|
arm_func_end ov01_02337DD0
|
|
|
|
arm_func_start ov01_02337E0C
|
|
ov01_02337E0C: ; 0x02337E0C
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x14
|
|
ldr r0, _02338844 ; =ov01_0233C210
|
|
ldr sb, [r0, #4]
|
|
ldr r0, [sb]
|
|
cmp r0, #0xc
|
|
addls pc, pc, r0, lsl #2
|
|
b _02338838
|
|
_02337E2C: ; jump table
|
|
b _02337E60 ; case 0
|
|
b _02337E7C ; case 1
|
|
b _02337EFC ; case 2
|
|
b _02337F28 ; case 3
|
|
b _02337F44 ; case 4
|
|
b _02337F58 ; case 5
|
|
b _02337FAC ; case 6
|
|
b _02338674 ; case 7
|
|
b _0233868C ; case 8
|
|
b _023386F4 ; case 9
|
|
b _02338710 ; case 10
|
|
b _02338768 ; case 11
|
|
b _02338828 ; case 12
|
|
_02337E60:
|
|
ldr r0, [sb, #0x28]
|
|
bl ov01_0232ADC0
|
|
ldr r0, [sb, #0x18]
|
|
bl ov01_0232AED4
|
|
mov r0, #1
|
|
str r0, [sb]
|
|
b _02338838
|
|
_02337E7C:
|
|
ldrb r0, [sb, #0x3e]
|
|
mov r1, #0xa0
|
|
mov r2, #0
|
|
cmp r0, #0
|
|
mov r0, #0xe0
|
|
bne _02337ED8
|
|
bl ov01_0232C148
|
|
mov r0, #0xec
|
|
mov r1, #0x1c
|
|
mov r2, #7
|
|
mov r3, #6
|
|
bl ov01_0232C3AC
|
|
ldr r1, _02338844 ; =ov01_0233C210
|
|
mov r0, #0
|
|
ldrsb r4, [r1]
|
|
ldr r2, _02338848 ; =ov01_0233BD1C
|
|
ldr r3, _0233884C ; =0x000036D8
|
|
mov r1, r0
|
|
str r4, [sp]
|
|
bl sub_02046A9C
|
|
mov r0, #2
|
|
str r0, [sb]
|
|
b _02338838
|
|
_02337ED8:
|
|
bl ov01_0232C148
|
|
mov r0, #0xec
|
|
mov r1, #0x1c
|
|
mov r2, #7
|
|
mov r3, #6
|
|
bl ov01_0232C3AC
|
|
mov r0, #3
|
|
str r0, [sb]
|
|
b _02338838
|
|
_02337EFC:
|
|
bl ov01_02337948
|
|
cmp r0, #2
|
|
moveq r0, #3
|
|
streq r0, [sb]
|
|
beq _02338838
|
|
cmp r0, #3
|
|
cmpne r0, #1
|
|
bne _02338838
|
|
bl ov01_0232B2CC
|
|
mov r0, #1
|
|
b _0233883C
|
|
_02337F28:
|
|
mov r0, #0
|
|
ldr r1, _02338850 ; =0x000036D9
|
|
mov r2, r0
|
|
bl sub_02046BE8
|
|
mov r0, #4
|
|
str r0, [sb]
|
|
b _02338838
|
|
_02337F44:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
movne r0, #5
|
|
strne r0, [sb]
|
|
b _02338838
|
|
_02337F58:
|
|
bl sub_02003B94
|
|
ldr r0, _02338844 ; =ov01_0233C210
|
|
ldr r1, _02338854 ; =ov01_02338864
|
|
ldr r2, [r0, #4]
|
|
mov r0, #0
|
|
str r0, [r2, #0x2c]
|
|
bl ov01_0232B5D0
|
|
ldr r0, _02338844 ; =ov01_0233C210
|
|
mov r3, #0
|
|
ldr r1, [r0, #4]
|
|
ldr r2, _02338858 ; =ov01_023389D4
|
|
str r3, [r1, #0x34]
|
|
ldr r1, [r0, #4]
|
|
str r3, [r1, #0x38]
|
|
ldr r0, [r0, #4]
|
|
ldrh r1, [r0, #0x24]
|
|
ldr r0, [r0, #0x20]
|
|
bl ov01_0232B124
|
|
mov r0, #6
|
|
str r0, [sb]
|
|
b _02338838
|
|
_02337FAC:
|
|
ldr r0, [sb, #4]
|
|
mov r5, #0
|
|
add r0, sb, r0, lsl #2
|
|
ldr r7, [r0, #0xc]
|
|
bl ov01_0232AF4C
|
|
mov r6, r0
|
|
bl ov01_0232AFC4
|
|
cmp r0, #0
|
|
beq _0233800C
|
|
mov r0, r5
|
|
bl ov01_0232B040
|
|
ldr r0, _02338844 ; =ov01_0233C210
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #0x2c]
|
|
cmp r0, #5
|
|
blt _02338000
|
|
cmp r0, #0xb
|
|
ldrneb r0, [r1, #0x3d]
|
|
cmpne r0, #0
|
|
movne r5, #1
|
|
bne _02338580
|
|
_02338000:
|
|
mov r0, #0xa
|
|
str r0, [sb, #0x2c]
|
|
b _0233809C
|
|
_0233800C:
|
|
bl ov01_0232BE4C
|
|
cmp r0, #0
|
|
bne _02338060
|
|
bl ov01_02337CE4
|
|
cmp r0, #0
|
|
beq _02338060
|
|
add r1, sp, #0xc
|
|
mov r0, r5
|
|
bl GetPressedButtons
|
|
ldrh r0, [sp, #0xc]
|
|
tst r0, #2
|
|
bne _02338054
|
|
bl sub_020467F0
|
|
cmp r0, #0
|
|
bne _02338054
|
|
bl sub_02003B5C
|
|
cmp r0, #0
|
|
beq _02338060
|
|
_02338054:
|
|
bl ov01_0232BE08
|
|
mov r0, #9
|
|
str r0, [sb, #0x2c]
|
|
_02338060:
|
|
cmp r6, #5
|
|
addls pc, pc, r6, lsl #2
|
|
b _0233808C
|
|
_0233806C: ; jump table
|
|
b _0233808C ; case 0
|
|
b _0233808C ; case 1
|
|
b _02338084 ; case 2
|
|
b _0233808C ; case 3
|
|
b _0233808C ; case 4
|
|
b _0233808C ; case 5
|
|
_02338084:
|
|
mov r0, #0xa
|
|
str r0, [sb, #0x2c]
|
|
_0233808C:
|
|
bl ov01_0232C008
|
|
cmp r0, #0xa
|
|
movge r0, #0xa
|
|
strge r0, [sb, #0x2c]
|
|
_0233809C:
|
|
sub fp, r6, #4
|
|
b _02338574
|
|
_023380A4:
|
|
ldr r0, [sb, #0x2c]
|
|
mov r5, #1
|
|
cmp r0, #0xb
|
|
addls pc, pc, r0, lsl #2
|
|
b _02338574
|
|
_023380B8: ; jump table
|
|
b _023380E8 ; case 0
|
|
b _02338104 ; case 1
|
|
b _02338254 ; case 2
|
|
b _023382A8 ; case 3
|
|
b _023383DC ; case 4
|
|
b _02338438 ; case 5
|
|
b _02338474 ; case 6
|
|
b _023384D4 ; case 7
|
|
b _023384E8 ; case 8
|
|
b _023384EC ; case 9
|
|
b _02338528 ; case 10
|
|
b _02338560 ; case 11
|
|
_023380E8:
|
|
cmp r6, #0
|
|
beq _023380F8
|
|
cmp fp, #1
|
|
bhi _02338574
|
|
_023380F8:
|
|
mov r0, #1
|
|
str r0, [sb, #0x2c]
|
|
b _02338574
|
|
_02338104:
|
|
ldr r0, _02338844 ; =ov01_0233C210
|
|
ldr sl, [r7]
|
|
ldr r0, [r0, #4]
|
|
add r1, sl, #0x21
|
|
ldr r0, [r0, #0x40]
|
|
bic r8, r1, #0x1f
|
|
cmp r0, #0
|
|
ldr r0, [r7, #4]
|
|
str r0, [sp, #4]
|
|
bne _023381F0
|
|
mov r0, r8
|
|
mov r1, #0xf
|
|
bl MemAlloc
|
|
mov r4, r0
|
|
mov r0, r8
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr ip, _02338844 ; =ov01_0233C210
|
|
ldr r1, [sp, #4]
|
|
ldr r3, [ip, #4]
|
|
mov r2, sl
|
|
str r0, [r3, #0x40]
|
|
ldr r3, [ip, #4]
|
|
add r0, r4, #2
|
|
str r8, [r3, #0x44]
|
|
bl MemcpySimple
|
|
add r0, sl, #2
|
|
sub r1, r8, sl
|
|
add r0, r4, r0
|
|
sub r1, r1, #2
|
|
bl MemZero
|
|
mov r3, #0
|
|
mov r0, r3
|
|
sub r2, r8, #2
|
|
b _023381B0
|
|
_02338190:
|
|
add r1, r4, r0
|
|
ldrb sl, [r1, #3]
|
|
ldrb r1, [r1, #2]
|
|
add r0, r0, #2
|
|
orr r1, r1, sl, lsl #8
|
|
add r1, r3, r1
|
|
mov r1, r1, lsl #0x10
|
|
mov r3, r1, lsr #0x10
|
|
_023381B0:
|
|
cmp r0, r2
|
|
blo _02338190
|
|
and r0, r3, #0xff
|
|
add r0, r0, r3, asr #8
|
|
and r0, r0, #0xff
|
|
add r1, r4, #2
|
|
strh r3, [r4]
|
|
bl sub_0204E02C
|
|
ldr r0, _02338844 ; =ov01_0233C210
|
|
mov r1, r4
|
|
ldr r0, [r0, #4]
|
|
mov r2, r8
|
|
ldr r0, [r0, #0x40]
|
|
bl sub_0204DF54
|
|
mov r0, r4
|
|
bl MemFree
|
|
_023381F0:
|
|
ldr r0, _02338844 ; =ov01_0233C210
|
|
ldr r1, [r7, #8]
|
|
ldr r0, [r0, #4]
|
|
add r1, r1, #0x21
|
|
ldr r0, [r0, #0x48]
|
|
bic r4, r1, #0x1f
|
|
cmp r0, #0
|
|
bne _02338230
|
|
mov r0, r4
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r1, _02338844 ; =ov01_0233C210
|
|
ldr r2, [r1, #4]
|
|
str r0, [r2, #0x48]
|
|
ldr r0, [r1, #4]
|
|
str r4, [r0, #0x4c]
|
|
_02338230:
|
|
mov r1, #0
|
|
strb r1, [sb, #0x54]
|
|
ldr r0, [sb, #0x18]
|
|
cmp r0, #1
|
|
moveq r1, #0xa
|
|
str r1, [sb, #0x5c]
|
|
mov r0, #2
|
|
str r0, [sb, #0x2c]
|
|
b _02338574
|
|
_02338254:
|
|
bl ov01_0232AFB0
|
|
cmp r0, #0
|
|
beq _02338574
|
|
ldr r0, [sb, #0x5c]
|
|
sub r0, r0, #1
|
|
str r0, [sb, #0x5c]
|
|
cmp r0, #0
|
|
bgt _02338574
|
|
mov r0, #0
|
|
bl ov01_02337D00
|
|
bl ov01_0232B068
|
|
ldr r1, [r7]
|
|
ldr r2, [r7, #0xc]
|
|
ldmib r7, {r0, r3}
|
|
bl ov01_0232B420
|
|
cmp r0, #0
|
|
movne r0, #0x258
|
|
strne r0, [sb, #0x50]
|
|
movne r0, #3
|
|
strne r0, [sb, #0x2c]
|
|
b _02338574
|
|
_023382A8:
|
|
ldr r0, [sb, #0x50]
|
|
sub r0, r0, #1
|
|
str r0, [sb, #0x50]
|
|
bl ov01_0232B00C
|
|
cmp r0, #0
|
|
beq _023383AC
|
|
bl ov01_0232B068
|
|
ldr r8, [r7, #8]
|
|
ldr r2, [sb, #0x4c]
|
|
ldr r4, [sb, #0x48]
|
|
mov r0, r8
|
|
mov r1, #0xf
|
|
str r2, [sp, #8]
|
|
ldr sl, [r7, #0xc]
|
|
bl MemAlloc
|
|
mov r1, r4
|
|
mov r4, r0
|
|
mov r2, r8
|
|
bl sub_0204DFB0
|
|
ldrb r3, [r4]
|
|
ldrb r0, [r4, #1]
|
|
add r1, r4, #2
|
|
sub r2, r8, #2
|
|
add r0, r3, r0
|
|
and r0, r0, #0xff
|
|
bl sub_0204E0A0
|
|
mov r1, #0
|
|
mov r0, r1
|
|
sub r2, r8, #2
|
|
b _02338340
|
|
_02338320:
|
|
add r3, r4, r0
|
|
ldrb r8, [r3, #3]
|
|
ldrb r3, [r3, #2]
|
|
add r0, r0, #2
|
|
orr r3, r3, r8, lsl #8
|
|
add r1, r1, r3
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, lsr #0x10
|
|
_02338340:
|
|
cmp r0, r2
|
|
blo _02338320
|
|
ldrh r0, [r4]
|
|
cmp r1, r0
|
|
beq _02338360
|
|
mov r0, r4
|
|
bl MemFree
|
|
b _02338378
|
|
_02338360:
|
|
ldr r2, [sp, #8]
|
|
mov r0, sl
|
|
mov r1, r4
|
|
bl MemcpySimple
|
|
mov r0, r4
|
|
bl MemFree
|
|
_02338378:
|
|
ldr r1, [r7, #0x10]
|
|
cmp r1, #0
|
|
moveq r0, #1
|
|
beq _02338390
|
|
ldr r0, [r7, #0xc]
|
|
blx r1
|
|
_02338390:
|
|
str r0, [sb, #0x34]
|
|
mov r0, #0
|
|
str r0, [sb, #0x38]
|
|
strb r0, [sb, #0x3d]
|
|
mov r0, #4
|
|
str r0, [sb, #0x2c]
|
|
b _02338574
|
|
_023383AC:
|
|
ldr r0, [sb, #0x50]
|
|
cmp r0, #0
|
|
bgt _02338574
|
|
ldrb r0, [sb, #0x54]
|
|
cmp r0, #0
|
|
moveq r0, r5
|
|
streqb r0, [sb, #0x54]
|
|
moveq r0, #2
|
|
streq r0, [sb, #0x2c]
|
|
beq _02338574
|
|
mov r5, #4
|
|
b _02338580
|
|
_023383DC:
|
|
ldr r0, [sb, #0x18]
|
|
cmp r0, #0
|
|
bne _02338424
|
|
ldr r0, [sb, #0x34]
|
|
add r2, sp, #0xe
|
|
strb r0, [sp, #0xe]
|
|
ldr r3, [sb, #0x38]
|
|
mov r0, #0
|
|
mov r1, #3
|
|
strb r3, [sp, #0xf]
|
|
strb r0, [sp, #0x10]
|
|
bl ov01_0232B540
|
|
cmp r0, #0
|
|
movne r0, #0x258
|
|
strne r0, [sb, #0x50]
|
|
movne r0, #5
|
|
strne r0, [sb, #0x2c]
|
|
b _02338574
|
|
_02338424:
|
|
mov r0, #0x258
|
|
str r0, [sb, #0x50]
|
|
mov r0, #5
|
|
str r0, [sb, #0x2c]
|
|
b _02338574
|
|
_02338438:
|
|
ldr r0, [sb, #0x50]
|
|
sub r0, r0, #1
|
|
str r0, [sb, #0x50]
|
|
ldrb r0, [sb, #0x3d]
|
|
cmp r0, #0
|
|
movne r0, #6
|
|
strne r0, [sb, #0x2c]
|
|
movne r0, #0x3c
|
|
strne r0, [sb, #0x58]
|
|
bne _02338574
|
|
ldr r0, [sb, #0x50]
|
|
cmp r0, #0
|
|
bgt _02338574
|
|
mov r5, #4
|
|
b _02338580
|
|
_02338474:
|
|
ldr r0, [sb, #0x58]
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
cmp r1, #0
|
|
bne _023384B8
|
|
ldr r0, _02338844 ; =ov01_0233C210
|
|
add r2, sp, #0x11
|
|
ldr r4, [r0, #4]
|
|
mov r3, r5
|
|
ldr r1, [r4, #0x34]
|
|
mov r0, #0
|
|
strb r1, [sp, #0x11]
|
|
ldr r4, [r4, #0x38]
|
|
mov r1, #3
|
|
strb r4, [sp, #0x12]
|
|
strb r3, [sp, #0x13]
|
|
bl ov01_0232B540
|
|
_023384B8:
|
|
ldr r0, [sb, #0x58]
|
|
sub r0, r0, #1
|
|
str r0, [sb, #0x58]
|
|
cmp r0, #0
|
|
movle r0, #7
|
|
strle r0, [sb, #0x2c]
|
|
b _02338574
|
|
_023384D4:
|
|
ldr r0, _0233885C ; =ov01_0233BE24
|
|
bl Debug_Print0
|
|
mov r0, #8
|
|
str r0, [sb, #0x2c]
|
|
b _02338574
|
|
_023384E8:
|
|
b _02338580
|
|
_023384EC:
|
|
bl ov01_0232BDDC
|
|
cmp r0, #0
|
|
beq _02338504
|
|
bl ov01_0232BDF0
|
|
mov r5, #2
|
|
b _02338580
|
|
_02338504:
|
|
bl ov01_0232BE4C
|
|
cmp r0, #0
|
|
beq _0233851C
|
|
bl ov01_0232AFB0
|
|
cmp r0, #0
|
|
beq _02338574
|
|
_0233851C:
|
|
mov r0, #0
|
|
str r0, [sb, #0x2c]
|
|
b _02338574
|
|
_02338528:
|
|
ldr r0, _02338860 ; =ov01_0233BE48
|
|
bl Debug_Print0
|
|
bl ov01_0232C008
|
|
cmp r0, #0xa
|
|
beq _02338548
|
|
cmp r0, #0xc
|
|
beq _02338550
|
|
b _02338558
|
|
_02338548:
|
|
mov r5, #4
|
|
b _02338580
|
|
_02338550:
|
|
mov r5, #3
|
|
b _02338580
|
|
_02338558:
|
|
mov r5, #3
|
|
b _02338580
|
|
_02338560:
|
|
bl sub_02003B5C
|
|
cmp r0, #0
|
|
movne r5, #3
|
|
moveq r5, #5
|
|
b _02338580
|
|
_02338574:
|
|
cmp r5, #0
|
|
beq _023380A4
|
|
mov r5, #0
|
|
_02338580:
|
|
cmp r5, #1
|
|
bne _023385FC
|
|
bl ov01_0233893C
|
|
bl ov01_02338978
|
|
ldr r1, [sb, #4]
|
|
ldr r0, [sb, #8]
|
|
add r1, r1, #1
|
|
cmp r1, r0
|
|
blo _023385DC
|
|
mov r0, #0
|
|
bl ov01_0232C040
|
|
mov r0, #4
|
|
str r0, [sb, #0x30]
|
|
bl ov01_023389B4
|
|
cmp r0, #1
|
|
bne _023385D0
|
|
ldrb r0, [sb, #0x26]
|
|
cmp r0, #0
|
|
movne r0, #7
|
|
bne _023385D4
|
|
_023385D0:
|
|
mov r0, #9
|
|
_023385D4:
|
|
str r0, [sb]
|
|
b _023385EC
|
|
_023385DC:
|
|
mov r0, #0xe10
|
|
bl ov01_0232B020
|
|
mov r0, #0xb
|
|
str r0, [sb, #0x2c]
|
|
_023385EC:
|
|
ldr r0, [sb, #4]
|
|
add r0, r0, #1
|
|
str r0, [sb, #4]
|
|
b _02338838
|
|
_023385FC:
|
|
cmp r5, #5
|
|
moveq r0, #0xf
|
|
beq _0233883C
|
|
cmp r5, #2
|
|
bne _0233862C
|
|
bl ov01_0233893C
|
|
bl ov01_02338978
|
|
mov r0, #5
|
|
str r0, [sb, #0x30]
|
|
mov r0, #9
|
|
str r0, [sb]
|
|
b _02338838
|
|
_0233862C:
|
|
cmp r5, #4
|
|
bne _02338650
|
|
bl ov01_0233893C
|
|
bl ov01_02338978
|
|
mov r0, #7
|
|
str r0, [sb, #0x30]
|
|
mov r0, #9
|
|
str r0, [sb]
|
|
b _02338838
|
|
_02338650:
|
|
cmp r5, #3
|
|
bne _02338838
|
|
bl ov01_0233893C
|
|
bl ov01_02338978
|
|
mov r0, #8
|
|
str r0, [sb, #0x30]
|
|
mov r0, #9
|
|
str r0, [sb]
|
|
b _02338838
|
|
_02338674:
|
|
bl ov01_0232B18C
|
|
mov r0, #8
|
|
str r0, [sb]
|
|
mov r0, #0x258
|
|
str r0, [sb, #0x50]
|
|
b _02338838
|
|
_0233868C:
|
|
bl ov01_0232AF4C
|
|
cmp r0, #2
|
|
cmpne r0, #0
|
|
beq _023386AC
|
|
cmp r0, #1
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
b _023386B4
|
|
_023386AC:
|
|
bl ov01_0232B2CC
|
|
mov r0, #1
|
|
_023386B4:
|
|
cmp r0, #0
|
|
movne r0, #0xb
|
|
strne r0, [sb]
|
|
bne _02338838
|
|
ldr r1, [sb, #0x50]
|
|
sub r0, r1, #1
|
|
str r0, [sb, #0x50]
|
|
cmp r1, #0
|
|
bge _02338838
|
|
mov r0, #1
|
|
bl ov01_0232B210
|
|
mov r0, #0x258
|
|
str r0, [sb, #0x50]
|
|
mov r0, #0xa
|
|
str r0, [sb]
|
|
b _02338838
|
|
_023386F4:
|
|
mov r0, #0
|
|
bl ov01_0232B210
|
|
mov r0, #0xa
|
|
str r0, [sb]
|
|
mov r0, #0x258
|
|
str r0, [sb, #0x50]
|
|
b _02338838
|
|
_02338710:
|
|
bl ov01_0232AF4C
|
|
cmp r0, #2
|
|
cmpne r0, #0
|
|
movne r0, #0
|
|
bne _0233872C
|
|
bl ov01_0232B2CC
|
|
mov r0, #1
|
|
_0233872C:
|
|
cmp r0, #0
|
|
beq _02338740
|
|
bl sub_02003BC8
|
|
mov r0, #0xb
|
|
str r0, [sb]
|
|
_02338740:
|
|
ldr r1, [sb, #0x50]
|
|
sub r0, r1, #1
|
|
str r0, [sb, #0x50]
|
|
cmp r1, #0
|
|
bge _02338838
|
|
mov r0, #1
|
|
bl ov01_0232B210
|
|
mov r0, #0x258
|
|
str r0, [sb, #0x50]
|
|
b _02338838
|
|
_02338768:
|
|
ldr r0, [sb, #0x30]
|
|
ldr r4, [sb, #0x20]
|
|
cmp r0, #4
|
|
bne _023387F8
|
|
bl ov01_023389B4
|
|
cmp r0, #7
|
|
addls pc, pc, r0, lsl #2
|
|
b _02338804
|
|
_02338788: ; jump table
|
|
b _02338804 ; case 0
|
|
b _023387A8 ; case 1
|
|
b _023387B0 ; case 2
|
|
b _023387BC ; case 3
|
|
b _023387C8 ; case 4
|
|
b _023387D4 ; case 5
|
|
b _023387E0 ; case 6
|
|
b _023387EC ; case 7
|
|
_023387A8:
|
|
mov r0, #4
|
|
b _0233883C
|
|
_023387B0:
|
|
mov r0, #9
|
|
str r0, [sb, #0x30]
|
|
b _02338804
|
|
_023387BC:
|
|
mov r0, #0xa
|
|
str r0, [sb, #0x30]
|
|
b _02338804
|
|
_023387C8:
|
|
mov r0, #0xb
|
|
str r0, [sb, #0x30]
|
|
b _02338804
|
|
_023387D4:
|
|
mov r0, #0xc
|
|
str r0, [sb, #0x30]
|
|
b _02338804
|
|
_023387E0:
|
|
mov r0, #0xd
|
|
str r0, [sb, #0x30]
|
|
b _02338804
|
|
_023387EC:
|
|
mov r0, #0xe
|
|
str r0, [sb, #0x30]
|
|
b _02338804
|
|
_023387F8:
|
|
cmp r0, #6
|
|
moveq r0, #6
|
|
beq _0233883C
|
|
_02338804:
|
|
bl sub_02046BB4
|
|
ldrb r1, [sb, #0x1c]
|
|
ldrb r2, [r4]
|
|
ldrb r3, [sb, #0x3e]
|
|
ldr r0, [sb, #0x30]
|
|
bl ov01_02337998
|
|
mov r0, #0xc
|
|
str r0, [sb]
|
|
b _02338838
|
|
_02338828:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
ldrne r0, [sb, #0x30]
|
|
bne _0233883C
|
|
_02338838:
|
|
mov r0, #0
|
|
_0233883C:
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_02338844: .word ov01_0233C210
|
|
_02338848: .word ov01_0233BD1C
|
|
#if defined(EUROPE)
|
|
_0233884C: .word 0x000036DA
|
|
_02338850: .word 0x000036DB
|
|
#elif defined(JAPAN)
|
|
_0233884C: .word 0x0000335A
|
|
_02338850: .word 0x0000335B
|
|
#else
|
|
_0233884C: .word 0x000036D8
|
|
_02338850: .word 0x000036D9
|
|
#endif
|
|
_02338854: .word ov01_02338864
|
|
_02338858: .word ov01_023389D4
|
|
_0233885C: .word ov01_0233BE24
|
|
_02338860: .word ov01_0233BE48
|
|
arm_func_end ov01_02337E0C
|
|
|
|
arm_func_start ov01_02338864
|
|
ov01_02338864: ; 0x02338864
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
ldr r2, _02338938 ; =ov01_0233C210
|
|
mov r4, r1
|
|
ldr r2, [r2, #4]
|
|
mov r0, #0
|
|
ldr r1, [r2, #0x34]
|
|
strb r1, [sp]
|
|
ldr r1, [r2, #0x38]
|
|
strb r0, [sp, #2]
|
|
strb r1, [sp, #1]
|
|
ldrb r1, [r4]
|
|
ldr r3, [r2, #0x38]
|
|
cmp r3, r1
|
|
ldreqb r1, [r4, #1]
|
|
ldreq r3, [r2, #0x34]
|
|
cmpeq r3, r1
|
|
beq _023388F0
|
|
ldr r0, _02338938 ; =ov01_0233C210
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
ldrb r1, [r4]
|
|
ldr r0, [r2, #0x38]
|
|
cmp r0, r1
|
|
strne r1, [r2, #0x38]
|
|
add r2, sp, #0
|
|
mov r0, #0
|
|
mov r1, #3
|
|
bl ov01_0232B540
|
|
cmp r0, #0
|
|
ldreq r0, _02338938 ; =ov01_0233C210
|
|
moveq r1, #0xa
|
|
ldreq r0, [r0, #4]
|
|
streq r1, [r0, #0x2c]
|
|
b _02338930
|
|
_023388F0:
|
|
ldrb r1, [r2, #0x3d]
|
|
cmp r1, #0
|
|
bne _02338930
|
|
mov r1, #1
|
|
strb r1, [r2, #0x3d]
|
|
strb r1, [sp, #2]
|
|
add r2, sp, #0
|
|
mov r1, #3
|
|
bl ov01_0232B540
|
|
ldrb r1, [r4, #2]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
ldreq r0, _02338938 ; =ov01_0233C210
|
|
moveq r1, #0xa
|
|
ldreq r0, [r0, #4]
|
|
streq r1, [r0, #0x2c]
|
|
_02338930:
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_02338938: .word ov01_0233C210
|
|
arm_func_end ov01_02338864
|
|
|
|
arm_func_start ov01_0233893C
|
|
ov01_0233893C: ; 0x0233893C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02338974 ; =ov01_0233C210
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x40]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _02338974 ; =ov01_0233C210
|
|
mov r2, #0
|
|
ldr r1, [r0, #4]
|
|
str r2, [r1, #0x40]
|
|
ldr r0, [r0, #4]
|
|
str r2, [r0, #0x44]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02338974: .word ov01_0233C210
|
|
arm_func_end ov01_0233893C
|
|
|
|
arm_func_start ov01_02338978
|
|
ov01_02338978: ; 0x02338978
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _023389B0 ; =ov01_0233C210
|
|
ldr r0, [r0, #4]
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _023389B0 ; =ov01_0233C210
|
|
mov r2, #0
|
|
ldr r1, [r0, #4]
|
|
str r2, [r1, #0x48]
|
|
ldr r0, [r0, #4]
|
|
str r2, [r0, #0x4c]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023389B0: .word ov01_0233C210
|
|
arm_func_end ov01_02338978
|
|
|
|
arm_func_start ov01_023389B4
|
|
ov01_023389B4: ; 0x023389B4
|
|
ldr r0, _023389D0 ; =ov01_0233C210
|
|
ldr r1, [r0, #4]
|
|
ldr r0, [r1, #0x34]
|
|
ldr r1, [r1, #0x38]
|
|
cmp r0, r1
|
|
movlt r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_023389D0: .word ov01_0233C210
|
|
arm_func_end ov01_023389B4
|
|
|
|
arm_func_start ov01_023389D4
|
|
ov01_023389D4: ; 0x023389D4
|
|
ldr r1, _02338A20 ; =ov01_0233C210
|
|
ldrb r2, [r0, #0x4a]
|
|
ldr r1, [r1, #4]
|
|
cmp r2, #0
|
|
ldr r2, [r1, #0x20]
|
|
moveq r0, #0
|
|
bxeq lr
|
|
ldrb r1, [r0, #0x51]
|
|
cmp r1, #0
|
|
ldrneb r1, [r2, #1]
|
|
cmpne r1, #0
|
|
movne r0, #0
|
|
bxne lr
|
|
ldrb r1, [r0, #0x50]
|
|
ldrb r0, [r2]
|
|
cmp r1, r0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_02338A20: .word ov01_0233C210
|
|
arm_func_end ov01_023389D4
|
|
|
|
arm_func_start ov01_02338A24
|
|
ov01_02338A24: ; 0x02338A24
|
|
#ifdef JAPAN
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
#else
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
#endif
|
|
ldr r0, _02338B00 ; =0x00005004
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _02338B04 ; =ov01_0233C21C
|
|
ldr r1, _02338B00 ; =0x00005004
|
|
str r0, [r2, #4]
|
|
bl MemZero
|
|
ldr r2, _02338B04 ; =ov01_0233C21C
|
|
mov r1, #0
|
|
ldr r3, [r2, #4]
|
|
add r0, sp, #0
|
|
str r1, [r3]
|
|
ldr r3, [r2, #4]
|
|
str r1, [r3, #0xc]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x10]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x11]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x12]
|
|
ldr r3, [r2, #4]
|
|
#ifdef JAPAN
|
|
str r1, [r3, #0x24]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x1e]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x1f]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x20]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x21]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x22]
|
|
ldr r3, [r2, #4]
|
|
str r1, [r3, #0x2c]
|
|
ldr r3, [r2, #4]
|
|
str r1, [r3, #0x30]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x28]
|
|
ldr r2, [r2, #4]
|
|
add r2, r2, #0x4000
|
|
str r1, [r2, #0xb50]
|
|
#else
|
|
str r1, [r3, #0x30]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x28]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x29]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x2a]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x2b]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x2c]
|
|
ldr r3, [r2, #4]
|
|
str r1, [r3, #0x38]
|
|
ldr r3, [r2, #4]
|
|
str r1, [r3, #0x3c]
|
|
ldr r3, [r2, #4]
|
|
strb r1, [r3, #0x34]
|
|
ldr r2, [r2, #4]
|
|
add r2, r2, #0x4000
|
|
str r1, [r2, #0xb5c]
|
|
#endif
|
|
bl GetMainTeamNameWithCheck
|
|
ldr r0, _02338B04 ; =ov01_0233C21C
|
|
add r1, sp, #0
|
|
ldr r0, [r0, #4]
|
|
#ifdef JAPAN
|
|
mov r2, #5
|
|
add r0, r0, #0x14
|
|
bl StrcpyName
|
|
#else
|
|
mov r2, #0xa
|
|
add r0, r0, #0x14
|
|
bl sub_02025404
|
|
#endif
|
|
bl ov01_0233A840
|
|
bl ov01_0232C0CC
|
|
bl ov01_0232C2E4
|
|
#ifdef JAPAN
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02338B00: .word 0x00004FF8
|
|
#else
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
_02338B00: .word 0x00005004
|
|
#endif
|
|
_02338B04: .word ov01_0233C21C
|
|
arm_func_end ov01_02338A24
|
|
|
|
arm_func_start ov01_02338B08
|
|
ov01_02338B08: ; 0x02338B08
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x50
|
|
ldr r0, _02338BE8 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _02338BDC
|
|
bl ov00_022BD274
|
|
cmp r0, #0
|
|
bne _02338BBC
|
|
mov r5, #0
|
|
add r4, sp, #0
|
|
_02338B34:
|
|
mov r0, r5, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD2C0
|
|
strb r0, [r4, r5]
|
|
add r5, r5, #1
|
|
cmp r5, #0x10
|
|
blt _02338B34
|
|
ldr r0, _02338BE8 ; =ov01_0233C21C
|
|
mov r1, r4
|
|
ldr r0, [r0, #4]
|
|
mov r2, #0x10
|
|
#ifdef JAPAN
|
|
add r0, r0, #0x65
|
|
#else
|
|
add r0, r0, #0x71
|
|
#endif
|
|
add r0, r0, #0x4f00
|
|
bl ov00_022BD1D4
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
beq _02338BAC
|
|
add r0, sp, #0x10
|
|
mov r1, #0x10
|
|
bl ov00_022BD1A0
|
|
ldr r0, _02338BE8 ; =ov01_0233C21C
|
|
add r1, sp, #0x10
|
|
ldr r0, [r0, #4]
|
|
mov r2, #0x10
|
|
#ifdef JAPAN
|
|
add r0, r0, #0x378
|
|
#else
|
|
add r0, r0, #0x384
|
|
#endif
|
|
add r0, r0, #0x4c00
|
|
bl ov00_022BD21C
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
_02338BAC:
|
|
cmp r0, #0
|
|
beq _02338BBC
|
|
mov r0, #1
|
|
bl ov00_022BD264
|
|
_02338BBC:
|
|
bl ov01_0232C370
|
|
bl ov01_0232C10C
|
|
ldr r0, _02338BE8 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
bl MemFree
|
|
ldr r0, _02338BE8 ; =ov01_0233C21C
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
_02338BDC:
|
|
bl ov00_022BD274
|
|
add sp, sp, #0x50
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02338BE8: .word ov01_0233C21C
|
|
arm_func_end ov01_02338B08
|
|
|
|
arm_func_start ov01_02338BEC
|
|
ov01_02338BEC: ; 0x02338BEC
|
|
cmp r0, #0
|
|
ldrne r0, _02338C24 ; =ov01_0233C21C
|
|
movne r2, #0xd
|
|
ldreq r0, _02338C24 ; =ov01_0233C21C
|
|
moveq r2, #0xb
|
|
ldreq ip, [r0, #4]
|
|
ldreq r3, [ip]
|
|
streq r3, [ip, #4]
|
|
ldr r0, [r0, #4]
|
|
str r2, [r0]
|
|
ldr r0, _02338C24 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
#ifdef JAPAN
|
|
strb r1, [r0, #0x34]
|
|
#else
|
|
strb r1, [r0, #0x40]
|
|
#endif
|
|
bx lr
|
|
.align 2, 0
|
|
_02338C24: .word ov01_0233C21C
|
|
arm_func_end ov01_02338BEC
|
|
|
|
arm_func_start ov01_02338C28
|
|
ov01_02338C28: ; 0x02338C28
|
|
ldr ip, _02338C30 ; =ov01_02338BEC
|
|
bx ip
|
|
.align 2, 0
|
|
_02338C30: .word ov01_02338BEC
|
|
arm_func_end ov01_02338C28
|
|
|
|
arm_func_start ov01_02338C34
|
|
ov01_02338C34: ; 0x02338C34
|
|
ldr r0, _02338C48 ; =ov01_0233C21C
|
|
mov r1, #0
|
|
ldr r0, [r0, #4]
|
|
strb r1, [r0, #0x12]
|
|
bx lr
|
|
.align 2, 0
|
|
_02338C48: .word ov01_0233C21C
|
|
arm_func_end ov01_02338C34
|
|
|
|
arm_func_start ov01_02338C4C
|
|
ov01_02338C4C: ; 0x02338C4C
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r1
|
|
cmp r0, #0xd
|
|
addls pc, pc, r0, lsl #2
|
|
b _02338DA8
|
|
_02338C60: ; jump table
|
|
b _02338C98 ; case 0
|
|
b _02338CAC ; case 1
|
|
b _02338CC0 ; case 2
|
|
b _02338CD4 ; case 3
|
|
b _02338CE8 ; case 4
|
|
b _02338CFC ; case 5
|
|
b _02338D10 ; case 6
|
|
b _02338D24 ; case 7
|
|
b _02338D38 ; case 8
|
|
b _02338D4C ; case 9
|
|
b _02338D60 ; case 10
|
|
b _02338D74 ; case 11
|
|
b _02338D88 ; case 12
|
|
b _02338D9C ; case 13
|
|
_02338C98:
|
|
ldr r4, _02338DE0 ; =ov01_0233BE88
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0xa4
|
|
b _02338DA8
|
|
_02338CAC:
|
|
ldr r4, _02338DE4 ; =ov01_0233BEA4
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0x98
|
|
b _02338DA8
|
|
_02338CC0:
|
|
ldr r4, _02338DE8 ; =ov01_0233BEC4
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0x20
|
|
b _02338DA8
|
|
_02338CD4:
|
|
ldr r4, _02338DEC ; =ov01_0233BEE0
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0xc
|
|
b _02338DA8
|
|
_02338CE8:
|
|
ldr r4, _02338DF0 ; =ov01_0233BEFC
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0xc
|
|
b _02338DA8
|
|
_02338CFC:
|
|
ldr r4, _02338DF4 ; =ov01_0233BF18
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0xd4
|
|
b _02338DA8
|
|
_02338D10:
|
|
ldr r4, _02338DF8 ; =ov01_0233BF38
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0xc
|
|
b _02338DA8
|
|
_02338D24:
|
|
ldr r4, _02338DFC ; =ov01_0233BF54
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0x7c
|
|
b _02338DA8
|
|
_02338D38:
|
|
ldr r4, _02338E00 ; =ov01_0233BF74
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0xc
|
|
b _02338DA8
|
|
_02338D4C:
|
|
ldr r4, _02338E04 ; =ov01_0233BF94
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0x10c
|
|
b _02338DA8
|
|
_02338D60:
|
|
ldr r4, _02338E08 ; =ov01_0233BFB0
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0x18
|
|
b _02338DA8
|
|
_02338D74:
|
|
ldr r4, _02338E0C ; =ov01_0233BFC8
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0xc
|
|
b _02338DA8
|
|
_02338D88:
|
|
ldr r4, _02338E10 ; =ov01_0233BFE0
|
|
bl ov00_022BCCC8
|
|
mov r1, r0
|
|
mov r3, #0xc
|
|
b _02338DA8
|
|
_02338D9C:
|
|
ldr r4, _02338E14 ; =ov01_0233BFF8
|
|
mov r1, #0
|
|
mov r3, #4
|
|
_02338DA8:
|
|
mov ip, #0
|
|
mov r0, r4
|
|
mov r2, r5
|
|
str ip, [sp]
|
|
bl ov01_0233A05C
|
|
cmp r0, #1
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _02338E18 ; =ov01_0233C21C
|
|
mov r2, #0x11
|
|
ldr r1, [r0, #4]
|
|
mov r0, #1
|
|
str r2, [r1]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02338DE0: .word ov01_0233BE88
|
|
_02338DE4: .word ov01_0233BEA4
|
|
_02338DE8: .word ov01_0233BEC4
|
|
_02338DEC: .word ov01_0233BEE0
|
|
_02338DF0: .word ov01_0233BEFC
|
|
_02338DF4: .word ov01_0233BF18
|
|
_02338DF8: .word ov01_0233BF38
|
|
_02338DFC: .word ov01_0233BF54
|
|
_02338E00: .word ov01_0233BF74
|
|
_02338E04: .word ov01_0233BF94
|
|
_02338E08: .word ov01_0233BFB0
|
|
_02338E0C: .word ov01_0233BFC8
|
|
_02338E10: .word ov01_0233BFE0
|
|
_02338E14: .word ov01_0233BFF8
|
|
_02338E18: .word ov01_0233C21C
|
|
arm_func_end ov01_02338C4C
|
|
|
|
arm_func_start ov01_02338E1C
|
|
ov01_02338E1C: ; 0x02338E1C
|
|
cmp r0, #0
|
|
ldrne r1, _02338E44 ; =ov01_0233C21C
|
|
ldrne r1, [r1, #4]
|
|
#ifdef JAPAN
|
|
ldrne r1, [r1, #0xb48]
|
|
#else
|
|
ldrne r1, [r1, #0xb54]
|
|
#endif
|
|
strne r1, [r0]
|
|
ldr r0, _02338E44 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
#ifdef JAPAN
|
|
add r0, r0, #0x34c
|
|
#else
|
|
add r0, r0, #0x358
|
|
#endif
|
|
add r0, r0, #0x800
|
|
bx lr
|
|
.align 2, 0
|
|
_02338E44: .word ov01_0233C21C
|
|
arm_func_end ov01_02338E1C
|
|
|
|
arm_func_start ov01_02338E48
|
|
ov01_02338E48: ; 0x02338E48
|
|
ldr ip, _02338E50 ; =ov01_0233A318
|
|
bx ip
|
|
.align 2, 0
|
|
_02338E50: .word ov01_0233A318
|
|
arm_func_end ov01_02338E48
|
|
|
|
arm_func_start ov01_02338E54
|
|
ov01_02338E54: ; 0x02338E54
|
|
ldr r0, _02338E64 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
#ifdef JAPAN
|
|
ldr r0, [r0, #0x3c]
|
|
#else
|
|
ldr r0, [r0, #0x48]
|
|
#endif
|
|
bx lr
|
|
.align 2, 0
|
|
_02338E64: .word ov01_0233C21C
|
|
arm_func_end ov01_02338E54
|
|
|
|
arm_func_start ov01_02338E68
|
|
ov01_02338E68: ; 0x02338E68
|
|
ldr r2, _02338EAC ; =ov01_0233C21C
|
|
ldr r3, [r2, #4]
|
|
#ifdef JAPAN
|
|
ldr r2, [r3, #0x3c]
|
|
#else
|
|
ldr r2, [r3, #0x48]
|
|
#endif
|
|
cmp r0, r2
|
|
movge r0, #0
|
|
bxge lr
|
|
cmp r1, #0
|
|
movne r2, #0xb0
|
|
mlane r2, r0, r2, r3
|
|
#ifdef JAPAN
|
|
ldrne r2, [r2, #0xf0]
|
|
#else
|
|
ldrne r2, [r2, #0xfc]
|
|
#endif
|
|
strne r2, [r1]
|
|
ldr r1, _02338EAC ; =ov01_0233C21C
|
|
ldr r1, [r1, #4]
|
|
#ifdef JAPAN
|
|
add r1, r1, #0x34c
|
|
#else
|
|
add r1, r1, #0x358
|
|
#endif
|
|
add r1, r1, #0x800
|
|
add r0, r1, r0, lsl #10
|
|
bx lr
|
|
.align 2, 0
|
|
_02338EAC: .word ov01_0233C21C
|
|
arm_func_end ov01_02338E68
|
|
|
|
arm_func_start ov01_02338EB0
|
|
ov01_02338EB0: ; 0x02338EB0
|
|
ldr r0, _02338EC0 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
#ifdef JAPAN
|
|
ldrb r0, [r0, #0x22]
|
|
#else
|
|
ldrb r0, [r0, #0x2c]
|
|
#endif
|
|
bx lr
|
|
.align 2, 0
|
|
_02338EC0: .word ov01_0233C21C
|
|
arm_func_end ov01_02338EB0
|
|
|
|
arm_func_start ov01_02338EC4
|
|
ov01_02338EC4: ; 0x02338EC4
|
|
#ifdef JAPAN
|
|
#define OV01_02338EC4_LOAD_OFFSET -0xC
|
|
#define OV01_02338EC4_LOAD_OFFSET_2 -0xA
|
|
#else
|
|
#define OV01_02338EC4_LOAD_OFFSET 0
|
|
#define OV01_02338EC4_LOAD_OFFSET_2 0
|
|
#endif
|
|
stmdb sp!, {r4, r5, lr}
|
|
#ifdef EUROPE
|
|
sub sp, sp, #0x274
|
|
#else
|
|
sub sp, sp, #0x1dc
|
|
#endif
|
|
ldr r0, _02339804 ; =ov01_0233C21C
|
|
ldr r4, [r0, #4]
|
|
bl ov01_023399D8
|
|
cmp r0, #2
|
|
bne _02338F14
|
|
ldr r0, [r4]
|
|
cmp r0, #0xa
|
|
moveq r0, #1
|
|
streqb r0, [r4, #0x12]
|
|
ldr r0, [r4]
|
|
cmp r0, #0x1a
|
|
blt _02338F04
|
|
cmp r0, #0x1f
|
|
ble _02338F14
|
|
_02338F04:
|
|
ldr r1, [r4]
|
|
mov r0, #0x1a
|
|
str r1, [r4, #8]
|
|
str r0, [r4]
|
|
_02338F14:
|
|
ldrb r0, [r4, #0x34 + OV01_02338EC4_LOAD_OFFSET]
|
|
cmp r0, #0
|
|
beq _02338F40
|
|
bl ov00_022BDC6C
|
|
add r0, r0, #6
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov01_0232C1D8
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov01_0232C454
|
|
_02338F40:
|
|
ldrb r0, [r4, #0x12]
|
|
cmp r0, #0
|
|
movne r0, #5
|
|
bne _023397FC
|
|
ldr r0, [r4]
|
|
cmp r0, #0x21
|
|
addls pc, pc, r0, lsl #2
|
|
b _023397F8
|
|
_02338F60: ; jump table
|
|
b _02338FE8 ; case 0
|
|
b _023390F4 ; case 1
|
|
b _0233911C ; case 2
|
|
b _0233915C ; case 3
|
|
b _023391BC ; case 4
|
|
b _023391F0 ; case 5
|
|
b _02339218 ; case 6
|
|
b _02339240 ; case 7
|
|
b _02339254 ; case 8
|
|
b _0233926C ; case 9
|
|
b _02339280 ; case 10
|
|
b _02339288 ; case 11
|
|
b _023392B0 ; case 12
|
|
b _02339308 ; case 13
|
|
b _02339328 ; case 14
|
|
b _0233933C ; case 15
|
|
b _02339368 ; case 16
|
|
b _02339394 ; case 17
|
|
b _023393D8 ; case 18
|
|
b _0233941C ; case 19
|
|
b _0233943C ; case 20
|
|
b _023394B4 ; case 21
|
|
b _023395A8 ; case 22
|
|
b _023395D4 ; case 23
|
|
b _023395F4 ; case 24
|
|
b _02339608 ; case 25
|
|
b _0233961C ; case 26
|
|
b _02339728 ; case 27
|
|
b _0233973C ; case 28
|
|
b _02339750 ; case 29
|
|
b _02339778 ; case 30
|
|
b _023397C8 ; case 31
|
|
b _023397D8 ; case 32
|
|
b _023397E8 ; case 33
|
|
_02338FE8:
|
|
bl sub_0204A1CC
|
|
bl ov00_022BCA80
|
|
cmp r0, #3
|
|
bne _02339024
|
|
mov r0, #0xe
|
|
str r0, [r4, #0x38 + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r0, #1
|
|
str r0, [r4, #0x3c + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r0, #0x1a
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
b _023397F8
|
|
_02339024:
|
|
mov r0, #0xe0
|
|
mov r1, #0xa0
|
|
mov r2, #1
|
|
bl ov01_0232C148
|
|
mov r0, #0xec
|
|
mov r1, #0x1c
|
|
mov r2, #7
|
|
mov r3, #6
|
|
bl ov01_0232C3AC
|
|
bl ov00_022BCCAC
|
|
cmp r0, #0
|
|
bne _02339080
|
|
ldr r0, _02339804 ; =ov01_0233C21C
|
|
ldr r2, _02339808 ; =ov01_0233BE70
|
|
ldrsb r5, [r0, #1]
|
|
ldr r3, _0233980C ; =0x0000375D
|
|
mov r0, #0
|
|
mov r1, #8
|
|
str r5, [sp]
|
|
bl sub_02046A9C
|
|
mov r0, #2
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339080:
|
|
bl ov00_022BCCF4
|
|
cmp r0, #0
|
|
bne _023390C8
|
|
mov r0, #1
|
|
#ifdef EUROPE
|
|
str r0, [sp, #0x13c]
|
|
#else
|
|
str r0, [sp, #0xa4]
|
|
#endif
|
|
ldr r1, _02339808 ; =ov01_0233BE70
|
|
ldr r0, _02339810 ; =0x0000375E
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
#ifdef EUROPE
|
|
add r3, sp, #0x13c
|
|
#else
|
|
add r3, sp, #0xa4
|
|
#endif
|
|
mov r1, #8
|
|
mov r2, #0x33
|
|
str r0, [sp, #8]
|
|
bl sub_02046A20
|
|
mov r0, #3
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_023390C8:
|
|
ldr r1, _02339804 ; =ov01_0233C21C
|
|
mov r0, #0
|
|
ldrsb r5, [r1]
|
|
ldr r2, _02339808 ; =ov01_0233BE70
|
|
ldr r3, _02339814 ; =0x0000375C
|
|
mov r1, r0
|
|
str r5, [sp]
|
|
bl sub_02046A9C
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_023390F4:
|
|
bl ov01_02339838
|
|
cmp r0, #2
|
|
moveq r0, #5
|
|
streq r0, [r4]
|
|
beq _023397F8
|
|
cmp r0, #3
|
|
cmpne r0, #1
|
|
moveq r0, #0x20
|
|
streq r0, [r4]
|
|
b _023397F8
|
|
_0233911C:
|
|
bl ov01_02339860
|
|
cmp r0, #2
|
|
bne _02339148
|
|
add r0, r4, #0x3c4 + OV01_02338EC4_LOAD_OFFSET
|
|
add r0, r0, #0x4c00
|
|
bl ov00_022BCD10
|
|
mov r0, #1
|
|
strb r0, [r4, #0x11]
|
|
mov r0, #5
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339148:
|
|
cmp r0, #3
|
|
cmpne r0, #1
|
|
moveq r0, #0x20
|
|
streq r0, [r4]
|
|
b _023397F8
|
|
_0233915C:
|
|
bl sub_02046B04
|
|
bl ov01_023399A8
|
|
cmp r0, #2
|
|
bne _023391A8
|
|
mov r0, #1
|
|
#ifdef EUROPE
|
|
str r0, [sp, #0xa4]
|
|
#else
|
|
str r0, [sp, #0xc]
|
|
#endif
|
|
ldr r1, _02339808 ; =ov01_0233BE70
|
|
ldr r0, _02339818 ; =0x0000375F
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
#ifdef EUROPE
|
|
add r3, sp, #0xa4
|
|
#else
|
|
add r3, sp, #0xc
|
|
#endif
|
|
mov r1, #8
|
|
mov r2, #0x33
|
|
str r0, [sp, #8]
|
|
bl sub_02046A20
|
|
mov r0, #4
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_023391A8:
|
|
cmp r0, #3
|
|
cmpne r0, #1
|
|
moveq r0, #0x20
|
|
streq r0, [r4]
|
|
b _023397F8
|
|
_023391BC:
|
|
bl sub_02046B04
|
|
bl ov01_023399A8
|
|
cmp r0, #2
|
|
moveq r0, #1
|
|
streqb r0, [r4, #0x10]
|
|
moveq r0, #5
|
|
streq r0, [r4]
|
|
beq _023397F8
|
|
cmp r0, #3
|
|
cmpne r0, #1
|
|
#ifdef EUROPE
|
|
bne _023397F8
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
ldr r1, _02339808 ; =ov01_0233BE70
|
|
ldr r0, _02339810 ; =0x00003760
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
add r3, sp, #0xc
|
|
mov r1, #8
|
|
mov r2, #0x33
|
|
str r0, [sp, #8]
|
|
bl sub_02046A20
|
|
mov r0, #3
|
|
str r0, [r4]
|
|
#else
|
|
moveq r0, #0x20
|
|
streq r0, [r4]
|
|
#endif
|
|
b _023397F8
|
|
_023391F0:
|
|
mov r0, #0
|
|
ldr r1, _0233981C ; =0x00003761
|
|
mov r2, r0
|
|
bl sub_02046BE8
|
|
mov r0, #1
|
|
strb r0, [r4, #0x34 + OV01_02338EC4_LOAD_OFFSET]
|
|
bl sub_02003B94
|
|
mov r0, #6
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339218:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
ldr r0, _02339804 ; =ov01_0233C21C
|
|
mov r2, #1
|
|
ldr r1, [r0, #4]
|
|
mov r0, #7
|
|
str r2, [r1, #0xc]
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339240:
|
|
ldrb r0, [r4, #0x2a + OV01_02338EC4_LOAD_OFFSET_2]
|
|
cmp r0, #0
|
|
movne r0, #0xa
|
|
strne r0, [r4]
|
|
b _023397F8
|
|
_02339254:
|
|
ldr r1, _02339820 ; =0x00003765
|
|
mov r0, #0x1c
|
|
mov r2, #0
|
|
bl sub_02046BE8
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
_0233926C:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
movne r0, #7
|
|
strne r0, [r4]
|
|
b _023397F8
|
|
_02339280:
|
|
mov r0, #4
|
|
b _023397FC
|
|
_02339288:
|
|
ldr r2, _02339808 ; =ov01_0233BE70
|
|
mov r5, #1
|
|
ldr r3, _02339824 ; =0x00003762
|
|
mov r0, #0
|
|
mov r1, #8
|
|
str r5, [sp]
|
|
bl sub_02046A9C
|
|
mov r0, #0xc
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_023392B0:
|
|
bl sub_02046B04
|
|
bl ov01_023399A8
|
|
cmp r0, #2
|
|
moveq r0, #0xd
|
|
streq r0, [r4]
|
|
beq _023397F8
|
|
cmp r0, #3
|
|
cmpne r0, #1
|
|
bne _023397F8
|
|
bl ov01_02339958
|
|
ldr r0, [r4, #4]
|
|
sub r0, r0, #0x11
|
|
cmp r0, #1
|
|
bhi _023392FC
|
|
add r0, r4, #0x61 + OV01_02338EC4_LOAD_OFFSET
|
|
add r1, r0, #0x4b00
|
|
mov r0, #0x400
|
|
mov r2, #0
|
|
bl sub_02046C30
|
|
_023392FC:
|
|
ldr r0, [r4, #4]
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339308:
|
|
mov r0, #0
|
|
ldr r1, _02339828 ; =0x00003763
|
|
mov r2, r0
|
|
bl sub_02046BE8
|
|
bl ov01_02339F80
|
|
mov r0, #0xe
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339328:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
movne r0, #0xf
|
|
strne r0, [r4]
|
|
b _023397F8
|
|
_0233933C:
|
|
ldrb r0, [r4, #0x28 + OV01_02338EC4_LOAD_OFFSET_2]
|
|
cmp r0, #0
|
|
bne _023397F8
|
|
#ifdef NORTH_AMERICA
|
|
mov r0, #0x1c
|
|
rsb r1, r0, #0x3780
|
|
#else
|
|
ldr r1, _02339F74 ; =0x00003766
|
|
mov r0, #0x1c
|
|
#endif
|
|
mov r2, #0
|
|
bl sub_02046BE8
|
|
bl sub_02003BC8
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339368:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
ldrb r0, [r4, #0x40 + OV01_02338EC4_LOAD_OFFSET]
|
|
cmp r0, #0
|
|
mov r0, #0x21
|
|
strne r0, [r4, #4]
|
|
movne r0, #0x13
|
|
strne r0, [r4]
|
|
streq r0, [r4]
|
|
b _023397F8
|
|
_02339394:
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #9
|
|
moveq r0, #0xa
|
|
streq r0, [r4]
|
|
beq _023397F8
|
|
bl ov01_023398F0
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
bl ov01_02339928
|
|
add r0, r4, #0x61 + OV01_02338EC4_LOAD_OFFSET
|
|
add r0, r0, #0x4b00
|
|
mov r1, #0x400
|
|
bl sub_02046D44
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov01_02338BEC
|
|
b _023397F8
|
|
_023393D8:
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #9
|
|
moveq r0, #0xa
|
|
streq r0, [r4]
|
|
beq _023397F8
|
|
bl ov01_023398F0
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
bl ov01_02339928
|
|
add r0, r4, #0x61 + OV01_02338EC4_LOAD_OFFSET
|
|
add r0, r0, #0x4b00
|
|
mov r1, #0x400
|
|
bl sub_02046D44
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov01_02338BEC
|
|
b _023397F8
|
|
_0233941C:
|
|
bl ov00_022BD780
|
|
mov r0, #0
|
|
ldr r1, _0233982C ; =0x0000023B
|
|
mov r2, r0
|
|
bl sub_02046BE8
|
|
mov r0, #0x14
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_0233943C:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
ldrb r0, [r4, #0x34 + OV01_02338EC4_LOAD_OFFSET]
|
|
cmp r0, #0
|
|
beq _02339460
|
|
mov r0, #0
|
|
mov r1, r0
|
|
bl ov01_0232C454
|
|
_02339460:
|
|
mov r0, #0xe0
|
|
mov r1, #0x88
|
|
mov r2, #1
|
|
bl sub_02029F88
|
|
mov r0, #0x15
|
|
str r0, [r4]
|
|
ldrb r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
beq _023394B4
|
|
bl ov00_022BD3F4
|
|
bl sub_0205B80C
|
|
mov r0, #0
|
|
bl sub_0205B77C
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
str r1, [r0, #0x10]
|
|
mov r0, r1
|
|
bl sub_020590DC
|
|
bl ov00_022BD4EC
|
|
mov r0, #0
|
|
strb r0, [r4, #0x10]
|
|
_023394B4:
|
|
mov r0, #3
|
|
bl NoteSaveBase
|
|
mov r5, r0
|
|
bl sub_02029FBC
|
|
cmp r5, #0
|
|
bne _023394FC
|
|
ldrb r1, [r4, #0x11]
|
|
mov r0, #0x1c
|
|
mov r2, #0
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
#ifdef JAPAN
|
|
ldr r1, _0233B0A8 ; =0x000004CD
|
|
#else
|
|
mov r1, #0x23c
|
|
#endif
|
|
strneb r0, [r4, #0x11]
|
|
bl sub_02046BE8
|
|
bl ov01_0233A840
|
|
mov r0, #0x16
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_023394FC:
|
|
cmp r5, #1
|
|
ldr r0, [r4, #0xc]
|
|
bne _02339554
|
|
cmp r0, #6
|
|
bne _02339534
|
|
mov r0, #0x10
|
|
str r0, [r4, #0x38 + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r0, #7
|
|
str r0, [r4, #0x3c + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r0, #0x1a
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339534:
|
|
mov r0, #0x400
|
|
#ifdef JAPAN
|
|
add r1, r0, #0xc9
|
|
#else
|
|
mov r1, #0x238
|
|
#endif
|
|
mov r2, #0
|
|
bl sub_02046BE8
|
|
bl ov01_0232C540
|
|
mov r0, #0x19
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339554:
|
|
cmp r0, #6
|
|
bne _02339580
|
|
mov r0, #0xf
|
|
str r0, [r4, #0x38 + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r0, #0x1a
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339580:
|
|
ldrb r1, [r4, #0x11]
|
|
mov r0, #0x1c
|
|
mov r2, #0
|
|
cmp r1, #0
|
|
ldr r1, _02339830 ; =0x00000239
|
|
movne r0, #0
|
|
bl sub_02046BE8
|
|
mov r0, #0x18
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_023395A8:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
ldr r0, _02339804 ; =ov01_0233C21C
|
|
mov r2, #0x3c
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0x17
|
|
add r0, r0, #0x4000
|
|
str r2, [r0, #0xb5c + OV01_02338EC4_LOAD_OFFSET]
|
|
str r1, [r4]
|
|
b _023397F8
|
|
_023395D4:
|
|
add r0, r4, #0x4000
|
|
ldr r1, [r0, #0xb5c + OV01_02338EC4_LOAD_OFFSET]
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0xb5c + OV01_02338EC4_LOAD_OFFSET]
|
|
cmp r1, #0
|
|
ldrle r0, [r4, #4]
|
|
strle r0, [r4]
|
|
b _023397F8
|
|
_023395F4:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
mov r0, #8
|
|
b _023397FC
|
|
_02339608:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
bl CardBackupError
|
|
_02339618:
|
|
b _02339618
|
|
_0233961C:
|
|
#ifdef EUROPE
|
|
add r0, sp, #0x224
|
|
#else
|
|
add r0, sp, #0x18c
|
|
#endif
|
|
bl InitPreprocessorArgs
|
|
ldr r0, [r4, #0x38 + OV01_02338EC4_LOAD_OFFSET]
|
|
rsb r0, r0, #0
|
|
#ifdef EUROPE
|
|
str r0, [sp, #0x248]
|
|
#else
|
|
str r0, [sp, #0x1b0]
|
|
#endif
|
|
bl sub_02046BB4
|
|
ldr r0, [r4, #0x3c + OV01_02338EC4_LOAD_OFFSET]
|
|
cmp r0, #7
|
|
addls pc, pc, r0, lsl #2
|
|
b _023397F8
|
|
_02339644: ; jump table
|
|
b _02339664 ; case 0
|
|
b _02339670 ; case 1
|
|
b _02339670 ; case 2
|
|
b _0233969C ; case 3
|
|
b _0233969C ; case 4
|
|
b _0233969C ; case 5
|
|
b _0233969C ; case 6
|
|
b _023396EC ; case 7
|
|
_02339664:
|
|
ldr r0, [r4, #8]
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339670:
|
|
bl ov00_022BDE24
|
|
ldr r0, [r4, #0x38 + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r1, #0
|
|
bl ov01_0233A8B4
|
|
mov r1, r0
|
|
#ifdef EUROPE
|
|
add r2, sp, #0x224
|
|
#else
|
|
add r2, sp, #0x18c
|
|
#endif
|
|
mov r0, #0x1c
|
|
bl sub_02046BE8
|
|
mov r0, #0x1b
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_0233969C:
|
|
bl ov01_02339F80
|
|
ldrb r0, [r4, #0x11]
|
|
cmp r0, #0
|
|
beq _023396C0
|
|
add r0, r4, #0x3c4 + OV01_02338EC4_LOAD_OFFSET
|
|
add r0, r0, #0x4c00
|
|
bl ov00_022BCD2C
|
|
mov r0, #0
|
|
strb r0, [r4, #0x11]
|
|
_023396C0:
|
|
bl ov00_022BDE24
|
|
ldr r0, [r4, #0x38 + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r1, #1
|
|
bl ov01_0233A8B4
|
|
mov r1, r0
|
|
#ifdef EUROPE
|
|
add r2, sp, #0x224
|
|
#else
|
|
add r2, sp, #0x18c
|
|
#endif
|
|
mov r0, #0x1c
|
|
bl sub_02046BE8
|
|
mov r0, #0x1c
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_023396EC:
|
|
ldr r0, [r4, #0x38 + OV01_02338EC4_LOAD_OFFSET]
|
|
mov r1, #1
|
|
cmp r0, #0x10
|
|
moveq r5, #0x400
|
|
movne r5, #0x1c
|
|
bl ov01_0233A8B4
|
|
mov r3, r5, lsl #0x10
|
|
mov r1, r0
|
|
#ifdef EUROPE
|
|
add r2, sp, #0x224
|
|
#else
|
|
add r2, sp, #0x18c
|
|
#endif
|
|
mov r0, r3, lsr #0x10
|
|
bl sub_02046BE8
|
|
bl ov01_0232C540
|
|
mov r0, #0x1e
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_02339728:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
ldrne r0, [r4, #8]
|
|
strne r0, [r4]
|
|
b _023397F8
|
|
_0233973C:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
movne r0, #0x1d
|
|
strne r0, [r4]
|
|
b _023397F8
|
|
_02339750:
|
|
ldrb r0, [r4, #0x28 + OV01_02338EC4_LOAD_OFFSET_2]
|
|
cmp r0, #0
|
|
bne _023397F8
|
|
mov r0, #0
|
|
bl ov00_022BCBAC
|
|
bl sub_02003BC8
|
|
ldr r0, [r4, #0x30 + OV01_02338EC4_LOAD_OFFSET]
|
|
cmp r0, #0
|
|
moveq r0, #8
|
|
b _023397FC
|
|
_02339778:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
ldr r0, [r4, #0x38 + OV01_02338EC4_LOAD_OFFSET]
|
|
cmp r0, #0x10
|
|
bne _02339798
|
|
bl CardBackupError
|
|
_02339794:
|
|
b _02339794
|
|
_02339798:
|
|
#ifdef EUROPE
|
|
add r0, sp, #0x1d4
|
|
#else
|
|
add r0, sp, #0x13c
|
|
#endif
|
|
bl InitPreprocessorArgs
|
|
ldr r0, [r4, #0x38 + OV01_02338EC4_LOAD_OFFSET]
|
|
ldr r1, _02339834 ; =0x00003785
|
|
rsb r3, r0, #0
|
|
#ifdef EUROPE
|
|
add r2, sp, #0x1d4
|
|
mov r0, #0
|
|
str r3, [sp, #0x1f8]
|
|
#else
|
|
add r2, sp, #0x13c
|
|
mov r0, #0
|
|
str r3, [sp, #0x160]
|
|
#endif
|
|
bl sub_02046BE8
|
|
mov r0, #0x1f
|
|
str r0, [r4]
|
|
b _023397F8
|
|
_023397C8:
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
beq _023397F8
|
|
_023397D4:
|
|
b _023397D4
|
|
_023397D8:
|
|
mov r0, #0
|
|
bl ov00_022BCBAC
|
|
mov r0, #1
|
|
b _023397FC
|
|
_023397E8:
|
|
mov r0, #0
|
|
bl ov00_022BCBAC
|
|
mov r0, #6
|
|
b _023397FC
|
|
_023397F8:
|
|
mov r0, #0
|
|
_023397FC:
|
|
#ifdef EUROPE
|
|
add sp, sp, #0x274
|
|
#else
|
|
add sp, sp, #0x1dc
|
|
#endif
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
#if defined(EUROPE)
|
|
#define OV01_02338EC4_DATA_OFFSET 2
|
|
#elif defined(JAPAN)
|
|
#define OV01_02338EC4_DATA_OFFSET -0x37E
|
|
#else
|
|
#define OV01_02338EC4_DATA_OFFSET 0
|
|
#endif
|
|
_02339804: .word ov01_0233C21C
|
|
_02339808: .word ov01_0233BE70
|
|
_0233980C: .word 0x0000375D + OV01_02338EC4_DATA_OFFSET
|
|
_02339810: .word 0x0000375E + OV01_02338EC4_DATA_OFFSET
|
|
_02339814: .word 0x0000375C + OV01_02338EC4_DATA_OFFSET
|
|
_02339818: .word 0x0000375F + OV01_02338EC4_DATA_OFFSET
|
|
_0233981C: .word 0x00003761 + OV01_02338EC4_DATA_OFFSET
|
|
_02339820: .word 0x00003765 + OV01_02338EC4_DATA_OFFSET
|
|
_02339824: .word 0x00003762 + OV01_02338EC4_DATA_OFFSET
|
|
_02339828: .word 0x00003763 + OV01_02338EC4_DATA_OFFSET
|
|
#if defined(EUROPE)
|
|
_02339F74: .word 0x00003766
|
|
#elif defined(JAPAN)
|
|
_02339F74: .word 0x000033E6
|
|
#endif
|
|
#ifdef JAPAN
|
|
_0233982C: .word 0x000004CC
|
|
_0233B0A8: .word 0x000004CD
|
|
_02339830: .word 0x000004CA
|
|
#else
|
|
_0233982C: .word 0x0000023B
|
|
_02339830: .word 0x00000239
|
|
#endif
|
|
_02339834: .word 0x00003785 + OV01_02338EC4_DATA_OFFSET
|
|
arm_func_end ov01_02338EC4
|
|
|
|
arm_func_start ov01_02339838
|
|
ov01_02339838: ; 0x02339838
|
|
stmdb sp!, {r4, lr}
|
|
bl sub_02046B04
|
|
bl ov01_023399A8
|
|
mov r4, r0
|
|
bl sub_02046BA0
|
|
ldr r1, _0233985C ; =ov01_0233C21C
|
|
strb r0, [r1]
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0233985C: .word ov01_0233C21C
|
|
arm_func_end ov01_02339838
|
|
|
|
arm_func_start ov01_02339860
|
|
ov01_02339860: ; 0x02339860
|
|
stmdb sp!, {r4, lr}
|
|
bl sub_02046B04
|
|
bl ov01_023399A8
|
|
mov r4, r0
|
|
bl sub_02046BA0
|
|
ldr r1, _02339884 ; =ov01_0233C21C
|
|
strb r0, [r1, #1]
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02339884: .word ov01_0233C21C
|
|
arm_func_end ov01_02339860
|
|
|
|
arm_func_start ov01_02339888
|
|
ov01_02339888: ; 0x02339888
|
|
ldr ip, _0233989C ; =sub_02046BE8
|
|
ldr r1, _023398A0 ; =0x00003773
|
|
mov r0, #0x1c
|
|
mov r2, #0
|
|
bx ip
|
|
.align 2, 0
|
|
_0233989C: .word sub_02046BE8
|
|
#if defined(EUROPE)
|
|
_023398A0: .word 0x00003775
|
|
#elif defined(JAPAN)
|
|
_023398A0: .word 0x000033F5
|
|
#else
|
|
_023398A0: .word 0x00003773
|
|
#endif
|
|
arm_func_end ov01_02339888
|
|
|
|
arm_func_start ov01_023398A4
|
|
ov01_023398A4: ; 0x023398A4
|
|
ldr ip, _023398AC ; =sub_02046C78
|
|
bx ip
|
|
.align 2, 0
|
|
_023398AC: .word sub_02046C78
|
|
arm_func_end ov01_023398A4
|
|
|
|
arm_func_start ov01_023398B0
|
|
ov01_023398B0: ; 0x023398B0
|
|
ldr r2, _023398EC ; =ov01_0233C21C
|
|
ldr r3, [r2, #4]
|
|
ldr r2, [r3]
|
|
cmp r2, #0xa
|
|
movne r0, #0
|
|
bxne lr
|
|
#ifdef JAPAN
|
|
str r0, [r3, #0x2c]
|
|
str r1, [r3, #0x30]
|
|
mov r1, #8
|
|
mov r0, #0x1a
|
|
str r1, [r3, #0x24]
|
|
#else
|
|
str r0, [r3, #0x38]
|
|
str r1, [r3, #0x3c]
|
|
mov r1, #8
|
|
mov r0, #0x1a
|
|
str r1, [r3, #0x30]
|
|
#endif
|
|
str r0, [r3]
|
|
str r0, [r3, #8]
|
|
mov r0, #1
|
|
bx lr
|
|
.align 2, 0
|
|
_023398EC: .word ov01_0233C21C
|
|
arm_func_end ov01_023398B0
|
|
|
|
arm_func_start ov01_023398F0
|
|
ov01_023398F0: ; 0x023398F0
|
|
stmdb sp!, {r3, lr}
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
bl GetPressedButtons
|
|
ldrh r0, [sp]
|
|
tst r0, #2
|
|
bne _02339918
|
|
bl sub_020467F0
|
|
cmp r0, #0
|
|
beq _02339920
|
|
_02339918:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
_02339920:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov01_023398F0
|
|
|
|
arm_func_start ov01_02339928
|
|
ov01_02339928: ; 0x02339928
|
|
ldr r1, _02339950 ; =ov01_0233C21C
|
|
ldr r3, _02339954 ; =0x00002A30
|
|
ldr r0, [r1, #4]
|
|
mov r2, #1
|
|
add r0, r0, #0x4000
|
|
#ifdef JAPAN
|
|
str r3, [r0, #0xb4c]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
strb r2, [r0, #0xb54]
|
|
#else
|
|
str r3, [r0, #0xb58]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
strb r2, [r0, #0xb60]
|
|
#endif
|
|
bx lr
|
|
.align 2, 0
|
|
_02339950: .word ov01_0233C21C
|
|
_02339954: .word 0x00002A30
|
|
arm_func_end ov01_02339928
|
|
|
|
arm_func_start ov01_02339958
|
|
ov01_02339958: ; 0x02339958
|
|
ldr r1, _02339980 ; =ov01_0233C21C
|
|
ldr r3, _02339984 ; =0x00001C20
|
|
ldr r0, [r1, #4]
|
|
mov r2, #0
|
|
add r0, r0, #0x4000
|
|
#ifdef JAPAN
|
|
str r3, [r0, #0xb4c]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
strb r2, [r0, #0xb54]
|
|
#else
|
|
str r3, [r0, #0xb58]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
strb r2, [r0, #0xb60]
|
|
#endif
|
|
bx lr
|
|
.align 2, 0
|
|
_02339980: .word ov01_0233C21C
|
|
_02339984: .word 0x00001C20
|
|
arm_func_end ov01_02339958
|
|
|
|
arm_func_start ov01_02339988
|
|
ov01_02339988: ; 0x02339988
|
|
ldr r0, _023399A0 ; =ov01_0233C21C
|
|
ldr r1, _023399A4 ; =0x00002A30
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x4000
|
|
#ifdef JAPAN
|
|
str r1, [r0, #0xb4c]
|
|
#else
|
|
str r1, [r0, #0xb58]
|
|
#endif
|
|
bx lr
|
|
.align 2, 0
|
|
_023399A0: .word ov01_0233C21C
|
|
_023399A4: .word 0x00002A30
|
|
arm_func_end ov01_02339988
|
|
|
|
arm_func_start ov01_023399A8
|
|
ov01_023399A8: ; 0x023399A8
|
|
mvn r2, #1
|
|
cmp r0, r2
|
|
moveq r0, #1
|
|
bxeq lr
|
|
sub r1, r2, #1
|
|
cmp r0, r1
|
|
moveq r0, #1
|
|
bxeq lr
|
|
add r1, r2, #1
|
|
cmp r0, r1
|
|
moveq r0, #0
|
|
bx lr
|
|
arm_func_end ov01_023399A8
|
|
|
|
arm_func_start ov01_023399D8
|
|
ov01_023399D8: ; 0x023399D8
|
|
#ifdef JAPAN
|
|
#define OV01_023399D8_OFFSET -0xC
|
|
#define OV01_023399D8_OFFSET_2 -0xA
|
|
#else
|
|
#define OV01_023399D8_OFFSET 0
|
|
#define OV01_023399D8_OFFSET_2 0
|
|
#endif
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x4c
|
|
ldr r0, _02339F78 ; =ov01_0233C21C
|
|
ldr r4, [r0, #4]
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #0xc
|
|
addls pc, pc, r0, lsl #2
|
|
b _02339F6C
|
|
_023399F8: ; jump table
|
|
b _02339F6C ; case 0
|
|
b _02339A2C ; case 1
|
|
b _02339A3C ; case 2
|
|
b _02339AA4 ; case 3
|
|
b _02339ABC ; case 4
|
|
b _02339AE8 ; case 5
|
|
b _02339B54 ; case 6
|
|
b _02339C14 ; case 7
|
|
b _02339C98 ; case 8
|
|
b _02339CDC ; case 9
|
|
b _02339D74 ; case 10
|
|
b _02339EB0 ; case 11
|
|
b _02339F54 ; case 12
|
|
_02339A2C:
|
|
bl ov00_022BD798
|
|
mov r0, #2
|
|
str r0, [r4, #0xc]
|
|
b _02339F6C
|
|
_02339A3C:
|
|
bl ov00_022BD7B8
|
|
cmp r0, #0
|
|
beq _02339F6C
|
|
bl ov00_022BD7E8
|
|
cmp r0, #4
|
|
beq _02339A68
|
|
bl ov01_0233A7FC
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339A68:
|
|
ldrb r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
beq _02339A90
|
|
add r0, r4, #0x3c4 + OV01_023399D8_OFFSET
|
|
add r0, r0, #0x4c00
|
|
bl ov00_022BCD10
|
|
mov r0, #1
|
|
bl ov00_022BCC30
|
|
mov r0, #1
|
|
strb r0, [r4, #0x11]
|
|
_02339A90:
|
|
mov r0, #1
|
|
strb r0, [r4, #0x28 + OV01_023399D8_OFFSET_2]
|
|
mov r0, #4
|
|
str r0, [r4, #0xc]
|
|
b _02339F6C
|
|
_02339AA4:
|
|
bl ov00_022BD7D8
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
strneb r0, [r4, #0x28 + OV01_023399D8_OFFSET_2]
|
|
strne r0, [r4, #0xc]
|
|
b _02339F6C
|
|
_02339ABC:
|
|
add r0, r4, #0x14
|
|
bl ov00_022BD870
|
|
cmp r0, #0
|
|
bne _02339AE0
|
|
bl ov01_0233A7FC
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339AE0:
|
|
mov r0, #5
|
|
str r0, [r4, #0xc]
|
|
_02339AE8:
|
|
bl ov00_022BD8FC
|
|
bl ov01_0233A7FC
|
|
cmp r0, #0
|
|
movne r0, #2
|
|
bne _02339F70
|
|
bl ov00_022BD908
|
|
cmp r0, #0
|
|
beq _02339F6C
|
|
bl ov00_022BCC90
|
|
cmp r0, #0
|
|
beq _02339B48
|
|
ldrb r0, [r4, #0x11]
|
|
ldr r1, _02339F7C ; =0x00002A30
|
|
cmp r0, #0
|
|
movne r0, #8
|
|
moveq r0, #7
|
|
str r0, [r4, #4]
|
|
add r0, r4, #0x4000
|
|
str r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
mov r0, #0x13
|
|
str r0, [r4]
|
|
mov r0, #6
|
|
str r0, [r4, #0xc]
|
|
b _02339F6C
|
|
_02339B48:
|
|
mov r0, #7
|
|
str r0, [r4, #0xc]
|
|
b _02339F6C
|
|
_02339B54:
|
|
bl ov00_022BD8FC
|
|
bl ov01_0233A7FC
|
|
cmp r0, #0
|
|
movne r0, #2
|
|
bne _02339F70
|
|
ldr r0, [r4]
|
|
cmp r0, #7
|
|
moveq r0, #7
|
|
streq r0, [r4, #0xc]
|
|
ldr r0, [r4]
|
|
cmp r0, #0x16
|
|
cmpne r0, #0x17
|
|
cmpne r0, #0x18
|
|
cmpne r0, #9
|
|
bne _02339F6C
|
|
add r1, sp, #2
|
|
mov r0, #0
|
|
bl GetHeldButtons
|
|
bl IsTouchScreenNotOff
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
beq _02339BC4
|
|
add r0, sp, #0x28
|
|
bl GetReleasedStylus
|
|
add r0, sp, #0x28
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl sub_02006C8C
|
|
_02339BC4:
|
|
ldrh r1, [sp, #2]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
ldrne r1, _02339F7C ; =0x00002A30
|
|
addne r0, r4, #0x4000
|
|
strne r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
add r0, r4, #0x4000
|
|
ldr r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
cmp r1, #0
|
|
subgt r1, r1, #1
|
|
strgt r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
bgt _02339F6C
|
|
mov r0, #0x12
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_023399D8_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339C14:
|
|
bl ov00_022BD8FC
|
|
bl ov01_0233A7FC
|
|
cmp r0, #0
|
|
movne r0, #2
|
|
bne _02339F70
|
|
ldr r0, [r4]
|
|
cmp r0, #7
|
|
bne _02339F6C
|
|
bl ov00_022BD918
|
|
cmp r0, #2
|
|
bne _02339C60
|
|
mov r0, #3
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_023399D8_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339C60:
|
|
bl ov00_022BD480
|
|
cmp r0, #0
|
|
mov r0, #1
|
|
strneb r0, [r4, #0x29 + OV01_023399D8_OFFSET_2]
|
|
movne r0, #8
|
|
strne r0, [r4, #0xc]
|
|
bne _02339F6C
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_023399D8_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339C98:
|
|
bl ov00_022BD8FC
|
|
bl ov01_0233A7FC
|
|
cmp r0, #0
|
|
movne r0, #2
|
|
bne _02339F70
|
|
bl ov00_022BD4DC
|
|
cmp r0, #0
|
|
beq _02339F6C
|
|
mov r0, #1
|
|
strb r0, [r4, #0x2c + OV01_023399D8_OFFSET_2]
|
|
ldr r1, _02339F7C ; =0x00002A30
|
|
strb r0, [r4, #0x2a + OV01_023399D8_OFFSET_2]
|
|
add r0, r4, #0x4000
|
|
str r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
mov r0, #9
|
|
str r0, [r4, #0xc]
|
|
b _02339F6C
|
|
_02339CDC:
|
|
bl ov00_022BD8FC
|
|
bl ov01_0233A7FC
|
|
cmp r0, #0
|
|
movne r0, #2
|
|
bne _02339F70
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
bl GetHeldButtons
|
|
bl IsTouchScreenNotOff
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
beq _02339D24
|
|
add r0, sp, #4
|
|
bl GetReleasedStylus
|
|
add r0, sp, #4
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl sub_02006C8C
|
|
_02339D24:
|
|
ldrh r1, [sp]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
ldrne r1, _02339F7C ; =0x00002A30
|
|
addne r0, r4, #0x4000
|
|
strne r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
add r0, r4, #0x4000
|
|
ldr r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
cmp r1, #0
|
|
subgt r1, r1, #1
|
|
strgt r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
bgt _02339F6C
|
|
mov r0, #0x12
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_023399D8_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339D74:
|
|
bl ov00_022BD8FC
|
|
bl ov01_0233A130
|
|
cmp r0, #4
|
|
bne _02339E20
|
|
ldr r1, _02339F7C ; =0x00002A30
|
|
add r0, r4, #0x4000
|
|
str r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
mov r1, #9
|
|
ldr r0, _02339F78 ; =ov01_0233C21C
|
|
str r1, [r4, #0xc]
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x358 + OV01_023399D8_OFFSET
|
|
add r0, r0, #0x800
|
|
bl ov01_0232C578
|
|
sub r0, r0, #6
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _02339E00
|
|
_02339DBC: ; jump table
|
|
b _02339DD0 ; case 0
|
|
b _02339DDC ; case 1
|
|
b _02339DE8 ; case 2
|
|
b _02339DF4 ; case 3
|
|
b _02339E00 ; case 4
|
|
_02339DD0:
|
|
mov r0, #7
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
b _02339E08
|
|
_02339DDC:
|
|
mov r0, #8
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
b _02339E08
|
|
_02339DE8:
|
|
mov r0, #9
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
b _02339E08
|
|
_02339DF4:
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
b _02339E08
|
|
_02339E00:
|
|
mov r0, #0xb
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
_02339E08:
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_023399D8_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339E20:
|
|
cmp r0, #5
|
|
bne _02339E48
|
|
mov r0, #0x11
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_023399D8_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339E48:
|
|
cmp r0, #6
|
|
bne _02339E70
|
|
mov r0, #0x12
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_023399D8_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339E70:
|
|
cmp r0, #0
|
|
beq _02339E9C
|
|
ldr r1, _02339F7C ; =0x00002A30
|
|
add r0, r4, #0x4000
|
|
str r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
mov r0, #9
|
|
str r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0x2b + OV01_023399D8_OFFSET_2]
|
|
cmp r0, #0
|
|
beq _02339E9C
|
|
bl ov01_02339F80
|
|
_02339E9C:
|
|
bl ov01_0233A7FC
|
|
cmp r0, #0
|
|
beq _02339F6C
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339EB0:
|
|
bl ov00_022BD8FC
|
|
bl ov01_0233A390
|
|
cmp r0, #1
|
|
bne _02339EE8
|
|
ldr r1, _02339F7C ; =0x00002A30
|
|
add r0, r4, #0x4000
|
|
str r1, [r0, #0xb58 + OV01_023399D8_OFFSET]
|
|
mov r0, #9
|
|
str r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0x2b + OV01_023399D8_OFFSET_2]
|
|
cmp r0, #0
|
|
beq _02339F40
|
|
bl ov01_02339F80
|
|
b _02339F40
|
|
_02339EE8:
|
|
cmp r0, #2
|
|
bne _02339F18
|
|
mov r0, #0x11
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_023399D8_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #0xc
|
|
str r0, [r4, #0xc]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339F18:
|
|
cmp r0, #3
|
|
bne _02339F40
|
|
mov r0, #0x12
|
|
str r0, [r4, #0x38 + OV01_023399D8_OFFSET]
|
|
mov r0, #6
|
|
str r0, [r4, #0x3c + OV01_023399D8_OFFSET]
|
|
mov r0, #8
|
|
str r0, [r4, #0x30 + OV01_023399D8_OFFSET]
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339F40:
|
|
bl ov01_0233A7FC
|
|
cmp r0, #0
|
|
beq _02339F6C
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339F54:
|
|
ldrb r0, [r4, #0x2b + OV01_023399D8_OFFSET_2]
|
|
cmp r0, #0
|
|
beq _02339F64
|
|
bl ov01_02339F80
|
|
_02339F64:
|
|
mov r0, #2
|
|
b _02339F70
|
|
_02339F6C:
|
|
mov r0, #0
|
|
_02339F70:
|
|
add sp, sp, #0x4c
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_02339F78: .word ov01_0233C21C
|
|
_02339F7C: .word 0x00002A30
|
|
arm_func_end ov01_023399D8
|
|
|
|
arm_func_start ov01_02339F80
|
|
ov01_02339F80: ; 0x02339F80
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0233A024 ; =ov01_0233C21C
|
|
mov r3, #0
|
|
ldr r0, [r1, #4]
|
|
mov r2, #1
|
|
add r0, r0, #0x4000
|
|
#ifdef JAPAN
|
|
strb r3, [r0, #0xb54]
|
|
ldr r0, [r1, #4]
|
|
strb r2, [r0, #0x21]
|
|
#else
|
|
strb r3, [r0, #0xb60]
|
|
ldr r0, [r1, #4]
|
|
strb r2, [r0, #0x2b]
|
|
#endif
|
|
ldr r1, [r1, #4]
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #0xc
|
|
addls pc, pc, r0, lsl #2
|
|
ldmia sp!, {r3, pc}
|
|
_02339FB8: ; jump table
|
|
ldmia sp!, {r3, pc} ; case 0
|
|
b _02339FEC ; case 1
|
|
b _02339FEC ; case 2
|
|
ldmia sp!, {r3, pc} ; case 3
|
|
b _02339FF8 ; case 4
|
|
b _02339FF8 ; case 5
|
|
b _02339FF8 ; case 6
|
|
b _02339FF8 ; case 7
|
|
b _02339FF8 ; case 8
|
|
b _02339FF8 ; case 9
|
|
b _0233A000 ; case 10
|
|
b _0233A008 ; case 11
|
|
b _0233A010 ; case 12
|
|
_02339FEC:
|
|
mov r0, #3
|
|
str r0, [r1, #0xc]
|
|
ldmia sp!, {r3, pc}
|
|
_02339FF8:
|
|
bl ov01_0233A028
|
|
ldmia sp!, {r3, pc}
|
|
_0233A000:
|
|
bl ov00_022BDA74
|
|
ldmia sp!, {r3, pc}
|
|
_0233A008:
|
|
bl ov00_022BDBA8
|
|
ldmia sp!, {r3, pc}
|
|
_0233A010:
|
|
bl ov00_022BDBA8
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl ov01_0233A028
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233A024: .word ov01_0233C21C
|
|
arm_func_end ov01_02339F80
|
|
|
|
arm_func_start ov01_0233A028
|
|
ov01_0233A028: ; 0x0233A028
|
|
stmdb sp!, {r3, lr}
|
|
bl ov00_022BD95C
|
|
ldr r0, _0233A058 ; =ov01_0233C21C
|
|
mov r3, #0
|
|
ldr r2, [r0, #4]
|
|
mov r1, #3
|
|
#ifdef JAPAN
|
|
strb r3, [r2, #0x1f]
|
|
ldr r2, [r0, #4]
|
|
strb r3, [r2, #0x20]
|
|
#else
|
|
strb r3, [r2, #0x29]
|
|
ldr r2, [r0, #4]
|
|
strb r3, [r2, #0x2a]
|
|
#endif
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0xc]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233A058: .word ov01_0233C21C
|
|
arm_func_end ov01_0233A028
|
|
|
|
arm_func_start ov01_0233A05C
|
|
ov01_0233A05C: ; 0x0233A05C
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
ldr ip, _0233A11C ; =ov01_0233C21C
|
|
mov r7, r0
|
|
ldr r0, [ip, #4]
|
|
mov r6, r1
|
|
ldr r0, [r0, #0xc]
|
|
mov r5, r2
|
|
cmp r0, #9
|
|
mov r4, r3
|
|
movne r0, #2
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
bl ov00_022BD968
|
|
ldr r0, _0233A120 ; =ov01_0233C01C
|
|
mov r1, r7
|
|
bl Debug_Print0
|
|
ldr r0, _0233A124 ; =ov01_0233C030
|
|
mov r1, r6
|
|
bl Debug_Print0
|
|
ldr r0, _0233A128 ; =ov01_0233C03C
|
|
mov r1, r4
|
|
bl Debug_Print0
|
|
ldr ip, [sp, #0x18]
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, r5
|
|
mov r3, r4
|
|
str ip, [sp]
|
|
bl ov00_022BD99C
|
|
cmp r0, #1
|
|
cmpne r0, #2
|
|
cmpne r0, #3
|
|
bne _0233A0E4
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0233A0E4:
|
|
ldr r1, _0233A11C ; =ov01_0233C21C
|
|
ldr r2, _0233A12C ; =0x00001C20
|
|
ldr r0, [r1, #4]
|
|
mov r3, #0xa
|
|
add r0, r0, #0x4000
|
|
#ifdef JAPAN
|
|
str r2, [r0, #0xb4c]
|
|
#else
|
|
str r2, [r0, #0xb58]
|
|
#endif
|
|
ldr r0, [r1, #4]
|
|
mov r2, #0
|
|
str r3, [r0, #0xc]
|
|
ldr r1, [r1, #4]
|
|
mov r0, #1
|
|
add r1, r1, #0x4000
|
|
#ifdef JAPAN
|
|
strb r2, [r1, #0xb54]
|
|
#else
|
|
strb r2, [r1, #0xb60]
|
|
#endif
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0233A11C: .word ov01_0233C21C
|
|
_0233A120: .word ov01_0233C01C
|
|
_0233A124: .word ov01_0233C030
|
|
_0233A128: .word ov01_0233C03C
|
|
_0233A12C: .word 0x00001C20
|
|
arm_func_end ov01_0233A05C
|
|
|
|
arm_func_start ov01_0233A130
|
|
ov01_0233A130: ; 0x0233A130
|
|
#ifdef JAPAN
|
|
#define OV01_0233A130_OFFSET -0xC
|
|
#else
|
|
#define OV01_0233A130_OFFSET 0
|
|
#endif
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x28
|
|
ldr r0, _0233A308 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x4000
|
|
ldrb r0, [r0, #0xb60 + OV01_0233A130_OFFSET]
|
|
cmp r0, #0
|
|
beq _0233A1E4
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
bl GetHeldButtons
|
|
bl IsTouchScreenNotOff
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
beq _0233A184
|
|
add r0, sp, #4
|
|
bl GetReleasedStylus
|
|
add r0, sp, #4
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl sub_02006C8C
|
|
_0233A184:
|
|
ldrh r1, [sp]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
ldrne r0, _0233A308 ; =ov01_0233C21C
|
|
ldrne r1, _0233A30C ; =0x00002A30
|
|
ldrne r0, [r0, #4]
|
|
addne r0, r0, #0x4000
|
|
strne r1, [r0, #0xb58 + OV01_0233A130_OFFSET]
|
|
ldr r1, _0233A308 ; =ov01_0233C21C
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r2, [r0, #0xb58 + OV01_0233A130_OFFSET]
|
|
cmp r2, #0
|
|
ble _0233A1DC
|
|
sub r2, r2, #1
|
|
str r2, [r0, #0xb58 + OV01_0233A130_OFFSET]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r0, [r0, #0xb58 + OV01_0233A130_OFFSET]
|
|
cmp r0, #0
|
|
movle r0, #6
|
|
ble _0233A300
|
|
_0233A1DC:
|
|
mov r0, #0
|
|
b _0233A300
|
|
_0233A1E4:
|
|
bl ov00_022BD9E8
|
|
mov r1, r0
|
|
cmp r1, #8
|
|
addls pc, pc, r1, lsl #2
|
|
b _0233A2B8
|
|
_0233A1F8: ; jump table
|
|
b _0233A21C ; case 0
|
|
b _0233A21C ; case 1
|
|
b _0233A2B8 ; case 2
|
|
b _0233A2B8 ; case 3
|
|
b _0233A2B8 ; case 4
|
|
b _0233A2B8 ; case 5
|
|
b _0233A2B8 ; case 6
|
|
b _0233A2B8 ; case 7
|
|
b _0233A238 ; case 8
|
|
_0233A21C:
|
|
ldr r0, _0233A308 ; =ov01_0233C21C
|
|
mov r1, #0
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0xb54 + OV01_0233A130_OFFSET]
|
|
bl ov00_022BD980
|
|
mov r0, #8
|
|
b _0233A300
|
|
_0233A238:
|
|
ldr r0, _0233A308 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x354 + OV01_0233A130_OFFSET
|
|
add r0, r0, #0x800
|
|
bl ov00_022BDA68
|
|
ldr r2, _0233A308 ; =ov01_0233C21C
|
|
mov r1, r0
|
|
ldr r2, [r2, #4]
|
|
add r0, r2, #0x358 + OV01_0233A130_OFFSET
|
|
ldr r2, [r2, #0xb54 + OV01_0233A130_OFFSET]
|
|
add r0, r0, #0x800
|
|
bl MemcpySimple
|
|
bl ov00_022BD980
|
|
ldr r0, _0233A308 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x358 + OV01_0233A130_OFFSET
|
|
add r0, r0, #0x800
|
|
bl ov01_0232C578
|
|
movs r4, r0
|
|
moveq r0, #7
|
|
beq _0233A300
|
|
ldr r0, _0233A308 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x358 + OV01_0233A130_OFFSET
|
|
add r0, r0, #0x800
|
|
bl ov01_0232C5AC
|
|
mov r2, r0
|
|
ldr r0, _0233A310 ; =ov01_0233C050
|
|
mov r1, r4
|
|
bl Debug_Print0
|
|
mov r0, #4
|
|
b _0233A300
|
|
_0233A2B8:
|
|
ldr r2, _0233A308 ; =ov01_0233C21C
|
|
ldr r0, [r2, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r3, [r0, #0xb58 + OV01_0233A130_OFFSET]
|
|
cmp r3, #0
|
|
ble _0233A2FC
|
|
sub r3, r3, #1
|
|
str r3, [r0, #0xb58 + OV01_0233A130_OFFSET]
|
|
ldr r0, [r2, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r0, [r0, #0xb58 + OV01_0233A130_OFFSET]
|
|
cmp r0, #0
|
|
bgt _0233A2FC
|
|
ldr r0, _0233A314 ; =ov01_0233C068
|
|
bl Debug_Print0
|
|
mov r0, #5
|
|
b _0233A300
|
|
_0233A2FC:
|
|
mov r0, #0
|
|
_0233A300:
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0233A308: .word ov01_0233C21C
|
|
_0233A30C: .word 0x00002A30
|
|
_0233A310: .word ov01_0233C050
|
|
_0233A314: .word ov01_0233C068
|
|
arm_func_end ov01_0233A130
|
|
|
|
arm_func_start ov01_0233A318
|
|
ov01_0233A318: ; 0x0233A318
|
|
#ifdef JAPAN
|
|
#define OV01_0233A318_OFFSET -0xC
|
|
#else
|
|
#define OV01_0233A318_OFFSET 0
|
|
#endif
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _0233A388 ; =ov01_0233C21C
|
|
mov r4, r0
|
|
ldr r0, [r1, #4]
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #9
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
bl ov00_022BDA94
|
|
ldr r2, _0233A388 ; =ov01_0233C21C
|
|
mov r3, #0xb
|
|
ldr r0, [r2, #4]
|
|
mov r1, #0x12
|
|
str r4, [r0, #0xb50 + OV01_0233A318_OFFSET]
|
|
ldr r0, [r2, #4]
|
|
ldr r4, _0233A38C ; =0x00001C20
|
|
str r3, [r0, #0xc]
|
|
ldr r0, [r2, #4]
|
|
mov r3, #0
|
|
str r1, [r0]
|
|
ldr r1, [r2, #4]
|
|
mov r0, #1
|
|
add r1, r1, #0x4000
|
|
str r4, [r1, #0xb58 + OV01_0233A318_OFFSET]
|
|
ldr r1, [r2, #4]
|
|
add r1, r1, #0x4000
|
|
strb r3, [r1, #0xb60 + OV01_0233A318_OFFSET]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0233A388: .word ov01_0233C21C
|
|
_0233A38C: .word 0x00001C20
|
|
arm_func_end ov01_0233A318
|
|
|
|
arm_func_start ov01_0233A390
|
|
ov01_0233A390: ; 0x0233A390
|
|
#ifdef JAPAN
|
|
#define OV01_0233A390_OFFSET -0xC
|
|
#define OV01_0233A390_OFFSET_2 -0xA
|
|
#else
|
|
#define OV01_0233A390_OFFSET 0
|
|
#define OV01_0233A390_OFFSET_2 0
|
|
#endif
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x28
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r1, [r0, #4]
|
|
add r0, r1, #0x4000
|
|
ldrb r0, [r0, #0xb60 + OV01_0233A390_OFFSET]
|
|
cmp r0, #0
|
|
beq _0233A44C
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
bl GetHeldButtons
|
|
bl IsTouchScreenNotOff
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
beq _0233A3E4
|
|
add r0, sp, #4
|
|
bl GetReleasedStylus
|
|
add r0, sp, #4
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl sub_02006C8C
|
|
_0233A3E4:
|
|
ldrh r1, [sp]
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
ldrne r0, _0233A7F0 ; =ov01_0233C21C
|
|
ldrne r1, _0233A7F4 ; =0x00002A30
|
|
ldrne r0, [r0, #4]
|
|
addne r0, r0, #0x4000
|
|
strne r1, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
ldr r1, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r2, #0
|
|
ble _0233A444
|
|
sub r2, r2, #1
|
|
str r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
ldr r0, [r1, #4]
|
|
add r1, r0, #0x4000
|
|
ldr r0, [r1, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r0, #0
|
|
ldrle r2, _0233A7F8 ; =0x00001C20
|
|
movle r0, #3
|
|
strle r2, [r1, #0xb58 + OV01_0233A390_OFFSET]
|
|
ble _0233A7E8
|
|
_0233A444:
|
|
mov r0, #0
|
|
b _0233A7E8
|
|
_0233A44C:
|
|
ldr r0, [r1, #0x44 + OV01_0233A390_OFFSET]
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _0233A7E4
|
|
_0233A45C: ; jump table
|
|
b _0233A470 ; case 0
|
|
b _0233A53C ; case 1
|
|
b _0233A60C ; case 2
|
|
b _0233A6DC ; case 3
|
|
b _0233A7B8 ; case 4
|
|
_0233A470:
|
|
bl ov00_022BDACC
|
|
cmp r0, #1
|
|
bne _0233A4F0
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r1, [r0, #4]
|
|
ldrb r0, [r1, #0x2b + OV01_0233A390_OFFSET_2]
|
|
cmp r0, #0
|
|
movne r0, #4
|
|
strne r0, [r1, #0x44 + OV01_0233A390_OFFSET]
|
|
movne r0, #0
|
|
bne _0233A7E8
|
|
ldr r0, [r1, #0xb50 + OV01_0233A390_OFFSET]
|
|
bl ov00_022BDADC
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x48 + OV01_0233A390_OFFSET
|
|
bl ov00_022BDB04
|
|
cmp r0, #0
|
|
ldreq r0, _0233A7F0 ; =ov01_0233C21C
|
|
moveq r1, #4
|
|
ldreq r0, [r0, #4]
|
|
streq r1, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
beq _0233A7E4
|
|
ldr r1, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r3, _0233A7F8 ; =0x00001C20
|
|
ldr r0, [r1, #4]
|
|
mov r2, #1
|
|
add r0, r0, #0x4000
|
|
str r3, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
b _0233A7E4
|
|
_0233A4F0:
|
|
ldr r1, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r2, #0
|
|
ble _0233A7E4
|
|
sub r2, r2, #1
|
|
str r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r0, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r0, #0
|
|
bgt _0233A7E4
|
|
bl ov00_022BDBA8
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
mov r1, #4
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
b _0233A7E4
|
|
_0233A53C:
|
|
bl ov00_022BDACC
|
|
cmp r0, #1
|
|
bne _0233A5C0
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r1, [r0, #4]
|
|
ldrb r0, [r1, #0x2b + OV01_0233A390_OFFSET_2]
|
|
cmp r0, #0
|
|
movne r0, #4
|
|
strne r0, [r1, #0x44 + OV01_0233A390_OFFSET]
|
|
bne _0233A7E4
|
|
ldr r2, [r1, #0x48 + OV01_0233A390_OFFSET]
|
|
cmp r2, #0
|
|
movle r0, #4
|
|
strle r0, [r1, #0x44 + OV01_0233A390_OFFSET]
|
|
ble _0233A7E4
|
|
add r0, r1, #0x50 + OV01_0233A390_OFFSET
|
|
mov r1, #0
|
|
bl ov00_022BDB38
|
|
cmp r0, #0
|
|
ldreq r0, _0233A7F0 ; =ov01_0233C21C
|
|
moveq r1, #4
|
|
ldreq r0, [r0, #4]
|
|
streq r1, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
beq _0233A7E4
|
|
ldr r1, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r3, _0233A7F8 ; =0x00001C20
|
|
ldr r0, [r1, #4]
|
|
mov r2, #2
|
|
add r0, r0, #0x4000
|
|
str r3, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
b _0233A7E4
|
|
_0233A5C0:
|
|
ldr r1, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r2, #0
|
|
ble _0233A7E4
|
|
sub r2, r2, #1
|
|
str r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r0, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r0, #0
|
|
bgt _0233A7E4
|
|
bl ov00_022BDBA8
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
mov r1, #4
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
b _0233A7E4
|
|
_0233A60C:
|
|
bl ov00_022BDACC
|
|
cmp r0, #1
|
|
bne _0233A690
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
mov r2, #0
|
|
ldr r1, [r0, #4]
|
|
str r2, [r1, #0x4c + OV01_0233A390_OFFSET]
|
|
ldr r3, [r0, #4]
|
|
ldrb r0, [r3, #0x2b + OV01_0233A390_OFFSET_2]
|
|
cmp r0, #0
|
|
movne r0, #4
|
|
strne r0, [r3, #0x44 + OV01_0233A390_OFFSET]
|
|
bne _0233A7E4
|
|
add r1, r3, #0x358 + OV01_0233A390_OFFSET
|
|
ldr r2, [r3, #0xfc + OV01_0233A390_OFFSET]
|
|
add r0, r3, #0x50 + OV01_0233A390_OFFSET
|
|
add r1, r1, #0x800
|
|
bl ov00_022BDB6C
|
|
cmp r0, #0
|
|
ldreq r0, _0233A7F0 ; =ov01_0233C21C
|
|
moveq r1, #4
|
|
ldreq r0, [r0, #4]
|
|
streq r1, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
beq _0233A7E4
|
|
ldr r1, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r3, _0233A7F8 ; =0x00001C20
|
|
ldr r0, [r1, #4]
|
|
mov r2, #3
|
|
add r0, r0, #0x4000
|
|
str r3, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
ldr r0, [r1, #4]
|
|
str r2, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
b _0233A7E4
|
|
_0233A690:
|
|
ldr r1, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r2, #0
|
|
ble _0233A7E4
|
|
sub r2, r2, #1
|
|
str r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r0, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r0, #0
|
|
bgt _0233A7E4
|
|
bl ov00_022BDBA8
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
mov r1, #4
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
b _0233A7E4
|
|
_0233A6DC:
|
|
bl ov00_022BDACC
|
|
cmp r0, #1
|
|
bne _0233A76C
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r2, [r0, #4]
|
|
ldr r1, [r2, #0x4c + OV01_0233A390_OFFSET]
|
|
add r1, r1, #1
|
|
str r1, [r2, #0x4c + OV01_0233A390_OFFSET]
|
|
ldr r2, [r0, #4]
|
|
ldrb r0, [r2, #0x2b + OV01_0233A390_OFFSET_2]
|
|
ldr r4, [r2, #0x4c + OV01_0233A390_OFFSET]
|
|
cmp r0, #0
|
|
movne r0, #4
|
|
strne r0, [r2, #0x44 + OV01_0233A390_OFFSET]
|
|
bne _0233A7E4
|
|
ldr r0, [r2, #0x48 + OV01_0233A390_OFFSET]
|
|
cmp r4, r0
|
|
movge r0, #4
|
|
strge r0, [r2, #0x44 + OV01_0233A390_OFFSET]
|
|
bge _0233A7E4
|
|
mov r0, #0xb0
|
|
mul lr, r4, r0
|
|
add r0, r2, #0x358 + OV01_0233A390_OFFSET
|
|
add r1, r2, lr
|
|
add ip, r2, #0x50 + OV01_0233A390_OFFSET
|
|
add r3, r0, #0x800
|
|
ldr r2, [r1, #0xfc + OV01_0233A390_OFFSET]
|
|
add r0, ip, lr
|
|
add r1, r3, r4, lsl #10
|
|
bl ov00_022BDB6C
|
|
cmp r0, #0
|
|
ldreq r0, _0233A7F0 ; =ov01_0233C21C
|
|
moveq r1, #4
|
|
ldreq r0, [r0, #4]
|
|
streq r1, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
b _0233A7E4
|
|
_0233A76C:
|
|
ldr r1, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r2, #0
|
|
ble _0233A7E4
|
|
sub r2, r2, #1
|
|
str r2, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r0, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r0, #0
|
|
bgt _0233A7E4
|
|
bl ov00_022BDBA8
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
mov r1, #4
|
|
ldr r0, [r0, #4]
|
|
str r1, [r0, #0x44 + OV01_0233A390_OFFSET]
|
|
b _0233A7E4
|
|
_0233A7B8:
|
|
bl ov00_022BDBE4
|
|
cmp r0, #0
|
|
beq _0233A7E4
|
|
ldr r0, _0233A7F0 ; =ov01_0233C21C
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x4000
|
|
ldr r0, [r0, #0xb58 + OV01_0233A390_OFFSET]
|
|
cmp r0, #0
|
|
movgt r0, #1
|
|
movle r0, #2
|
|
b _0233A7E8
|
|
_0233A7E4:
|
|
mov r0, #0
|
|
_0233A7E8:
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0233A7F0: .word ov01_0233C21C
|
|
_0233A7F4: .word 0x00002A30
|
|
_0233A7F8: .word 0x00001C20
|
|
arm_func_end ov01_0233A390
|
|
|
|
arm_func_start ov01_0233A7FC
|
|
ov01_0233A7FC: ; 0x0233A7FC
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
ldr r2, _0233A83C ; =ov01_0233C21C
|
|
add r0, sp, #4
|
|
add r1, sp, #0
|
|
ldr r4, [r2, #4]
|
|
bl ov00_022BDCB8
|
|
cmp r0, #0
|
|
ldrne r1, [sp, #4]
|
|
moveq r0, #0
|
|
#ifdef JAPAN
|
|
strne r1, [r4, #0x2c]
|
|
ldrne r1, [sp]
|
|
movne r0, #1
|
|
strne r1, [r4, #0x30]
|
|
#else
|
|
strne r1, [r4, #0x38]
|
|
ldrne r1, [sp]
|
|
movne r0, #1
|
|
strne r1, [r4, #0x3c]
|
|
#endif
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0233A83C: .word ov01_0233C21C
|
|
arm_func_end ov01_0233A7FC
|
|
|
|
arm_func_start ov01_0233A840
|
|
ov01_0233A840: ; 0x0233A840
|
|
#ifdef JAPAN
|
|
#define OV01_0233A840_OFFSET -0xC
|
|
#else
|
|
#define OV01_0233A840_OFFSET 0
|
|
#endif
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r4, _0233A8B0 ; =ov01_0233C21C
|
|
mov r5, #0
|
|
_0233A84C:
|
|
mov r0, r5, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD0A0
|
|
ldr r1, [r4, #4]
|
|
mov r2, r5, lsl #0x10
|
|
add r1, r1, r5
|
|
add r1, r1, #0x4000
|
|
strb r0, [r1, #0xf61 + OV01_0233A840_OFFSET]
|
|
mov r0, r2, lsr #0x10
|
|
bl ov00_022BD2C0
|
|
ldr r1, [r4, #4]
|
|
mov r2, r5, lsl #0x10
|
|
add r1, r1, r5
|
|
add r1, r1, #0x4000
|
|
strb r0, [r1, #0xf71 + OV01_0233A840_OFFSET]
|
|
mov r0, r2, lsr #0x10
|
|
bl ov00_022BD170
|
|
ldr r1, [r4, #4]
|
|
add r1, r1, r5, lsl #2
|
|
add r1, r1, #0x4000
|
|
add r5, r5, #1
|
|
str r0, [r1, #0xf84 + OV01_0233A840_OFFSET]
|
|
cmp r5, #0x10
|
|
blt _0233A84C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0233A8B0: .word ov01_0233C21C
|
|
arm_func_end ov01_0233A840
|
|
|
|
arm_func_start ov01_0233A8B4
|
|
ov01_0233A8B4: ; 0x0233A8B4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
cmp r5, #0
|
|
ble _0233A9C8
|
|
cmp r5, #0x14
|
|
addls pc, pc, r5, lsl #2
|
|
b _0233ACE4
|
|
_0233A8D4: ; jump table
|
|
b _0233ACE4 ; case 0
|
|
b _0233A928 ; case 1
|
|
b _0233A930 ; case 2
|
|
b _0233A938 ; case 3
|
|
b _0233A940 ; case 4
|
|
b _0233A948 ; case 5
|
|
b _0233A950 ; case 6
|
|
b _0233A958 ; case 7
|
|
b _0233A960 ; case 8
|
|
b _0233A968 ; case 9
|
|
b _0233A970 ; case 10
|
|
b _0233A978 ; case 11
|
|
b _0233A980 ; case 12
|
|
b _0233A988 ; case 13
|
|
b _0233A990 ; case 14
|
|
b _0233A998 ; case 15
|
|
b _0233A9A0 ; case 16
|
|
b _0233A9A8 ; case 17
|
|
b _0233A9B0 ; case 18
|
|
b _0233A9B8 ; case 19
|
|
b _0233A9C0 ; case 20
|
|
_0233A928:
|
|
ldr r0, _0233ACEC ; =0x00003766
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A930:
|
|
ldr r0, _0233ACF0 ; =0x00003767
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A938:
|
|
ldr r0, _0233ACF4 ; =0x00003768
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A940:
|
|
ldr r0, _0233ACF8 ; =0x00003769
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A948:
|
|
ldr r0, _0233ACFC ; =0x0000376A
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A950:
|
|
ldr r0, _0233AD00 ; =0x0000376B
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A958:
|
|
ldr r0, _0233AD04 ; =0x0000376C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A960:
|
|
ldr r0, _0233AD08 ; =0x0000376D
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A968:
|
|
ldr r0, _0233AD0C ; =0x0000376E
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A970:
|
|
ldr r0, _0233AD10 ; =0x0000376F
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A978:
|
|
ldr r0, _0233AD14 ; =0x00003770
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A980:
|
|
ldr r0, _0233AD18 ; =0x00003771
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A988:
|
|
ldr r0, _0233AD1C ; =0x00003772
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A990:
|
|
ldr r0, _0233AD20 ; =0x00003773
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A998:
|
|
ldr r0, _0233AD24 ; =0x00000239
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A9A0:
|
|
#ifdef JAPAN
|
|
ldr r0, _0233C5A4 ; =0x000004C9
|
|
#else
|
|
mov r0, #0x238
|
|
#endif
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A9A8:
|
|
ldr r0, _0233AD28 ; =0x00003774
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A9B0:
|
|
ldr r0, _0233AD2C ; =0x00003775
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A9B8:
|
|
ldr r0, _0233AD30 ; =0x00003776
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A9C0:
|
|
ldr r0, _0233AD34 ; =0x00003777
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233A9C8:
|
|
bge _0233ACE4
|
|
ldr r0, _0233AD38 ; =0xFFFFB1E0
|
|
cmp r5, r0
|
|
bgt _0233A9E4
|
|
sub r0, r0, #0x63
|
|
cmp r5, r0
|
|
bge _0233AAA4
|
|
_0233A9E4:
|
|
ldr r1, _0233AD3C ; =0xFFFFB17C
|
|
cmp r5, r1
|
|
beq _0233AAA4
|
|
sub r0, r1, #2
|
|
cmp r5, r0
|
|
bgt _0233AA08
|
|
sub r0, r1, #7
|
|
cmp r5, r0
|
|
bge _0233AAA4
|
|
_0233AA08:
|
|
ldr r0, _0233AD40 ; =0xFFFFB173
|
|
cmp r5, r0
|
|
beq _0233AAA4
|
|
sub r0, r0, #2
|
|
cmp r5, r0
|
|
bgt _0233AA2C
|
|
ldr r0, _0233AD44 ; =0xFFFFADF9
|
|
cmp r5, r0
|
|
bge _0233AAA4
|
|
_0233AA2C:
|
|
ldr r0, _0233AD48 ; =0xFFFF34DC
|
|
cmp r5, r0
|
|
bgt _0233AA44
|
|
sub r0, r0, #0x5f
|
|
cmp r5, r0
|
|
bge _0233AAA4
|
|
_0233AA44:
|
|
ldr r0, _0233AD4C ; =0xFFFF3478
|
|
cmp r5, r0
|
|
bgt _0233AA5C
|
|
sub r0, r0, #0x5f
|
|
cmp r5, r0
|
|
bge _0233AAA4
|
|
_0233AA5C:
|
|
ldr r0, _0233AD50 ; =0xFFFF3414
|
|
cmp r5, r0
|
|
bgt _0233AA74
|
|
sub r0, r0, #0x5f
|
|
cmp r5, r0
|
|
bge _0233AAA4
|
|
_0233AA74:
|
|
ldr r0, _0233AD54 ; =0xFFFF33B4
|
|
cmp r5, r0
|
|
bgt _0233AA8C
|
|
sub r0, r0, #0x63
|
|
cmp r5, r0
|
|
bge _0233AAA4
|
|
_0233AA8C:
|
|
ldr r0, _0233AD58 ; =0xFFFF30F8
|
|
cmp r5, r0
|
|
bgt _0233AAAC
|
|
ldr r0, _0233AD5C ; =0xFFFF2FCD
|
|
cmp r5, r0
|
|
blt _0233AAAC
|
|
_0233AAA4:
|
|
ldr r0, _0233AD60 ; =0x00003778
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233AAAC:
|
|
ldr r0, _0233AD64 ; =0xFFFFB174
|
|
cmp r5, r0
|
|
ldreq r0, _0233AD68 ; =0x00003779
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
sub r0, r0, #2
|
|
cmp r5, r0
|
|
ldreq r0, _0233AD6C ; =0x0000377A
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _0233AD70 ; =0xFFFF38C8
|
|
cmp r5, r0
|
|
bgt _0233AAE4
|
|
sub r0, r0, #0x66
|
|
cmp r5, r0
|
|
bge _0233AB14
|
|
_0233AAE4:
|
|
ldr r0, _0233AD74 ; =0xFFFF3860
|
|
cmp r5, r0
|
|
bgt _0233AAFC
|
|
sub r0, r0, #0x5f
|
|
cmp r5, r0
|
|
bge _0233AB14
|
|
_0233AAFC:
|
|
ldr r0, _0233AD78 ; =0xFFFF379C
|
|
cmp r5, r0
|
|
bgt _0233AB1C
|
|
sub r0, r0, #0x63
|
|
cmp r5, r0
|
|
blt _0233AB1C
|
|
_0233AB14:
|
|
ldr r0, _0233AD7C ; =0x0000377B
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233AB1C:
|
|
ldr r0, _0233AD80 ; =0xFFFF34E0
|
|
cmp r5, r0
|
|
bgt _0233AB34
|
|
sub r0, r0, #3
|
|
cmp r5, r0
|
|
bge _0233AB64
|
|
_0233AB34:
|
|
ldr r0, _0233AD84 ; =0xFFFF347C
|
|
cmp r5, r0
|
|
bgt _0233AB4C
|
|
sub r0, r0, #3
|
|
cmp r5, r0
|
|
bge _0233AB64
|
|
_0233AB4C:
|
|
ldr r0, _0233AD88 ; =0xFFFF3418
|
|
cmp r5, r0
|
|
bgt _0233AB6C
|
|
sub r0, r0, #3
|
|
cmp r5, r0
|
|
blt _0233AB6C
|
|
_0233AB64:
|
|
ldr r0, _0233AD8C ; =0x0000377C
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233AB6C:
|
|
ldr r0, _0233AD90 ; =0xFFFF3861
|
|
cmp r5, r0
|
|
ldreq r0, _0233AD94 ; =0x0000377D
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _0233AD98 ; =0xFFFF3CB0
|
|
cmp r5, r0
|
|
bgt _0233AB98
|
|
sub r0, r0, #0x63
|
|
cmp r5, r0
|
|
#if defined(EUROPE)
|
|
movge r0, #0x3780
|
|
#elif defined(JAPAN)
|
|
movge r0, #0x3400
|
|
#else
|
|
ldrge r0, _0233AD9C ; =0x0000377E
|
|
#endif
|
|
ldmgeia sp!, {r3, r4, r5, pc}
|
|
_0233AB98:
|
|
ldr r0, _0233ADA0 ; =0xFFFFB17B
|
|
cmp r5, r0
|
|
beq _0233ABBC
|
|
ldr r0, _0233ADA4 ; =0xFFFFA628
|
|
cmp r5, r0
|
|
bgt _0233ABC4
|
|
ldr r0, _0233ADA8 ; =0xFFFFA241
|
|
cmp r5, r0
|
|
blt _0233ABC4
|
|
_0233ABBC:
|
|
ldr r0, _0233ADAC ; =0x0000377F
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233ABC4:
|
|
mov r0, #0xc800
|
|
rsb r0, r0, #0
|
|
cmp r5, r0
|
|
bgt _0233ABE4
|
|
sub r0, r0, #0x63
|
|
cmp r5, r0
|
|
#ifdef NORTH_AMERICA
|
|
movge r0, #0x3780
|
|
#else
|
|
ldrge r0, _0233B4F8 ; =0x00003782
|
|
#endif
|
|
ldmgeia sp!, {r3, r4, r5, pc}
|
|
_0233ABE4:
|
|
ldr r0, _0233ADB0 ; =0xFFFEC5D2
|
|
cmp r5, r0
|
|
ldreq r0, _0233ADB4 ; =0x00003784
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _0233ADB8 ; =0xFFFFA240
|
|
cmp r5, r0
|
|
bgt _0233AC0C
|
|
ldr r0, _0233ADBC ; =0xFFFF9E59
|
|
cmp r5, r0
|
|
bge _0233AC78
|
|
_0233AC0C:
|
|
ldr r0, _0233ADC0 ; =0xFFFF9E58
|
|
cmp r5, r0
|
|
bgt _0233AC24
|
|
ldr r0, _0233ADC4 ; =0xFFFF9A71
|
|
cmp r5, r0
|
|
bge _0233AC78
|
|
_0233AC24:
|
|
ldr r0, _0233ADC8 ; =0xFFFF86E8
|
|
cmp r5, r0
|
|
bgt _0233AC3C
|
|
ldr r0, _0233ADCC ; =0xFFFF8301
|
|
cmp r5, r0
|
|
bge _0233AC78
|
|
_0233AC3C:
|
|
ldr r0, _0233ADD0 ; =0xFFFF2D10
|
|
cmp r5, r0
|
|
bgt _0233AC54
|
|
sub r0, r0, #0x63
|
|
cmp r5, r0
|
|
bge _0233AC78
|
|
_0233AC54:
|
|
ldr r0, _0233ADD4 ; =0xFFFF15A0
|
|
cmp r5, r0
|
|
bgt _0233ACA8
|
|
ldr r0, _0233ADD8 ; =0xFFFE7961
|
|
cmp r5, r0
|
|
blt _0233ACA8
|
|
ldr r0, _0233ADB0 ; =0xFFFEC5D2
|
|
cmp r5, r0
|
|
beq _0233ACA8
|
|
_0233AC78:
|
|
cmp r4, #0
|
|
ldrne r0, _0233ADDC ; =0x00003781
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _0233ADC8 ; =0xFFFF86E8
|
|
cmp r5, r0
|
|
bgt _0233ACA0
|
|
ldr r0, _0233ADCC ; =0xFFFF8301
|
|
cmp r5, r0
|
|
ldrge r0, _0233ADE0 ; =0x00003783
|
|
ldmgeia sp!, {r3, r4, r5, pc}
|
|
_0233ACA0:
|
|
ldr r0, _0233ADE4 ; =0x00003782
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233ACA8:
|
|
ldr r0, _0233ADE8 ; =ov01_0233C088
|
|
mov r1, r5
|
|
bl Debug_Print0
|
|
cmp r4, #0
|
|
ldrne r0, _0233ADDC ; =0x00003781
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _0233ADC8 ; =0xFFFF86E8
|
|
cmp r5, r0
|
|
bgt _0233ACDC
|
|
ldr r0, _0233ADCC ; =0xFFFF8301
|
|
cmp r5, r0
|
|
ldrge r0, _0233ADE0 ; =0x00003783
|
|
ldmgeia sp!, {r3, r4, r5, pc}
|
|
_0233ACDC:
|
|
ldr r0, _0233ADE4 ; =0x00003782
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0233ACE4:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
#if defined(EUROPE)
|
|
#define OV01_0233A8B4_OFFSET 2
|
|
#elif defined(JAPAN)
|
|
#define OV01_0233A8B4_OFFSET -0x37E
|
|
#else
|
|
#define OV01_0233A8B4_OFFSET 0
|
|
#endif
|
|
_0233ACEC: .word 0x00003766 + OV01_0233A8B4_OFFSET
|
|
_0233ACF0: .word 0x00003767 + OV01_0233A8B4_OFFSET
|
|
_0233ACF4: .word 0x00003768 + OV01_0233A8B4_OFFSET
|
|
_0233ACF8: .word 0x00003769 + OV01_0233A8B4_OFFSET
|
|
_0233ACFC: .word 0x0000376A + OV01_0233A8B4_OFFSET
|
|
_0233AD00: .word 0x0000376B + OV01_0233A8B4_OFFSET
|
|
_0233AD04: .word 0x0000376C + OV01_0233A8B4_OFFSET
|
|
_0233AD08: .word 0x0000376D + OV01_0233A8B4_OFFSET
|
|
_0233AD0C: .word 0x0000376E + OV01_0233A8B4_OFFSET
|
|
_0233AD10: .word 0x0000376F + OV01_0233A8B4_OFFSET
|
|
_0233AD14: .word 0x00003770 + OV01_0233A8B4_OFFSET
|
|
_0233AD18: .word 0x00003771 + OV01_0233A8B4_OFFSET
|
|
_0233AD1C: .word 0x00003772 + OV01_0233A8B4_OFFSET
|
|
_0233AD20: .word 0x00003773 + OV01_0233A8B4_OFFSET
|
|
#ifdef JAPAN
|
|
_0233AD24: .word 0x000004CA
|
|
_0233C5A4: .word 0x000004C9
|
|
#else
|
|
_0233AD24: .word 0x00000239
|
|
#endif
|
|
_0233AD28: .word 0x00003774 + OV01_0233A8B4_OFFSET
|
|
_0233AD2C: .word 0x00003775 + OV01_0233A8B4_OFFSET
|
|
_0233AD30: .word 0x00003776 + OV01_0233A8B4_OFFSET
|
|
_0233AD34: .word 0x00003777 + OV01_0233A8B4_OFFSET
|
|
_0233AD38: .word 0xFFFFB1E0
|
|
_0233AD3C: .word 0xFFFFB17C
|
|
_0233AD40: .word 0xFFFFB173
|
|
_0233AD44: .word 0xFFFFADF9
|
|
_0233AD48: .word 0xFFFF34DC
|
|
_0233AD4C: .word 0xFFFF3478
|
|
_0233AD50: .word 0xFFFF3414
|
|
_0233AD54: .word 0xFFFF33B4
|
|
_0233AD58: .word 0xFFFF30F8
|
|
_0233AD5C: .word 0xFFFF2FCD
|
|
_0233AD60: .word 0x00003778 + OV01_0233A8B4_OFFSET
|
|
_0233AD64: .word 0xFFFFB174
|
|
_0233AD68: .word 0x00003779 + OV01_0233A8B4_OFFSET
|
|
_0233AD6C: .word 0x0000377A + OV01_0233A8B4_OFFSET
|
|
_0233AD70: .word 0xFFFF38C8
|
|
_0233AD74: .word 0xFFFF3860
|
|
_0233AD78: .word 0xFFFF379C
|
|
_0233AD7C: .word 0x0000377B + OV01_0233A8B4_OFFSET
|
|
_0233AD80: .word 0xFFFF34E0
|
|
_0233AD84: .word 0xFFFF347C
|
|
_0233AD88: .word 0xFFFF3418
|
|
_0233AD8C: .word 0x0000377C + OV01_0233A8B4_OFFSET
|
|
_0233AD90: .word 0xFFFF3861
|
|
_0233AD94: .word 0x0000377D + OV01_0233A8B4_OFFSET
|
|
_0233AD98: .word 0xFFFF3CB0
|
|
#if defined(NORTH_AMERICA)
|
|
_0233AD9C: .word 0x0000377E
|
|
#endif
|
|
_0233ADA0: .word 0xFFFFB17B
|
|
_0233ADA4: .word 0xFFFFA628
|
|
_0233ADA8: .word 0xFFFFA241
|
|
_0233ADAC: .word 0x0000377F + OV01_0233A8B4_OFFSET
|
|
#if defined(EUROPE)
|
|
_0233B4F8: .word 0x00003782
|
|
#elif defined(JAPAN)
|
|
_0233B4F8: .word 0x00003402
|
|
#endif
|
|
_0233ADB0: .word 0xFFFEC5D2
|
|
_0233ADB4: .word 0x00003784 + OV01_0233A8B4_OFFSET
|
|
_0233ADB8: .word 0xFFFFA240
|
|
_0233ADBC: .word 0xFFFF9E59
|
|
_0233ADC0: .word 0xFFFF9E58
|
|
_0233ADC4: .word 0xFFFF9A71
|
|
_0233ADC8: .word 0xFFFF86E8
|
|
_0233ADCC: .word 0xFFFF8301
|
|
_0233ADD0: .word 0xFFFF2D10
|
|
_0233ADD4: .word 0xFFFF15A0
|
|
_0233ADD8: .word 0xFFFE7961
|
|
_0233ADDC: .word 0x00003781 + OV01_0233A8B4_OFFSET
|
|
_0233ADE0: .word 0x00003783 + OV01_0233A8B4_OFFSET
|
|
_0233ADE4: .word 0x00003782 + OV01_0233A8B4_OFFSET
|
|
_0233ADE8: .word ov01_0233C088
|
|
arm_func_end ov01_0233A8B4
|
|
|
|
arm_func_start ov01_0233ADEC
|
|
ov01_0233ADEC: ; 0x0233ADEC
|
|
ldr r0, _0233AE00 ; =ov01_0233CA7C
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
bx lr
|
|
.align 2, 0
|
|
_0233AE00: .word ov01_0233CA7C
|
|
arm_func_end ov01_0233ADEC
|
|
|
|
arm_func_start ov01_0233AE04
|
|
ov01_0233AE04: ; 0x0233AE04
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233AE60 ; =ov01_0233CA7C
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0233AE24
|
|
cmp r0, #1
|
|
beq _0233AE38
|
|
b _0233AE58
|
|
_0233AE24:
|
|
bl ov01_02339888
|
|
ldr r0, _0233AE60 ; =ov01_0233CA7C
|
|
mov r1, #1
|
|
str r1, [r0]
|
|
b _0233AE58
|
|
_0233AE38:
|
|
bl ov01_023398A4
|
|
cmp r0, #0
|
|
beq _0233AE58
|
|
bl sub_02046D20
|
|
mov r0, #0x17
|
|
bl ov00_022BE4A8
|
|
mov r0, #4
|
|
ldmia sp!, {r3, pc}
|
|
_0233AE58:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233AE60: .word ov01_0233CA7C
|
|
arm_func_end ov01_0233AE04
|
|
|
|
arm_func_start ov01_0233AE64
|
|
ov01_0233AE64: ; 0x0233AE64
|
|
ldr ip, _0233AE70 ; =InitMenu
|
|
ldr r0, _0233AE74 ; =ov01_0233C0A4
|
|
bx ip
|
|
.align 2, 0
|
|
_0233AE70: .word InitMenu
|
|
_0233AE74: .word ov01_0233C0A4
|
|
arm_func_end ov01_0233AE64
|
|
; 0x0233AE78
|
|
|
|
.rodata
|
|
.global ov01_0233AE78
|
|
ov01_0233AE78:
|
|
.byte 0x44, 0x41, 0x54, 0x41, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x44, 0x41, 0x54, 0x41, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x44, 0x41, 0x54, 0x41, 0x30, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x44, 0x41, 0x54, 0x41, 0x30, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233AEF8
|
|
ov01_0233AEF8:
|
|
.byte 0x72, 0x6F, 0x6D, 0x30, 0x3A, 0x46, 0x4F, 0x4E, 0x54, 0x2F, 0x77, 0x5F, 0x69, 0x63, 0x6F, 0x6E
|
|
.byte 0x2E, 0x77, 0x61, 0x6E, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233AF10
|
|
ov01_0233AF10:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233AF14
|
|
ov01_0233AF14:
|
|
.byte 0x63, 0x68, 0x65, 0x63
|
|
.byte 0x6B, 0x20, 0x69, 0x64, 0x20, 0x3A, 0x20, 0x75, 0x6E, 0x69, 0x71, 0x75, 0x65, 0x20, 0x30, 0x78
|
|
.byte 0x25, 0x30, 0x38, 0x78, 0x20, 0x3A, 0x20, 0x6D, 0x61, 0x63, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38
|
|
.byte 0x78, 0x0A, 0x00, 0x00
|
|
.global ov01_0233AF3C
|
|
ov01_0233AF3C:
|
|
.byte 0x61, 0x64, 0x64, 0x20, 0x69, 0x64, 0x20, 0x3A, 0x20, 0x75, 0x6E, 0x69
|
|
.byte 0x71, 0x75, 0x65, 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x20, 0x3A, 0x20, 0x6D, 0x61, 0x63
|
|
.byte 0x20, 0x30, 0x78, 0x25, 0x30, 0x38, 0x78, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233AF64
|
|
ov01_0233AF64:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233AF88
|
|
ov01_0233AF88:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov01_0232EDC0
|
|
.word ov01_0232EDEC
|
|
.word ov01_0232EE34
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov01_0232EE58
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov01_0232EF28
|
|
.word ov01_0232EF4C
|
|
.global ov01_0233AFAC
|
|
ov01_0233AFAC:
|
|
.byte 0x0D, 0x00, 0x00, 0x00
|
|
.word ov01_0232EFE8
|
|
.word ov01_0232F038
|
|
.word ov01_0232F0C0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov01_0232F0E0
|
|
.word ov01_0232F28C
|
|
.word ov01_0232F338
|
|
.word ov01_0232F384
|
|
.global ov01_0233AFD0
|
|
ov01_0233AFD0:
|
|
.word ov01_0233AFD8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233AFD8
|
|
ov01_0233AFD8:
|
|
.byte 0x42, 0x41, 0x43, 0x4B, 0x2F, 0x65, 0x78, 0x70, 0x62, 0x61, 0x63, 0x6B, 0x2E, 0x62, 0x67, 0x70
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233AFEC
|
|
ov01_0233AFEC:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x0D, 0x12, 0x04, 0x01, 0xFA, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233AFFC
|
|
ov01_0233AFFC:
|
|
.byte 0x0D, 0x00, 0x00, 0x00
|
|
.word ov01_0232F41C
|
|
.word ov01_0232F478
|
|
.word ov01_0232F538
|
|
.word ov01_0232F558
|
|
.word ov01_0232F55C
|
|
.word ov01_0232F73C
|
|
.word ov01_0232F7BC
|
|
.word ov01_0232F7EC
|
|
.global ov01_0233B020
|
|
ov01_0233B020:
|
|
.byte 0x42, 0x41, 0x43, 0x4B, 0x2F, 0x73, 0x30, 0x37
|
|
.byte 0x70, 0x30, 0x32, 0x61, 0x2E, 0x62, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B034
|
|
ov01_0233B034:
|
|
.byte 0x0D, 0x00, 0x00, 0x00
|
|
.word ov01_0232F924
|
|
.word ov01_0232F980
|
|
.word ov01_0232FA30
|
|
.word ov01_0232FA50
|
|
.word ov01_0232FA54
|
|
.word ov01_0232FC28
|
|
.word ov01_0232FD00
|
|
.word ov01_0232FD30
|
|
.global ov01_0233B058
|
|
ov01_0233B058:
|
|
.byte 0x42, 0x41, 0x43, 0x4B, 0x2F, 0x65, 0x78, 0x70, 0x62, 0x61, 0x63, 0x6B, 0x2E, 0x62, 0x67, 0x70
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B06C
|
|
ov01_0233B06C:
|
|
.byte 0x0D, 0x00, 0x00, 0x00
|
|
.word ov01_0232FDC0
|
|
.word ov01_0232FE1C
|
|
.word ov01_0232FECC
|
|
.word ov01_0232FEEC
|
|
.word ov01_0232FEF0
|
|
.word ov01_023300C4
|
|
.word ov01_0233019C
|
|
.word ov01_023301CC
|
|
.global ov01_0233B090
|
|
ov01_0233B090:
|
|
.byte 0x42, 0x41, 0x43, 0x4B, 0x2F, 0x65, 0x78, 0x70
|
|
.byte 0x62, 0x61, 0x63, 0x6B, 0x2E, 0x62, 0x67, 0x70, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B0A4
|
|
ov01_0233B0A4:
|
|
.byte 0x47, 0x52, 0x4F, 0x55
|
|
.byte 0x4E, 0x44, 0x2F, 0x73, 0x31, 0x38, 0x70, 0x30, 0x31, 0x61, 0x34, 0x2E, 0x77, 0x61, 0x6E, 0x00
|
|
.global ov01_0233B0B8
|
|
ov01_0233B0B8:
|
|
.byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x73, 0x31, 0x38, 0x70, 0x30, 0x31, 0x61, 0x32, 0x2E
|
|
.byte 0x77, 0x61, 0x6E, 0x00
|
|
.global ov01_0233B0CC
|
|
ov01_0233B0CC:
|
|
.byte 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x73, 0x31, 0x38, 0x70, 0x30
|
|
.byte 0x31, 0x61, 0x33, 0x2E, 0x77, 0x61, 0x6E, 0x00
|
|
.global ov01_0233B0E0
|
|
ov01_0233B0E0:
|
|
.byte 0x0D, 0x00, 0x00, 0x00
|
|
.word ov01_02330224
|
|
.word ov01_02330594
|
|
.word ov01_023306DC
|
|
.word ov01_023306FC
|
|
.word ov01_02330700
|
|
.word ov01_023309F4
|
|
.word ov01_02330ACC
|
|
.word ov01_02330D58
|
|
.global ov01_0233B104
|
|
ov01_0233B104:
|
|
.byte 0x47, 0x52, 0x4F, 0x55
|
|
.byte 0x4E, 0x44, 0x2F, 0x73, 0x31, 0x38, 0x70, 0x30, 0x31, 0x61, 0x31, 0x2E, 0x77, 0x61, 0x6E, 0x00
|
|
.global ov01_0233B118
|
|
ov01_0233B118:
|
|
.byte 0x42, 0x41, 0x43, 0x4B, 0x2F, 0x73, 0x31, 0x38, 0x70, 0x30, 0x31, 0x61, 0x2E, 0x62, 0x67, 0x70
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global PRINTS_STRINGS
|
|
PRINTS_STRINGS:
|
|
.byte 0x61, 0x73, 0x31, 0x30, 0x36, 0x00, 0x00, 0x00
|
|
.global ov01_0233B134
|
|
ov01_0233B134:
|
|
.byte 0x61, 0x73, 0x30, 0x39
|
|
.byte 0x37, 0x00, 0x00, 0x00
|
|
.global ov01_0233B13C
|
|
ov01_0233B13C:
|
|
.byte 0x61, 0x73, 0x31, 0x30, 0x35, 0x00, 0x00, 0x00
|
|
.global ov01_0233B144
|
|
ov01_0233B144:
|
|
.byte 0x61, 0x73, 0x31, 0x30
|
|
.byte 0x37, 0x00, 0x00, 0x00
|
|
.global ov01_0233B14C
|
|
ov01_0233B14C:
|
|
.byte 0x61, 0x73, 0x31, 0x30, 0x33, 0x00, 0x00, 0x00
|
|
.global ov01_0233B154
|
|
ov01_0233B154:
|
|
.byte 0x61, 0x73, 0x31, 0x30
|
|
.byte 0x32, 0x00, 0x00, 0x00
|
|
.global ov01_0233B15C
|
|
ov01_0233B15C:
|
|
.byte 0x61, 0x73, 0x30, 0x39, 0x38, 0x00, 0x00, 0x00
|
|
.global ov01_0233B164
|
|
ov01_0233B164:
|
|
.byte 0x61, 0x73, 0x30, 0x37
|
|
.byte 0x32, 0x00, 0x00, 0x00
|
|
.global ov01_0233B16C
|
|
ov01_0233B16C:
|
|
.byte 0x61, 0x73, 0x30, 0x39, 0x36, 0x00, 0x00, 0x00
|
|
.global ov01_0233B174
|
|
ov01_0233B174:
|
|
.byte 0x61, 0x73, 0x30, 0x39
|
|
.byte 0x35, 0x00, 0x00, 0x00
|
|
.global ov01_0233B17C
|
|
ov01_0233B17C:
|
|
.byte 0x61, 0x73, 0x30, 0x39, 0x34, 0x00, 0x00, 0x00
|
|
.global ov01_0233B184
|
|
ov01_0233B184:
|
|
.byte 0x61, 0x73, 0x30, 0x38
|
|
.byte 0x32, 0x00, 0x00, 0x00
|
|
.global ov01_0233B18C
|
|
ov01_0233B18C:
|
|
.byte 0x61, 0x73, 0x30, 0x35, 0x34, 0x00, 0x00, 0x00
|
|
.global ov01_0233B194
|
|
ov01_0233B194:
|
|
.byte 0x61, 0x73, 0x30, 0x38
|
|
.byte 0x31, 0x00, 0x00, 0x00
|
|
.global ov01_0233B19C
|
|
ov01_0233B19C:
|
|
.byte 0x61, 0x73, 0x30, 0x37, 0x39, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1A4
|
|
ov01_0233B1A4:
|
|
.byte 0x61, 0x73, 0x30, 0x37
|
|
.byte 0x37, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1AC
|
|
ov01_0233B1AC:
|
|
.byte 0x61, 0x73, 0x30, 0x37, 0x36, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1B4
|
|
ov01_0233B1B4:
|
|
.byte 0x61, 0x73, 0x30, 0x37
|
|
.byte 0x34, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1BC
|
|
ov01_0233B1BC:
|
|
.byte 0x61, 0x73, 0x30, 0x37, 0x33, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1C4
|
|
ov01_0233B1C4:
|
|
.byte 0x61, 0x73, 0x30, 0x33
|
|
.byte 0x31, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1CC
|
|
ov01_0233B1CC:
|
|
.byte 0x61, 0x73, 0x30, 0x37, 0x31, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1D4
|
|
ov01_0233B1D4:
|
|
.byte 0x61, 0x73, 0x30, 0x36
|
|
.byte 0x38, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1DC
|
|
ov01_0233B1DC:
|
|
.byte 0x61, 0x73, 0x30, 0x36, 0x37, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1E4
|
|
ov01_0233B1E4:
|
|
.byte 0x61, 0x73, 0x30, 0x36
|
|
.byte 0x36, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1EC
|
|
ov01_0233B1EC:
|
|
.byte 0x61, 0x73, 0x30, 0x36, 0x34, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1F4
|
|
ov01_0233B1F4:
|
|
.byte 0x61, 0x73, 0x30, 0x36
|
|
.byte 0x30, 0x00, 0x00, 0x00
|
|
.global ov01_0233B1FC
|
|
ov01_0233B1FC:
|
|
.byte 0x61, 0x73, 0x30, 0x35, 0x39, 0x00, 0x00, 0x00
|
|
.global ov01_0233B204
|
|
ov01_0233B204:
|
|
.byte 0x61, 0x73, 0x30, 0x30
|
|
.byte 0x31, 0x00, 0x00, 0x00
|
|
.global ov01_0233B20C
|
|
ov01_0233B20C:
|
|
.byte 0x61, 0x73, 0x30, 0x35, 0x36, 0x00, 0x00, 0x00
|
|
.global ov01_0233B214
|
|
ov01_0233B214:
|
|
.byte 0x61, 0x73, 0x30, 0x35
|
|
.byte 0x33, 0x00, 0x00, 0x00
|
|
.global ov01_0233B21C
|
|
ov01_0233B21C:
|
|
.byte 0x61, 0x73, 0x30, 0x35, 0x32, 0x00, 0x00, 0x00
|
|
.global ov01_0233B224
|
|
ov01_0233B224:
|
|
.byte 0x61, 0x73, 0x30, 0x35
|
|
.byte 0x31, 0x00, 0x00, 0x00
|
|
.global ov01_0233B22C
|
|
ov01_0233B22C:
|
|
.byte 0x61, 0x73, 0x30, 0x35, 0x30, 0x00, 0x00, 0x00
|
|
.global ov01_0233B234
|
|
ov01_0233B234:
|
|
.byte 0x61, 0x73, 0x30, 0x34
|
|
.byte 0x39, 0x00, 0x00, 0x00
|
|
.global ov01_0233B23C
|
|
ov01_0233B23C:
|
|
.byte 0x61, 0x73, 0x30, 0x34, 0x38, 0x00, 0x00, 0x00
|
|
.global ov01_0233B244
|
|
ov01_0233B244:
|
|
.byte 0x61, 0x73, 0x30, 0x34
|
|
.byte 0x37, 0x00, 0x00, 0x00
|
|
.global ov01_0233B24C
|
|
ov01_0233B24C:
|
|
.byte 0x61, 0x73, 0x30, 0x34, 0x36, 0x00, 0x00, 0x00
|
|
.global ov01_0233B254
|
|
ov01_0233B254:
|
|
.byte 0x61, 0x73, 0x30, 0x34
|
|
.byte 0x34, 0x00, 0x00, 0x00
|
|
.global ov01_0233B25C
|
|
ov01_0233B25C:
|
|
.byte 0x61, 0x73, 0x30, 0x34, 0x33, 0x00, 0x00, 0x00
|
|
.global ov01_0233B264
|
|
ov01_0233B264:
|
|
.byte 0x61, 0x73, 0x30, 0x34
|
|
.byte 0x31, 0x00, 0x00, 0x00
|
|
.global ov01_0233B26C
|
|
ov01_0233B26C:
|
|
.byte 0x61, 0x73, 0x30, 0x33, 0x38, 0x00, 0x00, 0x00
|
|
.global ov01_0233B274
|
|
ov01_0233B274:
|
|
.byte 0x61, 0x73, 0x30, 0x33
|
|
.byte 0x35, 0x00, 0x00, 0x00
|
|
.global ov01_0233B27C
|
|
ov01_0233B27C:
|
|
.byte 0x61, 0x73, 0x30, 0x33, 0x34, 0x00, 0x00, 0x00
|
|
.global ov01_0233B284
|
|
ov01_0233B284:
|
|
.byte 0x61, 0x73, 0x30, 0x38
|
|
.byte 0x38, 0x00, 0x00, 0x00
|
|
.global ov01_0233B28C
|
|
ov01_0233B28C:
|
|
.byte 0x61, 0x73, 0x30, 0x32, 0x36, 0x00, 0x00, 0x00
|
|
.global ov01_0233B294
|
|
ov01_0233B294:
|
|
.byte 0x61, 0x73, 0x30, 0x32
|
|
.byte 0x34, 0x00, 0x00, 0x00
|
|
.global ov01_0233B29C
|
|
ov01_0233B29C:
|
|
.byte 0x61, 0x73, 0x30, 0x32, 0x33, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2A4
|
|
ov01_0233B2A4:
|
|
.byte 0x61, 0x73, 0x30, 0x31
|
|
.byte 0x39, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2AC
|
|
ov01_0233B2AC:
|
|
.byte 0x61, 0x73, 0x30, 0x31, 0x37, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2B4
|
|
ov01_0233B2B4:
|
|
.byte 0x61, 0x73, 0x30, 0x31
|
|
.byte 0x35, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2BC
|
|
ov01_0233B2BC:
|
|
.byte 0x61, 0x73, 0x30, 0x31, 0x34, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2C4
|
|
ov01_0233B2C4:
|
|
.byte 0x61, 0x73, 0x30, 0x31
|
|
.byte 0x33, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2CC
|
|
ov01_0233B2CC:
|
|
.byte 0x61, 0x73, 0x30, 0x31, 0x32, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2D4
|
|
ov01_0233B2D4:
|
|
.byte 0x61, 0x73, 0x30, 0x30
|
|
.byte 0x38, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2DC
|
|
ov01_0233B2DC:
|
|
.byte 0x61, 0x73, 0x30, 0x30, 0x37, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2E4
|
|
ov01_0233B2E4:
|
|
.byte 0x61, 0x73, 0x30, 0x30
|
|
.byte 0x36, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2EC
|
|
ov01_0233B2EC:
|
|
.byte 0x61, 0x73, 0x30, 0x30, 0x35, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2F4
|
|
ov01_0233B2F4:
|
|
.byte 0x61, 0x73, 0x30, 0x30
|
|
.byte 0x33, 0x00, 0x00, 0x00
|
|
.global ov01_0233B2FC
|
|
ov01_0233B2FC:
|
|
.byte 0x61, 0x73, 0x30, 0x30, 0x32, 0x00, 0x00, 0x00
|
|
.global ov01_0233B304
|
|
ov01_0233B304:
|
|
.byte 0x61, 0x73, 0x31, 0x30
|
|
.byte 0x34, 0x00, 0x00, 0x00
|
|
.global ov01_0233B30C
|
|
ov01_0233B30C:
|
|
.byte 0x61, 0x73, 0x31, 0x30, 0x38, 0x00, 0x00, 0x00
|
|
.global PRINTS_STRUCT
|
|
PRINTS_STRUCT:
|
|
.byte 0x1B, 0x01, 0x00, 0x00
|
|
.global ov01_0233B318
|
|
ov01_0233B318:
|
|
.word ov01_0233B204
|
|
.byte 0x9F, 0x00, 0x00, 0x00
|
|
.word ov01_0233B2FC
|
|
.byte 0x85, 0x00, 0x00, 0x00
|
|
.word ov01_0233B2F4
|
|
.byte 0x48, 0x01, 0x00, 0x00
|
|
.word ov01_0233B2EC
|
|
.byte 0x49, 0x01, 0x00, 0x00
|
|
.word ov01_0233B2E4
|
|
.byte 0xAE, 0x01, 0x00, 0x00
|
|
.word ov01_0233B2DC
|
|
.byte 0xA0, 0x00, 0x00, 0x00
|
|
.word ov01_0233B2D4
|
|
.byte 0x8F, 0x00, 0x00, 0x00
|
|
.word ov01_0233B2CC
|
|
.byte 0x08, 0x00, 0x00, 0x00
|
|
.word ov01_0233B2C4
|
|
.byte 0x09, 0x00, 0x00, 0x00
|
|
.word ov01_0233B2BC
|
|
.byte 0x18, 0x01, 0x00, 0x00
|
|
.word ov01_0233B2B4
|
|
.byte 0xAB, 0x01, 0x00, 0x00
|
|
.word ov01_0233B2AC
|
|
.byte 0xE8, 0x01, 0x00, 0x00
|
|
.word ov01_0233B2A4
|
|
.byte 0x1A, 0x01, 0x00, 0x00
|
|
.word ov01_0233B29C
|
|
.byte 0x19, 0x01, 0x00, 0x00
|
|
.word ov01_0233B294
|
|
.byte 0x07, 0x00, 0x00, 0x00
|
|
.word ov01_0233B28C
|
|
.byte 0x98, 0x00, 0x00, 0x00
|
|
.word ov01_0233B1C4
|
|
.byte 0xA8, 0x01, 0x00, 0x00
|
|
.word ov01_0233B27C
|
|
.byte 0xA6, 0x01, 0x00, 0x00
|
|
.word ov01_0233B274
|
|
.byte 0x34, 0x00, 0x00, 0x00
|
|
.word ov01_0233B26C
|
|
.byte 0x1F, 0x01, 0x00, 0x00
|
|
.word ov01_0233B264
|
|
.byte 0x9D, 0x00, 0x00, 0x00
|
|
.word ov01_0233B25C
|
|
.byte 0x1D, 0x01, 0x00, 0x00
|
|
.word ov01_0233B254
|
|
.byte 0xA7, 0x01, 0x00, 0x00
|
|
.word ov01_0233B24C
|
|
.byte 0x19, 0x00, 0x00, 0x00
|
|
.word ov01_0233B244
|
|
.byte 0xA9, 0x01, 0x00, 0x00
|
|
.word ov01_0233B23C
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.word ov01_0233B234
|
|
.byte 0x9B, 0x00, 0x00, 0x00
|
|
.word ov01_0233B22C
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.word ov01_0233B224
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.word ov01_0233B21C
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.word ov01_0233B214
|
|
.byte 0x99, 0x00, 0x00, 0x00
|
|
.word ov01_0233B18C
|
|
.byte 0x35, 0x00, 0x00, 0x00
|
|
.word ov01_0233B20C
|
|
.byte 0xAD, 0x01, 0x00, 0x00
|
|
.word ov01_0233B1FC
|
|
.byte 0xAC, 0x01, 0x00, 0x00
|
|
.word ov01_0233B1F4
|
|
.byte 0x9C, 0x00, 0x00, 0x00
|
|
.word ov01_0233B1EC
|
|
.byte 0x1E, 0x01, 0x00, 0x00
|
|
.word ov01_0233B1E4
|
|
.byte 0x9A, 0x00, 0x00, 0x00
|
|
.word ov01_0233B1DC
|
|
.byte 0xAA, 0x01, 0x00, 0x00
|
|
.word ov01_0233B1D4
|
|
.byte 0x1A, 0x00, 0x00, 0x00
|
|
.word ov01_0233B1CC
|
|
.byte 0x20, 0x01, 0x00, 0x00
|
|
.word ov01_0233B164
|
|
.byte 0x05, 0x00, 0x00, 0x00
|
|
.word ov01_0233B1BC
|
|
.byte 0x06, 0x00, 0x00, 0x00
|
|
.word ov01_0233B1B4
|
|
.byte 0x1C, 0x01, 0x00, 0x00
|
|
.word ov01_0233B1AC
|
|
.byte 0x9E, 0x00, 0x00, 0x00
|
|
.word ov01_0233B1A4
|
|
.byte 0x26, 0x00, 0x00, 0x00
|
|
.word ov01_0233B19C
|
|
.byte 0x02, 0x01, 0x00, 0x00
|
|
.word ov01_0233B194
|
|
.byte 0xB6, 0x01, 0x00, 0x00
|
|
.word ov01_0233B184
|
|
.byte 0x03, 0x01, 0x00, 0x00
|
|
.word ov01_0233B284
|
|
.byte 0xE9, 0x01, 0x00, 0x00
|
|
.word ov01_0233B17C
|
|
.byte 0xEA, 0x01, 0x00, 0x00
|
|
.word ov01_0233B174
|
|
.byte 0xB7, 0x01, 0x00, 0x00
|
|
.word ov01_0233B16C
|
|
.byte 0xB8, 0x01, 0x00, 0x00
|
|
.word ov01_0233B134
|
|
.byte 0x25, 0x00, 0x00, 0x00
|
|
.word ov01_0233B15C
|
|
.byte 0x86, 0x00, 0x00, 0x00
|
|
.word ov01_0233B154
|
|
.byte 0x87, 0x00, 0x00, 0x00
|
|
.word ov01_0233B14C
|
|
.byte 0x88, 0x00, 0x00, 0x00
|
|
.word ov01_0233B304
|
|
.byte 0xC4, 0x00, 0x00, 0x00
|
|
.word ov01_0233B13C
|
|
.byte 0xC5, 0x00, 0x00, 0x00
|
|
.word PRINTS_STRINGS
|
|
.byte 0x00, 0x02, 0x00, 0x00
|
|
.word ov01_0233B144
|
|
.byte 0x01, 0x02, 0x00, 0x00
|
|
.word ov01_0233B30C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov01_0233B204
|
|
.global ov01_0233B504
|
|
ov01_0233B504:
|
|
.byte 0x72, 0x6F, 0x6D, 0x30
|
|
.byte 0x3A, 0x47, 0x52, 0x4F, 0x55, 0x4E, 0x44, 0x2F, 0x25, 0x73, 0x2E, 0x77, 0x61, 0x6E, 0x00, 0x00
|
|
.global MAIN_MENU_WINDOW_PARAMS_1
|
|
MAIN_MENU_WINDOW_PARAMS_1:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global MAIN_MENU_WINDOW_PARAMS_2
|
|
MAIN_MENU_WINDOW_PARAMS_2:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global MAIN_MENU_WINDOW_PARAMS_3
|
|
MAIN_MENU_WINDOW_PARAMS_3:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x12, 0x1C, 0x04, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global MAIN_MENU_WINDOW_PARAMS_4
|
|
MAIN_MENU_WINDOW_PARAMS_4:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B558
|
|
ov01_0233B558:
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.word CreateMainMenus
|
|
.word ov01_023316CC
|
|
.word ov01_02331784
|
|
.global CONTINUE_CHOICE
|
|
CONTINUE_CHOICE:
|
|
#ifdef JAPAN
|
|
.byte 0x08, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x04, 0x00, 0x00
|
|
#else
|
|
.byte 0xE0, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xE1, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0xE6, 0x01, 0x00, 0x00
|
|
#endif
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.global SUBMENU
|
|
SUBMENU:
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
#ifdef JAPAN
|
|
.byte 0xDD, 0x03, 0xDE, 0x03, 0x14, 0x00, 0x00, 0x00, 0xFD, 0x03, 0xFE, 0x03
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0xE7, 0x03, 0xE8, 0x03, 0x09, 0x00, 0x00, 0x00, 0xE9, 0x03, 0xEA, 0x03
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0xE5, 0x03, 0xE6, 0x03
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0xF5, 0x03, 0xF6, 0x03, 0x21, 0x00, 0x00, 0x00, 0x05, 0x04, 0x06, 0x04
|
|
#else
|
|
.byte 0xB5, 0x01, 0xB6, 0x01, 0x14, 0x00, 0x00, 0x00, 0xD5, 0x01, 0xD6, 0x01
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0xBF, 0x01, 0xC0, 0x01, 0x09, 0x00, 0x00, 0x00, 0xC1, 0x01, 0xC2, 0x01
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0xDB, 0x01, 0xDC, 0x01, 0x07, 0x00, 0x00, 0x00, 0xBD, 0x01, 0xBE, 0x01
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0xCD, 0x01, 0xCE, 0x01, 0x21, 0x00, 0x00, 0x00, 0xDD, 0x01, 0xDE, 0x01
|
|
#endif
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global MAIN_MENU
|
|
MAIN_MENU:
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
#ifdef JAPAN
|
|
.byte 0xDD, 0x03, 0xDE, 0x03
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0xE5, 0x03, 0xE6, 0x03, 0x03, 0x00, 0x00, 0x00, 0xDF, 0x03, 0xE0, 0x03
|
|
.byte 0x1A, 0x00, 0x00, 0x00, 0xE1, 0x03, 0xE2, 0x03, 0x1B, 0x00, 0x00, 0x00, 0xE1, 0x03, 0xE2, 0x03
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0xEB, 0x03, 0xEC, 0x03, 0x0B, 0x00, 0x00, 0x00, 0xED, 0x03, 0xEE, 0x03
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0xEF, 0x03, 0xF0, 0x03, 0x0D, 0x00, 0x00, 0x00, 0xE3, 0x03, 0xE4, 0x03
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0xF1, 0x03, 0xF2, 0x03, 0x0F, 0x00, 0x00, 0x00, 0xF3, 0x03, 0xF4, 0x03
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0xF7, 0x03, 0xF8, 0x03, 0x12, 0x00, 0x00, 0x00, 0xF9, 0x03, 0xFA, 0x03
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0xFB, 0x03, 0xFC, 0x03, 0x19, 0x00, 0x00, 0x00, 0xDB, 0x03, 0xDC, 0x03
|
|
.byte 0x1C, 0x00, 0x00, 0x00, 0x0A, 0x04, 0x0C, 0x04, 0x1D, 0x00, 0x00, 0x00, 0x0B, 0x04, 0x0C, 0x04
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x0A, 0x04, 0x0D, 0x04, 0x1F, 0x00, 0x00, 0x00, 0x0B, 0x04, 0x0D, 0x04
|
|
#else
|
|
.byte 0xB5, 0x01, 0xB6, 0x01
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0xBD, 0x01, 0xBE, 0x01, 0x03, 0x00, 0x00, 0x00, 0xB7, 0x01, 0xB8, 0x01
|
|
.byte 0x1A, 0x00, 0x00, 0x00, 0xB9, 0x01, 0xBA, 0x01, 0x1B, 0x00, 0x00, 0x00, 0xB9, 0x01, 0xBA, 0x01
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0xC3, 0x01, 0xC4, 0x01, 0x0B, 0x00, 0x00, 0x00, 0xC5, 0x01, 0xC6, 0x01
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0xC7, 0x01, 0xC8, 0x01, 0x0D, 0x00, 0x00, 0x00, 0xBB, 0x01, 0xBC, 0x01
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0xC9, 0x01, 0xCA, 0x01, 0x0F, 0x00, 0x00, 0x00, 0xCB, 0x01, 0xCC, 0x01
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0xCF, 0x01, 0xD0, 0x01, 0x12, 0x00, 0x00, 0x00, 0xD1, 0x01, 0xD2, 0x01
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0xD3, 0x01, 0xD4, 0x01, 0x19, 0x00, 0x00, 0x00, 0xB3, 0x01, 0xB4, 0x01
|
|
.byte 0x1C, 0x00, 0x00, 0x00, 0xE2, 0x01, 0xE4, 0x01, 0x1D, 0x00, 0x00, 0x00, 0xE3, 0x01, 0xE4, 0x01
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0xE2, 0x01, 0xE5, 0x01, 0x1F, 0x00, 0x00, 0x00, 0xE3, 0x01, 0xE5, 0x01
|
|
#endif
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B670
|
|
ov01_0233B670:
|
|
.byte 0x5B, 0x53, 0x3A, 0x31, 0x33, 0x5D, 0x00, 0x00
|
|
.global ov01_0233B678
|
|
ov01_0233B678:
|
|
.byte 0x5B, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3A, 0x30, 0x5D, 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F
|
|
.byte 0x53, 0x45, 0x54, 0x3A, 0x32, 0x36, 0x5D, 0x5B, 0x43, 0x53, 0x3A, 0x44, 0x5D, 0x5B, 0x73, 0x74
|
|
.byte 0x72, 0x69, 0x6E, 0x67, 0x3A, 0x31, 0x5D, 0x5B, 0x43, 0x52, 0x5D, 0x00
|
|
.global ov01_0233B6A4
|
|
ov01_0233B6A4:
|
|
.byte 0x5B, 0x4D, 0x3A, 0x53
|
|
#ifdef JAPAN
|
|
.byte 0x33, 0x5D, 0x00, 0x00
|
|
#else
|
|
.byte 0x33, 0x5D, 0x5B, 0x53, 0x3A, 0x35, 0x5D, 0x00
|
|
#endif
|
|
.global ov01_0233B6B0
|
|
ov01_0233B6B0:
|
|
.byte 0x5B, 0x4D, 0x3A, 0x52
|
|
#ifdef JAPAN
|
|
.byte 0x37, 0x5D, 0x00, 0x00
|
|
#else
|
|
.byte 0x37, 0x5D, 0x5B, 0x53
|
|
.byte 0x3A, 0x35, 0x5D, 0x00
|
|
#endif
|
|
.global ov01_0233B6BC
|
|
ov01_0233B6BC:
|
|
.byte 0x5B, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3A, 0x30, 0x5D, 0x5B, 0x43
|
|
.byte 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x32, 0x36, 0x5D, 0x5B, 0x43, 0x53, 0x3A, 0x45
|
|
.byte 0x5D, 0x5B, 0x73, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3A, 0x31, 0x5D, 0x5B, 0x43, 0x52, 0x5D, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x50, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.global ov01_0233B700
|
|
ov01_0233B700:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global ov01_0233B70C
|
|
ov01_0233B70C:
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.word ov01_023329F8
|
|
.word ov01_02332ACC
|
|
.global MAIN_MENU_WINDOW_PARAMS_5
|
|
MAIN_MENU_WINDOW_PARAMS_5:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x1C, 0x0E, 0x00, 0xFE, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global MAIN_MENU_WINDOW_PARAMS_6
|
|
MAIN_MENU_WINDOW_PARAMS_6:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x12, 0x14, 0x04, 0x00, 0xFE, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global MAIN_MENU_WINDOW_PARAMS_7
|
|
MAIN_MENU_WINDOW_PARAMS_7:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x18, 0x12, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global MAIN_MENU_ITEMS_CONFIRM
|
|
MAIN_MENU_ITEMS_CONFIRM:
|
|
#ifdef JAPAN
|
|
.byte 0x21, 0x24, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x22, 0x24, 0x00, 0x00
|
|
#else
|
|
.byte 0xF7, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00
|
|
#endif
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.global ov01_0233B764
|
|
ov01_0233B764:
|
|
.byte 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.global ov01_0233B798
|
|
ov01_0233B798:
|
|
.byte 0x63, 0x6F, 0x6E, 0x74, 0x69, 0x6E, 0x75, 0x65, 0x20, 0x69, 0x6E, 0x66, 0x6F, 0x20, 0x25, 0x64
|
|
.byte 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x20, 0x25, 0x64, 0x0A
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B7BC
|
|
ov01_0233B7BC:
|
|
.byte 0x5B, 0x42, 0x41, 0x52, 0x5D, 0x00, 0x00, 0x00
|
|
.global ov01_0233B7C4
|
|
ov01_0233B7C4:
|
|
.byte 0x5B, 0x74, 0x69, 0x6D
|
|
.byte 0x65, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00, 0x00
|
|
.global MAIN_MENU_WINDOW_PARAMS_8
|
|
MAIN_MENU_WINDOW_PARAMS_8:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x1C, 0x00
|
|
.byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B7E0
|
|
ov01_0233B7E0:
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.word ov01_023336A0
|
|
.word ov01_02333768
|
|
.word ov01_02333794
|
|
.global MAIN_MENU_WINDOW_PARAMS_9
|
|
MAIN_MENU_WINDOW_PARAMS_9:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00
|
|
.byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B800
|
|
ov01_0233B800:
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.word ov01_02333994
|
|
.word ov01_023339F8
|
|
.word ov01_02333A34
|
|
.global MAIN_DEBUG_MENU_ITEMS_1
|
|
MAIN_DEBUG_MENU_ITEMS_1:
|
|
#ifdef JAPAN
|
|
#define MAIN_DEBUG_MENU_1_OFFSET 0x228
|
|
#else
|
|
#define MAIN_DEBUG_MENU_1_OFFSET 0
|
|
#endif
|
|
.word 0x1EB + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.word 0x1EC + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.word 0x1EE + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x05, 0x00, 0x00, 0x00
|
|
.word 0x1EF + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x06, 0x00, 0x00, 0x00
|
|
.word 0x1F0 + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x07, 0x00, 0x00, 0x00
|
|
.word 0x1F1 + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x08, 0x00, 0x00, 0x00
|
|
.word 0x1F2 + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x09, 0x00, 0x00, 0x00
|
|
.word 0x1F3 + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x0A, 0x00, 0x00, 0x00
|
|
.word 0x1F4 + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x0B, 0x00, 0x00, 0x00
|
|
.word 0x1F5 + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x0C, 0x00, 0x00, 0x00
|
|
.word 0x1F6 + MAIN_DEBUG_MENU_1_OFFSET
|
|
.byte 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global MAIN_MENU_WINDOW_PARAMS_10
|
|
MAIN_MENU_WINDOW_PARAMS_10:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00
|
|
.byte 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B880
|
|
ov01_0233B880:
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.word ov01_02333C20
|
|
.word ov01_02333C7C
|
|
.word ov01_02333CB8
|
|
.global MAIN_DEBUG_MENU_ITEMS_2
|
|
MAIN_DEBUG_MENU_ITEMS_2:
|
|
#if defined(EUROPE)
|
|
#define MAIN_DEBUG_MENU_2_OFFSET 2
|
|
#elif defined(JAPAN)
|
|
#define MAIN_DEBUG_MENU_2_OFFSET -0x379B
|
|
#else
|
|
#define MAIN_DEBUG_MENU_2_OFFSET 0
|
|
#endif
|
|
.word 0x3C86 + MAIN_DEBUG_MENU_2_OFFSET
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.word 0x3C87 + MAIN_DEBUG_MENU_2_OFFSET
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.word 0x3C88 + MAIN_DEBUG_MENU_2_OFFSET
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.word 0x3C89 + MAIN_DEBUG_MENU_2_OFFSET
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.word 0x3C84 + MAIN_DEBUG_MENU_2_OFFSET
|
|
.byte 0x06, 0x00, 0x00, 0x00
|
|
.word 0x3C85 + MAIN_DEBUG_MENU_2_OFFSET
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.global ov01_0233B8C8
|
|
ov01_0233B8C8:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x0C, 0x1C, 0x07, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B8D8
|
|
ov01_0233B8D8:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x1C, 0x14, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B8E8
|
|
ov01_0233B8E8:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x1C, 0x08, 0x01, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233B8F8
|
|
ov01_0233B8F8:
|
|
#ifdef JAPAN
|
|
.byte 0xDC, 0x3B, 0xDD, 0x3B, 0xDE, 0x3B, 0xDF, 0x3B
|
|
.byte 0xE0, 0x3B, 0xE1, 0x3B, 0xE2, 0x3B, 0xE3, 0x3B, 0xE4, 0x3B, 0xE5, 0x3B, 0xE6, 0x3B, 0xE7, 0x3B
|
|
.byte 0xE8, 0x3B, 0xE9, 0x3B, 0xEA, 0x3B, 0xEB, 0x3B, 0xEC, 0x3B, 0xED, 0x3B, 0xEE, 0x3B, 0xEF, 0x3B
|
|
.byte 0xF0, 0x3B, 0xF1, 0x3B, 0xF2, 0x3B, 0xF3, 0x3B, 0xF4, 0x3B, 0xF5, 0x3B, 0xF6, 0x3B, 0xF7, 0x3B
|
|
.byte 0xF8, 0x3B, 0xF9, 0x3B, 0xFA, 0x3B, 0xFB, 0x3B, 0xFC, 0x3B, 0xFD, 0x3B, 0xFE, 0x3B, 0xFF, 0x3B
|
|
.byte 0x00, 0x3C, 0x01, 0x3C, 0x02, 0x3C, 0x03, 0x3C, 0x04, 0x3C, 0x05, 0x3C, 0x06, 0x3C, 0x07, 0x3C
|
|
.byte 0x08, 0x3C, 0x09, 0x3C, 0x0A, 0x3C, 0x0B, 0x3C, 0x0C, 0x3C, 0x0D, 0x3C, 0x0E, 0x3C, 0x0F, 0x3C
|
|
.byte 0x10, 0x3C, 0x11, 0x3C, 0x12, 0x3C, 0x13, 0x3C, 0x14, 0x3C, 0x15, 0x3C, 0x16, 0x3C, 0x17, 0x3C
|
|
.byte 0x18, 0x3C, 0x19, 0x3C, 0x1A, 0x3C, 0x1B, 0x3C, 0x1C, 0x3C, 0x1D, 0x3C, 0x1E, 0x3C, 0x1F, 0x3C
|
|
.byte 0x20, 0x3C, 0x21, 0x3C, 0x22, 0x3C, 0x23, 0x3C, 0x24, 0x3C, 0x25, 0x3C, 0x26, 0x3C, 0x27, 0x3C
|
|
.byte 0x28, 0x3C, 0x29, 0x3C, 0x2A, 0x3C, 0x2B, 0x3C, 0x2C, 0x3C, 0x2D, 0x3C, 0x2E, 0x3C, 0x2F, 0x3C
|
|
.byte 0x30, 0x3C, 0x31, 0x3C, 0x32, 0x3C, 0x33, 0x3C, 0x34, 0x3C, 0x35, 0x3C, 0x36, 0x3C, 0x37, 0x3C
|
|
.byte 0x38, 0x3C, 0x39, 0x3C, 0x3A, 0x3C, 0x3B, 0x3C, 0x3C, 0x3C, 0x3D, 0x3C, 0x3E, 0x3C, 0x3F, 0x3C
|
|
.byte 0x40, 0x3C, 0x41, 0x3C, 0x42, 0x3C, 0x43, 0x3C, 0x44, 0x3C, 0x45, 0x3C, 0x46, 0x3C, 0x47, 0x3C
|
|
.byte 0x48, 0x3C, 0x49, 0x3C, 0x4A, 0x3C, 0x4B, 0x3C, 0x4C, 0x3C, 0x4D, 0x3C, 0x4E, 0x3C, 0x4F, 0x3C
|
|
.byte 0x50, 0x3C, 0x51, 0x3C, 0x52, 0x3C, 0x53, 0x3C, 0x54, 0x3C, 0x55, 0x3C, 0x56, 0x3C, 0x57, 0x3C
|
|
.byte 0x58, 0x3C, 0x59, 0x3C, 0x5A, 0x3C, 0x5B, 0x3C, 0x5C, 0x3C, 0x5D, 0x3C, 0x5E, 0x3C, 0x5F, 0x3C
|
|
.byte 0x60, 0x3C, 0x61, 0x3C, 0x62, 0x3C, 0x63, 0x3C, 0x64, 0x3C, 0x65, 0x3C, 0x66, 0x3C, 0x67, 0x3C
|
|
.byte 0x68, 0x3C, 0x69, 0x3C, 0x6A, 0x3C, 0x6B, 0x3C, 0x6C, 0x3C, 0x6D, 0x3C, 0x6E, 0x3C, 0x6F, 0x3C
|
|
.byte 0x70, 0x3C, 0x71, 0x3C, 0x72, 0x3C, 0x73, 0x3C, 0x74, 0x3C, 0x75, 0x3C, 0x76, 0x3C, 0x77, 0x3C
|
|
.byte 0x78, 0x3C, 0x79, 0x3C, 0x7A, 0x3C, 0x7B, 0x3C, 0x7C, 0x3C, 0x7D, 0x3C, 0x7E, 0x3C, 0x7F, 0x3C
|
|
.byte 0x80, 0x3C, 0x81, 0x3C, 0x82, 0x3C, 0x83, 0x3C, 0x84, 0x3C, 0x85, 0x3C, 0x86, 0x3C, 0x87, 0x3C
|
|
.byte 0x88, 0x3C, 0x89, 0x3C, 0x8A, 0x3C, 0x8B, 0x3C, 0x8C, 0x3C, 0x8D, 0x3C, 0x8E, 0x3C, 0x8F, 0x3C
|
|
.byte 0x90, 0x3C, 0x91, 0x3C, 0x92, 0x3C, 0x93, 0x3C, 0x94, 0x3C, 0x95, 0x3C, 0x96, 0x3C, 0x97, 0x3C
|
|
.byte 0x98, 0x3C, 0x99, 0x3C, 0x9A, 0x3C, 0x9B, 0x3C, 0x9C, 0x3C, 0x9D, 0x3C, 0x9E, 0x3C, 0x9F, 0x3C
|
|
.byte 0xA0, 0x3C, 0xA1, 0x3C, 0xA2, 0x3C, 0xA3, 0x3C, 0xA4, 0x3C, 0xA5, 0x3C, 0xA6, 0x3C, 0xA7, 0x3C
|
|
.byte 0xA8, 0x3C, 0xA9, 0x3C, 0xAA, 0x3C, 0xAB, 0x3C, 0xAC, 0x3C, 0xAD, 0x3C, 0xAE, 0x3C, 0xAF, 0x3C
|
|
.byte 0xB0, 0x3C, 0xB1, 0x3C, 0xB2, 0x3C, 0xB3, 0x3C, 0xB4, 0x3C, 0xB5, 0x3C, 0xB6, 0x3C, 0xB7, 0x3C
|
|
.byte 0xB8, 0x3C, 0xB9, 0x3C, 0xBA, 0x3C, 0xBB, 0x3C, 0xBC, 0x3C, 0xBD, 0x3C, 0xBE, 0x3C, 0xBF, 0x3C
|
|
.byte 0xC0, 0x3C, 0xC1, 0x3C, 0xC2, 0x3C, 0xC3, 0x3C, 0xC4, 0x3C, 0xC5, 0x3C, 0xC6, 0x3C, 0xC7, 0x3C
|
|
.byte 0xC8, 0x3C, 0xC9, 0x3C, 0xCA, 0x3C, 0xCB, 0x3C, 0xCC, 0x3C, 0xCD, 0x3C, 0xCE, 0x3C, 0xCF, 0x3C
|
|
.byte 0xD0, 0x3C, 0xD1, 0x3C, 0xD2, 0x3C, 0xD3, 0x3C, 0xD4, 0x3C, 0xD5, 0x3C, 0xD6, 0x3C, 0xD7, 0x3C
|
|
#else
|
|
.byte 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00
|
|
.byte 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00
|
|
.byte 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00
|
|
.byte 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00
|
|
.byte 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00
|
|
.byte 0x29, 0x00, 0x2A, 0x00, 0x2B, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00
|
|
.byte 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00
|
|
.byte 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x40, 0x00
|
|
.byte 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00
|
|
.byte 0x49, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x4E, 0x00, 0x4F, 0x00, 0x50, 0x00
|
|
.byte 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00
|
|
.byte 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, 0x00, 0x5D, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x60, 0x00
|
|
.byte 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00
|
|
.byte 0x69, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x6C, 0x00, 0x6D, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x70, 0x00
|
|
.byte 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00
|
|
.byte 0x79, 0x00, 0x7A, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x7F, 0x00, 0x80, 0x00
|
|
.byte 0x81, 0x00, 0x82, 0x00, 0x83, 0x00, 0x84, 0x00, 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00
|
|
.byte 0x89, 0x00, 0x8A, 0x00, 0x8B, 0x00, 0x8C, 0x00, 0x8D, 0x00, 0x8E, 0x00, 0x8F, 0x00, 0x90, 0x00
|
|
.byte 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00, 0x95, 0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00
|
|
.byte 0x99, 0x00, 0x9A, 0x00, 0x9B, 0x00, 0x9C, 0x00, 0x9D, 0x00, 0x9E, 0x00, 0x9F, 0x00, 0xA0, 0x00
|
|
.byte 0xA1, 0x00, 0xA2, 0x00, 0xA3, 0x00, 0xA4, 0x00, 0xA5, 0x00, 0xA6, 0x00, 0xA7, 0x00, 0xA8, 0x00
|
|
.byte 0xA9, 0x00, 0xAA, 0x00, 0xAB, 0x00, 0xAC, 0x00, 0xAD, 0x00, 0xAE, 0x00, 0xAF, 0x00, 0xB0, 0x00
|
|
.byte 0xB1, 0x00, 0xB2, 0x00, 0xB3, 0x00, 0xB4, 0x00, 0xB5, 0x00, 0xB6, 0x00, 0xB7, 0x00, 0xB8, 0x00
|
|
.byte 0xB9, 0x00, 0xBA, 0x00, 0xBB, 0x00, 0xBC, 0x00, 0xBD, 0x00, 0xBE, 0x00, 0xBF, 0x00, 0xC0, 0x00
|
|
.byte 0xC1, 0x00, 0xC2, 0x00, 0xC3, 0x00, 0xC4, 0x00, 0xC5, 0x00, 0xC6, 0x00, 0xC7, 0x00, 0xC8, 0x00
|
|
.byte 0xC9, 0x00, 0xCA, 0x00, 0xCB, 0x00, 0xCC, 0x00, 0xCD, 0x00, 0xCE, 0x00, 0xCF, 0x00, 0xD0, 0x00
|
|
.byte 0xD1, 0x00, 0xD2, 0x00, 0xD3, 0x00, 0xD4, 0x00, 0xD5, 0x00, 0xD6, 0x00, 0xD7, 0x00, 0xD8, 0x00
|
|
.byte 0xD9, 0x00, 0xDA, 0x00, 0xDB, 0x00, 0xDC, 0x00, 0xDD, 0x00, 0xDE, 0x00, 0xDF, 0x00, 0xE0, 0x00
|
|
.byte 0xE1, 0x00, 0xE2, 0x00, 0xE3, 0x00, 0xE4, 0x00, 0xE5, 0x00, 0xE6, 0x00, 0xE7, 0x00, 0xE8, 0x00
|
|
.byte 0xE9, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xEE, 0x00, 0xEF, 0x00, 0xF0, 0x00
|
|
.byte 0xF1, 0x00, 0xF2, 0x00, 0xF3, 0x00, 0xF4, 0x00, 0xF5, 0x00, 0xF6, 0x00, 0xF7, 0x00, 0xF8, 0x00
|
|
.byte 0xF9, 0x00, 0xFA, 0x00, 0xFB, 0x00, 0xFC, 0x00
|
|
#endif
|
|
.global ov01_0233BAF0
|
|
ov01_0233BAF0:
|
|
.byte 0x25, 0x73, 0x00, 0x00
|
|
.global ov01_0233BAF4
|
|
ov01_0233BAF4:
|
|
.byte 0x5B, 0x43, 0x53, 0x3A
|
|
.byte 0x57, 0x5D, 0x25, 0x73, 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BB04
|
|
ov01_0233BB04:
|
|
.byte 0x5B, 0x4D, 0x3A, 0x54
|
|
.byte 0x32, 0x5D, 0x00, 0x00
|
|
.global ov01_0233BB0C
|
|
ov01_0233BB0C:
|
|
.byte 0x5B, 0x4D, 0x3A, 0x54, 0x33, 0x5D, 0x00, 0x00
|
|
.global ov01_0233BB14
|
|
ov01_0233BB14:
|
|
.byte 0x00, 0x80, 0xFF, 0xFF
|
|
.global ov01_0233BB18
|
|
ov01_0233BB18:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x03, 0x16, 0x03, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BB28
|
|
ov01_0233BB28:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.global ov01_0233BB38
|
|
ov01_0233BB38:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.global ov01_0233BB48
|
|
ov01_0233BB48:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x03, 0x07, 0x03, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BB58
|
|
ov01_0233BB58:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x1C, 0x0C, 0x01, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BB68
|
|
ov01_0233BB68:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x0A, 0x1C, 0x04, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BB78
|
|
ov01_0233BB78:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x1C, 0x06, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BB88
|
|
ov01_0233BB88:
|
|
#ifdef JAPAN
|
|
.byte 0xE7, 0x3C, 0xE8, 0x3C, 0xE9, 0x3C, 0xEA, 0x3C
|
|
.byte 0xEB, 0x3C, 0xEC, 0x3C, 0xED, 0x3C, 0xEE, 0x3C, 0xEF, 0x3C, 0xF0, 0x3C, 0xF1, 0x3C
|
|
.global ov01_0233BB9E
|
|
ov01_0233BB9E:
|
|
.byte 0xE7, 0x3C
|
|
.byte 0xE8, 0x3C, 0xE9, 0x3C, 0xEA, 0x3C, 0xEB, 0x3C, 0xEC, 0x3C, 0xED, 0x3C, 0xEE, 0x3C, 0xEF, 0x3C
|
|
.byte 0xF0, 0x3C, 0xF1, 0x3C
|
|
.global ov01_0233BBB4
|
|
ov01_0233BBB4:
|
|
.byte 0xE7, 0x3C, 0xE8, 0x3C, 0xE9, 0x3C, 0xEA, 0x3C, 0xEB, 0x3C, 0xEC, 0x3C
|
|
.byte 0xED, 0x3C, 0xEE, 0x3C, 0xEF, 0x3C, 0xF0, 0x3C, 0xF1, 0x3C
|
|
.global ov01_0233BBCA
|
|
ov01_0233BBCA:
|
|
.byte 0xE7, 0x3C, 0xE8, 0x3C, 0xE9, 0x3C
|
|
.byte 0xEA, 0x3C, 0xEB, 0x3C, 0xEC, 0x3C, 0xED, 0x3C, 0xEE, 0x3C, 0xEF, 0x3C, 0xF0, 0x3C, 0xE5, 0x3C
|
|
.byte 0xE6, 0x3C, 0x00, 0x00
|
|
#else
|
|
.byte 0x0C, 0x01, 0x0D, 0x01, 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01
|
|
.byte 0x14, 0x01, 0x15, 0x01, 0x16, 0x01
|
|
.global ov01_0233BB9E
|
|
ov01_0233BB9E:
|
|
.byte 0x0C, 0x01, 0x0D, 0x01, 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01
|
|
.byte 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01
|
|
.global ov01_0233BBB4
|
|
ov01_0233BBB4:
|
|
.byte 0x0C, 0x01, 0x0D, 0x01
|
|
.byte 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01
|
|
.byte 0x16, 0x01
|
|
.global ov01_0233BBCA
|
|
ov01_0233BBCA:
|
|
.byte 0x0C, 0x01, 0x0D, 0x01, 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01
|
|
.byte 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x0A, 0x01, 0x0B, 0x01, 0x00, 0x00
|
|
#endif
|
|
.global ov01_0233BBE4
|
|
ov01_0233BBE4:
|
|
.byte 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.global ov01_0233BC14
|
|
ov01_0233BC14:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.global ov01_0233BC44
|
|
ov01_0233BC44:
|
|
.byte 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
|
|
.global ov01_0233BC74
|
|
ov01_0233BC74:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.global ov01_0233BCA4
|
|
ov01_0233BCA4:
|
|
.byte 0x0C, 0x0C, 0x0C, 0x04
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.global ov01_0233BCAC
|
|
ov01_0233BCAC:
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.word ov01_023371DC
|
|
.word ov01_02337210
|
|
.word ov01_0233723C
|
|
.global ov01_0233BCBC
|
|
ov01_0233BCBC:
|
|
.byte 0x06, 0x00, 0x00, 0x00
|
|
.word ov03_0233CB08
|
|
.word ov03_0233CF9C
|
|
.word ov03_0233CB94
|
|
.global ov01_0233BCCC
|
|
ov01_0233BCCC:
|
|
.byte 0x07, 0x00, 0x00, 0x00
|
|
.word ov06_0233D51C
|
|
.word ov06_0233DCC0
|
|
.word ov06_0233D5A4
|
|
.global ov01_0233BCDC
|
|
ov01_0233BCDC:
|
|
.byte 0x07, 0x00, 0x00, 0x00
|
|
.word ov06_0233E958
|
|
.word ov06_0233ECCC
|
|
.word ov06_0233EA1C
|
|
.global ov01_0233BCEC
|
|
ov01_0233BCEC:
|
|
.byte 0x08, 0x00, 0x00, 0x00
|
|
.word ov04_0233CBB8
|
|
.word ov04_0233D1A0
|
|
.word ov04_0233CC4C
|
|
.global ov01_0233BCFC
|
|
ov01_0233BCFC:
|
|
.byte 0x09, 0x00, 0x00, 0x00
|
|
.word ov05_0233CB9C
|
|
.word ov05_0233D398
|
|
.word ov05_0233CC10
|
|
.global ov01_0233BD0C
|
|
ov01_0233BD0C:
|
|
.byte 0x0A, 0x00, 0x00, 0x00
|
|
.word ov07_0233F6E0
|
|
.word ov07_0233FCD8
|
|
.word ov07_0233F758
|
|
.global ov01_0233BD1C
|
|
ov01_0233BD1C:
|
|
#if defined(EUROPE)
|
|
.byte 0xD8, 0x36, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xD9, 0x36, 0x00, 0x00
|
|
#elif defined(JAPAN)
|
|
.byte 0x58, 0x33, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x59, 0x33, 0x00, 0x00
|
|
#else
|
|
.byte 0xD6, 0x36, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xD7, 0x36, 0x00, 0x00
|
|
#endif
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov01_0233BD34
|
|
ov01_0233BD34:
|
|
.byte 0x57, 0x69, 0x72, 0x65
|
|
.byte 0x6C, 0x65, 0x73, 0x73, 0x20, 0x43, 0x61, 0x6E, 0x63, 0x65, 0x6C, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BD48
|
|
ov01_0233BD48:
|
|
.byte 0x57, 0x69, 0x72, 0x65, 0x6C, 0x65, 0x73, 0x73, 0x20, 0x53, 0x6C, 0x65, 0x65, 0x70, 0x20, 0x45
|
|
.byte 0x6E, 0x64, 0x0A, 0x00
|
|
.global ov01_0233BD5C
|
|
ov01_0233BD5C:
|
|
.byte 0x57, 0x69, 0x72, 0x65, 0x6C, 0x65, 0x73, 0x73, 0x20, 0x54, 0x69, 0x6D
|
|
.byte 0x65, 0x6F, 0x75, 0x74, 0x0A, 0x00, 0x00, 0x00
|
|
.global ov01_0233BD70
|
|
ov01_0233BD70:
|
|
.byte 0x57, 0x69, 0x72, 0x65, 0x6C, 0x65, 0x73, 0x73
|
|
.byte 0x20, 0x43, 0x6F, 0x6D, 0x6D, 0x75, 0x6E, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x45
|
|
.byte 0x72, 0x72, 0x6F, 0x72, 0x0A, 0x00, 0x00, 0x00
|
|
.global ov01_0233BD90
|
|
ov01_0233BD90:
|
|
.byte 0x57, 0x69, 0x72, 0x65, 0x6C, 0x65, 0x73, 0x73
|
|
.byte 0x20, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x74, 0x20, 0x4D, 0x6F, 0x64, 0x65, 0x0A
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BDAC
|
|
ov01_0233BDAC:
|
|
.byte 0x57, 0x69, 0x72, 0x65, 0x6C, 0x65, 0x73, 0x73, 0x20, 0x43, 0x68, 0x65
|
|
.byte 0x63, 0x6B, 0x20, 0x53, 0x75, 0x6D, 0x20, 0x45, 0x72, 0x72, 0x6F, 0x72, 0x0A, 0x00, 0x00, 0x00
|
|
.global ov01_0233BDC8
|
|
ov01_0233BDC8:
|
|
.byte 0x57, 0x69, 0x72, 0x65, 0x6C, 0x65, 0x73, 0x73, 0x20, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6E
|
|
.byte 0x67, 0x0A, 0x00, 0x00
|
|
.global ov01_0233BDDC
|
|
ov01_0233BDDC:
|
|
.byte 0x57, 0x69, 0x72, 0x65, 0x6C, 0x65, 0x73, 0x73, 0x20, 0x43, 0x6F, 0x72
|
|
.byte 0x72, 0x65, 0x73, 0x70, 0x6F, 0x6E, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BDF4
|
|
ov01_0233BDF4:
|
|
.byte 0x57, 0x69, 0x72, 0x65
|
|
.byte 0x6C, 0x65, 0x73, 0x73, 0x20, 0x49, 0x6C, 0x6C, 0x65, 0x67, 0x61, 0x6C, 0x20, 0x44, 0x61, 0x74
|
|
.byte 0x61, 0x0A, 0x20, 0x00
|
|
.global ov01_0233BE0C
|
|
ov01_0233BE0C:
|
|
.byte 0x57, 0x69, 0x72, 0x65, 0x6C, 0x65, 0x73, 0x73, 0x20, 0x4F, 0x74, 0x68
|
|
.byte 0x65, 0x72, 0x20, 0x45, 0x72, 0x72, 0x6F, 0x72, 0x0A, 0x00, 0x00, 0x00
|
|
.global ov01_0233BE24
|
|
ov01_0233BE24:
|
|
.byte 0x3D, 0x3D, 0x3D, 0x3D
|
|
.byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x20, 0x46, 0x49, 0x4E, 0x49, 0x53, 0x48, 0x20
|
|
.byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BE48
|
|
ov01_0233BE48:
|
|
.byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x20, 0x45, 0x20, 0x72, 0x20
|
|
.byte 0x72, 0x20, 0x6F, 0x20, 0x72, 0x20, 0x21, 0x20, 0x21, 0x20, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D
|
|
.byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x0A, 0x00, 0x00
|
|
.global ov01_0233BE70
|
|
ov01_0233BE70:
|
|
#if defined(EUROPE)
|
|
.byte 0x5C, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x5D, 0x37, 0x00, 0x00
|
|
#elif defined(JAPAN)
|
|
.byte 0xDC, 0x33, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0xDD, 0x33, 0x00, 0x00
|
|
#else
|
|
.byte 0x5A, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x5B, 0x37, 0x00, 0x00
|
|
#endif
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov01_0233BE88
|
|
ov01_0233BE88:
|
|
.byte 0x2F, 0x77, 0x65, 0x62, 0x2F, 0x63, 0x6F, 0x6D, 0x6D, 0x6F, 0x6E, 0x2F, 0x73, 0x65, 0x74, 0x50
|
|
.byte 0x72, 0x6F, 0x66, 0x69, 0x6C, 0x65, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00
|
|
.global ov01_0233BEA4
|
|
ov01_0233BEA4:
|
|
.byte 0x2F, 0x77, 0x65, 0x62
|
|
.byte 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x52, 0x65
|
|
.byte 0x67, 0x69, 0x73, 0x74, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BEC4
|
|
ov01_0233BEC4:
|
|
.byte 0x2F, 0x77, 0x65, 0x62
|
|
.byte 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x4C, 0x69
|
|
.byte 0x73, 0x74, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00
|
|
.global ov01_0233BEE0
|
|
ov01_0233BEE0:
|
|
.byte 0x2F, 0x77, 0x65, 0x62, 0x2F, 0x72, 0x65, 0x73
|
|
.byte 0x63, 0x75, 0x65, 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x2E
|
|
.byte 0x61, 0x73, 0x70, 0x00
|
|
.global ov01_0233BEFC
|
|
ov01_0233BEFC:
|
|
.byte 0x2F, 0x77, 0x65, 0x62, 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x2F
|
|
.byte 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x45, 0x6E, 0x74, 0x72, 0x79, 0x2E, 0x61, 0x73, 0x70, 0x00
|
|
.global ov01_0233BF18
|
|
ov01_0233BF18:
|
|
.byte 0x2F, 0x77, 0x65, 0x62, 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x2F, 0x72, 0x65, 0x73, 0x63
|
|
.byte 0x75, 0x65, 0x43, 0x6F, 0x6D, 0x70, 0x6C, 0x65, 0x74, 0x65, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00
|
|
.global ov01_0233BF38
|
|
ov01_0233BF38:
|
|
.byte 0x2F, 0x77, 0x65, 0x62, 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x2F, 0x72, 0x65, 0x73, 0x63
|
|
.byte 0x75, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6B, 0x2E, 0x61, 0x73, 0x70, 0x00
|
|
.global ov01_0233BF54
|
|
ov01_0233BF54:
|
|
.byte 0x2F, 0x77, 0x65, 0x62
|
|
.byte 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x54, 0x68
|
|
.byte 0x61, 0x6E, 0x6B, 0x73, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BF74
|
|
ov01_0233BF74:
|
|
.byte 0x2F, 0x77, 0x65, 0x62
|
|
.byte 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x2F, 0x72, 0x65, 0x73, 0x63, 0x75, 0x65, 0x52, 0x65
|
|
.byte 0x63, 0x65, 0x69, 0x76, 0x65, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00, 0x00
|
|
.global ov01_0233BF94
|
|
ov01_0233BF94:
|
|
.byte 0x2F, 0x77, 0x65, 0x62
|
|
.byte 0x2F, 0x74, 0x65, 0x61, 0x6D, 0x2F, 0x74, 0x65, 0x61, 0x6D, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74
|
|
.byte 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233BFB0
|
|
ov01_0233BFB0:
|
|
.byte 0x2F, 0x77, 0x65, 0x62, 0x2F, 0x74, 0x65, 0x61
|
|
.byte 0x6D, 0x2F, 0x74, 0x65, 0x61, 0x6D, 0x4C, 0x69, 0x73, 0x74, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00
|
|
.global ov01_0233BFC8
|
|
ov01_0233BFC8:
|
|
.byte 0x2F, 0x77, 0x65, 0x62, 0x2F, 0x74, 0x65, 0x61, 0x6D, 0x2F, 0x74, 0x65, 0x61, 0x6D, 0x45, 0x78
|
|
.byte 0x69, 0x73, 0x74, 0x2E, 0x61, 0x73, 0x70, 0x00
|
|
.global ov01_0233BFE0
|
|
ov01_0233BFE0:
|
|
.byte 0x2F, 0x77, 0x65, 0x62, 0x2F, 0x74, 0x65, 0x61
|
|
.byte 0x6D, 0x2F, 0x74, 0x65, 0x61, 0x6D, 0x45, 0x6E, 0x74, 0x72, 0x79, 0x2E, 0x61, 0x73, 0x70, 0x00
|
|
.global ov01_0233BFF8
|
|
ov01_0233BFF8:
|
|
.byte 0x2F, 0x77, 0x65, 0x62, 0x2F, 0x63, 0x6F, 0x6D, 0x6D, 0x6F, 0x6E, 0x2F, 0x61, 0x64, 0x6D, 0x69
|
|
.byte 0x6E, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2E
|
|
.byte 0x61, 0x73, 0x70, 0x00
|
|
.global ov01_0233C01C
|
|
ov01_0233C01C:
|
|
.byte 0x43, 0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x69, 0x6E, 0x67, 0x20, 0x74
|
|
.byte 0x6F, 0x20, 0x25, 0x73, 0x0A, 0x00, 0x00, 0x00
|
|
.global ov01_0233C030
|
|
ov01_0233C030:
|
|
.byte 0x70, 0x69, 0x64, 0x3A, 0x20, 0x25, 0x64, 0x0A
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C03C
|
|
ov01_0233C03C:
|
|
.byte 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65
|
|
.byte 0x3A, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C050
|
|
ov01_0233C050:
|
|
.byte 0x53, 0x65, 0x73, 0x73, 0x69, 0x6F, 0x6E, 0x20
|
|
.byte 0x45, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x25, 0x64, 0x20, 0x25, 0x73, 0x0A, 0x00, 0x00, 0x00
|
|
.global ov01_0233C068
|
|
ov01_0233C068:
|
|
.byte 0x53, 0x65, 0x73, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x20
|
|
.byte 0x54, 0x69, 0x6D, 0x65, 0x4F, 0x75, 0x74, 0x2E, 0x20, 0x25, 0x64, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C088
|
|
ov01_0233C088:
|
|
.byte 0x55, 0x6E, 0x6B, 0x6E, 0x6F, 0x77, 0x6E, 0x20, 0x45, 0x72, 0x72, 0x6F, 0x72, 0x20, 0x43, 0x6F
|
|
.byte 0x64, 0x65, 0x20, 0x3A, 0x20, 0x25, 0x30, 0x35, 0x64, 0x0A, 0x00, 0x00
|
|
.global ov01_0233C0A4
|
|
ov01_0233C0A4:
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.word ov01_0233ADEC
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov01_0233AE04
|
|
|
|
.data
|
|
.global ov01_0233C0C0
|
|
ov01_0233C0C0:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C0D8
|
|
ov01_0233C0D8:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C0E0
|
|
ov01_0233C0E0:
|
|
#if defined(EUROPE)
|
|
.byte 0xAC, 0x01, 0x80, 0x00
|
|
.byte 0xAD, 0x01, 0x80, 0x00, 0xAE, 0x01, 0x80, 0x00, 0xAF, 0x01, 0x80, 0x00, 0xB0, 0x01, 0x80, 0x00
|
|
.byte 0xAC, 0x01, 0x80, 0x00, 0xAD, 0x01, 0x80, 0x00, 0xAE, 0x01, 0x80, 0x00, 0xAF, 0x01, 0x80, 0x00
|
|
.byte 0xB0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
#elif defined(JAPAN)
|
|
.byte 0x85, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x77, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
#else
|
|
.byte 0x68, 0x05, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x09, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
#endif
|
|
.global ov01_0233C100
|
|
ov01_0233C100:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x20, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C140
|
|
ov01_0233C140:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C144
|
|
ov01_0233C144:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C148
|
|
ov01_0233C148:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C14C
|
|
ov01_0233C14C:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C150
|
|
ov01_0233C150:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C158
|
|
ov01_0233C158:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C15C
|
|
ov01_0233C15C:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C160
|
|
ov01_0233C160:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C164
|
|
ov01_0233C164:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C168
|
|
ov01_0233C168:
|
|
.word ov01_0233B0B8
|
|
.word ov01_0233B0CC
|
|
.word ov01_0233B0A4
|
|
.global ov01_0233C174
|
|
ov01_0233C174:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C178
|
|
ov01_0233C178:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C184
|
|
ov01_0233C184:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C188
|
|
ov01_0233C188:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C190
|
|
ov01_0233C190:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C198
|
|
ov01_0233C198:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1A0
|
|
ov01_0233C1A0:
|
|
.word ov01_0233B8F8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1A8
|
|
ov01_0233C1A8:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1AC
|
|
ov01_0233C1AC:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1B0
|
|
ov01_0233C1B0:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1B4
|
|
ov01_0233C1B4:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1B8
|
|
ov01_0233C1B8:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1D4
|
|
ov01_0233C1D4:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1DC
|
|
ov01_0233C1DC:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1E0
|
|
ov01_0233C1E0:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1E8
|
|
ov01_0233C1E8:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1F4
|
|
ov01_0233C1F4:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C1F8
|
|
ov01_0233C1F8:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C210
|
|
ov01_0233C210:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov01_0233C21C
|
|
ov01_0233C21C:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
.bss
|
|
.global ov01_0233C240
|
|
ov01_0233C240:
|
|
.space 0x80
|
|
.global ov01_0233C2C0
|
|
ov01_0233C2C0:
|
|
.space 0x40
|
|
.global ov01_0233C300
|
|
ov01_0233C300:
|
|
.space 0x80
|
|
.global ov01_0233C380
|
|
ov01_0233C380:
|
|
.space 0x200
|
|
.global ov01_0233C580
|
|
ov01_0233C580:
|
|
.space 0x200
|
|
.global ov01_0233C780
|
|
ov01_0233C780:
|
|
.space 0x4
|
|
.global ov01_0233C784
|
|
ov01_0233C784:
|
|
.space 0x7C
|
|
.global ov01_0233C800
|
|
ov01_0233C800:
|
|
.space 0x7C
|
|
.global ov01_0233C87C
|
|
ov01_0233C87C:
|
|
.space 0x4
|
|
.global ov01_0233C880
|
|
ov01_0233C880:
|
|
.space 0x7C
|
|
.global ov01_0233C8FC
|
|
ov01_0233C8FC:
|
|
.space 0x7C
|
|
.global ov01_0233C978
|
|
ov01_0233C978:
|
|
.space 0x7C
|
|
.global ov01_0233C9F4
|
|
ov01_0233C9F4:
|
|
.space 0x7C
|
|
.global ov01_0233CA70
|
|
ov01_0233CA70:
|
|
.space 0x8
|
|
.global ov01_0233CA78
|
|
ov01_0233CA78:
|
|
.space 0x4
|
|
.global ov01_0233CA7C
|
|
ov01_0233CA7C:
|
|
.space 0x4
|