pokeheartgold/asm/overlay_88.s

2309 lines
41 KiB
ArmAsm
Raw Normal View History

.include "asm/macros.inc"
2023-01-27 22:42:00 +00:00
.include "overlay_88.inc"
.include "global.inc"
.text
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258800
2021-06-27 18:48:56 +00:00
ov88_02258800: ; 0x02258800
2021-06-18 12:29:26 +00:00
push {r4, r5, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2022-06-05 23:40:40 +00:00
bl OverlayManager_GetArgs
2021-06-27 18:48:56 +00:00
mov r2, #5
add r5, r0, #0
mov r0, #3
mov r1, #0x72
lsl r2, r2, #0x10
bl CreateHeap
2021-06-27 18:48:56 +00:00
mov r1, #0x27
add r0, r4, #0
lsl r1, r1, #4
mov r2, #0x72
bl OverlayManager_CreateAndGetData
2021-06-27 18:48:56 +00:00
mov r2, #0x27
mov r1, #0
lsl r2, r2, #4
add r4, r0, #0
bl memset
2021-06-18 12:29:26 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0x72
2021-06-18 12:29:26 +00:00
str r0, [r4]
ldr r0, [r5, #4]
str r0, [r4, #4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r0, #8
2021-06-26 16:52:54 +00:00
bl ov88_02258ABC
2021-06-27 18:48:56 +00:00
mov r0, #0x53
lsl r0, r0, #2
add r1, r4, #0
add r0, r4, r0
add r1, #8
mov r2, #0x72
2021-06-26 16:52:54 +00:00
bl ov88_02258D64
2021-06-18 12:29:26 +00:00
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
ldr r0, [r5, #8]
2021-06-27 18:48:56 +00:00
mov r2, #0x72
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
str r2, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
add r0, #0xe2
add r2, #0xda
2021-06-18 12:29:26 +00:00
ldr r3, [r4]
2021-06-27 18:48:56 +00:00
add r0, r4, r0
add r1, #8
add r2, r4, r2
2021-06-26 16:52:54 +00:00
bl ov88_02258EA8
2021-06-18 12:29:26 +00:00
ldr r0, [r5, #8]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r2, #0x72
2021-06-18 12:29:26 +00:00
str r2, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
add r0, #0xee
add r2, #0xda
2021-06-18 12:29:26 +00:00
ldr r3, [r4]
2021-06-27 18:48:56 +00:00
add r0, r4, r0
add r1, #8
add r2, r4, r2
2021-06-26 16:52:54 +00:00
bl ov88_022590C0
2021-06-27 18:48:56 +00:00
mov r0, #0x59
lsl r0, r0, #2
add r1, r4, #0
add r0, r4, r0
add r1, #8
mov r2, #0x72
2021-06-26 16:52:54 +00:00
bl ov88_022592EC
2021-06-27 18:48:56 +00:00
mov r0, #2
lsl r0, r0, #8
add r1, r4, #0
add r0, r4, r0
add r1, #8
mov r2, #0x72
2021-06-26 16:52:54 +00:00
bl ov88_0225967C
2021-06-27 18:48:56 +00:00
ldr r0, _022588C0 ; =ov88_02258A64
add r1, r4, #0
2021-09-18 16:36:50 +00:00
bl Main_SetVBlankIntrCB
2022-01-31 17:22:29 +00:00
bl HBlankInterruptDisable
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-18 12:29:26 +00:00
add sp, #0xc
pop {r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_022588C0: .word ov88_02258A64
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258800
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_022588C4
2021-06-27 18:48:56 +00:00
ov88_022588C4: ; 0x022588C4
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r5, r1, #0
bl OverlayManager_GetData
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r6, #0
2022-06-05 23:40:40 +00:00
bl OverlayManager_GetArgs
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-26 16:52:54 +00:00
ldr r0, [r5]
cmp r0, #4
bls _022588E2
b _022589EA
_022588E2:
2021-06-27 18:48:56 +00:00
add r0, r0, r0
2021-06-26 16:52:54 +00:00
add r0, pc
ldrh r0, [r0, #6]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-26 16:52:54 +00:00
add pc, r0
2021-06-27 18:48:56 +00:00
_022588EE: ; jump table
.short _022588F8 - _022588EE - 2 ; case 0
.short _0225891E - _022588EE - 2 ; case 1
.short _0225892E - _022588EE - 2 ; case 2
.short _022589BC - _022588EE - 2 ; case 3
.short _022589DC - _022588EE - 2 ; case 4
2021-06-26 16:52:54 +00:00
_022588F8:
2021-06-27 18:48:56 +00:00
mov r0, #6
2021-06-26 16:52:54 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 16:52:54 +00:00
str r1, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x72
2021-06-26 16:52:54 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0
add r2, r1, #0
add r3, r0, #0
2022-03-15 12:19:04 +00:00
bl BeginNormalPaletteFade
2021-06-26 16:52:54 +00:00
ldr r0, [r6, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
bl ov45_0222A520
2021-06-26 16:52:54 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 16:52:54 +00:00
str r0, [r5]
b _022589EA
_0225891E:
2022-03-27 22:00:16 +00:00
bl IsPaletteFadeFinished
2021-06-26 16:52:54 +00:00
cmp r0, #1
bne _022589EA
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 16:52:54 +00:00
str r0, [r5]
b _022589EA
_0225892E:
2022-02-01 20:44:20 +00:00
ldr r0, _022589F8 ; =gSystem
2021-06-26 16:52:54 +00:00
ldr r1, [r0, #0x48]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 16:52:54 +00:00
tst r0, r1
bne _0225894A
ldr r0, [r6, #8]
bl ov45_0222A330
2021-06-26 16:52:54 +00:00
cmp r0, #1
beq _0225894A
bl ov45_0222D844
2021-06-26 16:52:54 +00:00
cmp r0, #1
bne _02258960
_0225894A:
ldr r0, [r6, #8]
bl ov45_0222A330
2021-06-26 16:52:54 +00:00
cmp r0, #1
bne _0225895A
ldr r0, [r6, #8]
bl ov45_0222A4A8
2021-06-26 16:52:54 +00:00
_0225895A:
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-26 16:52:54 +00:00
str r0, [r5]
b _022589EA
_02258960:
2021-06-27 18:48:56 +00:00
mov r0, #0x55
lsl r0, r0, #2
2021-06-26 16:52:54 +00:00
ldr r1, [r4]
ldr r2, [r4, #4]
2021-06-27 18:48:56 +00:00
add r0, r4, r0
2021-06-26 16:52:54 +00:00
bl ov88_02258EFC
cmp r0, #1
bne _0225897E
2021-06-27 18:48:56 +00:00
mov r0, #2
lsl r0, r0, #8
add r0, r4, r0
mov r1, #1
2021-06-26 16:52:54 +00:00
bl ov88_02259818
_0225897E:
2021-06-27 18:48:56 +00:00
mov r0, #0x16
lsl r0, r0, #4
2021-06-26 16:52:54 +00:00
ldr r1, [r4]
2021-06-27 18:48:56 +00:00
add r0, r4, r0
2021-06-26 16:52:54 +00:00
bl ov88_022590D8
cmp r0, #1
bne _0225899A
2021-06-27 18:48:56 +00:00
mov r0, #2
lsl r0, r0, #8
add r0, r4, r0
mov r1, #2
2021-06-26 16:52:54 +00:00
bl ov88_02259818
_0225899A:
2021-06-27 18:48:56 +00:00
mov r0, #0x59
lsl r0, r0, #2
2021-06-26 16:52:54 +00:00
ldr r1, [r4]
ldr r2, [r6, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, r0
mov r3, #0x72
2021-06-26 16:52:54 +00:00
bl ov88_02259404
cmp r0, #1
bne _022589EA
2021-06-27 18:48:56 +00:00
mov r0, #2
lsl r0, r0, #8
add r0, r4, r0
mov r1, #3
2021-06-26 16:52:54 +00:00
bl ov88_02259818
b _022589EA
_022589BC:
2021-06-27 18:48:56 +00:00
mov r0, #6
2021-06-26 16:52:54 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 16:52:54 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x72
2021-06-26 16:52:54 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
2022-03-15 12:19:04 +00:00
bl BeginNormalPaletteFade
2021-06-26 16:52:54 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 16:52:54 +00:00
str r0, [r5]
b _022589EA
_022589DC:
2022-03-27 22:00:16 +00:00
bl IsPaletteFadeFinished
2021-06-26 16:52:54 +00:00
cmp r0, #1
bne _022589EA
add sp, #0xc
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 16:52:54 +00:00
pop {r3, r4, r5, r6, pc}
_022589EA:
ldr r1, [r6, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_02258A70
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 16:52:54 +00:00
add sp, #0xc
pop {r3, r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2022-02-01 20:44:20 +00:00
_022589F8: .word gSystem
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_022588C4
thumb_func_start ov88_022589FC
2021-06-27 18:48:56 +00:00
ov88_022589FC: ; 0x022589FC
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
bl OverlayManager_GetData
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r5, #0
2022-06-05 23:40:40 +00:00
bl OverlayManager_GetArgs
2021-06-27 18:48:56 +00:00
mov r0, #2
lsl r0, r0, #8
add r0, r4, r0
2021-06-26 16:52:54 +00:00
bl ov88_022597DC
2021-06-27 18:48:56 +00:00
mov r0, #0x55
lsl r0, r0, #2
add r0, r4, r0
2021-06-26 16:52:54 +00:00
bl ov88_02258EF8
2021-06-27 18:48:56 +00:00
mov r0, #0x16
lsl r0, r0, #4
add r0, r4, r0
2021-06-26 16:52:54 +00:00
bl ov88_022590D4
2021-06-27 18:48:56 +00:00
mov r0, #0x59
lsl r0, r0, #2
add r0, r4, r0
2021-06-26 16:52:54 +00:00
bl ov88_022593D0
2021-06-27 18:48:56 +00:00
mov r0, #0x53
lsl r0, r0, #2
add r0, r4, r0
2021-06-26 16:52:54 +00:00
bl ov88_02258D84
2021-06-27 18:48:56 +00:00
mov r0, #0
add r1, r0, #0
2021-09-18 16:36:50 +00:00
bl Main_SetVBlankIntrCB
2022-01-31 17:22:29 +00:00
bl HBlankInterruptDisable
2021-06-27 18:48:56 +00:00
add r4, #8
add r0, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_02258AF4
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl OverlayManager_FreeData
2021-06-27 18:48:56 +00:00
mov r0, #0x72
bl DestroyHeap
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 16:52:54 +00:00
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_022589FC
thumb_func_start ov88_02258A64
2021-06-27 18:48:56 +00:00
ov88_02258A64: ; 0x02258A64
ldr r3, _02258A6C ; =ov88_02258B20
add r0, #8
2021-06-26 16:52:54 +00:00
bx r3
nop
2021-06-27 18:48:56 +00:00
_02258A6C: .word ov88_02258B20
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258A64
thumb_func_start ov88_02258A70
2021-06-27 18:48:56 +00:00
ov88_02258A70: ; 0x02258A70
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
mov r1, #0x55
add r5, r0, #0
lsl r1, r1, #2
add r0, r5, r1
sub r1, #8
add r2, r5, #0
add r1, r5, r1
add r2, #8
2021-06-26 16:52:54 +00:00
bl ov88_02258F60
2021-06-27 18:48:56 +00:00
mov r1, #0x16
2021-06-26 16:52:54 +00:00
str r4, [sp]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #4
add r0, r5, r1
sub r1, #0x14
add r2, r5, #0
2021-06-26 16:52:54 +00:00
ldr r3, [r5]
2021-06-27 18:48:56 +00:00
add r1, r5, r1
add r2, #8
2021-06-26 16:52:54 +00:00
bl ov88_02259104
2021-06-27 18:48:56 +00:00
mov r0, #0x59
lsl r0, r0, #2
add r0, r5, r0
2021-06-26 16:52:54 +00:00
bl ov88_022594E0
2021-06-27 18:48:56 +00:00
mov r0, #2
lsl r0, r0, #8
add r0, r5, r0
2021-06-26 16:52:54 +00:00
bl ov88_02259800
2021-06-27 18:48:56 +00:00
add r5, #8
add r0, r5, #0
2021-06-26 16:52:54 +00:00
bl ov88_02258B14
pop {r3, r4, r5, pc}
thumb_func_end ov88_02258A70
thumb_func_start ov88_02258ABC
2021-06-27 18:48:56 +00:00
ov88_02258ABC: ; 0x02258ABC
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0xc6
add r4, r1, #0
2023-06-04 17:22:55 +00:00
bl NARC_New
2021-06-27 18:48:56 +00:00
mov r1, #5
lsl r1, r1, #6
2021-06-18 12:29:26 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
mov r0, #0x30
add r1, r4, #0
bl GF_CreateVramTransferManager
ldr r0, _02258AF0 ; =ov88_02259958
bl GX_SetBanks
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_02258B34
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_02258C98
2021-06-18 12:29:26 +00:00
pop {r3, r4, r5, pc}
nop
_02258AF0: .word ov88_02259958
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258ABC
thumb_func_start ov88_02258AF4
2021-06-27 18:48:56 +00:00
ov88_02258AF4: ; 0x02258AF4
2021-06-26 16:52:54 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #5
lsl r0, r0, #6
2021-06-26 16:52:54 +00:00
ldr r0, [r4, r0]
2023-06-04 17:27:11 +00:00
bl NARC_Delete
bl GF_DestroyVramTransferManager
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_02258C60
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_02258D38
pop {r4, pc}
thumb_func_end ov88_02258AF4
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258B14
2021-06-27 18:48:56 +00:00
ov88_02258B14: ; 0x02258B14
2021-06-27 19:11:25 +00:00
ldr r3, _02258B1C ; =sub_0202457C
2021-06-26 16:52:54 +00:00
ldr r0, [r0, #4]
bx r3
nop
2021-06-27 19:11:25 +00:00
_02258B1C: .word sub_0202457C
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258B14
thumb_func_start ov88_02258B20
2021-06-27 18:48:56 +00:00
ov88_02258B20: ; 0x02258B20
2021-06-26 16:52:54 +00:00
push {r3, lr}
ldr r0, [r0]
bl BgConfig_HandleScheduledScrollAndTransferOps
bl OamManager_ApplyAndResetBuffers
bl GF_RunVramTransferTasks
2021-06-26 16:52:54 +00:00
pop {r3, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258B20
thumb_func_start ov88_02258B34
2021-06-27 18:48:56 +00:00
ov88_02258B34: ; 0x02258B34
2021-06-18 12:29:26 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x14
2021-06-27 18:48:56 +00:00
add r5, r0, #0
ldr r0, _02258C50 ; =ov88_02259934
2021-06-27 18:48:56 +00:00
add r7, r1, #0
2021-09-16 00:11:18 +00:00
bl SetBothScreensModesAndDisable
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-09-16 00:11:18 +00:00
bl BgConfig_Alloc
2021-06-18 12:29:26 +00:00
str r0, [r5]
2022-02-01 20:44:20 +00:00
ldr r0, _02258C54 ; =gSystem + 0x60
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-18 12:29:26 +00:00
strb r1, [r0, #9]
2021-09-18 16:36:50 +00:00
bl GX_SwapDisplay
2021-06-27 18:48:56 +00:00
mov r0, #0
ldr r6, _02258C58 ; =ov88_022599C0
ldr r4, _02258C5C ; =ov88_02259944
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x10]
_02258B5C:
ldr r1, [r4]
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsr r1, r1, #0x18
add r2, r6, #0
mov r3, #0
2021-09-16 00:11:18 +00:00
bl InitBgFromTemplate
2021-06-18 12:29:26 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #0x20
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r2, #0
add r3, r7, #0
2021-09-16 00:11:18 +00:00
bl BG_ClearCharDataRange
2021-06-18 12:29:26 +00:00
ldr r1, [r4]
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsr r1, r1, #0x18
2021-09-18 16:36:50 +00:00
bl BgClearTilemapBufferAndCommit
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r6, #0x1c
add r0, r0, #1
add r4, r4, #4
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x10]
cmp r0, #5
blt _02258B5C
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-18 12:29:26 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-18 12:29:26 +00:00
str r7, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #6
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r2, r1, #0
add r3, r1, #0
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_GXLoadPalFromOpenNarc
2021-06-27 18:48:56 +00:00
mov r1, #5
mov r0, #0
lsl r1, r1, #6
add r2, r7, #0
2022-03-10 15:29:01 +00:00
bl LoadFontPal1
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-18 12:29:26 +00:00
str r7, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #6
mov r1, #1
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
ldr r2, [r5]
2021-06-27 18:48:56 +00:00
add r3, r1, #0
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_LoadCharDataFromOpenNarc
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-18 12:29:26 +00:00
str r7, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #6
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
ldr r2, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #3
mov r3, #1
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_LoadScrnDataFromOpenNarc
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-18 12:29:26 +00:00
str r7, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #6
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
ldr r2, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #4
mov r3, #2
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_LoadScrnDataFromOpenNarc
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-18 12:29:26 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-18 12:29:26 +00:00
str r7, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #6
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r2, #4
add r3, r1, #0
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_GXLoadPalFromOpenNarc
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-18 12:29:26 +00:00
str r7, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #6
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
ldr r2, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #2
mov r3, #4
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_LoadCharDataFromOpenNarc
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-18 12:29:26 +00:00
str r7, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #6
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
ldr r2, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #6
mov r3, #4
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_LoadScrnDataFromOpenNarc
2021-06-18 12:29:26 +00:00
add sp, #0x14
pop {r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
_02258C50: .word ov88_02259934
2022-02-01 20:44:20 +00:00
_02258C54: .word gSystem + 0x60
_02258C58: .word ov88_022599C0
_02258C5C: .word ov88_02259944
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258B34
thumb_func_start ov88_02258C60
2021-06-27 18:48:56 +00:00
ov88_02258C60: ; 0x02258C60
2021-06-26 16:52:54 +00:00
push {r4, r5, r6, lr}
ldr r5, _02258C90 ; =ov88_02259944
2021-06-27 18:48:56 +00:00
add r6, r0, #0
mov r4, #0
2021-06-26 16:52:54 +00:00
_02258C68:
ldr r1, [r5]
ldr r0, [r6]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsr r1, r1, #0x18
2021-09-16 00:11:18 +00:00
bl FreeBgTilemapBuffer
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-26 16:52:54 +00:00
cmp r4, #5
blt _02258C68
ldr r0, [r6]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2022-02-01 20:44:20 +00:00
ldr r0, _02258C94 ; =gSystem + 0x60
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 16:52:54 +00:00
strb r1, [r0, #9]
2021-09-18 16:36:50 +00:00
bl GX_SwapDisplay
2021-06-26 16:52:54 +00:00
pop {r4, r5, r6, pc}
nop
_02258C90: .word ov88_02259944
2022-02-01 20:44:20 +00:00
_02258C94: .word gSystem + 0x60
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258C60
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258C98
2021-06-27 18:48:56 +00:00
ov88_02258C98: ; 0x02258C98
2021-06-18 12:29:26 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x14
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r6, r1, #0
2021-10-26 20:50:59 +00:00
bl NNS_G2dInitOamManagerModule
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #0x7e
2021-06-18 12:29:26 +00:00
str r1, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r3, #0x1f
2021-06-18 12:29:26 +00:00
str r3, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r2, r0, #0
2021-06-18 12:29:26 +00:00
str r6, [sp, #0x10]
bl OamManager_Create
ldr r0, _02258D30 ; =ov88_02259914
2021-06-27 18:48:56 +00:00
ldr r1, _02258D34 ; =0x00200010
mov r2, #0x10
2021-06-27 19:11:25 +00:00
bl sub_020215C0
2021-06-27 18:48:56 +00:00
mov r0, #0x20
add r1, r6, #0
2021-06-27 19:11:25 +00:00
bl sub_02022588
bl sub_020216C8
bl sub_02022638
2021-06-27 18:48:56 +00:00
ldr r1, _02258D34 ; =0x00200010
mov r0, #1
2021-06-27 19:11:25 +00:00
bl sub_02009FE8
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-27 19:11:25 +00:00
bl sub_0200A080
2021-06-27 18:48:56 +00:00
add r1, r5, #0
mov r0, #0x20
add r1, #8
add r2, r6, #0
bl G2dRenderer_Init
2021-06-18 12:29:26 +00:00
str r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r2, #1
add r0, #8
mov r1, #0
lsl r2, r2, #0x14
bl G2dRenderer_SetSubSurfaceCoords
2021-06-27 18:48:56 +00:00
mov r7, #0x13
mov r4, #0
lsl r7, r7, #4
2021-06-18 12:29:26 +00:00
_02258D04:
2021-06-27 18:48:56 +00:00
mov r0, #0x20
add r1, r4, #0
add r2, r6, #0
bl Create2DGfxResObjMan
2021-06-18 12:29:26 +00:00
str r0, [r5, r7]
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-18 12:29:26 +00:00
cmp r4, #4
blt _02258D04
2021-06-27 19:11:25 +00:00
bl sub_0203A880
2021-06-27 18:48:56 +00:00
mov r0, #0x10
mov r1, #1
2021-09-01 12:08:31 +00:00
bl GX_EngineAToggleLayers
2021-06-27 18:48:56 +00:00
mov r0, #0x10
mov r1, #1
2022-01-13 18:39:25 +00:00
bl GX_EngineBToggleLayers
2021-06-18 12:29:26 +00:00
add sp, #0x14
pop {r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
_02258D30: .word ov88_02259914
2021-06-27 18:48:56 +00:00
_02258D34: .word 0x00200010
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258C98
thumb_func_start ov88_02258D38
2021-06-27 18:48:56 +00:00
ov88_02258D38: ; 0x02258D38
2021-06-26 16:52:54 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 16:52:54 +00:00
ldr r0, [r5, #4]
2021-06-27 19:11:25 +00:00
bl sub_02024504
2021-06-27 18:48:56 +00:00
mov r6, #0x13
mov r4, #0
lsl r6, r6, #4
2021-06-26 16:52:54 +00:00
_02258D48:
ldr r0, [r5, r6]
bl Destroy2DGfxResObjMan
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-26 16:52:54 +00:00
cmp r4, #4
blt _02258D48
2021-06-27 19:11:25 +00:00
bl sub_0202168C
bl sub_02022608
bl OamManager_Free
2021-06-26 16:52:54 +00:00
pop {r4, r5, r6, pc}
thumb_func_end ov88_02258D38
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258D64
2021-06-27 18:48:56 +00:00
ov88_02258D64: ; 0x02258D64
2021-06-18 12:29:26 +00:00
push {r3, r4, lr}
sub sp, #4
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #5
2021-06-18 12:29:26 +00:00
str r2, [sp]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #6
2021-06-18 12:29:26 +00:00
ldr r0, [r1, r0]
2021-06-27 18:48:56 +00:00
mov r1, #5
mov r2, #0
add r3, r4, #4
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_GetScrnDataFromOpenNarc
2021-06-18 12:29:26 +00:00
str r0, [r4]
add sp, #4
pop {r3, r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258D64
thumb_func_start ov88_02258D84
2021-06-27 18:48:56 +00:00
ov88_02258D84: ; 0x02258D84
2021-08-12 19:28:01 +00:00
ldr r3, _02258D8C ; =FreeToHeap
2021-06-26 16:52:54 +00:00
ldr r0, [r0]
bx r3
nop
2021-08-12 19:28:01 +00:00
_02258D8C: .word FreeToHeap
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258D84
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258D90
2021-06-27 18:48:56 +00:00
ov88_02258D90: ; 0x02258D90
2021-06-18 12:29:26 +00:00
push {r3, r4, lr}
sub sp, #0x1c
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
mov r1, #1
2021-06-18 12:29:26 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #2
2021-06-18 12:29:26 +00:00
str r1, [sp, #4]
2021-06-27 18:48:56 +00:00
add r1, r0, #0
add r1, #0xc
2021-06-18 12:29:26 +00:00
str r1, [sp, #8]
2021-06-27 18:48:56 +00:00
add r1, r2, #6
lsl r1, r1, #0x18
lsr r1, r1, #0x18
2021-06-18 12:29:26 +00:00
str r1, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-18 12:29:26 +00:00
str r1, [sp, #0x10]
ldrh r1, [r0]
2021-06-27 18:48:56 +00:00
add r2, r3, #5
lsl r2, r2, #0x18
lsl r1, r1, #0x15
lsr r1, r1, #0x18
2021-06-18 12:29:26 +00:00
str r1, [sp, #0x14]
ldrh r0, [r0, #2]
add r3, sp, #0x18
2021-06-27 18:48:56 +00:00
mov r1, #3
lsl r0, r0, #0x15
lsr r0, r0, #0x18
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x18]
ldrb r3, [r3, #0x10]
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
lsr r2, r2, #0x18
lsl r3, r3, #1
add r3, r3, #4
lsl r3, r3, #0x18
lsr r3, r3, #0x18
bl CopyToBgTilemapRect
2021-06-18 12:29:26 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-08-14 18:09:09 +00:00
bl ScheduleBgTilemapBufferTransfer
2021-06-18 12:29:26 +00:00
add sp, #0x1c
pop {r3, r4, pc}
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258D90
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258DE8
2021-06-27 18:48:56 +00:00
ov88_02258DE8: ; 0x02258DE8
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r5, r1, #0
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x38]
2021-06-27 18:48:56 +00:00
mov r1, #3
add r7, r2, #0
add r6, r3, #0
bl _u32_div_f
2021-06-18 12:29:26 +00:00
str r1, [sp, #0x1c]
ldr r0, [sp, #0x38]
2021-06-27 18:48:56 +00:00
mov r1, #3
bl _u32_div_f
2021-06-18 12:29:26 +00:00
ldr r1, [sp, #0x44]
cmp r1, #0
beq _02258E0E
2021-06-27 18:48:56 +00:00
add r0, r0, #2
2021-06-18 12:29:26 +00:00
_02258E0E:
ldr r1, [sp, #0x3c]
cmp r1, #1
bne _02258E16
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-18 12:29:26 +00:00
_02258E16:
ldr r1, [r4, #4]
2021-06-27 18:48:56 +00:00
lsl r2, r6, #1
add r6, r2, #4
mov r2, #2
2021-06-18 12:29:26 +00:00
str r2, [sp]
str r2, [sp, #4]
2021-06-27 18:48:56 +00:00
add r2, r1, #0
add r2, #0xc
2021-06-18 12:29:26 +00:00
str r2, [sp, #8]
ldr r2, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x19
lsl r2, r2, #0x19
lsr r2, r2, #0x18
2021-06-18 12:29:26 +00:00
str r2, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x18
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x10]
ldrh r0, [r1]
2021-06-27 18:48:56 +00:00
lsl r4, r7, #1
add r4, #0x15
lsl r0, r0, #0x15
lsr r0, r0, #0x18
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x14]
ldrh r0, [r1, #2]
2021-06-27 18:48:56 +00:00
lsl r2, r4, #0x18
lsl r3, r6, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x18
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x18]
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #3
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl CopyToBgTilemapRect
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x48]
cmp r0, #0
beq _02258E7C
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-18 12:29:26 +00:00
str r0, [sp]
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
lsl r2, r4, #0x18
lsl r3, r6, #0x18
2021-06-18 12:29:26 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #3
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl BgTilemapRectChangePalette
2021-06-18 12:29:26 +00:00
b _02258E9A
_02258E7C:
ldr r0, [sp, #0x40]
cmp r0, #0
beq _02258E9A
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-18 12:29:26 +00:00
str r0, [sp]
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-18 12:29:26 +00:00
str r1, [sp, #8]
2021-06-27 18:48:56 +00:00
lsl r2, r4, #0x18
lsl r3, r6, #0x18
2021-06-18 12:29:26 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl BgTilemapRectChangePalette
2021-06-18 12:29:26 +00:00
_02258E9A:
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-08-14 18:09:09 +00:00
bl ScheduleBgTilemapBufferTransfer
2021-06-18 12:29:26 +00:00
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258DE8
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258EA8
2021-06-27 18:48:56 +00:00
ov88_02258EA8: ; 0x02258EA8
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
bl ov45_0222AD4C
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-18 12:29:26 +00:00
strb r1, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0x3c
2021-06-18 12:29:26 +00:00
str r0, [sp]
bl _u32_div_f
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-18 12:29:26 +00:00
strb r0, [r5, #1]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
strb r0, [r5, #2]
ldr r0, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #0x28
bl _u32_div_f
2021-06-18 12:29:26 +00:00
str r0, [r5, #8]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-18 12:29:26 +00:00
strb r0, [r5, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
strh r0, [r5, #6]
strb r0, [r5, #5]
ldr r2, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r7, #0
2021-06-26 16:52:54 +00:00
bl ov88_02258EFC
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_02258F60
2021-06-18 12:29:26 +00:00
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258EA8
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258EF8
2021-06-27 18:48:56 +00:00
ov88_02258EF8: ; 0x02258EF8
2021-06-26 16:52:54 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258EF8
thumb_func_start ov88_02258EFC
2021-06-27 18:48:56 +00:00
ov88_02258EFC: ; 0x02258EFC
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r0, r1, #0
2021-06-18 12:29:26 +00:00
add r1, sp, #8
2021-06-27 18:48:56 +00:00
add r6, r2, #0
mov r4, #0
bl ov45_0222DCF4
2021-06-18 12:29:26 +00:00
cmp r0, #0
bne _02258F18
add sp, #0xc
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-18 12:29:26 +00:00
pop {r3, r4, r5, r6, pc}
_02258F18:
ldrb r0, [r5, #4]
cmp r0, #1
bne _02258F26
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-18 12:29:26 +00:00
strb r0, [r5, #4]
2021-06-27 18:48:56 +00:00
mov r4, #1
2021-06-18 12:29:26 +00:00
strb r4, [r5, #5]
_02258F26:
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-18 12:29:26 +00:00
add r1, sp, #8
add r2, sp, #4
bl ov45_0222D594
2021-06-18 12:29:26 +00:00
add r0, sp, #4
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-18 12:29:26 +00:00
add r2, sp, #0
bl ov45_0222D594
2021-06-18 12:29:26 +00:00
add r0, sp, #0
ldrb r2, [r0, #2]
ldr r1, [r5, #8]
cmp r2, r1
bhs _02258F50
ldrb r1, [r0, #1]
cmp r1, #0
bne _02258F50
ldrb r0, [r0]
cmp r0, #0
beq _02258F58
_02258F50:
2021-06-27 18:48:56 +00:00
mov r4, #1
2021-06-18 12:29:26 +00:00
strb r4, [r5, #5]
ldr r0, [sp, #4]
str r0, [r5]
_02258F58:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-18 12:29:26 +00:00
add sp, #0xc
pop {r3, r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258EFC
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258F60
2021-06-27 18:48:56 +00:00
ov88_02258F60: ; 0x02258F60
2021-06-18 12:29:26 +00:00
push {r3, lr}
ldrb r3, [r0, #4]
cmp r3, #1
bne _02258F6E
2021-06-26 16:52:54 +00:00
bl ov88_02258F74
2021-06-18 12:29:26 +00:00
pop {r3, pc}
_02258F6E:
2021-06-26 16:52:54 +00:00
bl ov88_02258F88
2021-06-18 12:29:26 +00:00
pop {r3, pc}
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258F60
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258F74
2021-06-27 18:48:56 +00:00
ov88_02258F74: ; 0x02258F74
2021-06-18 12:29:26 +00:00
ldrh r1, [r0, #6]
2021-06-27 18:48:56 +00:00
add r1, r1, #1
2021-06-18 12:29:26 +00:00
strh r1, [r0, #6]
ldrh r1, [r0, #6]
cmp r1, #0x10
bls _02258F84
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-18 12:29:26 +00:00
strh r1, [r0, #6]
_02258F84:
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258F74
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02258F88
2021-06-27 18:48:56 +00:00
ov88_02258F88: ; 0x02258F88
2021-06-18 12:29:26 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x24
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-18 12:29:26 +00:00
str r1, [sp, #0x10]
str r2, [sp, #0x14]
ldrb r1, [r4, #1]
2021-06-27 18:48:56 +00:00
mov r0, #0x3c
2021-06-18 12:29:26 +00:00
ldrb r2, [r4, #2]
2021-06-27 18:48:56 +00:00
mul r0, r1
2021-06-18 12:29:26 +00:00
ldrb r1, [r4]
2021-06-27 18:48:56 +00:00
add r2, r2, r0
mov r0, #0xe1
lsl r0, r0, #4
mul r0, r1
2021-06-18 12:29:26 +00:00
ldr r1, [r4, #8]
2021-06-27 18:48:56 +00:00
add r0, r2, r0
bl _u32_div_f
2021-06-18 12:29:26 +00:00
ldrb r1, [r4, #5]
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-18 12:29:26 +00:00
cmp r1, #0
beq _02259036
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-18 12:29:26 +00:00
strh r2, [r4, #6]
strb r2, [r4, #5]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xa
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
ldr r0, [sp, #0x14]
str r2, [sp, #0xc]
ldr r0, [r0]
2021-06-27 18:48:56 +00:00
mov r1, #3
mov r3, #5
bl FillBgTilemapRect
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-18 12:29:26 +00:00
ldr r0, [r0]
2021-08-14 18:09:09 +00:00
bl ScheduleBgTilemapBufferTransfer
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x1c]
_02258FE2:
ldr r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
mov r1, #3
sub r6, r1, r0
mov r0, #0xa
add r7, r6, #0
mul r7, r0
lsl r0, r6, #0x18
lsr r0, r0, #0x18
mov r4, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x20]
_02258FF6:
2021-06-27 18:48:56 +00:00
mov r0, #9
sub r3, r0, r4
add r0, r3, r7
2021-06-18 12:29:26 +00:00
cmp r0, r5
blo _02259022
cmp r0, r5
bne _02259008
2021-06-27 18:48:56 +00:00
mov r2, #1
2021-06-18 12:29:26 +00:00
b _02259012
_02259008:
cmp r6, #3
bne _02259010
2021-06-27 18:48:56 +00:00
mov r2, #2
2021-06-18 12:29:26 +00:00
b _02259012
_02259010:
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-18 12:29:26 +00:00
_02259012:
ldr r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
lsl r3, r3, #0x18
2021-06-18 12:29:26 +00:00
str r0, [sp]
ldr r0, [sp, #0x10]
ldr r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
lsr r3, r3, #0x18
2021-06-26 16:52:54 +00:00
bl ov88_02258D90
2021-06-18 12:29:26 +00:00
_02259022:
2021-06-27 18:48:56 +00:00
add r4, r4, #1
2021-06-18 12:29:26 +00:00
cmp r4, #0xa
blt _02258FF6
ldr r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x1c]
cmp r0, #4
blt _02258FE2
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_02259036:
cmp r5, #0x28
bhs _022590B8
ldrh r1, [r4, #6]
2021-06-27 18:48:56 +00:00
add r1, r1, #1
2021-06-18 12:29:26 +00:00
strh r1, [r4, #6]
ldrh r6, [r4, #6]
2021-06-27 18:48:56 +00:00
mov r1, #0x1b
lsr r3, r6, #0x1f
lsl r2, r6, #0x1b
sub r2, r2, r3
ror r2, r1
mov r1, #0xa
add r7, r3, r2
bl _u32_div_f
2021-06-18 12:29:26 +00:00
str r1, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #0xa
bl _u32_div_f
2021-06-18 12:29:26 +00:00
cmp r7, #0
bne _0225909E
ldr r2, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r1, #0x1e
mul r1, r2
lsr r4, r1, #2
mov r2, #6
mov r5, #0
2021-06-18 12:29:26 +00:00
_0225906E:
2021-06-27 18:48:56 +00:00
add r1, r5, #1
add r3, r4, #0
mul r3, r1
2021-06-18 12:29:26 +00:00
cmp r3, r6
bls _02259080
ldr r1, _022590BC ; =ov88_02259924
2021-06-27 18:48:56 +00:00
lsl r2, r5, #2
2021-06-18 12:29:26 +00:00
ldr r2, [r1, r2]
b _02259086
_02259080:
2021-06-27 18:48:56 +00:00
add r5, r1, #0
2021-06-18 12:29:26 +00:00
cmp r1, #4
blt _0225906E
_02259086:
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
2021-06-18 12:29:26 +00:00
ldr r3, [sp, #0x18]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x18
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
lsl r3, r3, #0x18
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x10]
ldr r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
lsr r3, r3, #0x18
2021-06-26 16:52:54 +00:00
bl ov88_02258D90
2021-06-18 12:29:26 +00:00
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_0225909E:
cmp r7, #0x10
bne _022590B8
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
2021-06-18 12:29:26 +00:00
ldr r3, [sp, #0x18]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #0x18
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
lsl r3, r3, #0x18
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x10]
ldr r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r2, #3
lsr r3, r3, #0x18
2021-06-26 16:52:54 +00:00
bl ov88_02258D90
2021-06-18 12:29:26 +00:00
_022590B8:
add sp, #0x24
pop {r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
_022590BC: .word ov88_02259924
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02258F88
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_022590C0
2021-06-27 18:48:56 +00:00
ov88_022590C0: ; 0x022590C0
2021-06-18 12:29:26 +00:00
push {r3, lr}
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
add r2, r3, #0
2021-06-18 12:29:26 +00:00
ldr r3, [sp, #8]
2021-06-26 16:52:54 +00:00
bl ov88_0225918C
2021-06-18 12:29:26 +00:00
pop {r3, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_022590C0
thumb_func_start ov88_022590D4
2021-06-27 18:48:56 +00:00
ov88_022590D4: ; 0x022590D4
2021-06-26 16:52:54 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_022590D4
thumb_func_start ov88_022590D8
2021-06-27 18:48:56 +00:00
ov88_022590D8: ; 0x022590D8
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r1, #0
mov r5, #0
bl ov45_0222DD38
2021-06-26 16:52:54 +00:00
cmp r0, #0
beq _022590FE
cmp r0, #1
beq _022590F2
cmp r0, #2
beq _022590F8
b _022590FE
_022590F2:
2021-06-27 18:48:56 +00:00
mov r5, #1
2021-06-26 16:52:54 +00:00
strh r5, [r4, #2]
b _022590FE
_022590F8:
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-26 16:52:54 +00:00
strh r0, [r4, #2]
2021-06-27 18:48:56 +00:00
mov r5, #1
2021-06-26 16:52:54 +00:00
_022590FE:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 16:52:54 +00:00
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_022590D8
thumb_func_start ov88_02259104
2021-06-27 18:48:56 +00:00
ov88_02259104: ; 0x02259104
2021-06-26 16:52:54 +00:00
push {r3, r4, lr}
sub sp, #4
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 16:52:54 +00:00
ldrh r0, [r4, #2]
cmp r0, #4
bhi _02259186
2021-06-27 18:48:56 +00:00
add r0, r0, r0
2021-06-26 16:52:54 +00:00
add r0, pc
ldrh r0, [r0, #6]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-26 16:52:54 +00:00
add pc, r0
2021-06-27 18:48:56 +00:00
_0225911C: ; jump table
.short _02259186 - _0225911C - 2 ; case 0
.short _02259126 - _0225911C - 2 ; case 1
.short _02259132 - _0225911C - 2 ; case 2
.short _02259158 - _0225911C - 2 ; case 3
.short _02259164 - _0225911C - 2 ; case 4
2021-06-26 16:52:54 +00:00
_02259126:
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 16:52:54 +00:00
strh r0, [r4, #2]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 16:52:54 +00:00
add sp, #4
strh r0, [r4]
pop {r3, r4, pc}
_02259132:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 16:52:54 +00:00
ldrsh r0, [r4, r0]
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
add r1, r2, #0
add r2, r3, #0
2021-06-26 16:52:54 +00:00
ldr r3, [sp, #0x10]
bl ov88_02259244
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 16:52:54 +00:00
ldrsh r1, [r4, r0]
2021-06-27 18:48:56 +00:00
add r1, r1, #1
2021-06-26 16:52:54 +00:00
strh r1, [r4]
ldrsh r1, [r4, r0]
cmp r1, #0x20
blt _02259186
add sp, #4
strh r0, [r4, #2]
pop {r3, r4, pc}
_02259158:
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 16:52:54 +00:00
strh r0, [r4, #2]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 16:52:54 +00:00
add sp, #4
strh r0, [r4]
pop {r3, r4, pc}
_02259164:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 16:52:54 +00:00
ldrsh r0, [r4, r0]
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
add r1, r2, #0
add r2, r3, #0
2021-06-26 16:52:54 +00:00
ldr r3, [sp, #0x10]
bl ov88_02259264
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 16:52:54 +00:00
ldrsh r1, [r4, r0]
2021-06-27 18:48:56 +00:00
add r1, r1, #1
2021-06-26 16:52:54 +00:00
strh r1, [r4]
ldrsh r1, [r4, r0]
cmp r1, #0x20
blt _02259186
strh r0, [r4, #2]
_02259186:
add sp, #4
pop {r3, r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02259104
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_0225918C
2021-06-27 18:48:56 +00:00
ov88_0225918C: ; 0x0225918C
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xa
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #8
add r6, r2, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-18 12:29:26 +00:00
str r3, [sp, #0x1c]
str r2, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
2021-06-18 12:29:26 +00:00
str r1, [sp, #0x18]
ldr r0, [r0]
2021-06-27 18:48:56 +00:00
mov r1, #3
mov r3, #0x15
2021-06-18 12:29:26 +00:00
ldr r7, [sp, #0x50]
bl FillBgTilemapRect
2021-06-27 18:48:56 +00:00
mov r5, #0
2021-06-18 12:29:26 +00:00
str r5, [sp, #0x2c]
_022591BA:
ldr r0, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
mov r4, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x34]
_022591C4:
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r1, r4, r5
bl ov45_0222DCFC
2021-06-18 12:29:26 +00:00
cmp r0, #0
beq _0225922E
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r1, r4, r5
bl ov45_0222DD08
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r1, r4, r5
bl ov45_0222DD14
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x24]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r1, r4, r5
bl ov45_0222DD20
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r1, r4, r5
bl ov45_0222DD2C
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x30]
ldr r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r1, r4, r5
bl ov45_0222AB28
2021-06-18 12:29:26 +00:00
cmp r7, #2
bne _0225920E
ldr r1, [sp, #0x30]
cmp r1, #1
bne _0225920E
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-18 12:29:26 +00:00
b _02259210
_0225920E:
2021-06-27 18:48:56 +00:00
add r1, r7, #0
2021-06-18 12:29:26 +00:00
_02259210:
str r1, [sp]
ldr r1, [sp, #0x28]
2021-06-27 18:48:56 +00:00
lsl r2, r4, #0x18
2021-06-18 12:29:26 +00:00
str r1, [sp, #4]
ldr r1, [sp, #0x24]
ldr r3, [sp, #0x34]
str r1, [sp, #8]
ldr r1, [sp, #0x20]
2021-06-27 18:48:56 +00:00
lsr r2, r2, #0x18
2021-06-18 12:29:26 +00:00
str r1, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x18]
2021-06-26 16:52:54 +00:00
bl ov88_02258DE8
2021-06-18 12:29:26 +00:00
_0225922E:
2021-06-27 18:48:56 +00:00
add r4, r4, #1
2021-06-18 12:29:26 +00:00
cmp r4, #5
blt _022591C4
ldr r0, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
add r5, r5, #5
add r0, r0, #1
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x2c]
cmp r0, #4
blt _022591BA
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_0225918C
thumb_func_start ov88_02259244
2021-06-27 18:48:56 +00:00
ov88_02259244: ; 0x02259244
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, lr}
ldr r5, [sp, #0x10]
2021-06-27 18:48:56 +00:00
mov r4, #7
2021-06-26 16:52:54 +00:00
tst r4, r5
bne _02259262
2021-06-27 18:48:56 +00:00
lsr r5, r5, #3
mov r4, #1
2021-06-26 16:52:54 +00:00
tst r4, r5
bne _0225925A
2021-06-27 18:48:56 +00:00
mov r4, #2
2021-06-26 16:52:54 +00:00
b _0225925C
_0225925A:
2021-06-27 18:48:56 +00:00
mov r4, #0
2021-06-26 16:52:54 +00:00
_0225925C:
str r4, [sp]
bl ov88_0225918C
_02259262:
pop {r3, r4, r5, pc}
thumb_func_end ov88_02259244
thumb_func_start ov88_02259264
2021-06-27 18:48:56 +00:00
ov88_02259264: ; 0x02259264
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, lr}
ldr r5, [sp, #0x10]
2021-06-27 18:48:56 +00:00
mov r4, #7
2021-06-26 16:52:54 +00:00
tst r4, r5
bne _0225927E
2021-06-27 18:48:56 +00:00
lsr r4, r5, #3
mov r5, #1
2021-06-26 16:52:54 +00:00
tst r4, r5
beq _02259278
2021-06-27 18:48:56 +00:00
mov r5, #0
2021-06-26 16:52:54 +00:00
_02259278:
str r5, [sp]
bl ov88_0225918C
_0225927E:
pop {r3, r4, r5, pc}
thumb_func_end ov88_02259264
thumb_func_start ov88_02259280
2021-06-27 18:48:56 +00:00
ov88_02259280: ; 0x02259280
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r6, r1, #0
add r7, r2, #0
2021-06-26 16:52:54 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r4, #0
2021-06-26 16:52:54 +00:00
_0225928C:
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r1, r7, #0
add r2, r4, #0
2021-08-07 01:43:27 +00:00
bl ov45_0222DDE4
2021-06-27 18:48:56 +00:00
add r1, r0, #0
2021-06-26 16:52:54 +00:00
cmp r1, #0x14
beq _022592B0
ldr r0, [sp]
bl ov45_0222AB28
2021-06-26 16:52:54 +00:00
cmp r0, #1
bne _022592AC
2021-06-27 18:48:56 +00:00
mov r0, #9
2021-06-26 16:52:54 +00:00
strb r0, [r5, r4]
b _022592B0
_022592AC:
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-26 16:52:54 +00:00
strb r0, [r5, r4]
_022592B0:
2021-06-27 18:48:56 +00:00
add r4, r4, #1
2021-06-26 16:52:54 +00:00
cmp r4, #4
blt _0225928C
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov88_02259280
thumb_func_start ov88_022592B8
2021-06-27 18:48:56 +00:00
ov88_022592B8: ; 0x022592B8
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
mov r4, #0
lsl r6, r2, #5
2021-06-26 16:52:54 +00:00
ldr r7, [r1, #0xc]
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r5, r4, #0
add r6, #0xa
2021-06-26 16:52:54 +00:00
_022592C6:
ldr r2, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xf
2021-06-26 16:52:54 +00:00
ldrb r2, [r2, r4]
2021-06-27 18:48:56 +00:00
add r1, r6, r5
mov r3, #4
lsl r2, r2, #1
add r2, #0xe0
add r2, r7, r2
bl GF_CreateNewVramTransferTask
2021-06-26 16:52:54 +00:00
cmp r0, #0
bne _022592E2
bl GF_AssertFail
2021-06-26 16:52:54 +00:00
_022592E2:
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-26 16:52:54 +00:00
cmp r4, #4
blt _022592C6
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov88_022592B8
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_022592EC
2021-06-27 18:48:56 +00:00
ov88_022592EC: ; 0x022592EC
2021-06-18 12:29:26 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x24
2021-06-27 18:48:56 +00:00
mov r7, #3
add r5, r0, #0
ldr r6, _022593C4 ; =_02259904
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x14]
str r1, [sp, #0x18]
str r2, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
mov r4, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
lsl r7, r7, #8
add r5, #0x60
2021-06-18 12:29:26 +00:00
_02259304:
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x18]
ldr r3, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r2, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_02259508
2021-06-18 12:29:26 +00:00
ldrb r0, [r6]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
mov r2, #3
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x1e
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r4, #7
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r7, #0x10
lsr r0, r0, #0x10
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x10]
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
mov r3, #1
2021-06-18 12:29:26 +00:00
ldr r0, [r0]
2021-09-17 00:20:16 +00:00
bl AddWindowParameterized
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #0
2021-08-13 14:06:39 +00:00
bl FillWindowPixelBuffer
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl ScheduleWindowCopyToVram
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r0, #0x20
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
add r7, #0x3c
add r6, r6, #1
add r5, #0x10
2021-06-18 12:29:26 +00:00
cmp r4, #3
blt _02259304
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-18 12:29:26 +00:00
ldr r1, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #8
bl String_New
2021-06-18 12:29:26 +00:00
ldr r1, [sp, #0x14]
ldr r2, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r1, #0x90
2021-06-18 12:29:26 +00:00
str r0, [r1]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #6
2021-06-18 12:29:26 +00:00
ldr r0, [r0, r1]
ldr r3, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
mov r1, #0
add r2, #0x98
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_GetPlttDataFromOpenNarc
2021-06-18 12:29:26 +00:00
ldr r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r2, #4
add r1, #0x94
2021-06-18 12:29:26 +00:00
str r0, [r1]
ldr r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r0, #0
add r1, #0x98
2021-06-18 12:29:26 +00:00
ldr r1, [r1]
2021-06-27 18:48:56 +00:00
mov r3, #0xfa
2021-06-18 12:29:26 +00:00
ldr r1, [r1, #0xc]
2021-06-27 18:48:56 +00:00
add r1, #0xee
2021-08-17 12:40:43 +00:00
bl BG_LoadPlttData
2021-06-18 12:29:26 +00:00
ldr r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
ldr r3, _022593C8 ; =0x0000011A
add r1, #0x98
2021-06-18 12:29:26 +00:00
ldr r1, [r1]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
ldr r1, [r1, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #4
add r1, #0xee
2021-08-17 12:40:43 +00:00
bl BG_LoadPlttData
2021-06-18 12:29:26 +00:00
ldr r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
ldr r3, _022593CC ; =0x0000013A
add r1, #0x98
2021-06-18 12:29:26 +00:00
str r1, [sp, #0x14]
ldr r1, [r1]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
ldr r1, [r1, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #4
add r1, #0xee
2021-08-17 12:40:43 +00:00
bl BG_LoadPlttData
2021-06-18 12:29:26 +00:00
add sp, #0x24
pop {r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_022593C4: .word _02259904
_022593C8: .word 0x0000011A
_022593CC: .word 0x0000013A
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_022592EC
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_022593D0
2021-06-27 18:48:56 +00:00
ov88_022593D0: ; 0x022593D0
2021-06-26 16:52:54 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r0, #0x94
2021-06-26 16:52:54 +00:00
ldr r0, [r0]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x90
2021-06-26 16:52:54 +00:00
ldr r0, [r0]
2023-06-04 17:27:11 +00:00
bl String_Delete
2021-06-27 18:48:56 +00:00
add r4, r5, #0
mov r6, #0
add r4, #0x60
2021-06-26 16:52:54 +00:00
_022593EC:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-08-13 18:03:14 +00:00
bl RemoveWindow
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 16:52:54 +00:00
bl ov88_0225954C
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r4, #0x10
add r5, #0x20
2021-06-26 16:52:54 +00:00
cmp r6, #3
blt _022593EC
pop {r4, r5, r6, pc}
thumb_func_end ov88_022593D0
thumb_func_start ov88_02259404
2021-06-27 18:48:56 +00:00
ov88_02259404: ; 0x02259404
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r5, r1, #0
add r0, r2, #0
2021-06-26 16:52:54 +00:00
add r1, sp, #0x14
str r2, [sp, #4]
str r3, [sp, #8]
bl ov45_0222AB38
2021-06-27 18:48:56 +00:00
mov r0, #2
add r4, r6, #0
ldr r7, _022594DC ; =ov88_02259910
2021-06-26 16:52:54 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r4, #0x40
2021-06-26 16:52:54 +00:00
_02259422:
ldrb r0, [r4]
cmp r0, #0
beq _02259458
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_022595E4
cmp r0, #1
bne _02259458
ldr r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r1, r0, #1
2021-06-26 16:52:54 +00:00
cmp r1, #3
bge _02259452
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r0, #0x98
2021-06-26 16:52:54 +00:00
ldr r0, [r0]
2021-06-27 18:48:56 +00:00
add r3, r4, #0
2021-06-26 16:52:54 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
lsl r0, r1, #5
2021-06-26 16:52:54 +00:00
ldr r1, [r4, #8]
ldr r2, [r7, #4]
2021-06-27 18:48:56 +00:00
add r0, r6, r0
add r3, #0x1c
2021-06-26 16:52:54 +00:00
bl ov88_02259560
_02259452:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_022595DC
_02259458:
ldr r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
sub r4, #0x20
sub r7, r7, #4
sub r0, r0, #1
2021-06-26 16:52:54 +00:00
str r0, [sp, #0xc]
bpl _02259422
ldrb r0, [r6]
cmp r0, #0
bne _022594D6
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl ov45_0222DD44
2021-06-26 16:52:54 +00:00
cmp r0, #1
bne _022594D6
add r7, sp, #0x14
_02259476:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl ov45_0222DD5C
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 16:52:54 +00:00
ldr r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r3, r6, #0
2021-06-26 16:52:54 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r3, #0x90
2021-06-26 16:52:54 +00:00
ldr r3, [r3]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r7, #0
add r2, r4, #0
bl ov45_0222DD78
2021-06-26 16:52:54 +00:00
cmp r0, #1
bne _022594C6
ldr r3, [sp, #4]
add r0, sp, #0x10
2021-06-27 18:48:56 +00:00
add r1, r5, #0
add r2, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_02259280
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r0, #0x98
2021-06-26 16:52:54 +00:00
ldr r0, [r0]
2021-06-27 18:48:56 +00:00
mov r2, #0x15
2021-06-26 16:52:54 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r6, #0x90
2021-06-26 16:52:54 +00:00
ldr r1, [r6]
2021-06-27 18:48:56 +00:00
lsl r2, r2, #4
2021-06-26 16:52:54 +00:00
add r3, sp, #0x10
bl ov88_02259560
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl ov45_0222DCE8
2021-06-26 16:52:54 +00:00
add sp, #0x28
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 16:52:54 +00:00
pop {r3, r4, r5, r6, r7, pc}
_022594C6:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl ov45_0222DCE8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl ov45_0222DD44
2021-06-26 16:52:54 +00:00
cmp r0, #1
beq _02259476
_022594D6:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 16:52:54 +00:00
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
_022594DC: .word ov88_02259910
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02259404
thumb_func_start ov88_022594E0
2021-06-27 18:48:56 +00:00
ov88_022594E0: ; 0x022594E0
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r4, r6, #0
mov r7, #0
add r4, #0x60
add r5, r6, #0
2021-06-26 16:52:54 +00:00
_022594EC:
ldrb r0, [r6]
cmp r0, #1
bne _022594FA
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_022595F8
_022594FA:
2021-06-27 18:48:56 +00:00
add r7, r7, #1
add r6, #0x20
add r4, #0x10
add r5, #0x20
2021-06-26 16:52:54 +00:00
cmp r7, #3
blt _022594EC
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov88_022594E0
thumb_func_start ov88_02259508
2021-06-27 18:48:56 +00:00
ov88_02259508: ; 0x02259508
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, lr}
sub sp, #0x14
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0
2021-06-18 12:29:26 +00:00
strb r0, [r5]
strh r0, [r5, #2]
2021-06-27 18:48:56 +00:00
mov r0, #1
add r4, r1, #0
add r6, r2, #0
lsl r0, r0, #8
add r1, r3, #0
bl String_New
2021-06-18 12:29:26 +00:00
str r0, [r5, #8]
2021-06-27 18:48:56 +00:00
add r0, r6, #7
2021-06-18 12:29:26 +00:00
strb r0, [r5, #1]
2021-06-27 18:48:56 +00:00
mov r3, #0
add r5, #0xc
2021-06-18 12:29:26 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xb4
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #7
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
str r3, [sp, #0x10]
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
mov r2, #3
2021-09-17 00:20:16 +00:00
bl AddWindowParameterized
2021-06-18 12:29:26 +00:00
add sp, #0x14
pop {r3, r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02259508
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_0225954C
2021-06-27 18:48:56 +00:00
ov88_0225954C: ; 0x0225954C
2021-06-26 16:52:54 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 16:52:54 +00:00
ldr r0, [r4, #8]
2023-06-04 17:27:11 +00:00
bl String_Delete
2021-06-27 18:48:56 +00:00
add r4, #0xc
add r0, r4, #0
2021-08-13 18:03:14 +00:00
bl RemoveWindow
2021-06-26 16:52:54 +00:00
pop {r4, pc}
thumb_func_end ov88_0225954C
thumb_func_start ov88_02259560
2021-06-27 18:48:56 +00:00
ov88_02259560: ; 0x02259560
2021-06-26 16:52:54 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 16:52:54 +00:00
ldr r0, [r5, #8]
2021-06-27 18:48:56 +00:00
add r7, r1, #0
add r6, r2, #0
add r4, r3, #0
2023-06-04 21:42:27 +00:00
bl String_Copy
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 16:52:54 +00:00
strb r0, [r5]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-26 16:52:54 +00:00
strh r2, [r5, #2]
strh r6, [r5, #4]
2021-06-27 18:48:56 +00:00
add r1, r7, #0
2022-03-10 15:29:01 +00:00
bl FontID_String_GetWidth
2021-06-26 16:52:54 +00:00
strh r0, [r5, #6]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 16:52:54 +00:00
ldrh r1, [r5, #6]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #8
add r0, r1, r0
2021-06-26 16:52:54 +00:00
strh r0, [r5, #6]
2021-06-27 18:48:56 +00:00
mov r0, #0x5a
2021-06-26 16:52:54 +00:00
ldrh r1, [r5, #6]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #4
2021-06-26 16:52:54 +00:00
cmp r1, r0
bls _0225959C
bl GF_AssertFail
2021-06-26 16:52:54 +00:00
_0225959C:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc
mov r1, #0
2021-08-13 14:06:39 +00:00
bl FillWindowPixelBuffer
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-26 16:52:54 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xff
2021-06-26 16:52:54 +00:00
str r0, [sp, #4]
str r3, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 16:52:54 +00:00
ldr r2, [r5, #8]
2021-06-27 18:48:56 +00:00
add r0, #0xc
mov r1, #1
2021-08-13 18:03:14 +00:00
bl AddTextPrinterParameterized
2021-06-26 16:52:54 +00:00
ldrb r0, [r4]
ldr r1, [sp, #0x20]
strb r0, [r5, #0x1c]
ldrb r0, [r4, #1]
strb r0, [r5, #0x1d]
ldrb r0, [r4, #2]
strb r0, [r5, #0x1e]
ldrb r0, [r4, #3]
strb r0, [r5, #0x1f]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 16:52:54 +00:00
ldrb r2, [r5, #1]
2021-06-27 18:48:56 +00:00
add r0, #0x1c
2021-06-26 16:52:54 +00:00
bl ov88_022592B8
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov88_02259560
thumb_func_start ov88_022595DC
2021-06-27 18:48:56 +00:00
ov88_022595DC: ; 0x022595DC
mov r1, #0
2021-06-26 16:52:54 +00:00
strb r1, [r0]
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_022595DC
thumb_func_start ov88_022595E4
2021-06-27 18:48:56 +00:00
ov88_022595E4: ; 0x022595E4
2021-06-26 16:52:54 +00:00
ldrh r1, [r0, #2]
2021-06-27 18:48:56 +00:00
mov r3, #1
add r2, r1, #1
2021-06-26 16:52:54 +00:00
ldrh r1, [r0, #4]
cmp r2, r1
bgt _022595F4
strh r2, [r0, #2]
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-26 16:52:54 +00:00
_022595F4:
2021-06-27 18:48:56 +00:00
add r0, r3, #0
2021-06-26 16:52:54 +00:00
bx lr
thumb_func_end ov88_022595E4
thumb_func_start ov88_022595F8
2021-06-27 18:48:56 +00:00
ov88_022595F8: ; 0x022595F8
2021-06-26 16:52:54 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x24
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 16:52:54 +00:00
ldrh r0, [r5, #6]
str r1, [sp, #0x1c]
str r0, [sp, #0x20]
ldrh r1, [r5, #2]
ldr r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
mul r0, r1
2021-06-26 16:52:54 +00:00
ldrh r1, [r5, #4]
2021-08-11 14:29:41 +00:00
bl _s32_div_f
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #1
lsl r0, r0, #8
2021-06-26 16:52:54 +00:00
cmp r4, r0
bge _02259622
2021-06-27 18:48:56 +00:00
mov r0, #0xff
sub r7, r0, r4
mov r6, #0
2021-06-26 16:52:54 +00:00
b _02259630
_02259622:
2021-06-27 18:48:56 +00:00
sub r6, r4, r0
2021-06-26 16:52:54 +00:00
ldr r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
mov r7, #0
sub r4, r0, r4
2021-06-26 16:52:54 +00:00
cmp r4, #0xff
ble _02259630
2021-06-27 18:48:56 +00:00
mov r4, #0xff
2021-06-26 16:52:54 +00:00
_02259630:
2021-06-27 18:48:56 +00:00
mov r0, #0xff
2021-06-26 16:52:54 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r0, #0x10
2021-06-26 16:52:54 +00:00
str r0, [sp, #4]
ldr r0, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r2, r1, #0
add r3, r1, #0
2021-08-13 14:06:39 +00:00
bl FillWindowPixelRect
2021-06-27 18:48:56 +00:00
mov r0, #0x5a
lsl r0, r0, #4
2021-06-26 16:52:54 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x10
lsl r1, r7, #0x10
lsl r2, r6, #0x10
2021-06-26 16:52:54 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
lsr r1, r1, #0x10
2021-06-26 16:52:54 +00:00
str r1, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r3, #0
lsl r1, r4, #0x10
2021-06-26 16:52:54 +00:00
str r3, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsr r1, r1, #0x10
2021-06-26 16:52:54 +00:00
str r1, [sp, #0x10]
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r0, #0xf
2021-06-26 16:52:54 +00:00
str r0, [sp, #0x18]
ldr r0, [sp, #0x1c]
ldr r1, [r5, #0x18]
2021-06-27 18:48:56 +00:00
lsr r2, r2, #0x10
bl BlitBitmapRect
2021-06-26 16:52:54 +00:00
ldr r0, [sp, #0x1c]
bl ScheduleWindowCopyToVram
2021-06-26 16:52:54 +00:00
add sp, #0x24
pop {r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_022595F8
thumb_func_start ov88_0225967C
2021-06-27 18:48:56 +00:00
ov88_0225967C: ; 0x0225967C
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
str r1, [sp, #0x18]
str r2, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r2, #0x70
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x14]
bl memset
2021-06-27 18:48:56 +00:00
ldr r2, _022597CC ; =0x000002F5
2021-06-18 12:29:26 +00:00
ldr r3, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
mov r0, #0
mov r1, #0x1b
2021-08-13 18:03:14 +00:00
bl NewMsgDataFromNarc
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x38]
ldr r1, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
mov r0, #0x80
bl String_New
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x3c]
ldr r0, _022597D0 ; =ov88_02259A68
ldr r5, _022597D4 ; =ov88_02259980
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x28]
ldr r0, _022597D8 ; =_02259A60
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x24]
ldr r0, [sp, #0x14]
str r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
add r0, #0x40
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x20]
_022596BC:
ldr r1, [sp, #0x24]
ldr r2, [sp, #0x28]
ldrh r1, [r1]
ldr r0, [sp, #0x20]
ldr r2, [r2]
2021-06-26 16:52:54 +00:00
bl ov88_0225983C
2021-06-18 12:29:26 +00:00
ldrb r0, [r5, #1]
ldr r1, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
ldrb r0, [r5, #2]
str r0, [sp, #4]
ldrb r0, [r5, #3]
str r0, [sp, #8]
ldrb r0, [r5, #6]
str r0, [sp, #0xc]
ldrh r0, [r5, #4]
str r0, [sp, #0x10]
ldr r0, [sp, #0x18]
ldrb r3, [r5]
ldr r0, [r0]
2021-09-17 00:20:16 +00:00
bl AddWindowParameterized
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-08-13 14:06:39 +00:00
bl FillWindowPixelBuffer
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x38]
ldr r1, [sp, #0x3c]
ldr r2, [sp, #0x34]
2021-08-14 00:11:40 +00:00
bl ReadMsgDataIntoString
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x34]
2023-06-04 21:42:27 +00:00
bl String_CountLines
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x30]
ldr r0, [sp, #0x34]
ldrb r6, [r5, #8]
2023-06-04 21:42:27 +00:00
bl String_GetLength
2021-06-18 12:29:26 +00:00
ldr r1, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
bl String_New
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
mov r7, #0
2021-06-18 12:29:26 +00:00
cmp r0, #0
bls _0225978A
_02259720:
ldr r1, [sp, #0x34]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r2, r7, #0
2023-06-04 21:42:27 +00:00
bl String_GetLineN
2021-06-18 12:29:26 +00:00
ldrb r0, [r5, #9]
cmp r0, #0
beq _0225973A
cmp r0, #1
beq _02259740
cmp r0, #2
beq _02259756
b _02259766
_0225973A:
ldrb r0, [r5, #7]
str r0, [sp, #0x2c]
b _02259766
_02259740:
2021-06-27 18:48:56 +00:00
mov r0, #0
add r1, r4, #0
add r2, r0, #0
2022-03-10 15:29:01 +00:00
bl FontID_String_GetWidthMultiline
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-18 12:29:26 +00:00
ldrb r1, [r5, #7]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #1
sub r0, r1, r0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x2c]
b _02259766
_02259756:
2021-06-27 18:48:56 +00:00
mov r0, #0
add r1, r4, #0
add r2, r0, #0
2022-03-10 15:29:01 +00:00
bl FontID_String_GetWidthMultiline
2021-06-18 12:29:26 +00:00
ldrb r1, [r5, #7]
2021-06-27 18:48:56 +00:00
sub r0, r1, r0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x2c]
_02259766:
str r6, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xff
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
ldr r0, [r5, #0xc]
ldr r3, [sp, #0x2c]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
ldr r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
mov r1, #0
add r2, r4, #0
2021-09-16 00:11:18 +00:00
bl AddTextPrinterParameterized2
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r7, r7, #1
add r6, #0x10
2021-06-18 12:29:26 +00:00
cmp r7, r0
blo _02259720
_0225978A:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2023-06-04 17:27:11 +00:00
bl String_Delete
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x14]
bl ScheduleWindowCopyToVram
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x28]
2021-06-27 18:48:56 +00:00
add r5, #0x10
add r0, r0, #4
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x28]
ldr r0, [sp, #0x24]
2021-06-27 18:48:56 +00:00
add r0, r0, #2
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x24]
ldr r0, [sp, #0x20]
2021-06-27 18:48:56 +00:00
add r0, #0xc
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x20]
ldr r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r0, #0x10
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x14]
ldr r0, [sp, #0x3c]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x3c]
cmp r0, #4
blt _022596BC
ldr r0, [sp, #0x34]
2023-06-04 17:27:11 +00:00
bl String_Delete
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x38]
2021-08-13 18:03:14 +00:00
bl DestroyMsgData
2021-06-18 12:29:26 +00:00
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_022597CC: .word 0x000002F5
_022597D0: .word ov88_02259A68
_022597D4: .word ov88_02259980
_022597D8: .word _02259A60
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_0225967C
thumb_func_start ov88_022597DC
2021-06-27 18:48:56 +00:00
ov88_022597DC: ; 0x022597DC
2021-06-26 16:52:54 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r5, #0
mov r6, #0
add r4, #0x40
2021-06-26 16:52:54 +00:00
_022597E6:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-08-13 18:03:14 +00:00
bl RemoveWindow
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 16:52:54 +00:00
bl ov88_0225985C
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r5, #0x10
add r4, #0xc
2021-06-26 16:52:54 +00:00
cmp r6, #4
blt _022597E6
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_022597DC
2021-06-18 12:29:26 +00:00
2021-06-26 16:52:54 +00:00
thumb_func_start ov88_02259800
2021-06-27 18:48:56 +00:00
ov88_02259800: ; 0x02259800
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r4, #0
add r5, #0x40
2021-06-26 16:52:54 +00:00
_02259808:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 16:52:54 +00:00
bl ov88_02259884
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, #0xc
2021-06-26 16:52:54 +00:00
cmp r4, #4
blt _02259808
pop {r3, r4, r5, pc}
thumb_func_end ov88_02259800
thumb_func_start ov88_02259818
2021-06-27 18:48:56 +00:00
ov88_02259818: ; 0x02259818
2021-06-26 16:52:54 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r5, r0, #0
2021-06-26 16:52:54 +00:00
cmp r4, #4
blo _02259826
bl GF_AssertFail
2021-06-26 16:52:54 +00:00
_02259826:
cmp r4, #0
bne _0225982E
bl GF_AssertFail
2021-06-26 16:52:54 +00:00
_0225982E:
2021-06-27 18:48:56 +00:00
mov r0, #0xc
add r5, #0x40
mul r0, r4
add r0, r5, r0
2021-06-26 16:52:54 +00:00
bl ov88_02259878
pop {r3, r4, r5, pc}
thumb_func_end ov88_02259818
thumb_func_start ov88_0225983C
2021-06-27 18:48:56 +00:00
ov88_0225983C: ; 0x0225983C
mov r3, #0
2021-06-18 12:29:26 +00:00
strb r3, [r0]
strb r3, [r0, #1]
strb r3, [r0, #2]
strb r3, [r0, #3]
strb r3, [r0, #4]
strb r3, [r0, #5]
strb r3, [r0, #6]
strb r3, [r0, #7]
strb r3, [r0, #8]
strb r3, [r0, #9]
strb r3, [r0, #0xa]
strb r3, [r0, #0xb]
strh r1, [r0, #6]
str r2, [r0, #8]
bx lr
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_0225983C
thumb_func_start ov88_0225985C
2021-06-27 18:48:56 +00:00
ov88_0225985C: ; 0x0225985C
mov r1, #0
2021-06-26 16:52:54 +00:00
strb r1, [r0]
strb r1, [r0, #1]
strb r1, [r0, #2]
strb r1, [r0, #3]
strb r1, [r0, #4]
strb r1, [r0, #5]
strb r1, [r0, #6]
strb r1, [r0, #7]
strb r1, [r0, #8]
strb r1, [r0, #9]
strb r1, [r0, #0xa]
strb r1, [r0, #0xb]
bx lr
thumb_func_end ov88_0225985C
thumb_func_start ov88_02259878
2021-06-27 18:48:56 +00:00
ov88_02259878: ; 0x02259878
mov r1, #1
2021-06-26 16:52:54 +00:00
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 16:52:54 +00:00
strh r1, [r0, #2]
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 16:52:54 +00:00
thumb_func_end ov88_02259878
thumb_func_start ov88_02259884
2021-06-27 18:48:56 +00:00
ov88_02259884: ; 0x02259884
2021-06-26 16:52:54 +00:00
push {r4, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 16:52:54 +00:00
ldrh r0, [r4, #2]
cmp r0, #0x1c
bls _02259894
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 16:52:54 +00:00
strh r0, [r4]
_02259894:
ldrh r0, [r4]
cmp r0, #0
beq _02259900
ldrh r0, [r4, #2]
cmp r0, #0
bne _022598AA
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
lsr r0, r0, #0x10
2021-08-13 18:03:14 +00:00
bl PlaySE
2021-06-26 16:52:54 +00:00
_022598AA:
ldrh r0, [r4, #2]
cmp r0, #2
bhs _022598BA
2021-06-27 18:48:56 +00:00
lsl r1, r0, #4
lsr r0, r1, #0x1f
add r0, r1, r0
asr r3, r0, #1
2021-06-26 16:52:54 +00:00
b _022598D0
_022598BA:
cmp r0, #0xe
bhs _022598C2
2021-06-27 18:48:56 +00:00
mov r3, #0x10
2021-06-26 16:52:54 +00:00
b _022598D0
_022598C2:
2021-06-27 18:48:56 +00:00
sub r0, #0xe
lsl r0, r0, #4
mov r1, #0xe
2021-08-11 14:29:41 +00:00
bl _s32_div_f
2021-06-27 18:48:56 +00:00
mov r1, #0x10
sub r3, r1, r0
2021-06-26 16:52:54 +00:00
_022598D0:
2021-06-27 18:48:56 +00:00
mov r1, #0xe
2021-06-26 16:52:54 +00:00
add r0, sp, #4
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #0x19
lsl r3, r3, #0x18
2021-06-26 16:52:54 +00:00
str r0, [sp]
add r0, sp, #4
2021-06-27 18:48:56 +00:00
add r1, r4, #4
mov r2, #1
lsr r3, r3, #0x18
2021-06-27 19:11:25 +00:00
bl sub_02003DE8
2021-06-27 18:48:56 +00:00
add r0, r4, #4
mov r1, #2
bl DC_FlushRange
2021-06-26 16:52:54 +00:00
ldrh r1, [r4, #6]
2021-06-27 18:48:56 +00:00
add r0, r4, #4
mov r2, #2
2021-08-13 18:03:14 +00:00
bl GX_LoadBGPltt
2021-06-26 16:52:54 +00:00
ldrh r0, [r4, #2]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 16:52:54 +00:00
strh r0, [r4, #2]
_02259900:
add sp, #8
pop {r4, pc}
thumb_func_end ov88_02259884
.rodata
_02259904:
.byte 0x0F, 0x12, 0x15, 0x00, 0x50, 0x01, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00
ov88_02259910: ; 0x02259910
.byte 0xF0, 0x00, 0x00, 0x00
ov88_02259914: ; 0x02259914
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x72, 0x00, 0x00, 0x00
ov88_02259924: ; 0x02259924
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00
ov88_02259934: ; 0x02259934
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov88_02259944: ; 0x02259944
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
ov88_02259958: ; 0x02259958
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2021-06-26 16:52:54 +00:00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov88_02259980: ; 0x02259980
2021-06-26 16:52:54 +00:00
.byte 0x06, 0x00, 0x14, 0x08, 0x01, 0x00, 0x0A, 0x50, 0x06, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00
.byte 0x00, 0x06, 0x06, 0x03, 0xA1, 0x00, 0x07, 0x10, 0x04, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x0D, 0x00
.byte 0x0F, 0x06, 0x06, 0x05, 0xB3, 0x00, 0x07, 0x18, 0x04, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x0D, 0x00
.byte 0x04, 0x0C, 0x12, 0x03, 0xD1, 0x00, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0D, 0x00
ov88_022599C0: ; 0x022599C0
2021-06-26 16:52:54 +00:00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x04
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1B, 0x04, 0x00, 0x03, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1A, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.data
_02259A60:
.byte 0x00, 0x00, 0x18, 0x00, 0x1A, 0x00, 0x1E, 0x00
ov88_02259A68: ; 0x02259A68
.byte 0x00, 0x00, 0x00, 0x00, 0xDD, 0x05, 0x00, 0x00
2021-06-26 16:52:54 +00:00
.byte 0xE4, 0x05, 0x00, 0x00, 0xE3, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2021-06-27 18:48:56 +00:00
; 0x02259A80