mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-24 13:49:45 +00:00
8168 lines
160 KiB
ArmAsm
8168 lines
160 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_99.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start ov99_021E5900
|
|
ov99_021E5900: ; 0x021E5900
|
|
push {r4, r5, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
ldr r0, _021E59F0 ; =FS_OVERLAY_ID(OVY_98)
|
|
mov r1, #2
|
|
bl HandleLoadOverlay
|
|
add r0, r4, #0
|
|
bl OverlayManager_GetArgs
|
|
add r5, r0, #0
|
|
bne _021E591C
|
|
bl GF_AssertFail
|
|
_021E591C:
|
|
mov r0, #3
|
|
mov r1, #0x84
|
|
lsl r2, r0, #0x10
|
|
bl CreateHeap
|
|
add r0, r4, #0
|
|
mov r1, #0x94
|
|
mov r2, #0x84
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r1, #0
|
|
mov r2, #0x94
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
mov r0, #0x84
|
|
str r0, [r4, #0xc]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x90
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov99_021E5B54
|
|
bl ov98_0221F090
|
|
add r0, r4, #0
|
|
bl ov99_021E5C88
|
|
add r0, r4, #0
|
|
bl ov99_021E5D58
|
|
ldr r0, _021E59F4 ; =0x0000013A
|
|
ldr r3, _021E59F8 ; =ov99_021E96D8
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4, #4]
|
|
mov r2, #0x11
|
|
bl ov98_0221EABC
|
|
add r3, sp, #4
|
|
ldr r5, _021E59FC ; =ov99_021E95A4
|
|
str r0, [r4, #0x10]
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r1, r2, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0x1a
|
|
bl ov98_0221E5E0
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl ov99_021E6274
|
|
add r0, r4, #0
|
|
bl ov99_021E6438
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov99_021E64E0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov99_021E5FE8
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov99_021E6050
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov99_021E6530
|
|
add r0, r4, #0
|
|
bl ov99_021E6018
|
|
mov r0, #2
|
|
mov r1, #4
|
|
bl SetKeyRepeatTimers
|
|
mov r0, #0
|
|
bl sub_0200FBDC
|
|
mov r0, #1
|
|
bl sub_0200FBDC
|
|
ldr r0, _021E5A00 ; =ov99_021E6250
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r0, #1
|
|
add sp, #0x1c
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E59F0: .word FS_OVERLAY_ID(OVY_98)
|
|
_021E59F4: .word 0x0000013A
|
|
_021E59F8: .word ov99_021E96D8
|
|
_021E59FC: .word ov99_021E95A4
|
|
_021E5A00: .word ov99_021E6250
|
|
thumb_func_end ov99_021E5900
|
|
|
|
thumb_func_start ov99_021E5A04
|
|
ov99_021E5A04: ; 0x021E5A04
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
mov r0, #4
|
|
mov r1, #8
|
|
bl SetKeyRepeatTimers
|
|
ldr r0, [r4]
|
|
bl ov99_021E5B74
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x84
|
|
bl DestroyHeap
|
|
ldr r0, _021E5A34 ; =FS_OVERLAY_ID(OVY_98)
|
|
bl UnloadOverlayByID
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E5A34: .word FS_OVERLAY_ID(OVY_98)
|
|
thumb_func_end ov99_021E5A04
|
|
|
|
thumb_func_start ov99_021E5A38
|
|
ov99_021E5A38: ; 0x021E5A38
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov99_021E5F74
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
bne _021E5A86
|
|
add r1, r4, #0
|
|
add r1, #0x88
|
|
ldr r1, [r1]
|
|
add r0, r4, #0
|
|
bl ov99_021E5FE8
|
|
add r1, r4, #0
|
|
add r1, #0x88
|
|
ldr r1, [r1]
|
|
add r0, r4, #0
|
|
bl ov99_021E6050
|
|
add r1, r4, #0
|
|
add r1, #0x88
|
|
ldr r1, [r1]
|
|
add r0, r4, #0
|
|
bl ov99_021E6530
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x90
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
_021E5A86:
|
|
ldr r0, [r5]
|
|
cmp r0, #4
|
|
bhi _021E5B36
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E5A98: ; jump table
|
|
.short _021E5AA2 - _021E5A98 - 2 ; case 0
|
|
.short _021E5ABE - _021E5A98 - 2 ; case 1
|
|
.short _021E5ACC - _021E5A98 - 2 ; case 2
|
|
.short _021E5B04 - _021E5A98 - 2 ; case 3
|
|
.short _021E5B12 - _021E5A98 - 2 ; case 4
|
|
_021E5AA2:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _021E5B40
|
|
_021E5ABE:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E5B40
|
|
mov r0, #2
|
|
str r0, [r5]
|
|
b _021E5B40
|
|
_021E5ACC:
|
|
add r0, r4, #0
|
|
bl ov99_021E6638
|
|
cmp r0, #0
|
|
beq _021E5B40
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E5B40
|
|
ldr r0, _021E5B4C ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _021E5B40
|
|
_021E5B04:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E5B40
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
b _021E5B40
|
|
_021E5B12:
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0x11
|
|
bl ov98_0221EB84
|
|
add r0, r4, #0
|
|
bl ov99_021E5D2C
|
|
ldr r0, [r4, #0x14]
|
|
add r4, #0x18
|
|
add r1, r4, #0
|
|
mov r2, #0x1a
|
|
bl ov98_0221E684
|
|
bl ov98_0221F0EC
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021E5B36:
|
|
ldr r0, _021E5B50 ; =_021EA5C0
|
|
cmp r0, #0
|
|
beq _021E5B40
|
|
bl GF_AssertFail
|
|
_021E5B40:
|
|
ldr r0, [r4, #0x14]
|
|
bl ov98_0221E6CC
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E5B4C: .word 0x000005DC
|
|
_021E5B50: .word _021EA5C0
|
|
thumb_func_end ov99_021E5A38
|
|
|
|
thumb_func_start ov99_021E5B54
|
|
ov99_021E5B54: ; 0x021E5B54
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r4, r1, #0
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
ldr r1, [r4]
|
|
str r1, [r0]
|
|
ldr r1, [r4, #4]
|
|
str r1, [r0, #4]
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E5B54
|
|
|
|
thumb_func_start ov99_021E5B70
|
|
ov99_021E5B70: ; 0x021E5B70
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
thumb_func_end ov99_021E5B70
|
|
|
|
thumb_func_start ov99_021E5B74
|
|
ov99_021E5B74: ; 0x021E5B74
|
|
ldr r3, _021E5B78 ; =FreeToHeap
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E5B78: .word FreeToHeap
|
|
thumb_func_end ov99_021E5B74
|
|
|
|
thumb_func_start ov99_021E5B7C
|
|
ov99_021E5B7C: ; 0x021E5B7C
|
|
ldr r3, [r0]
|
|
mov r0, #0x2c
|
|
mul r0, r1
|
|
add r1, r3, r0
|
|
mov r0, #0xc
|
|
add r1, #8
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E5B7C
|
|
|
|
thumb_func_start ov99_021E5B90
|
|
ov99_021E5B90: ; 0x021E5B90
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r5, #0
|
|
bne _021E5B9E
|
|
bl GF_AssertFail
|
|
_021E5B9E:
|
|
cmp r4, #5
|
|
blt _021E5BA6
|
|
bl GF_AssertFail
|
|
_021E5BA6:
|
|
mov r0, #0x2c
|
|
ldr r1, [r5]
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #6]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E5B90
|
|
|
|
thumb_func_start ov99_021E5BB4
|
|
ov99_021E5BB4: ; 0x021E5BB4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r5, #0
|
|
bne _021E5BC2
|
|
bl GF_AssertFail
|
|
_021E5BC2:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E5B90
|
|
cmp r0, #0
|
|
beq _021E5BD2
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5BD2:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E5BB4
|
|
|
|
thumb_func_start ov99_021E5BD8
|
|
ov99_021E5BD8: ; 0x021E5BD8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
cmp r5, #0
|
|
bne _021E5BE8
|
|
bl GF_AssertFail
|
|
_021E5BE8:
|
|
cmp r6, #3
|
|
bne _021E5C12
|
|
mov r0, #0x2c
|
|
add r3, r4, #0
|
|
ldr r1, [r5]
|
|
mul r3, r0
|
|
add r0, r1, r3
|
|
ldrh r2, [r0, #6]
|
|
ldrh r1, [r1, r3]
|
|
sub r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r2, r1, #0x10
|
|
ldrh r1, [r0, #2]
|
|
ldrh r0, [r0, #4]
|
|
sub r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021E5C12:
|
|
mov r0, #0x2c
|
|
ldr r2, [r5]
|
|
mul r0, r4
|
|
lsl r1, r6, #1
|
|
add r0, r2, r0
|
|
ldrh r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov99_021E5BD8
|
|
|
|
thumb_func_start ov99_021E5C20
|
|
ov99_021E5C20: ; 0x021E5C20
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
cmp r0, #0
|
|
bne _021E5C2E
|
|
bl GF_AssertFail
|
|
_021E5C2E:
|
|
cmp r5, #0xa
|
|
blt _021E5C36
|
|
bl GF_AssertFail
|
|
_021E5C36:
|
|
cmp r4, #4
|
|
blo _021E5C3E
|
|
bl GF_AssertFail
|
|
_021E5C3E:
|
|
ldr r0, _021E5C48 ; =ov99_021E9600
|
|
lsl r1, r5, #2
|
|
add r0, r0, r1
|
|
ldrb r0, [r4, r0]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E5C48: .word ov99_021E9600
|
|
thumb_func_end ov99_021E5C20
|
|
|
|
thumb_func_start ov99_021E5C4C
|
|
ov99_021E5C4C: ; 0x021E5C4C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
cmp r5, #0
|
|
bne _021E5C5C
|
|
bl GF_AssertFail
|
|
_021E5C5C:
|
|
cmp r6, #3
|
|
blo _021E5C64
|
|
bl GF_AssertFail
|
|
_021E5C64:
|
|
cmp r4, #5
|
|
blo _021E5C6C
|
|
bl GF_AssertFail
|
|
_021E5C6C:
|
|
mov r0, #0x2c
|
|
ldr r1, [r5]
|
|
mul r0, r4
|
|
add r1, r1, r0
|
|
mov r0, #0xc
|
|
mul r0, r6
|
|
add r0, r1, r0
|
|
ldr r0, [r0, #8]
|
|
lsl r0, r0, #0x17
|
|
lsr r0, r0, #0x17
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E5C4C
|
|
|
|
thumb_func_start ov99_021E5C88
|
|
ov99_021E5C88: ; 0x021E5C88
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xf4
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl BgConfig_Alloc
|
|
add r3, sp, #4
|
|
ldr r4, _021E5D18 ; =ov99_021E9564
|
|
str r0, [r5, #4]
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r4, _021E5D1C ; =ov99_021E9760
|
|
add r3, sp, #0x14
|
|
mov r2, #0x1c
|
|
_021E5CB0:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E5CB0
|
|
ldr r4, _021E5D20 ; =_021E954C
|
|
mov r7, #0
|
|
add r6, sp, #0x14
|
|
_021E5CBE:
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #4]
|
|
add r2, r6, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #4]
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldrb r0, [r4]
|
|
ldr r3, [r5, #0xc]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
add r7, r7, #1
|
|
add r6, #0x1c
|
|
add r4, r4, #1
|
|
cmp r7, #8
|
|
blt _021E5CBE
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021E5D24 ; =0x04000050
|
|
mov r1, #8
|
|
mov r2, #4
|
|
mov r3, #0xf
|
|
bl G2x_SetBlendAlpha_
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021E5D28 ; =0x04001050
|
|
mov r1, #8
|
|
mov r2, #2
|
|
mov r3, #0xf
|
|
bl G2x_SetBlendAlpha_
|
|
ldr r1, [r5, #0xc]
|
|
mov r0, #0xb1
|
|
bl NARC_New
|
|
str r0, [r5, #8]
|
|
add sp, #0xf4
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E5D18: .word ov99_021E9564
|
|
_021E5D1C: .word ov99_021E9760
|
|
_021E5D20: .word _021E954C
|
|
_021E5D24: .word 0x04000050
|
|
_021E5D28: .word 0x04001050
|
|
thumb_func_end ov99_021E5C88
|
|
|
|
thumb_func_start ov99_021E5D2C
|
|
ov99_021E5D2C: ; 0x021E5D2C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl NARC_Delete
|
|
ldr r6, _021E5D54 ; =_021E954C
|
|
mov r4, #0
|
|
_021E5D3A:
|
|
ldrb r1, [r6, r4]
|
|
ldr r0, [r5, #4]
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #8
|
|
blo _021E5D3A
|
|
ldr r0, [r5, #4]
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E5D54: .word _021E954C
|
|
thumb_func_end ov99_021E5D2C
|
|
|
|
thumb_func_start ov99_021E5D58
|
|
ov99_021E5D58: ; 0x021E5D58
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
mov r2, #0
|
|
add r4, r0, #0
|
|
str r2, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x1e
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
add r3, r2, #0
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x1f
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x20
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x3e
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #2
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r3, #0x1e
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0x24
|
|
mov r2, #0
|
|
lsl r3, r3, #4
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x25
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #3
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x26
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #3
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x21
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
mov r2, #4
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x22
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x23
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x44
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #5
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r3, #0x1e
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0x27
|
|
mov r2, #4
|
|
lsl r3, r3, #4
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x28
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #7
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x29
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #7
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E5D58
|
|
|
|
thumb_func_start ov99_021E5EB4
|
|
ov99_021E5EB4: ; 0x021E5EB4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r2, #0
|
|
beq _021E5EC6
|
|
mov r6, #0xff
|
|
mvn r6, r6
|
|
b _021E5ECA
|
|
_021E5EC6:
|
|
mov r6, #1
|
|
lsl r6, r6, #8
|
|
_021E5ECA:
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, _021E5F68 ; =ov99_021E95D8
|
|
str r0, [sp, #0xc]
|
|
lsl r4, r4, #3
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r1, r4]
|
|
ldr r2, [r5, #4]
|
|
mov r3, #2
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, _021E5F6C ; =ov99_021E95DC
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r1, r4]
|
|
ldr r2, [r5, #4]
|
|
mov r3, #5
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
ldr r0, [r5, #4]
|
|
mov r1, #2
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #4]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl BgSetPosTextAndCommit
|
|
mov r0, #4
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
neg r0, r6
|
|
lsl r0, r0, #0x10
|
|
ldr r7, _021E5F70 ; =ov99_021E9690
|
|
mov r4, #0
|
|
asr r6, r0, #0x10
|
|
_021E5F46:
|
|
mov r0, #0xc
|
|
mul r0, r4
|
|
ldr r0, [r7, r0]
|
|
add r1, r6, #0
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #0x18]
|
|
mov r2, #0
|
|
bl sub_0200DED0
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #6
|
|
blo _021E5F46
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E5F68: .word ov99_021E95D8
|
|
_021E5F6C: .word ov99_021E95DC
|
|
_021E5F70: .word ov99_021E9690
|
|
thumb_func_end ov99_021E5EB4
|
|
|
|
thumb_func_start ov99_021E5F74
|
|
ov99_021E5F74: ; 0x021E5F74
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E5FE0
|
|
ldr r0, [r5, #4]
|
|
mov r1, #2
|
|
bl Bg_GetXpos
|
|
asr r6, r0, #2
|
|
cmp r0, r6
|
|
bne _021E5F90
|
|
mov r6, #0
|
|
_021E5F90:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #2
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, [r5, #4]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl ScheduleSetBgPosText
|
|
ldr r7, _021E5FE4 ; =ov99_021E9690
|
|
mov r4, #0
|
|
_021E5FAC:
|
|
mov r0, #0xc
|
|
mul r0, r4
|
|
add r2, r7, r0
|
|
ldr r1, [r2, #4]
|
|
ldr r0, [r7, r0]
|
|
ldr r2, [r2, #8]
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
sub r1, r1, r6
|
|
lsl r1, r1, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r0, #0x18]
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl sub_0200DDB8
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #6
|
|
blo _021E5FAC
|
|
cmp r6, #0
|
|
bne _021E5FE0
|
|
mov r0, #0
|
|
add r5, #0x8c
|
|
str r0, [r5]
|
|
_021E5FE0:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E5FE4: .word ov99_021E9690
|
|
thumb_func_end ov99_021E5F74
|
|
|
|
thumb_func_start ov99_021E5FE8
|
|
ov99_021E5FE8: ; 0x021E5FE8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
bl ov99_021E5BB4
|
|
cmp r0, #0
|
|
beq _021E6006
|
|
add r0, r5, #0
|
|
add r5, #0x84
|
|
ldr r2, [r5]
|
|
add r1, r4, #0
|
|
bl ov99_021E5EB4
|
|
pop {r3, r4, r5, pc}
|
|
_021E6006:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #2
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r5, #4]
|
|
mov r1, #5
|
|
bl BgClearTilemapBufferAndCommit
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov99_021E5FE8
|
|
|
|
thumb_func_start ov99_021E6018
|
|
ov99_021E6018: ; 0x021E6018
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
ldr r0, [r4, #0x10]
|
|
mov r2, #2
|
|
mov r3, #1
|
|
bl ov98_0221EC08
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
mov r3, #1
|
|
bl ov98_0221EBEC
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0xb
|
|
mov r2, #7
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E6018
|
|
|
|
thumb_func_start ov99_021E6050
|
|
ov99_021E6050: ; 0x021E6050
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov99_021E6188
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E607C
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl ov99_021E5BB4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov99_021E6144
|
|
add r0, r5, #0
|
|
bl ov99_021E6218
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E6050
|
|
|
|
thumb_func_start ov99_021E607C
|
|
ov99_021E607C: ; 0x021E607C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r7, r1, #0
|
|
bl ov98_0221EEFC
|
|
ldr r4, _021E6140 ; =ov99_021E958C
|
|
str r0, [sp, #8]
|
|
mov r6, #0
|
|
_021E6090:
|
|
lsl r2, r6, #0x18
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov99_021E5C20
|
|
add r2, r0, #0
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [sp, #8]
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl BufferPokeathlonEventName
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r4]
|
|
mov r2, #0xa
|
|
add r3, r6, #1
|
|
bl ov98_0221ECD0
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
bl ov99_021E5BB4
|
|
cmp r0, #0
|
|
beq _021E60EC
|
|
lsl r2, r6, #0x10
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
lsr r2, r2, #0x10
|
|
bl ov99_021E5BD8
|
|
add r3, r0, #0
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r4, #4]
|
|
mov r2, #8
|
|
bl ov98_0221ECD0
|
|
b _021E60F8
|
|
_021E60EC:
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r4, #4]
|
|
mov r2, #9
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
_021E60F8:
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
cmp r6, #3
|
|
blt _021E6090
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
bl ov99_021E5BB4
|
|
cmp r0, #0
|
|
beq _021E612E
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
mov r2, #3
|
|
bl ov99_021E5BD8
|
|
add r3, r0, #0
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0xc
|
|
mov r2, #8
|
|
bl ov98_0221ECD0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E612E:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0xc
|
|
mov r2, #9
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6140: .word ov99_021E958C
|
|
thumb_func_end ov99_021E607C
|
|
|
|
thumb_func_start ov99_021E6144
|
|
ov99_021E6144: ; 0x021E6144
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r5, [r6, #0x10]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_021E614E:
|
|
cmp r7, #0
|
|
beq _021E6174
|
|
add r1, r6, #0
|
|
add r1, #0x88
|
|
ldr r1, [r1]
|
|
lsl r2, r4, #0x18
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r6]
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl ov99_021E5C4C
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
add r1, #0xe
|
|
bl ov98_0221EE28
|
|
b _021E617E
|
|
_021E6174:
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0xe
|
|
bl ov98_0221EE84
|
|
_021E617E:
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E614E
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E6144
|
|
|
|
thumb_func_start ov99_021E6188
|
|
ov99_021E6188: ; 0x021E6188
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x10]
|
|
add r6, r1, #0
|
|
add r0, r4, #0
|
|
bl ov98_0221EEFC
|
|
lsl r2, r6, #0x18
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
add r7, r0, #0
|
|
bl BufferPokeathlonMedalName
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
ldr r0, [r5, #0x10]
|
|
mov r2, #4
|
|
add r3, r1, #0
|
|
bl ov98_0221EC08
|
|
lsl r2, r6, #0x18
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl BufferPokeathlonCourseName
|
|
mov r1, #3
|
|
ldr r0, [r5, #0x10]
|
|
add r2, r1, #0
|
|
mov r3, #1
|
|
bl ov98_0221EBD8
|
|
ldr r0, [r5]
|
|
bl ov99_021E5B70
|
|
cmp r0, #0
|
|
beq _021E6216
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
bl ov99_021E5B90
|
|
bl ov98_0221EF64
|
|
cmp r0, #0
|
|
bne _021E61F2
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #4
|
|
mov r2, #5
|
|
mov r3, #1
|
|
bl ov98_0221EBD8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E61F2:
|
|
cmp r0, #1
|
|
bne _021E6204
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #4
|
|
mov r2, #6
|
|
mov r3, #1
|
|
bl ov98_0221EBD8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E6204:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
add r0, #0x40
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r4, #4]
|
|
add r0, #0x40
|
|
bl ScheduleWindowCopyToVram
|
|
_021E6216:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov99_021E6188
|
|
|
|
thumb_func_start ov99_021E6218
|
|
ov99_021E6218: ; 0x021E6218
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r1, r5, #0
|
|
add r1, #0x88
|
|
ldr r0, [r5]
|
|
ldr r1, [r1]
|
|
ldr r4, [r5, #0x10]
|
|
bl ov99_021E5BB4
|
|
cmp r0, #0
|
|
beq _021E623C
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0xd
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
pop {r3, r4, r5, pc}
|
|
_021E623C:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
add r0, #0xd0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r4, #4]
|
|
add r0, #0xd0
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov99_021E6218
|
|
|
|
thumb_func_start ov99_021E6250
|
|
ov99_021E6250: ; 0x021E6250
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0200D034
|
|
ldr r0, [r4, #4]
|
|
bl BgConfig_HandleScheduledScrollAndTransferOps
|
|
ldr r3, _021E626C ; =0x027E0000
|
|
ldr r1, _021E6270 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E626C: .word 0x027E0000
|
|
_021E6270: .word 0x00003FF8
|
|
thumb_func_end ov99_021E6250
|
|
|
|
thumb_func_start ov99_021E6274
|
|
ov99_021E6274: ; 0x021E6274
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
bl ov98_0221E5C0
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
bl ov98_0221E5D0
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x15
|
|
bl sub_0200D504
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x14
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x16
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x17
|
|
bl sub_0200D71C
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D504
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #2
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #3
|
|
bl sub_0200D71C
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #5
|
|
bl sub_0200D504
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #4
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #6
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #7
|
|
bl sub_0200D71C
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #9
|
|
bl sub_0200D504
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #8
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0xa
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0xb
|
|
bl sub_0200D71C
|
|
add r0, r5, #0
|
|
bl ov99_021E6400
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021E63FC ; =ov99_021E9554
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl ov98_0221E8A8
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E63FC: .word ov99_021E9554
|
|
thumb_func_end ov99_021E6274
|
|
|
|
thumb_func_start ov99_021E6400
|
|
ov99_021E6400: ; 0x021E6400
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x14]
|
|
bl ov98_0221E5C0
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #0x14]
|
|
bl ov98_0221E5D0
|
|
ldr r7, _021E6434 ; =ov99_021E9650
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E6418:
|
|
lsl r2, r4, #4
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r7, r2
|
|
mov r3, #1
|
|
bl ov98_0221E784
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #3
|
|
blo _021E6418
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6434: .word ov99_021E9650
|
|
thumb_func_end ov99_021E6400
|
|
|
|
thumb_func_start ov99_021E6438
|
|
ov99_021E6438: ; 0x021E6438
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r4, _021E64DC ; =ov99_021E9840
|
|
mov r7, #0
|
|
add r5, r6, #0
|
|
_021E6442:
|
|
ldr r0, [r6, #0x14]
|
|
add r1, r4, #0
|
|
bl ov98_0221E6E0
|
|
mov r1, #1
|
|
str r0, [r5, #0x18]
|
|
bl sub_0200DC78
|
|
add r7, r7, #1
|
|
add r4, #0x34
|
|
add r5, r5, #4
|
|
cmp r7, #0x1a
|
|
blt _021E6442
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
mov r7, #0x1f
|
|
_021E6462:
|
|
ldr r0, [r6]
|
|
add r1, r5, #0
|
|
bl ov99_021E5BB4
|
|
cmp r0, #0
|
|
bne _021E6476
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
_021E6476:
|
|
ldr r0, [r6]
|
|
add r1, r5, #0
|
|
bl ov99_021E5B90
|
|
bl ov98_0221EF64
|
|
cmp r0, #2
|
|
bne _021E64A4
|
|
lsr r1, r5, #0x1f
|
|
lsl r0, r5, #0x1f
|
|
sub r0, r0, r1
|
|
ror r0, r7
|
|
add r0, r1, r0
|
|
ldr r0, [r4, #0x30]
|
|
bne _021E649C
|
|
mov r1, #5
|
|
bl sub_0200DC4C
|
|
b _021E64D0
|
|
_021E649C:
|
|
mov r1, #6
|
|
bl sub_0200DC4C
|
|
b _021E64D0
|
|
_021E64A4:
|
|
cmp r0, #1
|
|
bne _021E64C8
|
|
lsr r2, r5, #0x1f
|
|
lsl r1, r5, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
ldr r0, [r4, #0x30]
|
|
bne _021E64C0
|
|
mov r1, #2
|
|
bl sub_0200DC4C
|
|
b _021E64D0
|
|
_021E64C0:
|
|
mov r1, #3
|
|
bl sub_0200DC4C
|
|
b _021E64D0
|
|
_021E64C8:
|
|
ldr r0, [r4, #0x30]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
_021E64D0:
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #5
|
|
blt _021E6462
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E64DC: .word ov99_021E9840
|
|
thumb_func_end ov99_021E6438
|
|
|
|
thumb_func_start ov99_021E64E0
|
|
ov99_021E64E0: ; 0x021E64E0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x50]
|
|
add r4, r1, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r5, #0x54]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r5, #0x58]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r5, #0x44]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r5, #0x48]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r5, #0x4c]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r5, #0x5c]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r5, #0x60]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r5, #0x64]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E64E0
|
|
|
|
thumb_func_start ov99_021E6530
|
|
ov99_021E6530: ; 0x021E6530
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r7, r1, #0
|
|
bl ov99_021E5B90
|
|
str r0, [sp, #8]
|
|
mov r4, #0
|
|
_021E6542:
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
bl ov99_021E5BB4
|
|
cmp r0, #1
|
|
bne _021E658C
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [sp, #8]
|
|
lsr r1, r1, #0x18
|
|
bl ov98_0221F120
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
lsl r0, r4, #2
|
|
add r6, r5, r0
|
|
ldr r0, [r6, #0x68]
|
|
ldr r1, [sp, #4]
|
|
bl sub_0200DC4C
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r6, #0x50]
|
|
lsl r2, r1, #2
|
|
ldr r1, _021E6634 ; =ov99_021E9628
|
|
ldr r1, [r1, r2]
|
|
bl sub_0200DC4C
|
|
ldr r0, [r6, #0x50]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
ldr r0, [r6, #0x68]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
b _021E65A0
|
|
_021E658C:
|
|
lsl r0, r4, #2
|
|
add r6, r5, r0
|
|
ldr r0, [r6, #0x50]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r6, #0x68]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
_021E65A0:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #3
|
|
blo _021E6542
|
|
mov r4, #0
|
|
_021E65AC:
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
bl ov99_021E5B7C
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
bl ov99_021E5BB4
|
|
cmp r0, #1
|
|
bne _021E65FA
|
|
lsl r0, r4, #2
|
|
add r6, r5, r0
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp]
|
|
ldr r0, [r6, #0x44]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov98_0221E7E8
|
|
ldr r0, [r6, #0x44]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r6, #0x74]
|
|
ldr r2, [sp, #0xc]
|
|
mov r3, #0
|
|
bl ov98_0221E970
|
|
ldr r0, [r6, #0x74]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
b _021E6606
|
|
_021E65FA:
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
_021E6606:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #3
|
|
blo _021E65AC
|
|
mov r4, #0
|
|
_021E6612:
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
bl ov99_021E5BB4
|
|
add r1, r0, #0
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #0x5c]
|
|
bl sub_0200DCE8
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #3
|
|
blo _021E6612
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E6634: .word ov99_021E9628
|
|
thumb_func_end ov99_021E6530
|
|
|
|
thumb_func_start ov99_021E6638
|
|
ov99_021E6638: ; 0x021E6638
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r2, _021E6764 ; =gSystem
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
add r4, r5, #0
|
|
mov r0, #0x80
|
|
ldr r1, [r2, #0x48]
|
|
mov r3, #2
|
|
add r4, #0x80
|
|
ldrsb r6, [r5, r0]
|
|
tst r3, r1
|
|
beq _021E6656
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E6656:
|
|
ldr r3, _021E6768 ; =gSystem + 0x40
|
|
ldrh r3, [r3, #0x24]
|
|
cmp r3, #0
|
|
beq _021E669E
|
|
ldr r0, _021E676C ; =ov99_021E95BC
|
|
bl sub_0202529C
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r7, r0
|
|
beq _021E66EE
|
|
cmp r7, #5
|
|
bne _021E6678
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
b _021E669A
|
|
_021E6678:
|
|
mov r1, #0
|
|
ldrsb r0, [r4, r1]
|
|
cmp r0, r7
|
|
bge _021E6682
|
|
mov r1, #1
|
|
_021E6682:
|
|
str r1, [r4, #4]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #9
|
|
bl sub_0200DC4C
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #1
|
|
bl sub_0200DC78
|
|
ldr r0, _021E6770 ; =0x000005DC
|
|
bl PlaySE
|
|
_021E669A:
|
|
strb r7, [r4]
|
|
b _021E66EE
|
|
_021E669E:
|
|
ldr r2, [r2, #0x4c]
|
|
mov r3, #0x10
|
|
tst r3, r2
|
|
bne _021E66AA
|
|
tst r0, r2
|
|
beq _021E66C2
|
|
_021E66AA:
|
|
cmp r6, #5
|
|
bge _021E66EE
|
|
mov r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
mov r0, #1
|
|
str r0, [r4, #4]
|
|
ldr r0, _021E6770 ; =0x000005DC
|
|
bl PlaySE
|
|
b _021E66EE
|
|
_021E66C2:
|
|
mov r0, #0x20
|
|
tst r0, r2
|
|
bne _021E66CE
|
|
mov r0, #0x40
|
|
tst r0, r2
|
|
beq _021E66E4
|
|
_021E66CE:
|
|
cmp r6, #0
|
|
ble _021E66EE
|
|
mov r0, #0
|
|
ldrsb r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
strb r1, [r4]
|
|
str r0, [r4, #4]
|
|
ldr r0, _021E6770 ; =0x000005DC
|
|
bl PlaySE
|
|
b _021E66EE
|
|
_021E66E4:
|
|
mov r0, #1
|
|
tst r1, r0
|
|
beq _021E66EE
|
|
cmp r6, #5
|
|
beq _021E6760
|
|
_021E66EE:
|
|
mov r0, #0
|
|
ldrsb r1, [r4, r0]
|
|
cmp r1, #5
|
|
ble _021E66FA
|
|
mov r1, #5
|
|
b _021E6700
|
|
_021E66FA:
|
|
cmp r1, #0
|
|
bge _021E6700
|
|
add r1, r0, #0
|
|
_021E6700:
|
|
strb r1, [r4]
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
ldrsb r2, [r4, r1]
|
|
add r0, #0x88
|
|
str r2, [r0]
|
|
ldrsb r0, [r4, r1]
|
|
cmp r6, r0
|
|
beq _021E675E
|
|
ldr r1, _021E6774 ; =ov99_021E9574
|
|
lsl r2, r0, #2
|
|
ldr r3, _021E6778 ; =ov99_021E9576
|
|
ldrsh r1, [r1, r2]
|
|
ldrsh r2, [r3, r2]
|
|
ldr r0, [r5, #0x18]
|
|
bl sub_0200DDB8
|
|
mov r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #5
|
|
ldr r0, [r5, #0x18]
|
|
bne _021E6734
|
|
mov r1, #0xc
|
|
bl sub_0200DC4C
|
|
b _021E675E
|
|
_021E6734:
|
|
bl sub_0200DC64
|
|
cmp r0, #9
|
|
beq _021E6744
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #8
|
|
bl sub_0200DC4C
|
|
_021E6744:
|
|
cmp r6, #5
|
|
bne _021E6750
|
|
mov r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #4
|
|
beq _021E675E
|
|
_021E6750:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov99_021E64E0
|
|
mov r0, #1
|
|
add r5, #0x90
|
|
str r0, [r5]
|
|
_021E675E:
|
|
ldr r0, [sp]
|
|
_021E6760:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6764: .word gSystem
|
|
_021E6768: .word gSystem + 0x40
|
|
_021E676C: .word ov99_021E95BC
|
|
_021E6770: .word 0x000005DC
|
|
_021E6774: .word ov99_021E9574
|
|
_021E6778: .word ov99_021E9576
|
|
thumb_func_end ov99_021E6638
|
|
|
|
thumb_func_start ov99_021E677C
|
|
ov99_021E677C: ; 0x021E677C
|
|
push {r4, r5, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
ldr r0, _021E682C ; =FS_OVERLAY_ID(OVY_98)
|
|
mov r1, #2
|
|
bl HandleLoadOverlay
|
|
add r0, r4, #0
|
|
bl OverlayManager_GetArgs
|
|
add r5, r0, #0
|
|
bne _021E6798
|
|
bl GF_AssertFail
|
|
_021E6798:
|
|
mov r0, #3
|
|
mov r1, #0x84
|
|
lsl r2, r0, #0x10
|
|
bl CreateHeap
|
|
mov r1, #0x49
|
|
add r0, r4, #0
|
|
lsl r1, r1, #2
|
|
mov r2, #0x84
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r2, #0x49
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
mov r0, #0x84
|
|
str r0, [r4, #0xc]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov99_021E6FD0
|
|
bl ov98_0221F090
|
|
add r0, r4, #0
|
|
bl ov99_021E695C
|
|
add r0, r4, #0
|
|
bl ov99_021E69D8
|
|
ldr r0, _021E6830 ; =0x0000013A
|
|
ldr r3, _021E6834 ; =ov99_021E9ED0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4, #4]
|
|
mov r2, #0xf
|
|
bl ov98_0221EABC
|
|
add r3, sp, #4
|
|
ldr r5, _021E6838 ; =ov99_021E9DEC
|
|
str r0, [r4, #0x10]
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r1, r2, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0x43
|
|
bl ov98_0221E5E0
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl ov99_021E6A9C
|
|
add r0, r4, #0
|
|
bl ov99_021E6D34
|
|
mov r0, #0
|
|
bl sub_0200FBDC
|
|
mov r0, #1
|
|
bl sub_0200FBDC
|
|
ldr r0, _021E683C ; =ov99_021E6938
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r0, #1
|
|
add sp, #0x1c
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E682C: .word FS_OVERLAY_ID(OVY_98)
|
|
_021E6830: .word 0x0000013A
|
|
_021E6834: .word ov99_021E9ED0
|
|
_021E6838: .word ov99_021E9DEC
|
|
_021E683C: .word ov99_021E6938
|
|
thumb_func_end ov99_021E677C
|
|
|
|
thumb_func_start ov99_021E6840
|
|
ov99_021E6840: ; 0x021E6840
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl ov99_021E7060
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #0x14]
|
|
add r1, #0x18
|
|
mov r2, #0x43
|
|
bl ov98_0221E684
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0xf
|
|
bl ov98_0221EB84
|
|
add r0, r4, #0
|
|
bl ov99_021E6A70
|
|
bl ov98_0221F0EC
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x84
|
|
bl DestroyHeap
|
|
ldr r0, _021E6884 ; =FS_OVERLAY_ID(OVY_98)
|
|
bl UnloadOverlayByID
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E6884: .word FS_OVERLAY_ID(OVY_98)
|
|
thumb_func_end ov99_021E6840
|
|
|
|
thumb_func_start ov99_021E6888
|
|
ov99_021E6888: ; 0x021E6888
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
bl OverlayManager_GetData
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #4
|
|
bhi _021E691A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E68A6: ; jump table
|
|
.short _021E68B0 - _021E68A6 - 2 ; case 0
|
|
.short _021E68CC - _021E68A6 - 2 ; case 1
|
|
.short _021E68DA - _021E68A6 - 2 ; case 2
|
|
.short _021E6906 - _021E68A6 - 2 ; case 3
|
|
.short _021E6914 - _021E68A6 - 2 ; case 4
|
|
_021E68B0:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
b _021E6924
|
|
_021E68CC:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E6924
|
|
mov r0, #2
|
|
str r0, [r4]
|
|
b _021E6924
|
|
_021E68DA:
|
|
bl ov98_0221EF24
|
|
cmp r0, #0
|
|
beq _021E6924
|
|
ldr r0, _021E6930 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #3
|
|
str r0, [r4]
|
|
b _021E6924
|
|
_021E6906:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E6924
|
|
mov r0, #4
|
|
str r0, [r4]
|
|
b _021E6924
|
|
_021E6914:
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021E691A:
|
|
ldr r0, _021E6934 ; =_021EA5CC
|
|
cmp r0, #0
|
|
beq _021E6924
|
|
bl GF_AssertFail
|
|
_021E6924:
|
|
ldr r0, [r5, #0x14]
|
|
bl ov98_0221E6CC
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E6930: .word 0x000005DC
|
|
_021E6934: .word _021EA5CC
|
|
thumb_func_end ov99_021E6888
|
|
|
|
thumb_func_start ov99_021E6938
|
|
ov99_021E6938: ; 0x021E6938
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0200D034
|
|
ldr r0, [r4, #4]
|
|
bl BgConfig_HandleScheduledScrollAndTransferOps
|
|
ldr r3, _021E6954 ; =0x027E0000
|
|
ldr r1, _021E6958 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E6954: .word 0x027E0000
|
|
_021E6958: .word 0x00003FF8
|
|
thumb_func_end ov99_021E6938
|
|
|
|
thumb_func_start ov99_021E695C
|
|
ov99_021E695C: ; 0x021E695C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x80
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl BgConfig_Alloc
|
|
add r3, sp, #0
|
|
ldr r4, _021E69CC ; =ov99_021E9D9C
|
|
str r0, [r5, #4]
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r4, _021E69D0 ; =ov99_021E9E60
|
|
add r3, sp, #0x10
|
|
mov r2, #0xe
|
|
_021E6984:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E6984
|
|
ldr r4, _021E69D4 ; =ov99_021E9D88
|
|
mov r7, #0
|
|
add r6, sp, #0x10
|
|
_021E6992:
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #4]
|
|
add r2, r6, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #4]
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldrb r0, [r4]
|
|
ldr r3, [r5, #0xc]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
add r7, r7, #1
|
|
add r6, #0x1c
|
|
add r4, r4, #1
|
|
cmp r7, #4
|
|
blt _021E6992
|
|
ldr r1, [r5, #0xc]
|
|
mov r0, #0xb1
|
|
bl NARC_New
|
|
str r0, [r5, #8]
|
|
add sp, #0x80
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E69CC: .word ov99_021E9D9C
|
|
_021E69D0: .word ov99_021E9E60
|
|
_021E69D4: .word ov99_021E9D88
|
|
thumb_func_end ov99_021E695C
|
|
|
|
thumb_func_start ov99_021E69D8
|
|
ov99_021E69D8: ; 0x021E69D8
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0x38
|
|
add r3, r2, #0
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x39
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x3a
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x3b
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x3c
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x3d
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E69D8
|
|
|
|
thumb_func_start ov99_021E6A70
|
|
ov99_021E6A70: ; 0x021E6A70
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl NARC_Delete
|
|
ldr r6, _021E6A98 ; =ov99_021E9D88
|
|
mov r4, #0
|
|
_021E6A7E:
|
|
ldrb r1, [r6, r4]
|
|
ldr r0, [r5, #4]
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #4
|
|
blo _021E6A7E
|
|
ldr r0, [r5, #4]
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E6A98: .word ov99_021E9D88
|
|
thumb_func_end ov99_021E6A70
|
|
|
|
thumb_func_start ov99_021E6A9C
|
|
ov99_021E6A9C: ; 0x021E6A9C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
bl ov98_0221E5C0
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
bl ov98_0221E5D0
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x11
|
|
bl sub_0200D504
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x10
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x12
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x13
|
|
bl sub_0200D71C
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #9
|
|
bl sub_0200D504
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #8
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #9
|
|
bl sub_0200D504
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #8
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0xa
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0xb
|
|
bl sub_0200D71C
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D504
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D5D4
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D504
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r3, #2
|
|
str r3, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #3
|
|
bl sub_0200D71C
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov99_021E6A9C
|
|
|
|
thumb_func_start ov99_021E6C14
|
|
ov99_021E6C14: ; 0x021E6C14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x14]
|
|
ldr r1, _021E6C2C ; =ov99_021E9E2C
|
|
bl ov98_0221E6E0
|
|
mov r1, #1
|
|
str r0, [r4, #0x18]
|
|
bl sub_0200DC78
|
|
pop {r4, pc}
|
|
nop
|
|
_021E6C2C: .word ov99_021E9E2C
|
|
thumb_func_end ov99_021E6C14
|
|
|
|
thumb_func_start ov99_021E6C30
|
|
ov99_021E6C30: ; 0x021E6C30
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x48
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x64]
|
|
add r5, r2, #0
|
|
str r0, [sp, #0x64]
|
|
ldr r0, [sp, #0x6c]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #0x6c]
|
|
mov r0, #0
|
|
add r2, sp, #0x14
|
|
add r1, r0, #0
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
str r0, [r2]
|
|
ldr r0, [sp, #4]
|
|
add r7, r3, #0
|
|
bl ov98_0221F150
|
|
mov r4, #0
|
|
cmp r7, #0
|
|
bls _021E6CE6
|
|
add r1, sp, #0x50
|
|
ldrb r2, [r1, #0x18]
|
|
sub r0, r7, r0
|
|
lsl r3, r5, #2
|
|
str r2, [sp, #8]
|
|
ldr r2, [sp]
|
|
add r6, r4, #0
|
|
add r5, r2, r3
|
|
mov r2, #0x10
|
|
ldrsh r1, [r1, r2]
|
|
str r0, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
_021E6C7C:
|
|
sub r1, r7, r4
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [sp, #4]
|
|
lsr r1, r1, #0x18
|
|
bl ov98_0221F120
|
|
add r1, sp, #0x14
|
|
strh r0, [r1, #6]
|
|
ldr r0, [sp, #0x6c]
|
|
cmp r0, #0
|
|
beq _021E6C96
|
|
ldr r0, _021E6CEC ; =ov99_021E9DBC
|
|
b _021E6C98
|
|
_021E6C96:
|
|
ldr r0, _021E6CF0 ; =ov99_021E9DD4
|
|
_021E6C98:
|
|
add r1, sp, #0x28
|
|
mov r2, #0x18
|
|
bl MI_CpuCopy8
|
|
ldr r0, [sp, #0x6c]
|
|
cmp r0, #0
|
|
beq _021E6CAA
|
|
mov r0, #1
|
|
b _021E6CAC
|
|
_021E6CAA:
|
|
mov r0, #2
|
|
_021E6CAC:
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r0, r6
|
|
add r0, sp, #0x14
|
|
strh r1, [r0]
|
|
ldr r1, [sp, #0x64]
|
|
strh r1, [r0, #2]
|
|
ldr r0, [sp]
|
|
add r1, sp, #0x14
|
|
ldr r0, [r0, #0x14]
|
|
bl ov98_0221E6E0
|
|
mov r1, #1
|
|
str r0, [r5, #0x18]
|
|
bl sub_0200DC78
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, r4
|
|
bls _021E6CDA
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
_021E6CDA:
|
|
ldr r0, [sp, #8]
|
|
add r4, r4, #1
|
|
add r6, r6, r0
|
|
add r5, r5, #4
|
|
cmp r4, r7
|
|
blo _021E6C7C
|
|
_021E6CE6:
|
|
add sp, #0x48
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6CEC: .word ov99_021E9DBC
|
|
_021E6CF0: .word ov99_021E9DD4
|
|
thumb_func_end ov99_021E6C30
|
|
|
|
thumb_func_start ov99_021E6CF4
|
|
ov99_021E6CF4: ; 0x021E6CF4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #0x28
|
|
bls _021E6D02
|
|
bl GF_AssertFail
|
|
_021E6D02:
|
|
lsr r2, r4, #1
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
add r2, #0x21
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E6CF4
|
|
|
|
thumb_func_start ov99_021E6D14
|
|
ov99_021E6D14: ; 0x021E6D14
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #0xa
|
|
bls _021E6D22
|
|
bl GF_AssertFail
|
|
_021E6D22:
|
|
add r4, #0x11
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #9
|
|
add r2, r4, #0
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E6D14
|
|
|
|
thumb_func_start ov99_021E6D34
|
|
ov99_021E6D34: ; 0x021E6D34
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
bl ov99_021E70C8
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5]
|
|
bl ov99_021E70B8
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r5]
|
|
bl ov99_021E70A8
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r5]
|
|
bl ov99_021E70D8
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5]
|
|
bl ov99_021E7088
|
|
str r0, [sp, #0x28]
|
|
add r0, r5, #0
|
|
bl ov99_021E7124
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r5]
|
|
bl ov99_021E7078
|
|
bl ov98_0221EF80
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5]
|
|
bl ov99_021E7068
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x18]
|
|
bl ov99_021E7100
|
|
add r4, r0, #0
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r1, r0
|
|
add r0, r7, r0
|
|
add r0, r4, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
ldr r0, [r5, #0x10]
|
|
bl ov98_0221EEFC
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [r5]
|
|
bl ov99_021E7098
|
|
add r2, r0, #0
|
|
ldr r0, [sp, #0x2c]
|
|
mov r1, #0
|
|
bl BufferPlayersName
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r2, #0xb
|
|
mov r3, #1
|
|
bl ov98_0221EC08
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
mov r2, #0xc
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
mov r2, #0xd
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #3
|
|
mov r2, #0xe
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #4
|
|
mov r2, #0xf
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
mov r2, #0x20
|
|
mov r3, #2
|
|
bl ov98_0221EC08
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #7
|
|
mov r3, #1
|
|
bl ov98_0221EBEC
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov99_021E6CF4
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #8
|
|
mov r2, #0x10
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0xd
|
|
mov r2, #0x1f
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r3, [sp, #0x1c]
|
|
mov r1, #0xa
|
|
mov r2, #0x1c
|
|
bl ov98_0221ECD0
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r3, [sp, #0x20]
|
|
mov r1, #0xb
|
|
mov r2, #0x1d
|
|
bl ov98_0221ECD0
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r3, [sp, #0x24]
|
|
mov r1, #0xc
|
|
mov r2, #0x1e
|
|
bl ov98_0221ECD0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E6D14
|
|
add r0, r5, #0
|
|
bl ov99_021E6C14
|
|
ldr r0, [sp, #0x28]
|
|
cmp r0, #1
|
|
bne _021E6E98
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #1
|
|
bl sub_0200DC4C
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #1
|
|
bl sub_0200DD10
|
|
_021E6E98:
|
|
mov r0, #0xc8
|
|
str r0, [sp]
|
|
mov r0, #0x70
|
|
str r0, [sp, #4]
|
|
mov r0, #0x20
|
|
str r0, [sp, #8]
|
|
mov r2, #1
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #2
|
|
str r2, [sp, #0xc]
|
|
bl ov99_021E6C30
|
|
mov r0, #0x50
|
|
str r0, [sp]
|
|
mov r0, #0xa0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x20
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r5, #0
|
|
mov r2, #3
|
|
mov r3, #4
|
|
bl ov99_021E6C30
|
|
mov r0, #7
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x28
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r2, _021E6F68 ; =ov99_021E9DAC
|
|
ldr r3, [sp, #0x14]
|
|
add r1, #0x18
|
|
bl ov98_0221E6F0
|
|
mov r0, #0x11
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x48
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r2, _021E6F68 ; =ov99_021E9DAC
|
|
ldr r3, [sp, #0x10]
|
|
add r1, #0x18
|
|
bl ov98_0221E6F0
|
|
mov r0, #0x1b
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r2, _021E6F68 ; =ov99_021E9DAC
|
|
add r1, #0x18
|
|
add r3, r7, #0
|
|
bl ov98_0221E6F0
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0x88
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r2, _021E6F68 ; =ov99_021E9DAC
|
|
add r1, #0x18
|
|
add r3, r4, #0
|
|
bl ov98_0221E6F0
|
|
mov r0, #0x39
|
|
str r0, [sp]
|
|
mov r0, #0x60
|
|
str r0, [sp, #4]
|
|
mov r0, #0x78
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x14]
|
|
add r5, #0x18
|
|
ldr r2, _021E6F6C ; =ov99_021E9D8C
|
|
add r1, r5, #0
|
|
add r3, r4, #0
|
|
bl ov98_0221E6F0
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E6F68: .word ov99_021E9DAC
|
|
_021E6F6C: .word ov99_021E9D8C
|
|
thumb_func_end ov99_021E6D34
|
|
|
|
thumb_func_start ov99_021E6F70
|
|
ov99_021E6F70: ; 0x021E6F70
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, _021E6F9C ; =0x00000000
|
|
bne _021E6F7C
|
|
bl GF_AssertFail
|
|
_021E6F7C:
|
|
add r0, r5, #0
|
|
bl sub_02031990
|
|
mov r2, #0
|
|
_021E6F84:
|
|
lsl r1, r2, #1
|
|
ldrh r1, [r0, r1]
|
|
add r1, r4, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r4, r1, #0x10
|
|
add r1, r2, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #0x18
|
|
cmp r2, #0xa
|
|
blo _021E6F84
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E6F9C: .word 0x00000000
|
|
thumb_func_end ov99_021E6F70
|
|
|
|
thumb_func_start ov99_021E6FA0
|
|
ov99_021E6FA0: ; 0x021E6FA0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r5, _021E6FC8 ; =0x00000000
|
|
bne _021E6FAC
|
|
bl GF_AssertFail
|
|
_021E6FAC:
|
|
ldr r7, _021E6FCC ; =0x000001ED
|
|
mov r4, #0
|
|
_021E6FB0:
|
|
ldrb r0, [r6, r4]
|
|
bl MATH_CountPopulation
|
|
add r0, r5, r0
|
|
lsl r0, r0, #0x10
|
|
add r4, r4, #1
|
|
lsr r5, r0, #0x10
|
|
cmp r4, r7
|
|
blt _021E6FB0
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6FC8: .word 0x00000000
|
|
_021E6FCC: .word 0x000001ED
|
|
thumb_func_end ov99_021E6FA0
|
|
|
|
thumb_func_start ov99_021E6FD0
|
|
ov99_021E6FD0: ; 0x021E6FD0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r0, #0
|
|
ldr r0, [r7, #0xc]
|
|
add r5, r1, #0
|
|
mov r1, #0x1c
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x1c
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
ldr r0, [r5, #4]
|
|
ldr r6, [r5]
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
bl sub_02031974
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
bl sub_0203197C
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
bl sub_02031978
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
_021E700C:
|
|
ldrh r1, [r5, #6]
|
|
add r2, r2, #1
|
|
add r5, #0x2c
|
|
strh r1, [r3, #0xc]
|
|
ldrh r0, [r4, #4]
|
|
add r3, r3, #2
|
|
add r0, r0, r1
|
|
strh r0, [r4, #4]
|
|
cmp r2, #5
|
|
blt _021E700C
|
|
ldr r0, [sp, #8]
|
|
str r0, [r4]
|
|
add r0, r6, #0
|
|
bl ov99_021E6F70
|
|
strh r0, [r4, #6]
|
|
ldr r0, [sp]
|
|
bl ov99_021E6FA0
|
|
strh r0, [r4, #0xa]
|
|
ldr r0, [sp]
|
|
bl ov98_0221F024
|
|
strb r0, [r4, #0x16]
|
|
ldr r0, [sp, #4]
|
|
bl ov98_0221F058
|
|
strb r0, [r4, #0x17]
|
|
ldrh r1, [r4, #4]
|
|
ldrh r0, [r4, #6]
|
|
ldrh r2, [r4, #0xa]
|
|
add r0, r1, r0
|
|
add r0, r2, r0
|
|
strh r0, [r4, #8]
|
|
ldr r0, [sp, #8]
|
|
bl PlayerProfile_GetTrainerGender
|
|
strb r0, [r4, #0x18]
|
|
str r4, [r7]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E6FD0
|
|
|
|
thumb_func_start ov99_021E7060
|
|
ov99_021E7060: ; 0x021E7060
|
|
ldr r3, _021E7064 ; =FreeToHeap
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E7064: .word FreeToHeap
|
|
thumb_func_end ov99_021E7060
|
|
|
|
thumb_func_start ov99_021E7068
|
|
ov99_021E7068: ; 0x021E7068
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E7072
|
|
bl GF_AssertFail
|
|
_021E7072:
|
|
ldrb r0, [r4, #0x17]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7068
|
|
|
|
thumb_func_start ov99_021E7078
|
|
ov99_021E7078: ; 0x021E7078
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E7082
|
|
bl GF_AssertFail
|
|
_021E7082:
|
|
ldrb r0, [r4, #0x16]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7078
|
|
|
|
thumb_func_start ov99_021E7088
|
|
ov99_021E7088: ; 0x021E7088
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E7092
|
|
bl GF_AssertFail
|
|
_021E7092:
|
|
ldrb r0, [r4, #0x18]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7088
|
|
|
|
thumb_func_start ov99_021E7098
|
|
ov99_021E7098: ; 0x021E7098
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E70A2
|
|
bl GF_AssertFail
|
|
_021E70A2:
|
|
ldr r0, [r4]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7098
|
|
|
|
thumb_func_start ov99_021E70A8
|
|
ov99_021E70A8: ; 0x021E70A8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E70B2
|
|
bl GF_AssertFail
|
|
_021E70B2:
|
|
ldrh r0, [r4, #0xa]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E70A8
|
|
|
|
thumb_func_start ov99_021E70B8
|
|
ov99_021E70B8: ; 0x021E70B8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E70C2
|
|
bl GF_AssertFail
|
|
_021E70C2:
|
|
ldrh r0, [r4, #6]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E70B8
|
|
|
|
thumb_func_start ov99_021E70C8
|
|
ov99_021E70C8: ; 0x021E70C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E70D2
|
|
bl GF_AssertFail
|
|
_021E70D2:
|
|
ldrh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E70C8
|
|
|
|
thumb_func_start ov99_021E70D8
|
|
ov99_021E70D8: ; 0x021E70D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E70E2
|
|
bl GF_AssertFail
|
|
_021E70E2:
|
|
ldrh r0, [r4, #8]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E70D8
|
|
|
|
thumb_func_start ov99_021E70E8
|
|
ov99_021E70E8: ; 0x021E70E8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
cmp r4, #0
|
|
bne _021E70F6
|
|
bl GF_AssertFail
|
|
_021E70F6:
|
|
lsl r0, r5, #1
|
|
add r0, r4, r0
|
|
ldrh r0, [r0, #0xc]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E70E8
|
|
|
|
thumb_func_start ov99_021E7100
|
|
ov99_021E7100: ; 0x021E7100
|
|
ldr r2, _021E7120 ; =ov99_021E9E04
|
|
mov r3, #0
|
|
_021E7104:
|
|
lsl r1, r3, #2
|
|
ldr r1, [r2, r1]
|
|
cmp r1, r0
|
|
ble _021E7116
|
|
add r1, r3, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r3, r1, #0x18
|
|
cmp r3, #0xa
|
|
blo _021E7104
|
|
_021E7116:
|
|
mov r0, #0xa
|
|
sub r0, r0, r3
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
.balign 4, 0
|
|
_021E7120: .word ov99_021E9E04
|
|
thumb_func_end ov99_021E7100
|
|
|
|
thumb_func_start ov99_021E7124
|
|
ov99_021E7124: ; 0x021E7124
|
|
push {r4, r5, r6, lr}
|
|
mov r5, #0
|
|
add r6, r0, #0
|
|
add r4, r5, #0
|
|
_021E712C:
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r6]
|
|
lsr r1, r1, #0x18
|
|
bl ov99_021E70E8
|
|
bl ov98_0221EF64
|
|
add r0, r5, r0
|
|
lsl r0, r0, #0x18
|
|
add r4, r4, #1
|
|
lsr r5, r0, #0x18
|
|
cmp r4, #5
|
|
blt _021E712C
|
|
add r0, r5, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7124
|
|
|
|
thumb_func_start ov99_021E714C
|
|
ov99_021E714C: ; 0x021E714C
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end ov99_021E714C
|
|
|
|
thumb_func_start ov99_021E7150
|
|
ov99_021E7150: ; 0x021E7150
|
|
ldr r0, [r0, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7150
|
|
|
|
thumb_func_start ov99_021E7158
|
|
ov99_021E7158: ; 0x021E7158
|
|
push {r3, lr}
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #2
|
|
ldr r1, [r0, r1]
|
|
lsl r0, r1, #0xd
|
|
lsr r2, r0, #0x1b
|
|
lsl r0, r1, #0x1b
|
|
lsr r0, r0, #0x1b
|
|
cmp r2, r0
|
|
bne _021E717C
|
|
lsl r0, r1, #0x12
|
|
lsr r0, r0, #0x17
|
|
mov r1, #0x1e
|
|
bl _u32_div_f
|
|
lsl r0, r1, #0x18
|
|
lsr r0, r0, #0x18
|
|
bne _021E717E
|
|
_021E717C:
|
|
mov r0, #0x1e
|
|
_021E717E:
|
|
pop {r3, pc}
|
|
thumb_func_end ov99_021E7158
|
|
|
|
thumb_func_start ov99_021E7180
|
|
ov99_021E7180: ; 0x021E7180
|
|
ldr r0, [r0, #0x10]
|
|
ldr r2, [r0, #4]
|
|
sub r0, r1, #1
|
|
ldrb r0, [r2, r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7180
|
|
|
|
thumb_func_start ov99_021E718C
|
|
ov99_021E718C: ; 0x021E718C
|
|
ldr r0, [r0, #0x10]
|
|
ldr r3, _021E7194 ; =ov98_0221F024
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E7194: .word ov98_0221F024
|
|
thumb_func_end ov99_021E718C
|
|
|
|
thumb_func_start ov99_021E7198
|
|
ov99_021E7198: ; 0x021E7198
|
|
push {r3, lr}
|
|
bl ov99_021E7180
|
|
bl MATH_CountPopulation
|
|
cmp r0, #5
|
|
bne _021E71AA
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021E71AA:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7198
|
|
|
|
thumb_func_start ov99_021E71B0
|
|
ov99_021E71B0: ; 0x021E71B0
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #2
|
|
ldr r1, [r0, r1]
|
|
lsl r2, r1, #5
|
|
lsl r1, r1, #0xd
|
|
lsr r3, r2, #0x18
|
|
lsr r2, r1, #0x1b
|
|
mov r1, #0x1e
|
|
mul r1, r2
|
|
add r2, r3, r1
|
|
ldr r1, _021E71D8 ; =0x000001ED
|
|
cmp r2, r1
|
|
blt _021E71CE
|
|
mov r0, #0
|
|
bx lr
|
|
_021E71CE:
|
|
lsl r1, r2, #1
|
|
add r0, r0, r1
|
|
ldrh r0, [r0, #0x14]
|
|
bx lr
|
|
nop
|
|
_021E71D8: .word 0x000001ED
|
|
thumb_func_end ov99_021E71B0
|
|
|
|
thumb_func_start ov99_021E71DC
|
|
ov99_021E71DC: ; 0x021E71DC
|
|
ldr r0, [r0, #0x10]
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E71DC
|
|
|
|
thumb_func_start ov99_021E71E4
|
|
ov99_021E71E4: ; 0x021E71E4
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
beq _021E71F0
|
|
ldr r1, _021E7204 ; =0x000001ED
|
|
cmp r4, r1
|
|
bls _021E71F4
|
|
_021E71F0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E71F4:
|
|
bl ov99_021E71DC
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl Pokedex_GetSeenFormByIdx
|
|
pop {r4, pc}
|
|
nop
|
|
_021E7204: .word 0x000001ED
|
|
thumb_func_end ov99_021E71E4
|
|
|
|
thumb_func_start ov99_021E7208
|
|
ov99_021E7208: ; 0x021E7208
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
beq _021E7214
|
|
ldr r1, _021E7238 ; =0x000001ED
|
|
cmp r4, r1
|
|
bls _021E7218
|
|
_021E7214:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E7218:
|
|
bl ov99_021E71DC
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl Pokedex_SpeciesGetLastSeenGender
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E7234
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl GetGenderBySpeciesAndPersonality
|
|
_021E7234:
|
|
pop {r4, pc}
|
|
nop
|
|
_021E7238: .word 0x000001ED
|
|
thumb_func_end ov99_021E7208
|
|
|
|
thumb_func_start ov99_021E723C
|
|
ov99_021E723C: ; 0x021E723C
|
|
push {r3, lr}
|
|
bl ov99_021E71DC
|
|
mov r1, #0
|
|
bl Pokedex_GetSeenSpindaPersonality
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E723C
|
|
|
|
thumb_func_start ov99_021E724C
|
|
ov99_021E724C: ; 0x021E724C
|
|
push {r3, lr}
|
|
bl ov99_021E718C
|
|
bl ov98_0221EF80
|
|
pop {r3, pc}
|
|
thumb_func_end ov99_021E724C
|
|
|
|
thumb_func_start ov99_021E7258
|
|
ov99_021E7258: ; 0x021E7258
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
bl ov99_021E7180
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
mov r7, #1
|
|
_021E7266:
|
|
lsl r0, r4, #2
|
|
add r1, r6, r0
|
|
ldr r0, _021E7288 ; =0x00000444
|
|
ldr r0, [r1, r0]
|
|
add r1, r5, #0
|
|
and r1, r7
|
|
bl sub_0200DCE8
|
|
lsl r0, r5, #0x17
|
|
lsr r5, r0, #0x18
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #5
|
|
blo _021E7266
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E7288: .word 0x00000444
|
|
thumb_func_end ov99_021E7258
|
|
|
|
thumb_func_start ov99_021E728C
|
|
ov99_021E728C: ; 0x021E728C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov99_021E714C
|
|
add r1, r0, #0
|
|
mov r2, #0
|
|
lsl r3, r1, #2
|
|
ldr r1, _021E72BC ; =ov99_021E9F4C
|
|
str r2, [sp]
|
|
add r0, sp, #8
|
|
str r0, [sp, #4]
|
|
ldr r1, [r1, r3]
|
|
ldr r0, [r5, #8]
|
|
ldr r3, [r5, #0xc]
|
|
bl GfGfxLoader_LoadFromOpenNarc_GetSizeOut
|
|
ldr r1, [sp, #8]
|
|
lsr r1, r1, #1
|
|
str r1, [r4]
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021E72BC: .word ov99_021E9F4C
|
|
thumb_func_end ov99_021E728C
|
|
|
|
thumb_func_start ov99_021E72C0
|
|
ov99_021E72C0: ; 0x021E72C0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r1, sp, #0
|
|
add r5, r0, #0
|
|
bl ov99_021E728C
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
ldr r0, [sp]
|
|
mov r7, #0
|
|
cmp r0, #0
|
|
bls _021E7332
|
|
add r6, r7, #0
|
|
_021E72DA:
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
ldrh r4, [r0, r6]
|
|
cmp r4, #0
|
|
beq _021E72EC
|
|
ldr r0, _021E7384 ; =0x000001ED
|
|
cmp r4, r0
|
|
bls _021E72F0
|
|
_021E72EC:
|
|
bl GF_AssertFail
|
|
_021E72F0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E7180
|
|
cmp r0, #0
|
|
beq _021E7328
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x12
|
|
lsr r0, r0, #0x17
|
|
lsl r0, r0, #1
|
|
add r0, r5, r0
|
|
strh r4, [r0, #0x14]
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
ldr r0, _021E7388 ; =0xFFFFC01F
|
|
and r0, r1
|
|
lsl r1, r1, #0x12
|
|
lsr r1, r1, #0x17
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x17
|
|
lsr r1, r1, #0x12
|
|
orr r1, r0
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
_021E7328:
|
|
ldr r0, [sp]
|
|
add r7, r7, #1
|
|
add r6, r6, #2
|
|
cmp r7, r0
|
|
blo _021E72DA
|
|
_021E7332:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x12
|
|
lsr r0, r0, #0x17
|
|
beq _021E7380
|
|
mov r1, #0x1e
|
|
bl _u32_div_f
|
|
mov r2, #0xfd
|
|
lsl r2, r2, #2
|
|
ldr r3, [r5, r2]
|
|
mov r1, #0x1f
|
|
bic r3, r1
|
|
mov r1, #0x1f
|
|
and r0, r1
|
|
orr r0, r3
|
|
str r0, [r5, r2]
|
|
ldr r0, [r5, r2]
|
|
mov r1, #0x1e
|
|
lsl r0, r0, #0x12
|
|
lsr r0, r0, #0x17
|
|
bl _u32_div_f
|
|
cmp r1, #0
|
|
bne _021E7380
|
|
mov r2, #0xfd
|
|
lsl r2, r2, #2
|
|
ldr r3, [r5, r2]
|
|
mov r1, #0x1f
|
|
add r0, r3, #0
|
|
bic r0, r1
|
|
lsl r1, r3, #0x1b
|
|
lsr r1, r1, #0x1b
|
|
sub r3, r1, #1
|
|
mov r1, #0x1f
|
|
and r1, r3
|
|
orr r0, r1
|
|
str r0, [r5, r2]
|
|
_021E7380:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E7384: .word 0x000001ED
|
|
_021E7388: .word 0xFFFFC01F
|
|
thumb_func_end ov99_021E72C0
|
|
|
|
thumb_func_start ov99_021E738C
|
|
ov99_021E738C: ; 0x021E738C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r1, [sp, #0xc]
|
|
mov r5, #0
|
|
add r7, r0, #0
|
|
str r2, [sp, #0x10]
|
|
str r5, [sp, #0x14]
|
|
_021E739A:
|
|
ldr r0, [sp, #0x10]
|
|
mov r4, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
_021E73A2:
|
|
add r0, r4, r5
|
|
add r1, r0, #1
|
|
add r0, sp, #0x18
|
|
strh r1, [r0]
|
|
str r6, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r3, [sp, #0xc]
|
|
ldr r0, [r7]
|
|
add r3, r3, r4
|
|
lsl r3, r3, #0x18
|
|
mov r1, #3
|
|
add r2, sp, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl LoadRectToBgTilemapRect
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _021E73A2
|
|
ldr r0, [sp, #0x10]
|
|
add r5, r5, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #2
|
|
blt _021E739A
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov99_021E738C
|
|
|
|
thumb_func_start ov99_021E73E0
|
|
ov99_021E73E0: ; 0x021E73E0
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r1, r2, #0
|
|
add r5, r0, #0
|
|
bl ov99_021E7198
|
|
cmp r0, #0
|
|
beq _021E7424
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl _s32_div_f
|
|
add r6, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl _s32_div_f
|
|
add r2, r0, #0
|
|
lsl r3, r2, #1
|
|
lsl r1, r6, #2
|
|
add r2, r2, r3
|
|
add r1, r1, #6
|
|
add r2, r2, #4
|
|
lsl r1, r1, #0x10
|
|
lsl r2, r2, #0x10
|
|
add r0, r5, #0
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl ov99_021E738C
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
bl BgCommitTilemapBufferToVram
|
|
_021E7424:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E73E0
|
|
|
|
thumb_func_start ov99_021E7428
|
|
ov99_021E7428: ; 0x021E7428
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r7, _021E744C ; =0x00000408
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
_021E7432:
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, r7]
|
|
add r1, r6, #0
|
|
bl sub_0200DCE8
|
|
add r4, r4, #1
|
|
cmp r4, #0x1e
|
|
blt _021E7432
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E744C: .word 0x00000408
|
|
thumb_func_end ov99_021E7428
|
|
|
|
thumb_func_start ov99_021E7450
|
|
ov99_021E7450: ; 0x021E7450
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
bl ov99_021E7158
|
|
str r0, [sp, #4]
|
|
add r1, sp, #8
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
str r0, [r1, #4]
|
|
str r0, [r1, #8]
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov99_021E7428
|
|
ldr r0, [sp, #4]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021E74F2
|
|
_021E747E:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0xd
|
|
lsr r1, r0, #0x1b
|
|
mov r0, #0x1e
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
lsl r0, r0, #1
|
|
add r0, r5, r0
|
|
ldrh r6, [r0, #0x14]
|
|
ldr r1, [sp, #8]
|
|
ldr r0, _021E74F8 ; =0xFFFFFE00
|
|
and r1, r0
|
|
lsr r0, r0, #0x17
|
|
and r0, r6
|
|
orr r0, r1
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov99_021E71E4
|
|
lsl r0, r0, #0x1b
|
|
ldr r2, [sp, #8]
|
|
ldr r1, _021E74FC ; =0xFFFFC1FF
|
|
lsr r0, r0, #0x12
|
|
and r1, r2
|
|
orr r0, r1
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
lsl r0, r0, #2
|
|
add r7, r5, r0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021E7500 ; =0x00000404
|
|
ldr r1, _021E7504 ; =0x00000408
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r7, r1]
|
|
add r2, sp, #8
|
|
mov r3, #1
|
|
bl ov98_0221E970
|
|
ldr r0, _021E7504 ; =0x00000408
|
|
mov r1, #1
|
|
ldr r0, [r7, r0]
|
|
bl sub_0200DCE8
|
|
lsl r1, r4, #0x10
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x10
|
|
add r2, r6, #0
|
|
bl ov99_021E73E0
|
|
ldr r0, [sp, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021E747E
|
|
_021E74F2:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E74F8: .word 0xFFFFFE00
|
|
_021E74FC: .word 0xFFFFC1FF
|
|
_021E7500: .word 0x00000404
|
|
_021E7504: .word 0x00000408
|
|
thumb_func_end ov99_021E7450
|
|
|
|
thumb_func_start ov99_021E7508
|
|
ov99_021E7508: ; 0x021E7508
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r2, [r4, r0]
|
|
mov r1, #0
|
|
lsl r0, r2, #0x1b
|
|
lsr r0, r0, #0x1b
|
|
beq _021E7522
|
|
lsl r2, r2, #0xd
|
|
lsr r2, r2, #0x1b
|
|
beq _021E7522
|
|
mov r1, #1
|
|
_021E7522:
|
|
cmp r0, #0
|
|
beq _021E7538
|
|
mov r2, #0xfd
|
|
lsl r2, r2, #2
|
|
ldr r2, [r4, r2]
|
|
lsl r2, r2, #0xd
|
|
lsr r2, r2, #0x1b
|
|
cmp r2, r0
|
|
bhs _021E7538
|
|
mov r5, #1
|
|
b _021E753A
|
|
_021E7538:
|
|
mov r5, #0
|
|
_021E753A:
|
|
ldr r0, _021E7594 ; =0x0000040C
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200DCE8
|
|
mov r0, #0x41
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
bl sub_0200DCE8
|
|
mov r1, #1
|
|
lsl r1, r1, #0xa
|
|
ldr r0, [r4, r1]
|
|
sub r1, #0xc
|
|
ldr r1, [r4, r1]
|
|
mov r2, #2
|
|
lsl r1, r1, #0xd
|
|
lsr r1, r1, #0x1b
|
|
add r1, r1, #1
|
|
mov r3, #0
|
|
bl ov98_0221EDA4
|
|
mov r1, #1
|
|
lsl r1, r1, #0xa
|
|
ldr r0, [r4, r1]
|
|
sub r1, #0xc
|
|
ldr r1, [r4, r1]
|
|
mov r2, #2
|
|
lsl r1, r1, #0x1b
|
|
lsr r1, r1, #0x1b
|
|
add r1, r1, #1
|
|
mov r3, #1
|
|
bl ov98_0221EDA4
|
|
mov r3, #0
|
|
mov r0, #1
|
|
str r3, [sp]
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
mov r2, #0x81
|
|
bl ov98_0221ED48
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E7594: .word 0x0000040C
|
|
thumb_func_end ov99_021E7508
|
|
|
|
thumb_func_start ov99_021E7598
|
|
ov99_021E7598: ; 0x021E7598
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #4
|
|
lsr r0, r0, #0x1f
|
|
beq _021E75AE
|
|
mov r0, #1
|
|
b _021E75B2
|
|
_021E75AE:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
_021E75B2:
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bne _021E75E6
|
|
add r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl sub_02019F74
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov99_021E7508
|
|
cmp r4, #0x1e
|
|
bne _021E75DE
|
|
add r0, r5, #0
|
|
bl ov99_021E77D8
|
|
b _021E7636
|
|
_021E75DE:
|
|
add r0, r5, #0
|
|
bl ov99_021E7794
|
|
b _021E7636
|
|
_021E75E6:
|
|
cmp r1, #4
|
|
bne _021E7636
|
|
add r0, r5, #0
|
|
bl ov99_021E7450
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
_021E75F4:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r2, sp, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
add r7, r1, #0
|
|
ldr r0, [sp]
|
|
add r1, sp, #4
|
|
mul r7, r0
|
|
ldr r0, _021E76D4 ; =0x00000458
|
|
add r1, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200DE44
|
|
ldr r0, _021E76D4 ; =0x00000458
|
|
add r2, sp, #4
|
|
mov r1, #2
|
|
ldrsh r2, [r2, r1]
|
|
lsl r1, r7, #1
|
|
add r3, sp, #4
|
|
sub r1, r2, r1
|
|
mov r2, #0
|
|
lsl r1, r1, #0x10
|
|
ldrsh r2, [r3, r2]
|
|
ldr r0, [r4, r0]
|
|
asr r1, r1, #0x10
|
|
bl sub_0200DDB8
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #0x1e
|
|
blt _021E75F4
|
|
_021E7636:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #8
|
|
bhs _021E7680
|
|
ldr r0, [sp]
|
|
mov r1, #2
|
|
neg r4, r0
|
|
ldr r0, [r5]
|
|
mov r2, #1
|
|
add r3, r4, #0
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
mov r2, #1
|
|
add r3, r4, #0
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, [sp]
|
|
mov r6, #0
|
|
lsl r0, r0, #0x10
|
|
add r4, r5, #0
|
|
asr r7, r0, #0x10
|
|
_021E766A:
|
|
ldr r0, _021E76D4 ; =0x00000458
|
|
add r1, r7, #0
|
|
ldr r0, [r4, r0]
|
|
mov r2, #0
|
|
bl sub_0200DED0
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #0x1e
|
|
blt _021E766A
|
|
b _021E76B4
|
|
_021E7680:
|
|
mov r2, #0
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl ScheduleSetBgPosText
|
|
mov r2, #0
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl ScheduleSetBgPosText
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #2
|
|
ldr r2, [r5, r1]
|
|
mov r0, #0xff
|
|
bic r2, r0
|
|
str r2, [r5, r1]
|
|
add r1, #0x10
|
|
ldr r0, [r5, r1]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E76B4:
|
|
mov r2, #0xfe
|
|
lsl r2, r2, #2
|
|
ldr r3, [r5, r2]
|
|
mov r1, #0xff
|
|
add r0, r3, #0
|
|
bic r0, r1
|
|
lsl r1, r3, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
orr r0, r1
|
|
str r0, [r5, r2]
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E76D4: .word 0x00000458
|
|
thumb_func_end ov99_021E7598
|
|
|
|
thumb_func_start ov99_021E76D8
|
|
ov99_021E76D8: ; 0x021E76D8
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r3, sp, #4
|
|
mov r2, #0
|
|
str r2, [r3]
|
|
str r2, [r3, #4]
|
|
str r2, [r3, #8]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, _021E7744 ; =0xFFFFFE00
|
|
add r4, r1, #0
|
|
and r2, r3
|
|
lsr r3, r3, #0x17
|
|
and r3, r4
|
|
orr r2, r3
|
|
str r2, [sp, #4]
|
|
add r5, r0, #0
|
|
bl ov99_021E71E4
|
|
lsl r0, r0, #0x1b
|
|
ldr r2, [sp, #4]
|
|
ldr r1, _021E7748 ; =0xFFFFC1FF
|
|
lsr r0, r0, #0x12
|
|
and r1, r2
|
|
orr r0, r1
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E7208
|
|
lsl r0, r0, #0x1e
|
|
ldr r2, [sp, #4]
|
|
ldr r1, _021E774C ; =0xFFFF3FFF
|
|
lsr r0, r0, #0x10
|
|
and r1, r2
|
|
orr r0, r1
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E7750 ; =0x00000147
|
|
cmp r4, r0
|
|
bne _021E772E
|
|
add r0, r5, #0
|
|
bl ov99_021E723C
|
|
str r0, [sp, #8]
|
|
_021E772E:
|
|
ldr r0, [r5, #0xc]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, _021E7754 ; =0x00000414
|
|
add r1, sp, #4
|
|
ldr r0, [r5, r0]
|
|
add r3, r2, #0
|
|
bl ov98_0221E7E8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E7744: .word 0xFFFFFE00
|
|
_021E7748: .word 0xFFFFC1FF
|
|
_021E774C: .word 0xFFFF3FFF
|
|
_021E7750: .word 0x00000147
|
|
_021E7754: .word 0x00000414
|
|
thumb_func_end ov99_021E76D8
|
|
|
|
thumb_func_start ov99_021E7758
|
|
ov99_021E7758: ; 0x021E7758
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
bl ov98_0221EEFC
|
|
cmp r4, #0
|
|
beq _021E7786
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl BufferSpeciesName
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
mov r2, #0x7c
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
pop {r3, r4, r5, pc}
|
|
_021E7786:
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
bl ov98_0221EE84
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov99_021E7758
|
|
|
|
thumb_func_start ov99_021E7794
|
|
ov99_021E7794: ; 0x021E7794
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl ov99_021E71B0
|
|
add r4, r0, #0
|
|
ldr r0, _021E77D4 ; =0x000001ED
|
|
cmp r4, r0
|
|
bls _021E77A6
|
|
mov r4, #0
|
|
_021E77A6:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E76D8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E7758
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E7258
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E7198
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
mov r0, #4
|
|
lsr r1, r1, #0x18
|
|
bl GX_EngineBToggleLayers
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E77D4: .word 0x000001ED
|
|
thumb_func_end ov99_021E7794
|
|
|
|
thumb_func_start ov99_021E77D8
|
|
ov99_021E77D8: ; 0x021E77D8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021E7810 ; =0x00000414
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200DCE8
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov99_021E7758
|
|
mov r4, #0
|
|
ldr r6, _021E7814 ; =0x00000444
|
|
add r7, r4, #0
|
|
_021E77F4:
|
|
ldr r0, [r5, r6]
|
|
add r1, r7, #0
|
|
bl sub_0200DCE8
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #5
|
|
blt _021E77F4
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E7810: .word 0x00000414
|
|
_021E7814: .word 0x00000444
|
|
thumb_func_end ov99_021E77D8
|
|
|
|
thumb_func_start ov99_021E7818
|
|
ov99_021E7818: ; 0x021E7818
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E78E0 ; =FS_OVERLAY_ID(OVY_98)
|
|
mov r1, #2
|
|
bl HandleLoadOverlay
|
|
add r0, r4, #0
|
|
bl OverlayManager_GetArgs
|
|
add r5, r0, #0
|
|
bl GX_DisableEngineBLayers
|
|
bl GX_DisableEngineALayers
|
|
cmp r5, #0
|
|
bne _021E783C
|
|
bl GF_AssertFail
|
|
_021E783C:
|
|
mov r0, #3
|
|
mov r1, #0x84
|
|
lsl r2, r0, #0x10
|
|
bl CreateHeap
|
|
mov r1, #0x4d
|
|
add r0, r4, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x84
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r2, #0x4d
|
|
mov r1, #0
|
|
lsl r2, r2, #4
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
mov r0, #0x84
|
|
str r0, [r4, #0xc]
|
|
str r5, [r4, #0x10]
|
|
bl ov98_0221F090
|
|
ldr r1, [r4, #0xc]
|
|
mov r0, #0xb1
|
|
bl NARC_New
|
|
str r0, [r4, #4]
|
|
ldr r1, [r4, #0xc]
|
|
mov r0, #0x4a
|
|
bl NARC_New
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
bl ov99_021E72C0
|
|
add r0, r4, #0
|
|
bl ov99_021E7D30
|
|
add r0, r4, #0
|
|
bl ov99_021E7DA4
|
|
ldr r0, _021E78E4 ; =0x0000013A
|
|
ldr r3, _021E78E8 ; =ov99_021E9FDC
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4]
|
|
mov r2, #0xc
|
|
bl ov98_0221EABC
|
|
mov r1, #1
|
|
lsl r1, r1, #0xa
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov99_021E7EF0
|
|
add r0, r4, #0
|
|
bl ov99_021E7A78
|
|
add r0, r4, #0
|
|
bl ov99_021E7508
|
|
add r0, r4, #0
|
|
bl ov99_021E7450
|
|
add r0, r4, #0
|
|
bl ov99_021E7794
|
|
add r0, r4, #0
|
|
bl ov99_021E8224
|
|
mov r0, #0
|
|
bl sub_0200FBDC
|
|
mov r0, #1
|
|
bl sub_0200FBDC
|
|
ldr r0, _021E78EC ; =ov99_021E7A54
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E78E0: .word FS_OVERLAY_ID(OVY_98)
|
|
_021E78E4: .word 0x0000013A
|
|
_021E78E8: .word ov99_021E9FDC
|
|
_021E78EC: .word ov99_021E7A54
|
|
thumb_func_end ov99_021E7818
|
|
|
|
thumb_func_start ov99_021E78F0
|
|
ov99_021E78F0: ; 0x021E78F0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
bl ov99_021E7AB8
|
|
ldr r1, _021E7944 ; =0x00000404
|
|
mov r2, #0x32
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
add r1, r4, r1
|
|
bl ov98_0221E684
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xc
|
|
bl ov98_0221EB84
|
|
add r0, r4, #0
|
|
bl ov99_021E7EBC
|
|
bl ov98_0221F0EC
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x84
|
|
bl DestroyHeap
|
|
ldr r0, _021E7948 ; =FS_OVERLAY_ID(OVY_98)
|
|
bl UnloadOverlayByID
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E7944: .word 0x00000404
|
|
_021E7948: .word FS_OVERLAY_ID(OVY_98)
|
|
thumb_func_end ov99_021E78F0
|
|
|
|
thumb_func_start ov99_021E794C
|
|
ov99_021E794C: ; 0x021E794C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r5]
|
|
add r4, r0, #0
|
|
cmp r1, #4
|
|
bhi _021E7A28
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E796A: ; jump table
|
|
.short _021E7974 - _021E796A - 2 ; case 0
|
|
.short _021E7990 - _021E796A - 2 ; case 1
|
|
.short _021E799E - _021E796A - 2 ; case 2
|
|
.short _021E7A14 - _021E796A - 2 ; case 3
|
|
.short _021E7A22 - _021E796A - 2 ; case 4
|
|
_021E7974:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _021E7A32
|
|
_021E7990:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E7A32
|
|
mov r0, #2
|
|
str r0, [r5]
|
|
b _021E7A32
|
|
_021E799E:
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
lsl r1, r1, #2
|
|
lsr r1, r1, #0x1f
|
|
beq _021E79BA
|
|
bl ov99_021E7794
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
ldr r0, _021E7A40 ; =0xDFFFFFFF
|
|
and r0, r2
|
|
str r0, [r4, r1]
|
|
_021E79BA:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #3
|
|
lsr r0, r0, #0x1f
|
|
beq _021E79DE
|
|
add r0, r4, #0
|
|
bl ov99_021E7598
|
|
cmp r0, #0
|
|
beq _021E7A32
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
ldr r0, _021E7A44 ; =0xEFFFFFFF
|
|
and r0, r2
|
|
str r0, [r4, r1]
|
|
b _021E7A32
|
|
_021E79DE:
|
|
add r0, r4, #0
|
|
bl ov99_021E7BC8
|
|
cmp r0, #0
|
|
bne _021E79F0
|
|
bl ov98_0221EF24
|
|
cmp r0, #0
|
|
beq _021E7A32
|
|
_021E79F0:
|
|
ldr r0, _021E7A48 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _021E7A32
|
|
_021E7A14:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E7A32
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
b _021E7A32
|
|
_021E7A22:
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021E7A28:
|
|
ldr r0, _021E7A4C ; =_021EA5D8
|
|
cmp r0, #0
|
|
beq _021E7A32
|
|
bl GF_AssertFail
|
|
_021E7A32:
|
|
ldr r0, _021E7A50 ; =0x00000404
|
|
ldr r0, [r4, r0]
|
|
bl ov98_0221E6CC
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E7A40: .word 0xDFFFFFFF
|
|
_021E7A44: .word 0xEFFFFFFF
|
|
_021E7A48: .word 0x000005DC
|
|
_021E7A4C: .word _021EA5D8
|
|
_021E7A50: .word 0x00000404
|
|
thumb_func_end ov99_021E794C
|
|
|
|
thumb_func_start ov99_021E7A54
|
|
ov99_021E7A54: ; 0x021E7A54
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0200D034
|
|
ldr r0, [r4]
|
|
bl BgConfig_HandleScheduledScrollAndTransferOps
|
|
ldr r3, _021E7A70 ; =0x027E0000
|
|
ldr r1, _021E7A74 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E7A70: .word 0x027E0000
|
|
_021E7A74: .word 0x00003FF8
|
|
thumb_func_end ov99_021E7A54
|
|
|
|
thumb_func_start ov99_021E7A78
|
|
ov99_021E7A78: ; 0x021E7A78
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _021E7AAC ; =ov99_021EA250
|
|
lsl r0, r0, #5
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r2, _021E7AB0 ; =ov99_021E9FA0
|
|
str r0, [sp, #8]
|
|
ldr r0, _021E7AB4 ; =ov99_021EA03C
|
|
add r3, r4, #0
|
|
bl sub_02019BA4
|
|
mov r1, #0xff
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_021E7AAC: .word ov99_021EA250
|
|
_021E7AB0: .word ov99_021E9FA0
|
|
_021E7AB4: .word ov99_021EA03C
|
|
thumb_func_end ov99_021E7A78
|
|
|
|
thumb_func_start ov99_021E7AB8
|
|
ov99_021E7AB8: ; 0x021E7AB8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xff
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E7AD2
|
|
bl sub_02019BDC
|
|
mov r0, #0xff
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_021E7AD2:
|
|
pop {r4, pc}
|
|
thumb_func_end ov99_021E7AB8
|
|
|
|
thumb_func_start ov99_021E7AD4
|
|
ov99_021E7AD4: ; 0x021E7AD4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r1, [r5, r0]
|
|
add r7, r2, #0
|
|
lsl r2, r1, #0xd
|
|
lsr r2, r2, #0x1b
|
|
cmp r4, #0
|
|
beq _021E7AFA
|
|
ldr r3, _021E7BB8 ; =0xFFF83FFF
|
|
and r1, r3
|
|
add r3, r2, #1
|
|
lsl r3, r3, #0x1b
|
|
lsr r3, r3, #0xd
|
|
orr r1, r3
|
|
str r1, [r5, r0]
|
|
b _021E7B0C
|
|
_021E7AFA:
|
|
cmp r2, #0
|
|
beq _021E7B0C
|
|
ldr r3, _021E7BB8 ; =0xFFF83FFF
|
|
and r1, r3
|
|
sub r3, r2, #1
|
|
lsl r3, r3, #0x1b
|
|
lsr r3, r3, #0xd
|
|
orr r1, r3
|
|
str r1, [r5, r0]
|
|
_021E7B0C:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r1, r0, #0x1b
|
|
lsl r0, r0, #0xd
|
|
lsr r3, r1, #0x1b
|
|
lsr r0, r0, #0x1b
|
|
cmp r0, r3
|
|
bhi _021E7B20
|
|
add r3, r0, #0
|
|
_021E7B20:
|
|
mov r6, #0xfd
|
|
lsl r6, r6, #2
|
|
ldr r1, [r5, r6]
|
|
ldr r0, _021E7BB8 ; =0xFFF83FFF
|
|
and r0, r1
|
|
lsl r1, r3, #0x1b
|
|
lsr r1, r1, #0xd
|
|
orr r0, r1
|
|
str r0, [r5, r6]
|
|
ldr r0, [r5, r6]
|
|
lsl r0, r0, #0xd
|
|
lsr r0, r0, #0x1b
|
|
cmp r0, r2
|
|
beq _021E7BB4
|
|
ldr r0, _021E7BBC ; =0x000005DC
|
|
bl PlaySE
|
|
cmp r4, #0
|
|
bne _021E7B4A
|
|
mov r2, #1
|
|
b _021E7B4C
|
|
_021E7B4A:
|
|
mov r2, #0
|
|
_021E7B4C:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldr r3, [r5, r0]
|
|
ldr r1, _021E7BC0 ; =0xF7FFFFFF
|
|
lsl r2, r2, #0x1f
|
|
and r1, r3
|
|
lsr r2, r2, #4
|
|
orr r1, r2
|
|
str r1, [r5, r0]
|
|
mov r1, #1
|
|
ldr r2, [r5, r0]
|
|
lsl r1, r1, #0x1c
|
|
orr r1, r2
|
|
str r1, [r5, r0]
|
|
add r0, #8
|
|
ldr r0, [r5, r0]
|
|
mov r6, #0
|
|
bl sub_02019F74
|
|
cmp r7, #0
|
|
beq _021E7B80
|
|
cmp r0, #0x1e
|
|
bne _021E7B96
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
b _021E7B96
|
|
_021E7B80:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r4, #0
|
|
beq _021E7B90
|
|
sub r0, r0, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
b _021E7B96
|
|
_021E7B90:
|
|
add r0, r0, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
_021E7B96:
|
|
mov r0, #0xff
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl sub_02019F7C
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov99_021E7C58
|
|
ldr r0, _021E7BC4 ; =0x00000408
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200DCE8
|
|
_021E7BB4:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E7BB8: .word 0xFFF83FFF
|
|
_021E7BBC: .word 0x000005DC
|
|
_021E7BC0: .word 0xF7FFFFFF
|
|
_021E7BC4: .word 0x00000408
|
|
thumb_func_end ov99_021E7AD4
|
|
|
|
thumb_func_start ov99_021E7BC8
|
|
ov99_021E7BC8: ; 0x021E7BC8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xff
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl sub_02019D18
|
|
add r6, r0, #0
|
|
mov r0, #0xff
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl sub_02019F74
|
|
add r4, r0, #0
|
|
ldr r0, _021E7C50 ; =ov99_021E9F54
|
|
bl sub_0202529C
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021E7C12
|
|
cmp r0, #0
|
|
bne _021E7C02
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov99_021E7AD4
|
|
b _021E7C4C
|
|
_021E7C02:
|
|
cmp r0, #1
|
|
bne _021E7C4C
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov99_021E7AD4
|
|
b _021E7C4C
|
|
_021E7C12:
|
|
cmp r6, r1
|
|
bne _021E7C3E
|
|
cmp r4, #0x1e
|
|
bhs _021E7C3E
|
|
ldr r0, _021E7C54 ; =gSystem
|
|
ldr r0, [r0, #0x4c]
|
|
cmp r0, #0x20
|
|
bne _021E7C2E
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov99_021E7AD4
|
|
b _021E7C4C
|
|
_021E7C2E:
|
|
cmp r0, #0x10
|
|
bne _021E7C4C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov99_021E7AD4
|
|
b _021E7C4C
|
|
_021E7C3E:
|
|
cmp r4, #0x1e
|
|
bne _021E7C4C
|
|
ldr r0, _021E7C54 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r1, r0
|
|
bne _021E7C4E
|
|
_021E7C4C:
|
|
mov r0, #0
|
|
_021E7C4E:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E7C50: .word ov99_021E9F54
|
|
_021E7C54: .word gSystem
|
|
thumb_func_end ov99_021E7BC8
|
|
|
|
thumb_func_start ov99_021E7C58
|
|
ov99_021E7C58: ; 0x021E7C58
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xff
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
bl sub_0201A018
|
|
add r1, sp, #0
|
|
add r1, #1
|
|
add r2, sp, #0
|
|
bl sub_02020A0C
|
|
ldr r0, _021E7C9C ; =0x00000408
|
|
add r2, sp, #0
|
|
ldrb r1, [r2, #1]
|
|
ldrb r2, [r2]
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200DDB8
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #2
|
|
ldr r2, [r5, r1]
|
|
ldr r0, _021E7CA0 ; =0xF807FFFF
|
|
and r2, r0
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #5
|
|
orr r0, r2
|
|
str r0, [r5, r1]
|
|
ldr r0, _021E7CA4 ; =0x000005DC
|
|
bl PlaySE
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E7C9C: .word 0x00000408
|
|
_021E7CA0: .word 0xF807FFFF
|
|
_021E7CA4: .word 0x000005DC
|
|
thumb_func_end ov99_021E7C58
|
|
|
|
thumb_func_start ov99_021E7CA8
|
|
ov99_021E7CA8: ; 0x021E7CA8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xff
|
|
add r4, r1, #0
|
|
lsl r0, r0, #2
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
bl sub_02019F7C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov99_021E7C58
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7CA8
|
|
|
|
thumb_func_start ov99_021E7CC8
|
|
ov99_021E7CC8: ; 0x021E7CC8
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7CC8
|
|
|
|
thumb_func_start ov99_021E7CCC
|
|
ov99_021E7CCC: ; 0x021E7CCC
|
|
push {r3, lr}
|
|
mov r3, #0
|
|
bl ov99_021E7CE4
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7CCC
|
|
|
|
thumb_func_start ov99_021E7CD8
|
|
ov99_021E7CD8: ; 0x021E7CD8
|
|
push {r3, lr}
|
|
mov r3, #1
|
|
bl ov99_021E7CE4
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E7CD8
|
|
|
|
thumb_func_start ov99_021E7CE4
|
|
ov99_021E7CE4: ; 0x021E7CE4
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r3, #0
|
|
cmp r4, r2
|
|
beq _021E7D2A
|
|
cmp r4, #0x20
|
|
bhs _021E7D2A
|
|
bl ov99_021E7C58
|
|
cmp r4, #0x1e
|
|
bge _021E7D0C
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #2
|
|
mov r0, #2
|
|
ldr r2, [r5, r1]
|
|
lsl r0, r0, #0x1c
|
|
orr r0, r2
|
|
str r0, [r5, r1]
|
|
b _021E7D12
|
|
_021E7D0C:
|
|
add r0, r5, #0
|
|
bl ov99_021E77D8
|
|
_021E7D12:
|
|
cmp r4, #0x1e
|
|
bne _021E7D1A
|
|
mov r1, #0xc
|
|
b _021E7D1C
|
|
_021E7D1A:
|
|
mov r1, #0xe
|
|
_021E7D1C:
|
|
cmp r6, #0
|
|
beq _021E7D22
|
|
add r1, r1, #1
|
|
_021E7D22:
|
|
ldr r0, _021E7D2C ; =0x00000408
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200DC4C
|
|
_021E7D2A:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E7D2C: .word 0x00000408
|
|
thumb_func_end ov99_021E7CE4
|
|
|
|
thumb_func_start ov99_021E7D30
|
|
ov99_021E7D30: ; 0x021E7D30
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xd4
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl BgConfig_Alloc
|
|
add r3, sp, #0
|
|
ldr r4, _021E7D98 ; =ov99_021E9F80
|
|
str r0, [r5]
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r4, _021E7D9C ; =ov99_021EA0BC
|
|
add r3, sp, #0x10
|
|
mov r2, #0x18
|
|
_021E7D58:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E7D58
|
|
ldr r0, [r4]
|
|
ldr r4, _021E7DA0 ; =ov99_021EA348
|
|
str r0, [r3]
|
|
mov r7, #0
|
|
add r6, sp, #0x10
|
|
_021E7D6A:
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5]
|
|
add r2, r6, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5]
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldrb r0, [r4]
|
|
ldr r3, [r5, #0xc]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
add r7, r7, #1
|
|
add r6, #0x1c
|
|
add r4, r4, #1
|
|
cmp r7, #7
|
|
blt _021E7D6A
|
|
add sp, #0xd4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E7D98: .word ov99_021E9F80
|
|
_021E7D9C: .word ov99_021EA0BC
|
|
_021E7DA0: .word ov99_021EA348
|
|
thumb_func_end ov99_021E7D30
|
|
|
|
thumb_func_start ov99_021E7DA4
|
|
ov99_021E7DA4: ; 0x021E7DA4
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x2a
|
|
add r3, r2, #0
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x2c
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x2e
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x2c
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
mov r3, #2
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x2f
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
mov r3, #2
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x30
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
mov r3, #3
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x2b
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #4]
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x2d
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x31
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x2d
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
mov r3, #6
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x32
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
ldr r2, [r4]
|
|
mov r3, #6
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
thumb_func_end ov99_021E7DA4
|
|
|
|
thumb_func_start ov99_021E7EBC
|
|
ov99_021E7EBC: ; 0x021E7EBC
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl NARC_Delete
|
|
ldr r0, [r5, #4]
|
|
bl NARC_Delete
|
|
ldr r6, _021E7EEC ; =ov99_021EA348
|
|
mov r4, #0
|
|
_021E7ED0:
|
|
ldrb r1, [r6, r4]
|
|
ldr r0, [r5]
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #7
|
|
blo _021E7ED0
|
|
ldr r0, [r5]
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E7EEC: .word ov99_021EA348
|
|
thumb_func_end ov99_021E7EBC
|
|
|
|
thumb_func_start ov99_021E7EF0
|
|
ov99_021E7EF0: ; 0x021E7EF0
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x28
|
|
ldr r5, _021E7F58 ; =ov99_021E9FC4
|
|
add r3, sp, #0x10
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r1, r2, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0x32
|
|
bl ov98_0221E5E0
|
|
ldr r1, _021E7F5C ; =0x00000404
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov99_021E7F90
|
|
add r0, r4, #0
|
|
bl ov99_021E80D0
|
|
add r0, r4, #0
|
|
bl ov99_021E810C
|
|
add r0, r4, #0
|
|
bl ov99_021E8198
|
|
add r0, r4, #0
|
|
bl ov99_021E724C
|
|
add r3, r0, #0
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0x98
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
ldr r1, _021E7F5C ; =0x00000404
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r2, _021E7F60 ; =ov99_021E9F60
|
|
add r1, r4, r1
|
|
bl ov98_0221E6F0
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E7F58: .word ov99_021E9FC4
|
|
_021E7F5C: .word 0x00000404
|
|
_021E7F60: .word ov99_021E9F60
|
|
thumb_func_end ov99_021E7EF0
|
|
|
|
thumb_func_start ov99_021E7F64
|
|
ov99_021E7F64: ; 0x021E7F64
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021E7F88 ; =0x00000404
|
|
ldr r0, [r5, r0]
|
|
bl ov98_0221E5C0
|
|
add r4, r0, #0
|
|
ldr r0, _021E7F88 ; =0x00000404
|
|
ldr r0, [r5, r0]
|
|
bl ov98_0221E5D0
|
|
add r1, r0, #0
|
|
ldr r2, _021E7F8C ; =ov99_021E9F70
|
|
add r0, r4, #0
|
|
mov r3, #2
|
|
bl ov98_0221E784
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E7F88: .word 0x00000404
|
|
_021E7F8C: .word ov99_021E9F70
|
|
thumb_func_end ov99_021E7F64
|
|
|
|
thumb_func_start ov99_021E7F90
|
|
ov99_021E7F90: ; 0x021E7F90
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, _021E80C8 ; =0x00000404
|
|
ldr r0, [r5, r0]
|
|
bl ov98_0221E5C0
|
|
add r4, r0, #0
|
|
ldr r0, _021E80C8 ; =0x00000404
|
|
ldr r0, [r5, r0]
|
|
bl ov98_0221E5D0
|
|
add r6, r0, #0
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D504
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r3, #2
|
|
str r3, [sp, #4]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #3
|
|
bl sub_0200D71C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #4
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x20
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #5
|
|
bl sub_0200D504
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #6
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #7
|
|
bl sub_0200D71C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x18
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x19
|
|
bl sub_0200D504
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x1a
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #4]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x1b
|
|
bl sub_0200D71C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021E80C8 ; =0x00000404
|
|
ldr r1, _021E80CC ; =ov99_021E9F90
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x1e
|
|
mov r3, #1
|
|
bl ov98_0221E8A8
|
|
add r0, r5, #0
|
|
bl ov99_021E7F64
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E80C8: .word 0x00000404
|
|
_021E80CC: .word ov99_021E9F90
|
|
thumb_func_end ov99_021E7F90
|
|
|
|
thumb_func_start ov99_021E80D0
|
|
ov99_021E80D0: ; 0x021E80D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r4, _021E8100 ; =ov99_021EA180
|
|
mov r6, #0
|
|
add r5, r7, #0
|
|
_021E80DA:
|
|
ldr r0, _021E8104 ; =0x00000404
|
|
add r1, r4, #0
|
|
ldr r0, [r7, r0]
|
|
bl ov98_0221E6E0
|
|
ldr r1, _021E8108 ; =0x00000408
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_0200DC78
|
|
add r6, r6, #1
|
|
add r4, #0x34
|
|
add r5, r5, #4
|
|
cmp r6, #4
|
|
blt _021E80DA
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8100: .word ov99_021EA180
|
|
_021E8104: .word 0x00000404
|
|
_021E8108: .word 0x00000408
|
|
thumb_func_end ov99_021E80D0
|
|
|
|
thumb_func_start ov99_021E810C
|
|
ov99_021E810C: ; 0x021E810C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
mov r4, #0
|
|
str r0, [sp]
|
|
add r2, sp, #4
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r7, _021E818C ; =ov99_021E9FB0
|
|
str r0, [r2]
|
|
mov r6, #0x30
|
|
_021E812C:
|
|
add r0, sp, #4
|
|
strh r4, [r0, #6]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x18]
|
|
mov r0, #3
|
|
str r0, [sp, #0x1c]
|
|
str r0, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
mov r0, #2
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r7]
|
|
str r4, [sp, #0x10]
|
|
lsl r1, r0, #3
|
|
add r1, #0x68
|
|
add r0, sp, #4
|
|
strh r1, [r0]
|
|
strh r6, [r0, #2]
|
|
add r0, r4, #0
|
|
add r0, #0xf
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp]
|
|
add r5, r0, r1
|
|
add r1, r0, #0
|
|
ldr r0, _021E8190 ; =0x00000404
|
|
ldr r0, [r1, r0]
|
|
add r1, sp, #4
|
|
bl ov98_0221E6E0
|
|
ldr r1, _021E8194 ; =0x00000408
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_0200DC78
|
|
ldr r0, _021E8194 ; =0x00000408
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200DCE8
|
|
add r4, r4, #1
|
|
add r7, r7, #4
|
|
add r6, #0x20
|
|
cmp r4, #5
|
|
blt _021E812C
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E818C: .word ov99_021E9FB0
|
|
_021E8190: .word 0x00000404
|
|
_021E8194: .word 0x00000408
|
|
thumb_func_end ov99_021E810C
|
|
|
|
thumb_func_start ov99_021E8198
|
|
ov99_021E8198: ; 0x021E8198
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
add r2, sp, #0x10
|
|
add r1, r0, #0
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
str r0, [sp, #8]
|
|
str r0, [r2]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
_021E81BA:
|
|
ldr r0, [sp]
|
|
mov r4, #0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
mov r5, #0x30
|
|
str r0, [sp, #0xc]
|
|
_021E81C6:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #0xc]
|
|
add r7, r4, r0
|
|
add r0, r7, #2
|
|
str r0, [sp, #0x24]
|
|
mov r0, #1
|
|
str r0, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
str r0, [sp, #0x30]
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0x10
|
|
strh r5, [r0]
|
|
strh r1, [r0, #2]
|
|
mov r0, #1
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, _021E821C ; =0x00000404
|
|
add r1, sp, #0x10
|
|
ldr r0, [r6, r0]
|
|
bl ov98_0221E6E0
|
|
add r7, #0x14
|
|
lsl r1, r7, #2
|
|
add r2, r6, r1
|
|
ldr r1, _021E8220 ; =0x00000408
|
|
add r4, r4, #1
|
|
add r5, #0x20
|
|
str r0, [r2, r1]
|
|
cmp r4, #6
|
|
blo _021E81C6
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, #1
|
|
str r0, [sp, #8]
|
|
cmp r0, #5
|
|
blo _021E81BA
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E821C: .word 0x00000404
|
|
_021E8220: .word 0x00000408
|
|
thumb_func_end ov99_021E8198
|
|
|
|
thumb_func_start ov99_021E8224
|
|
ov99_021E8224: ; 0x021E8224
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r5, r0]
|
|
bl ov98_0221EEFC
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0xb
|
|
mov r2, #0x7e
|
|
mov r3, #3
|
|
bl ov98_0221EC24
|
|
mov r1, #0
|
|
mov r0, #1
|
|
str r1, [sp]
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x7f
|
|
mov r3, #1
|
|
bl ov98_0221EC08
|
|
mov r2, #0
|
|
mov r1, #4
|
|
str r2, [sp]
|
|
str r1, [sp, #4]
|
|
lsl r0, r1, #8
|
|
ldr r0, [r5, r0]
|
|
mov r3, #1
|
|
bl ov98_0221EBEC
|
|
mov r7, #1
|
|
mov r4, #0
|
|
lsl r7, r7, #0xa
|
|
_021E8270:
|
|
lsl r2, r4, #0x18
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl BufferPokeathlonMedalName
|
|
ldr r0, [r5, r7]
|
|
add r1, r4, #6
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
add r4, r4, #1
|
|
cmp r4, #5
|
|
blt _021E8270
|
|
add r0, r5, #0
|
|
bl ov99_021E718C
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
mov r1, #1
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x80
|
|
add r3, r1, #0
|
|
bl ov98_0221EC08
|
|
add r0, r5, #0
|
|
bl ov99_021E7150
|
|
cmp r0, #0
|
|
beq _021E82E0
|
|
add r0, r5, #0
|
|
bl ov99_021E724C
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r5, r0]
|
|
mov r1, #2
|
|
add r2, #0x71
|
|
mov r3, #1
|
|
bl ov98_0221EC08
|
|
_021E82E0:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov99_021E8224
|
|
|
|
thumb_func_start ov99_021E82E4
|
|
ov99_021E82E4: ; 0x021E82E4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r5, #0
|
|
bne _021E82F2
|
|
bl GF_AssertFail
|
|
_021E82F2:
|
|
cmp r4, #0xa
|
|
blo _021E82FA
|
|
bl GF_AssertFail
|
|
_021E82FA:
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, #8]
|
|
lsl r0, r4, #1
|
|
ldrh r0, [r1, r0]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov99_021E82E4
|
|
|
|
thumb_func_start ov99_021E8304
|
|
ov99_021E8304: ; 0x021E8304
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E839C ; =FS_OVERLAY_ID(OVY_98)
|
|
mov r1, #2
|
|
bl HandleLoadOverlay
|
|
add r0, r4, #0
|
|
bl OverlayManager_GetArgs
|
|
add r5, r0, #0
|
|
bne _021E831E
|
|
bl GF_AssertFail
|
|
_021E831E:
|
|
mov r0, #3
|
|
mov r1, #0x84
|
|
lsl r2, r0, #0x10
|
|
bl CreateHeap
|
|
add r0, r4, #0
|
|
mov r1, #0xe4
|
|
mov r2, #0x84
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r1, #0
|
|
mov r2, #0xe4
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
mov r0, #0x84
|
|
str r0, [r4, #0xc]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov99_021E93DC
|
|
bl ov98_0221F090
|
|
add r0, r4, #0
|
|
bl ov99_021E8590
|
|
add r0, r4, #0
|
|
bl ov99_021E860C
|
|
ldr r0, _021E83A0 ; =0x0000013A
|
|
ldr r3, _021E83A4 ; =ov99_021EA45C
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4, #4]
|
|
mov r2, #0x13
|
|
bl ov98_0221EABC
|
|
str r0, [r4, #0x10]
|
|
add r0, r4, #0
|
|
bl ov99_021E88D4
|
|
add r0, r4, #0
|
|
bl ov99_021E8788
|
|
add r0, r4, #0
|
|
bl ov99_021E8C04
|
|
add r0, r4, #0
|
|
bl ov99_021E8818
|
|
mov r0, #0
|
|
bl sub_0200FBDC
|
|
mov r0, #1
|
|
bl sub_0200FBDC
|
|
ldr r0, _021E83A8 ; =ov99_021E856C
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E839C: .word FS_OVERLAY_ID(OVY_98)
|
|
_021E83A0: .word 0x0000013A
|
|
_021E83A4: .word ov99_021EA45C
|
|
_021E83A8: .word ov99_021E856C
|
|
thumb_func_end ov99_021E8304
|
|
|
|
thumb_func_start ov99_021E83AC
|
|
ov99_021E83AC: ; 0x021E83AC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl ov99_021E9418
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #0x14]
|
|
add r1, #0x18
|
|
mov r2, #0x25
|
|
bl ov98_0221E684
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0x13
|
|
bl ov98_0221EB84
|
|
add r0, r4, #0
|
|
bl ov99_021E875C
|
|
bl ov98_0221F0EC
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x84
|
|
bl DestroyHeap
|
|
ldr r0, _021E83F0 ; =FS_OVERLAY_ID(OVY_98)
|
|
bl UnloadOverlayByID
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E83F0: .word FS_OVERLAY_ID(OVY_98)
|
|
thumb_func_end ov99_021E83AC
|
|
|
|
thumb_func_start ov99_021E83F4
|
|
ov99_021E83F4: ; 0x021E83F4
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r5]
|
|
add r4, r0, #0
|
|
cmp r1, #4
|
|
bhi _021E84CC
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E8412: ; jump table
|
|
.short _021E841C - _021E8412 - 2 ; case 0
|
|
.short _021E8438 - _021E8412 - 2 ; case 1
|
|
.short _021E8446 - _021E8412 - 2 ; case 2
|
|
.short _021E84B8 - _021E8412 - 2 ; case 3
|
|
.short _021E84C6 - _021E8412 - 2 ; case 4
|
|
_021E841C:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _021E84D6
|
|
_021E8438:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E84D6
|
|
mov r0, #2
|
|
str r0, [r5]
|
|
b _021E84D6
|
|
_021E8446:
|
|
add r1, r4, #0
|
|
add r1, #0xb4
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
beq _021E8464
|
|
add r1, r4, #0
|
|
add r1, #0xb0
|
|
ldr r2, [r1]
|
|
mov r1, #1
|
|
eor r2, r1
|
|
add r1, r4, #0
|
|
add r1, #0xb0
|
|
str r2, [r1]
|
|
bl ov99_021E8828
|
|
_021E8464:
|
|
add r0, r4, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E8482
|
|
add r0, r4, #0
|
|
bl ov99_021E8788
|
|
add r0, r4, #0
|
|
bl ov99_021E8C50
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
_021E8482:
|
|
bl ov98_0221EF24
|
|
cmp r0, #0
|
|
bne _021E8494
|
|
add r0, r4, #0
|
|
bl ov99_021E90F4
|
|
cmp r0, #0
|
|
beq _021E84D6
|
|
_021E8494:
|
|
ldr r0, _021E84E4 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _021E84D6
|
|
_021E84B8:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E84D6
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
b _021E84D6
|
|
_021E84C6:
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021E84CC:
|
|
ldr r0, _021E84E8 ; =_021EA5E4
|
|
cmp r0, #0
|
|
beq _021E84D6
|
|
bl GF_AssertFail
|
|
_021E84D6:
|
|
ldr r0, [r4, #0x14]
|
|
bl ov98_0221E6CC
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021E84E4: .word 0x000005DC
|
|
_021E84E8: .word _021EA5E4
|
|
thumb_func_end ov99_021E83F4
|
|
|
|
thumb_func_start ov99_021E84EC
|
|
ov99_021E84EC: ; 0x021E84EC
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r3, r5, #0
|
|
add r3, #0xb0
|
|
ldr r0, [r5]
|
|
ldr r3, [r3]
|
|
mov r2, #0
|
|
add r4, r1, #0
|
|
bl ov99_021E94CC
|
|
add r6, r0, #0
|
|
ldr r0, [r5]
|
|
bl ov99_021E945C
|
|
add r1, r0, #0
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r2, r6, #0
|
|
bl ov98_0221EFE8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E84EC
|
|
|
|
thumb_func_start ov99_021E8518
|
|
ov99_021E8518: ; 0x021E8518
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
mov r2, #0
|
|
ldr r0, [r5]
|
|
add r3, r2, #0
|
|
add r4, r1, #0
|
|
bl ov99_021E94CC
|
|
add r5, #0xb0
|
|
add r2, r0, #0
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
beq _021E8538
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021E8538:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ov98_0221EFE8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov99_021E8518
|
|
|
|
thumb_func_start ov99_021E8544
|
|
ov99_021E8544: ; 0x021E8544
|
|
push {r3, lr}
|
|
add r3, r0, #0
|
|
add r2, r1, #0
|
|
mov r1, #0xac
|
|
ldr r0, [r3]
|
|
ldrsb r1, [r3, r1]
|
|
add r3, #0xb0
|
|
ldr r3, [r3]
|
|
bl ov99_021E94CC
|
|
ldr r1, _021E8568 ; =0x0000FFFF
|
|
cmp r0, r1
|
|
bne _021E8562
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021E8562:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
nop
|
|
_021E8568: .word 0x0000FFFF
|
|
thumb_func_end ov99_021E8544
|
|
|
|
thumb_func_start ov99_021E856C
|
|
ov99_021E856C: ; 0x021E856C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_0200D034
|
|
ldr r0, [r4, #4]
|
|
bl BgConfig_HandleScheduledScrollAndTransferOps
|
|
ldr r3, _021E8588 ; =0x027E0000
|
|
ldr r1, _021E858C ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E8588: .word 0x027E0000
|
|
_021E858C: .word 0x00003FF8
|
|
thumb_func_end ov99_021E856C
|
|
|
|
thumb_func_start ov99_021E8590
|
|
ov99_021E8590: ; 0x021E8590
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0xb8
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl BgConfig_Alloc
|
|
add r3, sp, #0
|
|
ldr r4, _021E8600 ; =ov99_021EA374
|
|
str r0, [r5, #4]
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r4, _021E8604 ; =ov99_021EA4F4
|
|
add r3, sp, #0x10
|
|
mov r2, #0x15
|
|
_021E85B8:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E85B8
|
|
ldr r4, _021E8608 ; =ov99_021EA59C
|
|
mov r7, #0
|
|
add r6, sp, #0x10
|
|
_021E85C6:
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #4]
|
|
add r2, r6, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #4]
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldrb r0, [r4]
|
|
ldr r3, [r5, #0xc]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
add r7, r7, #1
|
|
add r6, #0x1c
|
|
add r4, r4, #1
|
|
cmp r7, #6
|
|
blt _021E85C6
|
|
ldr r1, [r5, #0xc]
|
|
mov r0, #0xb1
|
|
bl NARC_New
|
|
str r0, [r5, #8]
|
|
add sp, #0xb8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8600: .word ov99_021EA374
|
|
_021E8604: .word ov99_021EA4F4
|
|
_021E8608: .word ov99_021EA59C
|
|
thumb_func_end ov99_021E8590
|
|
|
|
thumb_func_start ov99_021E860C
|
|
ov99_021E860C: ; 0x021E860C
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
mov r2, #0
|
|
add r4, r0, #0
|
|
str r2, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x33
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
add r3, r2, #0
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x34
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x35
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x37
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #2
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x33
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
mov r2, #4
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x34
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x36
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x37
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r4, #4]
|
|
mov r3, #6
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E860C
|
|
|
|
thumb_func_start ov99_021E86D4
|
|
ov99_021E86D4: ; 0x021E86D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x44]
|
|
str r2, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
cmp r0, #0
|
|
beq _021E86E8
|
|
mov r0, #6
|
|
b _021E86EA
|
|
_021E86E8:
|
|
mov r0, #2
|
|
_021E86EA:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #6
|
|
mul r0, r1
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x5a
|
|
mov r5, #0
|
|
ldr r1, [sp, #0x40]
|
|
lsl r0, r0, #2
|
|
mul r0, r1
|
|
str r5, [sp, #0x20]
|
|
str r0, [sp, #0x14]
|
|
_021E8704:
|
|
ldr r0, [sp, #0x10]
|
|
mov r4, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
_021E870C:
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r4, #1
|
|
add r0, r1, r0
|
|
add r1, r0, r5
|
|
ldr r0, [sp, #0x14]
|
|
add r2, sp, #0x24
|
|
add r1, r0, r1
|
|
add r0, sp, #0x24
|
|
strh r1, [r0]
|
|
str r6, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r3, [sp, #0xc]
|
|
ldr r0, [r7, #4]
|
|
add r3, r3, r4
|
|
lsl r3, r3, #0x18
|
|
ldr r1, [sp, #0x1c]
|
|
lsr r3, r3, #0x18
|
|
bl LoadRectToBgTilemapRect
|
|
add r4, r4, #1
|
|
cmp r4, #6
|
|
blt _021E870C
|
|
ldr r0, [sp, #0x10]
|
|
add r5, #0x3c
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
cmp r0, #6
|
|
blt _021E8704
|
|
ldr r0, [r7, #4]
|
|
ldr r1, [sp, #0x1c]
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E86D4
|
|
|
|
thumb_func_start ov99_021E875C
|
|
ov99_021E875C: ; 0x021E875C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl NARC_Delete
|
|
ldr r6, _021E8784 ; =ov99_021EA59C
|
|
mov r4, #0
|
|
_021E876A:
|
|
ldrb r1, [r6, r4]
|
|
ldr r0, [r5, #4]
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #6
|
|
blo _021E876A
|
|
ldr r0, [r5, #4]
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E8784: .word ov99_021EA59C
|
|
thumb_func_end ov99_021E875C
|
|
|
|
thumb_func_start ov99_021E8788
|
|
ov99_021E8788: ; 0x021E8788
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E879A
|
|
mov r5, #1
|
|
b _021E87B0
|
|
_021E879A:
|
|
mov r0, #0xac
|
|
ldrsb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E87AE
|
|
mov r5, #1
|
|
b _021E87B0
|
|
_021E87AE:
|
|
mov r5, #0
|
|
_021E87B0:
|
|
add r0, r4, #0
|
|
bl ov99_021E89EC
|
|
str r5, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r4, #0xac
|
|
ldrb r1, [r4]
|
|
mov r2, #0x1a
|
|
mov r3, #0
|
|
bl ov99_021E86D4
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E8788
|
|
|
|
thumb_func_start ov99_021E87D0
|
|
ov99_021E87D0: ; 0x021E87D0
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E87E2
|
|
mov r0, #2
|
|
b _021E87E4
|
|
_021E87E2:
|
|
mov r0, #1
|
|
_021E87E4:
|
|
lsl r0, r0, #0x1d
|
|
lsr r4, r0, #0x18
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0x33
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #8]
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl GfGfxLoader_GXLoadPalWithSrcOffsetFromOpenNarc
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0x33
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #8]
|
|
mov r2, #4
|
|
add r3, r4, #0
|
|
bl GfGfxLoader_GXLoadPalWithSrcOffsetFromOpenNarc
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov99_021E87D0
|
|
|
|
thumb_func_start ov99_021E8818
|
|
ov99_021E8818: ; 0x021E8818
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov99_021E89A4
|
|
add r0, r4, #0
|
|
bl ov99_021E9038
|
|
pop {r4, pc}
|
|
thumb_func_end ov99_021E8818
|
|
|
|
thumb_func_start ov99_021E8828
|
|
ov99_021E8828: ; 0x021E8828
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
bl ov99_021E89A4
|
|
add r0, r5, #0
|
|
bl ov99_021E9038
|
|
add r0, r5, #0
|
|
bl ov99_021E87D0
|
|
ldr r6, _021E88D0 ; =ov99_021EA35A
|
|
mov r4, #0
|
|
_021E8842:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #7
|
|
bl ov98_0221EE84
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #7
|
|
bl ov98_0221EEDC
|
|
add r2, r5, #0
|
|
add r2, #0xb0
|
|
ldr r2, [r2]
|
|
ldr r0, [r5, #0x10]
|
|
ldrb r2, [r6, r2]
|
|
add r1, r4, #7
|
|
bl ov98_0221EEEC
|
|
add r4, r4, #1
|
|
add r6, r6, #2
|
|
cmp r4, #5
|
|
blt _021E8842
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov99_021E8FEC
|
|
ldr r0, [r5, #4]
|
|
mov r1, #6
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r5, #0x1c]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #3
|
|
bl ov98_0221EE84
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
bl ov98_0221EE84
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x11
|
|
bl ov98_0221EE84
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x12
|
|
bl ov98_0221EE84
|
|
add r0, r5, #0
|
|
bl ov99_021E9020
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
mov r2, #0x3f
|
|
bl ov98_0221EC08
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
mov r2, #0x40
|
|
mov r3, #0
|
|
bl ov98_0221EC08
|
|
mov r0, #0
|
|
add r5, #0xb4
|
|
str r0, [r5]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E88D0: .word ov99_021EA35A
|
|
thumb_func_end ov99_021E8828
|
|
|
|
thumb_func_start ov99_021E88D4
|
|
ov99_021E88D4: ; 0x021E88D4
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r1, #4
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0, #0x10]
|
|
mov r3, #1
|
|
bl ov98_0221EBEC
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
thumb_func_end ov99_021E88D4
|
|
|
|
thumb_func_start ov99_021E88EC
|
|
ov99_021E88EC: ; 0x021E88EC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
ldr r0, _021E89A0 ; =0x0000FFFF
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
cmp r4, r0
|
|
bne _021E8900
|
|
bl GF_AssertFail
|
|
_021E8900:
|
|
mov r0, #0xac
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _021E8944
|
|
add r0, r4, #0
|
|
mov r1, #0x1e
|
|
bl _s32_div_f
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r5, #0x10]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl ov98_0221EDA4
|
|
add r0, r4, #0
|
|
mov r1, #0x1e
|
|
bl _s32_div_f
|
|
mov r0, #0xa
|
|
mul r0, r1
|
|
mov r1, #0x1e
|
|
bl _s32_div_f
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x18
|
|
mov r2, #1
|
|
ldr r0, [r5, #0x10]
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl ov98_0221EDA4
|
|
b _021E8984
|
|
_021E8944:
|
|
cmp r0, #6
|
|
ldr r0, [r5, #0x10]
|
|
bne _021E897A
|
|
lsr r1, r4, #0xa
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl ov98_0221EDA4
|
|
lsr r3, r4, #0x1f
|
|
lsl r2, r4, #0x16
|
|
sub r2, r2, r3
|
|
mov r1, #0x16
|
|
ror r2, r1
|
|
add r2, r3, r2
|
|
add r3, r2, #0
|
|
mov r1, #0xa
|
|
mul r3, r1
|
|
asr r1, r3, #9
|
|
lsr r1, r1, #0x16
|
|
add r1, r3, r1
|
|
mov r2, #1
|
|
ldr r0, [r5, #0x10]
|
|
asr r1, r1, #0xa
|
|
add r3, r2, #0
|
|
bl ov98_0221EDA4
|
|
b _021E8984
|
|
_021E897A:
|
|
add r1, r4, #0
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl ov98_0221EDA4
|
|
_021E8984:
|
|
ldr r0, [sp, #0x18]
|
|
mov r2, #0xac
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldrsb r2, [r5, r2]
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r6, #0
|
|
add r2, #0x56
|
|
mov r3, #0
|
|
bl ov98_0221ED48
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E89A0: .word 0x0000FFFF
|
|
thumb_func_end ov99_021E88EC
|
|
|
|
thumb_func_start ov99_021E89A4
|
|
ov99_021E89A4: ; 0x021E89A4
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
str r1, [sp]
|
|
add r2, #0xb0
|
|
ldr r2, [r2]
|
|
ldr r0, [r4, #0x10]
|
|
lsl r3, r2, #2
|
|
ldr r2, _021E89E4 ; =ov99_021EA384
|
|
ldr r2, [r2, r3]
|
|
mov r3, #1
|
|
bl ov98_0221EC08
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
add r4, #0xb0
|
|
ldr r2, [r4]
|
|
mov r1, #1
|
|
lsl r3, r2, #2
|
|
ldr r2, _021E89E8 ; =ov99_021EA38C
|
|
ldr r2, [r2, r3]
|
|
add r3, r1, #0
|
|
bl ov98_0221EBEC
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_021E89E4: .word ov99_021EA384
|
|
_021E89E8: .word ov99_021EA38C
|
|
thumb_func_end ov99_021E89A4
|
|
|
|
thumb_func_start ov99_021E89EC
|
|
ov99_021E89EC: ; 0x021E89EC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
bl ov98_0221EEFC
|
|
add r2, r5, #0
|
|
add r2, #0xac
|
|
ldrb r2, [r2]
|
|
mov r1, #0
|
|
bl BufferPokeathlonEventName
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
mov r2, #0x3e
|
|
bl ov98_0221EC08
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r3, #0
|
|
str r3, [sp, #4]
|
|
mov r2, #0xac
|
|
ldrsb r2, [r5, r2]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
add r2, #0x41
|
|
bl ov98_0221EBEC
|
|
ldr r0, [r5, #0x10]
|
|
bl ov98_0221EEFC
|
|
add r1, r5, #0
|
|
add r1, #0xac
|
|
add r2, r5, #0
|
|
add r2, #0xb0
|
|
add r4, r0, #0
|
|
ldrb r1, [r1]
|
|
ldr r0, [r5]
|
|
ldr r2, [r2]
|
|
bl ov99_021E94FC
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r3, #7
|
|
bl BufferIntegerAsString
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #3
|
|
mov r2, #0x36
|
|
mov r3, #1
|
|
bl ov98_0221EC08
|
|
mov r4, #0
|
|
add r7, r4, #0
|
|
_021E8A68:
|
|
cmp r4, #0
|
|
bne _021E8A7A
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E8A7A
|
|
mov r6, #1
|
|
b _021E8A7C
|
|
_021E8A7A:
|
|
mov r6, #0
|
|
_021E8A7C:
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov99_021E8544
|
|
cmp r0, #0
|
|
bne _021E8AB2
|
|
mov r1, #0xac
|
|
add r3, r5, #0
|
|
add r3, #0xb0
|
|
lsl r2, r4, #0x18
|
|
ldrsb r1, [r5, r1]
|
|
ldr r0, [r5]
|
|
ldr r3, [r3]
|
|
lsr r2, r2, #0x18
|
|
bl ov99_021E94CC
|
|
add r1, r0, #0
|
|
str r6, [sp]
|
|
mov r3, #0xac
|
|
ldrsb r3, [r5, r3]
|
|
add r0, r5, #0
|
|
add r2, r4, #7
|
|
add r3, #0x56
|
|
bl ov99_021E88EC
|
|
b _021E8ACA
|
|
_021E8AB2:
|
|
lsl r0, r6, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
mov r2, #0xac
|
|
ldrsb r2, [r5, r2]
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #7
|
|
add r2, #0x60
|
|
add r3, r7, #0
|
|
bl ov98_0221EBEC
|
|
_021E8ACA:
|
|
add r4, r4, #1
|
|
cmp r4, #5
|
|
blt _021E8A68
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E8B2A
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
mov r2, #0x4b
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
add r0, r5, #0
|
|
bl ov99_021E9020
|
|
mov r4, #0
|
|
mov r6, #1
|
|
add r7, r4, #0
|
|
_021E8AF2:
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov99_021E8544
|
|
cmp r0, #0
|
|
bne _021E8B20
|
|
add r1, r5, #0
|
|
add r1, #0xac
|
|
ldrb r1, [r1]
|
|
lsl r2, r4, #0x18
|
|
ldr r0, [r5]
|
|
lsr r2, r2, #0x18
|
|
bl ov99_021E9518
|
|
add r1, r4, #0
|
|
str r6, [sp]
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r1, #0xc
|
|
add r3, r7, #0
|
|
bl ov98_0221EE9C
|
|
_021E8B20:
|
|
add r4, r4, #1
|
|
cmp r4, #5
|
|
blt _021E8AF2
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E8B2A:
|
|
mov r0, #0xac
|
|
ldrsb r1, [r5, r0]
|
|
lsl r0, r1, #2
|
|
add r0, r5, r0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E8B4C
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x11
|
|
bl ov98_0221EE84
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x12
|
|
bl ov98_0221EE84
|
|
b _021E8B76
|
|
_021E8B4C:
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r5]
|
|
lsr r1, r1, #0x18
|
|
bl ov99_021E82E4
|
|
add r3, r0, #0
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x11
|
|
mov r2, #0x6b
|
|
bl ov98_0221ECD0
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x12
|
|
mov r2, #0x6a
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
_021E8B76:
|
|
mov r0, #0xac
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0
|
|
bge _021E8B86
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
bl ov98_0221EE84
|
|
_021E8B86:
|
|
ldr r0, [r5]
|
|
bl ov99_021E945C
|
|
cmp r0, #0
|
|
bne _021E8BC8
|
|
mov r0, #0xac
|
|
ldrsb r0, [r5, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E8BB0
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
mov r2, #0x6d
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E8BB0:
|
|
ldr r0, [r5]
|
|
bl ov99_021E9508
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
mov r2, #0x6c
|
|
mov r3, #0
|
|
bl ov98_0221EDC4
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E8BC8:
|
|
mov r1, #0xac
|
|
ldrsb r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl ov99_021E84EC
|
|
cmp r0, #0
|
|
beq _021E8BEE
|
|
ldr r0, [r5]
|
|
bl ov99_021E9508
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
mov r2, #0x6c
|
|
mov r3, #0
|
|
bl ov98_0221EDC4
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E8BEE:
|
|
mov r2, #0xac
|
|
ldrsb r2, [r5, r2]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
add r2, #0x4c
|
|
mov r3, #0
|
|
bl ov98_0221EBD8
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E89EC
|
|
|
|
thumb_func_start ov99_021E8C04
|
|
ov99_021E8C04: ; 0x021E8C04
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
ldr r5, _021E8C4C ; =ov99_021EA3AC
|
|
add r3, sp, #0
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r1, r2, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0x25
|
|
bl ov98_0221E5E0
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
bl ov99_021E8C88
|
|
add r0, r4, #0
|
|
bl ov99_021E8D5C
|
|
add r0, r4, #0
|
|
bl ov99_021E8D88
|
|
add r0, r4, #0
|
|
bl ov99_021E8EBC
|
|
add r0, r4, #0
|
|
bl ov99_021E8C50
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E8C4C: .word ov99_021EA3AC
|
|
thumb_func_end ov99_021E8C04
|
|
|
|
thumb_func_start ov99_021E8C50
|
|
ov99_021E8C50: ; 0x021E8C50
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E8C60
|
|
mov r5, #0
|
|
b _021E8C76
|
|
_021E8C60:
|
|
mov r0, #0xac
|
|
ldrsb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E8C74
|
|
mov r5, #1
|
|
b _021E8C76
|
|
_021E8C74:
|
|
mov r5, #0
|
|
_021E8C76:
|
|
add r0, r4, #0
|
|
bl ov99_021E8F50
|
|
ldr r0, [r4, #0x1c]
|
|
add r1, r5, #0
|
|
bl sub_0200DCE8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E8C50
|
|
|
|
thumb_func_start ov99_021E8C88
|
|
ov99_021E8C88: ; 0x021E8C88
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
bl ov98_0221E5C0
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
bl ov98_0221E5D0
|
|
add r6, r0, #0
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D504
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #2
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #3
|
|
bl sub_0200D71C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0xc
|
|
bl sub_0200D5D4
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0xd
|
|
bl sub_0200D504
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0xe
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0xf
|
|
bl sub_0200D71C
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, _021E8D58 ; =ov99_021EA364
|
|
mov r2, #0xf
|
|
mov r3, #0
|
|
bl ov98_0221E8A8
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E8D58: .word ov99_021EA364
|
|
thumb_func_end ov99_021E8C88
|
|
|
|
thumb_func_start ov99_021E8D5C
|
|
ov99_021E8D5C: ; 0x021E8D5C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r4, _021E8D84 ; =ov99_021EA3F4
|
|
mov r6, #0
|
|
add r5, r7, #0
|
|
_021E8D66:
|
|
ldr r0, [r7, #0x14]
|
|
add r1, r4, #0
|
|
bl ov98_0221E6E0
|
|
mov r1, #1
|
|
str r0, [r5, #0x18]
|
|
bl sub_0200DC78
|
|
add r6, r6, #1
|
|
add r4, #0x34
|
|
add r5, r5, #4
|
|
cmp r6, #2
|
|
blt _021E8D66
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8D84: .word ov99_021EA3F4
|
|
thumb_func_end ov99_021E8D5C
|
|
|
|
thumb_func_start ov99_021E8D88
|
|
ov99_021E8D88: ; 0x021E8D88
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x60
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r2, sp, #0x2c
|
|
add r1, r0, #0
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
str r0, [sp, #0x20]
|
|
str r0, [r2]
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x48
|
|
str r0, [sp, #0x14]
|
|
mov r0, #6
|
|
str r0, [sp, #0x10]
|
|
_021E8DAE:
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
mov r7, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x24]
|
|
_021E8DCC:
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
mov r2, #0x18
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r0, _021E8EB8 ; =ov99_021EA394
|
|
add r1, sp, #0x40
|
|
bl MI_CpuCopy8
|
|
mov r0, #1
|
|
str r0, [sp, #0x3c]
|
|
ldr r1, [sp, #0xc]
|
|
add r0, sp, #0x2c
|
|
strh r1, [r0]
|
|
ldr r1, [sp, #0x24]
|
|
strh r1, [r0, #2]
|
|
mov r0, #0
|
|
str r0, [sp, #0x34]
|
|
mov r1, #0x10
|
|
add r0, sp, #0x2c
|
|
strh r1, [r0, #6]
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
lsl r0, r0, #2
|
|
add r6, r5, r0
|
|
ldr r0, [r5, #0x14]
|
|
add r1, sp, #0x2c
|
|
bl ov98_0221E6E0
|
|
str r0, [r6, #0x18]
|
|
lsl r0, r4, #2
|
|
str r0, [sp, #0x28]
|
|
add r0, r5, r0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E8E1C
|
|
mov r1, #1
|
|
b _021E8E1E
|
|
_021E8E1C:
|
|
mov r1, #0
|
|
_021E8E1E:
|
|
ldr r0, [r6, #0x18]
|
|
bl sub_0200DCE8
|
|
mov r0, #1
|
|
str r0, [sp, #0x34]
|
|
mov r1, #4
|
|
add r0, sp, #0x2c
|
|
strh r1, [r0, #6]
|
|
add r0, r4, #2
|
|
lsl r0, r0, #2
|
|
add r6, r5, r0
|
|
ldr r0, [r5, #0x14]
|
|
add r1, sp, #0x2c
|
|
bl ov98_0221E6E0
|
|
lsl r1, r4, #0x18
|
|
str r0, [r6, #0x18]
|
|
add r0, r5, #0
|
|
asr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov99_021E8518
|
|
add r1, r0, #0
|
|
ldr r0, [r6, #0x18]
|
|
bl sub_0200DCE8
|
|
ldr r0, [r6, #0x18]
|
|
mov r1, #1
|
|
bl sub_0200DC78
|
|
ldr r0, [sp, #0x28]
|
|
add r0, r5, r0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021E8E6A
|
|
mov r0, #1
|
|
b _021E8E6C
|
|
_021E8E6A:
|
|
mov r0, #0
|
|
_021E8E6C:
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
lsl r2, r7, #0x10
|
|
lsr r2, r2, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r3, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
asr r2, r2, #0x10
|
|
bl ov99_021E86D4
|
|
ldr r0, [sp, #0xc]
|
|
add r7, r7, #6
|
|
add r0, #0x30
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x1c]
|
|
cmp r0, #5
|
|
blo _021E8DCC
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #5
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, #0x40
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, #8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
cmp r0, #2
|
|
bhs _021E8EB4
|
|
b _021E8DAE
|
|
_021E8EB4:
|
|
add sp, #0x60
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E8EB8: .word ov99_021EA394
|
|
thumb_func_end ov99_021E8D88
|
|
|
|
thumb_func_start ov99_021E8EBC
|
|
ov99_021E8EBC: ; 0x021E8EBC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x48
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
add r2, sp, #0x14
|
|
add r1, r0, #0
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
str r0, [sp, #0xc]
|
|
str r0, [r2]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2c
|
|
str r0, [sp]
|
|
_021E8EE0:
|
|
ldr r0, [sp]
|
|
mov r4, #0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
mov r5, #0x3c
|
|
str r0, [sp, #0x10]
|
|
_021E8EEC:
|
|
ldr r0, [sp, #8]
|
|
add r0, r4, r0
|
|
add r1, r0, #2
|
|
str r1, [sp, #0x28]
|
|
mov r1, #2
|
|
str r1, [sp, #0x2c]
|
|
str r1, [sp, #0x30]
|
|
str r1, [sp, #0x34]
|
|
str r1, [sp, #0x24]
|
|
ldr r1, [sp, #4]
|
|
add r0, #0x16
|
|
add r2, r5, r1
|
|
add r1, sp, #0x14
|
|
strh r2, [r1]
|
|
ldr r2, [sp, #0x10]
|
|
lsl r0, r0, #2
|
|
strh r2, [r1, #2]
|
|
mov r1, #3
|
|
sub r1, r1, r4
|
|
str r1, [sp, #0x1c]
|
|
add r7, r6, r0
|
|
ldr r0, [r6, #0x14]
|
|
add r1, sp, #0x14
|
|
bl ov98_0221E6E0
|
|
mov r1, #1
|
|
str r0, [r7, #0x18]
|
|
bl sub_0200DC78
|
|
add r4, r4, #1
|
|
add r5, #0x18
|
|
cmp r4, #3
|
|
blo _021E8EEC
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, #3
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
add r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #5
|
|
blo _021E8EE0
|
|
add sp, #0x48
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E8EBC
|
|
|
|
thumb_func_start ov99_021E8F50
|
|
ov99_021E8F50: ; 0x021E8F50
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
mov r7, #0
|
|
add r5, r0, #0
|
|
str r7, [sp, #8]
|
|
_021E8F5A:
|
|
mov r1, #0xac
|
|
add r3, r5, #0
|
|
add r3, #0xb0
|
|
lsl r2, r7, #0x18
|
|
ldrsb r1, [r5, r1]
|
|
ldr r0, [r5]
|
|
ldr r3, [r3]
|
|
lsr r2, r2, #0x18
|
|
bl ov99_021E94CC
|
|
ldr r1, _021E8FE8 ; =0x0000FFFF
|
|
cmp r0, r1
|
|
beq _021E8FD6
|
|
mov r4, #0
|
|
_021E8F76:
|
|
mov r1, #0
|
|
add r0, sp, #0xc
|
|
str r1, [r0]
|
|
str r1, [r0, #4]
|
|
str r1, [r0, #8]
|
|
ldr r0, [sp, #8]
|
|
str r4, [sp]
|
|
add r6, r4, r0
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
mov r2, #0xac
|
|
str r0, [sp, #4]
|
|
ldrsb r2, [r5, r2]
|
|
ldr r0, [r5]
|
|
add r1, sp, #0xc
|
|
add r3, r7, #0
|
|
add r6, #0x16
|
|
bl ov99_021E9464
|
|
ldr r0, [sp, #0xc]
|
|
lsl r0, r0, #0x17
|
|
lsr r0, r0, #0x17
|
|
beq _021E8FD0
|
|
lsl r0, r6, #2
|
|
add r6, r5, r0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r6, #0x18]
|
|
add r2, sp, #0xc
|
|
mov r3, #0
|
|
bl ov98_0221E970
|
|
ldr r0, [r6, #0x18]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
cmp r7, #0
|
|
bne _021E8FD0
|
|
mov r1, #6
|
|
ldr r0, [r6, #0x18]
|
|
lsl r1, r1, #0xa
|
|
bl sub_0200DC8C
|
|
_021E8FD0:
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E8F76
|
|
_021E8FD6:
|
|
ldr r0, [sp, #8]
|
|
add r7, r7, #1
|
|
add r0, r0, #3
|
|
str r0, [sp, #8]
|
|
cmp r7, #5
|
|
blt _021E8F5A
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8FE8: .word 0x0000FFFF
|
|
thumb_func_end ov99_021E8F50
|
|
|
|
thumb_func_start ov99_021E8FEC
|
|
ov99_021E8FEC: ; 0x021E8FEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
mov r4, #0
|
|
str r0, [sp]
|
|
add r7, r1, #0
|
|
str r4, [sp, #4]
|
|
_021E8FF8:
|
|
ldr r0, [sp]
|
|
lsl r1, r4, #2
|
|
mov r6, #0
|
|
add r5, r0, r1
|
|
_021E9000:
|
|
ldr r0, [r5, #0x70]
|
|
add r1, r7, #0
|
|
bl sub_0200DCE8
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
cmp r6, #3
|
|
blt _021E9000
|
|
ldr r0, [sp, #4]
|
|
add r4, r4, #3
|
|
add r0, r0, #1
|
|
str r0, [sp, #4]
|
|
cmp r0, #5
|
|
blt _021E8FF8
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov99_021E8FEC
|
|
|
|
thumb_func_start ov99_021E9020
|
|
ov99_021E9020: ; 0x021E9020
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E9026:
|
|
add r1, r4, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r1, #0xc
|
|
bl ov98_0221EE84
|
|
add r4, r4, #1
|
|
cmp r4, #5
|
|
blt _021E9026
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov99_021E9020
|
|
|
|
thumb_func_start ov99_021E9038
|
|
ov99_021E9038: ; 0x021E9038
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #0x18]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
_021E9048:
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
mov r7, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
_021E905A:
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021E9072
|
|
mov r6, #1
|
|
b _021E9084
|
|
_021E9072:
|
|
lsl r1, r4, #2
|
|
add r1, r5, r1
|
|
add r1, #0xbc
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
bne _021E9082
|
|
mov r6, #1
|
|
b _021E9084
|
|
_021E9082:
|
|
mov r6, #0
|
|
_021E9084:
|
|
add r2, r4, #0
|
|
add r2, #0xc
|
|
cmp r0, #0
|
|
beq _021E9090
|
|
mov r1, #0
|
|
b _021E9092
|
|
_021E9090:
|
|
add r1, r6, #0
|
|
_021E9092:
|
|
lsl r0, r2, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #0x18]
|
|
bl sub_0200DCE8
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
asr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov99_021E8518
|
|
add r1, r0, #0
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #0x20]
|
|
bl sub_0200DCE8
|
|
lsl r2, r7, #0x10
|
|
lsr r2, r2, #0x10
|
|
lsl r2, r2, #0x10
|
|
str r6, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r3, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
asr r2, r2, #0x10
|
|
bl ov99_021E86D4
|
|
ldr r0, [sp, #0x14]
|
|
add r7, r7, #6
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #5
|
|
blo _021E905A
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #5
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x18]
|
|
cmp r0, #2
|
|
blo _021E9048
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E9038
|
|
|
|
thumb_func_start ov99_021E90F4
|
|
ov99_021E90F4: ; 0x021E90F4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xac
|
|
ldrsb r4, [r5, r0]
|
|
ldr r0, _021E92DC ; =gSystem + 0x40
|
|
ldrh r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
beq _021E9154
|
|
ldr r0, _021E92E0 ; =ov99_021EA3C4
|
|
bl sub_0202529C
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021E9114
|
|
b _021E923A
|
|
_021E9114:
|
|
sub r1, r0, #1
|
|
add r0, r5, #0
|
|
add r0, #0xac
|
|
strb r1, [r0]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0xb
|
|
bl sub_0200DC4C
|
|
ldr r0, _021E92E4 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #0xac
|
|
ldrsb r1, [r5, r0]
|
|
sub r0, #0xad
|
|
cmp r1, r0
|
|
bne _021E914A
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0xb4
|
|
str r1, [r0]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0xd
|
|
bl sub_0200DC4C
|
|
ldr r0, _021E92E4 ; =0x000005DC
|
|
bl PlaySE
|
|
_021E914A:
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #1
|
|
bl sub_0200DC78
|
|
b _021E923A
|
|
_021E9154:
|
|
ldr r0, _021E92E8 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r1, r0
|
|
beq _021E9176
|
|
cmp r4, #0xa
|
|
bne _021E9164
|
|
b _021E92D8
|
|
_021E9164:
|
|
sub r1, r0, #2
|
|
cmp r4, r1
|
|
bne _021E9176
|
|
add r1, r5, #0
|
|
add r1, #0xb4
|
|
str r0, [r1]
|
|
ldr r0, _021E92E4 ; =0x000005DC
|
|
bl PlaySE
|
|
_021E9176:
|
|
mov r0, #0xac
|
|
ldrsb r1, [r5, r0]
|
|
sub r0, #0xad
|
|
cmp r1, r0
|
|
bne _021E9196
|
|
ldr r0, _021E92E8 ; =gSystem
|
|
ldr r1, [r0, #0x40]
|
|
mov r0, #0x80
|
|
tst r0, r1
|
|
beq _021E923A
|
|
mov r0, #0xad
|
|
ldrsb r1, [r5, r0]
|
|
add r0, r5, #0
|
|
add r0, #0xac
|
|
strb r1, [r0]
|
|
b _021E923A
|
|
_021E9196:
|
|
cmp r1, #0xa
|
|
bne _021E91B2
|
|
ldr r0, _021E92E8 ; =gSystem
|
|
ldr r1, [r0, #0x40]
|
|
mov r0, #0x40
|
|
tst r0, r1
|
|
beq _021E923A
|
|
mov r0, #0xad
|
|
ldrsb r0, [r5, r0]
|
|
add r1, r0, #5
|
|
add r0, r5, #0
|
|
add r0, #0xac
|
|
strb r1, [r0]
|
|
b _021E923A
|
|
_021E91B2:
|
|
ldr r0, _021E92E8 ; =gSystem
|
|
mov r2, #0x10
|
|
ldr r0, [r0, #0x40]
|
|
tst r2, r0
|
|
beq _021E91C6
|
|
add r0, r5, #0
|
|
add r1, r1, #1
|
|
add r0, #0xac
|
|
strb r1, [r0]
|
|
b _021E9202
|
|
_021E91C6:
|
|
mov r2, #0x20
|
|
tst r2, r0
|
|
beq _021E91D6
|
|
add r0, r5, #0
|
|
sub r1, r1, #1
|
|
add r0, #0xac
|
|
strb r1, [r0]
|
|
b _021E9202
|
|
_021E91D6:
|
|
mov r2, #0x80
|
|
tst r2, r0
|
|
beq _021E91E6
|
|
add r0, r5, #0
|
|
add r1, r1, #5
|
|
add r0, #0xac
|
|
strb r1, [r0]
|
|
b _021E9202
|
|
_021E91E6:
|
|
mov r2, #0x40
|
|
tst r0, r2
|
|
beq _021E9202
|
|
cmp r1, #0xa
|
|
bne _021E91F4
|
|
mov r1, #1
|
|
b _021E91F6
|
|
_021E91F4:
|
|
mov r1, #5
|
|
_021E91F6:
|
|
mov r0, #0xac
|
|
ldrsb r0, [r5, r0]
|
|
sub r1, r0, r1
|
|
add r0, r5, #0
|
|
add r0, #0xac
|
|
strb r1, [r0]
|
|
_021E9202:
|
|
mov r1, #0xac
|
|
ldrsb r2, [r5, r1]
|
|
cmp r2, #0xa
|
|
ble _021E920E
|
|
mov r2, #0xa
|
|
b _021E921A
|
|
_021E920E:
|
|
add r0, r1, #0
|
|
sub r0, #0xad
|
|
cmp r2, r0
|
|
bge _021E921A
|
|
add r2, r1, #0
|
|
sub r2, #0xad
|
|
_021E921A:
|
|
add r0, r5, #0
|
|
add r0, #0xac
|
|
mov r1, #0xac
|
|
strb r2, [r0]
|
|
ldrsb r0, [r5, r1]
|
|
sub r1, #0xad
|
|
cmp r0, r1
|
|
beq _021E923A
|
|
cmp r0, #0xa
|
|
beq _021E923A
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
add r0, r5, #0
|
|
add r0, #0xad
|
|
strb r1, [r0]
|
|
_021E923A:
|
|
mov r0, #0xac
|
|
ldrsb r0, [r5, r0]
|
|
cmp r4, r0
|
|
beq _021E92D6
|
|
ldr r0, _021E92E4 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #0xac
|
|
ldrsb r1, [r5, r0]
|
|
sub r0, #0xad
|
|
cmp r1, r0
|
|
bne _021E9266
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0xe0
|
|
mov r2, #0x10
|
|
bl sub_0200DDB8
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0xc
|
|
bl sub_0200DC4C
|
|
b _021E92D6
|
|
_021E9266:
|
|
cmp r1, #0xa
|
|
bne _021E927E
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0xe0
|
|
mov r2, #0xb0
|
|
bl sub_0200DDB8
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0xc
|
|
bl sub_0200DC4C
|
|
b _021E92D6
|
|
_021E927E:
|
|
cmp r1, #5
|
|
blt _021E9286
|
|
mov r2, #1
|
|
b _021E9288
|
|
_021E9286:
|
|
mov r2, #0
|
|
_021E9288:
|
|
cmp r2, #0
|
|
beq _021E9292
|
|
sub r0, r1, #5
|
|
lsl r0, r0, #0x18
|
|
asr r1, r0, #0x18
|
|
_021E9292:
|
|
mov r3, #0x30
|
|
mul r3, r1
|
|
lsl r2, r2, #6
|
|
add r3, #0x20
|
|
add r2, #0x48
|
|
lsl r1, r3, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r5, #0x18]
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl sub_0200DDB8
|
|
ldr r0, [r5, #0x18]
|
|
bl sub_0200DC64
|
|
cmp r0, #0xb
|
|
beq _021E92BC
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0xa
|
|
bl sub_0200DC4C
|
|
_021E92BC:
|
|
cmp r4, #0xa
|
|
bne _021E92C8
|
|
mov r0, #0xac
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #9
|
|
beq _021E92D6
|
|
_021E92C8:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov99_021E8FEC
|
|
mov r0, #1
|
|
add r5, #0xb8
|
|
str r0, [r5]
|
|
_021E92D6:
|
|
mov r0, #0
|
|
_021E92D8:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E92DC: .word gSystem + 0x40
|
|
_021E92E0: .word ov99_021EA3C4
|
|
_021E92E4: .word 0x000005DC
|
|
_021E92E8: .word gSystem
|
|
thumb_func_end ov99_021E90F4
|
|
|
|
thumb_func_start ov99_021E92EC
|
|
ov99_021E92EC: ; 0x021E92EC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r1, #0
|
|
str r2, [sp, #8]
|
|
add r1, r2, #0
|
|
mov r2, #0x6e
|
|
lsl r2, r2, #2
|
|
bl MI_CpuCopy8
|
|
ldr r1, _021E93D8 ; =ov99_021EA350
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldrh r2, [r1, #4]
|
|
add r0, sp, #0x20
|
|
strh r2, [r0]
|
|
ldrh r2, [r1, #6]
|
|
ldrh r1, [r1, #8]
|
|
strh r2, [r0, #2]
|
|
strh r1, [r0, #4]
|
|
_021E9316:
|
|
ldr r0, [sp, #0xc]
|
|
mov r6, #0
|
|
lsl r0, r0, #0x18
|
|
ldr r4, [sp, #4]
|
|
lsr r5, r0, #0x18
|
|
add r7, r6, #0
|
|
_021E9322:
|
|
ldrh r2, [r4]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl ov98_0221EFB4
|
|
cmp r0, #0
|
|
beq _021E9338
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
cmp r6, #5
|
|
blt _021E9322
|
|
_021E9338:
|
|
cmp r6, #0
|
|
bne _021E9344
|
|
ldr r0, [sp]
|
|
mov r1, #1
|
|
add r0, #0xbc
|
|
str r1, [r0]
|
|
_021E9344:
|
|
add r0, sp, #0x20
|
|
ldrh r0, [r0]
|
|
ldr r4, [sp, #8]
|
|
ldr r5, [sp, #4]
|
|
str r0, [sp, #0x10]
|
|
add r0, sp, #0x20
|
|
ldrh r0, [r0, #2]
|
|
mov r7, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, sp, #0x20
|
|
ldrh r0, [r0, #4]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0xc]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
_021E9364:
|
|
cmp r7, r6
|
|
bne _021E938E
|
|
ldr r1, [sp, #0x10]
|
|
add r0, sp, #0x20
|
|
strh r1, [r0, #6]
|
|
ldr r1, [sp, #0x14]
|
|
mov r2, #6
|
|
strh r1, [r0, #8]
|
|
ldr r1, [sp, #0x18]
|
|
strh r1, [r0, #0xa]
|
|
add r0, sp, #0x24
|
|
add r0, #2
|
|
add r1, r4, #2
|
|
bl MI_CpuCopy8
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #0
|
|
bl ov98_0221EFA4
|
|
strh r0, [r4]
|
|
b _021E93AC
|
|
_021E938E:
|
|
cmp r7, r6
|
|
ble _021E93AC
|
|
add r0, r5, #0
|
|
sub r0, #8
|
|
ldrh r0, [r0]
|
|
strh r0, [r4]
|
|
sub r0, r5, #6
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #2]
|
|
sub r0, r5, #4
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #4]
|
|
sub r0, r5, #2
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #6]
|
|
_021E93AC:
|
|
add r7, r7, #1
|
|
add r4, #8
|
|
add r5, #8
|
|
cmp r7, #5
|
|
blt _021E9364
|
|
ldr r0, [sp, #4]
|
|
add r0, #0x2c
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r0, r0, #4
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x2c
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #0xa
|
|
blt _021E9316
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E93D8: .word ov99_021EA350
|
|
thumb_func_end ov99_021E92EC
|
|
|
|
thumb_func_start ov99_021E93DC
|
|
ov99_021E93DC: ; 0x021E93DC
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r1, #7
|
|
ldr r0, [r5, #0xc]
|
|
lsl r1, r1, #6
|
|
bl AllocFromHeap
|
|
mov r2, #7
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
lsl r2, r2, #6
|
|
bl MI_CpuFill8
|
|
str r6, [r4]
|
|
ldr r1, [r6]
|
|
add r0, r5, #0
|
|
add r2, r4, #4
|
|
bl ov99_021E92EC
|
|
ldr r1, [r5, #0xc]
|
|
mov r0, #8
|
|
bl String_New
|
|
mov r1, #0x6f
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
str r4, [r5]
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E93DC
|
|
|
|
thumb_func_start ov99_021E9418
|
|
ov99_021E9418: ; 0x021E9418
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E9418
|
|
|
|
thumb_func_start ov99_021E9430
|
|
ov99_021E9430: ; 0x021E9430
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
cmp r4, #0xa
|
|
blo _021E9440
|
|
bl GF_AssertFail
|
|
_021E9440:
|
|
cmp r6, #0
|
|
beq _021E9450
|
|
ldr r0, [r5]
|
|
ldr r1, [r0, #4]
|
|
mov r0, #0xa4
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021E9450:
|
|
add r1, r5, #4
|
|
mov r0, #0x2c
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E9430
|
|
|
|
thumb_func_start ov99_021E945C
|
|
ov99_021E945C: ; 0x021E945C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x10]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E945C
|
|
|
|
thumb_func_start ov99_021E9464
|
|
ov99_021E9464: ; 0x021E9464
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
add r4, r3, #0
|
|
cmp r6, #0
|
|
bne _021E9476
|
|
bl GF_AssertFail
|
|
_021E9476:
|
|
cmp r4, #5
|
|
blt _021E947E
|
|
bl GF_AssertFail
|
|
_021E947E:
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #3
|
|
blt _021E9488
|
|
bl GF_AssertFail
|
|
_021E9488:
|
|
lsl r1, r7, #0x18
|
|
ldr r2, [sp, #0x1c]
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov99_021E9430
|
|
lsl r1, r4, #3
|
|
add r1, r0, r1
|
|
ldr r0, [sp, #0x18]
|
|
ldr r2, [r5]
|
|
lsl r0, r0, #1
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #2]
|
|
ldr r1, _021E94C4 ; =0xFFFFFE00
|
|
add r3, r2, #0
|
|
lsr r2, r1, #0x16
|
|
and r3, r1
|
|
and r2, r0
|
|
lsr r1, r1, #0x17
|
|
and r1, r2
|
|
add r2, r3, #0
|
|
orr r2, r1
|
|
ldr r1, _021E94C8 ; =0xFFFFC1FF
|
|
asr r0, r0, #0xa
|
|
lsl r0, r0, #0x1b
|
|
and r1, r2
|
|
lsr r0, r0, #0x12
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E94C4: .word 0xFFFFFE00
|
|
_021E94C8: .word 0xFFFFC1FF
|
|
thumb_func_end ov99_021E9464
|
|
|
|
thumb_func_start ov99_021E94CC
|
|
ov99_021E94CC: ; 0x021E94CC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
add r7, r3, #0
|
|
cmp r5, #0
|
|
bne _021E94DE
|
|
bl GF_AssertFail
|
|
_021E94DE:
|
|
cmp r4, #5
|
|
blo _021E94E6
|
|
bl GF_AssertFail
|
|
_021E94E6:
|
|
lsl r1, r6, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
add r2, r7, #0
|
|
bl ov99_021E9430
|
|
add r1, r4, #0
|
|
bl ov98_0221F01C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E94CC
|
|
|
|
thumb_func_start ov99_021E94FC
|
|
ov99_021E94FC: ; 0x021E94FC
|
|
push {r3, lr}
|
|
bl ov99_021E9430
|
|
ldr r0, [r0, #0x28]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov99_021E94FC
|
|
|
|
thumb_func_start ov99_021E9508
|
|
ov99_021E9508: ; 0x021E9508
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E9512
|
|
bl GF_AssertFail
|
|
_021E9512:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0xc]
|
|
pop {r4, pc}
|
|
thumb_func_end ov99_021E9508
|
|
|
|
thumb_func_start ov99_021E9518
|
|
ov99_021E9518: ; 0x021E9518
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
cmp r5, #0
|
|
bne _021E9528
|
|
bl GF_AssertFail
|
|
_021E9528:
|
|
ldr r1, [r5]
|
|
mov r0, #0x6f
|
|
ldr r2, [r1, #4]
|
|
mov r1, #0xa4
|
|
mul r1, r4
|
|
add r2, r2, r1
|
|
lsl r0, r0, #2
|
|
mov r1, #0x18
|
|
ldr r0, [r5, r0]
|
|
add r2, #0x30
|
|
mul r1, r6
|
|
add r1, r2, r1
|
|
bl CopyU16ArrayToString
|
|
mov r0, #0x6f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov99_021E9518
|
|
|
|
.rodata
|
|
|
|
_021E954C:
|
|
.byte 0x00, 0x01, 0x02, 0x03
|
|
.byte 0x04, 0x05, 0x06, 0x07
|
|
|
|
ov99_021E9554: ; 0x021E9554
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9564: ; 0x021E9564
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9574: ; 0x021E9574
|
|
.byte 0xD0, 0x00
|
|
|
|
ov99_021E9576: ; 0x021E9576
|
|
.byte 0x10, 0x00, 0xF0, 0x00, 0x30, 0x00, 0xD0, 0x00, 0x50, 0x00
|
|
.byte 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x00, 0x90, 0x00, 0xE0, 0x00, 0xB0, 0x00
|
|
|
|
ov99_021E958C: ; 0x021E958C
|
|
.byte 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E95A4: ; 0x021E95A4
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E95BC: ; 0x021E95BC
|
|
.byte 0xFE, 0xD0, 0x10, 0x10
|
|
.byte 0xFE, 0xF0, 0x30, 0x10, 0xFE, 0xD0, 0x50, 0x10, 0xFE, 0xF0, 0x70, 0x10, 0xFE, 0xD0, 0x90, 0x10
|
|
.byte 0xA0, 0xC0, 0xC0, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E95D8: ; 0x021E95D8
|
|
.byte 0x3F, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E95DC: ; 0x021E95DC
|
|
.byte 0x45, 0x00, 0x00, 0x00
|
|
.byte 0x40, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00
|
|
.byte 0x42, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9600: ; 0x021E9600
|
|
.byte 0x00, 0x01, 0x06, 0x0A, 0x03, 0x02, 0x09, 0x0A, 0x08, 0x09, 0x01, 0x0A, 0x07, 0x06, 0x03, 0x0A
|
|
.byte 0x05, 0x04, 0x00, 0x0A, 0x00, 0x05, 0x04, 0x06, 0x05, 0x04, 0x01, 0x08, 0x09, 0x08, 0x01, 0x03
|
|
.byte 0x03, 0x02, 0x09, 0x07, 0x06, 0x07, 0x00, 0x02
|
|
|
|
ov99_021E9628: ; 0x021E9628
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9650: ; 0x021E9650
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9690: ; 0x021E9690
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x38, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00
|
|
.byte 0x68, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x58, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E96D8: ; 0x021E96D8
|
|
.byte 0x00, 0x00, 0x00, 0x0E, 0x02, 0x0C, 0x01, 0x00
|
|
.byte 0x00, 0x00, 0x16, 0x0E, 0x02, 0x0C, 0x1D, 0x00, 0x00, 0x19, 0x15, 0x06, 0x02, 0x0C, 0x39, 0x00
|
|
.byte 0x06, 0x07, 0x00, 0x12, 0x02, 0x0C, 0x01, 0x00, 0x06, 0x02, 0x02, 0x1C, 0x02, 0x0C, 0x25, 0x00
|
|
.byte 0x06, 0x03, 0x06, 0x0E, 0x02, 0x0C, 0x5D, 0x00, 0x06, 0x03, 0x08, 0x0E, 0x02, 0x0C, 0x79, 0x00
|
|
.byte 0x06, 0x03, 0x0A, 0x0E, 0x02, 0x0C, 0x95, 0x00, 0x06, 0x16, 0x06, 0x08, 0x02, 0x0C, 0xB1, 0x00
|
|
.byte 0x06, 0x16, 0x08, 0x08, 0x02, 0x0C, 0xC1, 0x00, 0x06, 0x16, 0x0A, 0x08, 0x02, 0x0C, 0xD1, 0x00
|
|
.byte 0x06, 0x07, 0x0C, 0x0E, 0x02, 0x0C, 0xE1, 0x00, 0x06, 0x16, 0x0C, 0x08, 0x02, 0x0C, 0xFD, 0x00
|
|
.byte 0x06, 0x1A, 0x16, 0x06, 0x02, 0x0C, 0x0D, 0x01, 0x06, 0x04, 0x10, 0x0C, 0x02, 0x0C, 0x19, 0x01
|
|
.byte 0x06, 0x05, 0x13, 0x0C, 0x02, 0x0C, 0x31, 0x01, 0x06, 0x06, 0x16, 0x0C, 0x02, 0x0C, 0x49, 0x01
|
|
|
|
ov99_021E9760: ; 0x021E9760
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x02
|
|
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x03, 0x00, 0x02, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1D, 0x01
|
|
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x02, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1B, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9840: ; 0x021E9840
|
|
.byte 0xD0, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x50, 0x00
|
|
.byte 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xF0, 0x00, 0x70, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x90, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x30, 0x00
|
|
.byte 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xD0, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x90, 0x00, 0x00, 0x00, 0x02, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x40, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x38, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x98, 0x00
|
|
.byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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
|
|
.byte 0x58, 0x00, 0x98, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 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
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x38, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x60, 0x00, 0x00, 0x00, 0x0B, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x98, 0x00
|
|
.byte 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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
|
|
.byte 0xD0, 0x00, 0x95, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x95, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x95, 0x00, 0x00, 0x00, 0x02, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9D88: ; 0x021E9D88
|
|
.byte 0x00, 0x01, 0x04, 0x05
|
|
|
|
ov99_021E9D8C: ; 0x021E9D8C
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9D9C: ; 0x021E9D9C
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9DAC: ; 0x021E9DAC
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9DBC: ; 0x021E9DBC
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9DD4: ; 0x021E9DD4
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9DEC: ; 0x021E9DEC
|
|
.byte 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9E04: ; 0x021E9E04
|
|
.byte 0x94, 0x11, 0x00, 0x00, 0x68, 0x10, 0x00, 0x00, 0xA0, 0x0F, 0x00, 0x00
|
|
.byte 0xD8, 0x0E, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x48, 0x0D, 0x00, 0x00, 0xE4, 0x0C, 0x00, 0x00
|
|
.byte 0x80, 0x0C, 0x00, 0x00, 0x1C, 0x0C, 0x00, 0x00, 0xB8, 0x0B, 0x00, 0x00
|
|
|
|
ov99_021E9E2C: ; 0x021E9E2C
|
|
.byte 0xD8, 0x00, 0x28, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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
|
|
|
|
ov99_021E9E60: ; 0x021E9E60
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x01
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x03, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9ED0: ; 0x021E9ED0
|
|
.byte 0x01, 0x00, 0x00, 0x18, 0x02, 0x0C, 0x01, 0x00, 0x01, 0x01, 0x02, 0x10, 0x02, 0x0C, 0x31, 0x00
|
|
.byte 0x01, 0x01, 0x06, 0x10, 0x02, 0x0C, 0x51, 0x00, 0x01, 0x01, 0x0A, 0x10, 0x02, 0x0C, 0x71, 0x00
|
|
.byte 0x01, 0x01, 0x0E, 0x10, 0x02, 0x0C, 0x91, 0x00, 0x01, 0x18, 0x12, 0x08, 0x02, 0x0C, 0xB1, 0x00
|
|
.byte 0x01, 0x01, 0x12, 0x16, 0x06, 0x0C, 0xC1, 0x00, 0x01, 0x19, 0x15, 0x06, 0x02, 0x0C, 0x45, 0x01
|
|
.byte 0x05, 0x01, 0x00, 0x14, 0x02, 0x0C, 0x01, 0x00, 0x05, 0x01, 0x02, 0x1E, 0x02, 0x0C, 0x29, 0x00
|
|
.byte 0x05, 0x01, 0x05, 0x1F, 0x02, 0x0C, 0x65, 0x00, 0x05, 0x01, 0x08, 0x1F, 0x02, 0x0C, 0xA3, 0x00
|
|
.byte 0x05, 0x01, 0x0B, 0x1E, 0x02, 0x0C, 0xE1, 0x00, 0x05, 0x03, 0x0E, 0x0A, 0x02, 0x0C, 0x1D, 0x01
|
|
.byte 0x05, 0x18, 0x16, 0x08, 0x02, 0x0C, 0x31, 0x01, 0x20, 0x00, 0x30, 0x00
|
|
|
|
ov99_021E9F4C: ; 0x021E9F4C
|
|
.byte 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9F54: ; 0x021E9F54
|
|
.byte 0x44, 0x63, 0x00, 0x1F, 0x44, 0x63, 0xE0, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9F60: ; 0x021E9F60
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9F70: ; 0x021E9F70
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9F80: ; 0x021E9F80
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9F90: ; 0x021E9F90
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9FA0: ; 0x021E9FA0
|
|
.word ov99_021E7CA8, ov99_021E7CC8, ov99_021E7CCC, ov99_021E7CD8
|
|
|
|
ov99_021E9FB0: ; 0x021E9FB0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9FC4: ; 0x021E9FC4
|
|
.byte 0x22, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021E9FDC: ; 0x021E9FDC
|
|
.byte 0x01, 0x00, 0x00, 0x0C
|
|
.byte 0x02, 0x0C, 0x01, 0x00, 0x01, 0x00, 0x14, 0x12, 0x02, 0x0C, 0x19, 0x00, 0x01, 0x00, 0x16, 0x18
|
|
.byte 0x02, 0x0C, 0x3D, 0x00, 0x01, 0x0F, 0x00, 0x05, 0x02, 0x0C, 0x6D, 0x00, 0x01, 0x19, 0x15, 0x06
|
|
.byte 0x02, 0x0C, 0x77, 0x00, 0x05, 0x07, 0x01, 0x14, 0x02, 0x0C, 0x01, 0x00, 0x05, 0x0F, 0x05, 0x0B
|
|
.byte 0x02, 0x0C, 0x29, 0x00, 0x05, 0x11, 0x09, 0x0B, 0x02, 0x0C, 0x3F, 0x00, 0x05, 0x12, 0x0D, 0x0B
|
|
.byte 0x02, 0x0C, 0x55, 0x00, 0x05, 0x11, 0x11, 0x0B, 0x02, 0x0C, 0x6B, 0x00, 0x05, 0x0F, 0x15, 0x0B
|
|
.byte 0x02, 0x0C, 0x81, 0x00, 0x06, 0x02, 0x12, 0x08, 0x04, 0x01, 0x00, 0x02
|
|
|
|
ov99_021EA03C: ; 0x021EA03C
|
|
.byte 0x1C, 0x33, 0x20, 0x3F
|
|
.byte 0x1C, 0x33, 0x40, 0x5F, 0x1C, 0x33, 0x60, 0x7F, 0x1C, 0x33, 0x80, 0x9F, 0x1C, 0x33, 0xA0, 0xBF
|
|
.byte 0x1C, 0x33, 0xC0, 0xDF, 0x34, 0x4B, 0x20, 0x3F, 0x34, 0x4B, 0x40, 0x5F, 0x34, 0x4B, 0x60, 0x7F
|
|
.byte 0x34, 0x4B, 0x80, 0x9F, 0x34, 0x4B, 0xA0, 0xBF, 0x34, 0x4B, 0xC0, 0xDF, 0x4C, 0x63, 0x20, 0x3F
|
|
.byte 0x4C, 0x63, 0x40, 0x5F, 0x4C, 0x63, 0x60, 0x7F, 0x4C, 0x63, 0x80, 0x9F, 0x4C, 0x63, 0xA0, 0xBF
|
|
.byte 0x4C, 0x63, 0xC0, 0xDF, 0x64, 0x7B, 0x20, 0x3F, 0x64, 0x7B, 0x40, 0x5F, 0x64, 0x7B, 0x60, 0x7F
|
|
.byte 0x64, 0x7B, 0x80, 0x9F, 0x64, 0x7B, 0xA0, 0xBF, 0x64, 0x7B, 0xC0, 0xDF, 0x7C, 0x93, 0x20, 0x3F
|
|
.byte 0x7C, 0x93, 0x40, 0x5F, 0x7C, 0x93, 0x60, 0x7F, 0x7C, 0x93, 0x80, 0x9F, 0x7C, 0x93, 0xA0, 0xBF
|
|
.byte 0x7C, 0x93, 0xC0, 0xDF, 0xA0, 0xBF, 0xC0, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA0BC: ; 0x021EA0BC
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01
|
|
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00
|
|
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x01, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA180: ; 0x021EA180
|
|
.byte 0x30, 0x00, 0x24, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x70, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA250: ; 0x021EA250
|
|
.byte 0x30, 0x24, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x50, 0x24, 0x00, 0x00, 0x01, 0x07, 0x00, 0x02
|
|
.byte 0x70, 0x24, 0x00, 0x00, 0x02, 0x08, 0x01, 0x03, 0x90, 0x24, 0x00, 0x00, 0x03, 0x09, 0x02, 0x04
|
|
.byte 0xB0, 0x24, 0x00, 0x00, 0x04, 0x0A, 0x03, 0x05, 0xD0, 0x24, 0x00, 0x00, 0x05, 0x0B, 0x04, 0x05
|
|
.byte 0x30, 0x3C, 0x00, 0x00, 0x00, 0x0C, 0x06, 0x07, 0x50, 0x3C, 0x00, 0x00, 0x01, 0x0D, 0x06, 0x08
|
|
.byte 0x70, 0x3C, 0x00, 0x00, 0x02, 0x0E, 0x07, 0x09, 0x90, 0x3C, 0x00, 0x00, 0x03, 0x0F, 0x08, 0x0A
|
|
.byte 0xB0, 0x3C, 0x00, 0x00, 0x04, 0x10, 0x09, 0x0B, 0xD0, 0x3C, 0x00, 0x00, 0x05, 0x11, 0x0A, 0x0B
|
|
.byte 0x30, 0x54, 0x00, 0x00, 0x06, 0x12, 0x0C, 0x0D, 0x50, 0x54, 0x00, 0x00, 0x07, 0x13, 0x0C, 0x0E
|
|
.byte 0x70, 0x54, 0x00, 0x00, 0x08, 0x14, 0x0D, 0x0F, 0x90, 0x54, 0x00, 0x00, 0x09, 0x15, 0x0E, 0x10
|
|
.byte 0xB0, 0x54, 0x00, 0x00, 0x0A, 0x16, 0x0F, 0x11, 0xD0, 0x54, 0x00, 0x00, 0x0B, 0x17, 0x10, 0x11
|
|
.byte 0x30, 0x6C, 0x00, 0x00, 0x0C, 0x18, 0x12, 0x13, 0x50, 0x6C, 0x00, 0x00, 0x0D, 0x19, 0x12, 0x14
|
|
.byte 0x70, 0x6C, 0x00, 0x00, 0x0E, 0x1A, 0x13, 0x15, 0x90, 0x6C, 0x00, 0x00, 0x0F, 0x1B, 0x14, 0x16
|
|
.byte 0xB0, 0x6C, 0x00, 0x00, 0x10, 0x1C, 0x15, 0x17, 0xD0, 0x6C, 0x00, 0x00, 0x11, 0x1D, 0x16, 0x17
|
|
.byte 0x30, 0x84, 0x00, 0x00, 0x12, 0x1E, 0x18, 0x19, 0x50, 0x84, 0x00, 0x00, 0x13, 0x1E, 0x18, 0x1A
|
|
.byte 0x70, 0x84, 0x00, 0x00, 0x14, 0x1E, 0x19, 0x1B, 0x90, 0x84, 0x00, 0x00, 0x15, 0x1E, 0x1A, 0x1C
|
|
.byte 0xB0, 0x84, 0x00, 0x00, 0x16, 0x1E, 0x1B, 0x1D, 0xD0, 0x84, 0x00, 0x00, 0x17, 0x1E, 0x1C, 0x1D
|
|
.byte 0xE0, 0xB0, 0x00, 0x00, 0x9D, 0x1E, 0x1E, 0x1E
|
|
|
|
ov99_021EA348: ; 0x021EA348
|
|
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00
|
|
|
|
ov99_021EA350: ; 0x021EA350
|
|
.byte 0x3C, 0x00, 0x2C, 0x00, 0x98, 0x00, 0x9B, 0x00, 0x9E, 0x00
|
|
|
|
ov99_021EA35A: ; 0x021EA35A
|
|
.byte 0x04, 0x06, 0x09, 0x0A, 0x0D, 0x0E
|
|
.byte 0x11, 0x12, 0x15, 0x16
|
|
|
|
ov99_021EA364: ; 0x021EA364
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA374: ; 0x021EA374
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA384: ; 0x021EA384
|
|
.byte 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA38C: ; 0x021EA38C
|
|
.byte 0x6E, 0x00, 0x00, 0x00
|
|
.byte 0x6F, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA394: ; 0x021EA394
|
|
.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
|
|
|
|
ov99_021EA3AC: ; 0x021EA3AC
|
|
.byte 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA3C4: ; 0x021EA3C4
|
|
.byte 0x00, 0x20, 0xC0, 0x00, 0x30, 0x60, 0x08, 0x38, 0x30, 0x60, 0x38, 0x68
|
|
.byte 0x30, 0x60, 0x68, 0x98, 0x30, 0x60, 0x98, 0xC8, 0x30, 0x60, 0x68, 0xF8, 0x70, 0xA0, 0x08, 0x38
|
|
.byte 0x70, 0xA0, 0x38, 0x68, 0x70, 0xA0, 0x68, 0x98, 0x70, 0xA0, 0x98, 0xC8, 0x70, 0xA0, 0xC8, 0xF8
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA3F4: ; 0x021EA3F4
|
|
.byte 0x20, 0x00, 0x48, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA45C: ; 0x021EA45C
|
|
.byte 0x01, 0x00, 0x01, 0x15
|
|
.byte 0x02, 0x0C, 0x01, 0x00, 0x01, 0x19, 0x01, 0x06, 0x02, 0x0C, 0x2B, 0x00, 0x01, 0x00, 0x14, 0x18
|
|
.byte 0x02, 0x0C, 0x37, 0x00, 0x01, 0x00, 0x16, 0x18, 0x02, 0x0C, 0x67, 0x00, 0x01, 0x19, 0x15, 0x06
|
|
.byte 0x02, 0x0C, 0x97, 0x00, 0x05, 0x01, 0x00, 0x1A, 0x02, 0x0C, 0x01, 0x00, 0x05, 0x01, 0x02, 0x16
|
|
.byte 0x02, 0x0C, 0x35, 0x00, 0x05, 0x10, 0x04, 0x0B, 0x02, 0x0C, 0x89, 0x00, 0x05, 0x11, 0x09, 0x0B
|
|
.byte 0x02, 0x0C, 0x9F, 0x00, 0x05, 0x12, 0x0D, 0x0B, 0x02, 0x0C, 0xB5, 0x00, 0x05, 0x13, 0x11, 0x0B
|
|
.byte 0x02, 0x0C, 0xCB, 0x00, 0x05, 0x14, 0x15, 0x0B, 0x02, 0x0C, 0xE1, 0x00, 0x05, 0x10, 0x04, 0x0B
|
|
.byte 0x02, 0x0C, 0xF7, 0x00, 0x05, 0x11, 0x08, 0x0B, 0x02, 0x0C, 0x0D, 0x01, 0x05, 0x12, 0x0C, 0x0B
|
|
.byte 0x02, 0x0C, 0x23, 0x01, 0x05, 0x13, 0x10, 0x0B, 0x02, 0x0C, 0x39, 0x01, 0x05, 0x14, 0x14, 0x0B
|
|
.byte 0x02, 0x0C, 0x4F, 0x01, 0x05, 0x11, 0x06, 0x03, 0x02, 0x0C, 0x65, 0x01, 0x05, 0x14, 0x06, 0x06
|
|
.byte 0x02, 0x0C, 0x6B, 0x01
|
|
|
|
ov99_021EA4F4: ; 0x021EA4F4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov99_021EA59C: ; 0x021EA59C
|
|
.byte 0x00, 0x01, 0x02, 0x04
|
|
.byte 0x05, 0x06, 0x00, 0x00
|
|
|
|
.data
|
|
|
|
.balign 4, 0
|
|
_021EA5C0:
|
|
.asciz "seq error!"
|
|
|
|
.balign 4, 0
|
|
_021EA5CC:
|
|
.asciz "seq error!"
|
|
|
|
.balign 4, 0
|
|
_021EA5D8:
|
|
.asciz "seq error!"
|
|
|
|
.balign 4, 0
|
|
_021EA5E4:
|
|
.asciz "seq error!"
|