Match files in overlay101

This commit is contained in:
Nomura
2023-01-01 19:40:55 +01:00
parent f055b569a2
commit 856f564f3c
18 changed files with 9099 additions and 18122 deletions

View File

@@ -1,125 +0,0 @@
.public sub_02002E98
.public sub_02004550
.public sub_020049F4
.public sub_02005474
.public sub_020055D0
.public sub_0200681C
.public sub_0200682C
.public sub_02006830
.public sub_02006840
.public sub_02006C24
.public sub_02006CA8
.public sub_02006D28
.public sub_02006D84
.public sub_0200A784
.public sub_0200A858
.public sub_0200A878
.public sub_0200B144
.public sub_0200B190
.public sub_0200B1B8
.public sub_0200B358
.public sub_0200B3F0
.public sub_0200D9E8
.public sub_0200DA58
.public sub_0200DAA4
.public sub_0200DD0C
.public sub_0200E060
.public sub_0200E084
.public sub_0200F174
.public sub_0200F2AC
.public sub_02017798
.public sub_020177A4
.public sub_02017FC8
.public sub_0201807C
.public sub_02018144
.public sub_02018184
.public sub_020181C4
.public sub_02018340
.public sub_02018368
.public sub_020183C4
.public sub_02019044
.public sub_02019448
.public sub_02019574
.public sub_0201958C
.public sub_02019690
.public sub_0201972C
.public sub_02019EBC
.public sub_0201A8D4
.public sub_0201A8FC
.public sub_0201A9A4
.public sub_0201ACF4
.public sub_0201ADA4
.public sub_0201C2B8
.public sub_0201D738
.public sub_0201DCAC
.public sub_0201E88C
.public sub_0201E958
.public sub_0201E994
.public sub_0201F834
.public sub_0201F8B4
.public sub_0201F8E4
.public sub_0201FE94
.public sub_0201FF00
.public sub_0201FF0C
.public sub_0201FF68
.public sub_0201FF74
.public GF_AssertFail
.public sub_02023790
.public sub_020237BC
.public sub_0202CF70
.public sub_020711EC
.public sub_0207121C
.public sub_020713D0
.public NNS_G2dGetUnpackedCharacterData
.public NNS_G2dGetUnpackedPaletteData
.public NNS_G2dGetUnpackedScreenData
.public NNS_G2dInitOamManagerModule
.public G2x_SetBlendAlpha_
.public memset
.public ov101_021D0F3C
.public ov101_021D0F6C
.public ov101_021D0F94
.public ov101_021D0F9C
.public ov101_021D107C
.public ov101_021D1098
.public ov101_021D10B8
.public ov101_021D11A4
.public ov101_021D11D0
.public ov101_021D121C
.public ov101_021D13C8
.public ov101_021D1458
.public ov101_021D150C
.public ov101_021D1544
.public ov101_021D1550
.public ov101_021D15A4
.public ov101_021D15BC
.public ov101_021D1868
.public ov101_021D186C
.public ov101_021D1884
.public ov101_021D1894
.public ov101_021D18B4
.public ov101_021D18C0
.public ov101_021D18E4
.public ov101_021D18F4
.public ov101_021D197C
.public ov101_021D1998
.public ov101_021D19BC
.public ov101_021D19D4
.public ov101_021D19E4
.public ov101_021D1A28
.public ov101_021D1A4C
.public ov101_021D1AAC
.public ov101_021D59AC
.public ov101_021D5AF0
.public ov101_021D5C28
.public ov101_021D7E48
.public ov101_021D7FB4
.public ov101_021D80D4
.public ov101_021D80E4
.public ov101_021D814C
.public ov101_021D8180
.public ov101_021D81B4
.public ov101_021D8220
.public ov101_021D8254
.public ov101_021D8288
.public ov101_021D82F0

File diff suppressed because it is too large Load Diff

View File

@@ -1,142 +0,0 @@
.public sub_02005748
.public sub_02005844
.public sub_0200D9E8
.public sub_0200DA58
.public sub_02018184
.public sub_020181C4
.public sub_0201972C
.public sub_02019E2C
.public sub_0201C3C0
.public sub_0201D2E8
.public GF_AssertFail
.public sub_02071330
.public sub_0207136C
.public sub_02071598
.public sub_020715BC
.public NNS_G2dGetUnpackedPaletteData
.public _s32_div_f
.public _u32_div_f
.public ov101_021D148C
.public ov101_021D14E4
.public ov101_021D1894
.public ov101_021D19E4
.public ov101_021D1A68
.public ov101_021D2B8C
.public ov101_021D2BC0
.public ov101_021D2BDC
.public ov101_021D2BF4
.public ov101_021D2C04
.public ov101_021D2C10
.public ov101_021D2D88
.public ov101_021D2DC0
.public ov101_021D2DE0
.public ov101_021D2E1C
.public ov101_021D2E58
.public ov101_021D2E94
.public ov101_021D2FAC
.public ov101_021D32EC
.public ov101_021D3394
.public ov101_021D3738
.public ov101_021D3780
.public ov101_021D3830
.public ov101_021D38E4
.public ov101_021D38FC
.public ov101_021D394C
.public ov101_021D3AF0
.public ov101_021D3B34
.public ov101_021D3B50
.public ov101_021D3C9C
.public ov101_021D3DD4
.public ov101_021D3F0C
.public ov101_021D3F58
.public ov101_021D3FA0
.public ov101_021D3FE8
.public ov101_021D4024
.public ov101_021D405C
.public ov101_021D406C
.public ov101_021D4084
.public ov101_021D40A8
.public ov101_021D41EC
.public ov101_021D4210
.public ov101_021D42D0
.public ov101_021D4370
.public ov101_021D4394
.public ov101_021D44A0
.public ov101_021D44C4
.public ov101_021D44E8
.public ov101_021D44FC
.public ov101_021D4550
.public ov101_021D45B0
.public ov101_021D45C4
.public ov101_021D45E8
.public ov101_021D45F8
.public ov101_021D460C
.public ov101_021D4614
.public ov101_021D4714
.public ov101_021D4764
.public ov101_021D4788
.public ov101_021D4798
.public ov101_021D47AC
.public ov101_021D47B4
.public ov101_021D47F0
.public ov101_021D4824
.public ov101_021D4D38
.public ov101_021D4EA4
.public ov101_021D4EA8
.public ov101_021D4EC0
.public ov101_021D4F18
.public ov101_021D4F40
.public ov101_021D4F58
.public ov101_021D4F78
.public ov101_021D4FB8
.public ov101_021D4FF8
.public ov101_021D5010
.public ov101_021D5028
.public ov101_021D505C
.public ov101_021D5200
.public ov101_021D5244
.public ov101_021D5268
.public ov101_021D53B0
.public ov101_021D53D4
.public ov101_021D53F8
.public ov101_021D542C
.public ov101_021D548C
.public ov101_021D54EC
.public ov101_021D55A4
.public ov101_021D55D4
.public ov101_021D55F8
.public ov101_021D5618
.public ov101_021D5660
.public ov101_021D5698
.public ov101_021D56D0
.public ov101_021D5708
.public ov101_021D5740
.public ov101_021D5778
.public ov101_021D57EC
.public ov101_021D5814
.public ov101_021D5848
.public ov101_021D5858
.public ov101_021D5880
.public ov101_021D58C0
.public ov101_021D58F4
.public ov101_021D5938
.public ov101_021D597C
.public ov101_021D5D58
.public ov101_021D5D90
.public ov101_021D5DA4
.public ov101_021D5DC4
.public ov101_021D6484
.public ov101_021D6764
.public ov101_021D679C
.public ov101_021D67B0
.public ov101_021D6DF0
.public ov101_021D6E1C
.public ov101_021D7228
.public ov101_021D72D4
.public ov101_021D73B4
.public ov101_021D7460
.public ov101_021D7550
.public ov101_021D76B4
.public ov101_021D77E4
.public ov101_021D79BC
.public ov101_021D7B08

File diff suppressed because it is too large Load Diff

View File

@@ -1,63 +0,0 @@
.public sub_02005748
.public sub_02005844
.public sub_0200DA04
.public sub_0200DA3C
.public sub_0200DA58
.public sub_0201D2A4
.public sub_02021C50
.public sub_02021C60
.public sub_02021C70
.public sub_02021C94
.public sub_02021CAC
.public sub_02021CC8
.public sub_02021CE4
.public sub_02021CF8
.public sub_02021D0C
.public sub_02021D6C
.public sub_02021DE0
.public sub_02021E24
.public sub_02021E2C
.public sub_02021E50
.public sub_02021FD0
.public GF_AssertFail
.public sub_02071330
.public sub_0207136C
.public sub_02071598
.public sub_020715B4
.public sub_020715BC
.public sub_020715D4
.public sub_020715E4
.public _s32_div_f
.public _u32_div_f
.public ov101_021D55A4
.public ov101_021D630C
.public ov101_021D63A4
.public ov101_021D63BC
.public ov101_021D63E8
.public ov101_021D6410
.public ov101_021D65A0
.public ov101_021D65CC
.public ov101_021D65F4
.public ov101_021D667C
.public ov101_021D66A8
.public ov101_021D66D0
.public ov101_021D6D10
.public ov101_021D6D3C
.public ov101_021D6D68
.public ov101_021D6E78
.public ov101_021D7D4C
.public ov101_021D7D6C
.public ov101_021D7D94
.public ov101_021D80E4
.public ov101_021D814C
.public ov101_021D8180
.public ov101_021D81B4
.public ov101_021D8220
.public ov101_021D8254
.public ov101_021D8288
.public ov101_021D82F0
.public ov101_021D8358
.public ov101_021D84A4
.public ov101_021D8544
.public ov101_021D8560
.public ov101_021D8574

File diff suppressed because it is too large Load Diff

View File

@@ -1,29 +0,0 @@
.public sub_020093B4
.public sub_020095C4
.public sub_02009714
.public sub_02009754
.public sub_02009A4C
.public sub_02009B04
.public sub_02009BC4
.public sub_02009D4C
.public sub_02009D68
.public sub_0200A3DC
.public sub_0200A4E4
.public sub_0200A5B4
.public sub_0200A640
.public sub_0200A6DC
.public sub_02018144
.public sub_020181C4
.public sub_0201DBEC
.public sub_0201DC3C
.public sub_0201DCC8
.public sub_0201DCE8
.public sub_0201DCF0
.public sub_02021964
.public sub_020219C0
.public sub_020219F8
.public sub_02021B90
.public sub_02021BD4
.public sub_02021D28
.public sub_02021D2C
.public GF_AssertFail

View File

@@ -1,998 +0,0 @@
.include "macros/function.inc"
.include "overlay101/ov101_021D7E48.inc"
.text
thumb_func_start ov101_021D7E48
ov101_021D7E48: ; 0x021D7E48
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r1, [sp, #4]
ldr r1, [sp, #0x28]
str r0, [sp]
str r1, [sp, #0x28]
mov r1, #0x57
lsl r1, r1, #2
str r2, [sp, #8]
add r7, r3, #0
ldr r5, [sp, #0x20]
ldr r6, [sp, #0x24]
bl sub_02018144
add r4, r0, #0
bne _021D7E6C
bl GF_AssertFail
_021D7E6C:
ldr r0, [sp]
add r1, r4, #0
str r0, [r4, #0]
strb r7, [r4, #4]
strb r5, [r4, #5]
ldr r0, [sp, #0x28]
strb r6, [r4, #6]
strb r0, [r4, #7]
ldr r0, [sp, #0x2c]
ldr r2, [sp]
strb r0, [r4, #8]
ldr r0, [sp, #0x30]
add r1, #0x10
strb r0, [r4, #9]
ldr r0, [sp, #0x34]
strb r0, [r4, #0xa]
ldr r0, [sp, #0x38]
strb r0, [r4, #0xb]
ldr r0, [sp, #4]
bl sub_020095C4
str r0, [r4, #0xc]
ldr r0, [sp, #8]
ldr r1, [sp]
bl sub_0201DCC8
mov r1, #0x4e
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp, #8]
ldr r1, [sp]
bl sub_0201DBEC
ldr r2, [sp]
add r0, r7, #0
mov r1, #0
bl sub_02009714
mov r1, #0x4f
lsl r1, r1, #2
str r0, [r4, r1]
ldr r2, [sp]
add r0, r5, #0
mov r1, #1
bl sub_02009714
mov r1, #5
lsl r1, r1, #6
str r0, [r4, r1]
ldr r2, [sp]
add r0, r6, #0
mov r1, #2
bl sub_02009714
mov r1, #0x51
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp, #0x28]
ldr r2, [sp]
mov r1, #3
bl sub_02009714
mov r1, #0x52
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp]
lsl r1, r7, #3
bl sub_02018144
mov r1, #0x53
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp]
lsl r1, r5, #3
bl sub_02018144
mov r1, #0x15
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [sp]
lsl r1, r6, #3
bl sub_02018144
mov r1, #0x55
lsl r1, r1, #2
str r0, [r4, r1]
ldr r1, [sp, #0x28]
ldr r0, [sp]
lsl r1, r1, #3
bl sub_02018144
mov r1, #0x56
lsl r1, r1, #2
str r0, [r4, r1]
mov r1, #0
cmp r7, #0
bls _021D7F48
bls _021D7F48
ldr r0, [sp, #0x2c]
add r2, r1, #0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
_021D7F38:
mov r3, #0x53
lsl r3, r3, #2
ldr r3, [r4, r3]
add r1, r1, #1
strh r0, [r3, r2]
add r2, #8
cmp r1, r7
blo _021D7F38
_021D7F48:
mov r3, #0
cmp r5, #0
bls _021D7F68
bls _021D7F68
ldr r0, [sp, #0x30]
mov r7, #0x15
lsl r0, r0, #0x10
add r2, r3, #0
lsr r1, r0, #0x10
lsl r7, r7, #4
_021D7F5C:
ldr r0, [r4, r7]
add r3, r3, #1
strh r1, [r0, r2]
add r2, #8
cmp r3, r5
blo _021D7F5C
_021D7F68:
mov r1, #0
cmp r6, #0
bls _021D7F88
bls _021D7F88
ldr r2, [sp, #0x34]
add r0, r1, #0
lsl r2, r2, #0x10
lsr r5, r2, #0x10
mov r2, #0x55
lsl r2, r2, #2
_021D7F7C:
ldr r3, [r4, r2]
add r1, r1, #1
strh r5, [r3, r0]
add r0, #8
cmp r1, r6
blo _021D7F7C
_021D7F88:
ldr r0, [sp, #0x28]
mov r1, #0
cmp r0, #0
bls _021D7FAC
bls _021D7FAC
ldr r2, [sp, #0x38]
mov r3, #0x56
lsl r2, r2, #0x10
add r0, r1, #0
lsr r5, r2, #0x10
lsl r3, r3, #2
_021D7F9E:
ldr r2, [r4, r3]
add r1, r1, #1
strh r5, [r2, r0]
ldr r2, [sp, #0x28]
add r0, #8
cmp r1, r2
blo _021D7F9E
_021D7FAC:
add r0, r4, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov101_021D7E48
thumb_func_start ov101_021D7FB4
ov101_021D7FB4: ; 0x021D7FB4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldrb r0, [r5, #4]
mov r6, #0
cmp r0, #0
bls _021D7FE2
mov r7, #0x53
add r4, r6, #0
lsl r7, r7, #2
_021D7FC6:
ldr r1, [r5, r7]
ldrb r2, [r5, #8]
add r0, r1, r4
ldrh r1, [r1, r4]
cmp r2, r1
beq _021D7FD8
ldr r0, [r0, #4]
bl sub_0200A4E4
_021D7FD8:
ldrb r0, [r5, #4]
add r6, r6, #1
add r4, #8
cmp r6, r0
blo _021D7FC6
_021D7FE2:
ldrb r0, [r5, #5]
mov r6, #0
cmp r0, #0
bls _021D800C
mov r7, #0x15
add r4, r6, #0
lsl r7, r7, #4
_021D7FF0:
ldr r1, [r5, r7]
ldrb r2, [r5, #9]
add r0, r1, r4
ldrh r1, [r1, r4]
cmp r2, r1
beq _021D8002
ldr r0, [r0, #4]
bl sub_0200A6DC
_021D8002:
ldrb r0, [r5, #5]
add r6, r6, #1
add r4, #8
cmp r6, r0
blo _021D7FF0
_021D800C:
ldrb r0, [r5, #6]
mov r6, #0
cmp r0, #0
bls _021D8036
mov r7, #0x55
add r4, r6, #0
lsl r7, r7, #2
_021D801A:
ldr r1, [r5, r7]
ldrb r2, [r5, #0xa]
add r0, r1, r4
ldrh r1, [r1, r4]
cmp r2, r1
beq _021D802C
ldr r0, [r0, #4]
bl sub_02009D4C
_021D802C:
ldrb r0, [r5, #6]
add r6, r6, #1
add r4, #8
cmp r6, r0
blo _021D801A
_021D8036:
ldrb r0, [r5, #7]
mov r6, #0
cmp r0, #0
bls _021D8060
mov r7, #0x56
add r4, r6, #0
lsl r7, r7, #2
_021D8044:
ldr r1, [r5, r7]
ldrb r2, [r5, #0xb]
add r0, r1, r4
ldrh r1, [r1, r4]
cmp r2, r1
beq _021D8056
ldr r0, [r0, #4]
bl sub_02009D4C
_021D8056:
ldrb r0, [r5, #7]
add r6, r6, #1
add r4, #8
cmp r6, r0
blo _021D8044
_021D8060:
mov r0, #0x4f
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_02009754
mov r0, #5
lsl r0, r0, #6
ldr r0, [r5, r0]
bl sub_02009754
mov r0, #0x51
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_02009754
mov r0, #0x52
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_02009754
mov r0, #0x53
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_020181C4
mov r0, #0x15
lsl r0, r0, #4
ldr r0, [r5, r0]
bl sub_020181C4
mov r0, #0x55
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_020181C4
mov r0, #0x56
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_020181C4
bl sub_0201DC3C
mov r0, #0x4e
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0201DCF0
ldr r0, [r5, #0xc]
bl sub_020219C0
ldr r0, [r5, #0xc]
bl sub_02021964
add r0, r5, #0
bl sub_020181C4
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov101_021D7FB4
thumb_func_start ov101_021D80D4
ov101_021D80D4: ; 0x021D80D4
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_020219F8
bl sub_0201DCE8
pop {r3, pc}
; .align 2, 0
thumb_func_end ov101_021D80D4
thumb_func_start ov101_021D80E4
ov101_021D80E4: ; 0x021D80E4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
ldrb r5, [r4, #4]
add r7, r1, #0
mov r1, #0
str r2, [sp, #0xc]
mov ip, r3
cmp r5, #0
bls _021D8144
mov r0, #0x53
lsl r0, r0, #2
ldr r6, [r4, r0]
ldrb r3, [r4, #8]
add r2, r6, #0
_021D8102:
ldrh r0, [r2]
cmp r3, r0
bne _021D813C
ldr r0, [sp, #0x28]
lsl r5, r1, #3
mov r1, #0x53
strh r0, [r6, r5]
lsl r1, r1, #2
ldr r2, [r4, r1]
mov r3, #0
add r2, r2, r5
strh r3, [r2, #2]
str r0, [sp]
str r7, [sp, #4]
ldr r0, [r4, #0]
sub r1, #0x10
str r0, [sp, #8]
ldr r0, [r4, r1]
ldr r1, [sp, #0xc]
mov r2, ip
bl sub_02009A4C
mov r1, #0x53
lsl r1, r1, #2
ldr r1, [r4, r1]
add sp, #0x10
add r1, r1, r5
str r0, [r1, #4]
pop {r3, r4, r5, r6, r7, pc}
_021D813C:
add r1, r1, #1
add r2, #8
cmp r1, r5
blo _021D8102
_021D8144:
bl GF_AssertFail
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov101_021D80E4
thumb_func_start ov101_021D814C
ov101_021D814C: ; 0x021D814C
push {r3, r4, r5, lr}
ldrb r2, [r0, #4]
mov r4, #0
cmp r2, #0
bls _021D8178
mov r3, #0x53
lsl r3, r3, #2
ldr r5, [r0, r3]
add r3, r5, #0
_021D815E:
ldrh r0, [r3]
cmp r1, r0
bne _021D8170
lsl r0, r4, #3
add r0, r5, r0
ldr r0, [r0, #4]
bl sub_0200A3DC
pop {r3, r4, r5, pc}
_021D8170:
add r4, r4, #1
add r3, #8
cmp r4, r2
blo _021D815E
_021D8178:
bl GF_AssertFail
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov101_021D814C
thumb_func_start ov101_021D8180
ov101_021D8180: ; 0x021D8180
push {r3, r4, r5, lr}
ldrb r2, [r0, #4]
mov r4, #0
cmp r2, #0
bls _021D81AC
mov r3, #0x53
lsl r3, r3, #2
ldr r5, [r0, r3]
add r3, r5, #0
_021D8192:
ldrh r0, [r3]
cmp r1, r0
bne _021D81A4
lsl r0, r4, #3
add r0, r5, r0
ldr r0, [r0, #4]
bl sub_02009D4C
pop {r3, r4, r5, pc}
_021D81A4:
add r4, r4, #1
add r3, #8
cmp r4, r2
blo _021D8192
_021D81AC:
bl GF_AssertFail
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov101_021D8180
thumb_func_start ov101_021D81B4
ov101_021D81B4: ; 0x021D81B4
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r4, r0, #0
ldrb r5, [r4, #4]
add r7, r1, #0
mov r1, #0
str r2, [sp, #0x10]
mov ip, r3
cmp r5, #0
bls _021D8218
mov r0, #0x15
lsl r0, r0, #4
ldr r6, [r4, r0]
ldrb r3, [r4, #9]
add r2, r6, #0
_021D81D2:
ldrh r0, [r2]
cmp r3, r0
bne _021D8210
ldr r0, [sp, #0x28]
lsl r5, r1, #3
mov r1, #0x15
strh r0, [r6, r5]
lsl r1, r1, #4
ldr r2, [r4, r1]
mov r3, #0
add r2, r2, r5
strh r3, [r2, #2]
str r0, [sp]
str r7, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [r4, #0]
sub r1, #0x10
str r0, [sp, #0xc]
ldr r0, [r4, r1]
ldr r1, [sp, #0x10]
mov r2, ip
bl sub_02009B04
mov r1, #0x15
lsl r1, r1, #4
ldr r1, [r4, r1]
add sp, #0x14
add r1, r1, r5
str r0, [r1, #4]
pop {r4, r5, r6, r7, pc}
_021D8210:
add r1, r1, #1
add r2, #8
cmp r1, r5
blo _021D81D2
_021D8218:
bl GF_AssertFail
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end ov101_021D81B4
thumb_func_start ov101_021D8220
ov101_021D8220: ; 0x021D8220
push {r3, r4, r5, lr}
ldrb r2, [r0, #5]
mov r4, #0
cmp r2, #0
bls _021D824C
mov r3, #0x15
lsl r3, r3, #4
ldr r5, [r0, r3]
add r3, r5, #0
_021D8232:
ldrh r0, [r3]
cmp r1, r0
bne _021D8244
lsl r0, r4, #3
add r0, r5, r0
ldr r0, [r0, #4]
bl sub_0200A640
pop {r3, r4, r5, pc}
_021D8244:
add r4, r4, #1
add r3, #8
cmp r4, r2
blo _021D8232
_021D824C:
bl GF_AssertFail
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov101_021D8220
thumb_func_start ov101_021D8254
ov101_021D8254: ; 0x021D8254
push {r3, r4, r5, lr}
ldrb r2, [r0, #5]
mov r4, #0
cmp r2, #0
bls _021D8280
mov r3, #0x15
lsl r3, r3, #4
ldr r5, [r0, r3]
add r3, r5, #0
_021D8266:
ldrh r0, [r3]
cmp r1, r0
bne _021D8278
lsl r0, r4, #3
add r0, r5, r0
ldr r0, [r0, #4]
bl sub_02009D4C
pop {r3, r4, r5, pc}
_021D8278:
add r4, r4, #1
add r3, #8
cmp r4, r2
blo _021D8266
_021D8280:
bl GF_AssertFail
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov101_021D8254
thumb_func_start ov101_021D8288
ov101_021D8288: ; 0x021D8288
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
ldrb r5, [r4, #4]
str r1, [sp, #0xc]
mov ip, r2
add r6, r3, #0
mov r1, #0
cmp r5, #0
bls _021D82E8
mov r0, #0x55
lsl r0, r0, #2
ldr r7, [r4, r0]
ldrb r3, [r4, #0xa]
add r2, r7, #0
_021D82A6:
ldrh r0, [r2]
cmp r3, r0
bne _021D82E0
lsl r5, r1, #3
mov r0, #0x55
strh r6, [r7, r5]
lsl r0, r0, #2
ldr r1, [r4, r0]
mov r3, #0
add r1, r1, r5
strh r3, [r1, #2]
str r6, [sp]
mov r1, #2
str r1, [sp, #4]
ldr r1, [r4, #0]
sub r0, #0x10
str r1, [sp, #8]
ldr r0, [r4, r0]
ldr r1, [sp, #0xc]
mov r2, ip
bl sub_02009BC4
mov r1, #0x55
lsl r1, r1, #2
ldr r1, [r4, r1]
add sp, #0x10
add r1, r1, r5
str r0, [r1, #4]
pop {r3, r4, r5, r6, r7, pc}
_021D82E0:
add r1, r1, #1
add r2, #8
cmp r1, r5
blo _021D82A6
_021D82E8:
bl GF_AssertFail
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov101_021D8288
thumb_func_start ov101_021D82F0
ov101_021D82F0: ; 0x021D82F0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
ldrb r5, [r4, #4]
str r1, [sp, #0xc]
mov ip, r2
add r6, r3, #0
mov r1, #0
cmp r5, #0
bls _021D8350
mov r0, #0x56
lsl r0, r0, #2
ldr r7, [r4, r0]
ldrb r3, [r4, #0xb]
add r2, r7, #0
_021D830E:
ldrh r0, [r2]
cmp r3, r0
bne _021D8348
lsl r5, r1, #3
mov r0, #0x56
strh r6, [r7, r5]
lsl r0, r0, #2
ldr r1, [r4, r0]
mov r3, #0
add r1, r1, r5
strh r3, [r1, #2]
str r6, [sp]
mov r1, #3
str r1, [sp, #4]
ldr r1, [r4, #0]
sub r0, #0x10
str r1, [sp, #8]
ldr r0, [r4, r0]
ldr r1, [sp, #0xc]
mov r2, ip
bl sub_02009BC4
mov r1, #0x56
lsl r1, r1, #2
ldr r1, [r4, r1]
add sp, #0x10
add r1, r1, r5
str r0, [r1, #4]
pop {r3, r4, r5, r6, r7, pc}
_021D8348:
add r1, r1, #1
add r2, #8
cmp r1, r5
blo _021D830E
_021D8350:
bl GF_AssertFail
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov101_021D82F0
thumb_func_start ov101_021D8358
ov101_021D8358: ; 0x021D8358
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r0, r1, #0
ldrb r1, [r4, #8]
add r7, r2, #0
str r3, [sp]
ldr r6, [sp, #0x20]
cmp r0, r1
beq _021D83B4
ldrb r5, [r4, #4]
mov r2, #0
cmp r5, #0
bls _021D83B4
mov r1, #0x53
lsl r1, r1, #2
ldr r3, [r4, r1]
mov ip, r3
_021D837C:
ldrh r1, [r3]
cmp r0, r1
bne _021D83AC
lsl r5, r2, #3
mov r0, ip
add r0, r0, r5
ldr r0, [r0, #4]
bl sub_0200A4E4
mov r1, #0x4f
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, #0x10
ldr r1, [r4, r1]
add r1, r1, r5
ldr r1, [r1, #4]
bl sub_02009D68
mov r0, #0x53
lsl r0, r0, #2
ldrb r1, [r4, #8]
ldr r0, [r4, r0]
strh r1, [r0, r5]
b _021D83B4
_021D83AC:
add r2, r2, #1
add r3, #8
cmp r2, r5
blo _021D837C
_021D83B4:
ldrb r0, [r4, #9]
cmp r7, r0
beq _021D8402
ldrb r0, [r4, #5]
mov r1, #0
cmp r0, #0
bls _021D8402
mov r2, #0x15
lsl r2, r2, #4
ldr r3, [r4, r2]
str r3, [sp, #4]
_021D83CA:
ldrh r2, [r3]
cmp r7, r2
bne _021D83FA
ldr r0, [sp, #4]
lsl r5, r1, #3
add r0, r0, r5
ldr r0, [r0, #4]
bl sub_0200A6DC
mov r1, #5
lsl r1, r1, #6
ldr r0, [r4, r1]
add r1, #0x10
ldr r1, [r4, r1]
add r1, r1, r5
ldr r1, [r1, #4]
bl sub_02009D68
mov r0, #0x15
lsl r0, r0, #4
ldrb r1, [r4, #9]
ldr r0, [r4, r0]
strh r1, [r0, r5]
b _021D8402
_021D83FA:
add r1, r1, #1
add r3, #8
cmp r1, r0
blo _021D83CA
_021D8402:
ldrb r1, [r4, #0xa]
ldr r0, [sp]
cmp r0, r1
beq _021D8452
ldrb r3, [r4, #6]
mov r5, #0
cmp r3, #0
bls _021D8452
mov r0, #0x55
lsl r0, r0, #2
ldr r7, [r4, r0]
add r2, r7, #0
_021D841A:
ldrh r1, [r2]
ldr r0, [sp]
cmp r0, r1
bne _021D844A
lsl r5, r5, #3
add r0, r7, r5
ldr r0, [r0, #4]
bl sub_02009D4C
mov r1, #0x51
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, #0x10
ldr r1, [r4, r1]
add r1, r1, r5
ldr r1, [r1, #4]
bl sub_02009D68
mov r0, #0x55
lsl r0, r0, #2
ldrb r1, [r4, #0xa]
ldr r0, [r4, r0]
strh r1, [r0, r5]
b _021D8452
_021D844A:
add r5, r5, #1
add r2, #8
cmp r5, r3
blo _021D841A
_021D8452:
ldrb r0, [r4, #0xb]
cmp r6, r0
beq _021D84A0
ldrb r1, [r4, #7]
mov r2, #0
cmp r1, #0
bls _021D84A0
mov r0, #0x56
lsl r0, r0, #2
ldr r0, [r4, r0]
add r5, r0, #0
_021D8468:
ldrh r3, [r5]
cmp r6, r3
bne _021D8498
lsl r5, r2, #3
add r0, r0, r5
ldr r0, [r0, #4]
bl sub_02009D4C
mov r1, #0x52
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, #0x10
ldr r1, [r4, r1]
add r1, r1, r5
ldr r1, [r1, #4]
bl sub_02009D68
mov r0, #0x56
lsl r0, r0, #2
ldrb r1, [r4, #0xb]
ldr r0, [r4, r0]
add sp, #8
strh r1, [r0, r5]
pop {r3, r4, r5, r6, r7, pc}
_021D8498:
add r2, r2, #1
add r5, #8
cmp r2, r1
blo _021D8468
_021D84A0:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov101_021D8358
thumb_func_start ov101_021D84A4
ov101_021D84A4: ; 0x021D84A4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x70
add r5, r0, #0
ldrb r0, [r5, #0xb]
add r4, r1, #0
ldr r1, [sp, #0x98]
add r6, r2, #0
add r7, r3, #0
cmp r1, r0
bne _021D84BE
mov r0, #0
mvn r0, r0
str r0, [sp, #0x98]
_021D84BE:
ldr r0, [sp, #0x98]
mov r1, #0x4f
str r0, [sp]
mov r0, #0
mvn r0, r0
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [sp, #0x88]
lsl r1, r1, #2
str r0, [sp, #0xc]
ldr r0, [sp, #0x9c]
ldr r2, [sp, #0x90]
str r0, [sp, #0x10]
ldr r0, [r5, r1]
ldr r3, [sp, #0x94]
str r0, [sp, #0x14]
add r0, r1, #4
ldr r0, [r5, r0]
str r0, [sp, #0x18]
add r0, r1, #0
add r0, #8
ldr r0, [r5, r0]
add r1, #0xc
str r0, [sp, #0x1c]
ldr r0, [r5, r1]
ldr r1, [sp, #0x8c]
str r0, [sp, #0x20]
mov r0, #0
str r0, [sp, #0x24]
str r0, [sp, #0x28]
add r0, sp, #0x4c
bl sub_020093B4
ldr r0, [sp, #0x88]
cmp r0, #1
bne _021D850E
ldr r0, [sp, #0x4c]
str r0, [r4, #8]
mov r0, #1
b _021D8510
_021D850E:
mov r0, #0
_021D8510:
str r0, [r4, #0]
ldr r0, [r5, #0xc]
add r2, sp, #0x34
str r0, [sp, #0x2c]
add r0, sp, #0x4c
str r0, [sp, #0x30]
ldmia r6!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r6, #0]
str r0, [r2, #0]
ldr r0, [sp, #0xa0]
str r7, [sp, #0x44]
str r0, [sp, #0x40]
ldr r0, [r5, #0]
str r0, [sp, #0x48]
add r0, sp, #0x2c
bl sub_02021B90
str r0, [r4, #4]
cmp r0, #0
bne _021D853E
bl GF_AssertFail
_021D853E:
add sp, #0x70
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov101_021D84A4
thumb_func_start ov101_021D8544
ov101_021D8544: ; 0x021D8544
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0]
cmp r0, #1
bne _021D8554
ldr r0, [r4, #8]
bl sub_0200A5B4
_021D8554:
ldr r0, [r4, #4]
bl sub_02021BD4
mov r0, #0
str r0, [r4, #4]
pop {r4, pc}
thumb_func_end ov101_021D8544
thumb_func_start ov101_021D8560
ov101_021D8560: ; 0x021D8560
push {r4, lr}
add r4, r1, #0
bl sub_02021D28
add r2, r0, #0
ldmia r2!, {r0, r1}
stmia r4!, {r0, r1}
ldr r0, [r2, #0]
str r0, [r4, #0]
pop {r4, pc}
thumb_func_end ov101_021D8560
thumb_func_start ov101_021D8574
ov101_021D8574: ; 0x021D8574
push {r4, lr}
add r4, r1, #0
bl sub_02021D2C
add r2, r0, #0
ldmia r2!, {r0, r1}
stmia r4!, {r0, r1}
ldr r0, [r2, #0]
str r0, [r4, #0]
pop {r4, pc}
thumb_func_end ov101_021D8574

View File

@@ -1,67 +0,0 @@
.include "macros/function.inc"
.rodata
.global Unk_ov101_021D94D8
Unk_ov101_021D94D8: ; 0x021D94D8
.incbin "incbin/overlay101_rodata.bin", 0xF50, 0xF68 - 0xF50
.global Unk_ov101_021D94F0
Unk_ov101_021D94F0: ; 0x021D94F0
.incbin "incbin/overlay101_rodata.bin", 0xF68, 0xF80 - 0xF68
.global Unk_ov101_021D9508
Unk_ov101_021D9508: ; 0x021D9508
.incbin "incbin/overlay101_rodata.bin", 0xF80, 0xF98 - 0xF80
.global Unk_ov101_021D9520
Unk_ov101_021D9520: ; 0x021D9520
.incbin "incbin/overlay101_rodata.bin", 0xF98, 0xFB0 - 0xF98
.global Unk_ov101_021D9538
Unk_ov101_021D9538: ; 0x021D9538
.incbin "incbin/overlay101_rodata.bin", 0xFB0, 0xFC8 - 0xFB0
.global Unk_ov101_021D9550
Unk_ov101_021D9550: ; 0x021D9550
.incbin "incbin/overlay101_rodata.bin", 0xFC8, 0xFE0 - 0xFC8
.global Unk_ov101_021D9568
Unk_ov101_021D9568: ; 0x021D9568
.incbin "incbin/overlay101_rodata.bin", 0xFE0, 0xFF8 - 0xFE0
.global Unk_ov101_021D9580
Unk_ov101_021D9580: ; 0x021D9580
.incbin "incbin/overlay101_rodata.bin", 0xFF8, 0x1010 - 0xFF8
.global Unk_ov101_021D9598
Unk_ov101_021D9598: ; 0x021D9598
.incbin "incbin/overlay101_rodata.bin", 0x1010, 0x1040 - 0x1010
.global Unk_ov101_021D95C8
Unk_ov101_021D95C8: ; 0x021D95C8
.incbin "incbin/overlay101_rodata.bin", 0x1040, 0x10A0 - 0x1040
.global Unk_ov101_021D9628
Unk_ov101_021D9628: ; 0x021D9628
.incbin "incbin/overlay101_rodata.bin", 0x10A0, 0x1100 - 0x10A0
.global Unk_ov101_021D9688
Unk_ov101_021D9688: ; 0x021D9688
.incbin "incbin/overlay101_rodata.bin", 0x1100, 0x11FC - 0x1100
.global Unk_ov101_021D9784
Unk_ov101_021D9784: ; 0x021D9784
.incbin "incbin/overlay101_rodata.bin", 0x11FC, 0x13AC - 0x11FC
.global Unk_ov101_021D9934
Unk_ov101_021D9934: ; 0x021D9934
.incbin "incbin/overlay101_rodata.bin", 0x13AC, 0x155C - 0x13AC
.global Unk_ov101_021D9AE4
Unk_ov101_021D9AE4: ; 0x021D9AE4
.incbin "incbin/overlay101_rodata.bin", 0x155C, 0x360

View File

@@ -1,57 +0,0 @@
.public sub_02002E7C
.public sub_0200681C
.public sub_0200682C
.public sub_02006830
.public sub_02006840
.public sub_02006E3C
.public sub_02006E60
.public sub_02006E84
.public sub_0200B144
.public sub_0200B190
.public sub_0200B1B8
.public sub_0200B358
.public sub_0200B3F0
.public sub_0200B498
.public sub_0200C388
.public sub_0200F174
.public sub_0200F2AC
.public sub_0200F344
.public sub_02017798
.public sub_020177BC
.public sub_02017DD4
.public sub_02017FC8
.public sub_0201807C
.public sub_020181C4
.public sub_02018340
.public sub_02018368
.public sub_020183C4
.public sub_02019044
.public sub_02019120
.public sub_02019184
.public sub_02019448
.public sub_02019690
.public sub_02019E2C
.public sub_02019EBC
.public sub_0201A8D4
.public sub_0201A8FC
.public sub_0201AE78
.public sub_0201C2B8
.public sub_0201D710
.public sub_0201D78C
.public sub_0201FE94
.public sub_0201FF00
.public sub_0201FF68
.public sub_0201FFD0
.public sub_02023790
.public sub_020237BC
.public sub_02025E38
.public memset
.public ov102_021D0F80
.public ov102_021D0F8C
.public ov102_021D10F8
.public ov102_021D1174
.public ov102_021D1204
.public ov102_021D1224
.public ov102_021D1230
.public ov102_021D1274
.public ov102_021D1420

View File

@@ -1,936 +0,0 @@
.include "macros/function.inc"
.include "overlay102/ov102_021D0D80.inc"
.text
thumb_func_start ov102_021D0D80
ov102_021D0D80: ; 0x021D0D80
push {r3, r4, r5, lr}
mov r2, #2
add r5, r0, #0
mov r0, #3
mov r1, #0x54
lsl r2, r2, #0x10
bl sub_02017FC8
add r0, r5, #0
mov r1, #0x44
mov r2, #0x54
bl sub_0200681C
mov r1, #0
mov r2, #0x44
add r4, r0, #0
bl memset
mov r0, #0x54
str r0, [r4, #0]
add r0, r5, #0
bl sub_02006840
ldr r1, [r0, #0]
str r1, [r4, #8]
ldr r0, [r0, #4]
str r0, [r4, #4]
ldr r0, [r4, #8]
bl sub_02025E38
str r0, [r4, #0xc]
mov r0, #0
add r1, r0, #0
bl sub_0200F344
mov r0, #1
mov r1, #0
bl sub_0200F344
mov r0, #0
add r1, r0, #0
bl sub_02017798
mov r0, #0
add r1, r0, #0
bl sub_020177BC
bl sub_0201FF00
bl sub_0201FF68
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2, #0]
ldr r0, _021D0E20 ; =0xFFFFE0FF
and r1, r0
str r1, [r2, #0]
ldr r2, _021D0E24 ; =0x04001000
ldr r1, [r2, #0]
and r0, r1
str r0, [r2, #0]
mov r0, #4
mov r1, #8
bl sub_02017DD4
add r0, r4, #0
bl ov102_021D0F8C
add r0, r4, #0
bl ov102_021D1174
ldr r0, _021D0E28 ; =ov102_021D0F80
add r1, r4, #0
bl sub_02017798
bl sub_0201FFD0
mov r0, #1
pop {r3, r4, r5, pc}
nop
_021D0E20: .word 0xFFFFE0FF
_021D0E24: .word 0x04001000
_021D0E28: .word ov102_021D0F80
thumb_func_end ov102_021D0D80
thumb_func_start ov102_021D0E2C
ov102_021D0E2C: ; 0x021D0E2C
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r1, #0
bl sub_0200682C
ldr r1, [r5, #0]
add r4, r0, #0
mov r6, #0
cmp r1, #5
bhi _021D0F40
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021D0E4C: ; jump table
.short _021D0E58 - _021D0E4C - 2 ; case 0
.short _021D0EB4 - _021D0E4C - 2 ; case 1
.short _021D0EC6 - _021D0E4C - 2 ; case 2
.short _021D0ED8 - _021D0E4C - 2 ; case 3
.short _021D0EFC - _021D0E4C - 2 ; case 4
.short _021D0F36 - _021D0E4C - 2 ; case 5
_021D0E58:
bl ov102_021D1224
add r0, r4, #0
bl ov102_021D1274
add r0, r4, #0
bl ov102_021D1420
add r0, r6, #0
mov r1, #1
bl sub_02019120
mov r0, #1
add r1, r0, #0
bl sub_02019120
mov r0, #3
mov r1, #1
bl sub_02019120
mov r0, #4
mov r1, #1
bl sub_02019120
mov r0, #5
mov r1, #1
bl sub_02019120
mov r0, #7
mov r1, #1
bl sub_02019120
mov r0, #6
mov r1, #1
str r0, [sp]
str r1, [sp, #4]
ldr r0, [r4, #0]
add r2, r1, #0
str r0, [sp, #8]
add r0, r6, #0
add r3, r0, #0
bl sub_0200F174
mov r0, #1
str r0, [r5, #0]
b _021D0F40
_021D0EB4:
bl sub_0200F2AC
cmp r0, #1
bne _021D0F40
add r0, r6, #0
str r0, [r4, #0x40]
mov r0, #2
str r0, [r5, #0]
b _021D0F40
_021D0EC6:
ldr r0, [r4, #0x40]
cmp r0, #0x3c
bge _021D0ED2
add r0, r0, #1
str r0, [r4, #0x40]
b _021D0F40
_021D0ED2:
mov r0, #3
str r0, [r5, #0]
b _021D0F40
_021D0ED8:
mov r2, #0x3c
ldrsh r3, [r4, r2]
add r1, r2, #0
sub r1, #0xfc
cmp r3, r1
ble _021D0EEE
sub r1, r3, #4
strh r1, [r4, #0x3c]
bl ov102_021D1230
b _021D0F40
_021D0EEE:
sub r2, #0xfc
strh r2, [r4, #0x3c]
bl ov102_021D1230
mov r0, #4
str r0, [r5, #0]
b _021D0F40
_021D0EFC:
ldr r0, _021D0F48 ; =0x021BF67C
ldr r1, [r0, #0x48]
mov r0, #1
and r0, r1
cmp r0, #1
beq _021D0F18
mov r0, #2
and r0, r1
cmp r0, #2
beq _021D0F18
ldr r0, _021D0F4C ; =0x021BF6BC
ldrh r0, [r0, #0x20]
cmp r0, #0
beq _021D0F40
_021D0F18:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r4, #0]
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl sub_0200F174
mov r0, #5
str r0, [r5, #0]
b _021D0F40
_021D0F36:
bl sub_0200F2AC
cmp r0, #1
bne _021D0F40
mov r6, #1
_021D0F40:
add r0, r6, #0
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_021D0F48: .word 0x021BF67C
_021D0F4C: .word 0x021BF6BC
thumb_func_end ov102_021D0E2C
thumb_func_start ov102_021D0F50
ov102_021D0F50: ; 0x021D0F50
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0200682C
add r6, r0, #0
ldr r4, [r6, #0]
bl ov102_021D1204
add r0, r6, #0
bl ov102_021D10F8
mov r0, #0
add r1, r0, #0
bl sub_02017798
add r0, r5, #0
bl sub_02006830
add r0, r4, #0
bl sub_0201807C
mov r0, #1
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov102_021D0F50
thumb_func_start ov102_021D0F80
ov102_021D0F80: ; 0x021D0F80
ldr r3, _021D0F88 ; =sub_0201C2B8
ldr r0, [r0, #0x10]
bx r3
nop
_021D0F88: .word sub_0201C2B8
thumb_func_end ov102_021D0F80
thumb_func_start ov102_021D0F8C
ov102_021D0F8C: ; 0x021D0F8C
push {r4, r5, lr}
sub sp, #0x54
ldr r5, _021D10EC ; =0x021D155C
add r4, r0, #0
add r3, sp, #0x2c
mov r2, #5
_021D0F98:
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _021D0F98
add r0, sp, #0x2c
bl sub_0201FE94
ldr r0, [r4, #0]
bl sub_02018340
add r3, sp, #0x1c
ldr r5, _021D10F0 ; =0x021D1530
str r0, [r4, #0x10]
add r2, r3, #0
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl sub_02018368
ldr r5, _021D10F4 ; =0x021D1540
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5, #0]
mov r1, #0
str r0, [r3, #0]
add r0, sp, #0
strb r1, [r0, #0x12]
mov r3, #4
strb r3, [r0, #0x13]
lsl r3, r3, #0xa
str r3, [sp, #8]
mov r3, #2
strb r3, [r0, #0x10]
ldr r0, [r4, #0x10]
add r3, r1, #0
bl sub_020183C4
ldr r0, [r4, #0x10]
mov r1, #0
bl sub_02019EBC
mov r2, #2
add r0, sp, #0
strb r2, [r0, #0x12]
strb r2, [r0, #0x13]
lsl r1, r2, #0xb
str r1, [sp, #8]
strb r2, [r0, #0x10]
ldr r0, [r4, #0x10]
mov r1, #1
add r2, sp, #0
mov r3, #0
bl sub_020183C4
ldr r0, [r4, #0x10]
mov r1, #1
bl sub_02019EBC
mov r1, #4
add r0, sp, #0
strb r1, [r0, #0x12]
mov r2, #1
strb r2, [r0, #0x13]
lsl r1, r2, #0xb
str r1, [sp, #8]
strb r2, [r0, #0x10]
ldr r0, [r4, #0x10]
mov r1, #3
add r2, sp, #0
mov r3, #0
bl sub_020183C4
ldr r0, [r4, #0x10]
mov r1, #3
bl sub_02019EBC
mov r1, #4
mov r3, #0
add r0, sp, #0
strb r3, [r0, #0x12]
strb r1, [r0, #0x13]
lsl r2, r1, #0xa
str r2, [sp, #8]
mov r2, #2
strb r2, [r0, #0x10]
ldr r0, [r4, #0x10]
add r2, sp, #0
bl sub_020183C4
ldr r0, [r4, #0x10]
mov r1, #4
bl sub_02019EBC
mov r2, #2
add r0, sp, #0
strb r2, [r0, #0x12]
strb r2, [r0, #0x13]
lsl r1, r2, #0xb
str r1, [sp, #8]
strb r2, [r0, #0x10]
ldr r0, [r4, #0x10]
mov r1, #5
add r2, sp, #0
mov r3, #0
bl sub_020183C4
ldr r0, [r4, #0x10]
mov r1, #5
bl sub_02019EBC
mov r1, #4
add r0, sp, #0
strb r1, [r0, #0x12]
mov r2, #1
strb r2, [r0, #0x13]
lsl r1, r2, #0xb
str r1, [sp, #8]
strb r2, [r0, #0x10]
ldr r0, [r4, #0x10]
mov r1, #7
add r2, sp, #0
mov r3, #0
bl sub_020183C4
ldr r0, [r4, #0x10]
mov r1, #7
bl sub_02019EBC
mov r0, #0
add r1, r0, #0
bl sub_02019120
mov r0, #1
mov r1, #0
bl sub_02019120
mov r0, #2
mov r1, #0
bl sub_02019120
mov r0, #3
mov r1, #0
bl sub_02019120
mov r0, #4
mov r1, #0
bl sub_02019120
mov r0, #5
mov r1, #0
bl sub_02019120
mov r0, #6
mov r1, #0
bl sub_02019120
mov r0, #7
mov r1, #0
bl sub_02019120
add sp, #0x54
pop {r4, r5, pc}
; .align 2, 0
_021D10EC: .word 0x021D155C
_021D10F0: .word 0x021D1530
_021D10F4: .word 0x021D1540
thumb_func_end ov102_021D0F8C
thumb_func_start ov102_021D10F8
ov102_021D10F8: ; 0x021D10F8
push {r4, lr}
add r4, r0, #0
mov r0, #0
add r1, r0, #0
bl sub_02019120
mov r0, #1
mov r1, #0
bl sub_02019120
mov r0, #2
mov r1, #0
bl sub_02019120
mov r0, #3
mov r1, #0
bl sub_02019120
mov r0, #4
mov r1, #0
bl sub_02019120
mov r0, #5
mov r1, #0
bl sub_02019120
mov r0, #6
mov r1, #0
bl sub_02019120
mov r0, #7
mov r1, #0
bl sub_02019120
ldr r0, [r4, #0x10]
mov r1, #0
bl sub_02019044
ldr r0, [r4, #0x10]
mov r1, #1
bl sub_02019044
ldr r0, [r4, #0x10]
mov r1, #3
bl sub_02019044
ldr r0, [r4, #0x10]
mov r1, #4
bl sub_02019044
ldr r0, [r4, #0x10]
mov r1, #5
bl sub_02019044
ldr r0, [r4, #0x10]
mov r1, #7
bl sub_02019044
ldr r0, [r4, #0x10]
bl sub_020181C4
pop {r4, pc}
thumb_func_end ov102_021D10F8
thumb_func_start ov102_021D1174
ov102_021D1174: ; 0x021D1174
push {r4, lr}
sub sp, #0x10
ldr r1, _021D1200 ; =0x021D1528
add r4, r0, #0
ldrh r2, [r1]
add r0, sp, #8
strh r2, [r0]
ldrh r2, [r1, #2]
strh r2, [r0, #2]
ldrh r2, [r1, #4]
ldrh r1, [r1, #6]
strh r2, [r0, #4]
strh r1, [r0, #6]
bl sub_0201D710
mov r0, #1
ldr r3, [r4, #0]
mov r1, #0x1a
add r2, r0, #0
bl sub_0200B144
str r0, [r4, #0x34]
ldr r0, [r4, #0]
bl sub_0200B358
str r0, [r4, #0x38]
mov r1, #0
add r0, sp, #8
strb r1, [r0]
add r1, r4, #0
ldr r0, [r4, #0x10]
add r1, #0x14
add r2, sp, #8
bl sub_0201A8D4
mov r1, #0
mov r0, #1
lsl r0, r0, #8
str r0, [sp]
mov r0, #0xc0
str r0, [sp, #4]
add r0, r4, #0
add r0, #0x14
add r2, r1, #0
add r3, r1, #0
bl sub_0201AE78
mov r1, #4
add r0, sp, #8
strb r1, [r0]
add r1, r4, #0
ldr r0, [r4, #0x10]
add r1, #0x24
add r2, sp, #8
bl sub_0201A8D4
mov r1, #0
mov r0, #1
lsl r0, r0, #8
str r0, [sp]
mov r0, #0xc0
add r4, #0x24
str r0, [sp, #4]
add r0, r4, #0
add r2, r1, #0
add r3, r1, #0
bl sub_0201AE78
add sp, #0x10
pop {r4, pc}
; .align 2, 0
_021D1200: .word 0x021D1528
thumb_func_end ov102_021D1174
thumb_func_start ov102_021D1204
ov102_021D1204: ; 0x021D1204
push {r4, lr}
add r4, r0, #0
add r0, #0x24
bl sub_0201A8FC
add r0, r4, #0
add r0, #0x14
bl sub_0201A8FC
ldr r0, [r4, #0x38]
bl sub_0200B3F0
ldr r0, [r4, #0x34]
bl sub_0200B190
pop {r4, pc}
thumb_func_end ov102_021D1204
thumb_func_start ov102_021D1224
ov102_021D1224: ; 0x021D1224
ldr r3, _021D122C ; =ov102_021D1230
mov r1, #0
strh r1, [r0, #0x3c]
bx r3
; .align 2, 0
_021D122C: .word ov102_021D1230
thumb_func_end ov102_021D1224
thumb_func_start ov102_021D1230
ov102_021D1230: ; 0x021D1230
push {r4, lr}
add r4, r0, #0
mov r3, #0x3c
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x10]
mov r1, #1
mov r2, #3
bl sub_02019184
mov r3, #0x3c
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x10]
mov r1, #5
mov r2, #3
add r3, #0xc0
bl sub_02019184
mov r3, #0x3c
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x10]
mov r1, #0
mov r2, #3
bl sub_02019184
mov r3, #0x3c
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x10]
mov r1, #4
mov r2, #3
add r3, #0xc0
bl sub_02019184
pop {r4, pc}
; .align 2, 0
thumb_func_end ov102_021D1230
thumb_func_start ov102_021D1274
ov102_021D1274: ; 0x021D1274
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
ldr r0, [r5, #4]
cmp r0, #0
bne _021D1294
mov r0, #2
str r0, [sp, #0x18]
mov r0, #6
str r0, [sp, #0x14]
mov r0, #8
mov r7, #0xa
str r0, [sp, #0x10]
mov r6, #0
mov r4, #4
b _021D12A6
_021D1294:
mov r0, #3
str r0, [sp, #0x18]
mov r0, #7
str r0, [sp, #0x14]
mov r0, #9
mov r7, #0xb
str r0, [sp, #0x10]
mov r6, #1
mov r4, #5
_021D12A6:
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5, #0]
add r1, r7, #0
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
mov r0, #0x84
mov r3, #3
bl sub_02006E60
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5, #0]
ldr r1, [sp, #0x18]
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
mov r0, #0x84
mov r3, #3
bl sub_02006E3C
mov r0, #0x20
str r0, [sp]
ldr r0, [r5, #0]
mov r2, #0
str r0, [sp, #4]
ldr r1, [sp, #0x14]
mov r0, #0x84
add r3, r2, #0
bl sub_02006E84
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5, #0]
add r1, r7, #0
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
mov r0, #0x84
mov r3, #7
bl sub_02006E60
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5, #0]
ldr r1, [sp, #0x18]
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
mov r0, #0x84
mov r3, #7
bl sub_02006E3C
mov r0, #0x20
str r0, [sp]
ldr r0, [r5, #0]
ldr r1, [sp, #0x14]
str r0, [sp, #4]
mov r0, #0x84
mov r2, #4
mov r3, #0
bl sub_02006E84
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5, #0]
ldr r1, [sp, #0x10]
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
mov r0, #0x84
mov r3, #1
bl sub_02006E60
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r1, #1
str r1, [sp, #8]
mov r2, #0
ldr r0, [r5, #0x10]
add r3, r2, #0
bl sub_02019E2C
ldr r0, [r5, #0x10]
mov r1, #1
bl sub_02019448
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5, #0]
add r1, r6, #0
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
mov r0, #0x84
mov r3, #1
bl sub_02006E3C
mov r3, #0x20
str r3, [sp]
ldr r0, [r5, #0]
add r1, r4, #0
str r0, [sp, #4]
mov r0, #0x84
mov r2, #0
bl sub_02006E84
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5, #0]
ldr r1, [sp, #0x10]
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
mov r0, #0x84
mov r3, #5
bl sub_02006E60
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r2, #0
ldr r0, [r5, #0x10]
mov r1, #5
add r3, r2, #0
bl sub_02019E2C
ldr r0, [r5, #0x10]
mov r1, #5
bl sub_02019448
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, [r5, #0]
add r1, r6, #0
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
mov r0, #0x84
mov r3, #5
bl sub_02006E3C
mov r3, #0x20
str r3, [sp]
ldr r0, [r5, #0]
add r1, r4, #0
str r0, [sp, #4]
mov r0, #0x84
mov r2, #4
bl sub_02006E84
mov r0, #0
ldr r3, [r5, #0]
mov r1, #0x20
add r2, r0, #0
bl sub_02019690
ldr r3, [r5, #0]
mov r0, #4
mov r1, #0x20
mov r2, #0
bl sub_02019690
ldr r2, [r5, #0]
mov r0, #0
mov r1, #0x40
bl sub_02002E7C
ldr r2, [r5, #0]
mov r0, #4
mov r1, #0x40
bl sub_02002E7C
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
thumb_func_end ov102_021D1274
thumb_func_start ov102_021D1420
ov102_021D1420: ; 0x021D1420
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #2
ldr r1, [r5, #0]
lsl r0, r0, #8
bl sub_02023790
add r4, r0, #0
mov r0, #2
ldr r1, [r5, #0]
lsl r0, r0, #8
bl sub_02023790
add r6, r0, #0
ldr r0, [r5, #0x34]
mov r1, #0
add r2, r6, #0
bl sub_0200B1B8
ldr r0, [r5, #0x38]
ldr r2, [r5, #0xc]
mov r1, #0
bl sub_0200B498
ldr r0, [r5, #0x38]
add r1, r4, #0
add r2, r6, #0
bl sub_0200C388
mov r0, #0x20
str r0, [sp]
mov r1, #0
ldr r0, _021D1524 ; =0x00010200
str r1, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
add r0, #0x14
add r2, r4, #0
mov r3, #0x30
str r1, [sp, #0xc]
bl sub_0201D78C
mov r0, #0x20
str r0, [sp]
mov r1, #0
ldr r0, _021D1524 ; =0x00010200
str r1, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
add r0, #0x24
add r2, r4, #0
mov r3, #0x30
str r1, [sp, #0xc]
bl sub_0201D78C
add r0, r6, #0
bl sub_020237BC
ldr r0, [r5, #4]
cmp r0, #0
bne _021D14A0
mov r1, #1
b _021D14A2
_021D14A0:
mov r1, #2
_021D14A2:
ldr r0, [r5, #0x34]
add r2, r4, #0
bl sub_0200B1B8
mov r3, #0x40
str r3, [sp]
mov r1, #0
ldr r0, _021D1524 ; =0x00010200
str r1, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
add r0, #0x14
add r2, r4, #0
str r1, [sp, #0xc]
bl sub_0201D78C
mov r3, #0x40
str r3, [sp]
mov r1, #0
ldr r0, _021D1524 ; =0x00010200
str r1, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
str r1, [sp, #0xc]
add r0, #0x24
add r2, r4, #0
bl sub_0201D78C
ldr r0, [r5, #0x34]
mov r1, #3
add r2, r4, #0
bl sub_0200B1B8
mov r0, #0x90
str r0, [sp]
mov r1, #0
ldr r0, _021D1524 ; =0x00010200
str r1, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
add r0, #0x14
add r2, r4, #0
mov r3, #0x8a
str r1, [sp, #0xc]
bl sub_0201D78C
mov r0, #0x90
str r0, [sp]
mov r1, #0
ldr r0, _021D1524 ; =0x00010200
str r1, [sp, #4]
str r0, [sp, #8]
add r5, #0x24
add r0, r5, #0
add r2, r4, #0
mov r3, #0x8a
str r1, [sp, #0xc]
bl sub_0201D78C
add r0, r4, #0
bl sub_020237BC
add sp, #0x10
pop {r4, r5, r6, pc}
nop
_021D1524: .word 0x00010200
thumb_func_end ov102_021D1420
.rodata
.global Unk_ov102_021D1528
Unk_ov102_021D1528: ; 0x021D1528
.incbin "incbin/overlay102_rodata.bin", 0x0, 0x8 - 0x0
.global Unk_ov102_021D1530
Unk_ov102_021D1530: ; 0x021D1530
.incbin "incbin/overlay102_rodata.bin", 0x8, 0x18 - 0x8
.global Unk_ov102_021D1540
Unk_ov102_021D1540: ; 0x021D1540
.incbin "incbin/overlay102_rodata.bin", 0x18, 0x34 - 0x18
.global Unk_ov102_021D155C
Unk_ov102_021D155C: ; 0x021D155C
.incbin "incbin/overlay102_rodata.bin", 0x34, 0x28

View File

@@ -1997,17 +1997,17 @@ Overlay overlay100
Overlay overlay101
{
After main
Object asm/overlay101/ov101_021D0D80.o
Object asm/overlay101/ov101_021D1A28.o
Object asm/overlay101/ov101_021D59AC.o
Object asm/overlay101/ov101_021D7E48.o
Object asm/overlay101/ov101_021D94D8.o
Object src/overlay101/ov101_021D0D80.o
Object src/overlay101/ov101_021D1A28.o
Object src/overlay101/ov101_021D59AC.o
Object src/overlay101/ov101_021D7E48.o
Object src/overlay101/ov101_021D94D8.o
}
Overlay overlay102
{
After main
Object asm/overlay102/ov102_021D0D80.o
Object src/overlay102/ov102_021D0D80.o
}
Overlay overlay103

View File

@@ -0,0 +1,697 @@
#include "enums.h"
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_020067E8_decl.h"
#include "struct_decls/struct_02018340_decl.h"
#include "struct_decls/struct_0201CD38_decl.h"
#include "struct_defs/struct_0203E348.h"
#include "struct_defs/struct_02099F80.h"
#include "overlay022/struct_ov22_022559F8.h"
#include "overlay061/struct_ov61_0222C884.h"
#include "overlay084/struct_ov84_0223BA5C.h"
#include "overlay097/struct_ov97_0222DB78.h"
#include "overlay101/struct_ov101_021D13C8.h"
#include "overlay101/struct_ov101_021D148C.h"
#include "overlay101/struct_ov101_021D1894.h"
#include "unk_02002B7C.h"
#include "unk_020041CC.h"
#include "unk_02005474.h"
#include "unk_020067E8.h"
#include "unk_020068C8.h"
#include "unk_0200A784.h"
#include "unk_0200AC5C.h"
#include "unk_0200B358.h"
#include "unk_0200D9E8.h"
#include "unk_0200DA60.h"
#include "unk_0200F174.h"
#include "unk_02017728.h"
#include "unk_02017E74.h"
#include "unk_02018340.h"
#include "unk_0201D670.h"
#include "unk_0201DBEC.h"
#include "unk_0201E86C.h"
#include "unk_0201F834.h"
#include "unk_0201FE94.h"
#include "unk_02023790.h"
#include "unk_0202CD50.h"
#include "unk_020711EC.h"
#include "overlay101/ov101_021D0D80.h"
#include "overlay101/ov101_021D1A28.h"
#include "overlay101/ov101_021D59AC.h"
#include "overlay101/ov101_021D7E48.h"
typedef struct {
UnkStruct_0203E348 * unk_00;
UnkStruct_ov101_021D13C8 * unk_04;
} UnkStruct_ov101_021D0F3C;
static void ov101_021D0F3C(UnkStruct_ov101_021D0F3C * param0, UnkStruct_ov101_021D13C8 * param1);
static UnkStruct_ov101_021D13C8 * ov101_021D0F6C(UnkStruct_0203E348 * param0);
static void ov101_021D0F94(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D0F9C(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D107C(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D1098(void);
static void ov101_021D10B8(UnkStruct_02018340 * param0);
static void ov101_021D11A4(UnkStruct_02018340 * param0);
static void ov101_021D11D0(void);
static void ov101_021D121C(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D150C(void);
static void ov101_021D1544(void);
static void ov101_021D1550(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D15A4(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D15BC(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D1868(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D186C(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D1884(UnkStruct_ov101_021D13C8 * param0);
static int ov101_021D18B4(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D18C0(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D18E4(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D18F4(UnkStruct_0201CD38 * param0, void * param1);
static void ov101_021D197C(void * param0);
static void ov101_021D19BC(UnkStruct_ov101_021D13C8 * param0);
static void ov101_021D19D4(UnkStruct_ov101_021D13C8 * param0);
static const UnkStruct_ov61_0222C884 Unk_ov101_021D8588[1];
static void ov101_021D1458(UnkStruct_ov101_021D13C8 * param0);
int ov101_021D0D80 (UnkStruct_020067E8 * param0, int * param1)
{
UnkStruct_ov101_021D0F3C * v0;
UnkStruct_ov101_021D13C8 * v1;
UnkStruct_0203E348 * v2;
sub_02017798(NULL, NULL);
sub_020177A4();
sub_0201FF00();
sub_0201FF68();
sub_02017FC8(3, 79, 0x80000);
v0 = sub_0200681C(param0, (sizeof(UnkStruct_ov101_021D0F3C)), 79);
memset(v0, 0, (sizeof(UnkStruct_ov101_021D0F3C)));
v2 = sub_02006840(param0);
v0->unk_00 = v2;
v1 = ov101_021D0F6C(v0->unk_00);
v0->unk_04 = v1;
ov101_021D19BC(v1);
ov101_021D186C(v1);
ov101_021D0F9C(v1);
ov101_021D121C(v1);
ov101_021D13C8(v1);
ov101_021D150C();
ov101_021D1550(v1);
ov101_021D1A28(v1);
ov101_021D59AC(v1);
ov101_021D5AF0(v1);
ov101_021D5C28(v1);
sub_02004550(66, 0, 0);
ov101_021D18C0(v1);
sub_0200F174(0, 1, 1, 0x0, 8, 1, 79);
return 1;
}
int ov101_021D0E40 (UnkStruct_020067E8 * param0, int * param1)
{
UnkStruct_ov101_021D0F3C * v0 = sub_0200682C(param0);
UnkStruct_ov101_021D13C8 * v1 = v0->unk_04;
switch (*param1) {
case 0:
if (sub_0200F2AC()) {
(*param1)++;
}
break;
case 1:
if (ov101_021D1AAC(v1) == 1) {
(*param1)++;
sub_0200F174(2, 0, 0, 0x0, 8, 1, 79);
ov101_021D1894(v1, UnkEnum_ov101_021D1894_00);
}
break;
case 2:
if (sub_0200F2AC() == 0) {
break;
}
(*param1)++;
case 3:
if (ov101_021D18B4(v1) == 0) {
return 1;
}
}
sub_020713D0(v1->unk_44C);
ov101_021D80D4(v1->unk_450);
return 0;
}
int ov101_021D0EE4 (UnkStruct_020067E8 * param0, int * param1)
{
UnkStruct_ov101_021D0F3C * v0 = sub_0200682C(param0);
UnkStruct_ov101_021D13C8 * v1 = v0->unk_04;
sub_02017798(NULL, NULL);
ov101_021D0F3C(v0, v1);
ov101_021D1884(v1);
ov101_021D107C(v1);
ov101_021D1458(v1);
ov101_021D1A4C(v1);
ov101_021D18E4(v1);
ov101_021D19D4(v1);
ov101_021D0F94(v1);
sub_02006830(param0);
sub_0201807C(79);
return 1;
}
static void ov101_021D0F3C (UnkStruct_ov101_021D0F3C * param0, UnkStruct_ov101_021D13C8 * param1)
{
u32 v0 = param1->unk_60;
if (v0 > 50000) {
v0 = 50000;
}
(*param0->unk_00->unk_00) = v0;
param0->unk_00->unk_0C = param1->unk_20;
if (param0->unk_00->unk_08 != NULL) {
sub_0202CF70(param0->unk_00->unk_08, (1 + 13), param1->unk_0C);
}
}
static UnkStruct_ov101_021D13C8 * ov101_021D0F6C (UnkStruct_0203E348 * param0)
{
UnkStruct_ov101_021D13C8 * v0 = ov101_021D1998((sizeof(UnkStruct_ov101_021D13C8)));
v0->unk_60 = *(param0->unk_00);
v0->unk_88 = param0->unk_04;
v0->unk_4C4 = param0->unk_10;
return v0;
}
static void ov101_021D0F94 (UnkStruct_ov101_021D13C8 * param0)
{
sub_020181C4(param0);
}
static void ov101_021D0F9C (UnkStruct_ov101_021D13C8 * param0)
{
param0->unk_43C = sub_02018340(79);
ov101_021D1098();
ov101_021D10B8(param0->unk_43C);
ov101_021D11D0();
sub_0201FF0C(GX_PLANEMASK_BG0, 1);
sub_0201FF0C(GX_PLANEMASK_BG1, 1);
sub_0201FF0C(GX_PLANEMASK_BG2, 1);
sub_0201FF0C(GX_PLANEMASK_BG3, 0);
sub_0201FF0C(GX_PLANEMASK_OBJ, 1);
sub_0201FF74(GX_PLANEMASK_BG0, 0);
sub_0201FF74(GX_PLANEMASK_BG1, 0);
sub_0201FF74(GX_PLANEMASK_BG2, 0);
sub_0201FF74(GX_PLANEMASK_BG3, 1);
sub_0201FF74(GX_PLANEMASK_OBJ, 1);
G2_SetBG0Priority(0);
G2_SetBG1Priority(1);
G2_SetBG2Priority(2);
G2_SetBG3Priority(3);
G2S_SetBG0Priority(0);
G2S_SetBG1Priority(1);
G2S_SetBG2Priority(2);
G2S_SetBG3Priority(3);
G2_SetBlendAlpha(GX_BLEND_PLANEMASK_BG2, GX_BLEND_PLANEMASK_OBJ, 8, 9);
sub_02017798(ov101_021D197C, param0);
}
static void ov101_021D107C (UnkStruct_ov101_021D13C8 * param0)
{
ov101_021D11A4(param0->unk_43C);
ov101_021D15A4(param0);
ov101_021D1544();
}
static void ov101_021D1098 (void)
{
UnkStruct_02099F80 v0 = {
GX_VRAM_BG_128_A,
GX_VRAM_BGEXTPLTT_NONE,
GX_VRAM_SUB_BG_128_C,
GX_VRAM_SUB_BGEXTPLTT_NONE,
GX_VRAM_OBJ_128_B,
GX_VRAM_OBJEXTPLTT_NONE,
GX_VRAM_SUB_OBJ_16_I,
GX_VRAM_SUB_OBJEXTPLTT_NONE,
GX_VRAM_TEX_NONE,
GX_VRAM_TEXPLTT_NONE
};
sub_0201FE94(&v0);
}
static void ov101_021D10B8 (UnkStruct_02018340 * param0)
{
GX_SetDispSelect(GX_DISP_SELECT_MAIN_SUB);
{
UnkStruct_ov84_0223BA5C v0 = {
GX_DISPMODE_GRAPHICS,
GX_BGMODE_0,
GX_BGMODE_0,
GX_BG0_AS_2D,
};
sub_02018368(&v0);
}
{
UnkStruct_ov97_0222DB78 v1 = {
0,
0,
0x800,
0,
1,
GX_BG_COLORMODE_16,
GX_BG_SCRBASE_0x0000,
GX_BG_CHARBASE_0x04000,
GX_BG_EXTPLTT_01,
0,
0,
0,
0
};
sub_020183C4(param0, 0, &v1, 0);
sub_02019EBC(param0, 0);
sub_02019690(0, 32, 0, 79);
}
{
UnkStruct_ov97_0222DB78 v2 = {
0,
0,
0x800,
0,
1,
GX_BG_COLORMODE_16,
GX_BG_SCRBASE_0x0800,
GX_BG_CHARBASE_0x0c000,
GX_BG_EXTPLTT_01,
1,
0,
0,
0
};
sub_020183C4(param0, 1, &v2, 0);
sub_02019EBC(param0, 1);
}
{
UnkStruct_ov97_0222DB78 v3 = {
0,
0,
0x800,
0,
1,
GX_BG_COLORMODE_16,
GX_BG_SCRBASE_0x1000,
GX_BG_CHARBASE_0x14000,
GX_BG_EXTPLTT_01,
2,
0,
0,
0
};
sub_020183C4(param0, 2, &v3, 0);
sub_02019EBC(param0, 2);
}
{
UnkStruct_ov97_0222DB78 v4 = {
0,
0,
0x800,
0,
1,
GX_BG_COLORMODE_16,
GX_BG_SCRBASE_0x1800,
GX_BG_CHARBASE_0x20000,
GX_BG_EXTPLTT_01,
3,
0,
0,
0
};
sub_020183C4(param0, 7, &v4, 0);
sub_02019EBC(param0, 7);
}
}
static void ov101_021D11A4 (UnkStruct_02018340 * param0)
{
sub_02019044(param0, 0);
sub_02019044(param0, 1);
sub_02019044(param0, 2);
sub_02019044(param0, 7);
sub_020181C4(param0);
}
static void ov101_021D11D0 (void)
{
GX_SetVisibleWnd(GX_WNDMASK_W0);
G2_SetWnd0InsidePlane(GX_WND_PLANEMASK_BG0 | GX_WND_PLANEMASK_BG1 | GX_WND_PLANEMASK_BG2 | GX_WND_PLANEMASK_BG3 | GX_WND_PLANEMASK_OBJ, 1);
G2_SetWndOutsidePlane(GX_WND_PLANEMASK_BG0 | GX_WND_PLANEMASK_BG1 | GX_WND_PLANEMASK_BG2 | GX_WND_PLANEMASK_BG3 | GX_WND_PLANEMASK_OBJ, 1);
G2_SetWnd0Position(0, 0, 255, 255);
}
static void ov101_021D121C (UnkStruct_ov101_021D13C8 * param0)
{
void * v0 = ov101_021D19E4(param0, 3, 0);
NNS_G2dGetUnpackedPaletteData(v0, &param0->unk_448);
sub_0201972C(1, param0->unk_448->pRawData, (32 * 13), (32 * 0));
sub_020181C4(v0);
v0 = ov101_021D19E4(param0, 0, 0);
NNS_G2dGetUnpackedCharacterData(v0, &param0->unk_444);
sub_0201958C(param0->unk_43C, 1, param0->unk_444->pRawData, param0->unk_444->szByte, (32 * 0));
sub_020181C4(v0);
v0 = ov101_021D19E4(param0, 1, 0);
NNS_G2dGetUnpackedScreenData(v0, &param0->unk_440);
sub_02019574(param0->unk_43C, 1, (void *)param0->unk_440->rawData, param0->unk_440->szByte);
sub_02019448(param0->unk_43C, 1);
sub_020181C4(v0);
v0 = ov101_021D19E4(param0, 8, 0);
NNS_G2dGetUnpackedCharacterData(v0, &param0->unk_444);
sub_0201958C(param0->unk_43C, 2, param0->unk_444->pRawData, param0->unk_444->szByte, (32 * 0));
sub_020181C4(v0);
v0 = ov101_021D19E4(param0, 9, 0);
NNS_G2dGetUnpackedScreenData(v0, &param0->unk_440);
sub_02019574(param0->unk_43C, 2, (void *)param0->unk_440->rawData, param0->unk_440->szByte);
sub_02019448(param0->unk_43C, 2);
sub_020181C4(v0);
v0 = ov101_021D19E4(param0, 3, 0);
NNS_G2dGetUnpackedPaletteData(v0, &param0->unk_448);
sub_0201972C(7, param0->unk_448->pRawData, (32 * 13), (32 * 0));
sub_020181C4(v0);
v0 = ov101_021D19E4(param0, 2, 0);
NNS_G2dGetUnpackedCharacterData(v0, &param0->unk_444);
sub_0201958C(param0->unk_43C, 7, param0->unk_444->pRawData, param0->unk_444->szByte, 0);
sub_020181C4(v0);
v0 = ov101_021D19E4(param0, 4, 0);
NNS_G2dGetUnpackedScreenData(v0, &param0->unk_440);
sub_02019574(param0->unk_43C, 7, (void *)param0->unk_440->rawData, param0->unk_440->szByte);
sub_02019448(param0->unk_43C, 7);
sub_020181C4(v0);
}
void ov101_021D13C8 (UnkStruct_ov101_021D13C8 * param0)
{
int v0;
UnkStruct_ov101_021D148C * v1 = &param0->unk_408;
sub_0200DAA4(param0->unk_43C, 0, 1, 15, 0, 79);
sub_0200DD0C(param0->unk_43C, 0, (1 + (18 + 12)), 14, param0->unk_4C4, 79);
sub_02002E98(0, 15 * 32, 79);
v1->unk_00 = sub_0200B144(0, 26, 544, 79);
v1->unk_04 = sub_0200B358(79);
for (v0 = 0; v0 < 1; v0++) {
sub_0201A8D4(param0->unk_43C, &v1->unk_08[v0], &Unk_ov101_021D8588[v0]);
}
v1->unk_18 = sub_02023790(256, 79);
}
void ov101_021D1458 (UnkStruct_ov101_021D13C8 * param0)
{
int v0;
UnkStruct_ov101_021D148C * v1 = &param0->unk_408;
for (v0 = 0; v0 < 1; v0++) {
sub_0201ACF4(&v1->unk_08[v0]);
sub_0201A8FC(&v1->unk_08[v0]);
}
sub_0200B190(v1->unk_00);
sub_0200B3F0(v1->unk_04);
sub_020237BC(v1->unk_18);
}
void ov101_021D148C (UnkStruct_ov101_021D13C8 * param0, u32 param1)
{
UnkStruct_ov101_021D148C * v0 = &param0->unk_408;
sub_0200E060(&v0->unk_08[0], 1, (1 + (18 + 12)), 14);
sub_0201ADA4(&v0->unk_08[0], 15);
sub_0200B1B8(v0->unk_00, param1, v0->unk_18);
sub_0201D738(&v0->unk_08[0], 1, v0->unk_18, 0, 0, 0xff, NULL);
sub_0201A9A4(&v0->unk_08[0]);
}
void ov101_021D14E4 (UnkStruct_ov101_021D13C8 * param0)
{
UnkStruct_ov101_021D148C * v0 = &param0->unk_408;
sub_0200E084(&v0->unk_08[0], 1);
sub_0201ADA4(&v0->unk_08[0], 0);
sub_0201A9A4(&v0->unk_08[0]);
}
static void ov101_021D150C (void)
{
UnkStruct_ov22_022559F8 v0 = {
32, 0x4000, 0x4000, 79
};
sub_0201E88C(&v0, GX_OBJVRAMMODE_CHAR_1D_128K, GX_OBJVRAMMODE_CHAR_1D_128K);
sub_0201F834(16, 79);
sub_0201E994();
sub_0201F8E4();
}
static void ov101_021D1544 (void)
{
sub_0201E958();
sub_0201F8B4();
}
static void ov101_021D1550 (UnkStruct_ov101_021D13C8 * param0)
{
NNS_G2dInitOamManagerModule();
sub_0200A784(0, 128, 0, 32, 0, 128, 0, 32, 79);
param0->unk_450 = ov101_021D7E48(79, 64, 32, 64, 16, 64, 32, 11, 8, 11, 11);
ov101_021D15BC(param0);
}
static void ov101_021D15A4 (UnkStruct_ov101_021D13C8 * param0)
{
ov101_021D1868(param0);
ov101_021D7FB4(param0->unk_450);
sub_0200A878();
}
static void ov101_021D15BC (UnkStruct_ov101_021D13C8 * param0)
{
ov101_021D80E4(param0->unk_450, (NNS_G2D_VRAM_TYPE_2DMAIN), param0->unk_438, 11, 0);
ov101_021D80E4(param0->unk_450, (NNS_G2D_VRAM_TYPE_2DMAIN), param0->unk_438, 21, 1);
ov101_021D80E4(param0->unk_450, (NNS_G2D_VRAM_TYPE_2DSUB), param0->unk_438, 68, 6);
ov101_021D80E4(param0->unk_450, (NNS_G2D_VRAM_TYPE_2DSUB), param0->unk_438, 71, 7);
ov101_021D80E4(param0->unk_450, (NNS_G2D_VRAM_TYPE_2DSUB), param0->unk_438, 64, 8);
ov101_021D80E4(param0->unk_450, (NNS_G2D_VRAM_TYPE_2DSUB), param0->unk_438, 60, 9);
ov101_021D81B4(param0->unk_450, (NNS_G2D_VRAM_TYPE_MAX), param0->unk_438, 10, 0);
ov101_021D81B4(param0->unk_450, (NNS_G2D_VRAM_TYPE_2DMAIN), param0->unk_438, 20, 1);
ov101_021D81B4(param0->unk_450, (NNS_G2D_VRAM_TYPE_2DSUB), param0->unk_438, 67, 6);
ov101_021D81B4(param0->unk_450, (NNS_G2D_VRAM_TYPE_2DSUB), param0->unk_438, 63, 7);
ov101_021D8288(param0->unk_450, param0->unk_438, 12, 0);
ov101_021D8288(param0->unk_450, param0->unk_438, 22, 1);
ov101_021D8288(param0->unk_450, param0->unk_438, 69, 6);
ov101_021D8288(param0->unk_450, param0->unk_438, 72, 7);
ov101_021D8288(param0->unk_450, param0->unk_438, 65, 8);
ov101_021D8288(param0->unk_450, param0->unk_438, 61, 9);
ov101_021D82F0(param0->unk_450, param0->unk_438, 13, 0);
ov101_021D82F0(param0->unk_450, param0->unk_438, 23, 1);
ov101_021D82F0(param0->unk_450, param0->unk_438, 70, 6);
ov101_021D82F0(param0->unk_450, param0->unk_438, 73, 7);
ov101_021D82F0(param0->unk_450, param0->unk_438, 66, 8);
ov101_021D82F0(param0->unk_450, param0->unk_438, 62, 9);
ov101_021D814C(param0->unk_450, 0);
ov101_021D814C(param0->unk_450, 1);
ov101_021D814C(param0->unk_450, 6);
ov101_021D814C(param0->unk_450, 7);
ov101_021D814C(param0->unk_450, 8);
ov101_021D814C(param0->unk_450, 9);
ov101_021D8180(param0->unk_450, 0);
ov101_021D8180(param0->unk_450, 1);
ov101_021D8180(param0->unk_450, 6);
ov101_021D8180(param0->unk_450, 7);
ov101_021D8180(param0->unk_450, 8);
ov101_021D8180(param0->unk_450, 9);
ov101_021D8220(param0->unk_450, 0);
ov101_021D8220(param0->unk_450, 1);
ov101_021D8220(param0->unk_450, 6);
ov101_021D8220(param0->unk_450, 7);
ov101_021D8254(param0->unk_450, 0);
ov101_021D8254(param0->unk_450, 1);
ov101_021D8254(param0->unk_450, 6);
ov101_021D8254(param0->unk_450, 7);
}
static void ov101_021D1868 (UnkStruct_ov101_021D13C8 * param0)
{
return;
}
static void ov101_021D186C (UnkStruct_ov101_021D13C8 * param0)
{
param0->unk_44C = sub_020711EC(79, 128);
}
static void ov101_021D1884 (UnkStruct_ov101_021D13C8 * param0)
{
sub_0207121C(param0->unk_44C);
}
void ov101_021D1894 (UnkStruct_ov101_021D13C8 * param0, UnkEnum_ov101_021D1894 param1)
{
UnkStruct_ov101_021D1894 * v0 = &param0->unk_424;
if ((v0->unk_08 == param1) || (v0->unk_0C == param1)) {
return;
}
v0->unk_0C = param1;
v0->unk_00 = 1;
v0->unk_04 = 1;
}
static int ov101_021D18B4 (UnkStruct_ov101_021D13C8 * param0)
{
UnkStruct_ov101_021D1894 * v0 = &param0->unk_424;
return v0->unk_04;
}
static void ov101_021D18C0 (UnkStruct_ov101_021D13C8 * param0)
{
UnkStruct_ov101_021D1894 * v0 = &param0->unk_424;
v0->unk_08 = UnkEnum_ov101_021D1894_00;
v0->unk_0C = UnkEnum_ov101_021D1894_03;
v0->unk_10 = sub_0200D9E8(ov101_021D18F4, param0, 144);
}
static void ov101_021D18E4 (UnkStruct_ov101_021D13C8 * param0)
{
sub_0200DA58(param0->unk_424.unk_10);
}
static void ov101_021D18F4 (UnkStruct_0201CD38 * param0, void * param1)
{
UnkStruct_ov101_021D13C8 * v0 = param1;
UnkStruct_ov101_021D1894 * v1 = &v0->unk_424;
switch (v1->unk_00) {
case 0:
break;
case 1:
switch (v1->unk_08) {
case UnkEnum_ov101_021D1894_00: sub_020049F4(1, 1); break;
case UnkEnum_ov101_021D1894_01: sub_020055D0(1184, 0); break;
case UnkEnum_ov101_021D1894_02: sub_020055D0(1185, 0); break;
}
v1->unk_00++;
break;
case 2:
switch (v1->unk_0C) {
case UnkEnum_ov101_021D1894_00: sub_020049F4(1, 0); break;
case UnkEnum_ov101_021D1894_01: sub_02005474(1184); break;
case UnkEnum_ov101_021D1894_02: sub_02005474(1185); break;
}
v1->unk_08 = v1->unk_0C;
v1->unk_0C = UnkEnum_ov101_021D1894_03;
v1->unk_04 = 0;
v1->unk_00 = 0;
}
}
static void ov101_021D197C (void * param0)
{
UnkStruct_ov101_021D13C8 * v0 = param0;
sub_0201DCAC();
sub_0200A858();
sub_0201C2B8(v0->unk_43C);
}
void * ov101_021D1998 (u32 param0)
{
void * v0 = sub_02018144(79, param0);
GF_ASSERT(v0 != NULL);
memset(v0, 0, param0);
return v0;
}
static void ov101_021D19BC (UnkStruct_ov101_021D13C8 * param0)
{
param0->unk_438 = sub_02006C24(133, 79);
}
static void ov101_021D19D4 (UnkStruct_ov101_021D13C8 * param0)
{
sub_02006CA8(param0->unk_438);
}
void * ov101_021D19E4 (UnkStruct_ov101_021D13C8 * param0, u32 param1, int param2)
{
void * v0;
u32 v1 = sub_02006D84(param0->unk_438, param1);
if (param2 == 1) {
v0 = sub_02018144(79, v1);
} else {
v0 = sub_02018184(79, v1);
}
GF_ASSERT(v0 != NULL);
sub_02006D28(param0->unk_438, param1, v0);
return v0;
}
static const UnkStruct_ov61_0222C884 Unk_ov101_021D8588[1] = {
{0x0, 0x2, 0x13, 0x1A, 0x4, 0xF, 0x3D}
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,375 @@
#include <nitro.h>
#include <string.h>
#include "struct_decls/struct_02006C24_decl.h"
#include "struct_decls/struct_02009714_decl.h"
#include "struct_decls/struct_02009DC8_decl.h"
#include "struct_decls/struct_020218BC_decl.h"
#include "struct_decls/struct_02022550_decl.h"
#include "struct_defs/struct_0200C738.h"
#include "overlay019/struct_ov19_021DA864.h"
#include "overlay083/struct_ov83_0223D9A8.h"
#include "overlay101/struct_ov101_021D8544.h"
#include "unk_020093B4.h"
#include "unk_02009714.h"
#include "unk_0200A328.h"
#include "unk_02017E74.h"
#include "unk_0201DBEC.h"
#include "unk_020218BC.h"
#include "overlay101/ov101_021D7E48.h"
typedef struct {
u16 unk_00;
u16 unk_02;
UnkStruct_02009DC8 * unk_04;
} UnkStruct_ov101_021D7E48_sub1;
typedef struct UnkStruct_ov101_021D7E48_t {
u32 unk_00;
u8 unk_04;
u8 unk_05;
u8 unk_06;
u8 unk_07;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B;
UnkStruct_020218BC * unk_0C;
UnkStruct_0200C738 unk_10;
NNSG2dCellTransferState * unk_19C;
UnkStruct_02009714 * unk_1A0;
UnkStruct_02009714 * unk_1A4;
UnkStruct_02009714 * unk_1A8;
UnkStruct_02009714 * unk_1AC;
UnkStruct_ov101_021D7E48_sub1 * unk_1B0;
UnkStruct_ov101_021D7E48_sub1 * unk_1B4;
UnkStruct_ov101_021D7E48_sub1 * unk_1B8;
UnkStruct_ov101_021D7E48_sub1 * unk_1BC;
} UnkStruct_ov101_021D7E48;
UnkStruct_ov101_021D7E48 * ov101_021D7E48 (u32 param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5, u32 param6, u32 param7, u32 param8, u32 param9, u32 param10)
{
UnkStruct_ov101_021D7E48 * v0 = sub_02018144(param0, (sizeof(UnkStruct_ov101_021D7E48)));
GF_ASSERT(v0 != NULL);
v0->unk_00 = param0;
v0->unk_04 = param3;
v0->unk_05 = param4;
v0->unk_06 = param5;
v0->unk_07 = param6;
v0->unk_08 = param7;
v0->unk_09 = param8;
v0->unk_0A = param9;
v0->unk_0B = param10;
v0->unk_0C = sub_020095C4(param1, &v0->unk_10, param0);
v0->unk_19C = sub_0201DCC8(param2, param0);
sub_0201DBEC(param2, param0);
v0->unk_1A0 = sub_02009714(param3, 0, param0);
v0->unk_1A4 = sub_02009714(param4, 1, param0);
v0->unk_1A8 = sub_02009714(param5, 2, param0);
v0->unk_1AC = sub_02009714(param6, 3, param0);
v0->unk_1B0 = sub_02018144(param0, (sizeof(UnkStruct_ov101_021D7E48_sub1)) * param3);
v0->unk_1B4 = sub_02018144(param0, (sizeof(UnkStruct_ov101_021D7E48_sub1)) * param4);
v0->unk_1B8 = sub_02018144(param0, (sizeof(UnkStruct_ov101_021D7E48_sub1)) * param5);
v0->unk_1BC = sub_02018144(param0, (sizeof(UnkStruct_ov101_021D7E48_sub1)) * param6);
{
u32 v1;
for (v1 = 0; v1 < param3; v0->unk_1B0[v1].unk_00 = param7, v1++) {
(void)0;
}
for (v1 = 0; v1 < param4; v0->unk_1B4[v1].unk_00 = param8, v1++) {
(void)0;
}
for (v1 = 0; v1 < param5; v0->unk_1B8[v1].unk_00 = param9, v1++) {
(void)0;
}
for (v1 = 0; v1 < param6; v0->unk_1BC[v1].unk_00 = param10, v1++) {
(void)0;
}
}
return v0;
}
void ov101_021D7FB4 (UnkStruct_ov101_021D7E48 * param0)
{
u32 v0;
for (v0 = 0; v0 < param0->unk_04; v0++) {
if (param0->unk_1B0[v0].unk_00 != param0->unk_08) {
sub_0200A4E4(param0->unk_1B0[v0].unk_04);
}
}
for (v0 = 0; v0 < param0->unk_05; v0++) {
if (param0->unk_1B4[v0].unk_00 != param0->unk_09) {
sub_0200A6DC(param0->unk_1B4[v0].unk_04);
}
}
for (v0 = 0; v0 < param0->unk_06; v0++) {
if (param0->unk_1B8[v0].unk_00 != param0->unk_0A) {
sub_02009D4C(param0->unk_1B8[v0].unk_04);
}
}
for (v0 = 0; v0 < param0->unk_07; v0++) {
if (param0->unk_1BC[v0].unk_00 != param0->unk_0B) {
sub_02009D4C(param0->unk_1BC[v0].unk_04);
}
}
sub_02009754(param0->unk_1A0);
sub_02009754(param0->unk_1A4);
sub_02009754(param0->unk_1A8);
sub_02009754(param0->unk_1AC);
sub_020181C4(param0->unk_1B0);
sub_020181C4(param0->unk_1B4);
sub_020181C4(param0->unk_1B8);
sub_020181C4(param0->unk_1BC);
sub_0201DC3C();
sub_0201DCF0(param0->unk_19C);
sub_020219C0(param0->unk_0C);
sub_02021964(param0->unk_0C);
sub_020181C4(param0);
}
void ov101_021D80D4 (UnkStruct_ov101_021D7E48 * param0)
{
sub_020219F8(param0->unk_0C);
sub_0201DCE8();
}
void ov101_021D80E4 (UnkStruct_ov101_021D7E48 * param0, u32 param1, UnkStruct_02006C24 * param2, u32 param3, u32 param4)
{
u32 v0;
for (v0 = 0; v0 < param0->unk_04; v0++) {
if (param0->unk_1B0[v0].unk_00 == param0->unk_08) {
param0->unk_1B0[v0].unk_00 = param4;
param0->unk_1B0[v0].unk_02 = 0;
param0->unk_1B0[v0].unk_04 = sub_02009A4C(
param0->unk_1A0, param2, param3, 0, param4, param1, param0->unk_00);
return;
}
}
GF_ASSERT(FALSE);
}
void ov101_021D814C (UnkStruct_ov101_021D7E48 * param0, u32 param1)
{
u32 v0;
for (v0 = 0; v0 < param0->unk_04; v0++) {
if (param0->unk_1B0[v0].unk_00 == param1) {
sub_0200A3DC(param0->unk_1B0[v0].unk_04);
return;
}
}
GF_ASSERT(FALSE);
}
void ov101_021D8180 (UnkStruct_ov101_021D7E48 * param0, u32 param1)
{
u32 v0;
for (v0 = 0; v0 < param0->unk_04; v0++) {
if (param0->unk_1B0[v0].unk_00 == param1) {
sub_02009D4C(param0->unk_1B0[v0].unk_04);
return;
}
}
GF_ASSERT(FALSE);
}
void ov101_021D81B4 (UnkStruct_ov101_021D7E48 * param0, u32 param1, UnkStruct_02006C24 * param2, u32 param3, u32 param4)
{
u32 v0;
for (v0 = 0; v0 < param0->unk_04; v0++) {
if (param0->unk_1B4[v0].unk_00 == param0->unk_09) {
param0->unk_1B4[v0].unk_00 = param4;
param0->unk_1B4[v0].unk_02 = 0;
param0->unk_1B4[v0].unk_04 = sub_02009B04(param0->unk_1A4, param2, param3, 0, param4, param1, 1, param0->unk_00);
return;
}
}
GF_ASSERT(FALSE);
}
void ov101_021D8220 (UnkStruct_ov101_021D7E48 * param0, u32 param1)
{
u32 v0;
for (v0 = 0; v0 < param0->unk_05; v0++) {
if (param0->unk_1B4[v0].unk_00 == param1) {
sub_0200A640(param0->unk_1B4[v0].unk_04);
return;
}
}
GF_ASSERT(FALSE);
}
void ov101_021D8254 (UnkStruct_ov101_021D7E48 * param0, u32 param1)
{
u32 v0;
for (v0 = 0; v0 < param0->unk_05; v0++) {
if (param0->unk_1B4[v0].unk_00 == param1) {
sub_02009D4C(param0->unk_1B4[v0].unk_04);
return;
}
}
GF_ASSERT(FALSE);
}
void ov101_021D8288 (UnkStruct_ov101_021D7E48 * param0, UnkStruct_02006C24 * param1, u32 param2, u32 param3)
{
u32 v0;
for (v0 = 0; v0 < param0->unk_04; v0++) {
if (param0->unk_1B8[v0].unk_00 == param0->unk_0A) {
param0->unk_1B8[v0].unk_00 = param3;
param0->unk_1B8[v0].unk_02 = 0;
param0->unk_1B8[v0].unk_04 = sub_02009BC4(param0->unk_1A8, param1, param2, 0, param3, 2, param0->unk_00);
return;
}
}
GF_ASSERT(FALSE);
}
void ov101_021D82F0 (UnkStruct_ov101_021D7E48 * param0, UnkStruct_02006C24 * param1, u32 param2, u32 param3)
{
u32 v0;
for (v0 = 0; v0 < param0->unk_04; v0++) {
if (param0->unk_1BC[v0].unk_00 == param0->unk_0B) {
param0->unk_1BC[v0].unk_00 = param3;
param0->unk_1BC[v0].unk_02 = 0;
param0->unk_1BC[v0].unk_04 = sub_02009BC4(
param0->unk_1AC, param1, param2, 0, param3, 3, param0->unk_00);
return;
}
}
GF_ASSERT(FALSE);
}
void ov101_021D8358 (UnkStruct_ov101_021D7E48 * param0, u32 param1, u32 param2, u32 param3, u32 param4)
{
u32 v0;
if (param1 != param0->unk_08) {
for (v0 = 0; v0 < param0->unk_04; v0++) {
if (param0->unk_1B0[v0].unk_00 == param1) {
sub_0200A4E4(param0->unk_1B0[v0].unk_04);
sub_02009D68(param0->unk_1A0, param0->unk_1B0[v0].unk_04);
param0->unk_1B0[v0].unk_00 = param0->unk_08;
break;
}
}
}
if (param2 != param0->unk_09) {
for (v0 = 0; v0 < param0->unk_05; v0++) {
if (param0->unk_1B4[v0].unk_00 == param2) {
sub_0200A6DC(param0->unk_1B4[v0].unk_04);
sub_02009D68(param0->unk_1A4, param0->unk_1B4[v0].unk_04);
param0->unk_1B4[v0].unk_00 = param0->unk_09;
break;
}
}
}
if (param3 != param0->unk_0A) {
for (v0 = 0; v0 < param0->unk_06; v0++) {
if (param0->unk_1B8[v0].unk_00 == param3) {
sub_02009D4C(param0->unk_1B8[v0].unk_04);
sub_02009D68(param0->unk_1A8, param0->unk_1B8[v0].unk_04);
param0->unk_1B8[v0].unk_00 = param0->unk_0A;
break;
}
}
}
if (param4 != param0->unk_0B) {
for (v0 = 0; v0 < param0->unk_07; v0++) {
if (param0->unk_1BC[v0].unk_00 == param4) {
sub_02009D4C(param0->unk_1BC[v0].unk_04);
sub_02009D68(param0->unk_1AC, param0->unk_1BC[v0].unk_04);
param0->unk_1BC[v0].unk_00 = param0->unk_0B;
break;
}
}
}
}
void ov101_021D84A4 (UnkStruct_ov101_021D7E48 * param0, UnkStruct_ov101_021D8544 * param1, const VecFx32 * param2, u32 param3, int param4, u32 param5, u32 param6, u32 param7, u32 param8, int param9, int param10)
{
UnkStruct_ov19_021DA864 v0;
UnkStruct_ov83_0223D9A8 v1;
UnkStruct_02022550 * v2;
if (param8 == param0->unk_0B) {
param8 = 0xffffffff;
}
sub_020093B4(
&v0, param5, param6, param7, param8, 0xffffffff, 0xffffffff, param4, param9, param0->unk_1A0, param0->unk_1A4, param0->unk_1A8, param0->unk_1AC, NULL, NULL);
if (param4 == 1) {
param1->unk_08 = v0.unk_00;
param1->unk_00 = 1;
} else {
param1->unk_00 = 0;
}
v1.unk_00 = param0->unk_0C;
v1.unk_04 = &v0;
v1.unk_08 = *param2;
v1.unk_14 = param10;
v1.unk_18 = param3;
v1.unk_1C = param0->unk_00;
param1->unk_04 = sub_02021B90(&v1);
GF_ASSERT(param1->unk_04 != NULL);
}
void ov101_021D8544 (UnkStruct_ov101_021D8544 * param0)
{
if (param0->unk_00 == 1) {
sub_0200A5B4(param0->unk_08);
}
sub_02021BD4(param0->unk_04);
param0->unk_04 = NULL;
}
void ov101_021D8560 (UnkStruct_02022550 * param0, VecFx32 * param1)
{
const VecFx32 * v0 = sub_02021D28(param0);
*param1 = *v0;
}
void ov101_021D8574 (UnkStruct_02022550 * param0, VecFx32 * param1)
{
const VecFx32 * v0 = sub_02021D2C(param0);
*param1 = *v0;
}

View File

@@ -0,0 +1,450 @@
#include "enums.h"
#include <nitro.h>
#include <string.h>
#include "overlay101/const_ov101_021D9580.h"
#include "overlay101/const_ov101_021D9628.h"
#include "overlay101/const_ov101_021D9AE4.h"
#include "overlay101/const_ov101_021D94F0.h"
#include "overlay101/const_ov101_021D9934.h"
#include "overlay101/const_ov101_021D94D8.h"
#include "overlay101/const_ov101_021D9538.h"
#include "overlay101/const_ov101_021D9784.h"
#include "overlay101/const_ov101_021D95C8.h"
#include "overlay101/const_ov101_021D9520.h"
#include "overlay101/const_ov101_021D9550.h"
#include "overlay101/const_ov101_021D9508.h"
#include "overlay101/const_ov101_021D9598.h"
#include "overlay101/const_ov101_021D9568.h"
#include "overlay101/const_ov101_021D9688.h"
#include "overlay101/struct_ov101_021D95C8.h"
#include "overlay101/struct_ov101_021D9784.h"
#include "overlay101/struct_ov101_021D9934.h"
#include "overlay101/struct_ov101_021D9AE4.h"
const UnkEnum_ov101_021D9688 Unk_ov101_021D9688[3][21] = {
{
0x5,
0x3,
0x1,
0x0,
0x2,
0x4,
0x5,
0x3,
0x1,
0x2,
0x4,
0x5,
0x3,
0x1,
0x2,
0x4,
0x5,
0x2,
0x0,
0x2,
0x4 },
{
0x3,
0x0,
0x1,
0x5,
0x4,
0x2,
0x3,
0x0,
0x5,
0x4,
0x2,
0x3,
0x0,
0x5,
0x4,
0x2,
0x3,
0x1,
0x5,
0x4,
0x2 },
{
0x4,
0x2,
0x1,
0x0,
0x2,
0x5,
0x4,
0x2,
0x1,
0x3,
0x5,
0x4,
0x2,
0x1,
0x3,
0x5,
0x4,
0x2,
0x0,
0x3,
0x5 }
};
const int Unk_ov101_021D9550[6] = {
0x64,
0x64,
0x0,
0x2,
0xA,
0xF
};
const int Unk_ov101_021D94F0[6] = {
0x64,
0x64,
0xF,
0x2,
0xA,
0xF
};
const u32 Unk_ov101_021D9520[6] = {
0x19,
0x19,
0x1E,
0x1E,
0x23,
0x23
};
const UnkStruct_ov101_021D95C8 Unk_ov101_021D95C8[6] = {
{
{ 0x1, 0x4 },
{ 0x2, 0xD },
{ 0x1, 0x27 },
{ 0x1, 0x27 }
},
{
{ 0x1, 0x4 },
{ 0x2, 0xD },
{ 0x1, 0x27 },
{ 0x1, 0x27 }
},
{
{ 0x2, 0x3 },
{ 0x4, 0xB },
{ 0x2, 0x26 },
{ 0x2, 0x26 }
},
{
{ 0x3, 0x2 },
{ 0x4, 0xB },
{ 0x2, 0x26 },
{ 0x2, 0x26 }
},
{
{ 0x4, 0x1 },
{ 0x6, 0x9 },
{ 0x3, 0x25 },
{ 0x3, 0x25 }
},
{
{ 0x4, 0x1 },
{ 0x6, 0x9 },
{ 0x3, 0x25 },
{ 0x3, 0x25 }
}
};
const u32 Unk_ov101_021D94D8[6] = {
0x50,
0x50,
0x50,
0x50,
0x50,
0x46
};
const UnkStruct_ov101_021D9934 Unk_ov101_021D9934[6][UnkEnum_ov101_021D9934_06] = {
{
{ 0x5, UnkEnum_ov101_021D9934_03, UnkEnum_ov101_021D9934_1_00 },
{ 0xA, UnkEnum_ov101_021D9934_01, UnkEnum_ov101_021D9934_1_01 },
{ 0xA, UnkEnum_ov101_021D9934_05, UnkEnum_ov101_021D9934_1_02 },
{ 0xA, UnkEnum_ov101_021D9934_02, UnkEnum_ov101_021D9934_1_02 },
{ 0xF, UnkEnum_ov101_021D9934_04, UnkEnum_ov101_021D9934_1_01 },
{ 0x32, UnkEnum_ov101_021D9934_00, UnkEnum_ov101_021D9934_1_00 }
},
{
{ 0x5, UnkEnum_ov101_021D9934_03, UnkEnum_ov101_021D9934_1_00 },
{ 0xA, UnkEnum_ov101_021D9934_01, UnkEnum_ov101_021D9934_1_01 },
{ 0xA, UnkEnum_ov101_021D9934_05, UnkEnum_ov101_021D9934_1_02 },
{ 0xA, UnkEnum_ov101_021D9934_02, UnkEnum_ov101_021D9934_1_02 },
{ 0xF, UnkEnum_ov101_021D9934_04, UnkEnum_ov101_021D9934_1_01 },
{ 0x32, UnkEnum_ov101_021D9934_00, UnkEnum_ov101_021D9934_1_00 }
},
{
{ 0x5, UnkEnum_ov101_021D9934_03, UnkEnum_ov101_021D9934_1_00 },
{ 0xF, UnkEnum_ov101_021D9934_01, UnkEnum_ov101_021D9934_1_01 },
{ 0xA, UnkEnum_ov101_021D9934_05, UnkEnum_ov101_021D9934_1_02 },
{ 0xF, UnkEnum_ov101_021D9934_02, UnkEnum_ov101_021D9934_1_02 },
{ 0xF, UnkEnum_ov101_021D9934_04, UnkEnum_ov101_021D9934_1_01 },
{ 0x28, UnkEnum_ov101_021D9934_00, UnkEnum_ov101_021D9934_1_00 }
},
{
{ 0x5, UnkEnum_ov101_021D9934_03, UnkEnum_ov101_021D9934_1_00 },
{ 0xF, UnkEnum_ov101_021D9934_01, UnkEnum_ov101_021D9934_1_01 },
{ 0xF, UnkEnum_ov101_021D9934_05, UnkEnum_ov101_021D9934_1_02 },
{ 0xF, UnkEnum_ov101_021D9934_02, UnkEnum_ov101_021D9934_1_02 },
{ 0xA, UnkEnum_ov101_021D9934_04, UnkEnum_ov101_021D9934_1_01 },
{ 0x28, UnkEnum_ov101_021D9934_00, UnkEnum_ov101_021D9934_1_00 }
},
{
{ 0x5, UnkEnum_ov101_021D9934_03, UnkEnum_ov101_021D9934_1_00 },
{ 0x14, UnkEnum_ov101_021D9934_01, UnkEnum_ov101_021D9934_1_01 },
{ 0xF, UnkEnum_ov101_021D9934_05, UnkEnum_ov101_021D9934_1_02 },
{ 0x14, UnkEnum_ov101_021D9934_02, UnkEnum_ov101_021D9934_1_02 },
{ 0xA, UnkEnum_ov101_021D9934_04, UnkEnum_ov101_021D9934_1_01 },
{ 0x1E, UnkEnum_ov101_021D9934_00, UnkEnum_ov101_021D9934_1_00 }
},
{
{ 0x5, UnkEnum_ov101_021D9934_03, UnkEnum_ov101_021D9934_1_00 },
{ 0x14, UnkEnum_ov101_021D9934_01, UnkEnum_ov101_021D9934_1_01 },
{ 0xF, UnkEnum_ov101_021D9934_05, UnkEnum_ov101_021D9934_1_02 },
{ 0x14, UnkEnum_ov101_021D9934_02, UnkEnum_ov101_021D9934_1_02 },
{ 0xA, UnkEnum_ov101_021D9934_04, UnkEnum_ov101_021D9934_1_01 },
{ 0x1E, UnkEnum_ov101_021D9934_00, UnkEnum_ov101_021D9934_1_00 }
}
};
const u32 Unk_ov101_021D9568[UnkEnum_ov101_021D9934_06] = {
0x32,
0x46,
0x5A,
0x32,
0x46,
0x5A
};
const UnkStruct_ov101_021D9784 Unk_ov101_021D9784[6][UnkEnum_ov101_021D9934_1_03][UnkEnum_ov101_021D6764_03] = {
{
{
{ 0x5, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x4B, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x14, UnkEnum_ov101_021D6764_02 },
{ 0x3C, UnkEnum_ov101_021D6764_00 },
{ 0x14, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x4B, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x5, UnkEnum_ov101_021D6764_01 }
}
},
{
{
{ 0x5, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x4B, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x14, UnkEnum_ov101_021D6764_02 },
{ 0x3C, UnkEnum_ov101_021D6764_00 },
{ 0x14, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x4B, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x5, UnkEnum_ov101_021D6764_01 }
}
},
{
{
{ 0x5, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x4B, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x14, UnkEnum_ov101_021D6764_02 },
{ 0x3C, UnkEnum_ov101_021D6764_00 },
{ 0x14, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x4B, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x5, UnkEnum_ov101_021D6764_01 }
}
},
{
{
{ 0x5, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x4B, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x14, UnkEnum_ov101_021D6764_02 },
{ 0x3C, UnkEnum_ov101_021D6764_00 },
{ 0x14, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x4B, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x5, UnkEnum_ov101_021D6764_01 }
}
},
{
{
{ 0x5, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x4B, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x14, UnkEnum_ov101_021D6764_02 },
{ 0x3C, UnkEnum_ov101_021D6764_00 },
{ 0x14, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x4B, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x5, UnkEnum_ov101_021D6764_01 }
}
},
{
{
{ 0x5, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x4B, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x14, UnkEnum_ov101_021D6764_02 },
{ 0x3C, UnkEnum_ov101_021D6764_00 },
{ 0x14, UnkEnum_ov101_021D6764_01 }
},
{
{ 0x4B, UnkEnum_ov101_021D6764_02 },
{ 0x14, UnkEnum_ov101_021D6764_00 },
{ 0x5, UnkEnum_ov101_021D6764_01 }
}
}
};
const u32 Unk_ov101_021D9538[6] = {
0x19,
0x19,
0x1E,
0x1E,
0x23,
0x23
};
const u32 Unk_ov101_021D9628[6][4] = {
{ 0x5, 0xF, 0x1E, 0x32 },
{ 0x5, 0xF, 0x1E, 0x32 },
{ 0x5, 0xF, 0x1E, 0x32 },
{ 0x5, 0xF, 0x1E, 0x32 },
{ 0x5, 0xF, 0x1E, 0x32 },
{ 0x5, 0xF, 0x1E, 0x32 }
};
const u32 Unk_ov101_021D9580[6] = {
0x1,
0x1,
0x3,
0x3,
0x5,
0x5
};
const u32 Unk_ov101_021D9508[6] = {
0x3,
0x3,
0x5,
0x5,
0x7,
0x7
};
const u32 Unk_ov101_021D9598[6][2] = {
{ 0x19, 0x14 },
{ 0x14, 0xF },
{ 0xF, 0xF },
{ 0xF, 0xF },
{ 0xA, 0xF },
{ 0x5, 0xA }
};
const UnkStruct_ov101_021D9AE4 Unk_ov101_021D9AE4[6][UnkEnum_ov101_021D9AE4_09] = {
{
{ UnkEnum_ov101_021D9AE4_08, 0xA, 0xA, 0x50 },
{ UnkEnum_ov101_021D9AE4_07, 0xA, 0x1E, 0x3C },
{ UnkEnum_ov101_021D9AE4_06, 0xA, 0x28, 0x32 },
{ UnkEnum_ov101_021D9AE4_05, 0x14, 0x32, 0x1E },
{ UnkEnum_ov101_021D9AE4_04, 0x1E, 0x32, 0x14 },
{ UnkEnum_ov101_021D9AE4_03, 0x32, 0x28, 0xA },
{ UnkEnum_ov101_021D9AE4_02, 0x3C, 0x1E, 0xA },
{ UnkEnum_ov101_021D9AE4_01, 0x50, 0xA, 0xA },
{ UnkEnum_ov101_021D9AE4_00, 0x5A, 0x5, 0x5 }
},
{
{ UnkEnum_ov101_021D9AE4_08, 0xA, 0xA, 0x50 },
{ UnkEnum_ov101_021D9AE4_07, 0xA, 0x1E, 0x3C },
{ UnkEnum_ov101_021D9AE4_06, 0xA, 0x28, 0x32 },
{ UnkEnum_ov101_021D9AE4_05, 0x14, 0x32, 0x1E },
{ UnkEnum_ov101_021D9AE4_04, 0x1E, 0x32, 0x14 },
{ UnkEnum_ov101_021D9AE4_03, 0x32, 0x28, 0xA },
{ UnkEnum_ov101_021D9AE4_02, 0x3C, 0x1E, 0xA },
{ UnkEnum_ov101_021D9AE4_01, 0x50, 0xA, 0xA },
{ UnkEnum_ov101_021D9AE4_00, 0x5A, 0x5, 0x5 }
},
{
{ UnkEnum_ov101_021D9AE4_08, 0xA, 0xA, 0x50 },
{ UnkEnum_ov101_021D9AE4_07, 0xA, 0x1E, 0x3C },
{ UnkEnum_ov101_021D9AE4_06, 0xA, 0x28, 0x32 },
{ UnkEnum_ov101_021D9AE4_05, 0x14, 0x32, 0x1E },
{ UnkEnum_ov101_021D9AE4_04, 0x1E, 0x32, 0x14 },
{ UnkEnum_ov101_021D9AE4_03, 0x32, 0x28, 0xA },
{ UnkEnum_ov101_021D9AE4_02, 0x3C, 0x1E, 0xA },
{ UnkEnum_ov101_021D9AE4_01, 0x50, 0xA, 0xA },
{ UnkEnum_ov101_021D9AE4_00, 0x5A, 0x5, 0x5 }
},
{
{ UnkEnum_ov101_021D9AE4_08, 0xA, 0xA, 0x50 },
{ UnkEnum_ov101_021D9AE4_07, 0xA, 0x1E, 0x3C },
{ UnkEnum_ov101_021D9AE4_06, 0xA, 0x28, 0x32 },
{ UnkEnum_ov101_021D9AE4_05, 0x14, 0x32, 0x1E },
{ UnkEnum_ov101_021D9AE4_04, 0x1E, 0x32, 0x14 },
{ UnkEnum_ov101_021D9AE4_03, 0x32, 0x28, 0xA },
{ UnkEnum_ov101_021D9AE4_02, 0x3C, 0x1E, 0xA },
{ UnkEnum_ov101_021D9AE4_01, 0x50, 0xA, 0xA },
{ UnkEnum_ov101_021D9AE4_00, 0x5A, 0x5, 0x5 }
},
{
{ UnkEnum_ov101_021D9AE4_08, 0xA, 0xA, 0x50 },
{ UnkEnum_ov101_021D9AE4_07, 0xA, 0x1E, 0x3C },
{ UnkEnum_ov101_021D9AE4_06, 0xA, 0x28, 0x32 },
{ UnkEnum_ov101_021D9AE4_05, 0x14, 0x32, 0x1E },
{ UnkEnum_ov101_021D9AE4_04, 0x1E, 0x32, 0x14 },
{ UnkEnum_ov101_021D9AE4_03, 0x32, 0x28, 0xA },
{ UnkEnum_ov101_021D9AE4_02, 0x3C, 0x1E, 0xA },
{ UnkEnum_ov101_021D9AE4_01, 0x50, 0xA, 0xA },
{ UnkEnum_ov101_021D9AE4_00, 0x5A, 0x5, 0x5 }
},
{
{ UnkEnum_ov101_021D9AE4_08, 0xA, 0xA, 0x50 },
{ UnkEnum_ov101_021D9AE4_07, 0xA, 0x1E, 0x3C },
{ UnkEnum_ov101_021D9AE4_06, 0xA, 0x28, 0x32 },
{ UnkEnum_ov101_021D9AE4_05, 0x14, 0x32, 0x1E },
{ UnkEnum_ov101_021D9AE4_04, 0x1E, 0x32, 0x14 },
{ UnkEnum_ov101_021D9AE4_03, 0x32, 0x28, 0xA },
{ UnkEnum_ov101_021D9AE4_02, 0x3C, 0x1E, 0xA },
{ UnkEnum_ov101_021D9AE4_01, 0x50, 0xA, 0xA },
{ UnkEnum_ov101_021D9AE4_00, 0x5A, 0x5, 0x5 }
}
};

View File

@@ -0,0 +1,433 @@
#include <nitro.h>
#include <string.h>
#include "data_021BF67C.h"
#include "struct_decls/struct_020067E8_decl.h"
#include "struct_decls/struct_0200B144_decl.h"
#include "struct_decls/struct_0200B358_decl.h"
#include "struct_decls/struct_02018340_decl.h"
#include "struct_decls/struct_02023790_decl.h"
#include "struct_decls/struct_02025E6C_decl.h"
#include "struct_decls/struct_021C0794_decl.h"
#include "struct_defs/struct_0203E53C.h"
#include "struct_defs/struct_0205AA50.h"
#include "struct_defs/struct_0208BE5C.h"
#include "struct_defs/struct_02099F80.h"
#include "overlay061/struct_ov61_0222C884.h"
#include "overlay084/struct_ov84_0223BA5C.h"
#include "overlay097/struct_ov97_0222DB78.h"
#include "unk_02000C88.h"
#include "unk_02002B7C.h"
#include "unk_020067E8.h"
#include "unk_02006E3C.h"
#include "unk_0200AC5C.h"
#include "unk_0200B358.h"
#include "unk_0200F174.h"
#include "unk_02017728.h"
#include "unk_02017E74.h"
#include "unk_02018340.h"
#include "unk_0201D670.h"
#include "unk_0201FE94.h"
#include "unk_02023790.h"
#include "unk_02025E08.h"
#include "overlay102/ov102_021D0D80.h"
typedef struct {
int unk_00;
int unk_04;
UnkStruct_021C0794 * unk_08;
UnkStruct_02025E6C * unk_0C;
UnkStruct_02018340 * unk_10;
UnkStruct_0205AA50 unk_14;
UnkStruct_0205AA50 unk_24;
UnkStruct_0200B144 * unk_34;
UnkStruct_0200B358 * unk_38;
s16 unk_3C;
int unk_40;
} UnkStruct_ov102_021D0F8C;
void sub_02000EC4(FSOverlayID param0, const UnkStruct_0208BE5C * param1);
int ov102_021D0D80(UnkStruct_020067E8 * param0, int * param1);
int ov102_021D0E2C(UnkStruct_020067E8 * param0, int * param1);
int ov102_021D0F50(UnkStruct_020067E8 * param0, int * param1);
static void ov102_021D0F80(void * param0);
static void ov102_021D0F8C(UnkStruct_ov102_021D0F8C * param0);
static void ov102_021D10F8(UnkStruct_ov102_021D0F8C * param0);
static void ov102_021D1174(UnkStruct_ov102_021D0F8C * param0);
static void ov102_021D1204(UnkStruct_ov102_021D0F8C * param0);
static void ov102_021D1224(UnkStruct_ov102_021D0F8C * param0);
static void ov102_021D1230(UnkStruct_ov102_021D0F8C * param0);
static void ov102_021D1274(UnkStruct_ov102_021D0F8C * param0);
static void ov102_021D1420(UnkStruct_ov102_021D0F8C * param0);
int ov102_021D0D80 (UnkStruct_020067E8 * param0, int * param1)
{
UnkStruct_ov102_021D0F8C * v0;
int v1 = 84;
sub_02017FC8(3, v1, 0x20000);
v0 = sub_0200681C(param0, sizeof(UnkStruct_ov102_021D0F8C), v1);
memset(v0, 0, sizeof(UnkStruct_ov102_021D0F8C));
v0->unk_00 = v1;
{
UnkStruct_0203E53C * v2 = (UnkStruct_0203E53C *)sub_02006840(param0);
v0->unk_08 = v2->unk_00;
v0->unk_04 = v2->unk_04;
v0->unk_0C = sub_02025E38(v0->unk_08);
}
sub_0200F344(0, 0x0);
sub_0200F344(1, 0x0);
sub_02017798(NULL, NULL);
sub_020177BC(NULL, NULL);
sub_0201FF00();
sub_0201FF68();
GX_SetVisiblePlane(0);
GXS_SetVisiblePlane(0);
sub_02017DD4(4, 8);
ov102_021D0F8C(v0);
ov102_021D1174(v0);
sub_02017798(ov102_021D0F80, (void *)v0);
sub_0201FFD0();
return 1;
}
int ov102_021D0E2C (UnkStruct_020067E8 * param0, int * param1)
{
UnkStruct_ov102_021D0F8C * v0 = sub_0200682C(param0);
int v1 = 0;
switch (*param1) {
case 0:
ov102_021D1224(v0);
ov102_021D1274(v0);
ov102_021D1420(v0);
sub_02019120(0, 1);;
sub_02019120(1, 1);;
sub_02019120(3, 1);;
sub_02019120(4, 1);;
sub_02019120(5, 1);;
sub_02019120(7, 1);;
sub_0200F174(0, 1, 1, 0x0, 6, 1, v0->unk_00);
*param1 = 1;
break;
case 1:
if (sub_0200F2AC() == 1) {
v0->unk_40 = 0;
*param1 = 2;
}
break;
case 2:
if (v0->unk_40 < 60) {
v0->unk_40++;
} else {
*param1 = 3;
}
break;
case 3:
if ((v0->unk_3C > -8 * 24)) {
v0->unk_3C -= 4;
ov102_021D1230(v0);
} else {
v0->unk_3C = -8 * 24;
ov102_021D1230(v0);
*param1 = 4;
}
break;
case 4:
if ((((Unk_021BF67C.unk_48 & PAD_BUTTON_A) == PAD_BUTTON_A)) || (((Unk_021BF67C.unk_48 & PAD_BUTTON_B) == PAD_BUTTON_B)) || (Unk_021BF67C.unk_60)) {
sub_0200F174(0, 0, 0, 0x0, 6, 1, v0->unk_00);
*param1 = 5;
}
break;
case 5:
if (sub_0200F2AC() == 1) {
v1 = 1;
}
break;
}
return v1;
}
int ov102_021D0F50 (UnkStruct_020067E8 * param0, int * param1)
{
UnkStruct_ov102_021D0F8C * v0 = sub_0200682C(param0);
int v1 = v0->unk_00;
ov102_021D1204(v0);
ov102_021D10F8(v0);
sub_02017798(NULL, NULL);
sub_02006830(param0);
sub_0201807C(v1);
return 1;
}
static void ov102_021D0F80 (void * param0)
{
UnkStruct_ov102_021D0F8C * v0 = param0;
sub_0201C2B8(v0->unk_10);
}
#define BGCONTSET(frame, scr, cgx, scrsiz, bufsiz){ \
v2.unk_12 = scr; \
v2.unk_13 = cgx; \
v2.unk_08 = bufsiz; \
v2.unk_10 = scrsiz; \
sub_020183C4(param0->unk_10, frame, &v2, 0); \
sub_02019EBC(param0->unk_10, frame); \
}
static void ov102_021D0F8C (UnkStruct_ov102_021D0F8C * param0)
{
{
UnkStruct_02099F80 v0 = {
GX_VRAM_BG_128_B, GX_VRAM_BGEXTPLTT_NONE, GX_VRAM_SUB_BG_128_C, GX_VRAM_SUB_BGEXTPLTT_NONE, GX_VRAM_OBJ_NONE, GX_VRAM_OBJEXTPLTT_NONE, GX_VRAM_SUB_OBJ_NONE, GX_VRAM_SUB_OBJEXTPLTT_NONE, GX_VRAM_TEX_NONE, GX_VRAM_TEXPLTT_NONE
};
sub_0201FE94(&v0);
}
{
param0->unk_10 = sub_02018340(param0->unk_00);
}
{
UnkStruct_ov84_0223BA5C v1 = {
GX_DISPMODE_GRAPHICS, GX_BGMODE_0, GX_BGMODE_0, GX_BG0_AS_2D
};
sub_02018368(&v1);
}
{
UnkStruct_ov97_0222DB78 v2 = {
0,
0,
0,
0,
1,
GX_BG_COLORMODE_16,
0,
0,
GX_BG_EXTPLTT_01,
0,
0,
0,
0
};
v2.unk_12 = GX_BG_SCRBASE_0x0000;
v2.unk_13 = GX_BG_CHARBASE_0x10000;
v2.unk_08 = 0x1000; v2.unk_10 = 2;
sub_020183C4(param0->unk_10, 0, &v2, 0);
sub_02019EBC(param0->unk_10, 0);
v2.unk_12 = GX_BG_SCRBASE_0x1000;
v2.unk_13 = GX_BG_CHARBASE_0x08000;
v2.unk_08 = 0x1000;
v2.unk_10 = 2;
sub_020183C4(param0->unk_10, 1, &v2, 0);
sub_02019EBC(param0->unk_10, 1);
v2.unk_12 = GX_BG_SCRBASE_0x2000;
v2.unk_13 = GX_BG_CHARBASE_0x04000;
v2.unk_08 = 0x800;
v2.unk_10 = 1;
sub_020183C4(param0->unk_10, 3, &v2, 0);
sub_02019EBC(param0->unk_10, 3);
v2.unk_12 = GX_BG_SCRBASE_0x0000;
v2.unk_13 = GX_BG_CHARBASE_0x10000;
v2.unk_08 = 0x1000;
v2.unk_10 = 2;
sub_020183C4(param0->unk_10, 4, &v2, 0);
sub_02019EBC(param0->unk_10, 4);
v2.unk_12 = GX_BG_SCRBASE_0x1000;
v2.unk_13 = GX_BG_CHARBASE_0x08000;
v2.unk_08 = 0x1000;
v2.unk_10 = 2;
sub_020183C4(param0->unk_10, 5, &v2, 0);
sub_02019EBC(param0->unk_10, 5);
v2.unk_12 = GX_BG_SCRBASE_0x2000;
v2.unk_13 = GX_BG_CHARBASE_0x04000;
v2.unk_08 = 0x800;
v2.unk_10 = 1;
sub_020183C4(param0->unk_10, 7, &v2, 0);
sub_02019EBC(param0->unk_10, 7);
}
sub_02019120(0, 0);
sub_02019120(1, 0);
sub_02019120(2, 0);
sub_02019120(3, 0);
sub_02019120(4, 0);
sub_02019120(5, 0);
sub_02019120(6, 0);
sub_02019120(7, 0);
}
static void ov102_021D10F8 (UnkStruct_ov102_021D0F8C * param0)
{
sub_02019120(0, 0);
sub_02019120(1, 0);
sub_02019120(2, 0);
sub_02019120(3, 0);
sub_02019120(4, 0);
sub_02019120(5, 0);
sub_02019120(6, 0);
sub_02019120(7, 0);
sub_02019044(param0->unk_10, 0);
sub_02019044(param0->unk_10, 1);
sub_02019044(param0->unk_10, 3);
sub_02019044(param0->unk_10, 4);
sub_02019044(param0->unk_10, 5);
sub_02019044(param0->unk_10, 7);
sub_020181C4(param0->unk_10);
}
static void ov102_021D1174 (UnkStruct_ov102_021D0F8C * param0)
{
UnkStruct_ov61_0222C884 v0 = {0, 0, 0, 32, 24, 2, 1};
sub_0201D710();
param0->unk_34 = sub_0200B144(1, 26, 1, param0->unk_00);
param0->unk_38 = sub_0200B358(param0->unk_00);
v0.unk_00 = 0;
sub_0201A8D4(param0->unk_10, &param0->unk_14, &v0);
sub_0201AE78(&param0->unk_14, 0, 0, 0, 32 * 8, 24 * 8);
v0.unk_00 = 4;
sub_0201A8D4(param0->unk_10, &param0->unk_24, &v0);
sub_0201AE78(&param0->unk_24, 0, 0, 0, 32 * 8, 24 * 8);
}
static void ov102_021D1204 (UnkStruct_ov102_021D0F8C * param0)
{
sub_0201A8FC(&param0->unk_24);
sub_0201A8FC(&param0->unk_14);
sub_0200B3F0(param0->unk_38);
sub_0200B190(param0->unk_34);
}
static void ov102_021D1224 (UnkStruct_ov102_021D0F8C * param0)
{
param0->unk_3C = 0;
ov102_021D1230(param0);
}
static void ov102_021D1230 (UnkStruct_ov102_021D0F8C * param0)
{
sub_02019184(param0->unk_10, 1, 3, param0->unk_3C);
sub_02019184(param0->unk_10, 5, 3, param0->unk_3C + (8 * 24));
sub_02019184(param0->unk_10, 0, 3, param0->unk_3C);
sub_02019184(param0->unk_10, 4, 3, param0->unk_3C + (8 * 24));
}
static void ov102_021D1274 (UnkStruct_ov102_021D0F8C * param0)
{
int v0, v1, v2;
int v3, v4, v5;
if (param0->unk_04 == 0) {
v0 = 10;
v1 = 2;
v2 = 6;
v3 = 8;
v4 = 0;
v5 = 4;
} else {
v0 = 11;
v1 = 3;
v2 = 7;
v3 = 9;
v4 = 1;
v5 = 5;
}
sub_02006E60(132, v0, param0->unk_10, 3, 0, 0, 0, param0->unk_00);
sub_02006E3C(132, v1, param0->unk_10, 3, 0, 0, 0, param0->unk_00);
sub_02006E84(132, v2, 0, 0 * (2 * 16), (2 * 16), param0->unk_00);
sub_02006E60(132, v0, param0->unk_10, 7, 0, 0, 0, param0->unk_00);
sub_02006E3C(132, v1, param0->unk_10, 7, 0, 0, 0, param0->unk_00);
sub_02006E84(132, v2, 4, 0 * (2 * 16), (2 * 16), param0->unk_00);
sub_02006E60(132, v3, param0->unk_10, 1, 0, 0, 0, param0->unk_00);
sub_02019E2C(param0->unk_10, 1, 0, 0, 32, 24, 1);
sub_02019448(param0->unk_10, 1);
sub_02006E3C(132, v4, param0->unk_10, 1, 0, 0, 0, param0->unk_00);
sub_02006E84(132, v5, 0, 1 * (2 * 16), (2 * 16), param0->unk_00);
sub_02006E60(132, v3, param0->unk_10, 5, 0, 0, 0, param0->unk_00);
sub_02019E2C(param0->unk_10, 5, 0, 0, 32, 24, 1);
sub_02019448(param0->unk_10, 5);
sub_02006E3C(132, v4, param0->unk_10, 5, 0, 0, 0, param0->unk_00);
sub_02006E84(132, v5, 4, 1 * (2 * 16), (2 * 16), param0->unk_00);
sub_02019690(0, 32, 0, param0->unk_00);
sub_02019690(4, 32, 0, param0->unk_00);
sub_02002E7C(0, 2 * (2 * 16), param0->unk_00);
sub_02002E7C(4, 2 * (2 * 16), param0->unk_00);
}
static void ov102_021D1420 (UnkStruct_ov102_021D0F8C * param0)
{
UnkStruct_02023790 * v0 = sub_02023790(0x200, param0->unk_00);
{
UnkStruct_02023790 * v1 = sub_02023790(0x200, param0->unk_00);
sub_0200B1B8(param0->unk_34, 0, v1);
sub_0200B498(param0->unk_38, 0, param0->unk_0C);
sub_0200C388(param0->unk_38, v0, v1);
sub_0201D78C(&param0->unk_14, 0, v0, 48, 32, 0, (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)), NULL);
sub_0201D78C(&param0->unk_24, 0, v0, 48, 32, 0, (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)), NULL);
sub_020237BC(v1);
}
{
int v2;
if (param0->unk_04 == 0) {
v2 = 1;
} else {
v2 = 2;
}
sub_0200B1B8(param0->unk_34, v2, v0);
sub_0201D78C(&param0->unk_14, 0, v0, 64, 64, 0, (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)), NULL);
sub_0201D78C(&param0->unk_24, 0, v0, 64, 64, 0, (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)), NULL);
}
{
sub_0200B1B8(param0->unk_34, 3, v0);
sub_0201D78C(&param0->unk_14, 0, v0, 138, 144, 0, (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)), NULL);
sub_0201D78C(&param0->unk_24, 0, v0, 138, 144, 0, (u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)), NULL);
}
sub_020237BC(v0);
}