Match remaining overlay5 files

This commit is contained in:
Nomura
2023-01-06 15:04:17 +01:00
parent f8a69d39d5
commit dc3e3ef4bc
12 changed files with 4827 additions and 5652 deletions

View File

@@ -1,124 +0,0 @@
.public sub_0200393C
.public sub_0200679C
.public sub_020067D0
.public sub_02006C24
.public sub_02006CA8
.public sub_02006F88
.public sub_020070E8
.public sub_02007130
.public sub_020071D0
.public sub_0200723C
.public sub_020093B4
.public sub_020095C4
.public sub_02009714
.public sub_02009754
.public sub_02009AA8
.public sub_02009B04
.public sub_02009BC4
.public sub_02009D4C
.public sub_02009D68
.public sub_0200A3DC
.public sub_0200A4E4
.public sub_0200A640
.public sub_0200A6DC
.public sub_0200D9E8
.public sub_0200DA3C
.public sub_0200DA58
.public sub_02014000
.public sub_02014014
.public sub_0201411C
.public sub_020141E4
.public sub_020144CC
.public sub_0201469C
.public sub_020146C0
.public sub_020146E4
.public sub_02014710
.public sub_02014784
.public sub_02014788
.public sub_02018144
.public sub_020181C4
.public sub_02018238
.public sub_02018368
.public sub_020183C4
.public sub_02019044
.public sub_02019060
.public sub_02019690
.public sub_020198C0
.public sub_02019E2C
.public sub_02019EBC
.public sub_0201AE78
.public sub_0201C3C0
.public sub_0201CED0
.public sub_0201FE94
.public sub_0201FF0C
.public sub_020206BC
.public sub_02021964
.public sub_02021B90
.public sub_02021F9C
.public GF_AssertFail
.public sub_02054A40
.public sub_02074470
.public sub_02076AAC
.public NNS_G2dGetImagePaletteLocation
.public NNS_G3dGlbSetBaseTrans
.public NNS_G3dGlbSetBaseScale
.public MTX_Identity22_
.public MTX_Identity33_
.public FX_Div
.public GXx_SetMasterBrightness_
.public GX_ResetBankForBG
.public G2x_SetBGyAffine_
.public GX_LoadOBJPltt
.public DC_FlushRange
.public MIi_CpuClearFast
.public MI_Copy36B
.public memset
.public _ull_mul
.public _s32_div_f
.public _u32_div_f
.public ov5_021D1434
.public ov5_021D143C
.public ov5_021D16F4
.public ov5_021D1718
.public ov5_021DDC88
.public ov5_021DDD7C
.public ov5_021DDD80
.public ov5_021DDD90
.public ov5_021DDE14
.public ov5_021DDE74
.public ov5_021DDEDC
.public ov5_021DDEFC
.public ov5_021DDF08
.public ov5_021DDF24
.public ov5_021DE028
.public ov5_021DE088
.public ov5_021DE0F0
.public ov5_021DE14C
.public ov5_021DE2AC
.public ov5_021DE2DC
.public ov5_021DE344
.public ov5_021DE374
.public ov5_021DE67C
.public ov5_021DE784
.public ov5_021DE79C
.public ov5_021DE7A4
.public ov5_021DE7FC
.public ov5_021DE89C
.public ov5_021DEA80
.public ov5_021DEA98
.public ov5_021DEAA0
.public ov5_021DEAC8
.public ov5_021DEB04
.public ov5_021DEDE8
.public ov5_021DEE24
.public ov5_021DEE50
.public ov5_021DEE84
.public ov5_021DEF74
.public ov5_021DF258
.public ov5_021DF28C
.public ov5_021DF30C
.public ov5_021DF3D4
.public ov5_021DF3E8
.public ov5_021DF414
.public ov5_021EF418
.public ov5_021EF43C

File diff suppressed because it is too large Load Diff

View File

@@ -1,39 +0,0 @@
.public sub_020211FC
.public sub_020212A8
.public sub_02021368
.public sub_02021380
.public sub_020213D4
.public sub_02062758
.public sub_020627B4
.public sub_02062910
.public sub_02062918
.public sub_02062924
.public sub_02063020
.public sub_02063030
.public sub_02063040
.public sub_02063050
.public sub_02063074
.public sub_020644A4
.public sub_02071598
.public sub_020715B4
.public sub_020715BC
.public sub_020715D4
.public sub_020715E4
.public ov5_021DF53C
.public ov5_021DF554
.public ov5_021DF55C
.public ov5_021DF574
.public ov5_021DF578
.public ov5_021DF72C
.public ov5_021DF74C
.public ov5_021DF84C
.public ov5_021DF864
.public ov5_021DF9D4
.public ov5_021DF9E0
.public ov5_021DFA08
.public ov5_021DFA14
.public ov5_021DFA30
.public ov5_021DFA3C
.public ov5_021DFA7C
.public ov5_021F2D4C
.public ov5_021F2E2C

View File

@@ -1,738 +0,0 @@
.include "macros/function.inc"
.include "overlay005/ov5_021F2D20.inc"
.text
thumb_func_start ov5_021F2D20
ov5_021F2D20: ; 0x021F2D20
push {r3, r4, r5, lr}
mov r2, #0
mov r1, #4
add r3, r2, #0
add r5, r0, #0
bl ov5_021DF53C
add r4, r0, #0
str r5, [r4, #0]
bl ov5_021F2D4C
add r0, r4, #0
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov5_021F2D20
thumb_func_start ov5_021F2D3C
ov5_021F2D3C: ; 0x021F2D3C
push {r4, lr}
add r4, r0, #0
bl ov5_021F2E2C
add r0, r4, #0
bl ov5_021DF554
pop {r4, pc}
thumb_func_end ov5_021F2D3C
thumb_func_start ov5_021F2D4C
ov5_021F2D4C: ; 0x021F2D4C
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldr r0, [r4, #0]
mov r1, #0
mov r2, #0x53
bl ov5_021DF9E0
ldr r0, [r4, #0]
mov r1, #5
mov r2, #0x54
bl ov5_021DF9E0
ldr r0, [r4, #0]
mov r1, #0
mov r2, #0xaa
bl ov5_021DFA14
ldr r0, [r4, #0]
mov r1, #3
mov r2, #0xab
bl ov5_021DFA14
ldr r0, [r4, #0]
mov r1, #4
mov r2, #0xac
bl ov5_021DFA14
ldr r0, [r4, #0]
mov r1, #5
mov r2, #0xad
bl ov5_021DFA14
mov r1, #0
ldr r0, [r4, #0]
add r2, r1, #0
mov r3, #1
bl ov5_021DFA3C
mov r2, #1
ldr r0, [r4, #0]
mov r1, #4
add r3, r2, #0
bl ov5_021DFA3C
ldr r0, [r4, #0]
mov r1, #5
mov r2, #2
mov r3, #1
bl ov5_021DFA3C
ldr r0, [r4, #0]
mov r1, #6
mov r2, #3
mov r3, #1
bl ov5_021DFA3C
mov r1, #0
str r1, [sp]
ldr r0, _021F2E1C ; =0x02200540
str r1, [sp, #4]
str r0, [sp, #8]
ldr r0, [r4, #0]
add r2, r1, #0
add r3, r1, #0
bl ov5_021DF864
mov r0, #4
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, _021F2E20 ; =0x02200558
mov r1, #5
str r0, [sp, #8]
ldr r0, [r4, #0]
add r2, r1, #0
mov r3, #3
bl ov5_021DF864
mov r2, #5
str r2, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, _021F2E24 ; =0x02200528
mov r1, #6
str r0, [sp, #8]
ldr r0, [r4, #0]
mov r3, #4
bl ov5_021DF864
mov r0, #6
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, _021F2E28 ; =0x02200570
mov r2, #5
str r0, [sp, #8]
ldr r0, [r4, #0]
mov r1, #7
add r3, r2, #0
bl ov5_021DF864
add sp, #0xc
pop {r3, r4, pc}
; .align 2, 0
_021F2E1C: .word Unk_ov5_02200540
_021F2E20: .word Unk_ov5_02200558
_021F2E24: .word Unk_ov5_02200528
_021F2E28: .word Unk_ov5_02200570
thumb_func_end ov5_021F2D4C
thumb_func_start ov5_021F2E2C
ov5_021F2E2C: ; 0x021F2E2C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0]
mov r1, #0
bl ov5_021DFA08
ldr r0, [r4, #0]
mov r1, #5
bl ov5_021DFA08
ldr r0, [r4, #0]
mov r1, #0
bl ov5_021DFA30
ldr r0, [r4, #0]
mov r1, #3
bl ov5_021DFA30
ldr r0, [r4, #0]
mov r1, #4
bl ov5_021DFA30
ldr r0, [r4, #0]
mov r1, #5
bl ov5_021DFA30
ldr r0, [r4, #0]
mov r1, #0
bl ov5_021DFA7C
ldr r0, [r4, #0]
mov r1, #4
bl ov5_021DFA7C
ldr r0, [r4, #0]
mov r1, #5
bl ov5_021DFA7C
ldr r0, [r4, #0]
mov r1, #6
bl ov5_021DFA7C
ldr r0, [r4, #0]
mov r1, #0
bl ov5_021DF9D4
ldr r0, [r4, #0]
mov r1, #5
bl ov5_021DF9D4
ldr r0, [r4, #0]
mov r1, #6
bl ov5_021DF9D4
ldr r0, [r4, #0]
mov r1, #7
bl ov5_021DF9D4
pop {r4, pc}
; .align 2, 0
thumb_func_end ov5_021F2E2C
thumb_func_start ov5_021F2EA4
ov5_021F2EA4: ; 0x021F2EA4
push {r4, r5, r6, lr}
sub sp, #0x30
add r5, r0, #0
add r6, r1, #0
bl ov5_021DF578
add r4, r0, #0
add r0, r5, #0
bl sub_02063020
str r0, [sp, #8]
add r0, r5, #0
bl sub_02063030
str r0, [sp, #0xc]
add r0, r5, #0
bl sub_02063040
str r0, [sp, #0x10]
add r0, r4, #0
str r4, [sp, #0x18]
bl ov5_021DF574
str r0, [sp, #0x14]
add r0, r4, #0
mov r1, #0x13
bl ov5_021DF55C
str r0, [sp, #0x1c]
add r0, r5, #0
add r1, sp, #0x24
str r5, [sp, #0x20]
bl sub_02063050
add r0, r5, #0
mov r1, #2
bl sub_02062758
add r1, sp, #8
str r1, [sp]
str r0, [sp, #4]
ldr r1, _021F2F08 ; =0x022004EC
add r0, r4, #0
add r2, sp, #0x24
add r3, r6, #0
bl ov5_021DF72C
add sp, #0x30
pop {r4, r5, r6, pc}
nop
_021F2F08: .word Unk_ov5_022004EC
thumb_func_end ov5_021F2EA4
thumb_func_start ov5_021F2F0C
ov5_021F2F0C: ; 0x021F2F0C
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
add r4, r1, #0
bl sub_020715BC
add r3, r0, #0
add r2, r4, #0
ldmia r3!, {r0, r1}
add r2, #0x18
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3, #0]
str r0, [r2, #0]
ldr r0, [r4, #0x30]
bl sub_02062924
str r0, [r4, #4]
ldr r0, [r4, #0x30]
bl sub_02062910
str r0, [r4, #8]
ldr r0, [r4, #0x30]
bl sub_02062918
str r0, [r4, #0xc]
ldr r0, [r4, #0x18]
lsl r0, r0, #0x10
str r0, [sp]
ldr r0, [r4, #0x20]
lsl r0, r0, #0x10
str r0, [sp, #8]
ldr r0, [r4, #0x30]
bl sub_02063074
str r0, [sp, #4]
ldr r0, [r4, #0x24]
add r1, sp, #0
bl sub_020644A4
str r0, [r4, #0x14]
mov r0, #2
ldr r1, [sp]
lsl r0, r0, #0xe
add r0, r1, r0
str r0, [sp]
mov r0, #0x12
ldr r1, [sp, #8]
lsl r0, r0, #0xc
add r0, r1, r0
str r0, [sp, #8]
add r0, r5, #0
add r1, sp, #0
bl sub_020715D4
ldr r0, [r4, #0x28]
mov r1, #0
add r2, sp, #0
bl ov5_021DF84C
str r0, [r4, #0x34]
add r0, r5, #0
bl sub_020715B4
cmp r0, #0
bne _021F2F9A
mov r0, #1
str r0, [r4, #0]
_021F2F9A:
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov5_021F2F0C
thumb_func_start ov5_021F2FA0
ov5_021F2FA0: ; 0x021F2FA0
ldr r3, _021F2FA8 ; =sub_020211FC
ldr r0, [r1, #0x34]
bx r3
nop
_021F2FA8: .word sub_020211FC
thumb_func_end ov5_021F2FA0
thumb_func_start ov5_021F2FAC
ov5_021F2FAC: ; 0x021F2FAC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r4, r1, #0
ldr r6, [r4, #0x30]
ldr r1, [r4, #4]
add r5, r0, #0
ldr r2, [r4, #8]
ldr r3, [r4, #0xc]
add r0, r6, #0
bl sub_020627B4
cmp r0, #0
bne _021F2FD0
add r0, r5, #0
bl ov5_021DF74C
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021F2FD0:
ldr r0, [r4, #0x14]
cmp r0, #0
bne _021F3008
add r0, r5, #0
add r1, sp, #0xc
bl sub_020715E4
ldr r0, [r4, #0x18]
add r1, sp, #0
lsl r0, r0, #0x10
str r0, [sp]
ldr r0, [r4, #0x20]
lsl r0, r0, #0x10
str r0, [sp, #8]
ldr r0, [sp, #0x10]
str r0, [sp, #4]
ldr r0, [r4, #0x24]
bl sub_020644A4
str r0, [r4, #0x14]
cmp r0, #1
bne _021F3008
ldr r0, [sp, #4]
add r1, sp, #0xc
str r0, [sp, #0x10]
add r0, r5, #0
bl sub_020715D4
_021F3008:
ldr r0, [r4, #0]
cmp r0, #0
beq _021F301A
cmp r0, #1
beq _021F303E
cmp r0, #2
beq _021F304C
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021F301A:
mov r1, #1
ldr r0, [r4, #0x34]
lsl r1, r1, #0xc
bl sub_02021368
ldr r0, [r4, #0x34]
bl sub_020213D4
asr r1, r0, #0xb
lsr r1, r1, #0x14
add r1, r0, r1
asr r0, r1, #0xc
cmp r0, #0xc
blt _021F3086
mov r0, #1
add sp, #0x18
str r0, [r4, #0]
pop {r3, r4, r5, r6, r7, pc}
_021F303E:
mov r1, #3
ldr r0, [r4, #0x34]
lsl r1, r1, #0xe
bl sub_02021380
mov r0, #2
str r0, [r4, #0]
_021F304C:
ldr r1, [r4, #4]
ldr r2, [r4, #8]
ldr r3, [r4, #0xc]
add r0, r6, #0
bl sub_020627B4
cmp r0, #0
bne _021F3066
add r0, r5, #0
bl ov5_021DF74C
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021F3066:
add r0, r6, #0
bl sub_02063020
add r7, r0, #0
add r0, r6, #0
bl sub_02063040
ldr r1, [r4, #0x18]
cmp r1, r7
bne _021F3080
ldr r1, [r4, #0x20]
cmp r1, r0
beq _021F3086
_021F3080:
add r0, r5, #0
bl ov5_021DF74C
_021F3086:
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov5_021F2FAC
thumb_func_start ov5_021F308C
ov5_021F308C: ; 0x021F308C
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x30]
ldr r1, [r4, #4]
ldr r2, [r4, #8]
ldr r3, [r4, #0xc]
bl sub_020627B4
cmp r0, #0
bne _021F30AE
add r0, r5, #0
bl ov5_021DF74C
add sp, #0xc
pop {r4, r5, pc}
_021F30AE:
add r0, r5, #0
add r1, sp, #0
bl sub_020715E4
ldr r0, [r4, #0x34]
add r1, sp, #0
bl sub_020212A8
add sp, #0xc
pop {r4, r5, pc}
; .align 2, 0
thumb_func_end ov5_021F308C
thumb_func_start ov5_021F30C4
ov5_021F30C4: ; 0x021F30C4
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
add r4, r1, #0
bl sub_020715BC
add r3, r0, #0
add r2, r4, #0
ldmia r3!, {r0, r1}
add r2, #8
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3, #0]
add r1, sp, #0
str r0, [r2, #0]
add r0, r5, #0
bl sub_020715E4
ldr r0, [r4, #0x14]
mov r1, #0
add r2, sp, #0
bl ov5_021DF84C
str r0, [r4, #0x1c]
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov5_021F30C4
thumb_func_start ov5_021F30FC
ov5_021F30FC: ; 0x021F30FC
ldr r3, _021F3104 ; =sub_020211FC
ldr r0, [r1, #0x1c]
bx r3
nop
_021F3104: .word sub_020211FC
thumb_func_end ov5_021F30FC
thumb_func_start ov5_021F3108
ov5_021F3108: ; 0x021F3108
push {r4, lr}
add r4, r1, #0
ldr r0, [r4, #0]
cmp r0, #0
beq _021F3116
cmp r0, #1
pop {r4, pc}
_021F3116:
mov r1, #1
ldr r0, [r4, #0x1c]
lsl r1, r1, #0xc
bl sub_02021368
ldr r0, [r4, #0x1c]
bl sub_020213D4
asr r1, r0, #0xb
lsr r1, r1, #0x14
add r1, r0, r1
asr r0, r1, #0xc
cmp r0, #0xc
blt _021F3138
mov r0, #1
str r0, [r4, #4]
str r0, [r4, #0]
_021F3138:
pop {r4, pc}
; .align 2, 0
thumb_func_end ov5_021F3108
thumb_func_start ov5_021F313C
ov5_021F313C: ; 0x021F313C
push {r3, r4, lr}
sub sp, #0xc
add r4, r1, #0
add r1, sp, #0
bl sub_020715E4
ldr r0, [r4, #0x1c]
add r1, sp, #0
bl sub_020212A8
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov5_021F313C
thumb_func_start ov5_021F3154
ov5_021F3154: ; 0x021F3154
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
ldr r6, [r0, #0x40]
add r5, r1, #0
add r4, r2, #0
str r0, [sp, #0x10]
add r0, r6, #0
mov r1, #0x13
add r7, r3, #0
str r5, [sp, #8]
str r4, [sp, #0xc]
str r6, [sp, #0x14]
bl ov5_021DF55C
str r0, [sp, #0x18]
mov r0, #2
lsl r1, r5, #0x10
lsl r0, r0, #0xe
add r0, r1, r0
str r0, [sp, #0x1c]
mov r0, #0
str r0, [sp, #0x20]
mov r0, #9
lsl r1, r4, #0x10
lsl r0, r0, #0xc
add r0, r1, r0
str r0, [sp, #0x24]
add r0, sp, #8
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r1, _021F31A4 ; =0x02200514
add r0, r6, #0
add r2, sp, #0x1c
add r3, r7, #0
bl ov5_021DF72C
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_021F31A4: .word Unk_ov5_02200514
thumb_func_end ov5_021F3154
thumb_func_start ov5_021F31A8
ov5_021F31A8: ; 0x021F31A8
push {r3, lr}
bl sub_02071598
ldr r0, [r0, #4]
pop {r3, pc}
; .align 2, 0
thumb_func_end ov5_021F31A8
thumb_func_start ov5_021F31B4
ov5_021F31B4: ; 0x021F31B4
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
add r4, r1, #0
bl sub_020715BC
add r3, r0, #0
add r2, r4, #0
ldmia r3!, {r0, r1}
add r2, #0x10
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3, #0]
str r0, [r2, #0]
add r0, r5, #0
bl sub_020715B4
str r0, [r4, #0xc]
ldr r0, [r4, #0x10]
lsl r1, r0, #0x10
mov r0, #2
lsl r0, r0, #0xe
add r0, r1, r0
str r0, [sp]
ldr r0, [r4, #0x14]
lsl r1, r0, #0x10
mov r0, #9
lsl r0, r0, #0xc
add r0, r1, r0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #4]
ldr r0, [r4, #0x18]
add r1, sp, #0
bl sub_020644A4
mov r0, #1
ldr r1, [sp, #4]
lsl r0, r0, #0xc
add r0, r1, r0
str r0, [sp, #4]
add r0, r5, #0
add r1, sp, #0
bl sub_020715D4
ldr r0, [r4, #0xc]
cmp r0, #0
beq _021F321E
cmp r0, #1
beq _021F3222
cmp r0, #2
b _021F3226
_021F321E:
mov r1, #5
b _021F3228
_021F3222:
mov r1, #6
b _021F3228
_021F3226:
mov r1, #7
_021F3228:
ldr r0, [r4, #0x1c]
add r2, sp, #0
bl ov5_021DF84C
str r0, [r4, #0x24]
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov5_021F31B4
thumb_func_start ov5_021F3238
ov5_021F3238: ; 0x021F3238
ldr r3, _021F3240 ; =sub_020211FC
ldr r0, [r1, #0x24]
bx r3
nop
_021F3240: .word sub_020211FC
thumb_func_end ov5_021F3238
thumb_func_start ov5_021F3244
ov5_021F3244: ; 0x021F3244
push {r4, lr}
add r4, r1, #0
ldr r0, [r4, #0]
cmp r0, #0
beq _021F3252
cmp r0, #1
pop {r4, pc}
_021F3252:
mov r1, #1
ldr r0, [r4, #0x24]
lsl r1, r1, #0xc
bl sub_02021368
cmp r0, #1
bne _021F326A
mov r0, #1
str r0, [r4, #4]
ldr r0, [r4, #0]
add r0, r0, #1
str r0, [r4, #0]
_021F326A:
pop {r4, pc}
thumb_func_end ov5_021F3244
thumb_func_start ov5_021F326C
ov5_021F326C: ; 0x021F326C
push {r3, r4, lr}
sub sp, #0xc
add r4, r1, #0
add r1, sp, #0
bl sub_020715E4
ldr r0, [r4, #0x24]
add r1, sp, #0
bl sub_020212A8
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov5_021F326C
.rodata
.global Unk_ov5_022004EC
Unk_ov5_022004EC: ; 0x022004EC
.incbin "incbin/overlay5_rodata.bin", 0x7BD8, 0x4
.word ov5_021F2F0C
.word ov5_021F2FA0
.word ov5_021F2FAC
.word ov5_021F308C
.global Unk_ov5_02200500
Unk_ov5_02200500: ; 0x02200500
.incbin "incbin/overlay5_rodata.bin", 0x7BEC, 0x7C00 - 0x7BEC
.global Unk_ov5_02200514
Unk_ov5_02200514: ; 0x02200514
.incbin "incbin/overlay5_rodata.bin", 0x7C00, 0x4
.word ov5_021F31B4
.word ov5_021F3238
.word ov5_021F3244
.word ov5_021F326C
.global Unk_ov5_02200528
Unk_ov5_02200528: ; 0x02200528
.incbin "incbin/overlay5_rodata.bin", 0x7C14, 0x7C2C - 0x7C14
.global Unk_ov5_02200540
Unk_ov5_02200540: ; 0x02200540
.incbin "incbin/overlay5_rodata.bin", 0x7C2C, 0x7C44 - 0x7C2C
.global Unk_ov5_02200558
Unk_ov5_02200558: ; 0x02200558
.incbin "incbin/overlay5_rodata.bin", 0x7C44, 0x7C5C - 0x7C44
.global Unk_ov5_02200570
Unk_ov5_02200570: ; 0x02200570
.incbin "incbin/overlay5_rodata.bin", 0x7C5C, 0x18

View File

@@ -1,49 +0,0 @@
.public sub_02005748
.public sub_020211FC
.public sub_020212A8
.public sub_02021320
.public sub_020213F4
.public GF_AssertFail
.public sub_02062764
.public sub_02062910
.public sub_02062918
.public sub_02062C0C
.public sub_02063050
.public sub_02071598
.public sub_020715B4
.public sub_020715BC
.public sub_020715D4
.public sub_020715E4
.public NNS_G3dMdlSetMdlFogEnableFlagAll
.public ov5_021DF53C
.public ov5_021DF554
.public ov5_021DF55C
.public ov5_021DF578
.public ov5_021DF72C
.public ov5_021DF84C
.public ov5_021DF864
.public ov5_021DF9D4
.public ov5_021DF9E0
.public ov5_021DFA08
.public ov5_021DFA14
.public ov5_021DFA30
.public ov5_021DFA3C
.public ov5_021DFA7C
.public ov5_021ECDA0
.public ov5_021F5A34
.public ov5_021F5A40
.public ov5_021F5A58
.public ov5_021F5A64
.public ov5_021F5A7C
.public ov5_021F5A90
.public ov5_021F5AB4
.public ov5_021F5B00
.public ov5_021F5B50
.public ov5_021F5B80
.public ov5_021F5BB0
.public ov5_021F5BC0
.public ov5_021F5BD0
.public ov5_021F5BE0
.public ov5_021F5BF0
.public ov5_021F5C04
.public ov5_021F5C18

View File

@@ -1,881 +0,0 @@
.include "macros/function.inc"
.include "overlay005/ov5_021F5A10.inc"
.text
thumb_func_start ov5_021F5A10
ov5_021F5A10: ; 0x021F5A10
push {r4, lr}
mov r2, #0
mov r1, #0xc
add r3, r2, #0
add r4, r0, #0
bl ov5_021DF53C
str r4, [r0, #8]
pop {r4, pc}
; .align 2, 0
thumb_func_end ov5_021F5A10
thumb_func_start ov5_021F5A24
ov5_021F5A24: ; 0x021F5A24
push {r4, lr}
add r4, r0, #0
bl ov5_021F5B50
add r0, r4, #0
bl ov5_021DF554
pop {r4, pc}
thumb_func_end ov5_021F5A24
thumb_func_start ov5_021F5A34
ov5_021F5A34: ; 0x021F5A34
mov r1, #0
ldrsh r1, [r0, r1]
add r1, r1, #1
strh r1, [r0]
bx lr
; .align 2, 0
thumb_func_end ov5_021F5A34
thumb_func_start ov5_021F5A40
ov5_021F5A40: ; 0x021F5A40
push {r3, lr}
mov r1, #0
ldrsh r2, [r0, r1]
sub r2, r2, #1
strh r2, [r0]
ldrsh r0, [r0, r1]
cmp r0, #0
bge _021F5A54
bl GF_AssertFail
_021F5A54:
pop {r3, pc}
; .align 2, 0
thumb_func_end ov5_021F5A40
thumb_func_start ov5_021F5A58
ov5_021F5A58: ; 0x021F5A58
mov r1, #2
ldrsh r1, [r0, r1]
add r1, r1, #1
strh r1, [r0, #2]
bx lr
; .align 2, 0
thumb_func_end ov5_021F5A58
thumb_func_start ov5_021F5A64
ov5_021F5A64: ; 0x021F5A64
push {r3, lr}
mov r1, #2
ldrsh r2, [r0, r1]
sub r2, r2, #1
strh r2, [r0, #2]
ldrsh r0, [r0, r1]
cmp r0, #0
bge _021F5A78
bl GF_AssertFail
_021F5A78:
pop {r3, pc}
; .align 2, 0
thumb_func_end ov5_021F5A64
thumb_func_start ov5_021F5A7C
ov5_021F5A7C: ; 0x021F5A7C
push {r3, lr}
cmp r1, #0
bne _021F5A88
bl ov5_021F5A34
pop {r3, pc}
_021F5A88:
bl ov5_021F5A58
pop {r3, pc}
; .align 2, 0
thumb_func_end ov5_021F5A7C
thumb_func_start ov5_021F5A90
ov5_021F5A90: ; 0x021F5A90
push {r3, lr}
cmp r1, #0
bne _021F5A9C
bl ov5_021F5A40
pop {r3, pc}
_021F5A9C:
bl ov5_021F5A64
pop {r3, pc}
; .align 2, 0
thumb_func_end ov5_021F5A90
thumb_func_start ov5_021F5AA4
ov5_021F5AA4: ; 0x021F5AA4
push {r4, lr}
ldr r0, [r0, #0x40]
add r4, r1, #0
mov r1, #0x14
bl ov5_021DF55C
strb r4, [r0, #6]
pop {r4, pc}
thumb_func_end ov5_021F5AA4
thumb_func_start ov5_021F5AB4
ov5_021F5AB4: ; 0x021F5AB4
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldrb r0, [r4, #4]
cmp r0, #0
bne _021F5AF8
mov r1, #1
strb r1, [r4, #4]
ldr r0, [r4, #8]
mov r2, #0x55
bl ov5_021DF9E0
ldr r0, [r4, #8]
mov r1, #1
mov r2, #0xaa
bl ov5_021DFA14
mov r1, #1
ldr r0, [r4, #8]
mov r2, #4
add r3, r1, #0
bl ov5_021DFA3C
mov r1, #1
str r1, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, _021F5AFC ; =0x02200BC0
add r2, r1, #0
str r0, [sp, #8]
ldr r0, [r4, #8]
add r3, r1, #0
bl ov5_021DF864
_021F5AF8:
add sp, #0xc
pop {r3, r4, pc}
; .align 2, 0
_021F5AFC: .word Unk_ov5_02200BC0
thumb_func_end ov5_021F5AB4
thumb_func_start ov5_021F5B00
ov5_021F5B00: ; 0x021F5B00
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
ldrb r0, [r4, #5]
cmp r0, #0
bne _021F5B48
mov r0, #1
strb r0, [r4, #5]
ldr r0, [r4, #8]
mov r1, #0xa
mov r2, #0x6c
bl ov5_021DF9E0
ldr r0, [r4, #8]
mov r1, #0xa
mov r2, #0xaa
bl ov5_021DFA14
ldr r0, [r4, #8]
mov r1, #0xb
mov r2, #0xd
mov r3, #1
bl ov5_021DFA3C
mov r0, #0xb
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, _021F5B4C ; =0x02200BC0
mov r2, #0xa
str r0, [sp, #8]
ldr r0, [r4, #8]
mov r1, #0xc
add r3, r2, #0
bl ov5_021DF864
_021F5B48:
add sp, #0xc
pop {r3, r4, pc}
; .align 2, 0
_021F5B4C: .word Unk_ov5_02200BC0
thumb_func_end ov5_021F5B00
thumb_func_start ov5_021F5B50
ov5_021F5B50: ; 0x021F5B50
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #4]
cmp r0, #1
bne _021F5B7E
mov r0, #0
strb r0, [r4, #4]
ldr r0, [r4, #8]
mov r1, #1
bl ov5_021DFA08
ldr r0, [r4, #8]
mov r1, #1
bl ov5_021DFA30
ldr r0, [r4, #8]
mov r1, #1
bl ov5_021DFA7C
ldr r0, [r4, #8]
mov r1, #1
bl ov5_021DF9D4
_021F5B7E:
pop {r4, pc}
thumb_func_end ov5_021F5B50
thumb_func_start ov5_021F5B80
ov5_021F5B80: ; 0x021F5B80
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #5]
cmp r0, #1
bne _021F5BAE
mov r0, #0
strb r0, [r4, #5]
ldr r0, [r4, #8]
mov r1, #0xa
bl ov5_021DFA08
ldr r0, [r4, #8]
mov r1, #0xa
bl ov5_021DFA30
ldr r0, [r4, #8]
mov r1, #0xb
bl ov5_021DFA7C
ldr r0, [r4, #8]
mov r1, #0xc
bl ov5_021DF9D4
_021F5BAE:
pop {r4, pc}
thumb_func_end ov5_021F5B80
thumb_func_start ov5_021F5BB0
ov5_021F5BB0: ; 0x021F5BB0
push {r3, lr}
mov r1, #0
ldrsh r1, [r0, r1]
cmp r1, #0
bne _021F5BBE
bl ov5_021F5AB4
_021F5BBE:
pop {r3, pc}
thumb_func_end ov5_021F5BB0
thumb_func_start ov5_021F5BC0
ov5_021F5BC0: ; 0x021F5BC0
push {r3, lr}
mov r1, #2
ldrsh r1, [r0, r1]
cmp r1, #0
bne _021F5BCE
bl ov5_021F5B00
_021F5BCE:
pop {r3, pc}
thumb_func_end ov5_021F5BC0
thumb_func_start ov5_021F5BD0
ov5_021F5BD0: ; 0x021F5BD0
push {r3, lr}
mov r1, #0
ldrsh r1, [r0, r1]
cmp r1, #0
bne _021F5BDE
bl ov5_021F5B50
_021F5BDE:
pop {r3, pc}
thumb_func_end ov5_021F5BD0
thumb_func_start ov5_021F5BE0
ov5_021F5BE0: ; 0x021F5BE0
push {r3, lr}
mov r1, #2
ldrsh r1, [r0, r1]
cmp r1, #0
bne _021F5BEE
bl ov5_021F5B80
_021F5BEE:
pop {r3, pc}
thumb_func_end ov5_021F5BE0
thumb_func_start ov5_021F5BF0
ov5_021F5BF0: ; 0x021F5BF0
push {r3, lr}
cmp r1, #0
bne _021F5BFC
bl ov5_021F5BB0
pop {r3, pc}
_021F5BFC:
bl ov5_021F5BC0
pop {r3, pc}
; .align 2, 0
thumb_func_end ov5_021F5BF0
thumb_func_start ov5_021F5C04
ov5_021F5C04: ; 0x021F5C04
push {r3, lr}
cmp r1, #0
bne _021F5C10
bl ov5_021F5BD0
pop {r3, pc}
_021F5C10:
bl ov5_021F5BE0
pop {r3, pc}
; .align 2, 0
thumb_func_end ov5_021F5C04
thumb_func_start ov5_021F5C18
ov5_021F5C18: ; 0x021F5C18
push {r4, r5, r6, lr}
sub sp, #8
ldr r6, _021F5C48 ; =0x02200B7C
add r4, r3, #0
ldmia r6!, {r5, r6}
add r3, sp, #0
str r5, [sp]
str r6, [sp, #4]
lsl r1, r1, #2
ldr r1, [r3, r1]
bl ov5_021DF84C
add r5, r0, #0
cmp r4, #1
bne _021F5C40
bl sub_020213F4
mov r1, #0
bl NNS_G3dMdlSetMdlFogEnableFlagAll
_021F5C40:
add r0, r5, #0
add sp, #8
pop {r4, r5, r6, pc}
nop
_021F5C48: .word Unk_ov5_02200B7C
thumb_func_end ov5_021F5C18
thumb_func_start ov5_021F5C4C
ov5_021F5C4C: ; 0x021F5C4C
push {r3, lr}
bl sub_02071598
ldr r0, [r0, #0x14]
pop {r3, pc}
; .align 2, 0
thumb_func_end ov5_021F5C4C
thumb_func_start ov5_021F5C58
ov5_021F5C58: ; 0x021F5C58
push {r3, lr}
bl sub_02071598
mov r1, #1
str r1, [r0, #0x10]
ldr r0, [r0, #0x40]
cmp r0, #0
beq _021F5C6E
mov r1, #0
bl sub_02021320
_021F5C6E:
pop {r3, pc}
thumb_func_end ov5_021F5C58
thumb_func_start ov5_021F5C70
ov5_021F5C70: ; 0x021F5C70
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
add r5, r0, #0
bl sub_020715BC
add r2, r4, #0
add r3, r0, #0
add r2, #0x30
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
mov r0, #6
lsl r0, r0, #0xc
str r0, [r4, #0x28]
ldr r0, [r4, #0x38]
ldr r1, [r4, #0x30]
bl ov5_021F5BF0
add r0, r5, #0
add r1, sp, #0
bl sub_020715E4
ldr r3, [r4, #0x38]
ldr r0, [r4, #0x34]
ldrb r3, [r3, #6]
ldr r1, [r4, #0x30]
add r2, sp, #0
bl ov5_021F5C18
str r0, [r4, #0x40]
ldr r0, [r4, #0x38]
ldr r1, [r4, #0x30]
bl ov5_021F5A7C
add r0, r5, #0
bl sub_020715B4
cmp r0, #1
bne _021F5CC8
ldr r0, _021F5CD0 ; =0x000005DD
bl sub_02005748
_021F5CC8:
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
nop
_021F5CD0: .word 0x000005DD
thumb_func_end ov5_021F5C70
thumb_func_start ov5_021F5CD4
ov5_021F5CD4: ; 0x021F5CD4
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
add r1, sp, #0
add r5, r0, #0
bl sub_020715E4
ldr r0, [r4, #0]
cmp r0, #0
beq _021F5CF0
cmp r0, #1
beq _021F5D12
cmp r0, #2
b _021F5D2A
_021F5CF0:
ldr r1, [r4, #0x1c]
ldr r0, [r4, #0x28]
add r0, r1, r0
str r0, [r4, #0x1c]
beq _021F5D06
mov r0, #2
ldr r1, [r4, #0x28]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [r4, #0x28]
b _021F5D2A
_021F5D06:
mov r0, #0
str r0, [r4, #0x28]
ldr r0, [r4, #0]
add r0, r0, #1
str r0, [r4, #0]
b _021F5D2A
_021F5D12:
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
cmp r0, #0x1e
blt _021F5D2A
ldr r0, [r4, #0]
add r0, r0, #1
str r0, [r4, #0]
mov r0, #0
str r0, [r4, #4]
mov r0, #1
str r0, [r4, #0x14]
_021F5D2A:
add r0, r5, #0
add r1, sp, #0
bl sub_020715D4
add sp, #0xc
pop {r4, r5, pc}
; .align 2, 0
thumb_func_end ov5_021F5CD4
thumb_func_start ov5_021F5D38
ov5_021F5D38: ; 0x021F5D38
push {r4, lr}
add r4, r1, #0
ldr r0, [r4, #0x40]
bl sub_020211FC
ldr r0, [r4, #0x38]
ldr r1, [r4, #0x30]
bl ov5_021F5A90
ldr r0, [r4, #0x38]
ldr r1, [r4, #0x30]
bl ov5_021F5C04
pop {r4, pc}
thumb_func_end ov5_021F5D38
thumb_func_start ov5_021F5D54
ov5_021F5D54: ; 0x021F5D54
push {r3, r4, lr}
sub sp, #0xc
add r4, r1, #0
ldr r1, [r4, #0x10]
cmp r1, #1
beq _021F5D86
add r1, sp, #0
bl sub_020715E4
ldr r1, [sp]
ldr r0, [r4, #0x18]
add r0, r1, r0
str r0, [sp]
ldr r1, [sp, #4]
ldr r0, [r4, #0x1c]
add r0, r1, r0
str r0, [sp, #4]
ldr r1, [sp, #8]
ldr r0, [r4, #0x20]
add r0, r1, r0
str r0, [sp, #8]
ldr r0, [r4, #0x40]
add r1, sp, #0
bl sub_020212A8
_021F5D86:
add sp, #0xc
pop {r3, r4, pc}
; .align 2, 0
thumb_func_end ov5_021F5D54
thumb_func_start ov5_021F5D8C
ov5_021F5D8C: ; 0x021F5D8C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r0, #0
add r6, r1, #0
str r2, [sp, #8]
add r7, r3, #0
bl ov5_021DF578
add r4, r0, #0
mov r1, #0x14
str r6, [sp, #0x18]
str r4, [sp, #0x1c]
bl ov5_021DF55C
str r0, [sp, #0x20]
add r0, r5, #0
add r1, sp, #0xc
str r5, [sp, #0x24]
bl sub_02063050
add r0, r5, #0
bl sub_02062C0C
add r2, r0, #1
cmp r7, #1
bne _021F5DC4
ldr r1, _021F5DDC ; =0x02200BAC
b _021F5DC6
_021F5DC4:
ldr r1, _021F5DE0 ; =0x02200B84
_021F5DC6:
add r0, sp, #0x18
str r0, [sp]
str r2, [sp, #4]
ldr r3, [sp, #8]
add r0, r4, #0
add r2, sp, #0xc
bl ov5_021DF72C
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_021F5DDC: .word Unk_ov5_02200BAC
_021F5DE0: .word Unk_ov5_02200B84
thumb_func_end ov5_021F5D8C
thumb_func_start ov5_021F5DE4
ov5_021F5DE4: ; 0x021F5DE4
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
add r5, r0, #0
bl sub_020715BC
add r2, r4, #0
add r3, r0, #0
add r2, #0x30
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r4, #0x3c]
bl sub_02062910
str r0, [r4, #8]
ldr r0, [r4, #0x3c]
bl sub_02062918
str r0, [r4, #0xc]
mov r0, #6
lsl r0, r0, #0xc
str r0, [r4, #0x28]
ldr r0, [r4, #0x38]
ldr r1, [r4, #0x30]
bl ov5_021F5BF0
add r0, r5, #0
add r1, sp, #0
bl sub_020715E4
ldr r3, [r4, #0x38]
ldr r0, [r4, #0x34]
ldrb r3, [r3, #6]
ldr r1, [r4, #0x30]
add r2, sp, #0
bl ov5_021F5C18
str r0, [r4, #0x40]
ldr r0, [r4, #0x38]
ldr r1, [r4, #0x30]
bl ov5_021F5A7C
add r0, r5, #0
bl sub_020715B4
cmp r0, #1
bne _021F5E4C
ldr r0, _021F5E54 ; =0x000005DD
bl sub_02005748
_021F5E4C:
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
nop
_021F5E54: .word 0x000005DD
thumb_func_end ov5_021F5DE4
thumb_func_start ov5_021F5E58
ov5_021F5E58: ; 0x021F5E58
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r4, r1, #0
ldr r6, [r4, #0x3c]
ldr r1, [r4, #8]
add r5, r0, #0
ldr r2, [r4, #0xc]
add r0, r6, #0
bl sub_02062764
cmp r0, #0
bne _021F5E74
bl GF_AssertFail
_021F5E74:
add r0, r6, #0
add r1, sp, #0
bl ov5_021ECDA0
mov r0, #2
ldr r1, [sp, #4]
lsl r0, r0, #0x10
add r1, r1, r0
str r1, [sp, #4]
ldr r2, [sp, #8]
lsr r1, r0, #5
add r1, r2, r1
str r1, [sp, #8]
ldr r1, [r4, #0]
cmp r1, #0
beq _021F5E9C
cmp r1, #1
beq _021F5EBC
cmp r1, #2
b _021F5ED4
_021F5E9C:
ldr r2, [r4, #0x1c]
ldr r1, [r4, #0x28]
add r1, r2, r1
str r1, [r4, #0x1c]
beq _021F5EB0
ldr r1, [r4, #0x28]
lsr r0, r0, #4
sub r0, r1, r0
str r0, [r4, #0x28]
b _021F5ED4
_021F5EB0:
mov r0, #0
str r0, [r4, #0x28]
ldr r0, [r4, #0]
add r0, r0, #1
str r0, [r4, #0]
b _021F5ED4
_021F5EBC:
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
cmp r0, #0x1e
blt _021F5ED4
ldr r0, [r4, #0]
add r0, r0, #1
str r0, [r4, #0]
mov r0, #0
str r0, [r4, #4]
mov r0, #1
str r0, [r4, #0x14]
_021F5ED4:
add r0, r5, #0
add r1, sp, #0
bl sub_020715D4
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end ov5_021F5E58
thumb_func_start ov5_021F5EE0
ov5_021F5EE0: ; 0x021F5EE0
push {r4, lr}
add r4, r1, #0
bl sub_020715BC
add r2, r4, #0
add r3, r0, #0
add r2, #0x30
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r4, #0x3c]
bl sub_02062910
str r0, [r4, #8]
ldr r0, [r4, #0x3c]
bl sub_02062918
str r0, [r4, #0xc]
mov r0, #6
lsl r0, r0, #0xc
str r0, [r4, #0x28]
mov r0, #1
str r0, [r4, #0x10]
ldr r0, [r4, #0x38]
ldr r1, [r4, #0x30]
bl ov5_021F5BF0
ldr r0, [r4, #0x38]
ldr r1, [r4, #0x30]
bl ov5_021F5A7C
mov r0, #1
pop {r4, pc}
thumb_func_end ov5_021F5EE0
thumb_func_start ov5_021F5F24
ov5_021F5F24: ; 0x021F5F24
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r4, r1, #0
ldr r6, [r4, #0x3c]
ldr r1, [r4, #8]
add r5, r0, #0
ldr r2, [r4, #0xc]
add r0, r6, #0
bl sub_02062764
cmp r0, #0
bne _021F5F40
bl GF_AssertFail
_021F5F40:
add r0, r6, #0
add r1, sp, #0
bl ov5_021ECDA0
mov r0, #2
ldr r1, [sp, #4]
lsl r0, r0, #0x10
add r1, r1, r0
str r1, [sp, #4]
ldr r1, [sp, #8]
lsr r0, r0, #5
add r0, r1, r0
str r0, [sp, #8]
ldr r0, [r4, #0]
cmp r0, #6
bhi _021F5FFA
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021F5F6C: ; jump table
.short _021F5F7A - _021F5F6C - 2 ; case 0
.short _021F5F7A - _021F5F6C - 2 ; case 1
.short _021F5F80 - _021F5F6C - 2 ; case 2
.short _021F5F9E - _021F5F6C - 2 ; case 3
.short _021F5FC0 - _021F5F6C - 2 ; case 4
.short _021F5FE2 - _021F5F6C - 2 ; case 5
.short _021F5FFA - _021F5F6C - 2 ; case 6
_021F5F7A:
add r0, r0, #1
str r0, [r4, #0]
b _021F5FFA
_021F5F80:
ldr r3, [r4, #0x38]
ldr r0, [r4, #0x34]
ldrb r3, [r3, #6]
ldr r1, [r4, #0x30]
add r2, sp, #0
bl ov5_021F5C18
str r0, [r4, #0x40]
mov r1, #0
bl sub_02021320
ldr r0, [r4, #0]
add r0, r0, #1
str r0, [r4, #0]
b _021F5FFA
_021F5F9E:
ldr r0, [r4, #0x40]
mov r1, #1
bl sub_02021320
mov r0, #0
str r0, [r4, #0x10]
add r0, r5, #0
bl sub_020715B4
cmp r0, #1
bne _021F5FBA
ldr r0, _021F6008 ; =0x000005DD
bl sub_02005748
_021F5FBA:
ldr r0, [r4, #0]
add r0, r0, #1
str r0, [r4, #0]
_021F5FC0:
ldr r1, [r4, #0x1c]
ldr r0, [r4, #0x28]
add r0, r1, r0
str r0, [r4, #0x1c]
beq _021F5FD6
mov r0, #2
ldr r1, [r4, #0x28]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [r4, #0x28]
b _021F5FFA
_021F5FD6:
mov r0, #0
str r0, [r4, #0x28]
ldr r0, [r4, #0]
add r0, r0, #1
str r0, [r4, #0]
b _021F5FFA
_021F5FE2:
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
cmp r0, #0x1e
blt _021F5FFA
ldr r0, [r4, #0]
add r0, r0, #1
str r0, [r4, #0]
mov r0, #0
str r0, [r4, #4]
mov r0, #1
str r0, [r4, #0x14]
_021F5FFA:
add r0, r5, #0
add r1, sp, #0
bl sub_020715D4
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_021F6008: .word 0x000005DD
thumb_func_end ov5_021F5F24
.rodata
.global Unk_ov5_02200B7C
Unk_ov5_02200B7C: ; 0x02200B7C
.incbin "incbin/overlay5_rodata.bin", 0x8268, 0x8270 - 0x8268
.global Unk_ov5_02200B84
Unk_ov5_02200B84: ; 0x02200B84
.incbin "incbin/overlay5_rodata.bin", 0x8270, 0x4
.word ov5_021F5DE4
.word ov5_021F5D38
.word ov5_021F5E58
.word ov5_021F5D54
.global Unk_ov5_02200B98
Unk_ov5_02200B98: ; 0x02200B98
.incbin "incbin/overlay5_rodata.bin", 0x8284, 0x4
.word ov5_021F5C70
.word ov5_021F5D38
.word ov5_021F5CD4
.word ov5_021F5D54
.global Unk_ov5_02200BAC
Unk_ov5_02200BAC: ; 0x02200BAC
.incbin "incbin/overlay5_rodata.bin", 0x8298, 0x4
.word ov5_021F5EE0
.word ov5_021F5D38
.word ov5_021F5F24
.word ov5_021F5D54
.global Unk_ov5_02200BC0
Unk_ov5_02200BC0: ; 0x02200BC0
.incbin "incbin/overlay5_rodata.bin", 0x82AC, 0x18

View File

@@ -1,412 +0,0 @@
.include "macros/function.inc"
.extern ov5_021EBA0C
.extern ov5_021EC3F0
.extern ov5_021EBA34
.extern ov5_021EBA60
.extern ov5_021EBA8C
.extern sub_02067870
.extern sub_02067890
.extern sub_02067950
.extern sub_02067968
.extern sub_02067998
.extern ov5_021EBA0C
.extern ov5_021EBF50
.extern ov5_021EBA34
.extern ov5_021EBA60
.extern ov5_021EBA8C
.extern ov5_021ECA70
.extern ov5_021ECA90
.extern ov5_021ECABC
.extern ov5_021ECAC4
.extern ov5_021ECAF0
.extern ov5_021EBA0C
.extern ov5_021EC454
.extern ov5_021EBA34
.extern ov5_021EBA60
.extern ov5_021EBA8C
.extern ov5_021EC824
.extern ov5_021EC8EC
.extern ov5_021EC858
.extern ov5_021EC86C
.extern ov5_021EC898
.extern ov5_021EB2EC
.extern ov5_021EB398
.extern ov5_021EB314
.extern ov5_021EB328
.extern ov5_021EB354
.extern ov5_021EBA0C
.extern ov5_021EC4BC
.extern ov5_021EBA34
.extern ov5_021EBA60
.extern ov5_021EBA8C
.extern ov5_021EC734
.extern ov5_021EC75C
.extern ov5_021EC760
.extern ov5_021EC778
.extern ov5_021EC790
.extern ov5_021EBA0C
.extern ov5_021EC15C
.extern ov5_021EBA34
.extern ov5_021EBA60
.extern ov5_021EBA8C
.extern ov5_021EC938
.extern ov5_021EC9E8
.extern ov5_021EC95C
.extern ov5_021EC970
.extern ov5_021EC9A0
.extern ov5_021EB2EC
.extern ov5_021EB438
.extern ov5_021EB314
.extern ov5_021EB328
.extern ov5_021EB354
.extern ov5_021EC7B8
.extern ov5_021EC75C
.extern ov5_021EC760
.extern ov5_021EC778
.extern ov5_021EC7D0
.extern ov5_021EB7F8
.extern ov5_021EB8B8
.extern ov5_021EB834
.extern ov5_021EB848
.extern ov5_021EB874
.extern ov5_021EB2EC
.extern ov5_021EB944
.extern ov5_021EB314
.extern ov5_021EB328
.extern ov5_021EB354
.extern ov5_021EB2EC
.extern ov5_021EB720
.extern ov5_021EB314
.extern ov5_021EB328
.extern ov5_021EB354
.extern ov5_021EB2EC
.extern ov5_021EB40C
.extern ov5_021EB314
.extern ov5_021EB328
.extern ov5_021EB354
.extern ov5_021ECB34
.extern ov5_021ECB58
.extern ov5_021ECB78
.extern ov5_021ECAC4
.extern ov5_021ECAF0
.extern ov5_021EBA0C
.extern ov5_021EC5C0
.extern ov5_021EBA34
.extern ov5_021EBA60
.extern ov5_021EBA8C
.extern ov5_021EBA0C
.extern ov5_021EC554
.extern ov5_021EBA34
.extern ov5_021EBA60
.extern ov5_021EBA8C
.extern ov5_021EBA0C
.extern ov5_021EBAD0
.extern ov5_021EBA34
.extern ov5_021EBA60
.extern ov5_021EBA8C
.extern ov5_021ECE18
.extern ov5_021ECE30
.extern ov5_021ECE34
.extern ov5_021ECE38
.extern ov5_021ECE3C
.rodata
.global Unk_ov5_021FAF40
Unk_ov5_021FAF40: ; 0x021FAF40
.incbin "incbin/overlay5_rodata.bin", 0x262C, 0x2634 - 0x262C
.global Unk_ov5_021FAF48
Unk_ov5_021FAF48: ; 0x021FAF48
.incbin "incbin/overlay5_rodata.bin", 0x2634, 0x263C - 0x2634
.global Unk_ov5_021FAF50
Unk_ov5_021FAF50: ; 0x021FAF50
.incbin "incbin/overlay5_rodata.bin", 0x263C, 0x264C - 0x263C
.global Unk_ov5_021FAF60
Unk_ov5_021FAF60: ; 0x021FAF60
.word ov5_021EBA0C
.word ov5_021EC3F0
.word ov5_021EBA34
.word ov5_021EBA60
.word ov5_021EBA8C
.global Unk_ov5_021FAF74
Unk_ov5_021FAF74: ; 0x021FAF74
.word sub_02067870
.word sub_02067890
.word sub_02067950
.word sub_02067968
.word sub_02067998
.global Unk_ov5_021FAF88
Unk_ov5_021FAF88: ; 0x021FAF88
.word ov5_021EBA0C
.word ov5_021EBF50
.word ov5_021EBA34
.word ov5_021EBA60
.word ov5_021EBA8C
.global Unk_ov5_021FAF9C
Unk_ov5_021FAF9C: ; 0x021FAF9C
.word ov5_021ECA70
.word ov5_021ECA90
.word ov5_021ECABC
.word ov5_021ECAC4
.word ov5_021ECAF0
.global Unk_ov5_021FAFB0
Unk_ov5_021FAFB0: ; 0x021FAFB0
.word ov5_021EBA0C
.word ov5_021EC454
.word ov5_021EBA34
.word ov5_021EBA60
.word ov5_021EBA8C
.global Unk_ov5_021FAFC4
Unk_ov5_021FAFC4: ; 0x021FAFC4
.word ov5_021EC824
.word ov5_021EC8EC
.word ov5_021EC858
.word ov5_021EC86C
.word ov5_021EC898
.global Unk_ov5_021FAFD8
Unk_ov5_021FAFD8: ; 0x021FAFD8
.word ov5_021EB2EC
.word ov5_021EB398
.word ov5_021EB314
.word ov5_021EB328
.word ov5_021EB354
.global Unk_ov5_021FAFEC
Unk_ov5_021FAFEC: ; 0x021FAFEC
.word ov5_021EBA0C
.word ov5_021EC4BC
.word ov5_021EBA34
.word ov5_021EBA60
.word ov5_021EBA8C
.global Unk_ov5_021FB000
Unk_ov5_021FB000: ; 0x021FB000
.word ov5_021EC734
.word ov5_021EC75C
.word ov5_021EC760
.word ov5_021EC778
.word ov5_021EC790
.global Unk_ov5_021FB014
Unk_ov5_021FB014: ; 0x021FB014
.word ov5_021EBA0C
.word ov5_021EC15C
.word ov5_021EBA34
.word ov5_021EBA60
.word ov5_021EBA8C
.global Unk_ov5_021FB028
Unk_ov5_021FB028: ; 0x021FB028
.word ov5_021EC938
.word ov5_021EC9E8
.word ov5_021EC95C
.word ov5_021EC970
.word ov5_021EC9A0
.global Unk_ov5_021FB03C
Unk_ov5_021FB03C: ; 0x021FB03C
.word ov5_021EB2EC
.word ov5_021EB438
.word ov5_021EB314
.word ov5_021EB328
.word ov5_021EB354
.global Unk_ov5_021FB050
Unk_ov5_021FB050: ; 0x021FB050
.word ov5_021EC7B8
.word ov5_021EC75C
.word ov5_021EC760
.word ov5_021EC778
.word ov5_021EC7D0
.global Unk_ov5_021FB064
Unk_ov5_021FB064: ; 0x021FB064
.word ov5_021EB7F8
.word ov5_021EB8B8
.word ov5_021EB834
.word ov5_021EB848
.word ov5_021EB874
.global Unk_ov5_021FB078
Unk_ov5_021FB078: ; 0x021FB078
.word ov5_021EB2EC
.word ov5_021EB944
.word ov5_021EB314
.word ov5_021EB328
.word ov5_021EB354
.global Unk_ov5_021FB08C
Unk_ov5_021FB08C: ; 0x021FB08C
.word ov5_021EB2EC
.word ov5_021EB720
.word ov5_021EB314
.word ov5_021EB328
.word ov5_021EB354
.global Unk_ov5_021FB0A0
Unk_ov5_021FB0A0: ; 0x021FB0A0
.word ov5_021EB2EC
.word ov5_021EB40C
.word ov5_021EB314
.word ov5_021EB328
.word ov5_021EB354
.global Unk_ov5_021FB0B4
Unk_ov5_021FB0B4: ; 0x021FB0B4
.word ov5_021ECB34
.word ov5_021ECB58
.word ov5_021ECB78
.word ov5_021ECAC4
.word ov5_021ECAF0
.global Unk_ov5_021FB0C8
Unk_ov5_021FB0C8: ; 0x021FB0C8
.word ov5_021EBA0C
.word ov5_021EC5C0
.word ov5_021EBA34
.word ov5_021EBA60
.word ov5_021EBA8C
.global Unk_ov5_021FB0DC
Unk_ov5_021FB0DC: ; 0x021FB0DC
.word ov5_021EBA0C
.word ov5_021EC554
.word ov5_021EBA34
.word ov5_021EBA60
.word ov5_021EBA8C
.global Unk_ov5_021FB0F0
Unk_ov5_021FB0F0: ; 0x021FB0F0
.word ov5_021EBA0C
.word ov5_021EBAD0
.word ov5_021EBA34
.word ov5_021EBA60
.word ov5_021EBA8C
.global Unk_ov5_021FB104
Unk_ov5_021FB104: ; 0x021FB104
.incbin "incbin/overlay5_rodata.bin", 0x27F0, 0x2808 - 0x27F0
.global Unk_ov5_021FB11C
Unk_ov5_021FB11C: ; 0x021FB11C
.incbin "incbin/overlay5_rodata.bin", 0x2808, 0x2820 - 0x2808
.global Unk_ov5_021FB134
Unk_ov5_021FB134: ; 0x021FB134
.incbin "incbin/overlay5_rodata.bin", 0x2820, 0x2838 - 0x2820
.global Unk_ov5_021FB14C
Unk_ov5_021FB14C: ; 0x021FB14C
.incbin "incbin/overlay5_rodata.bin", 0x2838, 0x2850 - 0x2838
.global Unk_ov5_021FB164
Unk_ov5_021FB164: ; 0x021FB164
.incbin "incbin/overlay5_rodata.bin", 0x2850, 0x2868 - 0x2850
.global Unk_ov5_021FB17C
Unk_ov5_021FB17C: ; 0x021FB17C
.incbin "incbin/overlay5_rodata.bin", 0x2868, 0x2880 - 0x2868
.global Unk_ov5_021FB194
Unk_ov5_021FB194: ; 0x021FB194
.incbin "incbin/overlay5_rodata.bin", 0x2880, 0x2898 - 0x2880
.global Unk_ov5_021FB1AC
Unk_ov5_021FB1AC: ; 0x021FB1AC
.incbin "incbin/overlay5_rodata.bin", 0x2898, 0x28B0 - 0x2898
.global Unk_ov5_021FB1C4
Unk_ov5_021FB1C4: ; 0x021FB1C4
.incbin "incbin/overlay5_rodata.bin", 0x28B0, 0x28C8 - 0x28B0
.global Unk_ov5_021FB1DC
Unk_ov5_021FB1DC: ; 0x021FB1DC
.incbin "incbin/overlay5_rodata.bin", 0x28C8, 0x28EC - 0x28C8
.global Unk_ov5_021FB200
Unk_ov5_021FB200: ; 0x021FB200
.incbin "incbin/overlay5_rodata.bin", 0x28EC, 0x2910 - 0x28EC
.global Unk_ov5_021FB224
Unk_ov5_021FB224: ; 0x021FB224
.incbin "incbin/overlay5_rodata.bin", 0x2910, 0x2934 - 0x2910
.global Unk_ov5_021FB248
Unk_ov5_021FB248: ; 0x021FB248
.incbin "incbin/overlay5_rodata.bin", 0x2934, 0x2970 - 0x2934
.global Unk_ov5_021FB284
Unk_ov5_021FB284: ; 0x021FB284
.incbin "incbin/overlay5_rodata.bin", 0x2970, 0x29AC - 0x2970
.global Unk_ov5_021FB2C0
Unk_ov5_021FB2C0: ; 0x021FB2C0
.incbin "incbin/overlay5_rodata.bin", 0x29AC, 0x29E8 - 0x29AC
.global Unk_ov5_021FB2FC
Unk_ov5_021FB2FC: ; 0x021FB2FC
.incbin "incbin/overlay5_rodata.bin", 0x29E8, 0x2A24 - 0x29E8
.global Unk_ov5_021FB338
Unk_ov5_021FB338: ; 0x021FB338
.incbin "incbin/overlay5_rodata.bin", 0x2A24, 0x2A6C - 0x2A24
.global Unk_ov5_021FB380
Unk_ov5_021FB380: ; 0x021FB380
.incbin "incbin/overlay5_rodata.bin", 0x2A6C, 0x2AD8 - 0x2A6C
.global Unk_ov5_021FB3EC
Unk_ov5_021FB3EC: ; 0x021FB3EC
.incbin "incbin/overlay5_rodata.bin", 0x2AD8, 0x2B5C - 0x2AD8
.global Unk_ov5_021FB470
Unk_ov5_021FB470: ; 0x021FB470
.word ov5_021ECE18
.word ov5_021ECE30
.word ov5_021ECE34
.word ov5_021ECE38
.word ov5_021ECE3C
.global Unk_ov5_021FB484
Unk_ov5_021FB484: ; 0x021FB484
.incbin "incbin/overlay5_rodata.bin", 0x2B70, 0x2C08 - 0x2B70
.global Unk_ov5_021FB51C
Unk_ov5_021FB51C: ; 0x021FB51C
.incbin "incbin/overlay5_rodata.bin", 0x2C08, 0x2CA8 - 0x2C08
.global Unk_ov5_021FB5BC
Unk_ov5_021FB5BC: ; 0x021FB5BC
.incbin "incbin/overlay5_rodata.bin", 0x2CA8, 0x2D68 - 0x2CA8
.global Unk_ov5_021FB67C
Unk_ov5_021FB67C: ; 0x021FB67C
.incbin "incbin/overlay5_rodata.bin", 0x2D68, 0x3068 - 0x2D68
.global Unk_ov5_021FB97C
Unk_ov5_021FB97C: ; 0x021FB97C
.incbin "incbin/overlay5_rodata.bin", 0x3068, 0x3880 - 0x3068
.global Unk_ov5_021FC194
Unk_ov5_021FC194: ; 0x021FC194
.incbin "incbin/overlay5_rodata.bin", 0x3880, 0x40A0 - 0x3880
.global Unk_ov5_021FC9B4
Unk_ov5_021FC9B4: ; 0x021FC9B4
.incbin "incbin/overlay5_rodata.bin", 0x40A0, 0x4E68 - 0x40A0
.global Unk_ov5_021FD77C
Unk_ov5_021FD77C: ; 0x021FD77C
.incbin "incbin/overlay5_rodata.bin", 0x4E68, 0x1B90

View File

@@ -833,7 +833,7 @@ Overlay overlay5
Object src/overlay005/ov5_021DD42C.o
Object src/overlay005/ov5_021DD6FC.o
Object src/overlay005/ov5_021DDAE4.o
Object asm/overlay005/ov5_021DDBE8.o
Object src/overlay005/ov5_021DDBE8.o
Object src/overlay005/ov5_021DF440.o
Object src/overlay005/ov5_021DFB54.o
Object src/overlay005/ov5_021E1154.o
@@ -849,7 +849,7 @@ Overlay overlay5
Object src/overlay005/ov5_021EA714.o
Object src/overlay005/ov5_021EA874.o
Object src/overlay005/ov5_021EAFA4.o
Object asm/overlay005/ov5_021FAF40.o
Object src/overlay005/ov5_021FAF40.o
Object src/overlay005/ov5_021EB1A0.o
Object src/overlay005/ov5_021ECA70.o
Object src/overlay005/ov5_021ECC20.o
@@ -882,7 +882,7 @@ Overlay overlay5
Object src/overlay005/ov5_021F2850.o
Object src/overlay005/ov5_021F2A7C.o
Object src/overlay005/ov5_021F2BD0.o
Object asm/overlay005/ov5_021F2D20.o
Object src/overlay005/ov5_021F2D20.o
Object src/overlay005/ov5_021F3284.o
Object src/overlay005/ov5_021F348C.o
Object src/overlay005/ov5_021F37A8.o
@@ -901,7 +901,7 @@ Overlay overlay5
Object src/overlay005/ov5_021F55CC.o
Object src/overlay005/ov5_021F575C.o
Object src/overlay005/ov5_021F5894.o
Object asm/overlay005/ov5_021F5A10.o
Object src/overlay005/ov5_021F5A10.o
Object src/overlay005/ov5_021F600C.o
Object src/overlay005/ov5_021F61BC.o
Object src/overlay005/ov5_021F6454.o

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,511 @@
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_020216E0_decl.h"
#include "struct_decls/struct_02061AB4_decl.h"
#include "overlay005/struct_ov5_021DF47C_decl.h"
#include "overlay101/struct_ov101_021D5D90_decl.h"
#include "struct_defs/struct_020217F4.h"
#include "struct_defs/struct_0203CDB0.h"
#include "overlay101/struct_ov101_021D86B0.h"
#include "unk_02020AEC.h"
#include "unk_02061804.h"
#include "unk_02063400.h"
#include "unk_020711EC.h"
#include "overlay005/ov5_021DF440.h"
#include "overlay005/ov5_021F2D20.h"
typedef struct UnkStruct_ov5_021F2D20_t {
UnkStruct_ov5_021DF47C * unk_00;
} UnkStruct_ov5_021F2D20;
typedef struct {
int unk_00;
int unk_04;
int unk_08;
UnkStruct_0203CDB0 * unk_0C;
UnkStruct_ov5_021DF47C * unk_10;
UnkStruct_ov5_021F2D20 * unk_14;
UnkStruct_02061AB4 * unk_18;
} UnkStruct_021F2EA4;
typedef struct {
int unk_00;
int unk_04;
int unk_08;
int unk_0C;
int unk_10;
int unk_14;
UnkStruct_021F2EA4 unk_18;
UnkStruct_020216E0 * unk_34;
} UnkStruct_021F2FA0;
typedef struct {
int unk_00;
int unk_04;
UnkStruct_0203CDB0 * unk_08;
UnkStruct_ov5_021DF47C * unk_0C;
UnkStruct_ov5_021F2D20 * unk_10;
} UnkStruct_021F30C4;
typedef struct {
int unk_00;
int unk_04;
UnkStruct_021F30C4 unk_08;
UnkStruct_020216E0 * unk_1C;
} UnkStruct_021F30FC;
typedef struct {
int unk_00;
int unk_04;
UnkStruct_0203CDB0 * unk_08;
UnkStruct_ov5_021DF47C * unk_0C;
UnkStruct_ov5_021F2D20 * unk_10;
} UnkStruct_021F3154;
typedef struct {
int unk_00;
int unk_04;
int unk_08;
int unk_0C;
UnkStruct_021F3154 unk_10;
UnkStruct_020216E0 * unk_24;
} UnkStruct_021F31A8;
void include_unk_ov5_02200500(void);
static void ov5_021F2D4C(UnkStruct_ov5_021F2D20 * param0);
static void ov5_021F2E2C(UnkStruct_ov5_021F2D20 * param0);
static const UnkStruct_ov101_021D86B0 Unk_ov5_022004EC;
const UnkStruct_020217F4 Unk_ov5_02200540[];
const UnkStruct_020217F4 Unk_ov5_02200558[];
const UnkStruct_020217F4 Unk_ov5_02200528[];
const UnkStruct_020217F4 Unk_ov5_02200570[];
void * ov5_021F2D20 (UnkStruct_ov5_021DF47C * param0)
{
UnkStruct_ov5_021F2D20 * v0;
v0 = ov5_021DF53C(param0, (sizeof(UnkStruct_ov5_021F2D20)), 0, 0);
v0->unk_00 = param0;
ov5_021F2D4C(v0);
return v0;
}
void ov5_021F2D3C (void * param0)
{
UnkStruct_ov5_021F2D20 * v0 = param0;
ov5_021F2E2C(v0);
ov5_021DF554(v0);
}
static void ov5_021F2D4C (UnkStruct_ov5_021F2D20 * param0)
{
ov5_021DF9E0(param0->unk_00, 0, 83);
ov5_021DF9E0(param0->unk_00, 5, 84);
ov5_021DFA14(param0->unk_00, 0, 170);
ov5_021DFA14(param0->unk_00, 3, 171);
ov5_021DFA14(param0->unk_00, 4, 172);
ov5_021DFA14(param0->unk_00, 5, 173);
ov5_021DFA3C(param0->unk_00, 0, 0, 1);
ov5_021DFA3C(param0->unk_00, 4, 1, 1);
ov5_021DFA3C(param0->unk_00, 5, 2, 1);
ov5_021DFA3C(param0->unk_00, 6, 3, 1);
ov5_021DF864(param0->unk_00, 0, 0, 0, 0, 0, Unk_ov5_02200540);
ov5_021DF864(param0->unk_00, 5, 5, 3, 4, 0, Unk_ov5_02200558);
ov5_021DF864(param0->unk_00, 6, 5, 4, 5, 0, Unk_ov5_02200528);
ov5_021DF864(param0->unk_00, 7, 5, 5, 6, 0, Unk_ov5_02200570);
}
static void ov5_021F2E2C (UnkStruct_ov5_021F2D20 * param0)
{
ov5_021DFA08(param0->unk_00, 0);
ov5_021DFA08(param0->unk_00, 5);
ov5_021DFA30(param0->unk_00, 0);
ov5_021DFA30(param0->unk_00, 3);
ov5_021DFA30(param0->unk_00, 4);
ov5_021DFA30(param0->unk_00, 5);
ov5_021DFA7C(param0->unk_00, 0);
ov5_021DFA7C(param0->unk_00, 4);
ov5_021DFA7C(param0->unk_00, 5);
ov5_021DFA7C(param0->unk_00, 6);
ov5_021DF9D4(param0->unk_00, 0);
ov5_021DF9D4(param0->unk_00, 5);
ov5_021DF9D4(param0->unk_00, 6);
ov5_021DF9D4(param0->unk_00, 7);
}
void ov5_021F2EA4 (UnkStruct_02061AB4 * param0, int param1)
{
int v0;
VecFx32 v1;
UnkStruct_021F2EA4 v2;
UnkStruct_ov5_021DF47C * v3;
UnkStruct_ov101_021D5D90 * v4;
v3 = ov5_021DF578(param0);
v2.unk_00 = sub_02063020(param0);
v2.unk_04 = sub_02063030(param0);
v2.unk_08 = sub_02063040(param0);
v2.unk_10 = v3;
v2.unk_0C = ov5_021DF574(v3);
v2.unk_14 = ov5_021DF55C(v3, 19);
v2.unk_18 = param0;
sub_02063050(param0, &v1);
v0 = sub_02062758(param0, 2);
v4 = ov5_021DF72C(v3, &Unk_ov5_022004EC, &v1, param1, &v2, v0);
}
static int ov5_021F2F0C (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
int v0, v1;
VecFx32 v2;
UnkStruct_021F2FA0 * v3;
const UnkStruct_021F2EA4 * v4;
v3 = param1;
v4 = sub_020715BC(param0);
v3->unk_18 = *v4;
v3->unk_04 = sub_02062924(v3->unk_18.unk_18);
v3->unk_08 = sub_02062910(v3->unk_18.unk_18);
v3->unk_0C = sub_02062918(v3->unk_18.unk_18);
v2.x = (((v3->unk_18.unk_00) << 4) * FX32_ONE);
v2.z = (((v3->unk_18.unk_08) << 4) * FX32_ONE);
v2.y = sub_02063074(v3->unk_18.unk_18);
v3->unk_14 = sub_020644A4(v3->unk_18.unk_0C, &v2);
v2.x += ((((16 * FX32_ONE) >> 1)));
v2.z += ((((16 * FX32_ONE) >> 1)) + (FX32_ONE * 6) + (FX32_ONE * 4));
sub_020715D4(param0, &v2);
v3->unk_34 = ov5_021DF84C(v3->unk_18.unk_10, 0, &v2);
if (sub_020715B4(param0) == 0) {
v3->unk_00 = 1;
}
return 1;
}
static void ov5_021F2FA0 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
UnkStruct_021F2FA0 * v0;
v0 = param1;
sub_020211FC(v0->unk_34);
}
static void ov5_021F2FAC (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
int v0;
UnkStruct_021F2FA0 * v1;
UnkStruct_02061AB4 * v2;
v1 = param1;
v2 = v1->unk_18.unk_18;
if (sub_020627B4(v2, v1->unk_04, v1->unk_08, v1->unk_0C) == 0) {
ov5_021DF74C(param0);
return;
}
if (v1->unk_14 == 0) {
VecFx32 v3, v4;
sub_020715E4(param0, &v3);
v4.x = (((v1->unk_18.unk_00) << 4) * FX32_ONE);
v4.z = (((v1->unk_18.unk_08) << 4) * FX32_ONE);
v4.y = v3.y;
v1->unk_14 = sub_020644A4(v1->unk_18.unk_0C, &v4);
if (v1->unk_14 == 1) {
v3.y = v4.y;
sub_020715D4(param0, &v3);
}
}
switch (v1->unk_00) {
case 0:
sub_02021368(v1->unk_34, FX32_ONE);
v0 = sub_020213D4(v1->unk_34) / FX32_ONE;
if (v0 >= 12) {
v1->unk_00 = 1;
}
break;
case 1:
sub_02021380(v1->unk_34, (12 * FX32_ONE));
v1->unk_00 = 2;
case 2:
if (sub_020627B4(v2, v1->unk_04, v1->unk_08, v1->unk_0C) == 0) {
ov5_021DF74C(param0);
return;
}
{
int v5, v6;
v5 = sub_02063020(v2);
v6 = sub_02063040(v2);
if ((v1->unk_18.unk_00 != v5) || (v1->unk_18.unk_08 != v6)) {
ov5_021DF74C(param0);
return;
}
}
break;
}
}
static void ov5_021F308C (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
VecFx32 v0;
UnkStruct_021F2FA0 * v1;
UnkStruct_02061AB4 * v2;
v1 = param1;
v2 = v1->unk_18.unk_18;
if (sub_020627B4(v2, v1->unk_04, v1->unk_08, v1->unk_0C) == 0) {
ov5_021DF74C(param0);
return;
}
sub_020715E4(param0, &v0);
sub_020212A8(v1->unk_34, &v0);
}
static const UnkStruct_ov101_021D86B0 Unk_ov5_022004EC = {
(sizeof(UnkStruct_021F2FA0)),
ov5_021F2F0C,
ov5_021F2FA0,
ov5_021F2FAC,
ov5_021F308C
};
static const UnkStruct_020217F4 Unk_ov5_02200540[] = {
{0x0, 0xC, 0x0},
{0x0, 0x0, 0x2}
};
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200500;
void include_unk_ov5_02200500 (void)
{
int dummy = Unk_ov5_02200500.unk_00;
}
static int ov5_021F30C4 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
VecFx32 v0;
UnkStruct_021F30FC * v1;
const UnkStruct_021F30C4 * v2;
v1 = param1;
v2 = sub_020715BC(param0);
v1->unk_08 = *v2;
sub_020715E4(param0, &v0);
v1->unk_1C = ov5_021DF84C(v1->unk_08.unk_0C, 0, &v0);
return 1;
}
static void ov5_021F30FC (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
UnkStruct_021F30FC * v0;
v0 = param1;
sub_020211FC(v0->unk_1C);
}
static void ov5_021F3108 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
int v0;
UnkStruct_021F30FC * v1;
v1 = param1;
switch (v1->unk_00) {
case 0:
sub_02021368(v1->unk_1C, FX32_ONE);
v0 = sub_020213D4(v1->unk_1C) / FX32_ONE;
if (v0 >= 12) {
v1->unk_04 = 1;
v1->unk_00 = 1;
}
break;
case 1:
break;
}
}
static void ov5_021F313C (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
VecFx32 v0;
UnkStruct_021F30FC * v1;
v1 = param1;
sub_020715E4(param0, &v0);
sub_020212A8(v1->unk_1C, &v0);
}
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200500 = {
(sizeof(UnkStruct_021F30FC)),
ov5_021F30C4,
ov5_021F30FC,
ov5_021F3108,
ov5_021F313C
};
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200514;
static const UnkStruct_020217F4 Unk_ov5_02200558[] = {
{0x0, 0x28, 0x1},
{0x0, 0x0, 0x2}
};
static const UnkStruct_020217F4 Unk_ov5_02200528[] = {
{0x0, 0x18, 0x1},
{0x0, 0x0, 0x2}
};
static const UnkStruct_020217F4 Unk_ov5_02200570[] = {
{0x0, 0x28, 0x1},
{0x0, 0x0, 0x2}
};
UnkStruct_ov101_021D5D90 * ov5_021F3154 (UnkStruct_0203CDB0 * param0, int param1, int param2, int param3)
{
VecFx32 v0;
UnkStruct_021F3154 v1;
UnkStruct_ov5_021DF47C * v2;
UnkStruct_ov101_021D5D90 * v3;
v2 = param0->unk_40;
v1.unk_00 = param1;
v1.unk_04 = param2;
v1.unk_0C = v2;
v1.unk_08 = param0;
v1.unk_10 = ov5_021DF55C(v2, 19);
v0.x = (((param1) << 4) * FX32_ONE) + ((((16 * FX32_ONE) >> 1)));
v0.y = 0;
v0.z = (((param2) << 4) * FX32_ONE) + (((((16 * FX32_ONE) >> 1)) + (FX32_ONE * 6) + (FX32_ONE * 4)) / 2);
v3 = ov5_021DF72C(v2, &Unk_ov5_02200514, &v0, param3, &v1, 0xff);
return v3;
}
int ov5_021F31A8 (UnkStruct_ov101_021D5D90 * param0)
{
UnkStruct_021F31A8 * v0;
v0 = sub_02071598(param0);
return v0->unk_04;
}
static int ov5_021F31B4 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
int v0;
VecFx32 v1;
UnkStruct_021F31A8 * v2;
const UnkStruct_021F3154 * v3;
v2 = param1;
v3 = sub_020715BC(param0);
v2->unk_10 = *v3;
v2->unk_0C = sub_020715B4(param0);
v1.x = (((v2->unk_10.unk_00) << 4) * FX32_ONE) + ((((16 * FX32_ONE) >> 1)));
v1.z = (((v2->unk_10.unk_04) << 4) * FX32_ONE) + (((((16 * FX32_ONE) >> 1)) + (FX32_ONE * 6) + (FX32_ONE * 4)) / 2);
v1.y = 0;
sub_020644A4(v2->unk_10.unk_08, &v1);
v1.y += (FX32_ONE);
sub_020715D4(param0, &v1);
switch (v2->unk_0C) {
case 0:
v0 = 5;
break;
case 1:
v0 = 6;
break;
case 2:
default:
v0 = 7;
}
v2->unk_24 = ov5_021DF84C(v2->unk_10.unk_0C, v0, &v1);
return 1;
}
static void ov5_021F3238 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
UnkStruct_021F31A8 * v0;
v0 = param1;
sub_020211FC(v0->unk_24);
}
static void ov5_021F3244 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
int v0;
UnkStruct_021F31A8 * v1;
v1 = param1;
switch (v1->unk_00) {
case 0:
if (sub_02021368(v1->unk_24, FX32_ONE) == 1) {
v1->unk_04 = 1;
v1->unk_00++;
}
break;
case 1:
break;
}
}
static void ov5_021F326C (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
VecFx32 v0;
UnkStruct_021F31A8 * v1;
v1 = param1;
sub_020715E4(param0, &v0);
sub_020212A8(v1->unk_24, &v0);
}
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200514 = {
(sizeof(UnkStruct_021F31A8)),
ov5_021F31B4,
ov5_021F3238,
ov5_021F3244,
ov5_021F326C
};

View File

@@ -0,0 +1,567 @@
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_020216E0_decl.h"
#include "struct_decls/struct_02061AB4_decl.h"
#include "overlay005/struct_ov5_021DF47C_decl.h"
#include "overlay101/struct_ov101_021D5D90_decl.h"
#include "struct_defs/struct_020217F4.h"
#include "struct_defs/struct_0203CDB0.h"
#include "overlay101/struct_ov101_021D86B0.h"
#include "unk_02005474.h"
#include "unk_02020AEC.h"
#include "unk_02061804.h"
#include "unk_020711EC.h"
#include "overlay005/ov5_021DF440.h"
#include "overlay005/ov5_021ECC20.h"
#include "overlay005/ov5_021F5A10.h"
void include_unk_ov5_02200B98(void);
typedef struct {
s16 unk_00;
s16 unk_02;
u8 unk_04;
u8 unk_05;
u8 unk_06;
u8 unk_07;
UnkStruct_ov5_021DF47C * unk_08;
} UnkStruct_ov5_021F5A34;
typedef struct {
int unk_00;
UnkStruct_ov5_021DF47C * unk_04;
UnkStruct_ov5_021F5A34 * unk_08;
UnkStruct_02061AB4 * unk_0C;
} UnkStruct_ov5_021F5D8C;
typedef struct {
int unk_00;
int unk_04;
int unk_08;
int unk_0C;
int unk_10;
int unk_14;
VecFx32 unk_18;
VecFx32 unk_24;
UnkStruct_ov5_021F5D8C unk_30;
UnkStruct_020216E0 * unk_40;
} UnkStruct_ov5_021F5C4C;
static void ov5_021F5A34(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5A40(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5A58(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5A64(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5A7C(UnkStruct_ov5_021F5A34 * param0, int param1);
static void ov5_021F5A90(UnkStruct_ov5_021F5A34 * param0, int param1);
static void ov5_021F5AB4(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5B00(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5B50(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5B80(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5BB0(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5BC0(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5BD0(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5BE0(UnkStruct_ov5_021F5A34 * param0);
static void ov5_021F5BF0(UnkStruct_ov5_021F5A34 * param0, int param1);
static void ov5_021F5C04(UnkStruct_ov5_021F5A34 * param0, int param1);
static UnkStruct_020216E0 * ov5_021F5C18(UnkStruct_ov5_021DF47C * param0, int param1, VecFx32 * param2, u32 param3);
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200B98;
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200B84;
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200BAC;
const UnkStruct_020217F4 Unk_ov5_02200BC0[];
void * ov5_021F5A10 (UnkStruct_ov5_021DF47C * param0)
{
UnkStruct_ov5_021F5A34 * v0;
v0 = ov5_021DF53C(param0, (sizeof(UnkStruct_ov5_021F5A34)), 0, 0);
v0->unk_08 = param0;
return v0;
}
void ov5_021F5A24 (void * param0)
{
UnkStruct_ov5_021F5A34 * v0 = param0;
ov5_021F5B50(v0);
ov5_021DF554(v0);
}
static void ov5_021F5A34 (UnkStruct_ov5_021F5A34 * param0)
{
param0->unk_00++;
}
static void ov5_021F5A40 (UnkStruct_ov5_021F5A34 * param0)
{
param0->unk_00--;
GF_ASSERT(param0->unk_00 >= 0);
}
static void ov5_021F5A58 (UnkStruct_ov5_021F5A34 * param0)
{
param0->unk_02++;
}
static void ov5_021F5A64 (UnkStruct_ov5_021F5A34 * param0)
{
param0->unk_02--;
GF_ASSERT(param0->unk_02 >= 0);
}
static void ov5_021F5A7C (UnkStruct_ov5_021F5A34 * param0, int param1)
{
if (param1 == 0) {
ov5_021F5A34(param0);
} else {
ov5_021F5A58(param0);
}
}
static void ov5_021F5A90 (UnkStruct_ov5_021F5A34 * param0, int param1)
{
if (param1 == 0) {
ov5_021F5A40(param0);
} else {
ov5_021F5A64(param0);
}
}
void ov5_021F5AA4 (UnkStruct_0203CDB0 * param0, BOOL param1)
{
UnkStruct_ov5_021F5A34 * v0 = ov5_021DF55C(param0->unk_40, 20);
v0->unk_06 = (u8)param1;
}
static void ov5_021F5AB4 (UnkStruct_ov5_021F5A34 * param0)
{
if (param0->unk_04 == 0) {
param0->unk_04 = 1;
ov5_021DF9E0(param0->unk_08, 1, 85);
ov5_021DFA14(param0->unk_08, 1, 170);
ov5_021DFA3C(param0->unk_08, 1, 4, 1);
ov5_021DF864(param0->unk_08, 1, 1, 1, 1, 0, Unk_ov5_02200BC0);
}
}
static void ov5_021F5B00 (UnkStruct_ov5_021F5A34 * param0)
{
if (param0->unk_05 == 0) {
param0->unk_05 = 1;
ov5_021DF9E0(param0->unk_08, 10, 108);
ov5_021DFA14(param0->unk_08, 10, 170);
ov5_021DFA3C(param0->unk_08, 11, 13, 1);
ov5_021DF864(param0->unk_08, 12, 10, 10, 11, 0, Unk_ov5_02200BC0);
}
}
static void ov5_021F5B50 (UnkStruct_ov5_021F5A34 * param0)
{
if (param0->unk_04 == 1) {
param0->unk_04 = 0;
ov5_021DFA08(param0->unk_08, 1);
ov5_021DFA30(param0->unk_08, 1);
ov5_021DFA7C(param0->unk_08, 1);
ov5_021DF9D4(param0->unk_08, 1);
}
}
static void ov5_021F5B80 (UnkStruct_ov5_021F5A34 * param0)
{
if (param0->unk_05 == 1) {
param0->unk_05 = 0;
ov5_021DFA08(param0->unk_08, 10);
ov5_021DFA30(param0->unk_08, 10);
ov5_021DFA7C(param0->unk_08, 11);
ov5_021DF9D4(param0->unk_08, 12);
}
}
static void ov5_021F5BB0 (UnkStruct_ov5_021F5A34 * param0)
{
if (param0->unk_00 == 0) {
ov5_021F5AB4(param0);
}
}
static void ov5_021F5BC0 (UnkStruct_ov5_021F5A34 * param0)
{
if (param0->unk_02 == 0) {
ov5_021F5B00(param0);
}
}
static void ov5_021F5BD0 (UnkStruct_ov5_021F5A34 * param0)
{
if (param0->unk_00 == 0) {
ov5_021F5B50(param0);
}
}
static void ov5_021F5BE0 (UnkStruct_ov5_021F5A34 * param0)
{
if (param0->unk_02 == 0) {
ov5_021F5B80(param0);
}
}
static void ov5_021F5BF0 (UnkStruct_ov5_021F5A34 * param0, int param1)
{
if (param1 == 0) {
ov5_021F5BB0(param0);
} else {
ov5_021F5BC0(param0);
}
}
static void ov5_021F5C04 (UnkStruct_ov5_021F5A34 * param0, int param1)
{
if (param1 == 0) {
ov5_021F5BD0(param0);
} else {
ov5_021F5BE0(param0);
}
}
static UnkStruct_020216E0 * ov5_021F5C18 (UnkStruct_ov5_021DF47C * param0, int param1, VecFx32 * param2, u32 param3)
{
int v0[2] = {1, 12};
UnkStruct_020216E0 * v1 = ov5_021DF84C(param0, v0[param1], param2);
if (param3 == 1) {
NNSG3dResMdl * v2 = sub_020213F4(v1);
NNS_G3dMdlSetMdlFogEnableFlagAll(v2, 0);
}
return v1;
}
int ov5_021F5C4C (UnkStruct_ov101_021D5D90 * param0)
{
UnkStruct_ov5_021F5C4C * v0;
v0 = sub_02071598(param0);
return v0->unk_14;
}
void ov5_021F5C58 (UnkStruct_ov101_021D5D90 * param0)
{
UnkStruct_ov5_021F5C4C * v0 = sub_02071598(param0);
v0->unk_10 = 1;
if (v0->unk_40 != NULL) {
sub_02021320(v0->unk_40, 0);
}
}
static int ov5_021F5C70 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
VecFx32 v0;
UnkStruct_ov5_021F5C4C * v1;
const UnkStruct_ov5_021F5D8C * v2;
v1 = param1;
v2 = sub_020715BC(param0);
v1->unk_30 = *v2;
v1->unk_24.y = ((FX32_ONE * 6));
ov5_021F5BF0(v1->unk_30.unk_08, v1->unk_30.unk_00);
sub_020715E4(param0, &v0);
v1->unk_40 = ov5_021F5C18(v1->unk_30.unk_04, v1->unk_30.unk_00, &v0, v1->unk_30.unk_08->unk_06);
ov5_021F5A7C(v1->unk_30.unk_08, v1->unk_30.unk_00);
if (sub_020715B4(param0) == 1) {
sub_02005748(1501);
}
return 1;
}
static void ov5_021F5CD4 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
VecFx32 v0;
UnkStruct_ov5_021F5C4C * v1 = param1;
sub_020715E4(param0, &v0);
switch (v1->unk_00) {
case 0:
v1->unk_18.y += v1->unk_24.y;
if (v1->unk_18.y) {
v1->unk_24.y -= FX32_ONE * 2;
} else {
v1->unk_24.y = 0;
v1->unk_00++;
}
break;
case 1:
v1->unk_04++;
if (v1->unk_04 >= 30) {
v1->unk_00++;
v1->unk_04 = 0;
v1->unk_14 = 1;
}
break;
case 2:
break;
}
sub_020715D4(param0, &v0);
}
static void ov5_021F5D38 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
UnkStruct_ov5_021F5C4C * v0;
v0 = param1;
sub_020211FC(v0->unk_40);
ov5_021F5A90(v0->unk_30.unk_08, v0->unk_30.unk_00);
ov5_021F5C04(v0->unk_30.unk_08, v0->unk_30.unk_00);
}
static void ov5_021F5D54 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
VecFx32 v0;
UnkStruct_ov5_021F5C4C * v1;
v1 = param1;
if (v1->unk_10 == 1) {
return;
}
sub_020715E4(param0, &v0);
v0.x += v1->unk_18.x;
v0.y += v1->unk_18.y;
v0.z += v1->unk_18.z;
sub_020212A8(v1->unk_40, &v0);
}
UnkStruct_ov101_021D5D90 * ov5_021F5D8C (UnkStruct_02061AB4 * param0, int param1, int param2, int param3)
{
int v0;
UnkStruct_ov5_021F5D8C v1;
UnkStruct_ov5_021DF47C * v2;
VecFx32 v3;
UnkStruct_ov101_021D5D90 * v4;
const UnkStruct_ov101_021D86B0 * v5;
v2 = ov5_021DF578(param0);
v1.unk_00 = param1;
v1.unk_04 = v2;
v1.unk_08 = ov5_021DF55C(v2, 20);
v1.unk_0C = param0;
sub_02063050(param0, &v3);
v0 = sub_02062C0C(param0) + 1;
if (param3 == 1) {
v5 = &Unk_ov5_02200BAC;
} else {
v5 = &Unk_ov5_02200B84;
}
v4 = ov5_021DF72C(v2, v5, &v3, param2, &v1, v0);
return v4;
}
static int ov5_021F5DE4 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
VecFx32 v0;
UnkStruct_ov5_021F5C4C * v1;
const UnkStruct_ov5_021F5D8C * v2;
v1 = param1;
v2 = sub_020715BC(param0);
v1->unk_30 = *v2;
v1->unk_08 = sub_02062910(v1->unk_30.unk_0C);
v1->unk_0C = sub_02062918(v1->unk_30.unk_0C);
v1->unk_24.y = ((FX32_ONE * 6));
ov5_021F5BF0(v1->unk_30.unk_08, v1->unk_30.unk_00);
sub_020715E4(param0, &v0);
v1->unk_40 = ov5_021F5C18(v1->unk_30.unk_04, v1->unk_30.unk_00, &v0, v1->unk_30.unk_08->unk_06);
ov5_021F5A7C(v1->unk_30.unk_08, v1->unk_30.unk_00);
if (sub_020715B4(param0) == 1) {
sub_02005748(1501);
}
return 1;
}
static void ov5_021F5E58 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
UnkStruct_ov5_021F5C4C * v0;
UnkStruct_02061AB4 * v1;
VecFx32 v2;
v0 = param1;
v1 = v0->unk_30.unk_0C;
GF_ASSERT(sub_02062764(v1, v0->unk_08, v0->unk_0C) != 0);
ov5_021ECDA0(v1, &v2);
v2.y += ((FX32_ONE * 32));
v2.z += ((FX32_ONE * 1));
switch (v0->unk_00) {
case 0:
v0->unk_18.y += v0->unk_24.y;
if (v0->unk_18.y) {
v0->unk_24.y -= FX32_ONE * 2;
} else {
v0->unk_24.y = 0;
v0->unk_00++;
}
break;
case 1:
v0->unk_04++;
if (v0->unk_04 >= 30) {
v0->unk_00++;
v0->unk_04 = 0;
v0->unk_14 = 1;
}
break;
case 2:
break;
}
sub_020715D4(param0, &v2);
}
static int ov5_021F5EE0 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
VecFx32 v0;
UnkStruct_ov5_021F5C4C * v1;
const UnkStruct_ov5_021F5D8C * v2;
v1 = param1;
v2 = sub_020715BC(param0);
v1->unk_30 = *v2;
v1->unk_08 = sub_02062910(v1->unk_30.unk_0C);
v1->unk_0C = sub_02062918(v1->unk_30.unk_0C);
v1->unk_24.y = ((FX32_ONE * 6));
v1->unk_10 = 1;
ov5_021F5BF0(v1->unk_30.unk_08, v1->unk_30.unk_00);
ov5_021F5A7C(v1->unk_30.unk_08, v1->unk_30.unk_00);
return 1;
}
static void ov5_021F5F24 (UnkStruct_ov101_021D5D90 * param0, void * param1)
{
UnkStruct_ov5_021F5C4C * v0;
UnkStruct_02061AB4 * v1;
VecFx32 v2;
v0 = param1;
v1 = v0->unk_30.unk_0C;
GF_ASSERT(sub_02062764(v1, v0->unk_08, v0->unk_0C) != 0);
ov5_021ECDA0(v1, &v2);
v2.y += ((FX32_ONE * 32));
v2.z += ((FX32_ONE * 1));
switch (v0->unk_00) {
case 0:
case 1:
v0->unk_00++;
break;
case 2:
v0->unk_40 = ov5_021F5C18(v0->unk_30.unk_04, v0->unk_30.unk_00, &v2, v0->unk_30.unk_08->unk_06);
sub_02021320(v0->unk_40, 0);
v0->unk_00++;
break;
case 3:
sub_02021320(v0->unk_40, 1);
v0->unk_10 = 0;
if (sub_020715B4(param0) == 1) {
sub_02005748(1501);
}
v0->unk_00++;
case 4:
v0->unk_18.y += v0->unk_24.y;
if (v0->unk_18.y) {
v0->unk_24.y -= FX32_ONE * 2;
} else {
v0->unk_24.y = 0;
v0->unk_00++;
}
break;
case 5:
v0->unk_04++;
if (v0->unk_04 >= 30) {
v0->unk_00++;
v0->unk_04 = 0;
v0->unk_14 = 1;
}
break;
case 6:
break;
}
sub_020715D4(param0, &v2);
}
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200B98 = {
(sizeof(UnkStruct_ov5_021F5C4C)),
ov5_021F5C70,
ov5_021F5D38,
ov5_021F5CD4,
ov5_021F5D54
};
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200B84 = {
(sizeof(UnkStruct_ov5_021F5C4C)),
ov5_021F5DE4,
ov5_021F5D38,
ov5_021F5E58,
ov5_021F5D54
};
static const UnkStruct_ov101_021D86B0 Unk_ov5_02200BAC = {
(sizeof(UnkStruct_ov5_021F5C4C)),
ov5_021F5EE0,
ov5_021F5D38,
ov5_021F5F24,
ov5_021F5D54
};
static const UnkStruct_020217F4 Unk_ov5_02200BC0[] = {
{0x0, 0x1, 0x0},
{0x0, 0x0, 0x2}
};
void include_unk_ov5_02200B98 (void)
{
int dummy = Unk_ov5_02200B98.unk_00;
}

File diff suppressed because it is too large Load Diff