mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-24 13:49:45 +00:00
4528 lines
85 KiB
ArmAsm
4528 lines
85 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_68.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start ov68_021E5900
|
|
ov68_021E5900: ; 0x021E5900
|
|
push {r3, r4, r5, lr}
|
|
mov r2, #9
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x42
|
|
lsl r2, r2, #0xe
|
|
bl CreateHeap
|
|
mov r1, #0x77
|
|
add r0, r5, #0
|
|
lsl r1, r1, #2
|
|
mov r2, #0x42
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r2, #0x77
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r0, r5, #0
|
|
bl OverlayManager_GetArgs
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
bl ov68_021E5A58
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldrh r1, [r1, #0x14]
|
|
mov r2, #3
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov68_021E73A4
|
|
mov r0, #0x1b
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov68_021E7424
|
|
ldr r0, _021E5964 ; =ov68_021E5B6C
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E5964: .word ov68_021E5B6C
|
|
thumb_func_end ov68_021E5900
|
|
|
|
thumb_func_start ov68_021E5968
|
|
ov68_021E5968: ; 0x021E5968
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r4]
|
|
add r5, r0, #0
|
|
cmp r1, #0xf
|
|
bhi _021E5A22
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E5984: ; jump table
|
|
.short _021E59A4 - _021E5984 - 2 ; case 0
|
|
.short _021E59AC - _021E5984 - 2 ; case 1
|
|
.short _021E59B4 - _021E5984 - 2 ; case 2
|
|
.short _021E59BC - _021E5984 - 2 ; case 3
|
|
.short _021E59C4 - _021E5984 - 2 ; case 4
|
|
.short _021E59CC - _021E5984 - 2 ; case 5
|
|
.short _021E59D4 - _021E5984 - 2 ; case 6
|
|
.short _021E59DC - _021E5984 - 2 ; case 7
|
|
.short _021E59E4 - _021E5984 - 2 ; case 8
|
|
.short _021E59EC - _021E5984 - 2 ; case 9
|
|
.short _021E59F0 - _021E5984 - 2 ; case 10
|
|
.short _021E59F8 - _021E5984 - 2 ; case 11
|
|
.short _021E5A02 - _021E5984 - 2 ; case 12
|
|
.short _021E5A0C - _021E5984 - 2 ; case 13
|
|
.short _021E5A14 - _021E5984 - 2 ; case 14
|
|
.short _021E5A1C - _021E5984 - 2 ; case 15
|
|
_021E59A4:
|
|
bl ov68_021E5F50
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59AC:
|
|
bl ov68_021E5F68
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59B4:
|
|
bl ov68_021E6058
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59BC:
|
|
bl ov68_021E6078
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59C4:
|
|
bl ov68_021E60D8
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59CC:
|
|
bl ov68_021E614C
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59D4:
|
|
bl ov68_021E61A0
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59DC:
|
|
bl ov68_021E61B8
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59E4:
|
|
bl ov68_021E61EC
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59EC:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E59F0:
|
|
bl ov68_021E74C0
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E59F8:
|
|
bl ov68_021E74D8
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E5A02:
|
|
bl ov68_021E7568
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E5A0C:
|
|
bl ov68_021E7AD8
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E5A14:
|
|
bl ov68_021E7B6C
|
|
str r0, [r4]
|
|
b _021E5A22
|
|
_021E5A1C:
|
|
bl ov68_021E7B8C
|
|
str r0, [r4]
|
|
_021E5A22:
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov68_021E734C
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200D020
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E5968
|
|
|
|
thumb_func_start ov68_021E5A3C
|
|
ov68_021E5A3C: ; 0x021E5A3C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetData
|
|
bl ov68_021E5B14
|
|
add r0, r4, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x42
|
|
bl DestroyHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end ov68_021E5A3C
|
|
|
|
thumb_func_start ov68_021E5A58
|
|
ov68_021E5A58: ; 0x021E5A58
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
bl HBlankInterruptDisable
|
|
bl GfGfx_DisableEngineAPlanes
|
|
bl GfGfx_DisableEngineBPlanes
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
ldr r0, _021E5B08 ; =0xFFFFE0FF
|
|
and r1, r0
|
|
str r1, [r2]
|
|
ldr r2, _021E5B0C ; =0x04001000
|
|
ldr r1, [r2]
|
|
and r0, r1
|
|
str r0, [r2]
|
|
mov r0, #1
|
|
bl sub_02002B8C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_020183F0
|
|
mov r1, #0x6d
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x42
|
|
bl BgConfig_Alloc
|
|
str r0, [r4, #4]
|
|
mov r0, #0x6e
|
|
mov r1, #0x42
|
|
bl NARC_New
|
|
add r5, r0, #0
|
|
bl ov68_021E5BA0
|
|
ldr r0, [r4, #4]
|
|
bl ov68_021E5BC0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov68_021E5D24
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov68_021E7178
|
|
add r0, r4, #0
|
|
bl ov68_021E7288
|
|
add r0, r4, #0
|
|
bl ov68_021E5EBC
|
|
add r0, r4, #0
|
|
bl ov68_021E5E48
|
|
add r0, r4, #0
|
|
bl ov68_021E6820
|
|
add r0, r4, #0
|
|
bl ov68_021E6204
|
|
add r0, r4, #0
|
|
bl ov68_021E6320
|
|
add r0, r4, #0
|
|
bl ov68_021E75C0
|
|
mov r0, #0
|
|
mov r1, #0x42
|
|
bl sub_020880CC
|
|
ldr r0, _021E5B10 ; =ov68_021E5B6C
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
add r0, r5, #0
|
|
bl NARC_Delete
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E5B08: .word 0xFFFFE0FF
|
|
_021E5B0C: .word 0x04001000
|
|
_021E5B10: .word ov68_021E5B6C
|
|
thumb_func_end ov68_021E5A58
|
|
|
|
thumb_func_start ov68_021E5B14
|
|
ov68_021E5B14: ; 0x021E5B14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov68_021E7604
|
|
add r0, r4, #0
|
|
bl ov68_021E68C4
|
|
add r0, r4, #0
|
|
bl ov68_021E5E94
|
|
add r0, r4, #0
|
|
bl ov68_021E5E38
|
|
ldr r0, [r4, #4]
|
|
bl ov68_021E5CD8
|
|
add r0, r4, #0
|
|
bl ov68_021E5F18
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov68_021E7388
|
|
add r0, r4, #0
|
|
bl ov68_021E6E84
|
|
ldr r0, [r4]
|
|
mov r1, #0x6d
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, #0xc]
|
|
ldr r1, [r4, r1]
|
|
bl sub_02018410
|
|
mov r0, #0
|
|
bl sub_02002B8C
|
|
bl GF_DestroyVramTransferManager
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
pop {r4, pc}
|
|
thumb_func_end ov68_021E5B14
|
|
|
|
thumb_func_start ov68_021E5B6C
|
|
ov68_021E5B6C: ; 0x021E5B6C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl DoScheduledBgGpuUpdates
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_02009418
|
|
bl GF_RunVramTransferTasks
|
|
bl thunk_OamManager_ApplyAndResetBuffers
|
|
ldr r3, _021E5B98 ; =0x027E0000
|
|
ldr r1, _021E5B9C ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_021E5B98: .word 0x027E0000
|
|
_021E5B9C: .word 0x00003FF8
|
|
thumb_func_end ov68_021E5B6C
|
|
|
|
thumb_func_start ov68_021E5BA0
|
|
ov68_021E5BA0: ; 0x021E5BA0
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _021E5BBC ; =ov68_021E7D14
|
|
add r3, sp, #0
|
|
mov r2, #5
|
|
_021E5BAA:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E5BAA
|
|
add r0, sp, #0
|
|
bl GfGfx_SetBanks
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E5BBC: .word ov68_021E7D14
|
|
thumb_func_end ov68_021E5BA0
|
|
|
|
thumb_func_start ov68_021E5BC0
|
|
ov68_021E5BC0: ; 0x021E5BC0
|
|
push {r4, r5, lr}
|
|
sub sp, #0x9c
|
|
ldr r5, _021E5CC0 ; =ov68_021E7BF8
|
|
add r3, sp, #0x8c
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r5, _021E5CC4 ; =ov68_021E7C60
|
|
add r3, sp, #0x70
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _021E5CC8 ; =ov68_021E7C44
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _021E5CCC ; =ov68_021E7C7C
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _021E5CD0 ; =ov68_021E7C98
|
|
add r3, sp, #0x1c
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _021E5CD4 ; =ov68_021E7CB4
|
|
add r3, sp, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #7
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #2
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x42
|
|
bl BG_ClearCharDataRange
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x42
|
|
bl BG_ClearCharDataRange
|
|
add sp, #0x9c
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021E5CC0: .word ov68_021E7BF8
|
|
_021E5CC4: .word ov68_021E7C60
|
|
_021E5CC8: .word ov68_021E7C44
|
|
_021E5CCC: .word ov68_021E7C7C
|
|
_021E5CD0: .word ov68_021E7C98
|
|
_021E5CD4: .word ov68_021E7CB4
|
|
thumb_func_end ov68_021E5BC0
|
|
|
|
thumb_func_start ov68_021E5CD8
|
|
ov68_021E5CD8: ; 0x021E5CD8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x1d
|
|
mov r1, #0
|
|
bl GfGfx_EngineBTogglePlanes
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FreeBgTilemapBuffer
|
|
mov r0, #0x42
|
|
add r1, r4, #0
|
|
bl FreeToHeapExplicit
|
|
ldr r2, _021E5D20 ; =0x04000304
|
|
ldrh r1, [r2]
|
|
lsr r0, r2, #0xb
|
|
orr r0, r1
|
|
strh r0, [r2]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E5D20: .word 0x04000304
|
|
thumb_func_end ov68_021E5CD8
|
|
|
|
thumb_func_start ov68_021E5D24
|
|
ov68_021E5D24: ; 0x021E5D24
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
add r4, r1, #0
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x42
|
|
add r2, r4, #0
|
|
mov r3, #0x6e
|
|
bl sub_0208820C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
lsl r0, r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x42
|
|
add r2, r4, #0
|
|
mov r3, #0x6e
|
|
bl sub_0208820C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x42
|
|
add r2, r4, #0
|
|
mov r3, #0x6e
|
|
bl sub_0208820C
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x42
|
|
add r2, r4, #0
|
|
mov r3, #0x6e
|
|
bl sub_0208820C
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
lsl r0, r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x42
|
|
add r2, r4, #0
|
|
mov r3, #0x6e
|
|
bl sub_0208820C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x42
|
|
add r2, r4, #0
|
|
mov r3, #0x6e
|
|
bl sub_0208820C
|
|
mov r3, #0x71
|
|
mov r0, #0x42
|
|
lsl r3, r3, #2
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r1, #7
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r0, #4
|
|
mov r2, #0x42
|
|
bl LoadFontPal1
|
|
mov r1, #0x1e
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x42
|
|
bl LoadFontPal0
|
|
mov r1, #0x1e
|
|
mov r0, #4
|
|
lsl r1, r1, #4
|
|
mov r2, #0x42
|
|
bl LoadFontPal0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl Options_GetFrame
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x42
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #4
|
|
mov r2, #0x3d
|
|
mov r3, #0xd
|
|
bl LoadUserFrameGfx2
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov68_021E5D24
|
|
|
|
thumb_func_start ov68_021E5E38
|
|
ov68_021E5E38: ; 0x021E5E38
|
|
mov r1, #7
|
|
lsl r1, r1, #6
|
|
ldr r3, _021E5E44 ; =FreeToHeap
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
nop
|
|
_021E5E44: .word FreeToHeap
|
|
thumb_func_end ov68_021E5E38
|
|
|
|
thumb_func_start ov68_021E5E48
|
|
ov68_021E5E48: ; 0x021E5E48
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r0, #4
|
|
mov r1, #0x42
|
|
bl FontID_Alloc
|
|
add r5, r7, #0
|
|
ldr r4, _021E5E90 ; =ov68_021E7DFC
|
|
mov r6, #0
|
|
add r5, #8
|
|
_021E5E5C:
|
|
ldr r0, [r7, #4]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl AddWindow
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r6, #0xf
|
|
blo _021E5E5C
|
|
add r0, r7, #0
|
|
add r0, #0x88
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x42
|
|
bl YesNoPrompt_Create
|
|
mov r1, #0x46
|
|
lsl r1, r1, #2
|
|
str r0, [r7, r1]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E5E90: .word ov68_021E7DFC
|
|
thumb_func_end ov68_021E5E48
|
|
|
|
thumb_func_start ov68_021E5E94
|
|
ov68_021E5E94: ; 0x021E5E94
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Destroy
|
|
mov r5, #0
|
|
add r4, #8
|
|
_021E5EA6:
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
add r5, r5, #1
|
|
add r4, #0x10
|
|
cmp r5, #0xf
|
|
blo _021E5EA6
|
|
mov r0, #4
|
|
bl FontID_Release
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov68_021E5E94
|
|
|
|
thumb_func_start ov68_021E5EBC
|
|
ov68_021E5EBC: ; 0x021E5EBC
|
|
push {r4, lr}
|
|
ldr r2, _021E5F14 ; =0x000002EB
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r3, #0x42
|
|
bl NewMsgDataFromNarc
|
|
add r1, r4, #0
|
|
add r1, #0xf8
|
|
str r0, [r1]
|
|
mov r0, #0x42
|
|
bl MessageFormat_New
|
|
add r1, r4, #0
|
|
add r1, #0xfc
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
mov r1, #0x42
|
|
bl String_New
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
mov r1, #0x19
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x41
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
mov r1, #0x1f
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0x42
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E5F14: .word 0x000002EB
|
|
thumb_func_end ov68_021E5EBC
|
|
|
|
thumb_func_start ov68_021E5F18
|
|
ov68_021E5F18: ; 0x021E5F18
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
bl DestroyMsgData
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
bl MessageFormat_Delete
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
mov r0, #0x42
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E5F18
|
|
|
|
thumb_func_start ov68_021E5F50
|
|
ov68_021E5F50: ; 0x021E5F50
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #1
|
|
bne _021E5F64
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
_021E5F64:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov68_021E5F50
|
|
|
|
thumb_func_start ov68_021E5F68
|
|
ov68_021E5F68: ; 0x021E5F68
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_02019F74
|
|
mov r1, #0x73
|
|
lsl r1, r1, #2
|
|
strh r0, [r4, r1]
|
|
sub r0, r1, #4
|
|
ldr r0, [r4, r0]
|
|
bl sub_02019D18
|
|
mov r1, #2
|
|
add r5, r0, #0
|
|
mvn r1, r1
|
|
cmp r5, r1
|
|
bhi _021E5FB8
|
|
bhs _021E604E
|
|
cmp r5, #7
|
|
bhi _021E5FB0
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E5FA0: ; jump table
|
|
.short _021E5FC8 - _021E5FA0 - 2 ; case 0
|
|
.short _021E5FC8 - _021E5FA0 - 2 ; case 1
|
|
.short _021E5FC8 - _021E5FA0 - 2 ; case 2
|
|
.short _021E5FC8 - _021E5FA0 - 2 ; case 3
|
|
.short _021E604E - _021E5FA0 - 2 ; case 4
|
|
.short _021E604E - _021E5FA0 - 2 ; case 5
|
|
.short _021E601E - _021E5FA0 - 2 ; case 6
|
|
.short _021E603E - _021E5FA0 - 2 ; case 7
|
|
_021E5FB0:
|
|
mov r0, #3
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
b _021E604E
|
|
_021E5FB8:
|
|
add r0, r1, #1
|
|
cmp r5, r0
|
|
bhi _021E5FC2
|
|
beq _021E601E
|
|
b _021E604E
|
|
_021E5FC2:
|
|
add r0, r1, #2
|
|
cmp r5, r0
|
|
b _021E604E
|
|
_021E5FC8:
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
ldr r0, [r4]
|
|
bne _021E5FF6
|
|
ldrh r0, [r0, #0x16]
|
|
add r1, r0, r5
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r4, r0]
|
|
cmp r1, r0
|
|
bhs _021E604E
|
|
ldr r0, _021E6054 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov68_021E7A18
|
|
add r0, r4, #0
|
|
bl ov68_021E7B94
|
|
pop {r3, r4, r5, pc}
|
|
_021E5FF6:
|
|
ldrh r0, [r0, #0x16]
|
|
add r1, r0, r5
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r4, r0]
|
|
cmp r1, r0
|
|
bhs _021E6014
|
|
ldr r0, _021E6054 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov68_021E7A18
|
|
b _021E604E
|
|
_021E6014:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl ov68_021E7A18
|
|
b _021E604E
|
|
_021E601E:
|
|
ldr r0, _021E6054 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl ov68_021E7A18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov68_021E7898
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
bl ov68_021E7A90
|
|
pop {r3, r4, r5, pc}
|
|
_021E603E:
|
|
ldr r0, _021E6054 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl ov68_021E7AB4
|
|
pop {r3, r4, r5, pc}
|
|
_021E604E:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E6054: .word 0x000005DD
|
|
thumb_func_end ov68_021E5F68
|
|
|
|
thumb_func_start ov68_021E6058
|
|
ov68_021E6058: ; 0x021E6058
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E6074 ; =0x000001B9
|
|
ldrb r0, [r4, r0]
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
bne _021E6070
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
pop {r4, pc}
|
|
_021E6070:
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E6074: .word 0x000001B9
|
|
thumb_func_end ov68_021E6058
|
|
|
|
thumb_func_start ov68_021E6078
|
|
ov68_021E6078: ; 0x021E6078
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
mov r2, #0x14
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #4]
|
|
mov r3, #0x6d
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
mov r1, #0x1a
|
|
add r0, sp, #0
|
|
strb r1, [r0, #0x10]
|
|
mov r1, #0xa
|
|
strb r1, [r0, #0x11]
|
|
ldrb r1, [r0, #0x12]
|
|
mov r2, #0xf
|
|
lsl r3, r3, #2
|
|
bic r1, r2
|
|
ldr r2, [r4, r3]
|
|
sub r3, #0x9c
|
|
lsl r2, r2, #0x18
|
|
lsr r5, r2, #0x18
|
|
mov r2, #0xf
|
|
and r2, r5
|
|
orr r1, r2
|
|
strb r1, [r0, #0x12]
|
|
ldrb r2, [r0, #0x12]
|
|
mov r1, #0xf0
|
|
bic r2, r1
|
|
strb r2, [r0, #0x12]
|
|
ldr r0, [r4, r3]
|
|
add r1, sp, #0
|
|
bl YesNoPrompt_InitFromTemplate
|
|
mov r0, #1
|
|
bl ov68_021E7BC8
|
|
mov r0, #4
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov68_021E6078
|
|
|
|
thumb_func_start ov68_021E60D8
|
|
ov68_021E60D8: ; 0x021E60D8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl YesNoPrompt_HandleInput
|
|
cmp r0, #1
|
|
beq _021E60F0
|
|
cmp r0, #2
|
|
beq _021E6108
|
|
b _021E6120
|
|
_021E60F0:
|
|
ldr r1, _021E6140 ; =0x000001BA
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, r1]
|
|
lsl r2, r1, #3
|
|
ldr r1, _021E6144 ; =ov68_021E7D3C
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
bl ov68_021E7BC8
|
|
b _021E6124
|
|
_021E6108:
|
|
ldr r1, _021E6140 ; =0x000001BA
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, r1]
|
|
lsl r2, r1, #3
|
|
ldr r1, _021E6148 ; =ov68_021E7D40
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
bl ov68_021E7BC8
|
|
b _021E6124
|
|
_021E6120:
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_021E6124:
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl sub_020169C0
|
|
mov r1, #0x6d
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
sub r1, #0x9c
|
|
ldr r0, [r5, r1]
|
|
bl sub_020169CC
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E6140: .word 0x000001BA
|
|
_021E6144: .word ov68_021E7D3C
|
|
_021E6148: .word ov68_021E7D40
|
|
thumb_func_end ov68_021E60D8
|
|
|
|
thumb_func_start ov68_021E614C
|
|
ov68_021E614C: ; 0x021E614C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
bl ov68_021E6BEC
|
|
str r0, [sp]
|
|
ldr r1, [r4]
|
|
add r2, sp, #0
|
|
ldr r0, [r1]
|
|
ldrb r1, [r1, #0x1b]
|
|
add r1, #0x36
|
|
bl SetMonData
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r1, [r4]
|
|
add r2, sp, #0
|
|
ldr r0, [r1]
|
|
ldrb r1, [r1, #0x1b]
|
|
add r1, #0x3e
|
|
bl SetMonData
|
|
add r0, r4, #0
|
|
bl ov68_021E6BEC
|
|
mov r1, #0
|
|
bl GetMoveMaxPP
|
|
str r0, [sp]
|
|
ldr r1, [r4]
|
|
add r2, sp, #0
|
|
ldr r0, [r1]
|
|
ldrb r1, [r1, #0x1b]
|
|
add r1, #0x3a
|
|
bl SetMonData
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1a]
|
|
mov r0, #8
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov68_021E614C
|
|
|
|
thumb_func_start ov68_021E61A0
|
|
ov68_021E61A0: ; 0x021E61A0
|
|
push {r4, lr}
|
|
mov r1, #6
|
|
add r4, r0, #0
|
|
bl ov68_021E6C14
|
|
mov r0, #0x1b
|
|
mov r1, #5
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E61A0
|
|
|
|
thumb_func_start ov68_021E61B8
|
|
ov68_021E61B8: ; 0x021E61B8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, #0x1b]
|
|
cmp r1, #4
|
|
bhs _021E61CE
|
|
mov r1, #0xa
|
|
bl ov68_021E6C14
|
|
mov r1, #4
|
|
b _021E61D6
|
|
_021E61CE:
|
|
mov r1, #7
|
|
bl ov68_021E6C14
|
|
mov r1, #3
|
|
_021E61D6:
|
|
ldr r0, _021E61E8 ; =0x000001BA
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x1b
|
|
mov r1, #3
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
nop
|
|
_021E61E8: .word 0x000001BA
|
|
thumb_func_end ov68_021E61B8
|
|
|
|
thumb_func_start ov68_021E61EC
|
|
ov68_021E61EC: ; 0x021E61EC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mov r1, #0x42
|
|
bl sub_020880CC
|
|
mov r0, #0x1b
|
|
mov r1, #9
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov68_021E61EC
|
|
|
|
thumb_func_start ov68_021E6204
|
|
ov68_021E6204: ; 0x021E6204
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov68_021E6BEC
|
|
add r1, r0, #0
|
|
ldr r0, _021E6230 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
beq _021E621C
|
|
add r0, r4, #0
|
|
bl ov68_021E68D4
|
|
b _021E6226
|
|
_021E621C:
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov68_021E68D4
|
|
_021E6226:
|
|
add r0, r4, #0
|
|
bl ov68_021E70BC
|
|
pop {r4, pc}
|
|
nop
|
|
_021E6230: .word 0x0000FFFF
|
|
thumb_func_end ov68_021E6204
|
|
|
|
thumb_func_start ov68_021E6234
|
|
ov68_021E6234: ; 0x021E6234
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x28]
|
|
add r4, r1, #0
|
|
add r7, r2, #0
|
|
str r3, [sp, #0x10]
|
|
cmp r0, #0
|
|
beq _021E6250
|
|
cmp r0, #1
|
|
beq _021E6254
|
|
cmp r0, #2
|
|
beq _021E627E
|
|
b _021E62AA
|
|
_021E6250:
|
|
mov r3, #0
|
|
b _021E62AA
|
|
_021E6254:
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
ldr r1, [r5, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0
|
|
bl FontID_String_GetWidth
|
|
lsl r0, r0, #0x18
|
|
add r1, r5, #0
|
|
lsr r6, r0, #0x18
|
|
add r1, #8
|
|
lsl r0, r4, #4
|
|
add r0, r1, r0
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x18
|
|
sub r0, r0, r6
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
b _021E62AA
|
|
_021E627E:
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
ldr r1, [r5, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0
|
|
bl FontID_String_GetWidth
|
|
lsl r0, r0, #0x18
|
|
add r1, r5, #0
|
|
lsr r6, r0, #0x18
|
|
add r1, #8
|
|
lsl r0, r4, #4
|
|
add r0, r1, r0
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x18
|
|
sub r1, r0, r6
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x17
|
|
lsr r3, r0, #0x18
|
|
_021E62AA:
|
|
add r0, sp, #0x18
|
|
ldrb r0, [r0, #0x14]
|
|
add r1, r5, #0
|
|
mov r2, #0xff
|
|
str r0, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r2, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
add r1, #8
|
|
lsl r0, r4, #4
|
|
add r0, r1, r0
|
|
ldr r2, [r5, r2]
|
|
add r1, r7, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E6234
|
|
|
|
thumb_func_start ov68_021E62D4
|
|
ov68_021E62D4: ; 0x021E62D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, sp, #0x10
|
|
ldrb r0, [r0, #0x10]
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
add r3, r7, #0
|
|
bl BufferIntegerAsString
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0xfc
|
|
lsl r1, r1, #8
|
|
ldr r0, [r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_Delete
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E62D4
|
|
|
|
thumb_func_start ov68_021E6320
|
|
ov68_021E6320: ; 0x021E6320
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
mov r1, #0x24
|
|
add r2, r1, #0
|
|
add r5, r0, #0
|
|
add r0, #0xf8
|
|
add r2, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r3, _021E666C ; =0x00010200
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl ov68_021E6234
|
|
add r0, r5, #0
|
|
add r0, #0x78
|
|
bl ScheduleWindowCopyToVram
|
|
mov r1, #0x23
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r0, #0xf8
|
|
add r2, #0xdd
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r2, #4
|
|
ldr r3, _021E6670 ; =0x000F0E00
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
str r2, [sp, #4]
|
|
bl ov68_021E6234
|
|
mov r1, #0x22
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r0, #0xf8
|
|
add r2, #0xde
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r2, #4
|
|
ldr r3, _021E6670 ; =0x000F0E00
|
|
add r0, r5, #0
|
|
mov r1, #9
|
|
str r2, [sp, #4]
|
|
bl ov68_021E6234
|
|
add r0, r5, #0
|
|
add r0, #0x98
|
|
bl ScheduleWindowCopyToVram
|
|
mov r1, #0x16
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r0, #0xf8
|
|
add r2, #0xea
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r3, _021E6670 ; =0x000F0E00
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
str r1, [sp, #4]
|
|
bl ov68_021E6234
|
|
add r0, r5, #0
|
|
add r0, #8
|
|
bl ScheduleWindowCopyToVram
|
|
mov r1, #0x17
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r0, #0xf8
|
|
add r2, #0xe9
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
ldr r3, _021E6670 ; =0x000F0E00
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
str r2, [sp, #4]
|
|
bl ov68_021E6234
|
|
add r0, r5, #0
|
|
add r0, #0x18
|
|
bl ScheduleWindowCopyToVram
|
|
mov r1, #0x18
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r0, #0xf8
|
|
add r2, #0xe8
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
ldr r3, _021E6670 ; =0x000F0E00
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
str r2, [sp, #4]
|
|
bl ov68_021E6234
|
|
add r0, r5, #0
|
|
add r0, #0x28
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
mov r1, #0x42
|
|
bl String_New
|
|
str r0, [sp, #0x20]
|
|
add r0, r5, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
ldr r2, [sp, #0x20]
|
|
mov r1, #0x27
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl Mon_GetBoxMon
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferBoxMonNickname
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0xfc
|
|
lsl r1, r1, #8
|
|
ldr r0, [r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [sp, #0x20]
|
|
bl StringExpandPlaceholders
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r3, _021E666C ; =0x00010200
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
bl ov68_021E6234
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r2, _021E6674 ; =0x000002EE
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r3, #0x42
|
|
bl NewMsgDataFromNarc
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl Mon_GetBoxMon
|
|
str r0, [sp, #0x18]
|
|
add r0, r5, #0
|
|
mov r4, #0
|
|
str r0, [sp, #0x24]
|
|
add r0, #0xd8
|
|
add r7, r5, #0
|
|
str r4, [sp, #0x10]
|
|
mov r6, #0x10
|
|
str r0, [sp, #0x24]
|
|
_021E64A2:
|
|
add r1, r4, #0
|
|
ldr r0, [sp, #0x18]
|
|
add r1, #0x36
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x14]
|
|
bne _021E64C4
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
mov r1, #0
|
|
bl UnkImageStruct_SetSpriteVisibleFlag
|
|
b _021E659C
|
|
_021E64C4:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
mov r1, #1
|
|
bl UnkImageStruct_SetSpriteVisibleFlag
|
|
add r2, r4, #4
|
|
lsl r2, r2, #0x10
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x10
|
|
bl ov68_021E7028
|
|
mov r2, #1
|
|
lsl r2, r2, #8
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r3, _021E6670 ; =0x000F0E00
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r1, #0xd
|
|
mov r2, #0
|
|
bl ov68_021E6234
|
|
mov r2, #0x41
|
|
str r6, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E666C ; =0x00010200
|
|
lsl r2, r2, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x24]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0
|
|
mov r3, #0x10
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r1, r4, #0
|
|
ldr r0, [sp, #0x18]
|
|
add r1, #0x3a
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
add r1, r4, #0
|
|
ldr r0, [sp, #0x18]
|
|
add r1, #0x42
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x42
|
|
add r0, #0xfc
|
|
lsl r1, r1, #8
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
bl StringExpandPlaceholders
|
|
mov r2, #1
|
|
str r6, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E666C ; =0x00010200
|
|
lsl r2, r2, #8
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x24]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0
|
|
mov r3, #0x2d
|
|
bl AddTextPrinterParameterizedWithColor
|
|
_021E659C:
|
|
ldr r0, [sp, #0x10]
|
|
add r4, r4, #1
|
|
add r0, #0x20
|
|
add r7, r7, #4
|
|
add r6, #0x20
|
|
str r0, [sp, #0x10]
|
|
cmp r4, #4
|
|
bhs _021E65AE
|
|
b _021E64A2
|
|
_021E65AE:
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r5, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
ldr r2, [sp, #0x20]
|
|
mov r1, #0x25
|
|
bl ReadMsgDataIntoString
|
|
add r0, r5, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
ldr r2, [sp, #0x18]
|
|
mov r1, #0
|
|
bl BufferBoxMonSpeciesName
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0xfc
|
|
lsl r1, r1, #8
|
|
ldr r0, [r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [sp, #0x20]
|
|
bl StringExpandPlaceholders
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _021E666C ; =0x00010200
|
|
add r2, r2, #1
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
ldr r2, [r5, r2]
|
|
add r0, #0xe8
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r5, #0
|
|
add r0, #0xf8
|
|
ldr r0, [r0]
|
|
ldr r2, [sp, #0x20]
|
|
mov r1, #0x26
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0xa1
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0xfc
|
|
lsl r1, r1, #8
|
|
ldr r0, [r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [sp, #0x20]
|
|
bl StringExpandPlaceholders
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r3, _021E666C ; =0x00010200
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl ov68_021E6234
|
|
add r5, #0xe8
|
|
add r0, r5, #0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, [sp, #0x1c]
|
|
bl DestroyMsgData
|
|
ldr r0, [sp, #0x20]
|
|
bl String_Delete
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E666C: .word 0x00010200
|
|
_021E6670: .word 0x000F0E00
|
|
_021E6674: .word 0x000002EE
|
|
thumb_func_end ov68_021E6320
|
|
|
|
thumb_func_start ov68_021E6678
|
|
ov68_021E6678: ; 0x021E6678
|
|
push {r3, r4}
|
|
ldr r0, [r0]
|
|
ldr r1, _021E669C ; =0x0000FFFF
|
|
ldr r4, [r0, #0x10]
|
|
mov r0, #1
|
|
mov r3, #0
|
|
lsl r0, r0, #8
|
|
_021E6686:
|
|
ldrh r2, [r4]
|
|
cmp r2, r1
|
|
beq _021E6694
|
|
add r3, r3, #1
|
|
add r4, r4, #2
|
|
cmp r3, r0
|
|
blo _021E6686
|
|
_021E6694:
|
|
add r0, r3, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_021E669C: .word 0x0000FFFF
|
|
thumb_func_end ov68_021E6678
|
|
|
|
thumb_func_start ov68_021E66A0
|
|
ov68_021E66A0: ; 0x021E66A0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
mov r0, #0x71
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r6, r1, #0
|
|
str r3, [sp]
|
|
add r5, r2, #0
|
|
add r1, sp, #0x20
|
|
ldrb r2, [r1, #0x10]
|
|
add r3, r5, #0
|
|
str r2, [sp, #4]
|
|
add r2, r0, #0
|
|
add r2, #0xc
|
|
str r2, [sp, #8]
|
|
ldrb r2, [r1, #0x14]
|
|
str r2, [sp, #0xc]
|
|
ldrb r1, [r1, #0x18]
|
|
add r2, r6, #0
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #7
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #4]
|
|
bl CopyToBgTilemapRect
|
|
ldr r0, [r4, #4]
|
|
mov r1, #7
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x1c
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E66A0
|
|
|
|
thumb_func_start ov68_021E66F0
|
|
ov68_021E66F0: ; 0x021E66F0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r3, r1, r2
|
|
mov r1, #0x6e
|
|
add r5, r0, #0
|
|
lsl r1, r1, #2
|
|
ldrb r1, [r5, r1]
|
|
lsl r4, r2, #5
|
|
cmp r3, r1
|
|
blt _021E6720
|
|
mov r3, #4
|
|
lsl r2, r2, #2
|
|
add r2, r2, #4
|
|
lsl r2, r2, #0x18
|
|
str r3, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
str r3, [sp, #8]
|
|
lsr r2, r2, #0x18
|
|
mov r3, #0x10
|
|
bl ov68_021E66A0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021E6720:
|
|
str r4, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _021E67D8 ; =0x000F0E00
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
lsl r6, r3, #3
|
|
add r0, r5, #0
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x11
|
|
ldr r2, [r5, r2]
|
|
add r0, #0xa8
|
|
ldr r2, [r2, r6]
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r4, #0
|
|
add r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _021E67DC ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
str r1, [sp, #0xc]
|
|
add r2, r2, #5
|
|
ldr r2, [r5, r2]
|
|
add r0, #0xa8
|
|
mov r3, #0x10
|
|
bl AddTextPrinterParameterizedWithColor
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
add r0, r0, r6
|
|
ldr r0, [r0, #4]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GetMoveMaxPP
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
str r1, [sp, #4]
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
add r2, r6, #0
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
mov r2, #1
|
|
add r0, r5, #0
|
|
lsl r2, r2, #8
|
|
add r0, #0xfc
|
|
ldr r1, [r5, r2]
|
|
add r2, #8
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl StringExpandPlaceholders
|
|
add r4, #0x10
|
|
str r4, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _021E67DC ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
str r1, [sp, #0xc]
|
|
add r2, r2, #1
|
|
ldr r2, [r5, r2]
|
|
add r0, #0xa8
|
|
mov r3, #0x2d
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E67D8: .word 0x000F0E00
|
|
_021E67DC: .word 0x00010200
|
|
thumb_func_end ov68_021E66F0
|
|
|
|
thumb_func_start ov68_021E67E0
|
|
ov68_021E67E0: ; 0x021E67E0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xa8
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r4, #0
|
|
_021E67EE:
|
|
ldr r1, [r5]
|
|
lsl r2, r4, #0x18
|
|
ldrh r1, [r1, #0x16]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov68_021E66F0
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blo _021E67EE
|
|
add r0, r5, #0
|
|
add r0, #0xa8
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, [r5, #4]
|
|
mov r1, #7
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r5, #0
|
|
bl ov68_021E70BC
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E67E0
|
|
|
|
thumb_func_start ov68_021E6820
|
|
ov68_021E6820: ; 0x021E6820
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
bl ov68_021E6678
|
|
mov r1, #0x6e
|
|
lsl r1, r1, #2
|
|
strb r0, [r5, r1]
|
|
ldrb r0, [r5, r1]
|
|
mov r1, #0x42
|
|
bl ListMenuItems_New
|
|
mov r1, #0x11
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
ldr r2, _021E68B8 ; =0x000002EE
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r3, #0x42
|
|
bl NewMsgDataFromNarc
|
|
add r7, r0, #0
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _021E689A
|
|
add r6, r4, #0
|
|
_021E6858:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x10]
|
|
ldrh r2, [r0, r6]
|
|
ldr r0, _021E68BC ; =0x0000FFFF
|
|
cmp r2, r0
|
|
beq _021E6874
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, #0
|
|
add r3, r2, #0
|
|
bl ListMenuItems_AppendFromMsgData
|
|
b _021E688C
|
|
_021E6874:
|
|
mov r0, #0x11
|
|
add r1, r5, #0
|
|
lsl r0, r0, #4
|
|
add r1, #0xf8
|
|
mov r2, #0x20
|
|
add r3, r2, #0
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r1]
|
|
sub r3, #0x22
|
|
bl ListMenuItems_AppendFromMsgData
|
|
b _021E689A
|
|
_021E688C:
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
add r4, r4, #1
|
|
add r6, r6, #2
|
|
cmp r4, r0
|
|
blo _021E6858
|
|
_021E689A:
|
|
add r0, r7, #0
|
|
bl DestroyMsgData
|
|
ldr r0, _021E68C0 ; =0x000001BB
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
ldr r1, [r5]
|
|
add r0, r0, #1
|
|
ldrh r1, [r1, #0x14]
|
|
strb r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl ov68_021E67E0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E68B8: .word 0x000002EE
|
|
_021E68BC: .word 0x0000FFFF
|
|
_021E68C0: .word 0x000001BB
|
|
thumb_func_end ov68_021E6820
|
|
|
|
thumb_func_start ov68_021E68C4
|
|
ov68_021E68C4: ; 0x021E68C4
|
|
mov r1, #0x11
|
|
lsl r1, r1, #4
|
|
ldr r3, _021E68D0 ; =ListMenuItems_Delete
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
nop
|
|
_021E68D0: .word ListMenuItems_Delete
|
|
thumb_func_end ov68_021E68C4
|
|
|
|
thumb_func_start ov68_021E68D4
|
|
ov68_021E68D4: ; 0x021E68D4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r5, #0
|
|
add r0, #0x38
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r5, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x13
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl UnkImageStruct_SetSpriteVisibleFlag
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021E69EE
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl GetMoveAttr
|
|
add r2, r0, #0
|
|
cmp r2, #1
|
|
bhi _021E692E
|
|
mov r1, #0x21
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r0, #0xf8
|
|
add r2, #0xdf
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
b _021E693C
|
|
_021E692E:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x1d
|
|
mov r3, #3
|
|
bl ov68_021E62D4
|
|
_021E693C:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
ldr r3, _021E6A24 ; =0x00010200
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
str r2, [sp, #4]
|
|
bl ov68_021E6234
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl GetMoveAttr
|
|
add r2, r0, #0
|
|
bne _021E696E
|
|
mov r1, #0x21
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r0, #0xf8
|
|
add r2, #0xdf
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
b _021E697C
|
|
_021E696E:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x1e
|
|
mov r3, #3
|
|
bl ov68_021E62D4
|
|
_021E697C:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
ldr r3, _021E6A24 ; =0x00010200
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
str r2, [sp, #4]
|
|
bl ov68_021E6234
|
|
ldr r2, _021E6A28 ; =0x000002ED
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r3, #0x42
|
|
bl NewMsgDataFromNarc
|
|
mov r2, #1
|
|
lsl r2, r2, #8
|
|
ldr r2, [r5, r2]
|
|
add r1, r4, #0
|
|
add r6, r0, #0
|
|
bl ReadMsgDataIntoString
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
ldr r3, _021E6A24 ; =0x00010200
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
str r2, [sp, #4]
|
|
bl ov68_021E6234
|
|
add r0, r6, #0
|
|
bl DestroyMsgData
|
|
lsl r1, r4, #0x10
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x10
|
|
bl ov68_021E7124
|
|
mov r0, #0x13
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl UnkImageStruct_SetSpriteVisibleFlag
|
|
add r0, r5, #0
|
|
add r0, #8
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r5, #0
|
|
add r0, #0x18
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r5, #0
|
|
add r0, #0x28
|
|
bl ScheduleWindowCopyToVram
|
|
b _021E6A06
|
|
_021E69EE:
|
|
add r0, r5, #0
|
|
add r0, #8
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r5, #0
|
|
add r0, #0x18
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r5, #0
|
|
add r0, #0x28
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
_021E6A06:
|
|
add r0, r5, #0
|
|
add r0, #0x58
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r5, #0
|
|
add r0, #0x38
|
|
bl ScheduleWindowCopyToVram
|
|
add r5, #0x48
|
|
add r0, r5, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E6A24: .word 0x00010200
|
|
_021E6A28: .word 0x000002ED
|
|
thumb_func_end ov68_021E68D4
|
|
|
|
thumb_func_start ov68_021E6A2C
|
|
ov68_021E6A2C: ; 0x021E6A2C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
cmp r5, #0xa
|
|
bls _021E6A38
|
|
b _021E6BB0
|
|
_021E6A38:
|
|
add r1, r5, r5
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E6A44: ; jump table
|
|
.short _021E6A5A - _021E6A44 - 2 ; case 0
|
|
.short _021E6A72 - _021E6A44 - 2 ; case 1
|
|
.short _021E6A86 - _021E6A44 - 2 ; case 2
|
|
.short _021E6A9E - _021E6A44 - 2 ; case 3
|
|
.short _021E6ACA - _021E6A44 - 2 ; case 4
|
|
.short _021E6AF6 - _021E6A44 - 2 ; case 5
|
|
.short _021E6B22 - _021E6A44 - 2 ; case 6
|
|
.short _021E6B4E - _021E6A44 - 2 ; case 7
|
|
.short _021E6B62 - _021E6A44 - 2 ; case 8
|
|
.short _021E6B8E - _021E6A44 - 2 ; case 9
|
|
.short _021E6B9E - _021E6A44 - 2 ; case 10
|
|
_021E6A5A:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl Mon_GetBoxMon
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferBoxMonNickname
|
|
b _021E6BB0
|
|
_021E6A72:
|
|
bl ov68_021E6BEC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl BufferMoveName
|
|
b _021E6BB0
|
|
_021E6A86:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl Mon_GetBoxMon
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferBoxMonNickname
|
|
b _021E6BB0
|
|
_021E6A9E:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl Mon_GetBoxMon
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferBoxMonNickname
|
|
add r0, r4, #0
|
|
bl ov68_021E6BEC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl BufferMoveName
|
|
b _021E6BB0
|
|
_021E6ACA:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl Mon_GetBoxMon
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferBoxMonNickname
|
|
add r0, r4, #0
|
|
bl ov68_021E6BEC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl BufferMoveName
|
|
b _021E6BB0
|
|
_021E6AF6:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl Mon_GetBoxMon
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferBoxMonNickname
|
|
add r0, r4, #0
|
|
bl ov68_021E6BFC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl BufferMoveName
|
|
b _021E6BB0
|
|
_021E6B22:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl Mon_GetBoxMon
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferBoxMonNickname
|
|
add r0, r4, #0
|
|
bl ov68_021E6BEC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl BufferMoveName
|
|
b _021E6BB0
|
|
_021E6B4E:
|
|
bl ov68_021E6BEC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl BufferMoveName
|
|
b _021E6BB0
|
|
_021E6B62:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl Mon_GetBoxMon
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferBoxMonNickname
|
|
add r0, r4, #0
|
|
bl ov68_021E6BEC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl BufferMoveName
|
|
b _021E6BB0
|
|
_021E6B8E:
|
|
ldr r2, [r4]
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
ldr r2, [r2, #4]
|
|
mov r1, #2
|
|
bl BufferPlayersName
|
|
b _021E6BB0
|
|
_021E6B9E:
|
|
bl ov68_021E6BFC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferMoveName
|
|
_021E6BB0:
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldrb r2, [r1, #0x19]
|
|
add r0, #0xf8
|
|
mov r1, #0x2c
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021E6BE8 ; =ov68_021E7DA4
|
|
lsl r2, r5, #2
|
|
add r1, r1, r3
|
|
ldr r0, [r0]
|
|
ldr r1, [r2, r1]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0xfc
|
|
lsl r1, r1, #8
|
|
ldr r0, [r0]
|
|
ldr r1, [r4, r1]
|
|
add r2, r5, #0
|
|
bl StringExpandPlaceholders
|
|
add r0, r5, #0
|
|
bl String_Delete
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E6BE8: .word ov68_021E7DA4
|
|
thumb_func_end ov68_021E6A2C
|
|
|
|
thumb_func_start ov68_021E6BEC
|
|
ov68_021E6BEC: ; 0x021E6BEC
|
|
ldr r0, [r0]
|
|
ldr r2, [r0, #0x10]
|
|
ldrh r1, [r0, #0x16]
|
|
ldrh r0, [r0, #0x14]
|
|
add r0, r1, r0
|
|
lsl r0, r0, #1
|
|
ldrh r0, [r2, r0]
|
|
bx lr
|
|
thumb_func_end ov68_021E6BEC
|
|
|
|
thumb_func_start ov68_021E6BFC
|
|
ov68_021E6BFC: ; 0x021E6BFC
|
|
push {r3, lr}
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
ldr r0, [r1]
|
|
ldrb r1, [r1, #0x1b]
|
|
add r1, #0x36
|
|
bl GetMonData
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E6BFC
|
|
|
|
thumb_func_start ov68_021E6C14
|
|
ov68_021E6C14: ; 0x021E6C14
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
add r0, #0x68
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
mov r2, #0x3d
|
|
mov r3, #0xd
|
|
bl DrawFrameAndWindow2
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov68_021E6A2C
|
|
mov r0, #1
|
|
bl TextFlags_SetCanABSpeedUpPrint
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #8]
|
|
bl Options_GetTextFrameDelay
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E6C6C ; =ov68_021E6C8C
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
add r2, #0xff
|
|
add r0, r4, #0
|
|
ldr r2, [r4, r2]
|
|
add r0, #0x68
|
|
bl AddTextPrinterParameterized
|
|
ldr r1, _021E6C70 ; =0x000001B9
|
|
strb r0, [r4, r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021E6C6C: .word ov68_021E6C8C
|
|
_021E6C70: .word 0x000001B9
|
|
thumb_func_end ov68_021E6C14
|
|
|
|
thumb_func_start ov68_021E6C74
|
|
ov68_021E6C74: ; 0x021E6C74
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x68
|
|
mov r1, #1
|
|
bl ClearFrameAndWindow2
|
|
add r4, #0x68
|
|
add r0, r4, #0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E6C74
|
|
|
|
thumb_func_start ov68_021E6C8C
|
|
ov68_021E6C8C: ; 0x021E6C8C
|
|
push {r3, lr}
|
|
cmp r1, #5
|
|
bhi _021E6CD0
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E6C9E: ; jump table
|
|
.short _021E6CD0 - _021E6C9E - 2 ; case 0
|
|
.short _021E6CAA - _021E6C9E - 2 ; case 1
|
|
.short _021E6CB0 - _021E6C9E - 2 ; case 2
|
|
.short _021E6CB6 - _021E6C9E - 2 ; case 3
|
|
.short _021E6CBE - _021E6C9E - 2 ; case 4
|
|
.short _021E6CC8 - _021E6C9E - 2 ; case 5
|
|
_021E6CAA:
|
|
bl GF_IsAnySEPlaying
|
|
pop {r3, pc}
|
|
_021E6CB0:
|
|
bl IsFanfarePlaying
|
|
pop {r3, pc}
|
|
_021E6CB6:
|
|
ldr r0, _021E6CD4 ; =0x000005E6
|
|
bl PlaySE
|
|
b _021E6CD0
|
|
_021E6CBE:
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #4
|
|
bl PlayFanfare
|
|
b _021E6CD0
|
|
_021E6CC8:
|
|
ldr r0, _021E6CD4 ; =0x000005E6
|
|
bl IsSEPlaying
|
|
pop {r3, pc}
|
|
_021E6CD0:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_021E6CD4: .word 0x000005E6
|
|
thumb_func_end ov68_021E6C8C
|
|
|
|
thumb_func_start ov68_021E6CD8
|
|
ov68_021E6CD8: ; 0x021E6CD8
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_021E6CE0:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
ldr r0, [r0]
|
|
add r1, #0x36
|
|
add r2, r6, #0
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
beq _021E6CFC
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #4
|
|
blo _021E6CE0
|
|
_021E6CFC:
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov68_021E6CD8
|
|
|
|
thumb_func_start ov68_021E6D00
|
|
ov68_021E6D00: ; 0x021E6D00
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #3
|
|
bl ov68_021E6C14
|
|
add r0, r4, #0
|
|
bl ov68_021E6CD8
|
|
ldr r1, [r4]
|
|
strb r0, [r1, #0x1b]
|
|
mov r0, #0x1b
|
|
mov r1, #5
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
thumb_func_end ov68_021E6D00
|
|
|
|
thumb_func_start ov68_021E6D20
|
|
ov68_021E6D20: ; 0x021E6D20
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov68_021E6C74
|
|
ldr r0, _021E6D3C ; =0x000001CE
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021E6D38
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl ov68_021E7A18
|
|
_021E6D38:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E6D3C: .word 0x000001CE
|
|
thumb_func_end ov68_021E6D20
|
|
|
|
thumb_func_start ov68_021E6D40
|
|
ov68_021E6D40: ; 0x021E6D40
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
strb r1, [r0, #0x1a]
|
|
mov r0, #8
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E6D40
|
|
|
|
thumb_func_start ov68_021E6D4C
|
|
ov68_021E6D4C: ; 0x021E6D4C
|
|
push {r3, lr}
|
|
bl ov68_021E6C74
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E6D4C
|
|
|
|
thumb_func_start ov68_021E6D58
|
|
ov68_021E6D58: ; 0x021E6D58
|
|
mov r1, #0x1b
|
|
mov r2, #0xa
|
|
lsl r1, r1, #4
|
|
str r2, [r0, r1]
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov68_021E6D58
|
|
|
|
thumb_func_start ov68_021E6D64
|
|
ov68_021E6D64: ; 0x021E6D64
|
|
push {r4, lr}
|
|
mov r1, #7
|
|
add r4, r0, #0
|
|
bl ov68_021E6C14
|
|
ldr r0, _021E6D7C ; =0x000001BA
|
|
mov r1, #3
|
|
strb r1, [r4, r0]
|
|
sub r0, #0xa
|
|
str r1, [r4, r0]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E6D7C: .word 0x000001BA
|
|
thumb_func_end ov68_021E6D64
|
|
|
|
thumb_func_start ov68_021E6D80
|
|
ov68_021E6D80: ; 0x021E6D80
|
|
push {r4, lr}
|
|
mov r1, #8
|
|
add r4, r0, #0
|
|
bl ov68_021E6C14
|
|
mov r0, #0x1b
|
|
mov r1, #8
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
strb r1, [r0, #0x1a]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
thumb_func_end ov68_021E6D80
|
|
|
|
thumb_func_start ov68_021E6D9C
|
|
ov68_021E6D9C: ; 0x021E6D9C
|
|
push {r4, lr}
|
|
mov r1, #4
|
|
add r4, r0, #0
|
|
bl ov68_021E6C14
|
|
ldr r1, _021E6DB4 ; =0x000001BA
|
|
mov r0, #2
|
|
strb r0, [r4, r1]
|
|
mov r2, #3
|
|
sub r1, #0xa
|
|
str r2, [r4, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E6DB4: .word 0x000001BA
|
|
thumb_func_end ov68_021E6D9C
|
|
|
|
thumb_func_start ov68_021E6DB8
|
|
ov68_021E6DB8: ; 0x021E6DB8
|
|
push {r4, lr}
|
|
mov r1, #5
|
|
add r4, r0, #0
|
|
bl ov68_021E6C14
|
|
mov r0, #0x1b
|
|
mov r1, #6
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E6DB8
|
|
|
|
thumb_func_start ov68_021E6DD0
|
|
ov68_021E6DD0: ; 0x021E6DD0
|
|
mov r1, #0x1b
|
|
mov r2, #0xa
|
|
lsl r1, r1, #4
|
|
str r2, [r0, r1]
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov68_021E6DD0
|
|
|
|
thumb_func_start ov68_021E6DDC
|
|
ov68_021E6DDC: ; 0x021E6DDC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x4c
|
|
ldr r3, _021E6E78 ; =ov68_021E7C2C
|
|
add r2, sp, #0x34
|
|
add r4, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r0, #0x40
|
|
mov r1, #0x42
|
|
bl GF_CreateVramTransferManager
|
|
mov r0, #0x42
|
|
bl SpriteRenderer_Create
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
bl SpriteRenderer_CreateGfxHandler
|
|
mov r7, #0x12
|
|
lsl r7, r7, #4
|
|
add r2, sp, #0x14
|
|
ldr r3, _021E6E7C ; =ov68_021E7CD0
|
|
str r0, [r4, r7]
|
|
ldmia r3!, {r0, r1}
|
|
add r6, r2, #0
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
ldr r5, _021E6E80 ; =ov68_021E7C18
|
|
stmia r2!, {r0, r1}
|
|
add r3, sp, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
str r0, [r3]
|
|
sub r0, r7, #4
|
|
ldr r0, [r4, r0]
|
|
mov r3, #0x20
|
|
bl sub_0200CF70
|
|
sub r1, r7, #4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xc
|
|
bl sub_0200CFF4
|
|
sub r1, r7, #4
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r2, sp, #0x34
|
|
bl SpriteRenderer_Init2DGfxResManagersFromCountsArray
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineBTogglePlanes
|
|
add sp, #0x4c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6E78: .word ov68_021E7C2C
|
|
_021E6E7C: .word ov68_021E7CD0
|
|
_021E6E80: .word ov68_021E7C18
|
|
thumb_func_end ov68_021E6DDC
|
|
|
|
thumb_func_start ov68_021E6E84
|
|
ov68_021E6E84: ; 0x021E6E84
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r6, #0x49
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
lsl r6, r6, #2
|
|
_021E6E90:
|
|
ldr r0, [r5, r6]
|
|
bl sub_0200D9DC
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xc
|
|
blo _021E6E90
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
ldr r0, [r7, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r7, r1]
|
|
bl SpriteRenderer_UnloadResourcesAndRemoveGfxHandler
|
|
mov r0, #0x47
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl SpriteRenderer_Delete
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov68_021E6E84
|
|
|
|
thumb_func_start ov68_021E6EB8
|
|
ov68_021E6EB8: ; 0x021E6EB8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r6, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E7014 ; =0x0000B8A8
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
mov r3, #6
|
|
bl SpriteRenderer_LoadCharResObjFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E7018 ; =0x0000B8A9
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
mov r3, #0xb
|
|
bl SpriteRenderer_LoadCharResObjFromOpenNarc
|
|
ldr r4, _021E701C ; =0x0000B8AB
|
|
add r7, r4, #4
|
|
_021E6F00:
|
|
cmp r4, r7
|
|
str r4, [sp]
|
|
bhs _021E6F1C
|
|
mov r0, #0x47
|
|
mov r1, #0x12
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl sub_020776B8
|
|
b _021E6F30
|
|
_021E6F1C:
|
|
mov r0, #0x47
|
|
mov r1, #0x12
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl sub_020776B8
|
|
_021E6F30:
|
|
ldr r0, _021E7020 ; =0x0000B8B2
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
bls _021E6F00
|
|
mov r1, #0x47
|
|
sub r0, #8
|
|
lsl r1, r1, #2
|
|
str r0, [sp]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl sub_02077834
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, _021E7014 ; =0x0000B8A8
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
mov r3, #5
|
|
bl SpriteRenderer_LoadPlttResObjFromOpenNarc
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
ldr r3, _021E7018 ; =0x0000B8A9
|
|
mov r2, #2
|
|
bl sub_020776EC
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
ldr r3, _021E7024 ; =0x0000B8AA
|
|
mov r2, #1
|
|
bl sub_020776EC
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021E7014 ; =0x0000B8A8
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
mov r3, #7
|
|
bl SpriteRenderer_LoadCellResObjFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021E7018 ; =0x0000B8A9
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
mov r3, #0xa
|
|
bl SpriteRenderer_LoadCellResObjFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021E7014 ; =0x0000B8A8
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
mov r3, #8
|
|
bl SpriteRenderer_LoadAnimResObjFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _021E7018 ; =0x0000B8A9
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
mov r3, #9
|
|
bl SpriteRenderer_LoadAnimResObjFromOpenNarc
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r2, _021E7024 ; =0x0000B8AA
|
|
ldr r1, [r5, r1]
|
|
add r3, r2, #0
|
|
bl sub_0207775C
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E7014: .word 0x0000B8A8
|
|
_021E7018: .word 0x0000B8A9
|
|
_021E701C: .word 0x0000B8AB
|
|
_021E7020: .word 0x0000B8B2
|
|
_021E7024: .word 0x0000B8AA
|
|
thumb_func_end ov68_021E6EB8
|
|
|
|
thumb_func_start ov68_021E7028
|
|
ov68_021E7028: ; 0x021E7028
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r2, #0
|
|
ldrb r0, [r0, #0x18]
|
|
cmp r0, #0
|
|
bne _021E7044
|
|
add r0, r1, #0
|
|
mov r1, #3
|
|
bl GetMoveAttr
|
|
add r6, r0, #0
|
|
b _021E7050
|
|
_021E7044:
|
|
add r0, r1, #0
|
|
mov r1, #0xb
|
|
bl GetMoveAttr
|
|
add r6, r0, #0
|
|
add r6, #0x12
|
|
_021E7050:
|
|
bl sub_020776B4
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
bl sub_02077678
|
|
add r3, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _021E70B8 ; =0x0000B8AB
|
|
mov r1, #0x47
|
|
add r0, r4, r0
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r7, #0
|
|
bl sub_0200E248
|
|
cmp r4, #4
|
|
bhs _021E709A
|
|
add r0, r6, #0
|
|
bl sub_0207769C
|
|
add r1, r0, #0
|
|
add r0, r4, #4
|
|
lsl r0, r0, #2
|
|
add r2, r5, r0
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldr r0, [r2, r0]
|
|
add r1, r1, #4
|
|
bl UnkImageStruct_SetSpritePalIndex
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E709A:
|
|
add r0, r6, #0
|
|
bl sub_0207769C
|
|
add r1, r0, #0
|
|
add r0, r4, #4
|
|
lsl r0, r0, #2
|
|
add r2, r5, r0
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldr r0, [r2, r0]
|
|
bl UnkImageStruct_SetSpritePalIndex
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E70B8: .word 0x0000B8AB
|
|
thumb_func_end ov68_021E7028
|
|
|
|
thumb_func_start ov68_021E70BC
|
|
ov68_021E70BC: ; 0x021E70BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
mov r7, #0x28
|
|
add r5, r6, #0
|
|
_021E70C6:
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #2
|
|
lsl r2, r7, #0x10
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x16
|
|
asr r2, r2, #0x10
|
|
bl UnkImageStruct_SetSpritePositionXY
|
|
ldr r0, [r6]
|
|
ldrh r0, [r0, #0x16]
|
|
add r1, r0, r4
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r6, r0]
|
|
cmp r1, r0
|
|
blo _021E70F4
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl UnkImageStruct_SetSpriteVisibleFlag
|
|
b _021E7116
|
|
_021E70F4:
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl UnkImageStruct_SetSpriteVisibleFlag
|
|
ldr r2, [r6]
|
|
add r0, r6, #0
|
|
ldr r1, [r2, #0x10]
|
|
ldrh r2, [r2, #0x16]
|
|
add r2, r2, r4
|
|
lsl r2, r2, #1
|
|
ldrh r1, [r1, r2]
|
|
lsl r2, r4, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl ov68_021E7028
|
|
_021E7116:
|
|
add r4, r4, #1
|
|
add r7, #0x20
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blo _021E70C6
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E70BC
|
|
|
|
thumb_func_start ov68_021E7124
|
|
ov68_021E7124: ; 0x021E7124
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
bl GetMoveAttr
|
|
add r4, r0, #0
|
|
bl sub_02077830
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_02077800
|
|
add r3, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _021E7174 ; =0x0000B8AA
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl sub_0200E248
|
|
add r0, r4, #0
|
|
bl sub_02077818
|
|
add r1, r0, #0
|
|
mov r0, #0x13
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r1, #4
|
|
bl UnkImageStruct_SetSpritePalIndex
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E7174: .word 0x0000B8AA
|
|
thumb_func_end ov68_021E7124
|
|
|
|
thumb_func_start ov68_021E7178
|
|
ov68_021E7178: ; 0x021E7178
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r4, r1, #0
|
|
bl ov68_021E6DDC
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov68_021E6EB8
|
|
ldr r4, _021E71C0 ; =ov68_021E7E74
|
|
mov r7, #0
|
|
add r5, r6, #0
|
|
_021E7190:
|
|
mov r0, #0x47
|
|
mov r1, #0x12
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #4
|
|
ldr r0, [r6, r0]
|
|
ldr r1, [r6, r1]
|
|
add r2, r4, #0
|
|
bl SpriteRenderer_LoadResourcesAndCreateSprite
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl UnkImageStruct_SetSpriteAnimActiveFlag
|
|
add r7, r7, #1
|
|
add r4, #0x34
|
|
add r5, r5, #4
|
|
cmp r7, #0xc
|
|
blo _021E7190
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E71C0: .word ov68_021E7E74
|
|
thumb_func_end ov68_021E7178
|
|
|
|
thumb_func_start ov68_021E71C4
|
|
ov68_021E71C4: ; 0x021E71C4
|
|
push {r4, r5, lr}
|
|
sub sp, #0x1c
|
|
ldr r5, _021E721C ; =ov68_021E7BEC
|
|
add r4, r0, #0
|
|
add r2, r1, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0x10
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
add r1, sp, #8
|
|
str r0, [r3]
|
|
mov r0, #0
|
|
strh r0, [r1]
|
|
strh r0, [r1, #2]
|
|
strh r0, [r1, #4]
|
|
strh r0, [r1, #6]
|
|
add r0, r2, #0
|
|
bl Camera_New
|
|
str r0, [r4]
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
ldr r0, [r4]
|
|
ldr r3, _021E7220 ; =0x000005C1
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0x10
|
|
lsl r1, r1, #0x10
|
|
add r2, sp, #8
|
|
bl Camera_Init_FromPosDistanceAndAngle
|
|
mov r1, #0x19
|
|
ldr r2, [r4]
|
|
mov r0, #0
|
|
lsl r1, r1, #0xe
|
|
bl Camera_SetPerspectiveClippingPlane
|
|
ldr r0, [r4]
|
|
bl Camera_ClearFixedTarget
|
|
ldr r0, [r4]
|
|
bl Camera_SetStaticPtr
|
|
add sp, #0x1c
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E721C: .word ov68_021E7BEC
|
|
_021E7220: .word 0x000005C1
|
|
thumb_func_end ov68_021E71C4
|
|
|
|
thumb_func_start ov68_021E7224
|
|
ov68_021E7224: ; 0x021E7224
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r2, #0
|
|
bl sub_02007FD4
|
|
str r0, [r5, #4]
|
|
add r0, sp, #0x10
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
bl GetPokemonSpriteCharAndPlttNarcIds
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #4]
|
|
add r1, sp, #0x10
|
|
mov r2, #0x34
|
|
mov r3, #0x80
|
|
bl sub_020085EC
|
|
str r0, [r5, #0x18]
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x70
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
mov r2, #0x1c
|
|
bl GetMonBaseStat_HandleAlternateForm
|
|
add r3, r0, #0
|
|
mov r2, #1
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0x23
|
|
eor r2, r3
|
|
bl sub_020087A4
|
|
add sp, #0x20
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov68_021E7224
|
|
|
|
thumb_func_start ov68_021E7288
|
|
ov68_021E7288: ; 0x021E7288
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl NNS_G3dInit
|
|
bl G3X_Init
|
|
bl G3X_InitMtxStack
|
|
ldr r1, _021E7330 ; =0x04000060
|
|
ldr r2, _021E7334 ; =0xFFFFCFFD
|
|
ldrh r0, [r1]
|
|
and r0, r2
|
|
strh r0, [r1]
|
|
ldrh r3, [r1]
|
|
ldr r0, _021E7338 ; =0x0000CFFB
|
|
and r3, r0
|
|
strh r3, [r1]
|
|
add r3, r2, #2
|
|
ldrh r5, [r1]
|
|
add r2, r2, #2
|
|
sub r0, #0x1c
|
|
and r5, r3
|
|
mov r3, #8
|
|
orr r3, r5
|
|
strh r3, [r1]
|
|
ldrh r3, [r1]
|
|
and r3, r2
|
|
mov r2, #0x10
|
|
orr r2, r3
|
|
strh r2, [r1]
|
|
ldrh r2, [r1]
|
|
and r0, r2
|
|
strh r0, [r1]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl G3X_SetFog
|
|
mov r0, #0
|
|
ldr r2, _021E733C ; =0x00007FFF
|
|
add r1, r0, #0
|
|
mov r3, #0x3f
|
|
str r0, [sp]
|
|
bl G3X_SetClearColor
|
|
ldr r1, _021E7340 ; =0x04000540
|
|
mov r0, #2
|
|
str r0, [r1]
|
|
ldr r0, _021E7344 ; =0xBFFF0000
|
|
mov r2, #0x1c
|
|
str r0, [r1, #0x40]
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl MI_CpuFill8
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0x42
|
|
bl ov68_021E71C4
|
|
ldr r1, [r4]
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r1, [r1]
|
|
add r0, r4, r0
|
|
mov r2, #0x42
|
|
bl ov68_021E7224
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
ldr r1, _021E7348 ; =0x04000008
|
|
mov r0, #3
|
|
ldrh r2, [r1]
|
|
bic r2, r0
|
|
mov r0, #1
|
|
orr r0, r2
|
|
strh r0, [r1]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E7330: .word 0x04000060
|
|
_021E7334: .word 0xFFFFCFFD
|
|
_021E7338: .word 0x0000CFFB
|
|
_021E733C: .word 0x00007FFF
|
|
_021E7340: .word 0x04000540
|
|
_021E7344: .word 0xBFFF0000
|
|
_021E7348: .word 0x04000008
|
|
thumb_func_end ov68_021E7288
|
|
|
|
thumb_func_start ov68_021E734C
|
|
ov68_021E734C: ; 0x021E734C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl Thunk_G3X_Reset
|
|
bl Camera_PushLookAtToNNSGlb
|
|
ldr r2, _021E7380 ; =0x04000440
|
|
mov r3, #0
|
|
add r1, r2, #0
|
|
str r3, [r2]
|
|
add r1, #0x14
|
|
str r3, [r1]
|
|
mov r0, #2
|
|
str r0, [r2]
|
|
str r3, [r1]
|
|
bl NNS_G3dGlbFlushP
|
|
bl NNS_G2dSetupSoftwareSpriteCamera
|
|
ldr r0, [r4, #4]
|
|
bl sub_02008120
|
|
ldr r0, _021E7384 ; =0x04000540
|
|
mov r1, #1
|
|
str r1, [r0]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E7380: .word 0x04000440
|
|
_021E7384: .word 0x04000540
|
|
thumb_func_end ov68_021E734C
|
|
|
|
thumb_func_start ov68_021E7388
|
|
ov68_021E7388: ; 0x021E7388
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl Camera_Delete
|
|
ldr r0, [r4, #4]
|
|
bl sub_02008524
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x1c
|
|
bl MI_CpuFill8
|
|
pop {r4, pc}
|
|
thumb_func_end ov68_021E7388
|
|
|
|
thumb_func_start ov68_021E73A4
|
|
ov68_021E73A4: ; 0x021E73A4
|
|
push {r3, r4, r5, lr}
|
|
add r3, r1, #0
|
|
add r4, r0, #0
|
|
add r5, r2, #0
|
|
cmp r3, #4
|
|
bhs _021E73D2
|
|
mov r0, #0x4b
|
|
lsl r2, r3, #5
|
|
lsl r0, r0, #2
|
|
add r2, #0x20
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
asr r2, r2, #0x10
|
|
bl UnkImageStruct_SetSpritePositionXY
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl UnkImageStruct_SetSpriteAnimCtrlCurrentFrame
|
|
b _021E7414
|
|
_021E73D2:
|
|
cmp r3, #6
|
|
bhs _021E73FA
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
sub r2, r3, #4
|
|
mov r1, #0x28
|
|
mul r1, r2
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r4, r0]
|
|
asr r1, r1, #0x10
|
|
mov r2, #0xa8
|
|
bl UnkImageStruct_SetSpritePositionXY
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl UnkImageStruct_SetSpriteAnimCtrlCurrentFrame
|
|
b _021E7414
|
|
_021E73FA:
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xc0
|
|
mov r2, #0xa0
|
|
bl UnkImageStruct_SetSpritePositionXY
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #2
|
|
bl UnkImageStruct_SetSpriteAnimCtrlCurrentFrame
|
|
_021E7414:
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
bl UnkImageStruct_SetSpritePalIndex
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E73A4
|
|
|
|
thumb_func_start ov68_021E7424
|
|
ov68_021E7424: ; 0x021E7424
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
add r7, r2, #0
|
|
cmp r6, #0
|
|
bne _021E7442
|
|
cmp r7, #0
|
|
beq _021E7442
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r4, #1
|
|
bl UnkImageStruct_ResetSpriteAnimCtrlState
|
|
b _021E7444
|
|
_021E7442:
|
|
mov r4, #0
|
|
_021E7444:
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0, #0x16]
|
|
add r2, r0, #4
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r5, r0]
|
|
cmp r2, r1
|
|
bge _021E7460
|
|
sub r0, #0x94
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
b _021E746A
|
|
_021E7460:
|
|
sub r0, #0x94
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #2
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
_021E746A:
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl UnkImageStruct_SetSpriteAnimActiveFlag
|
|
cmp r6, #1
|
|
bne _021E748C
|
|
cmp r7, #0
|
|
beq _021E748C
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r4, #1
|
|
bl UnkImageStruct_ResetSpriteAnimCtrlState
|
|
b _021E748E
|
|
_021E748C:
|
|
mov r4, #0
|
|
_021E748E:
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0, #0x16]
|
|
cmp r0, #0
|
|
beq _021E74A4
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #4
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
b _021E74B0
|
|
_021E74A4:
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #6
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
_021E74B0:
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl UnkImageStruct_SetSpriteAnimActiveFlag
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E7424
|
|
|
|
thumb_func_start ov68_021E74C0
|
|
ov68_021E74C0: ; 0x021E74C0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mov r1, #0x42
|
|
bl sub_020880CC
|
|
mov r0, #0x1b
|
|
mov r1, #0xb
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov68_021E74C0
|
|
|
|
thumb_func_start ov68_021E74D8
|
|
ov68_021E74D8: ; 0x021E74D8
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r2, _021E7560 ; =_021E7BE8
|
|
add r1, sp, #0
|
|
ldrb r3, [r2]
|
|
ldrb r2, [r2, #1]
|
|
add r4, r0, #0
|
|
strb r3, [r1]
|
|
strb r2, [r1, #1]
|
|
bl ov68_021E5B14
|
|
ldr r0, [r4]
|
|
mov r1, #0x17
|
|
ldr r0, [r0]
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
ldr r2, [r0, #8]
|
|
add r0, r1, #4
|
|
str r2, [r4, r0]
|
|
add r0, r1, #0
|
|
mov r2, #0
|
|
add r0, #0x11
|
|
strb r2, [r4, r0]
|
|
add r0, r1, #0
|
|
add r0, #0x14
|
|
strb r2, [r4, r0]
|
|
mov r0, #1
|
|
add r1, #0x13
|
|
strb r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov68_021E6BEC
|
|
mov r1, #0x62
|
|
lsl r1, r1, #2
|
|
strh r0, [r4, r1]
|
|
mov r2, #2
|
|
sub r0, r1, #6
|
|
strb r2, [r4, r0]
|
|
add r0, r1, #0
|
|
mov r2, #1
|
|
add r0, #0x14
|
|
str r2, [r4, r0]
|
|
add r0, r1, #0
|
|
mov r2, #0
|
|
add r0, #0x10
|
|
str r2, [r4, r0]
|
|
add r0, r1, #0
|
|
add r0, #0x18
|
|
sub r1, #0x18
|
|
str r2, [r4, r0]
|
|
add r0, r4, r1
|
|
add r1, sp, #0
|
|
bl sub_02089D40
|
|
mov r1, #0x17
|
|
lsl r1, r1, #4
|
|
ldr r0, _021E7564 ; =_02103A1C
|
|
add r1, r4, r1
|
|
mov r2, #0x42
|
|
bl OverlayManager_New
|
|
mov r1, #0x6b
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0xc
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_021E7560: .word _021E7BE8
|
|
_021E7564: .word _02103A1C
|
|
thumb_func_end ov68_021E74D8
|
|
|
|
thumb_func_start ov68_021E7568
|
|
ov68_021E7568: ; 0x021E7568
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl OverlayManager_Run
|
|
cmp r0, #0
|
|
beq _021E75B6
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl OverlayManager_Delete
|
|
add r0, r4, #0
|
|
bl ov68_021E5A58
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldrh r1, [r1, #0x14]
|
|
bl ov68_021E7A18
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldrh r1, [r1, #0x14]
|
|
mov r2, #3
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov68_021E73A4
|
|
ldr r0, _021E75BC ; =0x00000186
|
|
ldr r1, [r4]
|
|
ldrb r2, [r4, r0]
|
|
add r0, #0x2a
|
|
strb r2, [r1, #0x1b]
|
|
mov r1, #7
|
|
str r1, [r4, r0]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E75B6:
|
|
mov r0, #0xc
|
|
pop {r4, pc}
|
|
nop
|
|
_021E75BC: .word 0x00000186
|
|
thumb_func_end ov68_021E7568
|
|
|
|
thumb_func_start ov68_021E75C0
|
|
ov68_021E75C0: ; 0x021E75C0
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x42
|
|
str r0, [sp, #8]
|
|
ldr r0, _021E75F8 ; =ov68_021E7CF0
|
|
ldr r1, _021E75FC ; =ov68_021E7D64
|
|
ldr r2, _021E7600 ; =ov68_021E7C08
|
|
add r3, r4, #0
|
|
bl sub_02019BA4
|
|
mov r1, #0x72
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov68_021E7898
|
|
add r0, r4, #0
|
|
bl ov68_021E7910
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021E75F8: .word ov68_021E7CF0
|
|
_021E75FC: .word ov68_021E7D64
|
|
_021E7600: .word ov68_021E7C08
|
|
thumb_func_end ov68_021E75C0
|
|
|
|
thumb_func_start ov68_021E7604
|
|
ov68_021E7604: ; 0x021E7604
|
|
mov r1, #0x72
|
|
lsl r1, r1, #2
|
|
ldr r3, _021E7610 ; =sub_02019BDC
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
nop
|
|
_021E7610: .word sub_02019BDC
|
|
thumb_func_end ov68_021E7604
|
|
|
|
thumb_func_start ov68_021E7614
|
|
ov68_021E7614: ; 0x021E7614
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E7614
|
|
|
|
thumb_func_start ov68_021E7618
|
|
ov68_021E7618: ; 0x021E7618
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
mov r1, #0
|
|
add r6, r2, #0
|
|
bl ov68_021E7898
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov68_021E7A18
|
|
cmp r4, #3
|
|
bgt _021E766A
|
|
ldr r0, _021E7738 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, [r5]
|
|
strh r4, [r0, #0x14]
|
|
ldr r0, [r5]
|
|
ldrh r1, [r0, #0x16]
|
|
ldrh r0, [r0, #0x14]
|
|
add r1, r1, r0
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
cmp r1, r0
|
|
bge _021E765E
|
|
add r0, r5, #0
|
|
bl ov68_021E6BEC
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov68_021E68D4
|
|
b _021E7728
|
|
_021E765E:
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl ov68_021E68D4
|
|
b _021E7728
|
|
_021E766A:
|
|
cmp r4, #6
|
|
bne _021E7722
|
|
cmp r6, #3
|
|
bne _021E76C2
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0, #0x16]
|
|
add r1, r0, #4
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
cmp r1, r0
|
|
bge _021E76C2
|
|
ldr r0, _021E7738 ; =0x000005DD
|
|
bl PlaySE
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
mov r4, #3
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl sub_02019F7C
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1, #0x16]
|
|
add r0, r0, #1
|
|
strh r0, [r1, #0x16]
|
|
add r0, r5, #0
|
|
bl ov68_021E67E0
|
|
add r0, r5, #0
|
|
bl ov68_021E6BEC
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov68_021E68D4
|
|
add r0, r5, #0
|
|
bl ov68_021E7910
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov68_021E797C
|
|
b _021E7728
|
|
_021E76C2:
|
|
cmp r6, #0
|
|
bne _021E7710
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0, #0x16]
|
|
cmp r0, #0
|
|
beq _021E7700
|
|
ldr r0, _021E7738 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1, #0x16]
|
|
sub r0, r0, #1
|
|
strh r0, [r1, #0x16]
|
|
add r0, r5, #0
|
|
bl ov68_021E67E0
|
|
add r0, r5, #0
|
|
bl ov68_021E6BEC
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov68_021E68D4
|
|
add r0, r5, #0
|
|
bl ov68_021E7910
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl ov68_021E797C
|
|
_021E7700:
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
mov r4, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl sub_02019F7C
|
|
b _021E7728
|
|
_021E7710:
|
|
ldr r0, _021E7738 ; =0x000005DD
|
|
bl PlaySE
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl ov68_021E68D4
|
|
b _021E7728
|
|
_021E7722:
|
|
ldr r0, _021E7738 ; =0x000005DD
|
|
bl PlaySE
|
|
_021E7728:
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #3
|
|
bl ov68_021E73A4
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E7738: .word 0x000005DD
|
|
thumb_func_end ov68_021E7618
|
|
|
|
thumb_func_start ov68_021E773C
|
|
ov68_021E773C: ; 0x021E773C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #3
|
|
bgt _021E7792
|
|
ldr r1, [r5]
|
|
strh r4, [r1, #0x14]
|
|
ldr r2, [r5]
|
|
ldrh r1, [r2, #0x16]
|
|
ldrh r2, [r2, #0x14]
|
|
add r3, r1, r2
|
|
mov r2, #0x6e
|
|
lsl r2, r2, #2
|
|
ldrb r2, [r5, r2]
|
|
cmp r3, r2
|
|
bge _021E7778
|
|
bl ov68_021E7A18
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov68_021E7898
|
|
add r0, r5, #0
|
|
bl ov68_021E6BEC
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov68_021E68D4
|
|
b _021E7884
|
|
_021E7778:
|
|
mov r1, #5
|
|
bl ov68_021E7A18
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov68_021E7898
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl ov68_021E68D4
|
|
b _021E7884
|
|
_021E7792:
|
|
cmp r4, #4
|
|
bne _021E77E8
|
|
ldr r0, _021E7894 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1, #0x16]
|
|
ldrh r4, [r1, #0x14]
|
|
add r0, r0, #1
|
|
strh r0, [r1, #0x16]
|
|
add r0, r5, #0
|
|
bl ov68_021E6BEC
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov68_021E68D4
|
|
add r0, r5, #0
|
|
bl ov68_021E67E0
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov68_021E7A18
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov68_021E7898
|
|
add r0, r5, #0
|
|
bl ov68_021E7910
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov68_021E797C
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
bl sub_02019F7C
|
|
b _021E7884
|
|
_021E77E8:
|
|
cmp r4, #5
|
|
bne _021E7840
|
|
ldr r0, _021E7894 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1, #0x16]
|
|
ldrh r4, [r1, #0x14]
|
|
sub r0, r0, #1
|
|
strh r0, [r1, #0x16]
|
|
add r0, r5, #0
|
|
bl ov68_021E6BEC
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov68_021E68D4
|
|
add r0, r5, #0
|
|
bl ov68_021E67E0
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov68_021E7A18
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov68_021E7898
|
|
add r0, r5, #0
|
|
bl ov68_021E7910
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl ov68_021E797C
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
bl sub_02019F7C
|
|
b _021E7884
|
|
_021E7840:
|
|
cmp r4, #6
|
|
bne _021E786E
|
|
mov r1, #5
|
|
bl ov68_021E7A18
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov68_021E7898
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r5, r0]
|
|
cmp r1, #6
|
|
beq _021E7884
|
|
ldr r1, [r5]
|
|
sub r0, r0, #4
|
|
ldrh r4, [r1, #0x14]
|
|
ldr r0, [r5, r0]
|
|
lsl r1, r4, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl sub_02019F7C
|
|
b _021E7884
|
|
_021E786E:
|
|
cmp r4, #7
|
|
bne _021E7884
|
|
ldr r0, [r5]
|
|
ldrh r4, [r0, #0x14]
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
bl sub_02019F7C
|
|
_021E7884:
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #3
|
|
bl ov68_021E73A4
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E7894: .word 0x000005DD
|
|
thumb_func_end ov68_021E773C
|
|
|
|
thumb_func_start ov68_021E7898
|
|
ov68_021E7898: ; 0x021E7898
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
cmp r1, #1
|
|
bne _021E78D6
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #7
|
|
bl sub_02019FF8
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r3, #8
|
|
str r3, [sp, #4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
mov r2, #0x14
|
|
bl ov68_021E66A0
|
|
ldr r0, _021E790C ; =0x000001CE
|
|
mov r1, #1
|
|
add sp, #0xc
|
|
strh r1, [r4, r0]
|
|
pop {r3, r4, pc}
|
|
_021E78D6:
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #7
|
|
bl sub_02019FD0
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
mov r2, #0x14
|
|
mov r3, #8
|
|
bl ov68_021E66A0
|
|
mov r1, #0
|
|
ldr r0, _021E790C ; =0x000001CE
|
|
strh r1, [r4, r0]
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_021E790C: .word 0x000001CE
|
|
thumb_func_end ov68_021E7898
|
|
|
|
thumb_func_start ov68_021E7910
|
|
ov68_021E7910: ; 0x021E7910
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #4
|
|
bhs _021E7936
|
|
add r0, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #4
|
|
bl sub_02019FD0
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #5
|
|
bl sub_02019FD0
|
|
pop {r4, pc}
|
|
_021E7936:
|
|
ldr r1, [r4]
|
|
ldrh r1, [r1, #0x16]
|
|
cmp r1, #0
|
|
bne _021E794A
|
|
add r0, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #5
|
|
bl sub_02019FD0
|
|
b _021E7954
|
|
_021E794A:
|
|
add r0, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #5
|
|
bl sub_02019FF8
|
|
_021E7954:
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0, #0x16]
|
|
add r2, r0, #4
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r4, r0]
|
|
cmp r2, r1
|
|
blt _021E7970
|
|
add r0, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #4
|
|
bl sub_02019FD0
|
|
pop {r4, pc}
|
|
_021E7970:
|
|
add r0, #0x10
|
|
ldr r0, [r4, r0]
|
|
mov r1, #4
|
|
bl sub_02019FF8
|
|
pop {r4, pc}
|
|
thumb_func_end ov68_021E7910
|
|
|
|
thumb_func_start ov68_021E797C
|
|
ov68_021E797C: ; 0x021E797C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl UnkImageStruct_SetSpriteAnimActiveFlag
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl UnkImageStruct_SetSpriteAnimActiveFlag
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl UnkImageStruct_SetSpriteAnimCtrlCurrentFrame
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl UnkImageStruct_SetSpriteAnimCtrlCurrentFrame
|
|
cmp r4, #0
|
|
ldr r0, [r5]
|
|
ble _021E79EA
|
|
ldrh r0, [r0, #0x16]
|
|
add r2, r0, #4
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r5, r0]
|
|
cmp r2, r1
|
|
bge _021E79D2
|
|
sub r0, #0x94
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
b _021E79DC
|
|
_021E79D2:
|
|
sub r0, #0x94
|
|
ldr r0, [r5, r0]
|
|
mov r1, #3
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
_021E79DC:
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #4
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
pop {r3, r4, r5, pc}
|
|
_021E79EA:
|
|
ldrh r0, [r0, #0x16]
|
|
cmp r0, #0
|
|
bne _021E79FE
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #7
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
b _021E7A0A
|
|
_021E79FE:
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
_021E7A0A:
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl UnkImageStruct_SetSpriteAnimSeqNo
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov68_021E797C
|
|
|
|
thumb_func_start ov68_021E7A18
|
|
ov68_021E7A18: ; 0x021E7A18
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
mov r6, #0
|
|
mov r4, #4
|
|
_021E7A24:
|
|
cmp r6, r7
|
|
bne _021E7A44
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
lsl r2, r4, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
mov r3, #0x10
|
|
bl ov68_021E66A0
|
|
b _021E7A82
|
|
_021E7A44:
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
cmp r6, r0
|
|
blo _021E7A6A
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
lsl r2, r4, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
mov r3, #0x10
|
|
bl ov68_021E66A0
|
|
b _021E7A82
|
|
_021E7A6A:
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
lsl r2, r4, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
mov r3, #0x10
|
|
bl ov68_021E66A0
|
|
_021E7A82:
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #4
|
|
blo _021E7A24
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E7A18
|
|
|
|
thumb_func_start ov68_021E7A90
|
|
ov68_021E7A90: ; 0x021E7A90
|
|
mov r2, #0x1d
|
|
lsl r2, r2, #4
|
|
add r2, r0, r2
|
|
mov r0, #0x18
|
|
strb r0, [r2]
|
|
mov r0, #0x14
|
|
strb r0, [r2, #1]
|
|
mov r0, #8
|
|
strb r0, [r2, #2]
|
|
mov r0, #4
|
|
strb r0, [r2, #3]
|
|
mov r0, #0
|
|
strh r0, [r2, #4]
|
|
strh r0, [r2, #6]
|
|
str r1, [r2, #8]
|
|
mov r0, #0xd
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E7A90
|
|
|
|
thumb_func_start ov68_021E7AB4
|
|
ov68_021E7AB4: ; 0x021E7AB4
|
|
mov r2, #0x1d
|
|
lsl r2, r2, #4
|
|
add r2, r0, r2
|
|
mov r0, #0xf
|
|
strb r0, [r2]
|
|
mov r0, #0x14
|
|
strb r0, [r2, #1]
|
|
mov r0, #8
|
|
strb r0, [r2, #2]
|
|
mov r0, #4
|
|
strb r0, [r2, #3]
|
|
mov r0, #0
|
|
strh r0, [r2, #4]
|
|
strh r0, [r2, #6]
|
|
str r1, [r2, #8]
|
|
mov r0, #0xd
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E7AB4
|
|
|
|
thumb_func_start ov68_021E7AD8
|
|
ov68_021E7AD8: ; 0x021E7AD8
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r0, #0x1d
|
|
lsl r0, r0, #4
|
|
add r4, r5, r0
|
|
ldrh r0, [r4, #6]
|
|
cmp r0, #0
|
|
beq _021E7AF4
|
|
cmp r0, #1
|
|
beq _021E7B1A
|
|
cmp r0, #2
|
|
beq _021E7B52
|
|
b _021E7B64
|
|
_021E7AF4:
|
|
ldrb r0, [r4, #2]
|
|
mov r1, #7
|
|
str r0, [sp]
|
|
ldrb r0, [r4, #3]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldrb r2, [r4]
|
|
ldrb r3, [r4, #1]
|
|
ldr r0, [r5, #4]
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, [r5, #4]
|
|
mov r1, #7
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldrh r0, [r4, #6]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #6]
|
|
b _021E7B64
|
|
_021E7B1A:
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
ldrh r0, [r4, #4]
|
|
cmp r0, #4
|
|
bne _021E7B64
|
|
ldrb r0, [r4, #2]
|
|
mov r1, #7
|
|
str r0, [sp]
|
|
ldrb r0, [r4, #3]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldrb r2, [r4]
|
|
ldrb r3, [r4, #1]
|
|
ldr r0, [r5, #4]
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, [r5, #4]
|
|
mov r1, #7
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
mov r0, #0
|
|
strh r0, [r4, #4]
|
|
ldrh r0, [r4, #6]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #6]
|
|
b _021E7B64
|
|
_021E7B52:
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
ldrh r0, [r4, #4]
|
|
cmp r0, #2
|
|
bne _021E7B64
|
|
add sp, #0xc
|
|
ldr r0, [r4, #8]
|
|
pop {r4, r5, pc}
|
|
_021E7B64:
|
|
mov r0, #0xd
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov68_021E7AD8
|
|
|
|
thumb_func_start ov68_021E7B6C
|
|
ov68_021E7B6C: ; 0x021E7B6C
|
|
push {r4, lr}
|
|
mov r1, #2
|
|
add r4, r0, #0
|
|
bl ov68_021E6C14
|
|
ldr r0, _021E7B88 ; =0x000001BA
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r1, #3
|
|
sub r0, #0xa
|
|
str r1, [r4, r0]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
nop
|
|
_021E7B88: .word 0x000001BA
|
|
thumb_func_end ov68_021E7B6C
|
|
|
|
thumb_func_start ov68_021E7B8C
|
|
ov68_021E7B8C: ; 0x021E7B8C
|
|
ldr r3, _021E7B90 ; =ov68_021E7B94
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E7B90: .word ov68_021E7B94
|
|
thumb_func_end ov68_021E7B8C
|
|
|
|
thumb_func_start ov68_021E7B94
|
|
ov68_021E7B94: ; 0x021E7B94
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov68_021E6CD8
|
|
cmp r0, #4
|
|
bhs _021E7BAC
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov68_021E6C14
|
|
mov r1, #0
|
|
b _021E7BB6
|
|
_021E7BAC:
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov68_021E6C14
|
|
mov r1, #2
|
|
_021E7BB6:
|
|
ldr r0, _021E7BC4 ; =0x000001BA
|
|
strb r1, [r4, r0]
|
|
mov r1, #3
|
|
sub r0, #0xa
|
|
str r1, [r4, r0]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E7BC4: .word 0x000001BA
|
|
thumb_func_end ov68_021E7B94
|
|
|
|
thumb_func_start ov68_021E7BC8
|
|
ov68_021E7BC8: ; 0x021E7BC8
|
|
push {r3, lr}
|
|
cmp r0, #1
|
|
ldr r0, _021E7BE4 ; =0x04001050
|
|
bne _021E7BDC
|
|
mov r1, #0x1e
|
|
add r2, r1, #0
|
|
sub r2, #0x26
|
|
bl G2x_SetBlendBrightness_
|
|
pop {r3, pc}
|
|
_021E7BDC:
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
pop {r3, pc}
|
|
nop
|
|
_021E7BE4: .word 0x04001050
|
|
thumb_func_end ov68_021E7BC8
|
|
|
|
.rodata
|
|
|
|
_021E7BE8:
|
|
.byte 0x01, 0x04, 0x00, 0x00
|
|
|
|
ov68_021E7BEC: ; 0x021E7BEC
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
|
|
ov68_021E7BF8: ; 0x021E7BF8
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7C08: ; 0x021E7C08
|
|
.word ov68_021E7614
|
|
.word ov68_021E7614
|
|
.word ov68_021E7618
|
|
.word ov68_021E773C
|
|
|
|
ov68_021E7C18: ; 0x021E7C18
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
|
|
.byte 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7C2C: ; 0x021E7C2C
|
|
.byte 0x0B, 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
|
|
|
|
ov68_021E7C44: ; 0x021E7C44
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7C60: ; 0x021E7C60
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7C7C: ; 0x021E7C7C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7C98: ; 0x021E7C98
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x02, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7CB4: ; 0x021E7CB4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1C, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7CD0: ; 0x021E7CD0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7CF0: ; 0x021E7CF0
|
|
.byte 0x20, 0x3F, 0x00, 0x7F, 0x40, 0x5F, 0x00, 0x7F, 0x60, 0x7F, 0x00, 0x7F, 0x80, 0x9F, 0x00, 0x7F
|
|
.byte 0xA8, 0xBF, 0x00, 0x27, 0xA8, 0xBF, 0x28, 0x4F, 0xA6, 0xBF, 0xC0, 0xFF, 0xA6, 0xBF, 0x78, 0xB7
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7D14: ; 0x021E7D14
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7D3C: ; 0x021E7D3C
|
|
.word ov68_021E6D00
|
|
|
|
ov68_021E7D40: ; 0x021E7D40
|
|
.word ov68_021E6D20
|
|
.word ov68_021E6D40
|
|
.word ov68_021E6D4C
|
|
.word ov68_021E6D58
|
|
.word ov68_021E6D64
|
|
.word ov68_021E6D80
|
|
.word ov68_021E6D9C
|
|
.word ov68_021E6DB8
|
|
.word ov68_021E6DD0
|
|
|
|
ov68_021E7D64: ; 0x021E7D64
|
|
.byte 0x28, 0x34, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x50, 0x3C, 0x00, 0x00
|
|
.byte 0x00, 0x02, 0x01, 0x01, 0x28, 0x54, 0x00, 0x00, 0x01, 0x03, 0x02, 0x02, 0x50, 0x5C, 0x00, 0x00
|
|
.byte 0x02, 0x06, 0x03, 0x03, 0x28, 0x74, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x50, 0x7C, 0x00, 0x00
|
|
.byte 0x05, 0x05, 0x05, 0x05, 0xE0, 0xA8, 0x00, 0x00, 0x03, 0x06, 0x06, 0x06, 0xE0, 0xA8, 0x00, 0x00
|
|
.byte 0x07, 0x07, 0x07, 0x07
|
|
|
|
ov68_021E7DA4: ; 0x021E7DA4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
|
|
ov68_021E7DFC: ; 0x021E7DFC
|
|
.byte 0x06, 0x11, 0x04, 0x06
|
|
.byte 0x02, 0x0F, 0x5B, 0x00, 0x06, 0x11, 0x06, 0x06, 0x02, 0x0F, 0x67, 0x00, 0x06, 0x11, 0x08, 0x08
|
|
.byte 0x02, 0x0F, 0x73, 0x00, 0x06, 0x1C, 0x06, 0x03, 0x02, 0x0F, 0x83, 0x00, 0x06, 0x1C, 0x08, 0x03
|
|
.byte 0x02, 0x0F, 0x89, 0x00, 0x06, 0x11, 0x0A, 0x0F, 0x0A, 0x0F, 0x8F, 0x00, 0x04, 0x02, 0x13, 0x1B
|
|
.byte 0x04, 0x0E, 0x25, 0x01, 0x06, 0x01, 0x00, 0x1E, 0x03, 0x0F, 0x91, 0x01, 0x06, 0x0F, 0x15, 0x08
|
|
.byte 0x03, 0x0F, 0xEB, 0x01, 0x06, 0x18, 0x15, 0x08, 0x03, 0x0F, 0x03, 0x02, 0x06, 0x05, 0x04, 0x0A
|
|
.byte 0x10, 0x0F, 0x1B, 0x02, 0x04, 0x17, 0x0D, 0x07, 0x04, 0x0E, 0xBB, 0x02, 0x02, 0x01, 0x00, 0x14
|
|
.byte 0x03, 0x0F, 0x01, 0x00, 0x02, 0x13, 0x05, 0x0A, 0x10, 0x0F, 0x3D, 0x00, 0x02, 0x02, 0x05, 0x09
|
|
.byte 0x08, 0x0F, 0xDD, 0x00
|
|
|
|
ov68_021E7E74: ; 0x021E7E74
|
|
.byte 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00
|
|
.byte 0xA8, 0xB8, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x04, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00
|
|
.byte 0xA8, 0xB8, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00
|
|
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0xA8, 0xB8, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xEC, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0xA8, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00
|
|
.byte 0xAA, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xAB, 0xB8, 0x00, 0x00, 0xA9, 0xB8, 0x00, 0x00
|
|
.byte 0xAA, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xAC, 0xB8, 0x00, 0x00
|
|
.byte 0xA9, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x68, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0xAD, 0xB8, 0x00, 0x00, 0xA9, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0xAE, 0xB8, 0x00, 0x00, 0xA9, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00
|
|
.byte 0xAA, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAF, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00
|
|
.byte 0xAA, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB0, 0xB8, 0x00, 0x00
|
|
.byte 0xAA, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x00, 0x70, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xB1, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x86, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xB2, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00, 0xAA, 0xB8, 0x00, 0x00
|
|
.byte 0xAA, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
; 0x021E80E4
|