pokeheartgold/asm/overlay_120.s

2382 lines
42 KiB
ArmAsm
Raw Normal View History

.include "asm/macros.inc"
2023-01-27 22:42:00 +00:00
.include "overlay_120.inc"
.include "global.inc"
.text
2021-06-18 12:29:26 +00:00
2021-06-26 22:28:06 +00:00
thumb_func_start ov120_0225F020
2021-06-27 18:48:56 +00:00
ov120_0225F020: ; 0x0225F020
2021-06-18 12:29:26 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0x34
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r2, #0x34
add r4, r0, #0
bl memset
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-18 12:29:26 +00:00
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F020
thumb_func_start ov120_0225F038
2021-06-27 18:48:56 +00:00
ov120_0225F038: ; 0x0225F038
2021-08-12 19:28:01 +00:00
ldr r3, _0225F03C ; =FreeToHeap
2021-06-26 22:28:06 +00:00
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-08-12 19:28:01 +00:00
_0225F03C: .word FreeToHeap
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F038
thumb_func_start ov120_0225F040
2021-06-27 18:48:56 +00:00
ov120_0225F040: ; 0x0225F040
2021-06-26 22:28:06 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r0, #0x30
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
2021-06-26 22:28:06 +00:00
cmp r0, #0
beq _0225F056
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F056:
ldr r1, [sp, #0x1c]
ldr r2, [sp, #0x24]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r3, r7, #0
bl ov01_021EFE34
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 22:28:06 +00:00
ldr r1, [sp, #0x20]
ldr r2, [sp, #0x28]
2021-06-27 18:48:56 +00:00
add r0, #0x14
add r3, r7, #0
bl ov01_021EFE34
2021-06-26 22:28:06 +00:00
ldr r0, [sp, #0x18]
str r0, [r5, #0x28]
add r0, sp, #0x2c
ldrb r1, [r0]
strh r4, [r5, #0x2c]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 22:28:06 +00:00
strh r6, [r5, #0x2e]
2021-06-27 18:48:56 +00:00
add r0, #0x31
2021-06-26 22:28:06 +00:00
strb r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #1
add r5, #0x30
2021-06-26 22:28:06 +00:00
strb r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F040
thumb_func_start ov120_0225F08C
2021-06-27 18:48:56 +00:00
ov120_0225F08C: ; 0x0225F08C
2021-06-26 22:28:06 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r1, r4, #0
add r1, #0x30
2021-06-26 22:28:06 +00:00
ldrb r1, [r1]
cmp r1, #0
bne _0225F0A2
add sp, #8
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r3, r4, r5, r6, r7, pc}
_0225F0A2:
bl ov01_021EFE44
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r0, r4, #0
add r0, #0x14
bl ov01_021EFE44
2021-06-27 18:48:56 +00:00
add r7, r5, #0
2021-06-26 22:28:06 +00:00
ldr r1, [r4]
2021-06-27 18:48:56 +00:00
orr r7, r0
lsr r0, r1, #0x1f
add r0, r1, r0
asr r5, r0, #1
mov r0, #0x2c
2021-06-26 22:28:06 +00:00
ldr r1, [r4, #0x14]
ldrsh r3, [r4, r0]
2021-06-27 18:48:56 +00:00
lsr r0, r1, #0x1f
add r0, r1, r0
asr r6, r0, #1
mov r0, #0x2e
2021-06-26 22:28:06 +00:00
ldrsh r2, [r4, r0]
2021-06-27 18:48:56 +00:00
add r0, r3, r5
lsl r0, r0, #0x10
sub r1, r2, r6
asr r0, r0, #0x10
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r0, #0x31
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
add r2, r2, r6
sub r3, r3, r5
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x10
lsl r2, r2, #0x10
lsl r3, r3, #0x10
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x28]
2021-06-27 18:48:56 +00:00
asr r1, r1, #0x10
asr r2, r2, #0x10
asr r3, r3, #0x10
bl ov01_021F0960
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-06-26 22:28:06 +00:00
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F08C
thumb_func_start ov120_0225F0FC
2021-06-27 18:48:56 +00:00
ov120_0225F0FC: ; 0x0225F0FC
2021-06-26 22:28:06 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0x45
lsl r1, r1, #2
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
mov r2, #0x45
mov r1, #0
lsl r2, r2, #2
add r4, r0, #0
bl memset
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 22:28:06 +00:00
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F0FC
thumb_func_start ov120_0225F118
2021-06-27 18:48:56 +00:00
ov120_0225F118: ; 0x0225F118
2021-08-12 19:28:01 +00:00
ldr r3, _0225F11C ; =FreeToHeap
2021-06-26 22:28:06 +00:00
bx r3
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-08-12 19:28:01 +00:00
_0225F11C: .word FreeToHeap
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F118
thumb_func_start ov120_0225F120
2021-06-27 18:48:56 +00:00
ov120_0225F120: ; 0x0225F120
2021-06-26 22:28:06 +00:00
str r2, [r0]
2021-06-27 18:48:56 +00:00
ldr r2, _0225F144 ; =0x0000010F
2021-06-26 22:28:06 +00:00
strb r3, [r0, r2]
2021-06-27 18:48:56 +00:00
sub r3, r2, #2
2021-06-26 22:28:06 +00:00
strb r1, [r0, r3]
2021-06-27 18:48:56 +00:00
mov r3, #0
sub r1, r2, #3
2021-06-26 22:28:06 +00:00
strb r3, [r0, r1]
2021-06-27 18:48:56 +00:00
sub r1, r2, #1
2021-06-26 22:28:06 +00:00
strb r3, [r0, r1]
2021-06-27 18:48:56 +00:00
mov r3, #1
add r1, r2, #1
2021-06-26 22:28:06 +00:00
strb r3, [r0, r1]
2021-06-27 18:48:56 +00:00
ldr r3, _0225F148 ; =ov120_0225F1E8
add r0, r0, #4
mov r1, #0x30
2021-06-26 22:28:06 +00:00
bx r3
nop
2021-06-27 18:48:56 +00:00
_0225F144: .word 0x0000010F
_0225F148: .word ov120_0225F1E8
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F120
thumb_func_start ov120_0225F14C
2021-06-27 18:48:56 +00:00
ov120_0225F14C: ; 0x0225F14C
2021-06-26 22:28:06 +00:00
push {r4, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 22:28:06 +00:00
bne _0225F158
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F158:
2021-06-27 18:48:56 +00:00
mov r1, #0x11
lsl r1, r1, #4
2021-06-26 22:28:06 +00:00
ldrb r0, [r4, r1]
cmp r0, #0
bne _0225F168
add sp, #8
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r4, pc}
_0225F168:
2021-06-27 18:48:56 +00:00
sub r0, r1, #4
2021-06-26 22:28:06 +00:00
ldrb r0, [r4, r0]
cmp r0, #0x30
bhs _0225F1CC
2021-06-27 18:48:56 +00:00
sub r0, r1, #2
2021-06-26 22:28:06 +00:00
ldrsb r0, [r4, r0]
2021-06-27 18:48:56 +00:00
sub r2, r0, #1
sub r0, r1, #2
2021-06-26 22:28:06 +00:00
strb r2, [r4, r0]
ldrsb r0, [r4, r0]
cmp r0, #0
bgt _0225F1CC
2021-06-27 18:48:56 +00:00
sub r0, r1, #3
2021-06-26 22:28:06 +00:00
ldrb r2, [r4, r0]
2021-06-27 18:48:56 +00:00
sub r0, r1, #2
2021-06-26 22:28:06 +00:00
strb r2, [r4, r0]
2021-06-27 18:48:56 +00:00
add r0, r4, #4
2021-06-26 22:28:06 +00:00
bl ov120_0225F240
2021-06-27 18:48:56 +00:00
lsr r3, r0, #0x1f
lsl r1, r0, #0x1d
lsr r0, r0, #3
sub r1, r1, r3
mov r2, #0x1d
ror r1, r2
add r1, r3, r1
lsl r1, r1, #0x15
asr r3, r1, #0x10
lsl r0, r0, #0x15
asr r1, r0, #0x10
add r0, r3, #0
add r0, #0x20
lsl r0, r0, #0x10
asr r0, r0, #0x10
add r2, #0xf2
2021-06-26 22:28:06 +00:00
str r0, [sp]
ldrb r0, [r4, r2]
2021-06-27 18:48:56 +00:00
add r2, r1, #0
add r2, #0x20
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r2, r2, #0x10
2021-06-26 22:28:06 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
asr r2, r2, #0x10
bl ov01_021F0960
2021-06-27 18:48:56 +00:00
mov r0, #0x43
lsl r0, r0, #2
2021-06-26 22:28:06 +00:00
ldrb r1, [r4, r0]
2021-06-27 18:48:56 +00:00
add r1, r1, #1
2021-06-26 22:28:06 +00:00
strb r1, [r4, r0]
_0225F1CC:
2021-06-27 18:48:56 +00:00
mov r0, #0x43
lsl r0, r0, #2
2021-06-26 22:28:06 +00:00
ldrb r1, [r4, r0]
cmp r1, #0x30
blo _0225F1E2
2021-06-27 18:48:56 +00:00
mov r1, #0
add r0, r0, #4
2021-06-26 22:28:06 +00:00
strb r1, [r4, r0]
add sp, #8
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r4, pc}
_0225F1E2:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
add sp, #8
pop {r4, pc}
thumb_func_end ov120_0225F14C
thumb_func_start ov120_0225F1E8
2021-06-27 18:48:56 +00:00
ov120_0225F1E8: ; 0x0225F1E8
2021-06-26 22:28:06 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r6, r1, #0
add r5, r0, #0
2021-06-26 22:28:06 +00:00
cmp r6, #0x80
blo _0225F1F6
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F1F6:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
cmp r6, #0
bls _0225F208
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-26 22:28:06 +00:00
_0225F1FE:
strh r0, [r1]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
add r1, r1, #2
2021-06-26 22:28:06 +00:00
cmp r0, r6
blo _0225F1FE
_0225F208:
2021-06-27 18:48:56 +00:00
mov r7, #0
sub r0, r6, #1
2021-06-26 22:28:06 +00:00
str r0, [sp]
beq _0225F230
2021-06-27 18:48:56 +00:00
add r4, r5, #0
2021-06-26 22:28:06 +00:00
_0225F212:
bl LCRandom
2021-06-27 18:48:56 +00:00
add r1, r6, #0
bl _u32_div_f
2021-06-27 18:48:56 +00:00
lsl r2, r1, #1
2021-06-26 22:28:06 +00:00
ldrh r0, [r4]
ldrh r1, [r5, r2]
2021-06-27 18:48:56 +00:00
add r7, r7, #1
2021-06-26 22:28:06 +00:00
strh r1, [r4]
strh r0, [r5, r2]
ldr r0, [sp]
2021-06-27 18:48:56 +00:00
add r4, r4, #2
2021-06-26 22:28:06 +00:00
cmp r7, r0
blo _0225F212
_0225F230:
2021-06-27 18:48:56 +00:00
mov r0, #1
mov r1, #0
lsl r0, r0, #8
2021-06-26 22:28:06 +00:00
str r1, [r5, r0]
2021-06-27 18:48:56 +00:00
add r0, r0, #4
2021-06-26 22:28:06 +00:00
str r6, [r5, r0]
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F1E8
thumb_func_start ov120_0225F240
2021-06-27 18:48:56 +00:00
ov120_0225F240: ; 0x0225F240
2021-06-26 22:28:06 +00:00
push {r3, r4}
2021-06-27 18:48:56 +00:00
mov r2, #1
lsl r2, r2, #8
2021-06-26 22:28:06 +00:00
ldr r3, [r0, r2]
2021-06-27 18:48:56 +00:00
add r1, r3, #1
2021-06-26 22:28:06 +00:00
str r1, [r0, r2]
2021-06-27 18:48:56 +00:00
lsl r1, r3, #1
2021-06-26 22:28:06 +00:00
ldrh r3, [r0, r1]
2021-06-27 18:48:56 +00:00
add r1, r2, #4
2021-06-26 22:28:06 +00:00
ldr r4, [r0, r1]
ldr r1, [r0, r2]
cmp r1, r4
bhi _0225F25C
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-26 22:28:06 +00:00
_0225F25C:
2021-06-27 18:48:56 +00:00
mov r1, #1
lsl r1, r1, #8
2021-06-26 22:28:06 +00:00
str r4, [r0, r1]
2021-06-27 18:48:56 +00:00
add r0, r3, #0
2021-06-26 22:28:06 +00:00
pop {r3, r4}
bx lr
thumb_func_end ov120_0225F240
thumb_func_start ov120_0225F268
2021-06-27 18:48:56 +00:00
ov120_0225F268: ; 0x0225F268
2021-06-26 22:28:06 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0xcc
add r6, r0, #0
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r2, #0xcc
add r7, r0, #0
bl memset
2021-06-27 18:48:56 +00:00
mov r4, #0
add r5, r7, #0
2021-06-26 22:28:06 +00:00
_0225F280:
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-26 22:28:06 +00:00
bl ov120_0225F020
str r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-26 22:28:06 +00:00
cmp r4, #0x30
blt _0225F280
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-06-26 22:28:06 +00:00
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov120_0225F268
thumb_func_start ov120_0225F294
2021-06-27 18:48:56 +00:00
ov120_0225F294: ; 0x0225F294
2021-06-26 22:28:06 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-26 22:28:06 +00:00
bne _0225F29E
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F29E:
2021-06-27 18:48:56 +00:00
mov r4, #0
add r5, r6, #0
2021-06-26 22:28:06 +00:00
_0225F2A2:
ldr r0, [r5, #4]
bl ov120_0225F038
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-26 22:28:06 +00:00
cmp r4, #0x30
blt _0225F2A2
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-26 22:28:06 +00:00
pop {r4, r5, r6, pc}
thumb_func_end ov120_0225F294
thumb_func_start ov120_0225F2B8
2021-06-27 18:48:56 +00:00
ov120_0225F2B8: ; 0x0225F2B8
2021-06-26 22:28:06 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
2021-06-26 22:28:06 +00:00
bne _0225F2C8
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F2C8:
str r7, [r5]
add r0, sp, #8
ldrb r1, [r0, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc9
2021-06-26 22:28:06 +00:00
strb r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc6
2021-06-26 22:28:06 +00:00
strb r4, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc7
2021-06-26 22:28:06 +00:00
strb r6, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
strb r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc5
2021-06-26 22:28:06 +00:00
strb r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc8
2021-06-26 22:28:06 +00:00
strb r4, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #1
add r0, #0xca
2021-06-26 22:28:06 +00:00
strb r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xcb
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
mov r2, #1
add r5, #0xcb
bic r0, r2
2021-06-26 22:28:06 +00:00
ldr r2, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
lsl r2, r2, #0x18
lsr r2, r2, #0x18
and r1, r2
orr r0, r1
2021-06-26 22:28:06 +00:00
strb r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F2B8
thumb_func_start ov120_0225F318
2021-06-27 18:48:56 +00:00
ov120_0225F318: ; 0x0225F318
2021-06-26 22:28:06 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 22:28:06 +00:00
bne _0225F324
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F324:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xca
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r0, #0
bne _0225F334
add sp, #0x28
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r3, r4, r5, r6, r7, pc}
_0225F334:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r0, #0x18
bhs _0225F436
2021-06-27 18:48:56 +00:00
mov r1, #0xc8
2021-06-26 22:28:06 +00:00
ldrsb r0, [r5, r1]
2021-06-27 18:48:56 +00:00
sub r2, r0, #1
add r0, r5, #0
add r0, #0xc8
2021-06-26 22:28:06 +00:00
strb r2, [r0]
ldrsb r0, [r5, r1]
cmp r0, #0
bgt _0225F436
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc6
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc8
2021-06-26 22:28:06 +00:00
strb r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xcb
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
2021-06-26 22:28:06 +00:00
beq _0225F372
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
ldr r0, _0225F4D4 ; =ov120_0226032C
2021-06-26 22:28:06 +00:00
b _0225F37A
_0225F372:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
ldr r0, _0225F4D8 ; =ov120_022602FC
2021-06-26 22:28:06 +00:00
_0225F37A:
ldrb r2, [r0, r1]
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0x1d
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 22:28:06 +00:00
str r0, [sp, #8]
str r0, [sp, #0xc]
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc9
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
lsr r4, r2, #0x1f
lsl r3, r2, #0x1d
sub r3, r3, r4
ror r3, r1
add r1, r4, r3
asr r3, r2, #2
lsr r3, r3, #0x1d
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
lsl r0, r2, #2
add r3, r2, r3
asr r2, r3, #3
add r3, r5, #0
add r3, #0xc7
add r0, r5, r0
lsl r1, r1, #5
lsl r2, r2, #5
2021-06-26 22:28:06 +00:00
ldrb r3, [r3]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, #0x10
add r2, #0x10
2021-06-26 22:28:06 +00:00
bl ov120_0225F040
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xcb
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
2021-06-26 22:28:06 +00:00
beq _0225F3D6
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
ldr r0, _0225F4D4 ; =ov120_0226032C
2021-06-26 22:28:06 +00:00
b _0225F3DE
_0225F3D6:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
ldr r0, _0225F4D8 ; =ov120_022602FC
2021-06-26 22:28:06 +00:00
_0225F3DE:
ldrb r1, [r0, r1]
2021-06-27 18:48:56 +00:00
mov r0, #0x2f
sub r2, r0, r1
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
lsr r4, r2, #0x1f
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 22:28:06 +00:00
str r0, [sp, #8]
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r3, r2, #0x1d
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc9
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
sub r3, r3, r4
mov r1, #0x1d
ror r3, r1
add r1, r4, r3
asr r3, r2, #2
lsr r3, r3, #0x1d
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
lsl r0, r2, #2
add r3, r2, r3
asr r2, r3, #3
add r3, r5, #0
add r3, #0xc7
add r0, r5, r0
lsl r1, r1, #5
lsl r2, r2, #5
2021-06-26 22:28:06 +00:00
ldrb r3, [r3]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, #0x10
add r2, #0x10
2021-06-26 22:28:06 +00:00
bl ov120_0225F040
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
add r1, r0, #1
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
strb r1, [r0]
_0225F436:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc5
2021-06-26 22:28:06 +00:00
ldrb r4, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r4, r0
bge _0225F4B0
ldr r0, _0225F4D4 ; =ov120_0226032C
2021-06-27 18:48:56 +00:00
add r7, r0, r4
ldr r0, _0225F4D8 ; =ov120_022602FC
2021-06-27 18:48:56 +00:00
add r6, r0, r4
add r0, r5, #0
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x24]
2021-06-27 18:48:56 +00:00
add r0, #0xc5
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x24]
_0225F456:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xcb
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
2021-06-26 22:28:06 +00:00
beq _0225F46C
ldrb r0, [r7]
2021-06-27 18:48:56 +00:00
mov r1, #0x2f
sub r1, r1, r0
2021-06-26 22:28:06 +00:00
str r1, [sp, #0x18]
b _0225F474
_0225F46C:
ldrb r0, [r6]
2021-06-27 18:48:56 +00:00
mov r1, #0x2f
sub r1, r1, r0
2021-06-26 22:28:06 +00:00
str r1, [sp, #0x18]
_0225F474:
2021-06-27 18:48:56 +00:00
lsl r0, r0, #2
add r0, r5, r0
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #4]
bl ov120_0225F08C
str r0, [sp, #0x20]
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #2
add r0, r5, r0
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #4]
bl ov120_0225F08C
ldr r1, [sp, #0x20]
2021-06-27 18:48:56 +00:00
orr r0, r1
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x1c]
cmp r0, #1
bne _0225F4A0
ldr r0, [sp, #0x24]
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
add r1, r0, #1
2021-06-26 22:28:06 +00:00
ldr r0, [sp, #0x24]
strb r1, [r0]
_0225F4A0:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r7, r7, #1
add r6, r6, #1
2021-06-26 22:28:06 +00:00
cmp r4, r0
blt _0225F456
_0225F4B0:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc5
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r0, #0x18
blo _0225F4CC
ldr r0, [sp, #0x1c]
cmp r0, #1
bne _0225F4CC
2021-06-27 18:48:56 +00:00
mov r0, #0
add r5, #0xca
2021-06-26 22:28:06 +00:00
strb r0, [r5]
add sp, #0x28
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r3, r4, r5, r6, r7, pc}
_0225F4CC:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_0225F4D4: .word ov120_0226032C
_0225F4D8: .word ov120_022602FC
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F318
thumb_func_start ov120_0225F4DC
2021-06-27 18:48:56 +00:00
ov120_0225F4DC: ; 0x0225F4DC
2021-06-26 22:28:06 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-26 22:28:06 +00:00
bne _0225F4E8
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F4E8:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xca
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r0, #0
bne _0225F4F8
add sp, #0x28
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r3, r4, r5, r6, r7, pc}
_0225F4F8:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r0, #0x18
bhs _0225F602
2021-06-27 18:48:56 +00:00
mov r1, #0xc8
2021-06-26 22:28:06 +00:00
ldrsb r0, [r5, r1]
2021-06-27 18:48:56 +00:00
sub r2, r0, #1
add r0, r5, #0
add r0, #0xc8
2021-06-26 22:28:06 +00:00
strb r2, [r0]
ldrsb r0, [r5, r1]
cmp r0, #0
bgt _0225F602
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc6
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc8
2021-06-26 22:28:06 +00:00
strb r1, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xcb
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
2021-06-26 22:28:06 +00:00
beq _0225F538
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
ldr r0, _0225F6A4 ; =ov120_02260314
2021-06-26 22:28:06 +00:00
ldrb r2, [r0, r1]
b _0225F546
_0225F538:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
ldr r0, _0225F6A4 ; =ov120_02260314
2021-06-26 22:28:06 +00:00
ldrb r1, [r0, r1]
2021-06-27 18:48:56 +00:00
mov r0, #0x2f
sub r2, r0, r1
2021-06-26 22:28:06 +00:00
_0225F546:
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
lsr r4, r2, #0x1f
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 22:28:06 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r3, r2, #0x1d
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc9
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
sub r3, r3, r4
mov r1, #0x1d
ror r3, r1
add r1, r4, r3
asr r3, r2, #2
lsr r3, r3, #0x1d
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
lsl r0, r2, #2
add r3, r2, r3
asr r2, r3, #3
add r3, r5, #0
add r3, #0xc7
add r0, r5, r0
lsl r1, r1, #5
lsl r2, r2, #5
2021-06-26 22:28:06 +00:00
ldrb r3, [r3]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, #0x10
add r2, #0x10
2021-06-26 22:28:06 +00:00
bl ov120_0225F040
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xcb
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
2021-06-26 22:28:06 +00:00
beq _0225F5A2
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
ldr r0, _0225F6A8 ; =ov120_022602E4
2021-06-26 22:28:06 +00:00
ldrb r2, [r0, r1]
b _0225F5B0
_0225F5A2:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r1, [r0]
ldr r0, _0225F6A8 ; =ov120_022602E4
2021-06-26 22:28:06 +00:00
ldrb r1, [r0, r1]
2021-06-27 18:48:56 +00:00
mov r0, #0x2f
sub r2, r0, r1
2021-06-26 22:28:06 +00:00
_0225F5B0:
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
lsr r4, r2, #0x1f
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 22:28:06 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r3, r2, #0x1d
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc9
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
sub r3, r3, r4
mov r1, #0x1d
ror r3, r1
add r1, r4, r3
asr r3, r2, #2
lsr r3, r3, #0x1d
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
lsl r0, r2, #2
add r3, r2, r3
asr r2, r3, #3
add r3, r5, #0
add r3, #0xc7
add r0, r5, r0
lsl r1, r1, #5
lsl r2, r2, #5
2021-06-26 22:28:06 +00:00
ldrb r3, [r3]
ldr r0, [r0, #4]
2021-06-27 18:48:56 +00:00
add r1, #0x10
add r2, #0x10
2021-06-26 22:28:06 +00:00
bl ov120_0225F040
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
add r1, r0, #1
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
strb r1, [r0]
_0225F602:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc5
2021-06-26 22:28:06 +00:00
ldrb r7, [r0]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r7, r0
bge _0225F680
ldr r0, _0225F6A4 ; =ov120_02260314
2021-06-27 18:48:56 +00:00
add r6, r0, r7
ldr r0, _0225F6A8 ; =ov120_022602E4
2021-06-27 18:48:56 +00:00
add r4, r0, r7
add r0, r5, #0
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x24]
2021-06-27 18:48:56 +00:00
add r0, #0xc5
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x24]
_0225F622:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xcb
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
2021-06-26 22:28:06 +00:00
beq _0225F636
ldrb r1, [r4]
ldrb r0, [r6]
str r1, [sp, #0x18]
b _0225F644
_0225F636:
ldrb r1, [r6]
ldrb r2, [r4]
2021-06-27 18:48:56 +00:00
mov r0, #0x2f
sub r0, r0, r1
mov r1, #0x2f
sub r1, r1, r2
2021-06-26 22:28:06 +00:00
str r1, [sp, #0x18]
_0225F644:
2021-06-27 18:48:56 +00:00
lsl r0, r0, #2
add r0, r5, r0
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #4]
bl ov120_0225F08C
str r0, [sp, #0x20]
ldr r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #2
add r0, r5, r0
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #4]
bl ov120_0225F08C
ldr r1, [sp, #0x20]
2021-06-27 18:48:56 +00:00
orr r0, r1
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x1c]
cmp r0, #1
bne _0225F670
ldr r0, [sp, #0x24]
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
add r1, r0, #1
2021-06-26 22:28:06 +00:00
ldr r0, [sp, #0x24]
strb r1, [r0]
_0225F670:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc4
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
add r7, r7, #1
add r6, r6, #1
add r4, r4, #1
2021-06-26 22:28:06 +00:00
cmp r7, r0
blt _0225F622
_0225F680:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc5
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r0, #0x18
blo _0225F69C
ldr r0, [sp, #0x1c]
cmp r0, #1
bne _0225F69C
2021-06-27 18:48:56 +00:00
mov r0, #0
add r5, #0xca
2021-06-26 22:28:06 +00:00
strb r0, [r5]
add sp, #0x28
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r3, r4, r5, r6, r7, pc}
_0225F69C:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_0225F6A4: .word ov120_02260314
_0225F6A8: .word ov120_022602E4
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F4DC
thumb_func_start ov120_0225F6AC
2021-06-27 18:48:56 +00:00
ov120_0225F6AC: ; 0x0225F6AC
2021-06-26 22:28:06 +00:00
strh r1, [r0]
strh r1, [r0, #2]
2021-06-27 18:48:56 +00:00
sub r1, r2, r1
2021-06-26 22:28:06 +00:00
strh r1, [r0, #4]
strh r3, [r0, #6]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 22:28:06 +00:00
strh r1, [r0, #8]
bx lr
thumb_func_end ov120_0225F6AC
thumb_func_start ov120_0225F6BC
2021-06-27 18:48:56 +00:00
ov120_0225F6BC: ; 0x0225F6BC
2021-06-26 22:28:06 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 22:28:06 +00:00
ldrh r2, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
ldrsh r1, [r4, r0]
2021-06-27 18:48:56 +00:00
asr r2, r2, #4
lsl r3, r2, #2
2022-01-10 21:40:39 +00:00
ldr r2, _0225F6F4 ; =FX_SinCosTable_
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
ldrsh r0, [r4, r0]
ldrsh r2, [r2, r3]
2021-06-27 18:48:56 +00:00
mul r2, r0
asr r0, r2, #0xc
add r0, r1, r0
2021-06-26 22:28:06 +00:00
strh r0, [r4]
2021-06-27 18:48:56 +00:00
mov r0, #6
2021-06-26 22:28:06 +00:00
ldrsh r1, [r4, r0]
2021-06-27 18:48:56 +00:00
ldr r0, _0225F6F8 ; =0x0000FFFF
mul r0, r1
mov r1, #0x5a
lsl r1, r1, #2
2021-08-11 14:29:41 +00:00
bl _s32_div_f
2021-06-26 22:28:06 +00:00
ldrh r1, [r4, #8]
2021-06-27 18:48:56 +00:00
add r0, r1, r0
2021-06-26 22:28:06 +00:00
strh r0, [r4, #8]
pop {r4, pc}
nop
2022-01-10 21:40:39 +00:00
_0225F6F4: .word FX_SinCosTable_
2021-06-27 18:48:56 +00:00
_0225F6F8: .word 0x0000FFFF
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F6BC
thumb_func_start ov120_0225F6FC
2021-06-27 18:48:56 +00:00
ov120_0225F6FC: ; 0x0225F6FC
2021-06-26 22:28:06 +00:00
str r1, [r0]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 22:28:06 +00:00
str r1, [r0, #4]
bx lr
thumb_func_end ov120_0225F6FC
thumb_func_start ov120_0225F704
2021-06-27 18:48:56 +00:00
ov120_0225F704: ; 0x0225F704
2021-06-26 22:28:06 +00:00
push {r3, lr}
2021-06-27 18:48:56 +00:00
add r2, r0, #0
add r0, r1, #0
add r1, r2, #4
2021-06-26 22:28:06 +00:00
ldr r2, [r2]
2021-06-27 21:10:38 +00:00
blx r2
2021-06-26 22:28:06 +00:00
pop {r3, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F704
thumb_func_start ov120_0225F714
2021-06-27 18:48:56 +00:00
ov120_0225F714: ; 0x0225F714
2021-06-26 22:28:06 +00:00
push {r4, r5, r6, lr}
sub sp, #0x18
2021-06-27 18:48:56 +00:00
add r5, r1, #0
add r6, r0, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
ldr r4, [r5, #0xc]
cmp r0, #5
bls _0225F726
b _0225F892
_0225F726:
2021-06-27 18:48:56 +00:00
add r0, r0, r0
2021-06-26 22:28:06 +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 22:28:06 +00:00
add pc, r0
2021-06-27 18:48:56 +00:00
_0225F732: ; jump table
.short _0225F73E - _0225F732 - 2 ; case 0
.short _0225F7F8 - _0225F732 - 2 ; case 1
.short _0225F810 - _0225F732 - 2 ; case 2
.short _0225F81C - _0225F732 - 2 ; case 3
.short _0225F826 - _0225F732 - 2 ; case 4
.short _0225F842 - _0225F732 - 2 ; case 5
2021-06-26 22:28:06 +00:00
_0225F73E:
2021-06-27 18:48:56 +00:00
mov r1, #0x67
mov r0, #4
lsl r1, r1, #2
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
mov r2, #0x67
2021-06-26 22:28:06 +00:00
str r0, [r5, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #0
lsl r2, r2, #2
bl memset
2021-06-26 22:28:06 +00:00
ldr r4, [r5, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #1
2021-08-13 18:03:14 +00:00
bl AllocWindows
2021-06-26 22:28:06 +00:00
str r0, [r4]
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-26 22:28:06 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
str r3, [sp, #0x10]
ldr r0, [r5, #0x10]
ldr r1, [r4]
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r2, #3
2021-09-17 00:20:16 +00:00
bl AddWindowParameterized
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 22:28:06 +00:00
add r0, sp, #0x14
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-26 22:28:06 +00:00
add r1, sp, #0x14
2021-06-27 18:48:56 +00:00
mov r2, #2
mov r3, #0x1e
2021-08-17 12:40:43 +00:00
bl BG_LoadPlttData
2021-06-26 22:28:06 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-08-13 14:06:39 +00:00
bl FillWindowPixelBuffer
2021-06-26 22:28:06 +00:00
ldr r0, [r4]
bl ScheduleWindowCopyToVram
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r0, #0x10
mov r1, #2
mov r2, #1
bl ov01_021F05C4
2021-06-27 18:48:56 +00:00
mov r3, #6
mov r0, #0
lsl r3, r3, #6
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r1, r4, r3
add r2, r4, #0
sub r3, #0x34
2021-06-26 22:28:06 +00:00
ldr r0, [r5, #0x20]
2021-06-27 18:48:56 +00:00
add r2, #0x10
add r3, r4, r3
2021-06-26 22:28:06 +00:00
bl ov120_0225F9D4
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-26 22:28:06 +00:00
ldr r0, [r5, #0x10]
2021-06-27 18:48:56 +00:00
ldr r1, _0225F8A4 ; =ov120_0225F8B0
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #4]
ldr r0, [r0, #0x1c]
str r0, [r4, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x61
lsl r0, r0, #2
add r0, r4, r0
2021-06-26 22:28:06 +00:00
bl ov120_0225F6FC
2021-06-27 18:48:56 +00:00
mov r0, #0x63
lsl r0, r0, #2
ldr r1, _0225F8A8 ; =ov120_0225F90C
add r0, r4, r0
2021-06-26 22:28:06 +00:00
bl ov120_0225F6FC
2021-06-27 18:48:56 +00:00
mov r0, #0x65
lsl r0, r0, #2
ldr r1, _0225F8AC ; =ov120_0225F970
add r0, r4, r0
2021-06-26 22:28:06 +00:00
bl ov120_0225F6FC
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [r5]
b _0225F892
_0225F7F8:
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
add r1, r0, #0
sub r1, #0x11
add r2, r1, #0
add r3, r5, #4
bl ov01_021EFCF8
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
str r0, [r5]
b _0225F892
_0225F810:
ldr r0, [r5, #4]
cmp r0, #0
beq _0225F892
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-26 22:28:06 +00:00
str r0, [r5]
b _0225F892
_0225F81C:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
str r0, [r5]
b _0225F892
_0225F826:
2021-06-27 18:48:56 +00:00
mov r0, #0x61
lsl r0, r0, #2
add r1, r4, r0
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #3
add r0, r1, r0
add r1, r4, #0
2021-06-26 22:28:06 +00:00
bl ov120_0225F704
cmp r0, #0
beq _0225F892
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-26 22:28:06 +00:00
str r0, [r5]
b _0225F892
_0225F842:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0200FC20
2021-06-26 22:28:06 +00:00
ldr r1, [r5, #0x14]
cmp r1, #0
beq _0225F852
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [r1]
_0225F852:
ldr r0, [r4]
bl ClearWindowTilemapAndCopyToVram
2021-06-26 22:28:06 +00:00
ldr r0, [r4]
2021-08-13 18:03:14 +00:00
bl RemoveWindow
2021-06-26 22:28:06 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
mov r1, #1
2023-06-04 17:27:11 +00:00
bl WindowArray_Delete
2021-06-27 18:48:56 +00:00
mov r0, #6
lsl r0, r0, #6
2021-06-26 22:28:06 +00:00
ldr r0, [r4, r0]
2023-01-10 08:17:26 +00:00
bl Sprite_Delete
2021-06-27 18:48:56 +00:00
mov r1, #0x53
add r0, r4, #0
lsl r1, r1, #2
add r0, #0x10
add r1, r4, r1
bl ov01_021F06EC
2021-06-27 18:48:56 +00:00
add r4, #0x10
add r0, r4, #0
bl ov01_021F05F4
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r6, #0
bl ov01_021EFCDC
2021-06-26 22:28:06 +00:00
add sp, #0x18
pop {r4, r5, r6, pc}
_0225F892:
ldr r0, [r5]
cmp r0, #5
beq _0225F89E
ldr r0, [r4, #0x10]
2021-06-27 19:11:25 +00:00
bl sub_0202457C
2021-06-26 22:28:06 +00:00
_0225F89E:
add sp, #0x18
pop {r4, r5, r6, pc}
nop
2021-06-27 18:48:56 +00:00
_0225F8A4: .word ov120_0225F8B0
_0225F8A8: .word ov120_0225F90C
_0225F8AC: .word ov120_0225F970
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F714
thumb_func_start ov120_0225F8B0
2021-06-27 18:48:56 +00:00
ov120_0225F8B0: ; 0x0225F8B0
2021-06-26 22:28:06 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r5, r0, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r4]
cmp r0, #0
beq _0225F8C6
cmp r0, #1
beq _0225F8DE
cmp r0, #2
beq _0225F8F6
b _0225F904
_0225F8C6:
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
bl ov120_0225F0FC
str r0, [r5, #4]
ldr r2, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r3, #0xf
2021-06-26 22:28:06 +00:00
bl ov120_0225F120
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0225F908
_0225F8DE:
ldr r0, [r5, #4]
bl ov120_0225F14C
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
bl ScheduleWindowCopyToVram
2021-06-26 22:28:06 +00:00
cmp r6, #0
beq _0225F908
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0225F908
_0225F8F6:
ldr r0, [r5, #4]
bl ov120_0225F118
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [r4]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r4, r5, r6, pc}
_0225F904:
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F908:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
pop {r4, r5, r6, pc}
thumb_func_end ov120_0225F8B0
thumb_func_start ov120_0225F90C
2021-06-27 18:48:56 +00:00
ov120_0225F90C: ; 0x0225F90C
2021-06-26 22:28:06 +00:00
push {r3, r4, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-26 22:28:06 +00:00
ldr r1, [r4]
cmp r1, #0
beq _0225F922
cmp r1, #1
beq _0225F946
cmp r1, #2
beq _0225F954
b _0225F964
_0225F922:
ldr r0, [r0, #8]
bl ov01_021FB514
2021-06-27 18:48:56 +00:00
mov r0, #0x1c
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #0x2a
2021-06-26 22:28:06 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #3
add r2, r1, #0
mov r3, #0
2022-03-15 12:19:04 +00:00
bl BeginNormalPaletteFade
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0225F968
_0225F946:
2022-03-27 22:00:16 +00:00
bl IsPaletteFadeFinished
2021-06-26 22:28:06 +00:00
cmp r0, #0
beq _0225F968
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0225F968
_0225F954:
ldr r0, [r0, #8]
bl ov01_021FB4F4
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [r4]
add sp, #0xc
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r3, r4, pc}
_0225F964:
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F968:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
add sp, #0xc
pop {r3, r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F90C
thumb_func_start ov120_0225F970
2021-06-27 18:48:56 +00:00
ov120_0225F970: ; 0x0225F970
2021-06-26 22:28:06 +00:00
push {r3, r4, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-26 22:28:06 +00:00
ldr r1, [r4]
cmp r1, #0
beq _0225F986
cmp r1, #1
beq _0225F9AA
cmp r1, #2
beq _0225F9B8
b _0225F9C8
_0225F986:
ldr r0, [r0, #8]
bl ov01_021FB514
2021-06-27 18:48:56 +00:00
mov r0, #0x1c
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #0x18
2021-06-26 22:28:06 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #3
add r2, r1, #0
mov r3, #0
2022-03-15 12:19:04 +00:00
bl BeginNormalPaletteFade
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0225F9CC
_0225F9AA:
2022-03-27 22:00:16 +00:00
bl IsPaletteFadeFinished
2021-06-26 22:28:06 +00:00
cmp r0, #0
beq _0225F9CC
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0225F9CC
_0225F9B8:
ldr r0, [r0, #8]
bl ov01_021FB4F4
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [r4]
add sp, #0xc
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r3, r4, pc}
_0225F9C8:
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F9CC:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
add sp, #0xc
pop {r3, r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F970
thumb_func_start ov120_0225F9D4
2021-06-27 18:48:56 +00:00
ov120_0225F9D4: ; 0x0225F9D4
2021-06-26 22:28:06 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
str r0, [sp, #0x14]
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r5, r1, #0
add r4, r2, #0
add r7, r3, #0
2021-06-26 22:28:06 +00:00
cmp r0, #2
bne _0225F9EA
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225F9EA:
ldr r0, [sp, #0x30]
ldr r3, _0225FA48 ; =ov120_02260200
2021-06-27 18:48:56 +00:00
lsl r6, r0, #4
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [sp]
ldr r0, _0225FA4C ; =ov120_022601F4
2021-06-26 22:28:06 +00:00
ldr r3, [r3, r6]
ldr r0, [r0, r6]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
ldr r0, _0225FA50 ; =ov120_022601FC
2021-06-27 18:48:56 +00:00
add r2, r7, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r0, r6]
str r0, [sp, #8]
ldr r0, _0225FA54 ; =ov120_022601F8
2021-06-26 22:28:06 +00:00
ldr r0, [r0, r6]
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
ldr r0, _0225FA58 ; =0x000927C0
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x10]
ldr r0, [sp, #0x14]
bl ov01_021F0614
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r2, #2
mov r3, #6
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r7, #0
lsl r2, r2, #0x12
lsl r3, r3, #0x10
bl ov01_021F0718
2021-06-26 22:28:06 +00:00
str r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #1
bl Set2dSpriteVisibleFlag
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0x10
2021-06-27 19:11:25 +00:00
bl sub_02024ADC
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-27 19:11:25 +00:00
bl sub_02024A04
2021-06-26 22:28:06 +00:00
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
_0225FA48: .word ov120_02260200
_0225FA4C: .word ov120_022601F4
_0225FA50: .word ov120_022601FC
_0225FA54: .word ov120_022601F8
2021-06-27 18:48:56 +00:00
_0225FA58: .word 0x000927C0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225F9D4
thumb_func_start ov120_0225FA5C
2021-06-27 18:48:56 +00:00
ov120_0225FA5C: ; 0x0225FA5C
ldr r3, _0225FA64 ; =ov120_0225FA74
mov r2, #1
2021-06-26 22:28:06 +00:00
bx r3
nop
2021-06-27 18:48:56 +00:00
_0225FA64: .word ov120_0225FA74
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FA5C
thumb_func_start ov120_0225FA68
2021-06-27 18:48:56 +00:00
ov120_0225FA68: ; 0x0225FA68
ldr r3, _0225FA70 ; =ov120_0225FA74
mov r2, #0
2021-06-26 22:28:06 +00:00
bx r3
nop
2021-06-27 18:48:56 +00:00
_0225FA70: .word ov120_0225FA74
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FA68
thumb_func_start ov120_0225FA74
2021-06-27 18:48:56 +00:00
ov120_0225FA74: ; 0x0225FA74
2021-06-26 22:28:06 +00:00
push {r4, r5, r6, lr}
sub sp, #0x18
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r6, r0, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r4]
ldr r5, [r4, #0xc]
cmp r0, #5
bls _0225FA86
b _0225FBA6
_0225FA86:
2021-06-27 18:48:56 +00:00
add r0, r0, r0
2021-06-26 22:28:06 +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 22:28:06 +00:00
add pc, r0
2021-06-27 18:48:56 +00:00
_0225FA92: ; jump table
.short _0225FA9E - _0225FA92 - 2 ; case 0
.short _0225FB10 - _0225FA92 - 2 ; case 1
.short _0225FB32 - _0225FA92 - 2 ; case 2
.short _0225FB40 - _0225FA92 - 2 ; case 3
.short _0225FB5A - _0225FA92 - 2 ; case 4
.short _0225FB74 - _0225FA92 - 2 ; case 5
2021-06-26 22:28:06 +00:00
_0225FA9E:
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #8
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-26 22:28:06 +00:00
str r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 22:28:06 +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]
ldr r5, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #1
2021-08-13 18:03:14 +00:00
bl AllocWindows
2021-06-26 22:28:06 +00:00
str r0, [r5]
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-26 22:28:06 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
str r3, [sp, #0x10]
ldr r0, [r4, #0x10]
ldr r1, [r5]
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r2, #3
2021-09-17 00:20:16 +00:00
bl AddWindowParameterized
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 22:28:06 +00:00
add r0, sp, #0x14
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-26 22:28:06 +00:00
add r1, sp, #0x14
2021-06-27 18:48:56 +00:00
mov r2, #2
mov r3, #0x1e
2021-08-17 12:40:43 +00:00
bl BG_LoadPlttData
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-08-13 14:06:39 +00:00
bl FillWindowPixelBuffer
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
bl ScheduleWindowCopyToVram
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
bl ov120_0225F268
str r0, [r5, #4]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FB10:
cmp r2, #0
beq _0225FB18
2021-06-27 18:48:56 +00:00
mov r1, #0x10
2021-06-26 22:28:06 +00:00
b _0225FB1C
_0225FB18:
2021-06-27 18:48:56 +00:00
mov r1, #0xf
mvn r1, r1
2021-06-26 22:28:06 +00:00
_0225FB1C:
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
add r2, r1, #0
add r3, r4, #4
bl ov01_021EFCF8
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FB32:
ldr r0, [r4, #4]
cmp r0, #0
beq _0225FBA6
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FB40:
2021-06-27 18:48:56 +00:00
mov r0, #0xf
2021-06-26 22:28:06 +00:00
str r0, [sp]
str r2, [sp, #4]
ldr r0, [r5, #4]
ldr r3, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r2, #4
2021-06-26 22:28:06 +00:00
bl ov120_0225F2B8
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FB5A:
ldr r0, [r5, #4]
bl ov120_0225F318
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
bl ScheduleWindowCopyToVram
2021-06-26 22:28:06 +00:00
cmp r6, #0
beq _0225FBA6
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FB74:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0200FC20
2021-06-26 22:28:06 +00:00
ldr r1, [r4, #0x14]
cmp r1, #0
beq _0225FB84
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [r1]
_0225FB84:
ldr r0, [r5, #4]
bl ov120_0225F294
ldr r0, [r5]
bl ClearWindowTilemapAndCopyToVram
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
2021-08-13 18:03:14 +00:00
bl RemoveWindow
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #1
2023-06-04 17:27:11 +00:00
bl WindowArray_Delete
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r6, #0
bl ov01_021EFCDC
2021-06-26 22:28:06 +00:00
_0225FBA6:
add sp, #0x18
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FA74
thumb_func_start ov120_0225FBAC
2021-06-27 18:48:56 +00:00
ov120_0225FBAC: ; 0x0225FBAC
ldr r3, _0225FBB4 ; =ov120_0225FBC4
mov r2, #1
2021-06-26 22:28:06 +00:00
bx r3
nop
2021-06-27 18:48:56 +00:00
_0225FBB4: .word ov120_0225FBC4
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FBAC
thumb_func_start ov120_0225FBB8
2021-06-27 18:48:56 +00:00
ov120_0225FBB8: ; 0x0225FBB8
ldr r3, _0225FBC0 ; =ov120_0225FBC4
mov r2, #0
2021-06-26 22:28:06 +00:00
bx r3
nop
2021-06-27 18:48:56 +00:00
_0225FBC0: .word ov120_0225FBC4
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FBB8
thumb_func_start ov120_0225FBC4
2021-06-27 18:48:56 +00:00
ov120_0225FBC4: ; 0x0225FBC4
2021-06-26 22:28:06 +00:00
push {r4, r5, r6, lr}
sub sp, #0x18
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r6, r0, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r4]
ldr r5, [r4, #0xc]
cmp r0, #5
bls _0225FBD6
b _0225FCF6
_0225FBD6:
2021-06-27 18:48:56 +00:00
add r0, r0, r0
2021-06-26 22:28:06 +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 22:28:06 +00:00
add pc, r0
2021-06-27 18:48:56 +00:00
_0225FBE2: ; jump table
.short _0225FBEE - _0225FBE2 - 2 ; case 0
.short _0225FC60 - _0225FBE2 - 2 ; case 1
.short _0225FC82 - _0225FBE2 - 2 ; case 2
.short _0225FC90 - _0225FBE2 - 2 ; case 3
.short _0225FCAA - _0225FBE2 - 2 ; case 4
.short _0225FCC4 - _0225FBE2 - 2 ; case 5
2021-06-26 22:28:06 +00:00
_0225FBEE:
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #8
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-26 22:28:06 +00:00
str r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 22:28:06 +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]
ldr r5, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #1
2021-08-13 18:03:14 +00:00
bl AllocWindows
2021-06-26 22:28:06 +00:00
str r0, [r5]
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-26 22:28:06 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
str r3, [sp, #0xc]
str r3, [sp, #0x10]
ldr r0, [r4, #0x10]
ldr r1, [r5]
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r2, #3
2021-09-17 00:20:16 +00:00
bl AddWindowParameterized
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 22:28:06 +00:00
add r0, sp, #0x14
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-26 22:28:06 +00:00
add r1, sp, #0x14
2021-06-27 18:48:56 +00:00
mov r2, #2
mov r3, #0x1e
2021-08-17 12:40:43 +00:00
bl BG_LoadPlttData
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-08-13 14:06:39 +00:00
bl FillWindowPixelBuffer
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
bl ScheduleWindowCopyToVram
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
bl ov120_0225F268
str r0, [r5, #4]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FC60:
cmp r2, #0
beq _0225FC68
2021-06-27 18:48:56 +00:00
mov r1, #0x10
2021-06-26 22:28:06 +00:00
b _0225FC6C
_0225FC68:
2021-06-27 18:48:56 +00:00
mov r1, #0xf
mvn r1, r1
2021-06-26 22:28:06 +00:00
_0225FC6C:
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
add r2, r1, #0
add r3, r4, #4
bl ov01_021EFCF8
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FC82:
ldr r0, [r4, #4]
cmp r0, #0
beq _0225FCF6
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FC90:
2021-06-27 18:48:56 +00:00
mov r0, #0xf
2021-06-26 22:28:06 +00:00
str r0, [sp]
str r2, [sp, #4]
ldr r0, [r5, #4]
ldr r3, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r2, #4
2021-06-26 22:28:06 +00:00
bl ov120_0225F2B8
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FCAA:
ldr r0, [r5, #4]
bl ov120_0225F4DC
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
bl ScheduleWindowCopyToVram
2021-06-26 22:28:06 +00:00
cmp r6, #0
beq _0225FCF6
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-26 22:28:06 +00:00
add sp, #0x18
str r0, [r4]
pop {r4, r5, r6, pc}
_0225FCC4:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0200FC20
2021-06-26 22:28:06 +00:00
ldr r1, [r4, #0x14]
cmp r1, #0
beq _0225FCD4
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [r1]
_0225FCD4:
ldr r0, [r5, #4]
bl ov120_0225F294
ldr r0, [r5]
bl ClearWindowTilemapAndCopyToVram
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
2021-08-13 18:03:14 +00:00
bl RemoveWindow
2021-06-26 22:28:06 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #1
2023-06-04 17:27:11 +00:00
bl WindowArray_Delete
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r6, #0
bl ov01_021EFCDC
2021-06-26 22:28:06 +00:00
_0225FCF6:
add sp, #0x18
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FBC4
thumb_func_start ov120_0225FCFC
2021-06-27 18:48:56 +00:00
ov120_0225FCFC: ; 0x0225FCFC
ldr r3, _0225FD04 ; =ov120_0225FF00
mov r2, #1
2021-06-26 22:28:06 +00:00
bx r3
nop
2021-06-27 18:48:56 +00:00
_0225FD04: .word ov120_0225FF00
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FCFC
thumb_func_start ov120_0225FD08
2021-06-27 18:48:56 +00:00
ov120_0225FD08: ; 0x0225FD08
ldr r3, _0225FD10 ; =ov120_0225FF00
mov r2, #0
2021-06-26 22:28:06 +00:00
bx r3
nop
2021-06-27 18:48:56 +00:00
_0225FD10: .word ov120_0225FF00
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FD08
thumb_func_start ov120_0225FD14
2021-06-27 18:48:56 +00:00
ov120_0225FD14: ; 0x0225FD14
2021-06-26 22:28:06 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r2, #0
mov r2, #0
2021-06-26 22:28:06 +00:00
str r2, [sp]
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_LoadFromOpenNarc
2021-06-27 18:48:56 +00:00
add r1, r5, #0
add r4, r0, #0
bl NNS_G2dGetUnpackedBGCharacterData
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-26 22:28:06 +00:00
pop {r3, r4, r5, pc}
thumb_func_end ov120_0225FD14
thumb_func_start ov120_0225FD2C
2021-06-27 18:48:56 +00:00
ov120_0225FD2C: ; 0x0225FD2C
2021-06-26 22:28:06 +00:00
push {r4, r5, r6, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #4
add r4, r3, #0
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
add r1, r2, #0
mov r2, #0
2021-06-26 22:28:06 +00:00
add r3, sp, #0xc
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_GetScrnDataFromOpenNarc
2021-06-26 22:28:06 +00:00
ldr r2, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r3, #0
lsl r1, r4, #0x18
2021-06-26 22:28:06 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-26 22:28:06 +00:00
ldrh r0, [r2]
2021-06-27 18:48:56 +00:00
lsr r1, r1, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x18
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
ldrh r0, [r2, #2]
2021-06-27 18:48:56 +00:00
add r2, #0xc
lsl r0, r0, #0x15
lsr r0, r0, #0x18
2021-06-26 22:28:06 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl LoadRectToBgTilemapRect
2021-06-26 22:28:06 +00:00
ldr r1, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-26 22:28:06 +00:00
ldrh r0, [r1]
2021-06-27 18:48:56 +00:00
add r3, r2, #0
lsl r0, r0, #0x15
lsr r0, r0, #0x18
2021-06-26 22:28:06 +00:00
str r0, [sp]
ldrh r0, [r1, #2]
2021-06-27 18:48:56 +00:00
lsl r1, r4, #0x18
lsr r1, r1, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x18
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-26 22:28:06 +00:00
str r2, [sp, #8]
bl BgTilemapRectChangePalette
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
lsl r1, r4, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
2021-08-14 18:09:09 +00:00
bl ScheduleBgTilemapBufferTransfer
2021-06-26 22:28:06 +00:00
add sp, #0x10
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FD2C
thumb_func_start ov120_0225FDA0
2021-06-27 18:48:56 +00:00
ov120_0225FDA0: ; 0x0225FDA0
2021-06-26 22:28:06 +00:00
push {r3, r4, lr}
sub sp, #4
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-26 22:28:06 +00:00
ldrh r2, [r4, #0x1e]
ldr r1, [r4]
cmp r2, #0
beq _0225FDB8
cmp r2, #1
beq _0225FDD6
cmp r2, #2
beq _0225FDF4
b _0225FE00
_0225FDB8:
ldr r3, [r4, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [sp]
ldr r0, [r1, #0x10]
ldr r2, [r3, #0x14]
ldr r0, [r0, #8]
ldr r3, [r3, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #1
bl BG_LoadCharTilesData
2021-06-26 22:28:06 +00:00
ldrh r0, [r4, #0x1e]
add sp, #4
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 22:28:06 +00:00
strh r0, [r4, #0x1e]
pop {r3, r4, pc}
_0225FDD6:
ldr r3, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [sp]
ldr r0, [r1, #0x10]
ldr r2, [r3, #0x14]
ldr r0, [r0, #8]
ldr r3, [r3, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #3
bl BG_LoadCharTilesData
2021-06-26 22:28:06 +00:00
ldrh r0, [r4, #0x1e]
add sp, #4
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 22:28:06 +00:00
strh r0, [r4, #0x1e]
pop {r3, r4, pc}
_0225FDF4:
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-26 22:28:06 +00:00
str r1, [r4, #0x18]
2022-04-02 20:49:11 +00:00
bl DestroySysTask
2021-06-26 22:28:06 +00:00
add sp, #4
pop {r3, r4, pc}
_0225FE00:
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov120_0225FDA0
thumb_func_start ov120_0225FE08
2021-06-27 18:48:56 +00:00
ov120_0225FE08: ; 0x0225FE08
2021-06-26 22:28:06 +00:00
push {r4, r5, r6, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r5, r1, #0
2021-06-26 22:28:06 +00:00
ldr r4, [r5]
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x20]
cmp r0, #0
bne _0225FE1C
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225FE1C:
ldrh r0, [r5, #0x1c]
cmp r0, #0
beq _0225FE2C
cmp r0, #1
beq _0225FE78
cmp r0, #2
beq _0225FEA4
b _0225FEBE
_0225FE2C:
2021-06-27 18:48:56 +00:00
mov r0, #0x20
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x20]
2021-06-27 18:48:56 +00:00
mov r1, #0xa0
add r3, r2, #0
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_GXLoadPalFromOpenNarc
2021-06-27 18:48:56 +00:00
add r2, r5, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x20]
2021-06-27 18:48:56 +00:00
mov r1, #0xa1
add r2, #0xc
mov r3, #4
2021-06-26 22:28:06 +00:00
bl ov120_0225FD14
str r0, [r5, #4]
2021-06-27 18:48:56 +00:00
add r2, r5, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x20]
2021-06-27 18:48:56 +00:00
mov r1, #0xa4
add r2, #0x10
mov r3, #4
2021-06-26 22:28:06 +00:00
bl ov120_0225FD14
str r0, [r5, #8]
2021-06-27 18:48:56 +00:00
mov r2, #0
ldr r0, _0225FEC8 ; =ov120_0225FDA0
2021-06-26 22:28:06 +00:00
strh r2, [r5, #0x1e]
2021-06-27 18:48:56 +00:00
add r1, r5, #0
2021-06-27 19:11:25 +00:00
bl sub_0200E33C
2021-06-26 22:28:06 +00:00
str r0, [r5, #0x18]
ldrh r0, [r5, #0x1c]
add sp, #8
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 22:28:06 +00:00
strh r0, [r5, #0x1c]
pop {r4, r5, r6, pc}
_0225FE78:
ldr r0, [r5, #0x18]
cmp r0, #0
bne _0225FEC2
ldr r0, [r4, #0x10]
ldr r1, [r4, #0x20]
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r2, #0xa2
mov r3, #1
2021-06-26 22:28:06 +00:00
bl ov120_0225FD2C
ldr r0, [r4, #0x10]
ldr r1, [r4, #0x20]
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r2, #0xa5
mov r3, #3
2021-06-26 22:28:06 +00:00
bl ov120_0225FD2C
ldrh r0, [r5, #0x1c]
add sp, #8
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-26 22:28:06 +00:00
strh r0, [r5, #0x1c]
pop {r4, r5, r6, pc}
_0225FEA4:
ldr r0, [r5, #4]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-26 22:28:06 +00:00
ldr r0, [r5, #8]
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
str r0, [r5, #0x14]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2022-04-02 20:49:11 +00:00
bl DestroySysTask
2021-06-26 22:28:06 +00:00
add sp, #8
pop {r4, r5, r6, pc}
_0225FEBE:
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225FEC2:
add sp, #8
pop {r4, r5, r6, pc}
nop
2021-06-27 18:48:56 +00:00
_0225FEC8: .word ov120_0225FDA0
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FE08
thumb_func_start ov120_0225FECC
2021-06-27 18:48:56 +00:00
ov120_0225FECC: ; 0x0225FECC
2021-06-26 22:28:06 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 22:28:06 +00:00
str r1, [r4]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
strh r0, [r4, #0x1c]
2021-06-27 18:48:56 +00:00
ldr r0, _0225FEE4 ; =ov120_0225FE08
add r1, r4, #0
mov r2, #1
2022-04-02 20:49:11 +00:00
bl CreateSysTask
2021-06-26 22:28:06 +00:00
str r0, [r4, #0x14]
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225FEE4: .word ov120_0225FE08
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FECC
thumb_func_start ov120_0225FEE8
2021-06-27 18:48:56 +00:00
ov120_0225FEE8: ; 0x0225FEE8
2021-06-26 22:28:06 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-26 22:28:06 +00:00
bne _0225FEF2
bl GF_AssertFail
2021-06-26 22:28:06 +00:00
_0225FEF2:
ldr r0, [r4, #0x14]
cmp r0, #0
bne _0225FEFC
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
pop {r4, pc}
_0225FEFC:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-26 22:28:06 +00:00
pop {r4, pc}
thumb_func_end ov120_0225FEE8
thumb_func_start ov120_0225FF00
2021-06-27 18:48:56 +00:00
ov120_0225FF00: ; 0x0225FF00
2021-06-26 22:28:06 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x14
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r7, r0, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
add r6, r2, #0
2021-06-26 22:28:06 +00:00
ldr r5, [r4, #0xc]
cmp r0, #7
bhi _0225FFDA
2021-06-27 18:48:56 +00:00
add r0, r0, r0
2021-06-26 22:28:06 +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 22:28:06 +00:00
add pc, r0
2021-06-27 18:48:56 +00:00
_0225FF1E: ; jump table
.short _0225FF2E - _0225FF1E - 2 ; case 0
.short _0225FFCE - _0225FF1E - 2 ; case 1
.short _02260078 - _0225FF1E - 2 ; case 2
.short _0226008C - _0225FF1E - 2 ; case 3
.short _022600C4 - _0225FF1E - 2 ; case 4
.short _022600D4 - _0225FF1E - 2 ; case 5
.short _022600E8 - _0225FF1E - 2 ; case 6
.short _022600F8 - _0225FF1E - 2 ; case 7
2021-06-26 22:28:06 +00:00
_0225FF2E:
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #0x70
2021-08-12 19:28:01 +00:00
bl AllocFromHeap
2021-06-27 18:48:56 +00:00
mov r1, #0
mov r2, #0x70
2021-06-26 22:28:06 +00:00
str r0, [r4, #0xc]
bl memset
2021-06-27 18:48:56 +00:00
mov r0, #2
mov r1, #1
2021-06-26 22:28:06 +00:00
ldr r5, [r4, #0xc]
2021-09-01 12:08:31 +00:00
bl GX_EngineAToggleLayers
2021-06-27 18:48:56 +00:00
mov r0, #8
mov r1, #1
2021-09-01 12:08:31 +00:00
bl GX_EngineAToggleLayers
2021-06-27 18:48:56 +00:00
mov r2, #1
lsl r2, r2, #0x1a
2021-06-26 22:28:06 +00:00
ldr r1, [r2]
2021-06-27 18:48:56 +00:00
ldr r0, _02260188 ; =0xFFFFE0FF
and r1, r0
mov r0, #0x15
lsl r0, r0, #8
orr r0, r1
2021-06-26 22:28:06 +00:00
str r0, [r2]
ldr r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-09-16 00:11:18 +00:00
bl FreeBgTilemapBuffer
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x10]
ldr r2, _0226018C ; =ov120_022601BC
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
mov r3, #0
2021-09-16 00:11:18 +00:00
bl InitBgFromTemplate
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-09-18 16:36:50 +00:00
bl BgClearTilemapBufferAndCommit
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-09-16 00:11:18 +00:00
bl FreeBgTilemapBuffer
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x10]
ldr r2, _02260190 ; =ov120_022601D8
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r1, #3
mov r3, #0
2021-09-16 00:11:18 +00:00
bl InitBgFromTemplate
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-09-18 16:36:50 +00:00
bl BgClearTilemapBufferAndCommit
2021-06-27 18:48:56 +00:00
mov r0, #2
mov r1, #0
bl SetBgPriority
2021-06-27 18:48:56 +00:00
mov r0, #8
mov r1, #0
bl SetBgPriority
2021-06-27 18:48:56 +00:00
mov r0, #0x15
2022-02-04 16:18:48 +00:00
bl GX_EngineASetLayers
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x50
add r1, r4, #0
2021-06-26 22:28:06 +00:00
bl ov120_0225FECC
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0226011A
_0225FFCE:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x50
2021-06-26 22:28:06 +00:00
bl ov120_0225FEE8
cmp r0, #0
bne _0225FFDC
_0225FFDA:
b _0226011A
_0225FFDC:
2021-06-27 18:48:56 +00:00
mov r0, #1
mov r1, #0
2021-09-16 00:11:18 +00:00
bl BG_SetMaskColor
2021-06-27 18:48:56 +00:00
mov r0, #0x12
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #0
mov r2, #5
add r0, #0xc
lsl r2, r2, #0x12
add r3, r1, #0
bl ov01_021EFEC8
2021-06-27 18:48:56 +00:00
mov r0, #0x1e
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r2, #5
mov r3, #2
add r0, #0x24
mov r1, #0
lsl r2, r2, #0x12
lsl r3, r3, #0xe
bl ov01_021EFEC8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x3c
mov r1, #0
mov r2, #0x10
mov r3, #0xf
2021-06-26 22:28:06 +00:00
bl ov120_0225F6AC
ldr r0, [r4, #0x10]
ldr r3, [r5, #0xc]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
add r2, r1, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r1, #3
add r3, r2, #0
bl ScheduleSetBgPosText
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x10]
ldr r3, [r5, #0x24]
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
mov r2, #3
asr r3, r3, #0xc
bl ScheduleSetBgPosText
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r2, #0
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
add r3, r2, #0
bl ScheduleSetBgPosText
2021-06-26 22:28:06 +00:00
cmp r6, #0
beq _02260060
2021-06-27 18:48:56 +00:00
mov r1, #0x10
2021-06-26 22:28:06 +00:00
b _02260064
_02260060:
2021-06-27 18:48:56 +00:00
mov r1, #0xf
mvn r1, r1
2021-06-26 22:28:06 +00:00
_02260064:
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
add r2, r1, #0
add r3, r4, #4
bl ov01_021EFCF8
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0226011A
_02260078:
ldr r0, [r4, #4]
cmp r0, #0
beq _0226011A
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #4
bl ov01_021F12B4
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0226011A
_0226008C:
2021-06-27 18:48:56 +00:00
mov r0, #0xa
2021-06-26 22:28:06 +00:00
str r0, [r5, #0x48]
2021-06-27 18:48:56 +00:00
mov r0, #3
lsl r0, r0, #0xc
2021-06-26 22:28:06 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x19
lsl r0, r0, #4
2021-06-26 22:28:06 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
ldr r0, _02260194 ; =0x04000010
mov r1, #0
2021-06-26 22:28:06 +00:00
str r0, [sp, #8]
str r1, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
ldr r3, _02260198 ; =0x00000D52
add r0, r5, #0
mov r2, #0xbf
bl ov01_021F12E8
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #1
add r0, #0x4d
2021-06-26 22:28:06 +00:00
strb r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-09-01 12:08:31 +00:00
bl GX_EngineAToggleLayers
2021-06-27 18:48:56 +00:00
mov r0, #4
2021-06-26 22:28:06 +00:00
str r0, [r4]
_022600C4:
ldr r1, [r5, #0x48]
2021-06-27 18:48:56 +00:00
sub r0, r1, #1
2021-06-26 22:28:06 +00:00
str r0, [r5, #0x48]
cmp r1, #0
bne _0226011A
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0226011A
_022600D4:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #1
add r0, #0x4c
2021-06-26 22:28:06 +00:00
strb r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-09-01 12:08:31 +00:00
bl GX_EngineAToggleLayers
2021-06-27 18:48:56 +00:00
mov r0, #6
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0226011A
_022600E8:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x4e
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r0, #0
beq _0226011A
2021-06-27 18:48:56 +00:00
mov r0, #7
2021-06-26 22:28:06 +00:00
str r0, [r4]
b _0226011A
_022600F8:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-27 19:11:25 +00:00
bl sub_0200FC20
2021-06-26 22:28:06 +00:00
ldr r1, [r4, #0x14]
cmp r1, #0
beq _02260108
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-26 22:28:06 +00:00
str r0, [r1]
_02260108:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl ov01_021F12D0
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r7, #0
bl ov01_021EFCDC
2021-06-26 22:28:06 +00:00
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_0226011A:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x4c
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r0, #0
beq _02260142
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0xc
bl ov01_021EFF28
2021-06-27 18:48:56 +00:00
add r1, r5, #0
add r1, #0x4e
2021-06-26 22:28:06 +00:00
strb r0, [r1]
ldr r0, [r4, #0x10]
ldr r3, [r5, #0xc]
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r1, #1
mov r2, #3
asr r3, r3, #0xc
bl ScheduleSetBgPosText
2021-06-26 22:28:06 +00:00
_02260142:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x4d
2021-06-26 22:28:06 +00:00
ldrb r0, [r0]
cmp r0, #0
beq _02260182
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x24
bl ov01_021EFF28
2021-06-27 18:48:56 +00:00
add r1, r5, #0
add r1, #0x4f
2021-06-26 22:28:06 +00:00
strb r0, [r1]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r0, #0x3c
2021-06-26 22:28:06 +00:00
bl ov120_0225F6BC
ldr r0, [r4, #0x10]
ldr r3, [r5, #0x24]
2021-06-27 18:48:56 +00:00
mov r1, #3
2021-06-26 22:28:06 +00:00
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
add r2, r1, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
2021-06-26 22:28:06 +00:00
ldr r0, [r4, #0x10]
2021-06-27 18:48:56 +00:00
mov r3, #0x3c
2021-06-26 22:28:06 +00:00
ldrsh r3, [r5, r3]
ldr r0, [r0, #8]
2021-06-27 18:48:56 +00:00
mov r1, #3
mov r2, #0
bl ScheduleSetBgPosText
2021-06-26 22:28:06 +00:00
_02260182:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_02260188: .word 0xFFFFE0FF
_0226018C: .word ov120_022601BC
_02260190: .word ov120_022601D8
2021-06-27 18:48:56 +00:00
_02260194: .word 0x04000010
_02260198: .word 0x00000D52
2021-06-26 22:28:06 +00:00
thumb_func_end ov120_0225FF00
.rodata
_0226019C:
.byte 0x00, 0x00, 0x06, 0x00
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x75, 0x31, 0x4C, 0x4D
.byte 0x47, 0x82, 0x7B, 0x9F, 0x9D, 0x81, 0x9B, 0x4A, 0x75, 0x31, 0xFF, 0xFF
ov120_022601BC: ; 0x022601BC
.byte 0x00, 0x00, 0x00, 0x00
2021-06-26 22:28:06 +00:00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x01
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov120_022601D8: ; 0x022601D8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2021-06-26 22:28:06 +00:00
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov120_022601F4: ; 0x022601F4
.byte 0x0A, 0x00, 0x00, 0x00
ov120_022601F8: ; 0x022601F8
.byte 0x0B, 0x00, 0x00, 0x00
ov120_022601FC: ; 0x022601FC
.byte 0x0C, 0x00, 0x00, 0x00
ov120_02260200: ; 0x02260200
2021-06-26 22:28:06 +00:00
.byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00
.byte 0x06, 0x00, 0x07, 0x01, 0x0F, 0x01, 0x17, 0x01, 0x1F, 0x01, 0x27, 0x00, 0x26, 0x00, 0x25, 0x00
.byte 0x24, 0x00, 0x23, 0x00, 0x22, 0x00, 0x21, 0x01, 0x19, 0x01, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00
.byte 0x14, 0x00, 0x15, 0x00, 0x00, 0x00, 0x80, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
.byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x01, 0x00, 0x2E, 0x00, 0x02, 0x00, 0x2D, 0x00
.byte 0x03, 0x00, 0x2C, 0x00, 0x04, 0x00, 0x2B, 0x00, 0x05, 0x00, 0x2A, 0x00, 0x06, 0x00, 0x29, 0x00
.byte 0x07, 0x01, 0x28, 0x01, 0x0F, 0x01, 0x20, 0x01, 0x17, 0x01, 0x18, 0x01, 0x1F, 0x01, 0x10, 0x01
.byte 0x27, 0x00, 0x08, 0x00, 0x26, 0x00, 0x09, 0x00, 0x25, 0x00, 0x0A, 0x00, 0x24, 0x00, 0x0B, 0x00
.byte 0x23, 0x00, 0x0C, 0x00, 0x22, 0x00, 0x0D, 0x00, 0x21, 0x01, 0x0E, 0x01, 0x19, 0x01, 0x16, 0x01
.byte 0x11, 0x00, 0x1E, 0x00, 0x12, 0x00, 0x1D, 0x00, 0x13, 0x00, 0x1C, 0x00, 0x14, 0x00, 0x1B, 0x00
.byte 0x15, 0x00, 0x1A, 0x00
ov120_022602E4: ; 0x022602E4
.byte 0x01, 0x08, 0x03, 0x0A, 0x11, 0x18, 0x05, 0x0C, 0x13, 0x1A, 0x21, 0x28
.byte 0x07, 0x0E, 0x15, 0x1C, 0x23, 0x2A, 0x17, 0x1E, 0x25, 0x2C, 0x27, 0x2E
ov120_022602FC: ; 0x022602FC
.byte 0x07, 0x06, 0x05, 0x04
2021-06-26 22:28:06 +00:00
.byte 0x03, 0x02, 0x01, 0x00, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x17, 0x16, 0x15, 0x14
.byte 0x13, 0x12, 0x11, 0x10
ov120_02260314: ; 0x02260314
.byte 0x00, 0x02, 0x09, 0x10, 0x04, 0x0B, 0x12, 0x19, 0x20, 0x06, 0x0D, 0x14
.byte 0x1B, 0x22, 0x29, 0x0F, 0x16, 0x1D, 0x24, 0x2B, 0x1F, 0x26, 0x2D, 0x2F
ov120_0226032C: ; 0x0226032C
.byte 0x00, 0x01, 0x02, 0x03
2021-06-26 22:28:06 +00:00
.byte 0x04, 0x05, 0x06, 0x07, 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x10, 0x11, 0x12, 0x13
.byte 0x14, 0x15, 0x16, 0x17
2021-06-27 18:48:56 +00:00
; 0x02260344