mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-10-02 06:20:38 -05:00
Match files in overlay13
This commit is contained in:
@@ -1,172 +0,0 @@
|
||||
.public sub_02002BB8
|
||||
.public sub_02002C60
|
||||
.public sub_02002FBC
|
||||
.public sub_02003050
|
||||
.public sub_02003164
|
||||
.public sub_02003178
|
||||
.public sub_0200384C
|
||||
.public sub_02005748
|
||||
.public sub_0200679C
|
||||
.public sub_020067D0
|
||||
.public sub_02006AC0
|
||||
.public sub_02006C24
|
||||
.public sub_02006CA8
|
||||
.public sub_02006CB8
|
||||
.public sub_02006E3C
|
||||
.public sub_020070E8
|
||||
.public sub_0200B144
|
||||
.public sub_0200B190
|
||||
.public sub_0200B1B8
|
||||
.public sub_0200B1EC
|
||||
.public sub_0200B358
|
||||
.public sub_0200B3F0
|
||||
.public sub_0200B5CC
|
||||
.public sub_0200BA74
|
||||
.public sub_0200C388
|
||||
.public sub_0200C440
|
||||
.public sub_0200C560
|
||||
.public sub_0200C7EC
|
||||
.public sub_0200D3F4
|
||||
.public sub_0200DD04
|
||||
.public sub_0200DD08
|
||||
.public sub_0200E084
|
||||
.public sub_02018144
|
||||
.public sub_020181C4
|
||||
.public sub_020183A0
|
||||
.public sub_020183C4
|
||||
.public sub_02019044
|
||||
.public sub_02019690
|
||||
.public sub_020198C0
|
||||
.public sub_02019CB8
|
||||
.public sub_02019EBC
|
||||
.public sub_02019F04
|
||||
.public sub_0201AD10
|
||||
.public sub_0201C3C0
|
||||
.public sub_0201CED0
|
||||
.public sub_0201D724
|
||||
.public sub_0201FF74
|
||||
.public sub_02022664
|
||||
.public sub_02022798
|
||||
.public sub_02023790
|
||||
.public sub_020237BC
|
||||
.public sub_02074470
|
||||
.public sub_02075AD0
|
||||
.public sub_02075D6C
|
||||
.public sub_02076B10
|
||||
.public sub_020790C4
|
||||
.public sub_020790DC
|
||||
.public sub_0207A0F8
|
||||
.public sub_0207A0FC
|
||||
.public sub_0207CFF0
|
||||
.public sub_0207D28C
|
||||
.public sub_0207D60C
|
||||
.public sub_0207DA1C
|
||||
.public sub_0208C0BC
|
||||
.public sub_0208E9F0
|
||||
.public sub_02095734
|
||||
.public NNS_G2dGetUnpackedScreenData
|
||||
.public memcpy
|
||||
.public memset
|
||||
.public _s32_div_f
|
||||
.public ov13_0221FCAC
|
||||
.public ov13_0221FE5C
|
||||
.public ov13_0221FF60
|
||||
.public ov13_0221FFDC
|
||||
.public ov13_0222012C
|
||||
.public ov13_022201DC
|
||||
.public ov13_0222029C
|
||||
.public ov13_022203A0
|
||||
.public ov13_02220418
|
||||
.public ov13_0222050C
|
||||
.public ov13_02220628
|
||||
.public ov13_0222072C
|
||||
.public ov13_02220738
|
||||
.public ov13_02220744
|
||||
.public ov13_02220750
|
||||
.public ov13_0222075C
|
||||
.public ov13_02220768
|
||||
.public ov13_0222078C
|
||||
.public ov13_022207B8
|
||||
.public ov13_022207DC
|
||||
.public ov13_0222081C
|
||||
.public ov13_02220834
|
||||
.public ov13_02220848
|
||||
.public ov13_02220864
|
||||
.public ov13_0222088C
|
||||
.public ov13_022208A4
|
||||
.public ov13_02220A4C
|
||||
.public ov13_02220B78
|
||||
.public ov13_02220BA4
|
||||
.public ov13_02220C0C
|
||||
.public ov13_02220D1C
|
||||
.public ov13_02220D4C
|
||||
.public ov13_02220F08
|
||||
.public ov13_02220F60
|
||||
.public ov13_02220F98
|
||||
.public ov13_0222124C
|
||||
.public ov13_022212C4
|
||||
.public ov13_0222130C
|
||||
.public ov13_02221354
|
||||
.public ov13_0222139C
|
||||
.public ov13_022213E4
|
||||
.public ov13_022213F0
|
||||
.public ov13_02221428
|
||||
.public ov13_022214E0
|
||||
.public ov13_02221560
|
||||
.public ov13_02221590
|
||||
.public ov13_02221630
|
||||
.public ov13_02221654
|
||||
.public ov13_022216C0
|
||||
.public ov13_02221738
|
||||
.public ov13_022217A4
|
||||
.public ov13_0222194C
|
||||
.public ov13_0222196C
|
||||
.public ov13_0222198C
|
||||
.public ov13_022219AC
|
||||
.public ov13_022219DC
|
||||
.public ov13_02221A04
|
||||
.public ov13_02221A3C
|
||||
.public ov13_02221A54
|
||||
.public ov13_02221A88
|
||||
.public ov13_02221AC4
|
||||
.public ov13_02221BB0
|
||||
.public ov13_02221BC8
|
||||
.public ov13_02221BF8
|
||||
.public ov13_02223118
|
||||
.public ov13_02223448
|
||||
.public ov13_022234A8
|
||||
.public ov13_02223F5C
|
||||
.public ov13_022240E0
|
||||
.public ov13_02224144
|
||||
.public ov13_0222449C
|
||||
.public ov13_02224500
|
||||
.public ov13_02224970
|
||||
.public ov13_02224B7C
|
||||
.public ov13_022252E8
|
||||
.public ov13_0222537C
|
||||
.public ov13_0222563C
|
||||
.public ov13_022256E8
|
||||
.public ov13_02225710
|
||||
.public ov13_02225A3C
|
||||
.public ov13_02225FCC
|
||||
.public ov13_0222601C
|
||||
.public ov13_022260EC
|
||||
.public ov13_02226444
|
||||
.public ov13_022264C4
|
||||
.public ov13_02228A38
|
||||
.public ov13_02228A50
|
||||
.public ov13_02228A5C
|
||||
.public ov13_02228A60
|
||||
.public ov13_02228B64
|
||||
.public ov16_0223DF00
|
||||
.public ov16_0223DF0C
|
||||
.public ov16_0223DFAC
|
||||
.public ov16_0223E064
|
||||
.public ov16_0223E120
|
||||
.public ov16_0223E1AC
|
||||
.public ov16_0223E1B0
|
||||
.public ov16_0223E1F8
|
||||
.public ov16_0223E258
|
||||
.public ov16_0223E30C
|
||||
.public ov16_0223EDE0
|
||||
.public ov16_0223F1F8
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,87 +0,0 @@
|
||||
.public sub_02002AC8
|
||||
.public sub_02002D7C
|
||||
.public sub_02002EEC
|
||||
.public sub_0200B144
|
||||
.public sub_0200B190
|
||||
.public sub_0200B1B8
|
||||
.public sub_0200B1EC
|
||||
.public sub_0200B5CC
|
||||
.public sub_0200B60C
|
||||
.public sub_0200B630
|
||||
.public sub_0200B6A0
|
||||
.public sub_0200B70C
|
||||
.public sub_0200C388
|
||||
.public sub_0200C578
|
||||
.public sub_0200C5BC
|
||||
.public sub_0200C648
|
||||
.public sub_0200E060
|
||||
.public sub_020181C4
|
||||
.public sub_0201A778
|
||||
.public sub_0201A8D4
|
||||
.public sub_0201A8FC
|
||||
.public sub_0201A928
|
||||
.public sub_0201A9A4
|
||||
.public sub_0201ADA4
|
||||
.public sub_0201AE78
|
||||
.public sub_0201C294
|
||||
.public sub_0201D738
|
||||
.public sub_0201D78C
|
||||
.public sub_02023790
|
||||
.public sub_020237BC
|
||||
.public sub_02074470
|
||||
.public sub_02076B10
|
||||
.public sub_020790C4
|
||||
.public sub_0207A0F8
|
||||
.public sub_0207CF48
|
||||
.public sub_0207CFF0
|
||||
.public sub_0207D014
|
||||
.public sub_0208C0BC
|
||||
.public sub_0208C104
|
||||
.public sub_0208E9F0
|
||||
.public sub_0209577C
|
||||
.public ov13_02221AC4
|
||||
.public ov13_02221C54
|
||||
.public ov13_02221E08
|
||||
.public ov13_02221E50
|
||||
.public ov13_02221ED0
|
||||
.public ov13_02221FA8
|
||||
.public ov13_02222030
|
||||
.public ov13_022220CC
|
||||
.public ov13_02222170
|
||||
.public ov13_022221C8
|
||||
.public ov13_0222222C
|
||||
.public ov13_02222290
|
||||
.public ov13_02222464
|
||||
.public ov13_02222560
|
||||
.public ov13_0222265C
|
||||
.public ov13_0222275C
|
||||
.public ov13_0222285C
|
||||
.public ov13_0222295C
|
||||
.public ov13_02222AF4
|
||||
.public ov13_02222B6C
|
||||
.public ov13_02222BB4
|
||||
.public ov13_02222C9C
|
||||
.public ov13_02222CE4
|
||||
.public ov13_02222DCC
|
||||
.public ov13_02222E2C
|
||||
.public ov13_02222E94
|
||||
.public ov13_02222EF8
|
||||
.public ov13_02222F74
|
||||
.public ov13_022230A8
|
||||
.public ov13_0222317C
|
||||
.public ov13_022232C8
|
||||
.public ov13_0222339C
|
||||
.public ov13_02223448
|
||||
.public ov13_022234A8
|
||||
.public ov13_022234C8
|
||||
.public ov13_02223550
|
||||
.public ov13_022236B8
|
||||
.public ov13_022237F8
|
||||
.public ov13_02223A10
|
||||
.public ov13_02223B74
|
||||
.public ov13_02223C9C
|
||||
.public ov13_02223E68
|
||||
.public ov13_02223F7C
|
||||
.public ov13_02224108
|
||||
.public ov16_0223DFAC
|
||||
.public ov16_0223EDF0
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,104 +0,0 @@
|
||||
.public sub_02006C24
|
||||
.public sub_02006CA8
|
||||
.public sub_0200C704
|
||||
.public sub_0200C7C0
|
||||
.public sub_0200CB30
|
||||
.public sub_0200CBDC
|
||||
.public sub_0200CC3C
|
||||
.public sub_0200CD7C
|
||||
.public sub_0200CDC4
|
||||
.public sub_0200CE0C
|
||||
.public sub_0200CE24
|
||||
.public sub_0200CE3C
|
||||
.public sub_0200CE54
|
||||
.public sub_0200CE6C
|
||||
.public sub_0200D0B0
|
||||
.public sub_0200D0F4
|
||||
.public sub_0200D34C
|
||||
.public sub_0200D364
|
||||
.public sub_0200D37C
|
||||
.public sub_0200D3CC
|
||||
.public sub_0200D3F4
|
||||
.public sub_0200D41C
|
||||
.public sub_0200D4C4
|
||||
.public sub_0200D948
|
||||
.public sub_0201FF74
|
||||
.public sub_020790C4
|
||||
.public sub_02079D80
|
||||
.public sub_02079D8C
|
||||
.public sub_02079EDC
|
||||
.public sub_02079FD0
|
||||
.public sub_02079FD8
|
||||
.public sub_02079FE4
|
||||
.public sub_0207A0F8
|
||||
.public sub_0207C908
|
||||
.public sub_0207C92C
|
||||
.public sub_0207C944
|
||||
.public sub_0207C948
|
||||
.public sub_0207C9B0
|
||||
.public sub_0207C9EC
|
||||
.public sub_0207CA90
|
||||
.public sub_0207CAA8
|
||||
.public sub_0207CAC0
|
||||
.public sub_0207CAC4
|
||||
.public sub_0207D2D0
|
||||
.public sub_02081930
|
||||
.public sub_02081934
|
||||
.public sub_02081938
|
||||
.public sub_0208193C
|
||||
.public sub_0208C104
|
||||
.public sub_0208E9E0
|
||||
.public sub_0208E9E4
|
||||
.public sub_0208E9E8
|
||||
.public sub_0208E9EC
|
||||
.public _u32_div_f
|
||||
.public ov13_0222453C
|
||||
.public ov13_02224588
|
||||
.public ov13_02224670
|
||||
.public ov13_02224720
|
||||
.public ov13_02224798
|
||||
.public ov13_02224848
|
||||
.public ov13_022248D8
|
||||
.public ov13_02224948
|
||||
.public ov13_022249AC
|
||||
.public ov13_022249CC
|
||||
.public ov13_02224A0C
|
||||
.public ov13_02224A5C
|
||||
.public ov13_02224AB0
|
||||
.public ov13_02224AD4
|
||||
.public ov13_02224B28
|
||||
.public ov13_02224B5C
|
||||
.public ov13_02224C14
|
||||
.public ov13_02224CB0
|
||||
.public ov13_02224D08
|
||||
.public ov13_02224DA0
|
||||
.public ov13_02224E78
|
||||
.public ov13_02224F3C
|
||||
.public ov13_02224FA8
|
||||
.public ov13_0222506C
|
||||
.public ov13_022250D8
|
||||
.public ov13_02225150
|
||||
.public ov13_022251B4
|
||||
.public ov13_02225248
|
||||
.public ov13_022252E8
|
||||
.public ov13_02225304
|
||||
.public ov13_02225324
|
||||
.public ov13_022253DC
|
||||
.public ov13_02225420
|
||||
.public ov13_0222554C
|
||||
.public ov13_022255B8
|
||||
.public ov13_022255EC
|
||||
.public ov13_02225614
|
||||
.public ov13_02228A58
|
||||
.public ov13_02228A60
|
||||
.public ov13_02228A64
|
||||
.public ov13_02228A68
|
||||
.public ov13_02228A90
|
||||
.public ov13_02228A9C
|
||||
.public ov13_02228AC8
|
||||
.public ov16_0223E010
|
||||
.public ov16_0226DB7C
|
||||
.public ov16_0226DBFC
|
||||
.public ov16_0226DC24
|
||||
.public ov16_0226DCA8
|
||||
.public ov16_0226DDE8
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,18 +0,0 @@
|
||||
.public sub_02002FBC
|
||||
.public sub_0200D5DC
|
||||
.public sub_02018144
|
||||
.public sub_020181C4
|
||||
.public sub_020198C0
|
||||
.public sub_0201A9A4
|
||||
.public sub_0201C04C
|
||||
.public sub_0201C3C0
|
||||
.public memcpy
|
||||
.public ov13_022213F0
|
||||
.public ov13_022219AC
|
||||
.public ov13_02225AF0
|
||||
.public ov13_02225B40
|
||||
.public ov13_02225C4C
|
||||
.public ov13_02225D8C
|
||||
.public ov13_02225E08
|
||||
.public ov13_02225EB8
|
||||
.public ov13_02226484
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,129 +0,0 @@
|
||||
.public sub_02002BB8
|
||||
.public sub_02002C60
|
||||
.public sub_02003050
|
||||
.public sub_02003178
|
||||
.public sub_0200384C
|
||||
.public sub_02005748
|
||||
.public sub_0200679C
|
||||
.public sub_020067D0
|
||||
.public sub_02006C24
|
||||
.public sub_02006CA8
|
||||
.public sub_02006CB8
|
||||
.public sub_02006E3C
|
||||
.public sub_020070E8
|
||||
.public sub_0200710C
|
||||
.public sub_0200B144
|
||||
.public sub_0200B190
|
||||
.public sub_0200B1B8
|
||||
.public sub_0200B1EC
|
||||
.public sub_0200B358
|
||||
.public sub_0200B3F0
|
||||
.public sub_0200B498
|
||||
.public sub_0200B5CC
|
||||
.public sub_0200B630
|
||||
.public sub_0200C388
|
||||
.public sub_0200C440
|
||||
.public sub_0200C560
|
||||
.public sub_0200C7EC
|
||||
.public sub_0200DD04
|
||||
.public sub_0200DD08
|
||||
.public sub_0200E084
|
||||
.public sub_020181C4
|
||||
.public sub_020183A0
|
||||
.public sub_020183C4
|
||||
.public sub_02019044
|
||||
.public sub_02019690
|
||||
.public sub_02019E2C
|
||||
.public sub_02019EBC
|
||||
.public sub_02019F04
|
||||
.public sub_0201C3C0
|
||||
.public sub_0201C63C
|
||||
.public sub_0201CED0
|
||||
.public sub_0201D724
|
||||
.public sub_0201FF74
|
||||
.public sub_02022664
|
||||
.public sub_02022798
|
||||
.public sub_02023790
|
||||
.public sub_020237BC
|
||||
.public sub_02076B10
|
||||
.public sub_020799A0
|
||||
.public sub_0207A0F8
|
||||
.public sub_0207CFF0
|
||||
.public sub_0207D60C
|
||||
.public sub_0207D9D8
|
||||
.public sub_0207D9E4
|
||||
.public sub_0207D9E8
|
||||
.public sub_0207D9EC
|
||||
.public sub_0207D9F0
|
||||
.public sub_0207DA1C
|
||||
.public sub_0207DA24
|
||||
.public NNS_G2dGetUnpackedScreenData
|
||||
.public memset
|
||||
.public ov13_02226590
|
||||
.public ov13_0222668C
|
||||
.public ov13_02226760
|
||||
.public ov13_02226838
|
||||
.public ov13_02226948
|
||||
.public ov13_022269C0
|
||||
.public ov13_02226A5C
|
||||
.public ov13_02226C48
|
||||
.public ov13_02226C54
|
||||
.public ov13_02226C60
|
||||
.public ov13_02226C6C
|
||||
.public ov13_02226C7C
|
||||
.public ov13_02226C94
|
||||
.public ov13_02226CBC
|
||||
.public ov13_02226CD4
|
||||
.public ov13_02226CFC
|
||||
.public ov13_02226D94
|
||||
.public ov13_02226ED0
|
||||
.public ov13_02226F9C
|
||||
.public ov13_02226FC4
|
||||
.public ov13_022270B8
|
||||
.public ov13_022270F8
|
||||
.public ov13_02227118
|
||||
.public ov13_0222717C
|
||||
.public ov13_022271D0
|
||||
.public ov13_02227238
|
||||
.public ov13_02227244
|
||||
.public ov13_02227260
|
||||
.public ov13_02227288
|
||||
.public ov13_022272AC
|
||||
.public ov13_02227324
|
||||
.public ov13_02227334
|
||||
.public ov13_02227350
|
||||
.public ov13_02227650
|
||||
.public ov13_02227698
|
||||
.public ov13_022279F4
|
||||
.public ov13_02227A4C
|
||||
.public ov13_02227A7C
|
||||
.public ov13_02227AC8
|
||||
.public ov13_02227BA8
|
||||
.public ov13_02227BDC
|
||||
.public ov13_02227E08
|
||||
.public ov13_02227E68
|
||||
.public ov13_02228008
|
||||
.public ov13_02228050
|
||||
.public ov13_022280F0
|
||||
.public ov13_02228128
|
||||
.public ov13_0222880C
|
||||
.public ov13_02228848
|
||||
.public ov13_02228924
|
||||
.public ov13_02228A38
|
||||
.public ov13_02228A50
|
||||
.public ov13_02228A5C
|
||||
.public ov13_02228A60
|
||||
.public ov13_02228B64
|
||||
.public ov16_0223DF00
|
||||
.public ov16_0223DF0C
|
||||
.public ov16_0223DF10
|
||||
.public ov16_0223DF20
|
||||
.public ov16_0223DFAC
|
||||
.public ov16_0223E064
|
||||
.public ov16_0223E1AC
|
||||
.public ov16_0223E1B0
|
||||
.public ov16_0223E228
|
||||
.public ov16_0223E30C
|
||||
.public ov16_0223EDE0
|
||||
.public ov16_0225B45C
|
||||
.public ov16_0226DFD4
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,35 +0,0 @@
|
||||
.public sub_02002AC8
|
||||
.public sub_02002D7C
|
||||
.public sub_0200B1EC
|
||||
.public sub_0200B60C
|
||||
.public sub_0200B70C
|
||||
.public sub_0200C388
|
||||
.public sub_0200E060
|
||||
.public sub_02019CB8
|
||||
.public sub_0201A778
|
||||
.public sub_0201A8D4
|
||||
.public sub_0201A8FC
|
||||
.public sub_0201A928
|
||||
.public sub_0201A9A4
|
||||
.public sub_0201ADA4
|
||||
.public sub_0201C294
|
||||
.public sub_0201D738
|
||||
.public sub_0201D78C
|
||||
.public sub_02023790
|
||||
.public sub_020237BC
|
||||
.public sub_0207CFC8
|
||||
.public ov13_022272AC
|
||||
.public ov13_02227374
|
||||
.public ov13_022273CC
|
||||
.public ov13_022274A8
|
||||
.public ov13_0222754C
|
||||
.public ov13_022275E0
|
||||
.public ov13_02227650
|
||||
.public ov13_02227698
|
||||
.public ov13_022277C8
|
||||
.public ov13_02227888
|
||||
.public ov13_022278A0
|
||||
.public ov13_02227910
|
||||
.public ov13_02227974
|
||||
.public ov13_02227A1C
|
||||
.public ov16_0223EDF0
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
.public sub_0207CFF0
|
||||
.public sub_0207D688
|
||||
.public sub_0207D910
|
||||
.public _s32_div_f
|
||||
.public _u32_div_f
|
||||
@@ -1,238 +0,0 @@
|
||||
.include "macros/function.inc"
|
||||
.include "overlay013/ov13_02227A4C.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov13_02227A4C
|
||||
ov13_02227A4C: ; 0x02227A4C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r3, [r4, #0]
|
||||
ldrh r1, [r3, #0x20]
|
||||
cmp r1, #0
|
||||
bne _02227A5C
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
_02227A5C:
|
||||
ldr r0, [r3, #8]
|
||||
ldr r3, [r3, #0xc]
|
||||
mov r2, #1
|
||||
bl sub_0207D688
|
||||
cmp r0, #0
|
||||
bne _02227A76
|
||||
ldr r1, [r4, #0]
|
||||
mov r0, #0
|
||||
strh r0, [r1, #0x20]
|
||||
ldr r1, [r4, #0]
|
||||
strb r0, [r1, #0x1f]
|
||||
pop {r4, pc}
|
||||
_02227A76:
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227A4C
|
||||
|
||||
thumb_func_start ov13_02227A7C
|
||||
ov13_02227A7C: ; 0x02227A7C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, _02227AC4 ; =0x0000114D
|
||||
ldr r6, [r5, #0]
|
||||
ldrb r7, [r5, r0]
|
||||
mov r0, #0x90
|
||||
ldrh r2, [r6, #0x20]
|
||||
mul r0, r7
|
||||
mov r4, #0
|
||||
add r1, r5, r0
|
||||
_02227A90:
|
||||
ldrh r0, [r1, #0x3c]
|
||||
cmp r2, r0
|
||||
bne _02227ABA
|
||||
add r0, r4, #0
|
||||
mov r1, #6
|
||||
bl _u32_div_f
|
||||
add r0, r6, r7
|
||||
add r0, #0x27
|
||||
strb r1, [r0]
|
||||
add r0, r4, #0
|
||||
mov r1, #6
|
||||
bl _u32_div_f
|
||||
ldr r1, _02227AC4 ; =0x0000114D
|
||||
ldr r2, [r5, #0]
|
||||
ldrb r1, [r5, r1]
|
||||
add r1, r2, r1
|
||||
add r1, #0x2c
|
||||
strb r0, [r1]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02227ABA:
|
||||
add r4, r4, #1
|
||||
add r1, r1, #4
|
||||
cmp r4, #0x24
|
||||
blo _02227A90
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_02227AC4: .word 0x0000114D
|
||||
thumb_func_end ov13_02227A7C
|
||||
|
||||
thumb_func_start ov13_02227AC8
|
||||
ov13_02227AC8: ; 0x02227AC8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0xc
|
||||
add r4, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp, #4]
|
||||
_02227AD2:
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, #4]
|
||||
lsl r0, r0, #0x10
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #8]
|
||||
_02227ADE:
|
||||
ldr r0, [r4, #0]
|
||||
ldr r2, [sp]
|
||||
ldr r0, [r0, #8]
|
||||
lsl r2, r2, #0x10
|
||||
ldr r1, [sp, #8]
|
||||
lsr r2, r2, #0x10
|
||||
bl sub_0207D910
|
||||
add r5, r0, #0
|
||||
beq _02227B50
|
||||
ldrh r0, [r5]
|
||||
cmp r0, #0
|
||||
beq _02227B48
|
||||
ldrh r1, [r5, #2]
|
||||
cmp r1, #0
|
||||
beq _02227B48
|
||||
ldr r2, [r4, #0]
|
||||
mov r1, #0xd
|
||||
ldr r2, [r2, #0xc]
|
||||
bl sub_0207CFF0
|
||||
add r7, r0, #0
|
||||
ldr r1, _02227B9C ; =0x02229BB0
|
||||
mov r0, #0
|
||||
_02227B0E:
|
||||
mov r2, #1
|
||||
lsl r2, r0
|
||||
tst r2, r7
|
||||
beq _02227B40
|
||||
ldrb r2, [r1]
|
||||
mov r3, #0x90
|
||||
add r6, r2, #0
|
||||
mul r6, r3
|
||||
add r3, r4, r2
|
||||
ldr r2, _02227BA0 ; =0x0000114F
|
||||
ldrb r2, [r3, r2]
|
||||
add r3, r4, r6
|
||||
lsl r2, r2, #2
|
||||
add r2, r2, r3
|
||||
ldrh r3, [r5]
|
||||
strh r3, [r2, #0x3c]
|
||||
ldrh r3, [r5, #2]
|
||||
strh r3, [r2, #0x3e]
|
||||
ldrb r2, [r1]
|
||||
add r6, r4, r2
|
||||
ldr r2, _02227BA0 ; =0x0000114F
|
||||
ldrb r2, [r6, r2]
|
||||
add r3, r2, #1
|
||||
ldr r2, _02227BA0 ; =0x0000114F
|
||||
strb r3, [r6, r2]
|
||||
_02227B40:
|
||||
add r0, r0, #1
|
||||
add r1, r1, #1
|
||||
cmp r0, #5
|
||||
blo _02227B0E
|
||||
_02227B48:
|
||||
ldr r0, [sp]
|
||||
add r0, r0, #1
|
||||
str r0, [sp]
|
||||
b _02227ADE
|
||||
_02227B50:
|
||||
ldr r0, [sp, #4]
|
||||
add r0, r0, #1
|
||||
str r0, [sp, #4]
|
||||
cmp r0, #8
|
||||
blo _02227AD2
|
||||
mov r5, #0
|
||||
add r7, r5, #0
|
||||
_02227B5E:
|
||||
ldr r0, _02227BA0 ; =0x0000114F
|
||||
add r6, r4, r5
|
||||
ldrb r0, [r6, r0]
|
||||
cmp r0, #0
|
||||
bne _02227B6E
|
||||
ldr r0, _02227BA4 ; =0x00001154
|
||||
strb r7, [r6, r0]
|
||||
b _02227B7A
|
||||
_02227B6E:
|
||||
sub r0, r0, #1
|
||||
mov r1, #6
|
||||
bl _s32_div_f
|
||||
ldr r1, _02227BA4 ; =0x00001154
|
||||
strb r0, [r6, r1]
|
||||
_02227B7A:
|
||||
ldr r1, [r4, #0]
|
||||
ldr r0, _02227BA4 ; =0x00001154
|
||||
add r2, r1, r5
|
||||
add r2, #0x2c
|
||||
ldrb r0, [r6, r0]
|
||||
ldrb r2, [r2]
|
||||
cmp r0, r2
|
||||
bhs _02227B90
|
||||
add r1, r1, r5
|
||||
add r1, #0x2c
|
||||
strb r0, [r1]
|
||||
_02227B90:
|
||||
add r5, r5, #1
|
||||
cmp r5, #5
|
||||
blo _02227B5E
|
||||
add sp, #0xc
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02227B9C: .word 0x02229BB0
|
||||
_02227BA0: .word 0x0000114F
|
||||
_02227BA4: .word 0x00001154
|
||||
thumb_func_end ov13_02227AC8
|
||||
|
||||
thumb_func_start ov13_02227BA8
|
||||
ov13_02227BA8: ; 0x02227BA8
|
||||
push {r3, r4}
|
||||
ldr r2, _02227BD8 ; =0x0000114D
|
||||
ldr r3, [r0, #0]
|
||||
ldrb r2, [r0, r2]
|
||||
add r3, r3, r2
|
||||
add r3, #0x2c
|
||||
ldrb r4, [r3]
|
||||
mov r3, #6
|
||||
mul r3, r4
|
||||
add r1, r1, r3
|
||||
lsl r3, r1, #2
|
||||
mov r1, #0x90
|
||||
mul r1, r2
|
||||
add r0, r0, r1
|
||||
add r1, r0, r3
|
||||
ldrh r0, [r1, #0x3c]
|
||||
cmp r0, #0
|
||||
beq _02227BD2
|
||||
ldrh r1, [r1, #0x3e]
|
||||
cmp r1, #0
|
||||
bne _02227BD4
|
||||
_02227BD2:
|
||||
mov r0, #0
|
||||
_02227BD4:
|
||||
pop {r3, r4}
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
_02227BD8: .word 0x0000114D
|
||||
thumb_func_end ov13_02227BA8
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov13_02229BB0
|
||||
Unk_ov13_02229BB0: ; 0x02229BB0
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xEB4, 0x5
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
.public sub_02003050
|
||||
.public sub_02006C24
|
||||
.public sub_02006CA8
|
||||
.public sub_0200C704
|
||||
.public sub_0200C7C0
|
||||
.public sub_0200CB30
|
||||
.public sub_0200CC3C
|
||||
.public sub_0200CDC4
|
||||
.public sub_0200CE24
|
||||
.public sub_0200CE54
|
||||
.public sub_0200CE6C
|
||||
.public sub_0200D0B0
|
||||
.public sub_0200D0F4
|
||||
.public sub_0200D3F4
|
||||
.public sub_0200D4C4
|
||||
.public sub_0200D948
|
||||
.public sub_0201FF74
|
||||
.public sub_0207CE78
|
||||
.public sub_0207CF40
|
||||
.public sub_0207CF44
|
||||
.public ov13_02227BA8
|
||||
.public ov13_02227C08
|
||||
.public ov13_02227C54
|
||||
.public ov13_02227D10
|
||||
.public ov13_02227D48
|
||||
.public ov13_02227D78
|
||||
.public ov13_02227DE8
|
||||
.public ov13_02227E48
|
||||
.public ov13_02227EAC
|
||||
.public ov13_02227EE0
|
||||
.public ov13_02227F38
|
||||
.public ov13_02227F7C
|
||||
.public ov13_02227FDC
|
||||
.public ov13_02228070
|
||||
.public ov13_022280C8
|
||||
.public ov13_02228A58
|
||||
.public ov13_02228A60
|
||||
.public ov13_02228A64
|
||||
.public ov13_02228A68
|
||||
.public ov13_02228A90
|
||||
.public ov13_02228A9C
|
||||
.public ov16_0223E010
|
||||
.public ov16_0226DB7C
|
||||
.public ov16_0226DBFC
|
||||
.public ov16_0226DC24
|
||||
.public ov16_0226DCA8
|
||||
.public ov16_0226DDE8
|
||||
.public ov16_0226DE44
|
||||
.public ov16_0226DEC4
|
||||
.public ov16_0226DEEC
|
||||
.public ov16_0226DF68
|
||||
.public ov16_0226DFB0
|
||||
.public ov16_0226DFBC
|
||||
.public ov16_0226DFD0
|
||||
@@ -1,731 +0,0 @@
|
||||
.include "macros/function.inc"
|
||||
.include "overlay013/ov13_02227BDC.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov13_02227BDC
|
||||
ov13_02227BDC: ; 0x02227BDC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl ov13_02227C08
|
||||
add r0, r4, #0
|
||||
bl ov13_02227C54
|
||||
add r0, r4, #0
|
||||
bl ov13_02227DE8
|
||||
add r0, r4, #0
|
||||
bl ov13_02227F7C
|
||||
add r0, r4, #0
|
||||
bl ov13_02228070
|
||||
mov r0, #0x10
|
||||
mov r1, #1
|
||||
bl sub_0201FF74
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227BDC
|
||||
|
||||
thumb_func_start ov13_02227C08
|
||||
ov13_02227C08: ; 0x02227C08
|
||||
push {r3, r4, r5, lr}
|
||||
sub sp, #0x18
|
||||
ldr r3, _02227C50 ; =0x02229BE4
|
||||
add r2, sp, #0
|
||||
add r5, r0, #0
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
add r4, r0, #0
|
||||
bl sub_0200C704
|
||||
mov r1, #0xc3
|
||||
lsl r1, r1, #2
|
||||
str r0, [r5, r1]
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r4, #0
|
||||
mov r2, #0xc
|
||||
bl sub_0200C7C0
|
||||
mov r1, #0xc3
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r4, #0
|
||||
add r2, sp, #0
|
||||
bl sub_0200CB30
|
||||
add sp, #0x18
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_02227C50: .word 0x02229BE4
|
||||
thumb_func_end ov13_02227C08
|
||||
|
||||
thumb_func_start ov13_02227C54
|
||||
ov13_02227C54: ; 0x02227C54
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x1c
|
||||
add r6, r0, #0
|
||||
ldr r1, [r6, #0]
|
||||
mov r0, #0x10
|
||||
ldr r1, [r1, #0xc]
|
||||
bl sub_02006C24
|
||||
add r7, r0, #0
|
||||
ldr r0, [r6, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
str r0, [sp, #0x18]
|
||||
mov r4, #0
|
||||
_02227C72:
|
||||
ldr r0, _02227D0C ; =0x0000B4B7
|
||||
add r5, r4, r0
|
||||
mov r0, #1
|
||||
add r1, r0, #0
|
||||
bl sub_0207CE78
|
||||
add r3, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r0, #2
|
||||
str r0, [sp, #4]
|
||||
mov r1, #0xc3
|
||||
str r5, [sp, #8]
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r1, [r6, r1]
|
||||
add r2, r7, #0
|
||||
bl sub_0200CC3C
|
||||
mov r0, #1
|
||||
mov r1, #2
|
||||
bl sub_0207CE78
|
||||
str r7, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #2
|
||||
str r0, [sp, #0x10]
|
||||
mov r3, #0xc3
|
||||
str r5, [sp, #0x14]
|
||||
lsl r3, r3, #2
|
||||
ldr r0, [r6, #8]
|
||||
ldr r2, [sp, #0x18]
|
||||
ldr r3, [r6, r3]
|
||||
mov r1, #3
|
||||
bl sub_0200CDC4
|
||||
add r4, r4, #1
|
||||
cmp r4, #6
|
||||
blo _02227C72
|
||||
bl sub_0207CF40
|
||||
add r3, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, _02227D0C ; =0x0000B4B7
|
||||
mov r1, #0xc3
|
||||
str r0, [sp, #4]
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r1, [r6, r1]
|
||||
add r2, r7, #0
|
||||
bl sub_0200CE24
|
||||
bl sub_0207CF44
|
||||
add r3, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
ldr r0, _02227D0C ; =0x0000B4B7
|
||||
mov r1, #0xc3
|
||||
str r0, [sp, #4]
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [sp, #0x18]
|
||||
ldr r1, [r6, r1]
|
||||
add r2, r7, #0
|
||||
bl sub_0200CE54
|
||||
add r0, r7, #0
|
||||
bl sub_02006CA8
|
||||
add sp, #0x1c
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02227D0C: .word 0x0000B4B7
|
||||
thumb_func_end ov13_02227C54
|
||||
|
||||
thumb_func_start ov13_02227D10
|
||||
ov13_02227D10: ; 0x02227D10
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #8
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
add r6, r1, #0
|
||||
ldr r0, [r0, #0]
|
||||
add r4, r2, #0
|
||||
bl ov16_0223E010
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
mov r1, #1
|
||||
bl sub_0207CE78
|
||||
add r3, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r1, #0xc3
|
||||
str r4, [sp, #4]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r7, #0
|
||||
mov r2, #0x10
|
||||
bl sub_0200D948
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227D10
|
||||
|
||||
thumb_func_start ov13_02227D48
|
||||
ov13_02227D48: ; 0x02227D48
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0xc
|
||||
add r5, r0, #0
|
||||
add r0, r1, #0
|
||||
mov r1, #2
|
||||
add r4, r2, #0
|
||||
bl sub_0207CE78
|
||||
add r2, r0, #0
|
||||
mov r0, #3
|
||||
str r0, [sp]
|
||||
mov r0, #0x20
|
||||
str r0, [sp, #4]
|
||||
lsl r0, r4, #0x14
|
||||
lsr r0, r0, #0x10
|
||||
str r0, [sp, #8]
|
||||
ldr r3, [r5, #0]
|
||||
ldr r0, [r5, #8]
|
||||
ldr r3, [r3, #0xc]
|
||||
mov r1, #0x10
|
||||
bl sub_02003050
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
thumb_func_end ov13_02227D48
|
||||
|
||||
thumb_func_start ov13_02227D78
|
||||
ov13_02227D78: ; 0x02227D78
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x34
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
add r4, r1, #0
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
mov r2, #0
|
||||
add r1, sp, #0
|
||||
strh r2, [r1]
|
||||
strh r2, [r1, #2]
|
||||
strh r2, [r1, #4]
|
||||
strh r2, [r1, #6]
|
||||
mov r1, #0x14
|
||||
ldr r3, _02227DD4 ; =0x02229CCC
|
||||
mul r1, r4
|
||||
ldr r3, [r3, r1]
|
||||
str r2, [sp, #0xc]
|
||||
str r3, [sp, #8]
|
||||
mov r3, #2
|
||||
str r3, [sp, #0x10]
|
||||
ldr r3, _02227DD8 ; =0x02229CBC
|
||||
str r2, [sp, #0x30]
|
||||
ldr r3, [r3, r1]
|
||||
add r2, sp, #0
|
||||
str r3, [sp, #0x14]
|
||||
ldr r3, _02227DDC ; =0x02229CC0
|
||||
ldr r3, [r3, r1]
|
||||
str r3, [sp, #0x18]
|
||||
ldr r3, _02227DE0 ; =0x02229CC4
|
||||
ldr r3, [r3, r1]
|
||||
str r3, [sp, #0x1c]
|
||||
ldr r3, _02227DE4 ; =0x02229CC8
|
||||
ldr r1, [r3, r1]
|
||||
str r1, [sp, #0x20]
|
||||
mov r1, #1
|
||||
str r1, [sp, #0x2c]
|
||||
mov r1, #0xc3
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
bl sub_0200CE6C
|
||||
add sp, #0x34
|
||||
pop {r4, r5, pc}
|
||||
nop
|
||||
_02227DD4: .word 0x02229CCC
|
||||
_02227DD8: .word 0x02229CBC
|
||||
_02227DDC: .word 0x02229CC0
|
||||
_02227DE0: .word 0x02229CC4
|
||||
_02227DE4: .word 0x02229CC8
|
||||
thumb_func_end ov13_02227D78
|
||||
|
||||
thumb_func_start ov13_02227DE8
|
||||
ov13_02227DE8: ; 0x02227DE8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r6, r0, #0
|
||||
mov r7, #0x31
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
lsl r7, r7, #4
|
||||
_02227DF4:
|
||||
add r0, r6, #0
|
||||
add r1, r4, #0
|
||||
bl ov13_02227D78
|
||||
str r0, [r5, r7]
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #6
|
||||
blo _02227DF4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov13_02227DE8
|
||||
|
||||
thumb_func_start ov13_02227E08
|
||||
ov13_02227E08: ; 0x02227E08
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r7, r0, #0
|
||||
ldr r0, [r7, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
mov r6, #0x31
|
||||
str r0, [sp]
|
||||
mov r4, #0
|
||||
add r5, r7, #0
|
||||
lsl r6, r6, #4
|
||||
_02227E1E:
|
||||
ldr r0, [r5, r6]
|
||||
bl sub_0200D0F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #6
|
||||
blo _02227E1E
|
||||
add r0, r7, #0
|
||||
bl ov13_02227FDC
|
||||
add r0, r7, #0
|
||||
bl ov13_022280C8
|
||||
mov r1, #0xc3
|
||||
lsl r1, r1, #2
|
||||
ldr r0, [sp]
|
||||
ldr r1, [r7, r1]
|
||||
bl sub_0200D0B0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227E08
|
||||
|
||||
thumb_func_start ov13_02227E48
|
||||
ov13_02227E48: ; 0x02227E48
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r1, #0
|
||||
add r4, r2, #0
|
||||
mov r1, #1
|
||||
add r6, r0, #0
|
||||
bl sub_0200D3F4
|
||||
lsl r1, r5, #0x10
|
||||
lsl r2, r4, #0x10
|
||||
add r0, r6, #0
|
||||
asr r1, r1, #0x10
|
||||
asr r2, r2, #0x10
|
||||
bl sub_0200D4C4
|
||||
pop {r4, r5, r6, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02227E48
|
||||
|
||||
thumb_func_start ov13_02227E68
|
||||
ov13_02227E68: ; 0x02227E68
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
mov r6, #0x31
|
||||
str r0, [sp]
|
||||
add r7, r1, #0
|
||||
mov r4, #0
|
||||
add r5, r0, #0
|
||||
lsl r6, r6, #4
|
||||
_02227E76:
|
||||
ldr r0, [r5, r6]
|
||||
mov r1, #0
|
||||
bl sub_0200D3F4
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r4, #6
|
||||
blo _02227E76
|
||||
cmp r7, #0
|
||||
beq _02227E94
|
||||
cmp r7, #1
|
||||
beq _02227E9C
|
||||
cmp r7, #2
|
||||
beq _02227EA4
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02227E94:
|
||||
ldr r0, [sp]
|
||||
bl ov13_02227EAC
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02227E9C:
|
||||
ldr r0, [sp]
|
||||
bl ov13_02227EE0
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02227EA4:
|
||||
ldr r0, [sp]
|
||||
bl ov13_02227F38
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end ov13_02227E68
|
||||
|
||||
thumb_func_start ov13_02227EAC
|
||||
ov13_02227EAC: ; 0x02227EAC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r1, [r4, #0]
|
||||
ldrh r1, [r1, #0x20]
|
||||
cmp r1, #0
|
||||
beq _02227EDA
|
||||
ldr r2, _02227EDC ; =0x0000B4B7
|
||||
bl ov13_02227D10
|
||||
ldr r1, [r4, #0]
|
||||
ldr r3, _02227EDC ; =0x0000B4B7
|
||||
ldrh r1, [r1, #0x20]
|
||||
add r0, r4, #0
|
||||
mov r2, #0
|
||||
bl ov13_02227D48
|
||||
mov r0, #0x31
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r4, r0]
|
||||
mov r1, #0x18
|
||||
mov r2, #0xb2
|
||||
bl ov13_02227E48
|
||||
_02227EDA:
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
_02227EDC: .word 0x0000B4B7
|
||||
thumb_func_end ov13_02227EAC
|
||||
|
||||
thumb_func_start ov13_02227EE0
|
||||
ov13_02227EE0: ; 0x02227EE0
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
ldr r6, _02227F30 ; =0x02229C44
|
||||
mov r4, #0
|
||||
add r7, r5, #0
|
||||
_02227EEA:
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl ov13_02227BA8
|
||||
str r0, [sp]
|
||||
cmp r0, #0
|
||||
beq _02227F22
|
||||
ldr r2, _02227F34 ; =0x0000B4B7
|
||||
ldr r1, [sp]
|
||||
add r0, r5, #0
|
||||
add r2, r4, r2
|
||||
bl ov13_02227D10
|
||||
ldr r3, _02227F34 ; =0x0000B4B7
|
||||
lsl r2, r4, #0x10
|
||||
ldr r1, [sp]
|
||||
add r0, r5, #0
|
||||
lsr r2, r2, #0x10
|
||||
add r3, r4, r3
|
||||
bl ov13_02227D48
|
||||
mov r0, #0x31
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r7, r0]
|
||||
ldr r1, [r6, #0]
|
||||
ldr r2, [r6, #4]
|
||||
bl ov13_02227E48
|
||||
_02227F22:
|
||||
add r4, r4, #1
|
||||
add r6, #8
|
||||
add r7, r7, #4
|
||||
cmp r4, #6
|
||||
blo _02227EEA
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02227F30: .word 0x02229C44
|
||||
_02227F34: .word 0x0000B4B7
|
||||
thumb_func_end ov13_02227EE0
|
||||
|
||||
thumb_func_start ov13_02227F38
|
||||
ov13_02227F38: ; 0x02227F38
|
||||
push {r3, r4, r5, lr}
|
||||
ldr r1, _02227F74 ; =0x0000114D
|
||||
add r4, r0, #0
|
||||
ldrb r1, [r4, r1]
|
||||
ldr r2, [r4, #0]
|
||||
add r1, r2, r1
|
||||
add r1, #0x27
|
||||
ldrb r1, [r1]
|
||||
bl ov13_02227BA8
|
||||
add r5, r0, #0
|
||||
ldr r2, _02227F78 ; =0x0000B4B7
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
bl ov13_02227D10
|
||||
ldr r3, _02227F78 ; =0x0000B4B7
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
mov r2, #0
|
||||
bl ov13_02227D48
|
||||
mov r0, #0x31
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r4, r0]
|
||||
mov r1, #0x28
|
||||
mov r2, #0x2c
|
||||
bl ov13_02227E48
|
||||
pop {r3, r4, r5, pc}
|
||||
; .align 2, 0
|
||||
_02227F74: .word 0x0000114D
|
||||
_02227F78: .word 0x0000B4B7
|
||||
thumb_func_end ov13_02227F38
|
||||
|
||||
thumb_func_start ov13_02227F7C
|
||||
ov13_02227F7C: ; 0x02227F7C
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
ldr r1, _02227FD8 ; =0x0000B4BE
|
||||
add r4, r0, #0
|
||||
str r1, [sp]
|
||||
str r1, [sp, #4]
|
||||
sub r1, r1, #5
|
||||
str r1, [sp, #8]
|
||||
str r1, [sp, #0xc]
|
||||
mov r1, #0xc3
|
||||
ldr r3, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r5, #8]
|
||||
ldr r3, [r3, #0xc]
|
||||
bl ov16_0226DB7C
|
||||
ldr r3, _02227FD8 ; =0x0000B4BE
|
||||
mov r1, #0xc3
|
||||
str r3, [sp]
|
||||
sub r0, r3, #5
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #1
|
||||
str r0, [sp, #0x10]
|
||||
ldr r2, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r2, #0xc]
|
||||
add r0, r4, #0
|
||||
bl ov16_0226DC24
|
||||
add r1, r0, #0
|
||||
ldr r0, [r5, #0x34]
|
||||
bl ov13_02228A64
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
nop
|
||||
_02227FD8: .word 0x0000B4BE
|
||||
thumb_func_end ov13_02227F7C
|
||||
|
||||
thumb_func_start ov13_02227FDC
|
||||
ov13_02227FDC: ; 0x02227FDC
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x34]
|
||||
bl ov13_02228A58
|
||||
bl ov16_0226DCA8
|
||||
ldr r3, _02228004 ; =0x0000B4B9
|
||||
mov r0, #0xc3
|
||||
add r1, r3, #5
|
||||
str r3, [sp]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
add r2, r1, #0
|
||||
bl ov16_0226DBFC
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
nop
|
||||
_02228004: .word 0x0000B4B9
|
||||
thumb_func_end ov13_02227FDC
|
||||
|
||||
thumb_func_start ov13_02228008
|
||||
ov13_02228008: ; 0x02228008
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldr r1, _02228048 ; =0x02229BC8
|
||||
lsl r2, r4, #2
|
||||
ldr r0, [r5, #0x34]
|
||||
ldr r1, [r1, r2]
|
||||
bl ov13_02228A9C
|
||||
cmp r4, #0
|
||||
beq _02228026
|
||||
cmp r4, #1
|
||||
beq _02228032
|
||||
cmp r4, #2
|
||||
pop {r3, r4, r5, pc}
|
||||
_02228026:
|
||||
ldr r1, _0222804C ; =0x0000114D
|
||||
ldr r0, [r5, #0x34]
|
||||
ldrb r1, [r5, r1]
|
||||
bl ov13_02228A68
|
||||
pop {r3, r4, r5, pc}
|
||||
_02228032:
|
||||
ldr r1, _0222804C ; =0x0000114D
|
||||
ldr r2, [r5, #0]
|
||||
ldrb r1, [r5, r1]
|
||||
ldr r0, [r5, #0x34]
|
||||
add r1, r2, r1
|
||||
add r1, #0x27
|
||||
ldrb r1, [r1]
|
||||
bl ov13_02228A68
|
||||
pop {r3, r4, r5, pc}
|
||||
nop
|
||||
_02228048: .word 0x02229BC8
|
||||
_0222804C: .word 0x0000114D
|
||||
thumb_func_end ov13_02228008
|
||||
|
||||
thumb_func_start ov13_02228050
|
||||
ov13_02228050: ; 0x02228050
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x34]
|
||||
mov r1, #0
|
||||
bl ov13_02228A60
|
||||
ldr r0, [r4, #0x34]
|
||||
bl ov13_02228A90
|
||||
ldr r0, [r4, #0x34]
|
||||
bl ov13_02228A58
|
||||
bl ov16_0226DDE8
|
||||
pop {r4, pc}
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02228050
|
||||
|
||||
thumb_func_start ov13_02228070
|
||||
ov13_02228070: ; 0x02228070
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0223E010
|
||||
ldr r1, _022280C4 ; =0x0000B4BD
|
||||
add r4, r0, #0
|
||||
str r1, [sp]
|
||||
str r1, [sp, #4]
|
||||
sub r1, r1, #5
|
||||
str r1, [sp, #8]
|
||||
str r1, [sp, #0xc]
|
||||
mov r1, #0xc3
|
||||
ldr r2, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r2, #0xc]
|
||||
ldr r3, [r5, #8]
|
||||
bl ov16_0226DE44
|
||||
ldr r3, _022280C4 ; =0x0000B4BD
|
||||
mov r1, #0xc3
|
||||
str r3, [sp]
|
||||
sub r0, r3, #5
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
str r0, [sp, #0xc]
|
||||
str r0, [sp, #0x10]
|
||||
ldr r2, [r5, #0]
|
||||
lsl r1, r1, #2
|
||||
ldr r1, [r5, r1]
|
||||
ldr r2, [r2, #0xc]
|
||||
add r0, r4, #0
|
||||
bl ov16_0226DEEC
|
||||
str r0, [r5, #0x38]
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
nop
|
||||
_022280C4: .word 0x0000B4BD
|
||||
thumb_func_end ov13_02228070
|
||||
|
||||
thumb_func_start ov13_022280C8
|
||||
ov13_022280C8: ; 0x022280C8
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x38]
|
||||
bl ov16_0226DF68
|
||||
ldr r3, _022280EC ; =0x0000B4B8
|
||||
mov r0, #0xc3
|
||||
add r1, r3, #5
|
||||
str r3, [sp]
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
add r2, r1, #0
|
||||
bl ov16_0226DEC4
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
nop
|
||||
_022280EC: .word 0x0000B4B8
|
||||
thumb_func_end ov13_022280C8
|
||||
|
||||
thumb_func_start ov13_022280F0
|
||||
ov13_022280F0: ; 0x022280F0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0]
|
||||
ldr r0, [r0, #0x14]
|
||||
cmp r0, #1
|
||||
bne _02228116
|
||||
lsl r3, r1, #3
|
||||
ldr r1, _02228120 ; =0x02229BFC
|
||||
ldr r2, _02228124 ; =0x02229C00
|
||||
ldr r0, [r4, #0x38]
|
||||
ldr r1, [r1, r3]
|
||||
ldr r2, [r2, r3]
|
||||
bl ov16_0226DFB0
|
||||
ldr r0, [r4, #0x38]
|
||||
mov r1, #0x3c
|
||||
bl ov16_0226DFD0
|
||||
pop {r4, pc}
|
||||
_02228116:
|
||||
ldr r0, [r4, #0x38]
|
||||
bl ov16_0226DFBC
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_02228120: .word 0x02229BFC
|
||||
_02228124: .word 0x02229C00
|
||||
thumb_func_end ov13_022280F0
|
||||
|
||||
.rodata
|
||||
|
||||
|
||||
.global Unk_ov13_02229BB8
|
||||
Unk_ov13_02229BB8: ; 0x02229BB8
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xEBC, 0xEC4 - 0xEBC
|
||||
|
||||
.global Unk_ov13_02229BC0
|
||||
Unk_ov13_02229BC0: ; 0x02229BC0
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xEC4, 0xECC - 0xEC4
|
||||
|
||||
.global Unk_ov13_02229BC8
|
||||
Unk_ov13_02229BC8: ; 0x02229BC8
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xECC, 0xED8 - 0xECC
|
||||
|
||||
.global Unk_ov13_02229BD4
|
||||
Unk_ov13_02229BD4: ; 0x02229BD4
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xED8, 0xEE8 - 0xED8
|
||||
|
||||
.global Unk_ov13_02229BE4
|
||||
Unk_ov13_02229BE4: ; 0x02229BE4
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xEE8, 0xF00 - 0xEE8
|
||||
|
||||
.global Unk_ov13_02229BFC
|
||||
Unk_ov13_02229BFC: ; 0x02229BFC
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xF00, 0xF18 - 0xF00
|
||||
|
||||
.global Unk_ov13_02229C14
|
||||
Unk_ov13_02229C14: ; 0x02229C14
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xF18, 0xF48 - 0xF18
|
||||
|
||||
.global Unk_ov13_02229C44
|
||||
Unk_ov13_02229C44: ; 0x02229C44
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xF48, 0xF78 - 0xF48
|
||||
|
||||
.global Unk_ov13_02229C74
|
||||
Unk_ov13_02229C74: ; 0x02229C74
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xF78, 0xFC0 - 0xF78
|
||||
|
||||
.global Unk_ov13_02229CBC
|
||||
Unk_ov13_02229CBC: ; 0x02229CBC
|
||||
.incbin "incbin/overlay13_rodata.bin", 0xFC0, 0x78
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
.public sub_0200D408
|
||||
.public sub_0200D5DC
|
||||
.public sub_02018144
|
||||
.public sub_020181C4
|
||||
.public sub_020198C0
|
||||
.public sub_0201A9A4
|
||||
.public sub_0201C04C
|
||||
.public sub_0201C3C0
|
||||
.public ov13_02227BA8
|
||||
.public ov13_02228460
|
||||
.public ov13_022284B0
|
||||
.public ov13_02228558
|
||||
.public ov13_022285C8
|
||||
.public ov13_0222863C
|
||||
.public ov13_022286B8
|
||||
.public ov13_0222872C
|
||||
.public ov13_022287A4
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +0,0 @@
|
||||
.public sub_02005748
|
||||
.public sub_02018144
|
||||
.public sub_020181C4
|
||||
.public sub_0201E010
|
||||
.public sub_0201E01C
|
||||
.public sub_0201E028
|
||||
.public ov13_02228A90
|
||||
.public ov13_02228ACC
|
||||
.public ov13_02228B18
|
||||
.public ov16_0226DD7C
|
||||
@@ -1,420 +0,0 @@
|
||||
.include "macros/function.inc"
|
||||
.include "overlay013/ov13_02228A38.inc"
|
||||
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start ov13_02228A38
|
||||
ov13_02228A38: ; 0x02228A38
|
||||
push {r3, lr}
|
||||
mov r1, #0x10
|
||||
bl sub_02018144
|
||||
add r3, r0, #0
|
||||
mov r2, #0x10
|
||||
mov r1, #0
|
||||
_02228A46:
|
||||
strb r1, [r3]
|
||||
add r3, r3, #1
|
||||
sub r2, r2, #1
|
||||
bne _02228A46
|
||||
pop {r3, pc}
|
||||
thumb_func_end ov13_02228A38
|
||||
|
||||
thumb_func_start ov13_02228A50
|
||||
ov13_02228A50: ; 0x02228A50
|
||||
ldr r3, _02228A54 ; =sub_020181C4
|
||||
bx r3
|
||||
; .align 2, 0
|
||||
_02228A54: .word sub_020181C4
|
||||
thumb_func_end ov13_02228A50
|
||||
|
||||
thumb_func_start ov13_02228A58
|
||||
ov13_02228A58: ; 0x02228A58
|
||||
ldr r0, [r0, #0]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228A58
|
||||
|
||||
thumb_func_start ov13_02228A5C
|
||||
ov13_02228A5C: ; 0x02228A5C
|
||||
ldrb r0, [r0, #8]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228A5C
|
||||
|
||||
thumb_func_start ov13_02228A60
|
||||
ov13_02228A60: ; 0x02228A60
|
||||
strb r1, [r0, #8]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228A60
|
||||
|
||||
thumb_func_start ov13_02228A64
|
||||
ov13_02228A64: ; 0x02228A64
|
||||
str r1, [r0, #0]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228A64
|
||||
|
||||
thumb_func_start ov13_02228A68
|
||||
ov13_02228A68: ; 0x02228A68
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
strb r1, [r0, #9]
|
||||
ldrb r1, [r0, #8]
|
||||
cmp r1, #1
|
||||
bne _02228A8C
|
||||
ldrb r1, [r0, #9]
|
||||
ldr r2, [r0, #4]
|
||||
lsl r4, r1, #3
|
||||
add r3, r2, r4
|
||||
ldrb r1, [r3, #3]
|
||||
str r1, [sp]
|
||||
ldrb r1, [r2, r4]
|
||||
ldrb r2, [r3, #2]
|
||||
ldrb r3, [r3, #1]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0226DD7C
|
||||
_02228A8C:
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
thumb_func_end ov13_02228A68
|
||||
|
||||
thumb_func_start ov13_02228A90
|
||||
ov13_02228A90: ; 0x02228A90
|
||||
mov r1, #0
|
||||
strb r1, [r0, #9]
|
||||
mov r1, #0xff
|
||||
strb r1, [r0, #0xa]
|
||||
bx lr
|
||||
; .align 2, 0
|
||||
thumb_func_end ov13_02228A90
|
||||
|
||||
thumb_func_start ov13_02228A9C
|
||||
ov13_02228A9C: ; 0x02228A9C
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
add r5, r1, #0
|
||||
bl ov13_02228A90
|
||||
mov r0, #0
|
||||
str r5, [r4, #4]
|
||||
mvn r0, r0
|
||||
str r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #8]
|
||||
cmp r0, #1
|
||||
bne _02228AC6
|
||||
ldr r3, [r4, #4]
|
||||
ldrb r0, [r3, #3]
|
||||
str r0, [sp]
|
||||
ldrb r1, [r3]
|
||||
ldrb r2, [r3, #2]
|
||||
ldrb r3, [r3, #1]
|
||||
ldr r0, [r4, #0]
|
||||
bl ov16_0226DD7C
|
||||
_02228AC6:
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end ov13_02228A9C
|
||||
|
||||
thumb_func_start ov13_02228AC8
|
||||
ov13_02228AC8: ; 0x02228AC8
|
||||
str r1, [r0, #0xc]
|
||||
bx lr
|
||||
thumb_func_end ov13_02228AC8
|
||||
|
||||
thumb_func_start ov13_02228ACC
|
||||
ov13_02228ACC: ; 0x02228ACC
|
||||
push {r3, r4, lr}
|
||||
sub sp, #4
|
||||
ldrb r1, [r0, #8]
|
||||
cmp r1, #1
|
||||
bne _02228ADC
|
||||
add sp, #4
|
||||
mov r0, #1
|
||||
pop {r3, r4, pc}
|
||||
_02228ADC:
|
||||
ldr r1, _02228B10 ; =0x021BF67C
|
||||
ldr r2, [r1, #0x48]
|
||||
mov r1, #0xf3
|
||||
tst r1, r2
|
||||
beq _02228B08
|
||||
mov r1, #1
|
||||
strb r1, [r0, #8]
|
||||
ldrb r1, [r0, #9]
|
||||
ldr r2, [r0, #4]
|
||||
lsl r4, r1, #3
|
||||
add r3, r2, r4
|
||||
ldrb r1, [r3, #3]
|
||||
str r1, [sp]
|
||||
ldrb r1, [r2, r4]
|
||||
ldrb r2, [r3, #2]
|
||||
ldrb r3, [r3, #1]
|
||||
ldr r0, [r0, #0]
|
||||
bl ov16_0226DD7C
|
||||
ldr r0, _02228B14 ; =0x000005DC
|
||||
bl sub_02005748
|
||||
_02228B08:
|
||||
mov r0, #0
|
||||
add sp, #4
|
||||
pop {r3, r4, pc}
|
||||
nop
|
||||
_02228B10: .word 0x021BF67C
|
||||
_02228B14: .word 0x000005DC
|
||||
thumb_func_end ov13_02228ACC
|
||||
|
||||
thumb_func_start ov13_02228B18
|
||||
ov13_02228B18: ; 0x02228B18
|
||||
cmp r1, #3
|
||||
bhi _02228B60
|
||||
add r1, r1, r1
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_02228B28: ; jump table
|
||||
.short _02228B30 - _02228B28 - 2 ; case 0
|
||||
.short _02228B3C - _02228B28 - 2 ; case 1
|
||||
.short _02228B48 - _02228B28 - 2 ; case 2
|
||||
.short _02228B54 - _02228B28 - 2 ; case 3
|
||||
_02228B30:
|
||||
ldrb r1, [r0, #5]
|
||||
mov r0, #0x80
|
||||
tst r0, r1
|
||||
beq _02228B60
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_02228B3C:
|
||||
ldrb r1, [r0, #4]
|
||||
mov r0, #0x80
|
||||
tst r0, r1
|
||||
beq _02228B60
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_02228B48:
|
||||
ldrb r1, [r0, #7]
|
||||
mov r0, #0x80
|
||||
tst r0, r1
|
||||
beq _02228B60
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_02228B54:
|
||||
ldrb r1, [r0, #6]
|
||||
mov r0, #0x80
|
||||
tst r0, r1
|
||||
beq _02228B60
|
||||
mov r0, #1
|
||||
bx lr
|
||||
_02228B60:
|
||||
mov r0, #0
|
||||
bx lr
|
||||
thumb_func_end ov13_02228B18
|
||||
|
||||
thumb_func_start ov13_02228B64
|
||||
ov13_02228B64: ; 0x02228B64
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
bl ov13_02228ACC
|
||||
cmp r0, #0
|
||||
bne _02228B7A
|
||||
mov r0, #0
|
||||
add sp, #0x14
|
||||
mvn r0, r0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_02228B7A:
|
||||
ldr r0, _02228CF0 ; =0x021BF67C
|
||||
mov r1, #0x40
|
||||
ldr r0, [r0, #0x48]
|
||||
tst r1, r0
|
||||
beq _02228B9E
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldrb r0, [r5, #9]
|
||||
add r2, r1, #0
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #4]
|
||||
str r1, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_0201E028
|
||||
add r4, r0, #0
|
||||
mov r6, #0
|
||||
b _02228C06
|
||||
_02228B9E:
|
||||
mov r1, #0x80
|
||||
tst r1, r0
|
||||
beq _02228BC0
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldrb r0, [r5, #9]
|
||||
add r2, r1, #0
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #4]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_0201E028
|
||||
add r4, r0, #0
|
||||
mov r6, #1
|
||||
b _02228C06
|
||||
_02228BC0:
|
||||
mov r1, #0x20
|
||||
tst r1, r0
|
||||
beq _02228BE2
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldrb r0, [r5, #9]
|
||||
add r2, r1, #0
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #4]
|
||||
mov r0, #2
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_0201E028
|
||||
add r4, r0, #0
|
||||
mov r6, #2
|
||||
b _02228C06
|
||||
_02228BE2:
|
||||
mov r1, #0x10
|
||||
tst r0, r1
|
||||
beq _02228C04
|
||||
mov r1, #0
|
||||
str r1, [sp]
|
||||
ldrb r0, [r5, #9]
|
||||
add r2, r1, #0
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #4]
|
||||
mov r0, #3
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
bl sub_0201E028
|
||||
add r4, r0, #0
|
||||
mov r6, #3
|
||||
b _02228C06
|
||||
_02228C04:
|
||||
mov r4, #0xff
|
||||
_02228C06:
|
||||
cmp r4, #0xff
|
||||
beq _02228CC6
|
||||
mov r0, #1
|
||||
str r0, [sp, #0xc]
|
||||
mov r0, #0x80
|
||||
add r1, r4, #0
|
||||
tst r1, r0
|
||||
beq _02228C26
|
||||
ldrb r1, [r5, #0xa]
|
||||
cmp r1, #0xff
|
||||
beq _02228C20
|
||||
add r4, r1, #0
|
||||
b _02228C26
|
||||
_02228C20:
|
||||
eor r0, r4
|
||||
lsl r0, r0, #0x18
|
||||
lsr r4, r0, #0x18
|
||||
_02228C26:
|
||||
mov r7, #0
|
||||
_02228C28:
|
||||
mov r0, #1
|
||||
ldr r1, [r5, #0xc]
|
||||
lsl r0, r4
|
||||
tst r0, r1
|
||||
bne _02228C60
|
||||
str r7, [sp, #0xc]
|
||||
str r7, [sp]
|
||||
str r4, [sp, #4]
|
||||
str r6, [sp, #8]
|
||||
ldr r0, [r5, #4]
|
||||
add r1, r7, #0
|
||||
add r2, r7, #0
|
||||
add r3, r7, #0
|
||||
bl sub_0201E028
|
||||
mov r1, #0x7f
|
||||
and r0, r1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r1, r0, #0x18
|
||||
cmp r1, r4
|
||||
beq _02228C58
|
||||
ldrb r0, [r5, #9]
|
||||
cmp r1, r0
|
||||
bne _02228C5C
|
||||
_02228C58:
|
||||
ldrb r4, [r5, #9]
|
||||
b _02228C60
|
||||
_02228C5C:
|
||||
add r4, r1, #0
|
||||
b _02228C28
|
||||
_02228C60:
|
||||
ldrb r0, [r5, #9]
|
||||
cmp r0, r4
|
||||
beq _02228CBE
|
||||
ldr r0, [r5, #4]
|
||||
lsl r7, r4, #3
|
||||
add r1, sp, #0x10
|
||||
add r2, sp, #0x10
|
||||
add r0, r0, r7
|
||||
add r1, #3
|
||||
add r2, #2
|
||||
bl sub_0201E010
|
||||
ldr r0, [r5, #4]
|
||||
add r1, sp, #0x10
|
||||
add r0, r0, r7
|
||||
add r1, #1
|
||||
add r2, sp, #0x10
|
||||
bl sub_0201E01C
|
||||
ldr r0, [r5, #4]
|
||||
add r1, r6, #0
|
||||
add r0, r0, r7
|
||||
bl ov13_02228B18
|
||||
cmp r0, #1
|
||||
bne _02228CA0
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, #0
|
||||
beq _02228CA0
|
||||
ldrb r0, [r5, #9]
|
||||
strb r0, [r5, #0xa]
|
||||
b _02228CA4
|
||||
_02228CA0:
|
||||
mov r0, #0xff
|
||||
strb r0, [r5, #0xa]
|
||||
_02228CA4:
|
||||
strb r4, [r5, #9]
|
||||
add r3, sp, #0x10
|
||||
ldrb r0, [r3]
|
||||
str r0, [sp]
|
||||
ldrb r1, [r3, #3]
|
||||
ldrb r2, [r3, #1]
|
||||
ldrb r3, [r3, #2]
|
||||
ldr r0, [r5, #0]
|
||||
bl ov16_0226DD7C
|
||||
ldr r0, _02228CF4 ; =0x000005DC
|
||||
bl sub_02005748
|
||||
_02228CBE:
|
||||
mov r0, #0
|
||||
add sp, #0x14
|
||||
mvn r0, r0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_02228CC6:
|
||||
ldr r0, _02228CF0 ; =0x021BF67C
|
||||
ldr r1, [r0, #0x48]
|
||||
mov r0, #1
|
||||
tst r0, r1
|
||||
beq _02228CD6
|
||||
add sp, #0x14
|
||||
ldrb r0, [r5, #9]
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_02228CD6:
|
||||
mov r0, #2
|
||||
tst r1, r0
|
||||
beq _02228CEA
|
||||
ldr r0, _02228CF8 ; =0x000005DD
|
||||
bl sub_02005748
|
||||
mov r0, #1
|
||||
add sp, #0x14
|
||||
mvn r0, r0
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_02228CEA:
|
||||
sub r0, r0, #3
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
; .align 2, 0
|
||||
_02228CF0: .word 0x021BF67C
|
||||
_02228CF4: .word 0x000005DC
|
||||
_02228CF8: .word 0x000005DD
|
||||
thumb_func_end ov13_02228B64
|
||||
20
main.lsf
20
main.lsf
@@ -1011,16 +1011,16 @@ Overlay overlay12
|
||||
Overlay overlay13
|
||||
{
|
||||
After overlay11
|
||||
Object asm/overlay013/ov13_0221FC20.o
|
||||
Object asm/overlay013/ov13_02221A88.o
|
||||
Object asm/overlay013/ov13_02224500.o
|
||||
Object asm/overlay013/ov13_02225710.o
|
||||
Object asm/overlay013/ov13_022264F4.o
|
||||
Object asm/overlay013/ov13_02227288.o
|
||||
Object asm/overlay013/ov13_02227A4C.o
|
||||
Object asm/overlay013/ov13_02227BDC.o
|
||||
Object asm/overlay013/ov13_02228128.o
|
||||
Object asm/overlay013/ov13_02228A38.o
|
||||
Object src/overlay013/ov13_0221FC20.o
|
||||
Object src/overlay013/ov13_02221A88.o
|
||||
Object src/overlay013/ov13_02224500.o
|
||||
Object src/overlay013/ov13_02225710.o
|
||||
Object src/overlay013/ov13_022264F4.o
|
||||
Object src/overlay013/ov13_02227288.o
|
||||
Object src/overlay013/ov13_02227A4C.o
|
||||
Object src/overlay013/ov13_02227BDC.o
|
||||
Object src/overlay013/ov13_02228128.o
|
||||
Object src/overlay013/ov13_02228A38.o
|
||||
}
|
||||
|
||||
Overlay overlay14
|
||||
|
||||
1748
src/overlay013/ov13_0221FC20.c
Normal file
1748
src/overlay013/ov13_0221FC20.c
Normal file
File diff suppressed because it is too large
Load Diff
1673
src/overlay013/ov13_02221A88.c
Normal file
1673
src/overlay013/ov13_02221A88.c
Normal file
File diff suppressed because it is too large
Load Diff
947
src/overlay013/ov13_02224500.c
Normal file
947
src/overlay013/ov13_02224500.c
Normal file
@@ -0,0 +1,947 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_decls/struct_02006C24_decl.h"
|
||||
#include "struct_decls/struct_0200C6E4_decl.h"
|
||||
#include "overlay016/struct_ov16_0226DC24_decl.h"
|
||||
|
||||
#include "struct_defs/struct_0200D0F4.h"
|
||||
#include "struct_defs/struct_020F1DB8.h"
|
||||
#include "overlay013/struct_ov13_022213F0.h"
|
||||
#include "overlay013/struct_ov13_02221ED0.h"
|
||||
#include "overlay104/struct_ov104_0223F9E0.h"
|
||||
#include "overlay104/struct_ov104_02241308.h"
|
||||
|
||||
#include "unk_020068C8.h"
|
||||
#include "unk_0200C6E4.h"
|
||||
#include "unk_0201FE94.h"
|
||||
#include "unk_020790B0.h"
|
||||
#include "unk_02079D40.h"
|
||||
#include "unk_02079FEC.h"
|
||||
#include "unk_0207C908.h"
|
||||
#include "unk_0207CDEC.h"
|
||||
#include "unk_0207E0B8.h"
|
||||
#include "unk_0208C098.h"
|
||||
#include "unk_0208C324.h"
|
||||
#include "overlay013/ov13_02224500.h"
|
||||
#include "overlay013/ov13_02228A38.h"
|
||||
#include "overlay016/ov16_0223DF00.h"
|
||||
#include "overlay016/ov16_0226DB7C.h"
|
||||
|
||||
static void ov13_0222453C(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224588(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224670(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224848(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224720(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224798(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224948(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_022249CC(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224C14(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224CB0(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224D08(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224DA0(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224E78(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224F3C(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02224FA8(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_0222506C(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_022250D8(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02225150(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_022251B4(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02225248(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_02225420(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_0222554C(UnkStruct_ov13_022213F0 * param0);
|
||||
static void ov13_022255B8(UnkStruct_ov13_022213F0 * param0);
|
||||
|
||||
static const int Unk_ov13_02229514[][5] = {
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB007, 0xB007, 0xB007, 0xB007, 0x1},
|
||||
{0xB008, 0xB007, 0xB007, 0xB007, 0x1},
|
||||
{0xB009, 0xB007, 0xB007, 0xB007, 0x1},
|
||||
{0xB00A, 0xB007, 0xB007, 0xB007, 0x1},
|
||||
{0xB00B, 0xB007, 0xB007, 0xB007, 0x1},
|
||||
{0xB00C, 0xB007, 0xB007, 0xB007, 0x1},
|
||||
{0xB00D, 0xB008, 0xB008, 0xB008, 0x1},
|
||||
{0xB00D, 0xB008, 0xB008, 0xB008, 0x1},
|
||||
{0xB00D, 0xB008, 0xB008, 0xB008, 0x1},
|
||||
{0xB00D, 0xB008, 0xB008, 0xB008, 0x1},
|
||||
{0xB00D, 0xB008, 0xB008, 0xB008, 0x1},
|
||||
{0xB00D, 0xB008, 0xB008, 0xB008, 0x1},
|
||||
{0xB00E, 0xB009, 0xB009, 0xB009, 0x0},
|
||||
{0xB00F, 0xB009, 0xB009, 0xB009, 0x0},
|
||||
{0xB010, 0xB009, 0xB009, 0xB009, 0x0},
|
||||
{0xB011, 0xB009, 0xB009, 0xB009, 0x0},
|
||||
{0xB012, 0xB009, 0xB009, 0xB009, 0x0},
|
||||
{0xB013, 0xB009, 0xB009, 0xB009, 0x0},
|
||||
{0xB014, 0xB009, 0xB009, 0xB009, 0x0},
|
||||
{0xB015, 0xB009, 0xB009, 0xB009, 0x0},
|
||||
{0xB017, 0xB00B, 0xB00B, 0xB00B, 0x0},
|
||||
{0xB017, 0xB00B, 0xB00B, 0xB00B, 0x0},
|
||||
{0xB017, 0xB00B, 0xB00B, 0xB00B, 0x0},
|
||||
{0xB017, 0xB00B, 0xB00B, 0xB00B, 0x0},
|
||||
{0xB017, 0xB00B, 0xB00B, 0xB00B, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0},
|
||||
{0xB016, 0xB00A, 0xB00A, 0xB00A, 0x0}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229404[][2] = {
|
||||
{0x10, 0x10},
|
||||
{0x90, 0x18},
|
||||
{0x10, 0x40},
|
||||
{0x90, 0x48},
|
||||
{0x10, 0x70},
|
||||
{0x90, 0x78}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229434[][2] = {
|
||||
{0x1C, 0x28},
|
||||
{0x9C, 0x30},
|
||||
{0x1C, 0x58},
|
||||
{0x9C, 0x60},
|
||||
{0x1C, 0x88},
|
||||
{0x9C, 0x90}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_0222921C[2] = {
|
||||
0x80,
|
||||
0x48
|
||||
};
|
||||
|
||||
static const int Unk_ov13_0222923C[2] = {
|
||||
0x18,
|
||||
0xC
|
||||
};
|
||||
|
||||
static const int Unk_ov13_0222924C[2] = {
|
||||
0xC6,
|
||||
0x14
|
||||
};
|
||||
|
||||
static const int Unk_ov13_022292C4[][2] = {
|
||||
{0x82, 0x10},
|
||||
{0xA4, 0x10}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229324[][2] = {
|
||||
{0x18, 0x50},
|
||||
{0x98, 0x50},
|
||||
{0x18, 0x80},
|
||||
{0x98, 0x80}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229244[2] = {
|
||||
0x18,
|
||||
0xC
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229254[2] = {
|
||||
0xC6,
|
||||
0x14
|
||||
};
|
||||
|
||||
static const int Unk_ov13_022292A4[][2] = {
|
||||
{0x82, 0x10},
|
||||
{0xA4, 0x10}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229264[2] = {
|
||||
0x18,
|
||||
0xC
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229224[2] = {
|
||||
0xC6,
|
||||
0x14
|
||||
};
|
||||
|
||||
static const int Unk_ov13_022292B4[][2] = {
|
||||
{0x82, 0x10},
|
||||
{0xA4, 0x10}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_0222922C[2] = {
|
||||
0x88,
|
||||
0x30
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229214[2] = {
|
||||
0x18,
|
||||
0x58
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229234[2] = {
|
||||
0x18,
|
||||
0xC
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229294[][2] = {
|
||||
{0x82, 0x10},
|
||||
{0xA4, 0x10}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_022293DC[][2] = {
|
||||
{0x18, 0x50},
|
||||
{0x98, 0x50},
|
||||
{0x18, 0x80},
|
||||
{0x98, 0x80},
|
||||
{0x58, 0xB0}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_0222927C[2] = {
|
||||
0x18,
|
||||
0xC
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229284[][2] = {
|
||||
{0x82, 0x10},
|
||||
{0xA4, 0x10}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_0222926C[2] = {
|
||||
0x88,
|
||||
0x30
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229274[2] = {
|
||||
0x18,
|
||||
0x58
|
||||
};
|
||||
|
||||
static const int Unk_ov13_0222925C[2] = {
|
||||
0x88,
|
||||
0x48
|
||||
};
|
||||
|
||||
void ov13_02224500 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
ov13_0222453C(param0);
|
||||
ov13_02224588(param0);
|
||||
ov13_02224670(param0);
|
||||
ov13_02224720(param0);
|
||||
ov13_02224798(param0);
|
||||
ov13_02224848(param0);
|
||||
ov13_02224948(param0);
|
||||
ov13_0222554C(param0);
|
||||
sub_0201FF74(GX_PLANEMASK_OBJ, 1);
|
||||
}
|
||||
|
||||
static void ov13_0222453C (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov104_02241308 v0 = {18, 6, 6, 6, 0, 0};
|
||||
UnkStruct_0200C6E4 * v1 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
|
||||
param0->unk_1FB0 = sub_0200C704(v1);
|
||||
|
||||
sub_0200C7C0(v1, param0->unk_1FB0, 38 + 5);
|
||||
sub_0200CB30(v1, param0->unk_1FB0, &v0);
|
||||
}
|
||||
|
||||
static void ov13_02224588 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0;
|
||||
u32 v1;
|
||||
UnkStruct_02006C24 * v2;
|
||||
|
||||
v2 = sub_02006C24(19, param0->unk_00->unk_0C);
|
||||
v0 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
|
||||
sub_0200CDC4(param0->unk_1E4, 3, v0, param0->unk_1FB0, v2, sub_02079FD0(), 0, 3, NNS_G2D_VRAM_TYPE_2DSUB, 45063);
|
||||
sub_0200CE24(v0, param0->unk_1FB0, v2, sub_02079FD8(), 0, 45063);
|
||||
sub_0200CE54(v0, param0->unk_1FB0, v2, sub_02079FE4(), 0, 45063);
|
||||
|
||||
for (v1 = 0; v1 < 6; v1++) {
|
||||
if (param0->unk_04[v1].unk_04 != 0) {
|
||||
sub_0200CC3C(v0, param0->unk_1FB0, v2, sub_02079D80(param0->unk_04[v1].unk_00), 0, NNS_G2D_VRAM_TYPE_2DSUB, 45063 + v1);
|
||||
} else {
|
||||
sub_0200CC3C(v0, param0->unk_1FB0, v2, sub_02079D8C(0, 0, 0), 0, NNS_G2D_VRAM_TYPE_2DSUB, 45063 + v1);
|
||||
}
|
||||
}
|
||||
|
||||
sub_02006CA8(v2);
|
||||
}
|
||||
|
||||
static void ov13_02224670 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
UnkStruct_02006C24 * v1;
|
||||
|
||||
v1 = sub_02006C24(39, param0->unk_00->unk_0C);
|
||||
|
||||
sub_0200CDC4(param0->unk_1E4, 3, v0, param0->unk_1FB0, v1, sub_0208E9E4(), 0, 1, NNS_G2D_VRAM_TYPE_2DSUB, 45064);
|
||||
sub_0200CE24(v0, param0->unk_1FB0, v1, sub_0208E9E8(), 0, 45064);
|
||||
sub_0200CE54(v0, param0->unk_1FB0, v1, sub_0208E9EC(), 0, 45064);
|
||||
sub_0200CC3C(v0, param0->unk_1FB0, v1, sub_0208E9E0(), 0, NNS_G2D_VRAM_TYPE_2DSUB, 45069);
|
||||
sub_02006CA8(v1);
|
||||
}
|
||||
|
||||
static void ov13_02224720 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0;
|
||||
u32 v1;
|
||||
|
||||
v0 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
|
||||
sub_0207C9B0(param0->unk_1E4, 3, v0, param0->unk_1FB0, NNS_G2D_VRAM_TYPE_2DSUB, 45065);
|
||||
sub_0207C9EC(v0, param0->unk_1FB0, 45065, 45065);
|
||||
|
||||
for (v1 = 45070; v1 <= 45076; v1++) {
|
||||
sub_0207C948(v0, param0->unk_1FB0, NNS_G2D_VRAM_TYPE_2DSUB, 0, v1);
|
||||
}
|
||||
|
||||
sub_0207CAC4(v0, param0->unk_1FB0, NNS_G2D_VRAM_TYPE_2DSUB, 0, 45077);
|
||||
}
|
||||
|
||||
static void ov13_02224798 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0;
|
||||
u32 v1;
|
||||
UnkStruct_02006C24 * v2;
|
||||
|
||||
v2 = sub_02006C24(20, param0->unk_00->unk_0C);
|
||||
v0 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
|
||||
sub_0200CDC4(param0->unk_1E4, 3, v0, param0->unk_1FB0, v2, sub_02081934(), 0, 1, NNS_G2D_VRAM_TYPE_2DSUB, 45066);
|
||||
sub_0200CE24(v0, param0->unk_1FB0, v2, sub_02081938(), 0, 45066);
|
||||
sub_0200CE54(v0, param0->unk_1FB0, v2, sub_0208193C(), 0, 45066);
|
||||
sub_0200CC3C(v0, param0->unk_1FB0, v2, sub_02081930(), 0, NNS_G2D_VRAM_TYPE_2DSUB, 45078);
|
||||
sub_02006CA8(v2);
|
||||
}
|
||||
|
||||
static void ov13_02224848 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
|
||||
sub_0200CD7C(param0->unk_1E4, 3, v0, param0->unk_1FB0, 72, 27, 0, 1, NNS_G2D_VRAM_TYPE_2DSUB, 45067);
|
||||
sub_0200CE0C(v0, param0->unk_1FB0, 72, 25, 0, 45067);
|
||||
sub_0200CE3C(v0, param0->unk_1FB0, 72, 24, 0, 45067);
|
||||
sub_0200CBDC(v0, param0->unk_1FB0, 72, 26, 0, NNS_G2D_VRAM_TYPE_2DSUB, 45079);
|
||||
}
|
||||
|
||||
static UnkStruct_0200D0F4 * ov13_022248D8 (UnkStruct_ov13_022213F0 * param0, u32 param1)
|
||||
{
|
||||
UnkStruct_ov104_0223F9E0 v0;
|
||||
UnkStruct_0200C6E4 * v1;
|
||||
|
||||
v1 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
|
||||
v0.unk_00 = 0;
|
||||
v0.unk_02 = 0;
|
||||
v0.unk_04 = 0;
|
||||
v0.unk_06 = 0;
|
||||
v0.unk_08 = Unk_ov13_02229514[param1][4];
|
||||
v0.unk_0C = 0;
|
||||
v0.unk_10 = NNS_G2D_VRAM_TYPE_2DSUB;
|
||||
v0.unk_14[0] = Unk_ov13_02229514[param1][0];
|
||||
v0.unk_14[1] = Unk_ov13_02229514[param1][1];
|
||||
v0.unk_14[2] = Unk_ov13_02229514[param1][2];
|
||||
v0.unk_14[3] = Unk_ov13_02229514[param1][3];
|
||||
v0.unk_2C = 1;
|
||||
v0.unk_30 = 0;
|
||||
|
||||
return sub_0200CE6C(v1, param0->unk_1FB0, &v0);
|
||||
}
|
||||
|
||||
static void ov13_02224948 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
for (v0 = 0; v0 < 38; v0++) {
|
||||
param0->unk_1FB4[v0] = ov13_022248D8(param0, v0);
|
||||
}
|
||||
|
||||
ov13_022249CC(param0);
|
||||
}
|
||||
|
||||
void ov13_02224970 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0;
|
||||
u32 v1;
|
||||
|
||||
v0 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
|
||||
for (v1 = 0; v1 < 38; v1++) {
|
||||
sub_0200D0F4(param0->unk_1FB4[v1]);
|
||||
}
|
||||
|
||||
ov13_022255B8(param0);
|
||||
sub_0200D0B0(v0, param0->unk_1FB0);
|
||||
}
|
||||
|
||||
static void ov13_022249AC (UnkStruct_0200D0F4 * param0, const int param1, const int param2)
|
||||
{
|
||||
sub_0200D3F4(param0, 1);
|
||||
sub_0200D4C4(param0, param1, param2);
|
||||
}
|
||||
|
||||
static void ov13_022249CC (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
s32 v0;
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
if (param0->unk_04[v0].unk_04 == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
sub_0200D41C(param0->unk_1FB4[7 + v0], sub_02079EDC(param0->unk_04[v0].unk_04, param0->unk_04[v0].unk_2E, param0->unk_04[v0].unk_17_7));
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02224A0C (UnkStruct_ov13_022213F0 * param0, UnkStruct_0200D0F4 * param1, u32 param2, u8 param3)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
|
||||
sub_0200D948(v0, param0->unk_1FB0, sub_0207C944(), sub_0207C908(param3), 1, param2);
|
||||
sub_0200D41C(param1, sub_0207C92C(param3) + 4);
|
||||
}
|
||||
|
||||
static void ov13_02224A5C (UnkStruct_ov13_022213F0 * param0, UnkStruct_0200D0F4 * param1, u32 param2)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
|
||||
sub_0200D948(v0, param0->unk_1FB0, sub_0207CAC0(), sub_0207CA90(param2), 1, 45077);
|
||||
sub_0200D41C(param1, sub_0207CAA8(param2) + 4);
|
||||
}
|
||||
|
||||
static void ov13_02224AB0 (u16 param0, UnkStruct_0200D0F4 * param1, const int param2, const int param3)
|
||||
{
|
||||
if (param0 == 7) {
|
||||
return;
|
||||
}
|
||||
|
||||
sub_0200D364(param1, param0);
|
||||
ov13_022249AC(param1, param2, param3);
|
||||
}
|
||||
|
||||
static void ov13_02224AD4 (UnkStruct_ov13_022213F0 * param0, UnkStruct_ov13_02221ED0 * param1, const int * param2)
|
||||
{
|
||||
ov13_02224A0C(param0, param0->unk_1FB4[19], 45070, param1->unk_14);
|
||||
ov13_022249AC(param0->unk_1FB4[19], param2[0], param2[1]);
|
||||
|
||||
if (param1->unk_14 != param1->unk_15) {
|
||||
ov13_02224A0C(param0, param0->unk_1FB4[20], 45071, param1->unk_15);
|
||||
ov13_022249AC(param0->unk_1FB4[20], param2[2], param2[3]);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02224B28 (u16 param0, UnkStruct_0200D0F4 * param1, const int param2, const int param3)
|
||||
{
|
||||
if (param0 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (sub_0207D2D0(param0) == 1) {
|
||||
sub_0200D364(param1, 1);
|
||||
} else {
|
||||
sub_0200D364(param1, 0);
|
||||
}
|
||||
|
||||
ov13_022249AC(param1, param2, param3);
|
||||
}
|
||||
|
||||
static void ov13_02224B5C (u8 param0, UnkStruct_0200D0F4 * param1, const int param2, const int param3)
|
||||
{
|
||||
if (param0 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
sub_0200D364(param1, 2);
|
||||
ov13_022249AC(param1, param2, param3);
|
||||
}
|
||||
|
||||
void ov13_02224B7C (UnkStruct_ov13_022213F0 * param0, u32 param1)
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
for (v0 = 0; v0 < 38; v0++) {
|
||||
sub_0200D3F4(param0->unk_1FB4[v0], 0);
|
||||
}
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
ov13_02224C14(param0);
|
||||
break;
|
||||
case 1:
|
||||
ov13_02224CB0(param0);
|
||||
break;
|
||||
case 2:
|
||||
ov13_02224D08(param0);
|
||||
break;
|
||||
case 3:
|
||||
ov13_02224DA0(param0);
|
||||
break;
|
||||
case 4:
|
||||
ov13_02224E78(param0);
|
||||
break;
|
||||
case 5:
|
||||
ov13_0222506C(param0);
|
||||
break;
|
||||
case 6:
|
||||
ov13_02224F3C(param0);
|
||||
break;
|
||||
case 7:
|
||||
ov13_02224FA8(param0);
|
||||
break;
|
||||
case 8:
|
||||
ov13_02225150(param0);
|
||||
break;
|
||||
case 9:
|
||||
ov13_022250D8(param0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02224C14 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
s32 v0;
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
if (param0->unk_04[v0].unk_04 == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + v0], Unk_ov13_02229404[v0][0], Unk_ov13_02229404[v0][1]);
|
||||
ov13_02224AB0(param0->unk_04[v0].unk_17_3, param0->unk_1FB4[13 + v0], Unk_ov13_02229434[v0][0], Unk_ov13_02229434[v0][1]);
|
||||
ov13_02224B28(param0->unk_04[v0].unk_1A, param0->unk_1FB4[0 + v0], Unk_ov13_02229404[v0][0] + 8, Unk_ov13_02229404[v0][1] + 8);
|
||||
ov13_02224B5C(param0->unk_04[v0].unk_2D, param0->unk_1FB4[32 + v0], Unk_ov13_02229404[v0][0] + 16, Unk_ov13_02229404[v0][1] + 8);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02224CB0 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0;
|
||||
u16 v1;
|
||||
|
||||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_0222921C[0], Unk_ov13_0222921C[1]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_0222921C[0] + 8, Unk_ov13_0222921C[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_0222921C[0] + 16, Unk_ov13_0222921C[1] + 8);
|
||||
}
|
||||
|
||||
static void ov13_02224D08 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0;
|
||||
u16 v1;
|
||||
|
||||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_0222923C[0], Unk_ov13_0222923C[1]);
|
||||
ov13_02224AB0(v0->unk_17_3, param0->unk_1FB4[13 + param0->unk_00->unk_11], Unk_ov13_0222924C[0], Unk_ov13_0222924C[1]);
|
||||
ov13_02224AD4(param0, v0, &Unk_ov13_022292C4[0][0]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_0222923C[0] + 8, Unk_ov13_0222923C[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_0222923C[0] + 16, Unk_ov13_0222923C[1] + 8);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[6], 20, 132);
|
||||
}
|
||||
|
||||
static void ov13_02224DA0 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0;
|
||||
u32 v1;
|
||||
|
||||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_02229244[0], Unk_ov13_02229244[1]);
|
||||
ov13_02224AB0(v0->unk_17_3, param0->unk_1FB4[13 + param0->unk_00->unk_11], Unk_ov13_02229254[0], Unk_ov13_02229254[1]);
|
||||
ov13_02224AD4(param0, v0, &Unk_ov13_022292A4[0][0]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_02229244[0] + 8, Unk_ov13_02229244[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_02229244[0] + 16, Unk_ov13_02229244[1] + 8);
|
||||
|
||||
for (v1 = 0; v1 < 4; v1++) {
|
||||
if (v0->unk_30[v1].unk_00 == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
ov13_02224A0C(param0, param0->unk_1FB4[21 + v1], 45072 + v1, v0->unk_30[v1].unk_04);
|
||||
ov13_022249AC(param0->unk_1FB4[21 + v1], Unk_ov13_02229324[v1][0], Unk_ov13_02229324[v1][1]);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02224E78 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_02229264[0], Unk_ov13_02229264[1]);
|
||||
ov13_02224AB0(v0->unk_17_3, param0->unk_1FB4[13 + param0->unk_00->unk_11], Unk_ov13_02229224[0], Unk_ov13_02229224[1]);
|
||||
ov13_02224AD4(param0, v0, &Unk_ov13_022292B4[0][0]);
|
||||
ov13_022249AC(param0->unk_1FB4[21 + param0->unk_00->unk_34], Unk_ov13_0222922C[0], Unk_ov13_0222922C[1]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_02229264[0] + 8, Unk_ov13_02229264[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_02229264[0] + 16, Unk_ov13_02229264[1] + 8);
|
||||
ov13_02224A5C(param0, param0->unk_1FB4[26], v0->unk_30[param0->unk_00->unk_34].unk_05);
|
||||
ov13_022249AC(param0->unk_1FB4[26], Unk_ov13_02229214[0], Unk_ov13_02229214[1]);
|
||||
}
|
||||
|
||||
static void ov13_02224F3C (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0;
|
||||
u16 v1;
|
||||
|
||||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_02229234[0], Unk_ov13_02229234[1]);
|
||||
ov13_02224AD4(param0, v0, &Unk_ov13_02229294[0][0]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_02229234[0] + 8, Unk_ov13_02229234[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_02229234[0] + 16, Unk_ov13_02229234[1] + 8);
|
||||
ov13_022252E8(param0);
|
||||
}
|
||||
|
||||
static void ov13_02224FA8 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_0222927C[0], Unk_ov13_0222927C[1]);
|
||||
ov13_02224AD4(param0, v0, &Unk_ov13_02229284[0][0]);
|
||||
ov13_022249AC(param0->unk_1FB4[21 + param0->unk_00->unk_34], Unk_ov13_0222926C[0], Unk_ov13_0222926C[1]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_0222927C[0] + 8, Unk_ov13_0222927C[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_0222927C[0] + 16, Unk_ov13_0222927C[1] + 8);
|
||||
|
||||
if (param0->unk_00->unk_34 < 4) {
|
||||
ov13_02224A5C(param0, param0->unk_1FB4[26], v0->unk_30[param0->unk_00->unk_34].unk_05);
|
||||
} else {
|
||||
ov13_02224A5C(param0, param0->unk_1FB4[26], sub_020790C4(param0->unk_00->unk_24, 1));
|
||||
}
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[26], Unk_ov13_02229274[0], Unk_ov13_02229274[1]);
|
||||
}
|
||||
|
||||
static void ov13_0222506C (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0;
|
||||
u16 v1;
|
||||
|
||||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_02229234[0], Unk_ov13_02229234[1]);
|
||||
ov13_02224AD4(param0, v0, &Unk_ov13_02229294[0][0]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_02229234[0] + 8, Unk_ov13_02229234[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_02229234[0] + 16, Unk_ov13_02229234[1] + 8);
|
||||
ov13_022252E8(param0);
|
||||
}
|
||||
|
||||
static void ov13_022250D8 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_0222927C[0], Unk_ov13_0222927C[1]);
|
||||
ov13_022249AC(param0->unk_1FB4[21 + param0->unk_00->unk_34], Unk_ov13_0222925C[0], Unk_ov13_0222925C[1]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_0222927C[0] + 8, Unk_ov13_0222927C[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_0222927C[0] + 16, Unk_ov13_0222927C[1] + 8);
|
||||
ov13_02225420(param0);
|
||||
}
|
||||
|
||||
static void ov13_02225150 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_0222927C[0], Unk_ov13_0222927C[1]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_0222927C[0] + 8, Unk_ov13_0222927C[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_0222927C[0] + 16, Unk_ov13_0222927C[1] + 8);
|
||||
ov13_022252E8(param0);
|
||||
ov13_02225420(param0);
|
||||
}
|
||||
|
||||
static void ov13_022251B4 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0;
|
||||
u16 v1;
|
||||
|
||||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
for (v1 = 0; v1 < 4; v1++) {
|
||||
if (v0->unk_30[v1].unk_00 == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
ov13_02224A0C(param0, param0->unk_1FB4[21 + v1], 45072 + v1, v0->unk_30[v1].unk_04);
|
||||
ov13_022249AC(param0->unk_1FB4[21 + v1], Unk_ov13_022293DC[v1][0], Unk_ov13_022293DC[v1][1]);
|
||||
}
|
||||
|
||||
if (param0->unk_00->unk_24 != 0) {
|
||||
ov13_02224A0C(param0, param0->unk_1FB4[25], 45076, sub_020790C4(param0->unk_00->unk_24, 3));
|
||||
ov13_022249AC(param0->unk_1FB4[25], Unk_ov13_022293DC[4][0], Unk_ov13_022293DC[4][1]);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02225248 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0;
|
||||
u16 v1;
|
||||
|
||||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
for (v1 = 0; v1 < 4; v1++) {
|
||||
if (v0->unk_30[v1].unk_00 == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
ov13_02224A0C(param0, param0->unk_1FB4[21 + v1], 45072 + v1, sub_020790C4(v0->unk_30[v1].unk_00, 11) + 18);
|
||||
ov13_022249AC(param0->unk_1FB4[21 + v1], Unk_ov13_022293DC[v1][0], Unk_ov13_022293DC[v1][1]);
|
||||
}
|
||||
|
||||
if (param0->unk_00->unk_24 != 0) {
|
||||
ov13_02224A0C(param0, param0->unk_1FB4[25], 45076, sub_020790C4(param0->unk_00->unk_24, 11) + 18);
|
||||
ov13_022249AC(param0->unk_1FB4[25], Unk_ov13_022293DC[4][0], Unk_ov13_022293DC[4][1]);
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_022252E8 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
if (param0->unk_2073_0 == 0) {
|
||||
ov13_022251B4(param0);
|
||||
} else {
|
||||
ov13_02225248(param0);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02225304 (UnkStruct_0200D0F4 * param0, u8 param1)
|
||||
{
|
||||
if (sub_0200D37C(param0) == param1) {
|
||||
return;
|
||||
}
|
||||
|
||||
sub_0200D3CC(param0, 0);
|
||||
sub_0200D364(param0, param1);
|
||||
}
|
||||
|
||||
static u8 ov13_02225324 (UnkStruct_ov13_02221ED0 * param0)
|
||||
{
|
||||
if (param0->unk_10 == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((param0->unk_17_3 != 7) && (param0->unk_17_3 != 6)) {
|
||||
return 5;
|
||||
}
|
||||
|
||||
switch (sub_0208C104(param0->unk_10, param0->unk_12, 48)) {
|
||||
case 4:
|
||||
return 1;
|
||||
case 3:
|
||||
return 2;
|
||||
case 2:
|
||||
return 3;
|
||||
case 1:
|
||||
return 4;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ov13_0222537C (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
u16 v0;
|
||||
u16 v1;
|
||||
|
||||
for (v0 = 0; v0 < sub_0207A0F8(param0->unk_00->unk_00); v0++) {
|
||||
if (param0->unk_04[v0].unk_04 == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
v1 = ov13_02225324(¶m0->unk_04[v0]);
|
||||
|
||||
ov13_02225304(param0->unk_1FB4[7 + v0], v1);
|
||||
sub_0200D34C(param0->unk_1FB4[7 + v0], FX32_ONE);
|
||||
}
|
||||
}
|
||||
|
||||
static s16 ov13_022253DC (u32 param0, s16 param1, s16 param2)
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
param0 += 44;
|
||||
|
||||
if (param2 > param1) {
|
||||
v0 = ((param2 - param1) * param0) << 16;
|
||||
v0 = (v0 / 300) >> 16;
|
||||
|
||||
return param2 + (s16)v0 * -1;
|
||||
}
|
||||
|
||||
v0 = ((param1 - param2) * param0) << 16;
|
||||
v0 = (v0 / 300) >> 16;
|
||||
|
||||
return param2 + (s16)v0;
|
||||
}
|
||||
|
||||
static void ov13_02225420 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02221ED0 * v0;
|
||||
u16 v1;
|
||||
|
||||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_02225304(param0->unk_1FB4[27], 0);
|
||||
ov13_02225304(param0->unk_1FB4[28], 1);
|
||||
ov13_02225304(param0->unk_1FB4[29], 3);
|
||||
ov13_02225304(param0->unk_1FB4[30], 4);
|
||||
ov13_02225304(param0->unk_1FB4[31], 2);
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[27], ov13_022253DC(v0->unk_28, 144, 144), ov13_022253DC(v0->unk_28, 2, 24));
|
||||
ov13_022249AC(param0->unk_1FB4[28], ov13_022253DC(v0->unk_29, 164, 144), ov13_022253DC(v0->unk_29, 16, 24));
|
||||
ov13_022249AC(param0->unk_1FB4[29], ov13_022253DC(v0->unk_2A, 156, 144), ov13_022253DC(v0->unk_2A, 41, 24));
|
||||
ov13_022249AC(param0->unk_1FB4[30], ov13_022253DC(v0->unk_2B, 131, 143), ov13_022253DC(v0->unk_2B, 41, 24));
|
||||
ov13_022249AC(param0->unk_1FB4[31], ov13_022253DC(v0->unk_2C, 123, 143), ov13_022253DC(v0->unk_2C, 16, 24));
|
||||
}
|
||||
|
||||
static void ov13_0222554C (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0;
|
||||
UnkStruct_ov16_0226DC24 * v1;
|
||||
|
||||
v0 = ov16_0223E010(param0->unk_00->unk_08);
|
||||
ov16_0226DB7C(v0, param0->unk_1FB0, param0->unk_1E4, param0->unk_00->unk_0C, 45080, 45068, 45068, 45068);
|
||||
v1 = ov16_0226DC24(v0, param0->unk_1FB0, param0->unk_00->unk_0C, 45080, 45068, 45068, 45068, 0, 1);
|
||||
|
||||
ov13_02228A64(param0->unk_2084, v1);
|
||||
}
|
||||
|
||||
static void ov13_022255B8 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
ov16_0226DCA8(ov13_02228A58(param0->unk_2084));
|
||||
ov16_0226DBFC(param0->unk_1FB0, 45080, 45068, 45068, 45068);
|
||||
}
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_02229464[] = {
|
||||
{0x8, 0x8, 0x78, 0x28, 0x6, 0x2, 0x6, 0x1},
|
||||
{0x88, 0x10, 0xF8, 0x30, 0x4, 0x3, 0x0, 0x2},
|
||||
{0x8, 0x38, 0x78, 0x58, 0x0, 0x4, 0x1, 0x3},
|
||||
{0x88, 0x40, 0xF8, 0x60, 0x1, 0x5, 0x2, 0x4},
|
||||
{0x8, 0x68, 0x78, 0x88, 0x2, 0x1, 0x3, 0x5},
|
||||
{0x88, 0x70, 0xF8, 0x90, 0x3, 0x6, 0x4, 0x6},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x5, 0x0, 0x5, 0x0}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_02229344[] = {
|
||||
{0x10, 0x10, 0xF0, 0x88, 0x0, 0x81, 0x0, 0x0},
|
||||
{0x8, 0xA0, 0x60, 0xB8, 0x0, 0x1, 0x1, 0x2},
|
||||
{0x70, 0xA0, 0xC8, 0xB8, 0x0, 0x2, 0x1, 0x3},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x0, 0x3, 0x2, 0x3}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_02229304[] = {
|
||||
{0x8, 0xA0, 0x20, 0xB8, 0x0, 0x0, 0x0, 0x1},
|
||||
{0x30, 0xA0, 0x48, 0xB8, 0x1, 0x1, 0x0, 0x2},
|
||||
{0x68, 0xA0, 0xC0, 0xB8, 0x2, 0x2, 0x1, 0x3},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x3, 0x3, 0x2, 0x3}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_022294D4[] = {
|
||||
{0x8, 0x38, 0x78, 0x58, 0x0, 0x2, 0x0, 0x1},
|
||||
{0x88, 0x38, 0xF8, 0x58, 0x1, 0x3, 0x0, 0x1},
|
||||
{0x8, 0x68, 0x78, 0x88, 0x0, 0x84, 0x2, 0x3},
|
||||
{0x88, 0x68, 0xF8, 0x88, 0x1, 0x87, 0x2, 0x3},
|
||||
{0x8, 0xA0, 0x20, 0xB8, 0x2, 0x4, 0x4, 0x5},
|
||||
{0x30, 0xA0, 0x48, 0xB8, 0x2, 0x5, 0x4, 0x6},
|
||||
{0x68, 0xA0, 0xC0, 0xB8, 0x3, 0x6, 0x5, 0x7},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x3, 0x7, 0x6, 0x7}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_02229364[] = {
|
||||
{0x5C, 0x9D, 0x7C, 0xA5, 0x0, 0x2, 0x0, 0x1},
|
||||
{0x84, 0x9D, 0xA4, 0xA5, 0x1, 0x3, 0x0, 0x4},
|
||||
{0x5C, 0xAD, 0x7C, 0xB5, 0x0, 0x2, 0x2, 0x3},
|
||||
{0x84, 0xAD, 0xA4, 0xB5, 0x1, 0x3, 0x2, 0x4},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x4, 0x4, 0x83, 0x4}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_0222949C[] = {
|
||||
{0x8, 0x38, 0x78, 0x58, 0x5, 0x2, 0x0, 0x1},
|
||||
{0x88, 0x38, 0xF8, 0x58, 0x5, 0x3, 0x0, 0x1},
|
||||
{0x8, 0x68, 0x78, 0x88, 0x0, 0x4, 0x2, 0x3},
|
||||
{0x88, 0x68, 0xF8, 0x88, 0x1, 0x6, 0x2, 0x3},
|
||||
{0x48, 0x98, 0xB8, 0xB8, 0x2, 0x4, 0x4, 0x6},
|
||||
{0xC0, 0x8, 0xF8, 0x18, 0x5, 0x81, 0x0, 0x5},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x3, 0x6, 0x4, 0x6}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_022292D4[] = {
|
||||
{0x8, 0xA0, 0xC8, 0xB8, 0x1, 0x0, 0x0, 0x2},
|
||||
{0xC0, 0x8, 0xF8, 0x18, 0x1, 0x82, 0x0, 0x1},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x1, 0x2, 0x0, 0x2}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_022293B4[] = {
|
||||
{0x8, 0x38, 0x78, 0x58, 0x0, 0x2, 0x0, 0x1},
|
||||
{0x88, 0x38, 0xF8, 0x58, 0x1, 0x3, 0x0, 0x1},
|
||||
{0x8, 0x68, 0x78, 0x88, 0x0, 0x4, 0x2, 0x3},
|
||||
{0x88, 0x68, 0xF8, 0x88, 0x1, 0x4, 0x2, 0x3},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x83, 0x4, 0x4, 0x4}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 * const Unk_ov13_0222938C[] = {
|
||||
Unk_ov13_02229464,
|
||||
Unk_ov13_02229344,
|
||||
Unk_ov13_02229304,
|
||||
Unk_ov13_022294D4,
|
||||
Unk_ov13_02229364,
|
||||
Unk_ov13_022293B4,
|
||||
Unk_ov13_0222949C,
|
||||
Unk_ov13_022292D4,
|
||||
Unk_ov13_0222949C,
|
||||
Unk_ov13_022292D4
|
||||
};
|
||||
|
||||
static void ov13_022255EC (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
if (param0->unk_2073_4 == 0) {
|
||||
ov13_02228AC8(param0->unk_2084, 0x5f);
|
||||
} else {
|
||||
ov13_02228AC8(param0->unk_2084, 0x7f);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02225614 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
if (param0->unk_2073_4 == 0) {
|
||||
ov13_02228AC8(param0->unk_2084, 5);
|
||||
} else {
|
||||
ov13_02228AC8(param0->unk_2084, 7);
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_0222563C (UnkStruct_ov13_022213F0 * param0, u8 param1)
|
||||
{
|
||||
ov13_02228A9C(param0->unk_2084, Unk_ov13_0222938C[param1]);
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
ov13_02228A68(param0->unk_2084, param0->unk_00->unk_11);
|
||||
param0->unk_2088 = 0;
|
||||
param0->unk_00->unk_34 = 0;
|
||||
break;
|
||||
case 1:
|
||||
ov13_02228A68(param0->unk_2084, param0->unk_2088);
|
||||
param0->unk_00->unk_34 = 0;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
ov13_02228A68(param0->unk_2084, param0->unk_00->unk_34);
|
||||
break;
|
||||
case 6:
|
||||
case 8:
|
||||
ov13_022255EC(param0);
|
||||
ov13_02228A68(param0->unk_2084, param0->unk_2089);
|
||||
break;
|
||||
case 7:
|
||||
case 9:
|
||||
ov13_02225614(param0);
|
||||
ov13_02228A68(param0->unk_2084, param0->unk_208A);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_022256E8 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
ov13_02228A60(param0->unk_2084, 0);
|
||||
ov13_02228A90(param0->unk_2084);
|
||||
ov16_0226DDE8(ov13_02228A58(param0->unk_2084));
|
||||
}
|
||||
733
src/overlay013/ov13_02225710.c
Normal file
733
src/overlay013/ov13_02225710.c
Normal file
@@ -0,0 +1,733 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "overlay013/struct_ov13_022213F0.h"
|
||||
|
||||
#include "unk_02002F38.h"
|
||||
#include "unk_0200C6E4.h"
|
||||
#include "unk_02017E74.h"
|
||||
#include "unk_02018340.h"
|
||||
#include "overlay013/ov13_0221FC20.h"
|
||||
#include "overlay013/ov13_02225710.h"
|
||||
|
||||
typedef struct {
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
u8 unk_02;
|
||||
u8 unk_03;
|
||||
} UnkStruct_ov13_02229924;
|
||||
|
||||
static void ov13_02225AF0(u16 * param0, u16 * param1, u8 param2, u8 param3, u8 param4, u8 param5);
|
||||
static u8 ov13_02226484(UnkStruct_ov13_022213F0 * param0);
|
||||
|
||||
static const UnkStruct_ov13_02229924 Unk_ov13_02229924[] = {
|
||||
{0x0, 0x0, 0x10, 0x6},
|
||||
{0x10, 0x1, 0x10, 0x6},
|
||||
{0x0, 0x6, 0x10, 0x6},
|
||||
{0x10, 0x7, 0x10, 0x6},
|
||||
{0x0, 0xC, 0x10, 0x6},
|
||||
{0x10, 0xD, 0x10, 0x6},
|
||||
{0x1B, 0x13, 0x5, 0x5},
|
||||
{0x1, 0x1, 0x1E, 0x11},
|
||||
{0x0, 0x13, 0xD, 0x5},
|
||||
{0xC, 0x13, 0xD, 0x5},
|
||||
{0xD, 0x13, 0xD, 0x5},
|
||||
{0xC, 0x13, 0xD, 0x5},
|
||||
{0x0, 0x13, 0x5, 0x5},
|
||||
{0x5, 0x13, 0x5, 0x5},
|
||||
{0x0, 0x6, 0x10, 0x6},
|
||||
{0x10, 0x6, 0x10, 0x6},
|
||||
{0x0, 0xC, 0x10, 0x6},
|
||||
{0x10, 0xC, 0x10, 0x6},
|
||||
{0x17, 0x0, 0x9, 0x4},
|
||||
{0x0, 0x6, 0x10, 0x6},
|
||||
{0x10, 0x6, 0x10, 0x6},
|
||||
{0x0, 0xC, 0x10, 0x6},
|
||||
{0x10, 0xC, 0x10, 0x6},
|
||||
{0x0, 0x6, 0x10, 0x6},
|
||||
{0x10, 0x6, 0x10, 0x6},
|
||||
{0x0, 0xC, 0x10, 0x6},
|
||||
{0x10, 0xC, 0x10, 0x6},
|
||||
{0x8, 0x12, 0x10, 0x6},
|
||||
{0x0, 0x13, 0x1A, 0x5},
|
||||
{0x0, 0x13, 0x1A, 0x5},
|
||||
{0xB, 0x13, 0x5, 0x2},
|
||||
{0x10, 0x13, 0x5, 0x2},
|
||||
{0xB, 0x15, 0x5, 0x2},
|
||||
{0x10, 0x15, 0x5, 0x2}
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229838[] = {
|
||||
0x0,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229830[] = {
|
||||
0x1,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229864[] = {
|
||||
0x2,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_0222983C[] = {
|
||||
0x3,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229828[] = {
|
||||
0x4,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229840[] = {
|
||||
0x5,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229874[] = {
|
||||
0x0,
|
||||
0x1,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229820[] = {
|
||||
0x2,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229824[] = {
|
||||
0x3,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229870[] = {
|
||||
0x15,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_0222986C[] = {
|
||||
0x5,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229878[] = {
|
||||
0x7,
|
||||
0x1,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229880[] = {
|
||||
0x8,
|
||||
0x2,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229884[] = {
|
||||
0x9,
|
||||
0x3,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229888[] = {
|
||||
0xA,
|
||||
0x4,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_0222985C[] = {
|
||||
0x1,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229854[] = {
|
||||
0x2,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229850[] = {
|
||||
0x3,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_0222984C[] = {
|
||||
0x4,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_0222982C[] = {
|
||||
0x1,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229844[] = {
|
||||
0x2,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229868[] = {
|
||||
0x3,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229860[] = {
|
||||
0x4,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229858[] = {
|
||||
0x5,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229834[] = {
|
||||
0xB,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229848[] = {
|
||||
0x6,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 * const Unk_ov13_0222989C[] = {
|
||||
Unk_ov13_02229838,
|
||||
Unk_ov13_02229830,
|
||||
Unk_ov13_02229864,
|
||||
Unk_ov13_0222983C,
|
||||
Unk_ov13_02229828,
|
||||
Unk_ov13_02229840,
|
||||
NULL,
|
||||
Unk_ov13_02229874,
|
||||
Unk_ov13_02229820,
|
||||
Unk_ov13_0222986C,
|
||||
Unk_ov13_02229824,
|
||||
Unk_ov13_02229870,
|
||||
NULL,
|
||||
NULL,
|
||||
Unk_ov13_02229878,
|
||||
Unk_ov13_02229880,
|
||||
Unk_ov13_02229884,
|
||||
Unk_ov13_02229888,
|
||||
NULL,
|
||||
Unk_ov13_0222985C,
|
||||
Unk_ov13_02229854,
|
||||
Unk_ov13_02229850,
|
||||
Unk_ov13_0222984C,
|
||||
Unk_ov13_0222982C,
|
||||
Unk_ov13_02229844,
|
||||
Unk_ov13_02229868,
|
||||
Unk_ov13_02229860,
|
||||
Unk_ov13_02229858,
|
||||
Unk_ov13_02229834,
|
||||
Unk_ov13_02229848,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
static const s16 Unk_ov13_02229896[] = {
|
||||
0x2,
|
||||
0xFFFFFFFFFFFFFFFD,
|
||||
0x1
|
||||
};
|
||||
|
||||
static const s16 Unk_ov13_02229890[] = {
|
||||
0x2,
|
||||
0xFFFFFFFFFFFFFFFC,
|
||||
0x2
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_0222988C[] = {
|
||||
0x2,
|
||||
0x3,
|
||||
0x1
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_0222987C[] = {
|
||||
0x2,
|
||||
0x4,
|
||||
0x2
|
||||
};
|
||||
|
||||
void ov13_02225710 (UnkStruct_ov13_022213F0 * param0, u16 * param1)
|
||||
{
|
||||
ov13_02225AF0(param0->unk_1E8[0], param1, 0, 0, 16, 6);
|
||||
ov13_02225AF0(param0->unk_1E8[1], param1, 0, (0 + 6), 16, 6);
|
||||
ov13_02225AF0(param0->unk_1E8[2], param1, 0, ((0 + 6) + 6), 16, 6);
|
||||
ov13_02225AF0(param0->unk_1E8[3], param1, 0, (((0 + 6) + 6) + 6), 16, 6);
|
||||
|
||||
ov13_02225AF0(param0->unk_4E8[0], param1, 16, 0, 16, 6);
|
||||
ov13_02225AF0(param0->unk_4E8[1], param1, 16, (0 + 6), 16, 6);
|
||||
ov13_02225AF0(param0->unk_4E8[2], param1, 16, ((0 + 6) + 6), 16, 6);
|
||||
ov13_02225AF0(param0->unk_4E8[3], param1, 16, (((0 + 6) + 6) + 6), 16, 6);
|
||||
|
||||
ov13_02225AF0(param0->unk_7E8[0], param1, 0, 39, 13, 5);
|
||||
ov13_02225AF0(param0->unk_7E8[1], param1, 0, (39 + 5), 13, 5);
|
||||
ov13_02225AF0(param0->unk_7E8[2], param1, (0 + 13), 39, 13, 5);
|
||||
ov13_02225AF0(param0->unk_7E8[3], param1, (0 + 13), (39 + 5), 13, 5);
|
||||
|
||||
ov13_02225AF0(param0->unk_9F0[0], param1, 0, 49, 5, 5);
|
||||
ov13_02225AF0(param0->unk_9F0[1], param1, (0 + 5), 49, 5, 5);
|
||||
ov13_02225AF0(param0->unk_9F0[2], param1, ((0 + 5) + 5), 49, 5, 5);
|
||||
ov13_02225AF0(param0->unk_9F0[3], param1, (((0 + 5) + 5) + 5), 49, 5, 5);
|
||||
|
||||
ov13_02225AF0(param0->unk_AB8[0], param1, 0, 54, 5, 5);
|
||||
ov13_02225AF0(param0->unk_AB8[1], param1, (0 + 5), 54, 5, 5);
|
||||
ov13_02225AF0(param0->unk_AB8[2], param1, ((0 + 5) + 5), 54, 5, 5);
|
||||
ov13_02225AF0(param0->unk_AB8[3], param1, (((0 + 5) + 5) + 5), 54, 5, 5);
|
||||
|
||||
ov13_02225AF0(param0->unk_B80[0], param1, 26, 24, 5, 5);
|
||||
ov13_02225AF0(param0->unk_B80[1], param1, 26, (24 + 5), 5, 5);
|
||||
ov13_02225AF0(param0->unk_B80[2], param1, 26, ((24 + 5) + 5), 5, 5);
|
||||
ov13_02225AF0(param0->unk_B80[3], param1, 26, (((24 + 5) + 5) + 5), 5, 5);
|
||||
|
||||
ov13_02225AF0(param0->unk_1B3C[0], param1, 0, 24, 26, 5);
|
||||
ov13_02225AF0(param0->unk_1B3C[1], param1, 0, (24 + 5), 26, 5);
|
||||
ov13_02225AF0(param0->unk_1B3C[2], param1, 0, ((24 + 5) + 5), 26, 5);
|
||||
|
||||
ov13_02225AF0(param0->unk_1E48[0], param1, 20, 49, 9, 4);
|
||||
ov13_02225AF0(param0->unk_1E48[1], param1, 20, (49 + 4), 9, 4);
|
||||
ov13_02225AF0(param0->unk_1E48[2], param1, 20, ((49 + 4) + 4), 9, 4);
|
||||
|
||||
ov13_02225AF0(param0->unk_1F20[0], param1, 0, 59, 5, 2);
|
||||
ov13_02225AF0(param0->unk_1F20[1], param1, 5, 59, 5, 2);
|
||||
ov13_02225AF0(param0->unk_1F20[2], param1, 10, 59, 5, 2);
|
||||
}
|
||||
|
||||
void ov13_02225A3C (UnkStruct_ov13_022213F0 * param0, u16 * param1)
|
||||
{
|
||||
ov13_02225AF0(param0->unk_C48[0], param1, 0, 0, 30, 17);
|
||||
ov13_02225AF0(param0->unk_C48[1], param1, 0, (0 + 17), 30, 17);
|
||||
ov13_02225AF0(param0->unk_C48[2], param1, 0, ((0 + 17) + 17), 30, 17);
|
||||
|
||||
ov13_02225AF0(param0->unk_183C[0], param1, 0, 51, 16, 6);
|
||||
ov13_02225AF0(param0->unk_183C[1], param1, (0 + 16), 51, 16, 6);
|
||||
ov13_02225AF0(param0->unk_183C[2], param1, 0, (51 + 6), 16, 6);
|
||||
ov13_02225AF0(param0->unk_183C[3], param1, ((0 + 16)), ((51 + 6)), 16, 6);
|
||||
}
|
||||
|
||||
static void ov13_02225AF0 (u16 * param0, u16 * param1, u8 param2, u8 param3, u8 param4, u8 param5)
|
||||
{
|
||||
u16 v0, v1;
|
||||
|
||||
for (v0 = 0; v0 < param5; v0++) {
|
||||
for (v1 = 0; v1 < param4; v1++) {
|
||||
param0[v0 * param4 + v1] = param1[(param3 + v0) * 32 + param2 + v1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u16 * ov13_02225B40 (UnkStruct_ov13_022213F0 * param0, u8 param1, u8 param2, u8 param3)
|
||||
{
|
||||
switch (param1) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
if (param3 == 0) {
|
||||
return param0->unk_1E8[param2];
|
||||
} else {
|
||||
return param0->unk_4E8[param2];
|
||||
}
|
||||
case 6:
|
||||
return param0->unk_B80[param2];
|
||||
case 7:
|
||||
return param0->unk_C48[param2];
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
return param0->unk_7E8[param2];
|
||||
case 12:
|
||||
return param0->unk_9F0[param2];
|
||||
case 13:
|
||||
return param0->unk_AB8[param2];
|
||||
case 14:
|
||||
case 15:
|
||||
case 16:
|
||||
case 17:
|
||||
case 19:
|
||||
case 20:
|
||||
case 21:
|
||||
case 22:
|
||||
case 23:
|
||||
case 24:
|
||||
case 25:
|
||||
case 26:
|
||||
case 27:
|
||||
return param0->unk_183C[param2];
|
||||
case 28:
|
||||
case 29:
|
||||
return param0->unk_1B3C[param2];
|
||||
case 18:
|
||||
return param0->unk_1E48[param2];
|
||||
case 30:
|
||||
case 31:
|
||||
case 32:
|
||||
case 33:
|
||||
return param0->unk_1F20[param2];
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void ov13_02225C4C (UnkStruct_ov13_022213F0 * param0, u16 * param1, u8 param2, u8 param3, u8 param4)
|
||||
{
|
||||
u16 * v0;
|
||||
u8 v1, v2;
|
||||
u8 v3, v4;
|
||||
|
||||
v0 = ov13_02225B40(param0, param2, param3, param4);
|
||||
v1 = Unk_ov13_02229924[param2].unk_02;
|
||||
v2 = Unk_ov13_02229924[param2].unk_03;
|
||||
|
||||
memcpy(param1, v0, v1 * v2 * 2);
|
||||
|
||||
switch (param2) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
if (param0->unk_04[param2 - 0].unk_04 == 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (param0->unk_04[param2 - 0].unk_17_7 != 0) {
|
||||
u16 v5[2];
|
||||
|
||||
v5[0] = param1[2 * v1 + 6 - 1];
|
||||
v5[1] = param1[(2 + 1) * v1 + 6 - 1];
|
||||
|
||||
for (v3 = 0; v3 < 2; v3++) {
|
||||
for (v4 = 0; v4 < 9; v4++) {
|
||||
param1[(2 + v3) * v1 + 6 + v4] = v5[v3];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (param0->unk_04[param2 - 0].unk_10 == 0) {
|
||||
for (v3 = 0; v3 < v1 * v2; v3++) {
|
||||
param1[v3] = (param1[v3] & 0xfff) | (2 << 12);
|
||||
}
|
||||
} else if (ov13_022219AC(param0, param2 - 0) == 1) {
|
||||
for (v3 = 0; v3 < v1 * v2; v3++) {
|
||||
param1[v3] = (param1[v3] & 0xfff) | (1 << 12);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 27:
|
||||
for (v3 = 0; v3 < v1 * v2; v3++) {
|
||||
param1[v3] = (param1[v3] & 0xfff) | (10 << 12);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02225D8C (UnkStruct_ov13_022213F0 * param0, u8 param1, u8 param2, u8 param3)
|
||||
{
|
||||
u16 * v0 = sub_02018144(param0->unk_00->unk_0C, Unk_ov13_02229924[param1].unk_02 * Unk_ov13_02229924[param1].unk_03 * 2);
|
||||
|
||||
ov13_02225C4C(param0, v0, param1, param2, param3);
|
||||
|
||||
sub_020198C0(param0->unk_1E0, 6, v0, Unk_ov13_02229924[param1].unk_00, Unk_ov13_02229924[param1].unk_01, Unk_ov13_02229924[param1].unk_02, Unk_ov13_02229924[param1].unk_03);
|
||||
sub_0201C3C0(param0->unk_1E0, 6);
|
||||
sub_020181C4(v0);
|
||||
}
|
||||
|
||||
static void ov13_02225E08 (UnkStruct_ov13_022213F0 * param0, u8 param1, u8 param2)
|
||||
{
|
||||
const u8 * v0;
|
||||
u16 v1;
|
||||
u8 v2, v3;
|
||||
|
||||
v0 = Unk_ov13_0222989C[param1];
|
||||
|
||||
if (v0 == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((param1 == 0) || (param1 == 1) || (param1 == 2) || (param1 == 3) || (param1 == 4) || (param1 == 5)) {
|
||||
v3 = Unk_ov13_0222988C[param2];
|
||||
} else {
|
||||
v3 = Unk_ov13_0222987C[param2];
|
||||
}
|
||||
|
||||
switch (param2) {
|
||||
case 0:
|
||||
v2 = 1;
|
||||
break;
|
||||
case 1:
|
||||
v2 = 0;
|
||||
break;
|
||||
case 2:
|
||||
v2 = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
if ((param1 >= 14) && (param1 <= 17)) {
|
||||
sub_0201C04C(¶m0->unk_206C[v0[param0->unk_2071]], v2, v3, 0);
|
||||
sub_0201A9A4(¶m0->unk_206C[v0[param0->unk_2071]]);
|
||||
} else {
|
||||
for (v1 = 0; v1 < 8; v1++) {
|
||||
if (v0[v1] == 0xff) {
|
||||
break;
|
||||
}
|
||||
|
||||
sub_0201C04C(¶m0->unk_206C[v0[v1]], v2, v3, 0);
|
||||
sub_0201A9A4(¶m0->unk_206C[v0[v1]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02225EB8 (UnkStruct_ov13_022213F0 * param0, u8 param1, u8 param2)
|
||||
{
|
||||
switch (param1) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
sub_0200D5DC(param0->unk_1FB4[13 + param1 - 0], 0, Unk_ov13_02229896[param2]);
|
||||
sub_0200D5DC(param0->unk_1FB4[0 + param1 - 0], 0, Unk_ov13_02229896[param2]);
|
||||
sub_0200D5DC(param0->unk_1FB4[7 + param1 - 0], 0, Unk_ov13_02229896[param2]);
|
||||
break;
|
||||
case 7:
|
||||
sub_0200D5DC(param0->unk_1FB4[0 + param0->unk_00->unk_11], 0, Unk_ov13_02229890[param2]);
|
||||
sub_0200D5DC(param0->unk_1FB4[7 + param0->unk_00->unk_11], 0, Unk_ov13_02229890[param2]);
|
||||
break;
|
||||
case 14:
|
||||
case 15:
|
||||
case 16:
|
||||
case 17:
|
||||
sub_0200D5DC(param0->unk_1FB4[21 + param1 - 14], 0, Unk_ov13_02229890[param2]);
|
||||
break;
|
||||
case 19:
|
||||
case 20:
|
||||
case 21:
|
||||
case 22:
|
||||
sub_0200D5DC(param0->unk_1FB4[21 + param1 - 19], 0, Unk_ov13_02229890[param2]);
|
||||
break;
|
||||
case 23:
|
||||
case 24:
|
||||
case 25:
|
||||
case 26:
|
||||
case 27:
|
||||
sub_0200D5DC(param0->unk_1FB4[21 + param1 - 23], 0, Unk_ov13_02229890[param2]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_02225FCC (UnkStruct_ov13_022213F0 * param0, u8 param1)
|
||||
{
|
||||
param0->unk_1F9F_4 = 0;
|
||||
|
||||
if ((param1 >= 0) && (param1 <= 5)) {
|
||||
if (ov13_022213F0(param0, param1 - 0) == 2) {
|
||||
param0->unk_1F9F_4 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
param0->unk_1F9C = 0;
|
||||
param0->unk_1F9D = 0;
|
||||
param0->unk_1F9E = param1;
|
||||
param0->unk_1F9F_7 = 1;
|
||||
}
|
||||
|
||||
void ov13_0222601C (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
if (param0->unk_1F9F_7 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (param0->unk_1F9C) {
|
||||
case 0:
|
||||
ov13_02225D8C(param0, param0->unk_1F9E, 1, param0->unk_1F9F_4);
|
||||
ov13_02225E08(param0, param0->unk_1F9E, 1);
|
||||
ov13_02225EB8(param0, param0->unk_1F9E, 1);
|
||||
param0->unk_1F9D = 0;
|
||||
param0->unk_1F9C = 1;
|
||||
break;
|
||||
case 1:
|
||||
ov13_02225D8C(param0, param0->unk_1F9E, 2, param0->unk_1F9F_4);
|
||||
ov13_02225E08(param0, param0->unk_1F9E, 2);
|
||||
ov13_02225EB8(param0, param0->unk_1F9E, 2);
|
||||
param0->unk_1F9D = 0;
|
||||
param0->unk_1F9C = 2;
|
||||
break;
|
||||
case 2:
|
||||
ov13_02225D8C(param0, param0->unk_1F9E, 0, param0->unk_1F9F_4);
|
||||
ov13_02225E08(param0, param0->unk_1F9E, 0);
|
||||
ov13_02225EB8(param0, param0->unk_1F9E, 0);
|
||||
param0->unk_1F9D = 0;
|
||||
param0->unk_1F9F_7 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_022260EC (UnkStruct_ov13_022213F0 * param0, u8 param1)
|
||||
{
|
||||
u16 v0, v1;
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
v1 = ov13_022213F0(param0, v0);
|
||||
|
||||
if (v1 == 0) {
|
||||
ov13_02225D8C(param0, 0 + v0, 3, 1);
|
||||
} else if (v1 == 1) {
|
||||
ov13_02225D8C(param0, 0 + v0, 0, 0);
|
||||
} else if (v1 == 2) {
|
||||
ov13_02225D8C(param0, 0 + v0, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (param0->unk_00->unk_35 == 1) {
|
||||
ov13_02225D8C(param0, 6, 3, 0);
|
||||
} else {
|
||||
ov13_02225D8C(param0, 6, 0, 0);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
ov13_02225D8C(param0, 6, 0, 0);
|
||||
ov13_02225D8C(param0, 7, 0, 0);
|
||||
|
||||
if (param0->unk_04[param0->unk_00->unk_11].unk_17_7 != 0) {
|
||||
ov13_02225D8C(param0, 8, 3, 0);
|
||||
ov13_02225D8C(param0, 10, 3, 0);
|
||||
} else {
|
||||
ov13_02225D8C(param0, 8, 0, 0);
|
||||
ov13_02225D8C(param0, 10, 0, 0);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (ov13_02226484(param0) == 1) {
|
||||
ov13_02225D8C(param0, 12, 0, 0);
|
||||
ov13_02225D8C(param0, 13, 0, 0);
|
||||
} else {
|
||||
ov13_02225D8C(param0, 12, 3, 0);
|
||||
ov13_02225D8C(param0, 13, 3, 0);
|
||||
}
|
||||
|
||||
ov13_02225D8C(param0, 11, 0, 0);
|
||||
ov13_02225D8C(param0, 6, 0, 0);
|
||||
break;
|
||||
case 3:
|
||||
if (ov13_02226484(param0) == 1) {
|
||||
ov13_02225D8C(param0, 12, 0, 0);
|
||||
ov13_02225D8C(param0, 13, 0, 0);
|
||||
} else {
|
||||
ov13_02225D8C(param0, 12, 3, 0);
|
||||
ov13_02225D8C(param0, 13, 3, 0);
|
||||
}
|
||||
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
if (param0->unk_04[param0->unk_00->unk_11].unk_30[v0].unk_00 != 0) {
|
||||
ov13_02225D8C(param0, 14 + v0, 0, 0);
|
||||
} else {
|
||||
ov13_02225D8C(param0, 14 + v0, 3, 0);
|
||||
}
|
||||
}
|
||||
|
||||
ov13_02225D8C(param0, 9, 0, 0);
|
||||
ov13_02225D8C(param0, 6, 0, 0);
|
||||
break;
|
||||
case 4:
|
||||
ov13_02225D8C(param0, 6, 0, 0);
|
||||
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
if (param0->unk_00->unk_34 == v0) {
|
||||
ov13_02225D8C(param0, 30 + v0, 2, 0);
|
||||
} else {
|
||||
ov13_02225D8C(param0, 30 + v0, 0, 0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
if (param0->unk_04[param0->unk_00->unk_11].unk_30[v0].unk_00 != 0) {
|
||||
ov13_02225D8C(param0, 19 + v0, 0, 0);
|
||||
} else {
|
||||
ov13_02225D8C(param0, 19 + v0, 3, 0);
|
||||
}
|
||||
}
|
||||
|
||||
ov13_02225D8C(param0, 6, 0, 0);
|
||||
break;
|
||||
case 6:
|
||||
case 8:
|
||||
ov13_02225D8C(param0, 23, 0, 0);
|
||||
ov13_02225D8C(param0, 24, 0, 0);
|
||||
ov13_02225D8C(param0, 25, 0, 0);
|
||||
ov13_02225D8C(param0, 26, 0, 0);
|
||||
ov13_02225D8C(param0, 27, 0, 0);
|
||||
ov13_02225D8C(param0, 6, 0, 0);
|
||||
|
||||
if (param0->unk_2073_4 == 1) {
|
||||
ov13_02225D8C(param0, 18, 0, 0);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
ov13_02225D8C(param0, 28, 0, 0);
|
||||
ov13_02225D8C(param0, 6, 0, 0);
|
||||
|
||||
if (param0->unk_2073_4 == 1) {
|
||||
ov13_02225D8C(param0, 18, 0, 0);
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
ov13_02225D8C(param0, 29, 0, 0);
|
||||
ov13_02225D8C(param0, 6, 0, 0);
|
||||
|
||||
if (param0->unk_2073_4 == 1) {
|
||||
ov13_02225D8C(param0, 18, 0, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_02226444 (UnkStruct_ov13_022213F0 * param0, u8 param1)
|
||||
{
|
||||
if (param1 == 3) {
|
||||
sub_02002FBC(param0->unk_1E4, ¶m0->unk_1F5C[16], 1, 12 * 16, 0x20);
|
||||
} else {
|
||||
sub_02002FBC(param0->unk_1E4, ¶m0->unk_1F5C[0], 1, 12 * 16, 0x20);
|
||||
}
|
||||
}
|
||||
|
||||
static u8 ov13_02226484 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
u16 v0, v1;
|
||||
|
||||
v1 = 0;
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
if ((param0->unk_04[v0].unk_04 != 0) && (param0->unk_04[v0].unk_17_7 == 0)) {
|
||||
v1++;
|
||||
}
|
||||
}
|
||||
|
||||
if (v1 >= 2) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ov13_022264C4 (UnkStruct_ov13_022213F0 * param0)
|
||||
{
|
||||
if (ov13_022213F0(param0, param0->unk_00->unk_11) == 2) {
|
||||
ov13_02225D8C(param0, 0 + param0->unk_00->unk_11, 0, 1);
|
||||
} else {
|
||||
ov13_02225D8C(param0, 0 + param0->unk_00->unk_11, 0, 0);
|
||||
}
|
||||
}
|
||||
848
src/overlay013/ov13_022264F4.c
Normal file
848
src/overlay013/ov13_022264F4.c
Normal file
@@ -0,0 +1,848 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "data_021BF67C.h"
|
||||
|
||||
#include "struct_decls/struct_02006C24_decl.h"
|
||||
#include "struct_decls/struct_0200B144_decl.h"
|
||||
#include "struct_decls/struct_02018340_decl.h"
|
||||
#include "struct_decls/struct_0201CD38_decl.h"
|
||||
#include "struct_decls/struct_02023790_decl.h"
|
||||
#include "struct_decls/struct_02073C74_decl.h"
|
||||
#include "struct_decls/struct_020797DC_decl.h"
|
||||
#include "struct_decls/struct_02079FF4_decl.h"
|
||||
#include "struct_decls/struct_0207ADB4_decl.h"
|
||||
#include "struct_decls/struct_0207D99C_decl.h"
|
||||
|
||||
#include "struct_defs/union_02022594_020225E0.h"
|
||||
#include "overlay013/struct_ov13_022264F4.h"
|
||||
#include "overlay013/struct_ov13_02227244.h"
|
||||
#include "overlay084/struct_ov84_0223BA5C.h"
|
||||
#include "overlay097/struct_ov97_0222DB78.h"
|
||||
|
||||
#include "unk_02002B7C.h"
|
||||
#include "unk_02002F38.h"
|
||||
#include "unk_02005474.h"
|
||||
#include "unk_0200679C.h"
|
||||
#include "unk_020068C8.h"
|
||||
#include "unk_02006E3C.h"
|
||||
#include "unk_0200AC5C.h"
|
||||
#include "unk_0200B358.h"
|
||||
#include "unk_0200C440.h"
|
||||
#include "unk_0200C6E4.h"
|
||||
#include "unk_0200DA60.h"
|
||||
#include "unk_02017E74.h"
|
||||
#include "unk_02018340.h"
|
||||
#include "unk_0201CCF0.h"
|
||||
#include "unk_0201D670.h"
|
||||
#include "unk_0201FE94.h"
|
||||
#include "unk_02022594.h"
|
||||
#include "unk_02023790.h"
|
||||
#include "unk_02073C2C.h"
|
||||
#include "unk_020797C8.h"
|
||||
#include "unk_02079FEC.h"
|
||||
#include "unk_0207CDEC.h"
|
||||
#include "unk_0207D3B8.h"
|
||||
#include "overlay013/ov13_022264F4.h"
|
||||
#include "overlay013/ov13_02227288.h"
|
||||
#include "overlay013/ov13_02227A4C.h"
|
||||
#include "overlay013/ov13_02227BDC.h"
|
||||
#include "overlay013/ov13_02228128.h"
|
||||
#include "overlay013/ov13_02228A38.h"
|
||||
#include "overlay016/ov16_0223DF00.h"
|
||||
#include "overlay016/ov16_0225177C.h"
|
||||
#include "overlay016/ov16_0226DE44.h"
|
||||
|
||||
static void ov13_02226590(UnkStruct_0201CD38 * param0, void * param1);
|
||||
static u8 ov13_0222668C(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226760(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226838(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_022269C0(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226C48(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226C54(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226C60(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226948(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226C6C(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226C7C(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226C94(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226CBC(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226D94(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226CD4(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226CFC(UnkStruct_0201CD38 * param0, UnkStruct_ov13_02227244 * param1);
|
||||
static void ov13_02226ED0(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02226F9C(UnkStruct_02018340 * param0);
|
||||
static void ov13_02226FC4(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_022270B8(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_022270F8(UnkStruct_ov13_02227244 * param0);
|
||||
static u8 ov13_02226A5C(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227118(UnkStruct_ov13_02227244 * param0, u8 param1);
|
||||
static void ov13_022271D0(UnkStruct_ov13_02227244 * param0, u8 param1);
|
||||
static int ov13_02227238(UnkStruct_ov13_02227244 * param0, const UnkUnion_02022594 * param1);
|
||||
static void ov13_02227260(UnkStruct_0207ADB4 * param0, u16 param1, u16 param2, u32 param3);
|
||||
|
||||
static const UnkUnion_02022594 Unk_ov13_02229A1C[] = {
|
||||
{0x8, 0x4F, 0x0, 0x7F},
|
||||
{0x50, 0x97, 0x0, 0x7F},
|
||||
{0x8, 0x4F, 0x80, 0xFF},
|
||||
{0x50, 0x97, 0x80, 0xFF},
|
||||
{0x98, 0xBF, 0x0, 0xCF},
|
||||
{0x98, 0xBF, 0xD8, 0xFF},
|
||||
{0xFF, 0x0, 0x0, 0x0}
|
||||
};
|
||||
|
||||
static const UnkUnion_02022594 Unk_ov13_02229A38[] = {
|
||||
{0x8, 0x37, 0x0, 0x7F},
|
||||
{0x8, 0x37, 0x80, 0xFF},
|
||||
{0x38, 0x67, 0x0, 0x7F},
|
||||
{0x38, 0x67, 0x80, 0xFF},
|
||||
{0x68, 0x97, 0x0, 0x7F},
|
||||
{0x68, 0x97, 0x80, 0xFF},
|
||||
{0x98, 0xBF, 0x0, 0x27},
|
||||
{0x98, 0xBF, 0x28, 0x4F},
|
||||
{0x98, 0xBF, 0xD8, 0xFF},
|
||||
{0xFF, 0x0, 0x0, 0x0}
|
||||
};
|
||||
|
||||
static const UnkUnion_02022594 Unk_ov13_022299AC[] = {
|
||||
{0x98, 0xBF, 0x0, 0xCF},
|
||||
{0x98, 0xBF, 0xD8, 0xFF},
|
||||
{0xFF, 0x0, 0x0, 0x0}
|
||||
};
|
||||
|
||||
void ov13_022264F4 (UnkStruct_ov13_022264F4 * param0)
|
||||
{
|
||||
UnkStruct_ov13_02227244 * v0;
|
||||
|
||||
v0 = sub_0201CED0(sub_0200679C(ov13_02226590, sizeof(UnkStruct_ov13_02227244), 100, param0->unk_0C));
|
||||
memset(v0, 0, sizeof(UnkStruct_ov13_02227244));
|
||||
|
||||
v0->unk_00 = param0;
|
||||
v0->unk_04 = ov16_0223DF00(param0->unk_00);
|
||||
v0->unk_08 = ov16_0223E064(param0->unk_00);
|
||||
v0->unk_114A = 0;
|
||||
|
||||
{
|
||||
UnkStruct_0207D99C * v1;
|
||||
u8 v2;
|
||||
|
||||
v1 = ov16_0223E1B0(param0->unk_00);
|
||||
|
||||
for (v2 = 0; v2 < 5; v2++) {
|
||||
sub_0207D9D8(v1, v2, &v0->unk_00->unk_27[v2], &v0->unk_00->unk_2C[v2]);
|
||||
}
|
||||
|
||||
v0->unk_00->unk_20 = sub_0207D9E4(v1);
|
||||
v0->unk_00->unk_1F = sub_0207D9E8(v1);
|
||||
}
|
||||
|
||||
ov13_02227A4C(v0);
|
||||
|
||||
if (ov16_0223DF0C(v0->unk_00->unk_00) & 0x400) {
|
||||
v0->unk_00->unk_14 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02226590 (UnkStruct_0201CD38 * param0, void * param1)
|
||||
{
|
||||
UnkStruct_ov13_02227244 * v0 = (UnkStruct_ov13_02227244 *)param1;
|
||||
|
||||
switch (v0->unk_114A) {
|
||||
case 0:
|
||||
v0->unk_114A = ov13_0222668C(v0);
|
||||
break;
|
||||
case 1:
|
||||
v0->unk_114A = ov13_02226760(v0);
|
||||
break;
|
||||
case 2:
|
||||
v0->unk_114A = ov13_02226838(v0);
|
||||
break;
|
||||
case 3:
|
||||
v0->unk_114A = ov13_022269C0(v0);
|
||||
break;
|
||||
case 4:
|
||||
v0->unk_114A = ov13_02226C48(v0);
|
||||
break;
|
||||
case 5:
|
||||
v0->unk_114A = ov13_02226C54(v0);
|
||||
break;
|
||||
case 6:
|
||||
v0->unk_114A = ov13_02226C60(v0);
|
||||
break;
|
||||
case 7:
|
||||
v0->unk_114A = ov13_02226948(v0);
|
||||
break;
|
||||
case 8:
|
||||
v0->unk_114A = ov13_02226C6C(v0);
|
||||
break;
|
||||
case 9:
|
||||
v0->unk_114A = ov13_02226C7C(v0);
|
||||
break;
|
||||
case 10:
|
||||
v0->unk_114A = ov13_02226C94(v0);
|
||||
break;
|
||||
case 11:
|
||||
v0->unk_114A = ov13_02226CBC(v0);
|
||||
break;
|
||||
case 12:
|
||||
v0->unk_114A = ov13_02226D94(v0);
|
||||
break;
|
||||
case 13:
|
||||
v0->unk_114A = ov13_02226CD4(v0);
|
||||
break;
|
||||
case 14:
|
||||
if (ov13_02226CFC(param0, v0) == 1) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
ov13_02228848(v0);
|
||||
sub_0200C7EC(v0->unk_30C);
|
||||
}
|
||||
|
||||
static u8 ov13_0222668C (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
G2S_BlendNone();
|
||||
|
||||
param0->unk_34 = ov13_02228A38(param0->unk_00->unk_0C);
|
||||
|
||||
ov13_02226ED0(param0);
|
||||
ov13_02226FC4(param0);
|
||||
ov13_022270B8(param0);
|
||||
sub_02002BB8(2, param0->unk_00->unk_0C);
|
||||
|
||||
param0->unk_114D = (u8)sub_0207D9EC(ov16_0223E1B0(param0->unk_00->unk_00));
|
||||
|
||||
ov13_02227AC8(param0);
|
||||
ov13_02228924(param0, param0->unk_114C);
|
||||
ov13_02227288(param0);
|
||||
ov13_02227350(param0, param0->unk_114C);
|
||||
ov13_02227BDC(param0);
|
||||
ov13_02227E68(param0, param0->unk_114C);
|
||||
|
||||
if (param0->unk_00->unk_25 != 0) {
|
||||
ov13_02228A60(param0->unk_34, 1);
|
||||
}
|
||||
|
||||
ov13_02228008(param0, param0->unk_114C);
|
||||
ov13_022280F0(param0, param0->unk_114C);
|
||||
sub_02003178(param0->unk_08, (0x2 | 0x8), 0xffff, -8, 16, 0, 0);
|
||||
|
||||
if (param0->unk_00->unk_14 == 1) {
|
||||
return 12;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static u8 ov13_02226760 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
if (sub_0200384C(param0->unk_08) != 0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
{
|
||||
int v0 = ov13_02227238(param0, Unk_ov13_02229A1C);
|
||||
|
||||
if (v0 == 0xffffffff) {
|
||||
v0 = ov13_02228B64(param0->unk_34);
|
||||
|
||||
if (v0 == 0xfffffffe) {
|
||||
v0 = 5;
|
||||
}
|
||||
} else {
|
||||
ov13_02228050(param0);
|
||||
}
|
||||
|
||||
switch (v0) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
sub_02005748(1501);
|
||||
param0->unk_114D = (u8)v0;
|
||||
param0->unk_114B = 5;
|
||||
ov13_0222880C(param0, 0 + v0 - 0, 0);
|
||||
return 11;
|
||||
case 4:
|
||||
if (param0->unk_00->unk_20 != 0) {
|
||||
sub_02005748(1501);
|
||||
param0->unk_114D = param0->unk_00->unk_1F;
|
||||
param0->unk_114B = 6;
|
||||
ov13_02227A7C(param0);
|
||||
ov13_0222880C(param0, 4, 0);
|
||||
return 11;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
sub_02005748(1501);
|
||||
param0->unk_00->unk_1C = 0;
|
||||
param0->unk_00->unk_1E = 4;
|
||||
ov13_0222880C(param0, 5, 0);
|
||||
return 13;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static u8 ov13_02226838 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
{
|
||||
int v0 = ov13_02227238(param0, Unk_ov13_02229A38);
|
||||
|
||||
if (v0 == 0xffffffff) {
|
||||
v0 = ov13_02228B64(param0->unk_34);
|
||||
|
||||
if (v0 == 0xfffffffe) {
|
||||
v0 = 8;
|
||||
}
|
||||
} else {
|
||||
ov13_02228050(param0);
|
||||
}
|
||||
|
||||
switch (v0) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
if (ov13_02227BA8(param0, v0) != 0) {
|
||||
sub_02005748(1501);
|
||||
param0->unk_00->unk_27[param0->unk_114D] = (u8)v0;
|
||||
param0->unk_114B = 6;
|
||||
ov13_0222880C(param0, 6 + v0, 0);
|
||||
return 11;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (param0->unk_1154[param0->unk_114D] != 0) {
|
||||
sub_02005748(1501);
|
||||
param0->unk_114B = 7;
|
||||
param0->unk_114E = -1;
|
||||
ov13_0222880C(param0, 12, 0);
|
||||
return 11;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (param0->unk_1154[param0->unk_114D] != 0) {
|
||||
sub_02005748(1501);
|
||||
param0->unk_114B = 7;
|
||||
param0->unk_114E = 1;
|
||||
ov13_0222880C(param0, 13, 0);
|
||||
return 11;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
sub_02005748(1501);
|
||||
param0->unk_114B = 4;
|
||||
ov13_0222880C(param0, 14, 0);
|
||||
return 11;
|
||||
}
|
||||
}
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
static u8 ov13_02226948 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
s8 v0 = param0->unk_00->unk_2C[param0->unk_114D];
|
||||
|
||||
param0->unk_00->unk_27[param0->unk_114D] = 0;
|
||||
v0 += param0->unk_114E;
|
||||
|
||||
if (v0 > param0->unk_1154[param0->unk_114D]) {
|
||||
param0->unk_00->unk_2C[param0->unk_114D] = 0;
|
||||
} else if (v0 < 0) {
|
||||
param0->unk_00->unk_2C[param0->unk_114D] = param0->unk_1154[param0->unk_114D];
|
||||
} else {
|
||||
param0->unk_00->unk_2C[param0->unk_114D] = v0;
|
||||
}
|
||||
|
||||
ov13_02227650(param0);
|
||||
ov13_02227698(param0);
|
||||
ov13_02227E68(param0, param0->unk_114C);
|
||||
ov13_02228924(param0, param0->unk_114C);
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
static u8 ov13_022269C0 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
{
|
||||
int v0 = ov13_02227238(param0, Unk_ov13_022299AC);
|
||||
|
||||
if (v0 == 0xffffffff) {
|
||||
v0 = ov13_02228B64(param0->unk_34);
|
||||
|
||||
if (v0 == 0xfffffffe) {
|
||||
v0 = 1;
|
||||
}
|
||||
} else {
|
||||
ov13_02228050(param0);
|
||||
}
|
||||
|
||||
switch (v0) {
|
||||
case 0:
|
||||
sub_02005748(1501);
|
||||
param0->unk_00->unk_1C = ov13_02227BA8(param0, param0->unk_00->unk_27[param0->unk_114D]);
|
||||
param0->unk_00->unk_1E = param0->unk_114D;
|
||||
ov13_0222880C(param0, 15, 0);
|
||||
return ov13_02226A5C(param0);
|
||||
case 1:
|
||||
sub_02005748(1501);
|
||||
param0->unk_114B = 5;
|
||||
ov13_0222880C(param0, 16, 0);
|
||||
return 11;
|
||||
}
|
||||
}
|
||||
|
||||
return 3;
|
||||
}
|
||||
|
||||
static u8 ov13_02226A5C (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
UnkStruct_ov13_022264F4 * v0 = param0->unk_00;
|
||||
|
||||
if (param0->unk_114D == 3) {
|
||||
int v1 = ov13_02227244(param0);
|
||||
u32 v2 = sub_0207CFF0(v0->unk_1C, 7, v0->unk_0C);
|
||||
|
||||
if ((v0->unk_18 != 0) && (v0->unk_1C != 55) && (v2 != 3)) {
|
||||
UnkStruct_02073C74 * v3;
|
||||
UnkStruct_02023790 * v4;
|
||||
|
||||
v3 = ov16_0223DFAC(v0->unk_00, v0->unk_10, v1);
|
||||
v4 = sub_0200B1EC(param0->unk_10, 46);
|
||||
|
||||
sub_0200B5CC(param0->unk_14, 0, sub_02076B10(v3));
|
||||
sub_0200B630(param0->unk_14, 1, 373);
|
||||
sub_0200C388(param0->unk_14, param0->unk_18, v4);
|
||||
sub_020237BC(v4);
|
||||
|
||||
ov13_022279F4(param0);
|
||||
param0->unk_114B = 8;
|
||||
|
||||
return 9;
|
||||
}
|
||||
|
||||
if (ov16_0223E30C(v0->unk_00, v0->unk_10, v1, 0, v0->unk_1C) == 1) {
|
||||
ov13_02227260(v0->unk_00, v0->unk_1C, param0->unk_114D, v0->unk_0C);
|
||||
return 13;
|
||||
} else if (v2 == 3) {
|
||||
if (!(ov16_0223DF0C(v0->unk_00) & 0x1)) {
|
||||
ov13_02227260(v0->unk_00, v0->unk_1C, param0->unk_114D, v0->unk_0C);
|
||||
return 13;
|
||||
} else {
|
||||
UnkStruct_0200B144 * v5;
|
||||
UnkStruct_02023790 * v6;
|
||||
|
||||
v5 = sub_0200B144(1, 26, 213, v0->unk_0C);
|
||||
v6 = sub_0200B1EC(v5, 36);
|
||||
sub_0200B498(param0->unk_14, 0, v0->unk_04);
|
||||
sub_0200C388(param0->unk_14, param0->unk_18, v6);
|
||||
sub_020237BC(v6);
|
||||
sub_0200B190(v5);
|
||||
ov13_022279F4(param0);
|
||||
param0->unk_114B = 8;
|
||||
return 9;
|
||||
}
|
||||
} else {
|
||||
sub_0200B1B8(param0->unk_10, 34, param0->unk_18);
|
||||
ov13_022279F4(param0);
|
||||
param0->unk_114B = 8;
|
||||
return 9;
|
||||
}
|
||||
} else if (param0->unk_114D == 2) {
|
||||
if (v0->unk_22 == 1) {
|
||||
sub_0200B1B8(param0->unk_10, 44, param0->unk_18);
|
||||
ov13_022279F4(param0);
|
||||
param0->unk_114B = 8;
|
||||
return 9;
|
||||
}
|
||||
|
||||
if (v0->unk_23 == 1) {
|
||||
sub_0200B1B8(param0->unk_10, 47, param0->unk_18);
|
||||
ov13_022279F4(param0);
|
||||
param0->unk_114B = 8;
|
||||
return 9;
|
||||
}
|
||||
|
||||
if (v0->unk_24 == 1) {
|
||||
sub_0200B1B8(param0->unk_10, 48, param0->unk_18);
|
||||
ov13_022279F4(param0);
|
||||
param0->unk_114B = 8;
|
||||
return 9;
|
||||
}
|
||||
|
||||
{
|
||||
UnkStruct_02079FF4 * v7 = ov16_0223DF20(v0->unk_00, v0->unk_10);
|
||||
UnkStruct_020797DC * v8 = ov16_0223E228(v0->unk_00);
|
||||
|
||||
if ((sub_0207A0F8(v7) == 6) && (sub_020799A0(v8) == 18)) {
|
||||
sub_0200B1B8(param0->unk_10, 45, param0->unk_18);
|
||||
ov13_022279F4(param0);
|
||||
param0->unk_114B = 8;
|
||||
return 9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 13;
|
||||
}
|
||||
|
||||
static u8 ov13_02226C48 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
ov13_022271D0(param0, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static u8 ov13_02226C54 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
ov13_022271D0(param0, 1);
|
||||
return 2;
|
||||
}
|
||||
|
||||
static u8 ov13_02226C60 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
ov13_022271D0(param0, 2);
|
||||
return 3;
|
||||
}
|
||||
|
||||
static u8 ov13_02226C6C (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
sub_0200E084(¶m0->unk_1C, 0);
|
||||
return 3;
|
||||
}
|
||||
|
||||
static u8 ov13_02226C7C (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
if (sub_0201D724(param0->unk_32) == 0) {
|
||||
return 10;
|
||||
}
|
||||
|
||||
return 9;
|
||||
}
|
||||
|
||||
static u8 ov13_02226C94 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
if ((Unk_021BF67C.unk_48 & (PAD_BUTTON_A | PAD_BUTTON_B)) || (sub_02022798() == 1)) {
|
||||
return param0->unk_114B;
|
||||
}
|
||||
|
||||
return 10;
|
||||
}
|
||||
|
||||
static u8 ov13_02226CBC (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
if (param0->unk_113E == 2) {
|
||||
return param0->unk_114B;
|
||||
}
|
||||
|
||||
return 11;
|
||||
}
|
||||
|
||||
static u8 ov13_02226CD4 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
sub_02003178(param0->unk_08, (0x2 | 0x8), 0xffff, -8, 0, 16, 0);
|
||||
return 14;
|
||||
}
|
||||
|
||||
static u8 ov13_02226CFC (UnkStruct_0201CD38 * param0, UnkStruct_ov13_02227244 * param1)
|
||||
{
|
||||
if (sub_0200384C(param1->unk_08) != 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
ov13_02227E08(param1);
|
||||
ov13_02227334(param1);
|
||||
ov13_022270F8(param1);
|
||||
ov13_02226F9C(param1->unk_04);
|
||||
|
||||
param1->unk_00->unk_25 = ov13_02228A5C(param1->unk_34);
|
||||
|
||||
ov13_02228A50(param1->unk_34);
|
||||
sub_02002C60(2);
|
||||
|
||||
if (param1->unk_00->unk_1C != 0) {
|
||||
UnkStruct_0207D99C * v0;
|
||||
u8 v1;
|
||||
|
||||
v0 = ov16_0223E1B0(param1->unk_00->unk_00);
|
||||
|
||||
for (v1 = 0; v1 < 5; v1++) {
|
||||
sub_0207D9F0(v0, v1, param1->unk_00->unk_27[v1], param1->unk_00->unk_2C[v1]);
|
||||
}
|
||||
|
||||
sub_0207DA24(v0, param1->unk_114D);
|
||||
}
|
||||
|
||||
param1->unk_00->unk_26 = 1;
|
||||
sub_020067D0(param0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static u8 ov13_02226D94 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
if (sub_0200384C(param0->unk_08) != 0) {
|
||||
return 12;
|
||||
}
|
||||
|
||||
switch (param0->unk_1159) {
|
||||
case 0:
|
||||
|
||||
if (ov16_0226DFD4(param0->unk_38) == 1) {
|
||||
sub_02005748(1501);
|
||||
param0->unk_114D = 2;
|
||||
param0->unk_114B = 12;
|
||||
ov13_0222880C(param0, 2, 0);
|
||||
param0->unk_115A = 0;
|
||||
param0->unk_1159++;
|
||||
return 11;
|
||||
} else {
|
||||
param0->unk_115A++;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
ov13_02226C54(param0);
|
||||
param0->unk_1159++;
|
||||
break;
|
||||
case 2:
|
||||
if (ov16_0226DFD4(param0->unk_38) == 1) {
|
||||
sub_02005748(1501);
|
||||
param0->unk_00->unk_27[param0->unk_114D] = 0;
|
||||
param0->unk_114B = 12;
|
||||
ov13_0222880C(param0, 6, 0);
|
||||
param0->unk_115A = 0;
|
||||
param0->unk_1159++;
|
||||
return 11;
|
||||
} else {
|
||||
param0->unk_115A++;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
ov13_02226C60(param0);
|
||||
param0->unk_1159++;
|
||||
break;
|
||||
case 4:
|
||||
if (ov16_0226DFD4(param0->unk_38) == 1) {
|
||||
sub_02005748(1501);
|
||||
param0->unk_00->unk_1C = ov13_02227BA8(param0, param0->unk_00->unk_27[param0->unk_114D]);
|
||||
param0->unk_00->unk_1E = param0->unk_114D;
|
||||
ov13_0222880C(param0, 15, 0);
|
||||
return ov13_02226A5C(param0);
|
||||
} else {
|
||||
param0->unk_115A++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return 12;
|
||||
}
|
||||
|
||||
static void ov13_02226ED0 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
{
|
||||
UnkStruct_ov84_0223BA5C v0 = {
|
||||
GX_DISPMODE_GRAPHICS,
|
||||
GX_BGMODE_0,
|
||||
GX_BGMODE_0,
|
||||
GX_BG0_AS_3D,
|
||||
};
|
||||
|
||||
sub_020183A0(&v0, 1);
|
||||
}
|
||||
|
||||
{
|
||||
UnkStruct_ov97_0222DB78 v1 = {
|
||||
0,
|
||||
0,
|
||||
0x2000,
|
||||
0,
|
||||
4,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xd000,
|
||||
GX_BG_CHARBASE_0x00000,
|
||||
GX_BG_EXTPLTT_23,
|
||||
3,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
sub_020183C4(param0->unk_04, 6, &v1, 0);
|
||||
}
|
||||
|
||||
{
|
||||
UnkStruct_ov97_0222DB78 v2 = {
|
||||
0,
|
||||
0,
|
||||
0x800,
|
||||
0,
|
||||
1,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xf800,
|
||||
GX_BG_CHARBASE_0x10000,
|
||||
GX_BG_EXTPLTT_01,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
sub_020183C4(param0->unk_04, 5, &v2, 0);
|
||||
sub_02019EBC(param0->unk_04, 5);
|
||||
}
|
||||
|
||||
{
|
||||
UnkStruct_ov97_0222DB78 v3 = {
|
||||
0,
|
||||
0,
|
||||
0x800,
|
||||
0,
|
||||
1,
|
||||
GX_BG_COLORMODE_16,
|
||||
GX_BG_SCRBASE_0xf000,
|
||||
GX_BG_CHARBASE_0x00000,
|
||||
GX_BG_EXTPLTT_01,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
|
||||
sub_020183C4(param0->unk_04, 4, &v3, 0);
|
||||
sub_02019EBC(param0->unk_04, 4);
|
||||
}
|
||||
|
||||
sub_02019690(5, 32, 0, param0->unk_00->unk_0C);
|
||||
sub_02019690(4, 32, 0, param0->unk_00->unk_0C);
|
||||
sub_0201C3C0(param0->unk_04, 5);
|
||||
sub_0201C3C0(param0->unk_04, 4);
|
||||
}
|
||||
|
||||
static void ov13_02226F9C (UnkStruct_02018340 * param0)
|
||||
{
|
||||
sub_0201FF74(GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1 | GX_PLANEMASK_BG2 | GX_PLANEMASK_OBJ, 0);
|
||||
sub_02019044(param0, 4);
|
||||
sub_02019044(param0, 5);
|
||||
sub_02019044(param0, 6);
|
||||
}
|
||||
|
||||
static void ov13_02226FC4 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
UnkStruct_02006C24 * v0;
|
||||
|
||||
v0 = sub_02006C24(77, param0->unk_00->unk_0C);
|
||||
|
||||
sub_020070E8(v0, 2, param0->unk_04, 6, 0, 0, 0, param0->unk_00->unk_0C);
|
||||
sub_0200710C(v0, 0, param0->unk_04, 6, 0, 0, 0, param0->unk_00->unk_0C);
|
||||
|
||||
{
|
||||
NNSG2dScreenData * v1;
|
||||
void * v2;
|
||||
u16 * v3;
|
||||
|
||||
v2 = sub_02006CB8(v0, 1, param0->unk_00->unk_0C);
|
||||
NNS_G2dGetUnpackedScreenData(v2, &v1);
|
||||
v3 = (u16 *)v1->rawData;
|
||||
ov13_02228128(param0, v3);
|
||||
sub_020181C4(v2);
|
||||
}
|
||||
|
||||
sub_02006CA8(v0);
|
||||
sub_02003050(param0->unk_08, 77, 3, param0->unk_00->unk_0C, 1, 0x20 * 12, 0);
|
||||
sub_02003050(param0->unk_08, 14, 7, param0->unk_00->unk_0C, 1, 0x20, 15 * 16);
|
||||
|
||||
{
|
||||
int v4 = ov16_0223EDE0(param0->unk_00->unk_00);
|
||||
|
||||
sub_02006E3C(38, sub_0200DD04(v4), param0->unk_04, 4, 1024 - (18 + 12), 0, 0, param0->unk_00->unk_0C);
|
||||
sub_02003050(param0->unk_08, 38, sub_0200DD08(v4), param0->unk_00->unk_0C, 1, 0x20, 14 * 16);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_022270B8 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
param0->unk_10 = sub_0200B144(0, 26, 2, param0->unk_00->unk_0C);
|
||||
param0->unk_0C = sub_0200C440(15, 14, 0, param0->unk_00->unk_0C);
|
||||
param0->unk_14 = sub_0200B358(param0->unk_00->unk_0C);
|
||||
param0->unk_18 = sub_02023790(512, param0->unk_00->unk_0C);
|
||||
}
|
||||
|
||||
static void ov13_022270F8 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
sub_0200B190(param0->unk_10);
|
||||
sub_0200C560(param0->unk_0C);
|
||||
sub_0200B3F0(param0->unk_14);
|
||||
sub_020237BC(param0->unk_18);
|
||||
}
|
||||
|
||||
static void ov13_02227118 (UnkStruct_ov13_02227244 * param0, u8 param1)
|
||||
{
|
||||
switch (param1) {
|
||||
case 0:
|
||||
sub_0201C63C(param0->unk_04, 6, 0, 0);
|
||||
sub_0201C63C(param0->unk_04, 6, 3, 0);
|
||||
break;
|
||||
case 1:
|
||||
sub_0201C63C(param0->unk_04, 6, 0, 256);
|
||||
sub_0201C63C(param0->unk_04, 6, 3, 0);
|
||||
break;
|
||||
case 2:
|
||||
sub_0201C63C(param0->unk_04, 6, 0, 0);
|
||||
sub_0201C63C(param0->unk_04, 6, 3, 256);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_0222717C (UnkStruct_ov13_02227244 * param0, u8 param1)
|
||||
{
|
||||
if (param1 != 2) {
|
||||
return;
|
||||
}
|
||||
|
||||
sub_02019E2C(param0->unk_04, 6, 2, 35, 28, 4, 8 + param0->unk_114D);
|
||||
sub_02019E2C(param0->unk_04, 6, 2, 40, 28, 8, 8 + param0->unk_114D);
|
||||
}
|
||||
|
||||
static void ov13_022271D0 (UnkStruct_ov13_02227244 * param0, u8 param1)
|
||||
{
|
||||
ov13_0222717C(param0, param1);
|
||||
ov13_02227118(param0, param1);
|
||||
|
||||
sub_02019F04(param0->unk_04, 4, 0);
|
||||
sub_02019F04(param0->unk_04, 5, 0);
|
||||
|
||||
ov13_02227324(param0);
|
||||
ov13_022272AC(param0, param1);
|
||||
ov13_02227350(param0, param1);
|
||||
ov13_02228924(param0, param1);
|
||||
ov13_02228008(param0, param1);
|
||||
ov13_022280F0(param0, param1);
|
||||
|
||||
param0->unk_114C = param1;
|
||||
|
||||
ov13_02227E68(param0, param0->unk_114C);
|
||||
}
|
||||
|
||||
static int ov13_02227238 (UnkStruct_ov13_02227244 * param0, const UnkUnion_02022594 * param1)
|
||||
{
|
||||
int v0 = sub_02022664(param1);
|
||||
return v0;
|
||||
}
|
||||
|
||||
int ov13_02227244 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
v0 = ov16_0225B45C(param0->unk_00->unk_00, ov16_0223DF10(param0->unk_00->unk_00), 2, param0->unk_00->unk_10);
|
||||
return v0;
|
||||
}
|
||||
|
||||
static void ov13_02227260 (UnkStruct_0207ADB4 * param0, u16 param1, u16 param2, u32 param3)
|
||||
{
|
||||
sub_0207D60C(ov16_0223E1AC(param0), param1, 1, param3);
|
||||
sub_0207DA1C(ov16_0223E1B0(param0), param1, param2);
|
||||
}
|
||||
389
src/overlay013/ov13_02227288.c
Normal file
389
src/overlay013/ov13_02227288.c
Normal file
@@ -0,0 +1,389 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_decls/struct_02023790_decl.h"
|
||||
|
||||
#include "struct_defs/struct_0205AA50.h"
|
||||
#include "overlay013/struct_ov13_02227244.h"
|
||||
#include "overlay061/struct_ov61_0222C884.h"
|
||||
|
||||
#include "unk_02002328.h"
|
||||
#include "unk_02002B7C.h"
|
||||
#include "unk_0200AC5C.h"
|
||||
#include "unk_0200B358.h"
|
||||
#include "unk_0200DA60.h"
|
||||
#include "unk_02018340.h"
|
||||
#include "unk_0201D670.h"
|
||||
#include "unk_02023790.h"
|
||||
#include "unk_0207CDEC.h"
|
||||
#include "overlay013/ov13_02227288.h"
|
||||
#include "overlay016/ov16_0223DF00.h"
|
||||
|
||||
static void ov13_022273CC(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227888(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227974(UnkStruct_ov13_02227244 * param0);
|
||||
|
||||
static const UnkStruct_ov61_0222C884 Unk_ov13_02229A60 = {
|
||||
0x4,
|
||||
0x2,
|
||||
0x13,
|
||||
0x1B,
|
||||
0x4,
|
||||
0xF,
|
||||
0x376
|
||||
};
|
||||
|
||||
static const UnkStruct_ov61_0222C884 Unk_ov13_02229A88[] = {
|
||||
{0x4, 0x2, 0x4, 0xC, 0x5, 0x0, 0x2CE},
|
||||
{0x4, 0x2, 0xD, 0xC, 0x5, 0x0, 0x30A},
|
||||
{0x4, 0x12, 0x5, 0xC, 0x3, 0x0, 0x286},
|
||||
{0x4, 0x12, 0xE, 0xC, 0x3, 0x0, 0x2AA},
|
||||
{0x4, 0x5, 0x14, 0x14, 0x3, 0x0, 0x24A}
|
||||
};
|
||||
|
||||
static const UnkStruct_ov61_0222C884 Unk_ov13_02229AE0[] = {
|
||||
{0x5, 0x1, 0x1, 0xE, 0x3, 0x0, 0x1},
|
||||
{0x5, 0x8, 0x4, 0x4, 0x3, 0x4, 0x2B},
|
||||
{0x5, 0x11, 0x1, 0xE, 0x3, 0x0, 0x37},
|
||||
{0x5, 0x18, 0x4, 0x4, 0x3, 0x4, 0x61},
|
||||
{0x5, 0x1, 0x7, 0xE, 0x3, 0x0, 0x6D},
|
||||
{0x5, 0x8, 0xA, 0x4, 0x3, 0x4, 0x97},
|
||||
{0x5, 0x11, 0x7, 0xE, 0x3, 0x0, 0xA3},
|
||||
{0x5, 0x18, 0xA, 0x4, 0x3, 0x4, 0xCD},
|
||||
{0x5, 0x1, 0xD, 0xE, 0x3, 0x0, 0xD9},
|
||||
{0x5, 0x8, 0x10, 0x4, 0x3, 0x4, 0x103},
|
||||
{0x5, 0x11, 0xD, 0xE, 0x3, 0x0, 0x10F},
|
||||
{0x5, 0x18, 0x10, 0x4, 0x3, 0x4, 0x139},
|
||||
{0x5, 0x1, 0x1, 0xE, 0x3, 0x0, 0x145},
|
||||
{0x5, 0x8, 0x4, 0x4, 0x3, 0x4, 0x16F},
|
||||
{0x5, 0x11, 0x1, 0xE, 0x3, 0x0, 0x17B},
|
||||
{0x5, 0x18, 0x4, 0x4, 0x3, 0x4, 0x1A5},
|
||||
{0x5, 0x1, 0x7, 0xE, 0x3, 0x0, 0x1B1},
|
||||
{0x5, 0x8, 0xA, 0x4, 0x3, 0x4, 0x1DB},
|
||||
{0x5, 0x11, 0x7, 0xE, 0x3, 0x0, 0x1E7},
|
||||
{0x5, 0x18, 0xA, 0x4, 0x3, 0x4, 0x211},
|
||||
{0x5, 0x1, 0xD, 0xE, 0x3, 0x0, 0x21D},
|
||||
{0x5, 0x8, 0x10, 0x4, 0x3, 0x4, 0x247},
|
||||
{0x5, 0x11, 0xD, 0xE, 0x3, 0x0, 0x253},
|
||||
{0x5, 0x18, 0x10, 0x4, 0x3, 0x4, 0x27D},
|
||||
{0x5, 0xB, 0x13, 0xA, 0x5, 0x4, 0x289},
|
||||
{0x5, 0x16, 0x14, 0x4, 0x3, 0x4, 0x2BB}
|
||||
};
|
||||
|
||||
static const UnkStruct_ov61_0222C884 Unk_ov13_02229A68[] = {
|
||||
{0x5, 0x7, 0x4, 0xC, 0x2, 0x4, 0x2C7},
|
||||
{0x5, 0x14, 0x4, 0x4, 0x2, 0x4, 0x2DF},
|
||||
{0x5, 0x2, 0x9, 0x1C, 0x6, 0x4, 0x2E7},
|
||||
{0x5, 0xA, 0x14, 0x6, 0x3, 0x0, 0x38F}
|
||||
};
|
||||
|
||||
void ov13_02227288 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
sub_0201A8D4(param0->unk_04, ¶m0->unk_1C, &Unk_ov13_02229A60);
|
||||
ov13_022272AC(param0, param0->unk_114C);
|
||||
}
|
||||
|
||||
void ov13_022272AC (UnkStruct_ov13_02227244 * param0, u32 param1)
|
||||
{
|
||||
const UnkStruct_ov61_0222C884 * v0;
|
||||
u8 v1;
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
v0 = Unk_ov13_02229A88;
|
||||
param0->unk_30 = 5;
|
||||
break;
|
||||
case 1:
|
||||
v0 = Unk_ov13_02229AE0;
|
||||
param0->unk_30 = 26;
|
||||
break;
|
||||
case 2:
|
||||
v0 = Unk_ov13_02229A68;
|
||||
param0->unk_30 = 4;
|
||||
break;
|
||||
}
|
||||
|
||||
param0->unk_2C = sub_0201A778(param0->unk_00->unk_0C, param0->unk_30);
|
||||
|
||||
for (v1 = 0; v1 < param0->unk_30; v1++) {
|
||||
sub_0201A8D4(param0->unk_04, ¶m0->unk_2C[v1], &v0[v1]);
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_02227324 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
sub_0201A928(param0->unk_2C, param0->unk_30);
|
||||
}
|
||||
|
||||
void ov13_02227334 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
sub_0201A928(param0->unk_2C, param0->unk_30);
|
||||
sub_0201A8FC(¶m0->unk_1C);
|
||||
}
|
||||
|
||||
void ov13_02227350 (UnkStruct_ov13_02227244 * param0, u32 param1)
|
||||
{
|
||||
switch (param1) {
|
||||
case 0:
|
||||
ov13_022273CC(param0);
|
||||
break;
|
||||
case 1:
|
||||
ov13_02227888(param0);
|
||||
break;
|
||||
case 2:
|
||||
ov13_02227974(param0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02227374 (UnkStruct_ov13_02227244 * param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5)
|
||||
{
|
||||
UnkStruct_0205AA50 * v0;
|
||||
UnkStruct_02023790 * v1;
|
||||
u32 v2;
|
||||
u32 v3;
|
||||
|
||||
v0 = ¶m0->unk_2C[param1];
|
||||
v1 = sub_0200B1EC(param0->unk_10, param2);
|
||||
v2 = sub_02002D7C(param3, v1, 0);
|
||||
v3 = (sub_0201C294(v0) * 8 - v2) / 2;
|
||||
|
||||
sub_0201D78C(v0, param3, v1, v3, param4, 0xff, param5, NULL);
|
||||
sub_020237BC(v1);
|
||||
sub_0201A9A4(v0);
|
||||
}
|
||||
|
||||
static void ov13_022273CC (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
for (v0 = 0; v0 < 5; v0++) {
|
||||
sub_0201ADA4(¶m0->unk_2C[v0], 0);
|
||||
}
|
||||
|
||||
ov13_02227374(param0, 0, 0, 2, 8, ((u32)(((3 & 0xff) << 16) | ((2 & 0xff) << 8) | ((1 & 0xff) << 0))));
|
||||
ov13_02227374(param0, 0, 1, 2, 24, ((u32)(((3 & 0xff) << 16) | ((2 & 0xff) << 8) | ((1 & 0xff) << 0))));
|
||||
ov13_02227374(param0, 1, 2, 2, 8, ((u32)(((3 & 0xff) << 16) | ((2 & 0xff) << 8) | ((1 & 0xff) << 0))));
|
||||
ov13_02227374(param0, 1, 3, 2, 24, ((u32)(((3 & 0xff) << 16) | ((2 & 0xff) << 8) | ((1 & 0xff) << 0))));
|
||||
ov13_02227374(param0, 2, 7, 2, 8, ((u32)(((3 & 0xff) << 16) | ((2 & 0xff) << 8) | ((1 & 0xff) << 0))));
|
||||
ov13_02227374(param0, 3, 6, 2, 8, ((u32)(((3 & 0xff) << 16) | ((2 & 0xff) << 8) | ((1 & 0xff) << 0))));
|
||||
|
||||
if (param0->unk_00->unk_20 != 0) {
|
||||
UnkStruct_02023790 * v1 = sub_0200B1EC(param0->unk_10, 8);
|
||||
|
||||
sub_0201D78C(¶m0->unk_2C[4], 2, v1, 0, 6, 0xff, ((u32)(((3 & 0xff) << 16) | ((2 & 0xff) << 8) | ((1 & 0xff) << 0))), NULL);
|
||||
sub_020237BC(v1);
|
||||
sub_0201A9A4(¶m0->unk_2C[4]);
|
||||
}
|
||||
}
|
||||
|
||||
static const u32 Unk_ov13_02229AB0[][2] = {
|
||||
{0x9, 0xA},
|
||||
{0xB, 0xC},
|
||||
{0xD, 0xE},
|
||||
{0xF, 0x10},
|
||||
{0x11, 0x12},
|
||||
{0x13, 0x14}
|
||||
};
|
||||
|
||||
static void ov13_022274A8 (UnkStruct_ov13_02227244 * param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5)
|
||||
{
|
||||
UnkStruct_0205AA50 * v0;
|
||||
UnkStruct_02023790 * v1;
|
||||
u32 v2;
|
||||
u32 v3;
|
||||
|
||||
v0 = ¶m0->unk_2C[param3];
|
||||
|
||||
sub_0201ADA4(v0, 0);
|
||||
|
||||
if (param0->unk_3C[param0->unk_114D][param1].unk_00 != 0) {
|
||||
v1 = sub_0200B1EC(param0->unk_10, Unk_ov13_02229AB0[param2][0]);
|
||||
|
||||
sub_0200B70C(param0->unk_14, 0, param0->unk_3C[param0->unk_114D][param1].unk_00);
|
||||
sub_0200C388(param0->unk_14, param0->unk_18, v1);
|
||||
|
||||
v2 = sub_02002D7C(param4, param0->unk_18, 0);
|
||||
v3 = (sub_0201C294(v0) * 8 - v2) / 2;
|
||||
|
||||
sub_0201D78C(v0, param4, param0->unk_18, v3, 8, 0xff, param5, NULL);
|
||||
sub_020237BC(v1);
|
||||
}
|
||||
|
||||
sub_0201A9A4(v0);
|
||||
}
|
||||
|
||||
static void ov13_0222754C (UnkStruct_ov13_02227244 * param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5, u32 param6)
|
||||
{
|
||||
UnkStruct_02023790 * v0;
|
||||
UnkStruct_0205AA50 * v1;
|
||||
|
||||
v1 = ¶m0->unk_2C[param3];
|
||||
|
||||
sub_0201ADA4(v1, 0);
|
||||
|
||||
if (param0->unk_3C[param0->unk_114D][param1].unk_02 != 0) {
|
||||
v0 = sub_0200B1EC(param0->unk_10, Unk_ov13_02229AB0[param2][1]);
|
||||
|
||||
sub_0200B60C(param0->unk_14, 0, param0->unk_3C[param0->unk_114D][param1].unk_02, 3, 0, 1);
|
||||
sub_0200C388(param0->unk_14, param0->unk_18, v0);
|
||||
sub_0201D78C(v1, param4, param0->unk_18, 0, param5, 0xff, param6, NULL);
|
||||
sub_020237BC(v0);
|
||||
}
|
||||
|
||||
sub_0201A9A4(v1);
|
||||
}
|
||||
|
||||
static void ov13_022275E0 (UnkStruct_ov13_02227244 * param0, u32 param1)
|
||||
{
|
||||
u32 v0;
|
||||
u32 v1;
|
||||
|
||||
v1 = param0->unk_00->unk_2C[param0->unk_114D] * 6 + param1;
|
||||
|
||||
if (param0->unk_31 == 0) {
|
||||
v0 = 0;
|
||||
} else {
|
||||
v0 = 12;
|
||||
}
|
||||
|
||||
ov13_022274A8(param0, v1, param1, v0 + param1 * 2, 2, ((u32)(((3 & 0xff) << 16) | ((2 & 0xff) << 8) | ((1 & 0xff) << 0))));
|
||||
ov13_0222754C(param0, v1, param1, v0 + 1 + param1 * 2, 0, 4, ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))));
|
||||
}
|
||||
|
||||
void ov13_02227650 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
u16 v0;
|
||||
|
||||
sub_02019CB8(param0->unk_04, 5, 0, 0, 0, 32, 19, 17);
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
ov13_022275E0(param0, v0);
|
||||
}
|
||||
|
||||
param0->unk_31 ^= 1;
|
||||
}
|
||||
|
||||
void ov13_02227698 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
UnkStruct_0205AA50 * v0;
|
||||
UnkStruct_02023790 * v1;
|
||||
u32 v2;
|
||||
u32 v3;
|
||||
|
||||
sub_0201ADA4(¶m0->unk_2C[25], 0);
|
||||
|
||||
v0 = ¶m0->unk_2C[25];
|
||||
v1 = sub_0200B1EC(param0->unk_10, 28);
|
||||
v2 = sub_02002D7C(0, v1, 0);
|
||||
v3 = (sub_0201C294(v0) * 8 - v2) / 2;
|
||||
|
||||
sub_0201D78C(v0, 0, v1, v3, 4, 0xff, (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))), NULL);
|
||||
sub_020237BC(v1);
|
||||
|
||||
v1 = sub_0200B1EC(param0->unk_10, 29);
|
||||
sub_0200B60C(param0->unk_14, 0, param0->unk_1154[param0->unk_114D] + 1, 2, 0, 1);
|
||||
sub_0200C388(param0->unk_14, param0->unk_18, v1);
|
||||
sub_0201D78C(v0, 0, param0->unk_18, v3 + v2, 4, 0xff, (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))), NULL);
|
||||
sub_020237BC(v1);
|
||||
|
||||
v1 = sub_0200B1EC(param0->unk_10, 30);
|
||||
sub_0200B60C(param0->unk_14, 0, param0->unk_00->unk_2C[param0->unk_114D] + 1, 2, 0, 1);
|
||||
sub_0200C388(param0->unk_14, param0->unk_18, v1);
|
||||
|
||||
v2 = sub_02002D7C(0, param0->unk_18, 0);
|
||||
sub_0201D78C(v0, 0, param0->unk_18, v3 - v2, 4, 0xff, (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))), NULL);
|
||||
sub_020237BC(v1);
|
||||
sub_0201A9A4(v0);
|
||||
}
|
||||
|
||||
static void ov13_022277C8 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
sub_0201ADA4(¶m0->unk_2C[24], 0);
|
||||
|
||||
switch (param0->unk_114D) {
|
||||
case 0:
|
||||
ov13_02227374(param0, 24, 22, 0, 4, (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))));
|
||||
ov13_02227374(param0, 24, 23, 0, (4 + 16), (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))));
|
||||
break;
|
||||
case 1:
|
||||
ov13_02227374(param0, 24, 24, 0, 4, (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))));
|
||||
ov13_02227374(param0, 24, 25, 0, (4 + 16), (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))));
|
||||
break;
|
||||
case 2:
|
||||
ov13_02227374(param0, 24, 26, 0, 12, (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))));
|
||||
break;
|
||||
case 3:
|
||||
ov13_02227374(param0, 24, 27, 0, 12, (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02227888 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
ov13_02227650(param0);
|
||||
ov13_022277C8(param0);
|
||||
ov13_02227698(param0);
|
||||
}
|
||||
|
||||
static void ov13_022278A0 (UnkStruct_ov13_02227244 * param0, u32 param1)
|
||||
{
|
||||
UnkStruct_0205AA50 * v0;
|
||||
UnkStruct_02023790 * v1;
|
||||
|
||||
v0 = ¶m0->unk_2C[0];
|
||||
v1 = sub_0200B1EC(param0->unk_10, Unk_ov13_02229AB0[0][0]);
|
||||
|
||||
sub_0200B70C(param0->unk_14, 0, param0->unk_3C[param0->unk_114D][param1].unk_00);
|
||||
sub_0200C388(param0->unk_14, param0->unk_18, v1);
|
||||
sub_0201ADA4(v0, 0);
|
||||
sub_0201D78C(v0, 0, param0->unk_18, 0, 0, 0xff, (((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0)))), NULL);
|
||||
sub_020237BC(v1);
|
||||
sub_0201A9A4(v0);
|
||||
}
|
||||
|
||||
static void ov13_02227910 (UnkStruct_ov13_02227244 * param0, u32 param1)
|
||||
{
|
||||
UnkStruct_0205AA50 * v0;
|
||||
UnkStruct_02023790 * v1;
|
||||
|
||||
v0 = ¶m0->unk_2C[2];
|
||||
v1 = sub_02023790(130, param0->unk_00->unk_0C);
|
||||
|
||||
sub_0207CFC8(v1, param0->unk_3C[param0->unk_114D][param1].unk_00, param0->unk_00->unk_0C);
|
||||
sub_0201D78C(v0, 0, v1, 4, 0, 0xff, ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
|
||||
sub_020237BC(v1);
|
||||
sub_0201A9A4(v0);
|
||||
}
|
||||
|
||||
static void ov13_02227974 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
u32 v0;
|
||||
u32 v1;
|
||||
|
||||
for (v0 = 0; v0 < 4; v0++) {
|
||||
sub_0201ADA4(¶m0->unk_2C[v0], 0);
|
||||
}
|
||||
|
||||
v1 = param0->unk_00->unk_2C[param0->unk_114D] * 6 + param0->unk_00->unk_27[param0->unk_114D];
|
||||
|
||||
ov13_022278A0(param0, v1);
|
||||
ov13_0222754C(param0, v1, 0, 1, 0, 0, ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))));
|
||||
ov13_02227910(param0, v1);
|
||||
ov13_02227374(param0, 3, 31, 2, 6, ((u32)(((3 & 0xff) << 16) | ((2 & 0xff) << 8) | ((1 & 0xff) << 0))));
|
||||
}
|
||||
|
||||
void ov13_022279F4 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
sub_0200E060(¶m0->unk_1C, 1, 1024 - (18 + 12), 14);
|
||||
sub_0201ADA4(¶m0->unk_1C, 15);
|
||||
ov13_02227A1C(param0);
|
||||
}
|
||||
|
||||
void ov13_02227A1C (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
sub_02002AC8(1);
|
||||
param0->unk_32 = sub_0201D738(¶m0->unk_1C, 1, param0->unk_18, 0, 0, ov16_0223EDF0(param0->unk_00->unk_00), NULL);
|
||||
}
|
||||
100
src/overlay013/ov13_02227A4C.c
Normal file
100
src/overlay013/ov13_02227A4C.c
Normal file
@@ -0,0 +1,100 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_defs/struct_0207CDEC.h"
|
||||
#include "overlay013/struct_ov13_02227244.h"
|
||||
|
||||
#include "unk_0207CDEC.h"
|
||||
#include "unk_0207D3B8.h"
|
||||
#include "overlay013/ov13_02227A4C.h"
|
||||
|
||||
u8 ov13_02227A4C (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
if (param0->unk_00->unk_20 == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (sub_0207D688(param0->unk_00->unk_08, param0->unk_00->unk_20, 1, param0->unk_00->unk_0C) == 0) {
|
||||
param0->unk_00->unk_20 = 0;
|
||||
param0->unk_00->unk_1F = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void ov13_02227A7C (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
for (v0 = 0; v0 < 36; v0++) {
|
||||
if (param0->unk_00->unk_20 == param0->unk_3C[param0->unk_114D][v0].unk_00) {
|
||||
param0->unk_00->unk_27[param0->unk_114D] = v0 % 6;
|
||||
param0->unk_00->unk_2C[param0->unk_114D] = v0 / 6;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static const u8 Unk_ov13_02229BB0[] = {
|
||||
0x2,
|
||||
0x3,
|
||||
0x0,
|
||||
0x1,
|
||||
0x0
|
||||
};
|
||||
|
||||
void ov13_02227AC8 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
UnkStruct_0207CDEC * v0;
|
||||
u32 v1, v2, v3;
|
||||
s32 v4;
|
||||
|
||||
for (v1 = 0; v1 < 8; v1++) {
|
||||
v2 = 0;
|
||||
|
||||
while (TRUE) {
|
||||
v0 = sub_0207D910(param0->unk_00->unk_08, v1, v2);
|
||||
|
||||
if (v0 == NULL) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (!((v0->unk_00 == 0) || (v0->unk_02 == 0))) {
|
||||
v4 = sub_0207CFF0(v0->unk_00, 13, param0->unk_00->unk_0C);
|
||||
|
||||
for (v3 = 0; v3 < 5; v3++) {
|
||||
if ((v4 & (1 << v3)) == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
param0->unk_3C[Unk_ov13_02229BB0[v3]][param0->unk_114F[Unk_ov13_02229BB0[v3]]] = *v0;
|
||||
param0->unk_114F[Unk_ov13_02229BB0[v3]]++;
|
||||
}
|
||||
}
|
||||
|
||||
v2++;
|
||||
}
|
||||
}
|
||||
|
||||
for (v1 = 0; v1 < 5; v1++) {
|
||||
if (param0->unk_114F[v1] == 0) {
|
||||
param0->unk_1154[v1] = 0;
|
||||
} else {
|
||||
param0->unk_1154[v1] = (param0->unk_114F[v1] - 1) / 6;
|
||||
}
|
||||
|
||||
if (param0->unk_1154[v1] < param0->unk_00->unk_2C[v1]) {
|
||||
param0->unk_00->unk_2C[v1] = param0->unk_1154[v1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u16 ov13_02227BA8 (UnkStruct_ov13_02227244 * param0, u32 param1)
|
||||
{
|
||||
if ((param0->unk_3C[param0->unk_114D][param0->unk_00->unk_2C[param0->unk_114D] * 6 + param1].unk_00 != 0) && (param0->unk_3C[param0->unk_114D][param0->unk_00->unk_2C[param0->unk_114D] * 6 + param1].unk_02 != 0)) {
|
||||
return param0->unk_3C[param0->unk_114D][param0->unk_00->unk_2C[param0->unk_114D] * 6 + param1].unk_00;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
340
src/overlay013/ov13_02227BDC.c
Normal file
340
src/overlay013/ov13_02227BDC.c
Normal file
@@ -0,0 +1,340 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_decls/struct_02006C24_decl.h"
|
||||
#include "struct_decls/struct_0200C6E4_decl.h"
|
||||
#include "overlay016/struct_ov16_0226DC24_decl.h"
|
||||
#include "overlay016/struct_ov16_0226DEEC_decl.h"
|
||||
|
||||
#include "struct_defs/struct_0200D0F4.h"
|
||||
#include "struct_defs/struct_020F1DB8.h"
|
||||
#include "overlay013/struct_ov13_02227244.h"
|
||||
#include "overlay104/struct_ov104_0223F9E0.h"
|
||||
#include "overlay104/struct_ov104_02241308.h"
|
||||
|
||||
#include "unk_02002F38.h"
|
||||
#include "unk_020068C8.h"
|
||||
#include "unk_0200C6E4.h"
|
||||
#include "unk_0201FE94.h"
|
||||
#include "unk_0207CDEC.h"
|
||||
#include "overlay013/ov13_02227A4C.h"
|
||||
#include "overlay013/ov13_02227BDC.h"
|
||||
#include "overlay013/ov13_02228A38.h"
|
||||
#include "overlay016/ov16_0223DF00.h"
|
||||
#include "overlay016/ov16_0226DB7C.h"
|
||||
#include "overlay016/ov16_0226DE44.h"
|
||||
|
||||
static void ov13_02227C08(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227C54(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227D10(UnkStruct_ov13_02227244 * param0, u16 param1, u32 param2);
|
||||
static void ov13_02227D48(UnkStruct_ov13_02227244 * param0, u16 param1, u16 param2, u32 param3);
|
||||
static void ov13_02227DE8(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227EAC(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227EE0(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227F38(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227F7C(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02227FDC(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_02228070(UnkStruct_ov13_02227244 * param0);
|
||||
static void ov13_022280C8(UnkStruct_ov13_02227244 * param0);
|
||||
|
||||
static const int Unk_ov13_02229BC0[2] = {
|
||||
0x18,
|
||||
0xB2
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229C44[][2] = {
|
||||
{0x2C, 0x2D},
|
||||
{0xAC, 0x2D},
|
||||
{0x2C, 0x5D},
|
||||
{0xAC, 0x5D},
|
||||
{0x2C, 0x8D},
|
||||
{0xAC, 0x8D}
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229BB8[2] = {
|
||||
0x28,
|
||||
0x2C
|
||||
};
|
||||
|
||||
static const int Unk_ov13_02229CBC[][5] = {
|
||||
{0xB4B7, 0xB4B7, 0xB4B7, 0xB4B7, 0x1},
|
||||
{0xB4B8, 0xB4B8, 0xB4B7, 0xB4B7, 0x1},
|
||||
{0xB4B9, 0xB4B9, 0xB4B7, 0xB4B7, 0x1},
|
||||
{0xB4BA, 0xB4BA, 0xB4B7, 0xB4B7, 0x1},
|
||||
{0xB4BB, 0xB4BB, 0xB4B7, 0xB4B7, 0x1},
|
||||
{0xB4BC, 0xB4BC, 0xB4B7, 0xB4B7, 0x1}
|
||||
};
|
||||
|
||||
void ov13_02227BDC (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
ov13_02227C08(param0);
|
||||
ov13_02227C54(param0);
|
||||
ov13_02227DE8(param0);
|
||||
ov13_02227F7C(param0);
|
||||
ov13_02228070(param0);
|
||||
|
||||
sub_0201FF74(GX_PLANEMASK_OBJ, 1);
|
||||
}
|
||||
|
||||
static void ov13_02227C08 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
UnkStruct_ov104_02241308 v0 = {8, 8, 3, 3, 0, 0};
|
||||
UnkStruct_0200C6E4 * v1 = ov16_0223E010(param0->unk_00->unk_00);
|
||||
|
||||
param0->unk_30C = sub_0200C704(v1);
|
||||
|
||||
sub_0200C7C0(v1, param0->unk_30C, 6 + 5 + 1);
|
||||
sub_0200CB30(v1, param0->unk_30C, &v0);
|
||||
}
|
||||
|
||||
static void ov13_02227C54 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0;
|
||||
u32 v1;
|
||||
UnkStruct_02006C24 * v2;
|
||||
|
||||
v2 = sub_02006C24(16, param0->unk_00->unk_0C);
|
||||
v0 = ov16_0223E010(param0->unk_00->unk_00);
|
||||
|
||||
for (v1 = 0; v1 < 6; v1++) {
|
||||
sub_0200CC3C(v0, param0->unk_30C, v2, sub_0207CE78(1, 1), 0, NNS_G2D_VRAM_TYPE_2DSUB, 46263 + v1);
|
||||
sub_0200CDC4(param0->unk_08, 3, v0, param0->unk_30C, v2, sub_0207CE78(1, 2), 0, 1, NNS_G2D_VRAM_TYPE_2DSUB, 46263 + v1);
|
||||
}
|
||||
|
||||
sub_0200CE24(v0, param0->unk_30C, v2, sub_0207CF40(), 0, 46263);
|
||||
sub_0200CE54(v0, param0->unk_30C, v2, sub_0207CF44(), 0, 46263);
|
||||
sub_02006CA8(v2);
|
||||
}
|
||||
|
||||
static void ov13_02227D10 (UnkStruct_ov13_02227244 * param0, u16 param1, u32 param2)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0 = ov16_0223E010(param0->unk_00->unk_00);
|
||||
sub_0200D948(v0, param0->unk_30C, 16, sub_0207CE78(param1, 1), 0, param2);
|
||||
}
|
||||
|
||||
static void ov13_02227D48 (UnkStruct_ov13_02227244 * param0, u16 param1, u16 param2, u32 param3)
|
||||
{
|
||||
sub_02003050(param0->unk_08, 16, sub_0207CE78(param1, 2), param0->unk_00->unk_0C, 3, 0x20, param2 * 16);
|
||||
}
|
||||
|
||||
static UnkStruct_0200D0F4 * ov13_02227D78 (UnkStruct_ov13_02227244 * param0, u32 param1)
|
||||
{
|
||||
UnkStruct_ov104_0223F9E0 v0;
|
||||
UnkStruct_0200C6E4 * v1;
|
||||
|
||||
v1 = ov16_0223E010(param0->unk_00->unk_00);
|
||||
|
||||
v0.unk_00 = 0;
|
||||
v0.unk_02 = 0;
|
||||
v0.unk_04 = 0;
|
||||
v0.unk_06 = 0;
|
||||
v0.unk_08 = Unk_ov13_02229CBC[param1][4];
|
||||
v0.unk_0C = 0;
|
||||
v0.unk_10 = NNS_G2D_VRAM_TYPE_2DSUB;
|
||||
v0.unk_14[0] = Unk_ov13_02229CBC[param1][0];
|
||||
v0.unk_14[1] = Unk_ov13_02229CBC[param1][1];
|
||||
v0.unk_14[2] = Unk_ov13_02229CBC[param1][2];
|
||||
v0.unk_14[3] = Unk_ov13_02229CBC[param1][3];
|
||||
v0.unk_2C = 1;
|
||||
v0.unk_30 = 0;
|
||||
|
||||
return sub_0200CE6C(v1, param0->unk_30C, &v0);
|
||||
}
|
||||
|
||||
static void ov13_02227DE8 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
param0->unk_310[v0] = ov13_02227D78(param0, v0);
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_02227E08 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0;
|
||||
u32 v1;
|
||||
|
||||
v0 = ov16_0223E010(param0->unk_00->unk_00);
|
||||
|
||||
for (v1 = 0; v1 < 6; v1++) {
|
||||
sub_0200D0F4(param0->unk_310[v1]);
|
||||
}
|
||||
|
||||
ov13_02227FDC(param0);
|
||||
ov13_022280C8(param0);
|
||||
sub_0200D0B0(v0, param0->unk_30C);
|
||||
}
|
||||
|
||||
static void ov13_02227E48 (UnkStruct_0200D0F4 * param0, const int param1, const int param2)
|
||||
{
|
||||
sub_0200D3F4(param0, 1);
|
||||
sub_0200D4C4(param0, param1, param2);
|
||||
}
|
||||
|
||||
void ov13_02227E68 (UnkStruct_ov13_02227244 * param0, u32 param1)
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
sub_0200D3F4(param0->unk_310[v0], 0);
|
||||
}
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
ov13_02227EAC(param0);
|
||||
break;
|
||||
case 1:
|
||||
ov13_02227EE0(param0);
|
||||
break;
|
||||
case 2:
|
||||
ov13_02227F38(param0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02227EAC (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
u16 v0;
|
||||
|
||||
if (param0->unk_00->unk_20 != 0) {
|
||||
ov13_02227D10(param0, param0->unk_00->unk_20, 46263);
|
||||
ov13_02227D48(param0, param0->unk_00->unk_20, 0, 46263);
|
||||
ov13_02227E48(param0->unk_310[0], Unk_ov13_02229BC0[0], Unk_ov13_02229BC0[1]);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02227EE0 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
u32 v0;
|
||||
u16 v1;
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
v1 = ov13_02227BA8(param0, v0);
|
||||
|
||||
if (v1 == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
ov13_02227D10(param0, v1, 46263 + v0);
|
||||
ov13_02227D48(param0, v1, (u16)v0, 46263 + v0);
|
||||
ov13_02227E48(param0->unk_310[v0], Unk_ov13_02229C44[v0][0], Unk_ov13_02229C44[v0][1]);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_02227F38 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
u16 v0;
|
||||
|
||||
v0 = ov13_02227BA8(param0, param0->unk_00->unk_27[param0->unk_114D]);
|
||||
|
||||
ov13_02227D10(param0, v0, 46263);
|
||||
ov13_02227D48(param0, v0, 0, 46263);
|
||||
ov13_02227E48(param0->unk_310[0], Unk_ov13_02229BB8[0], Unk_ov13_02229BB8[1]);
|
||||
}
|
||||
|
||||
static void ov13_02227F7C (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0;
|
||||
UnkStruct_ov16_0226DC24 * v1;
|
||||
|
||||
v0 = ov16_0223E010(param0->unk_00->unk_00);
|
||||
ov16_0226DB7C(v0, param0->unk_30C, param0->unk_08, param0->unk_00->unk_0C, 46270, 46270, 46265, 46265);
|
||||
v1 = ov16_0226DC24(v0, param0->unk_30C, param0->unk_00->unk_0C, 46270, 46270, 46265, 46265, 0, 1);
|
||||
|
||||
ov13_02228A64(param0->unk_34, v1);
|
||||
}
|
||||
|
||||
static void ov13_02227FDC (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
ov16_0226DCA8(ov13_02228A58(param0->unk_34));
|
||||
ov16_0226DBFC(param0->unk_30C, 46270, 46270, 46265, 46265);
|
||||
}
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_02229C14[] = {
|
||||
{0x8, 0x10, 0x78, 0x48, 0x0, 0x1, 0x0, 0x2},
|
||||
{0x8, 0x58, 0x78, 0x90, 0x0, 0x4, 0x1, 0x3},
|
||||
{0x88, 0x10, 0xF8, 0x48, 0x2, 0x3, 0x0, 0x2},
|
||||
{0x88, 0x58, 0xF8, 0x90, 0x2, 0x5, 0x1, 0x3},
|
||||
{0x8, 0xA0, 0xC8, 0xB8, 0x1, 0x4, 0x4, 0x5},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x83, 0x5, 0x4, 0x5}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_02229C74[] = {
|
||||
{0x8, 0x10, 0x78, 0x30, 0x0, 0x2, 0x0, 0x1},
|
||||
{0x88, 0x10, 0xF8, 0x30, 0x1, 0x3, 0x0, 0x1},
|
||||
{0x8, 0x40, 0x78, 0x60, 0x0, 0x4, 0x2, 0x3},
|
||||
{0x88, 0x40, 0xF8, 0x60, 0x1, 0x5, 0x2, 0x3},
|
||||
{0x8, 0x70, 0x78, 0x90, 0x2, 0x86, 0x4, 0x5},
|
||||
{0x88, 0x70, 0xF8, 0x90, 0x3, 0x8, 0x4, 0x5},
|
||||
{0x8, 0xA0, 0x20, 0xB8, 0x4, 0x6, 0x6, 0x7},
|
||||
{0x30, 0xA0, 0x48, 0xB8, 0x4, 0x7, 0x6, 0x8},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x5, 0x8, 0x7, 0x8}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 Unk_ov13_02229BD4[] = {
|
||||
{0x8, 0xA0, 0xC8, 0xB8, 0x0, 0x0, 0x0, 0x1},
|
||||
{0xE0, 0xA0, 0xF8, 0xB8, 0x1, 0x1, 0x0, 0x1}
|
||||
};
|
||||
|
||||
static const UnkStruct_020F1DB8 * const Unk_ov13_02229BC8[] = {
|
||||
Unk_ov13_02229C14,
|
||||
Unk_ov13_02229C74,
|
||||
Unk_ov13_02229BD4
|
||||
};
|
||||
|
||||
void ov13_02228008 (UnkStruct_ov13_02227244 * param0, u8 param1)
|
||||
{
|
||||
ov13_02228A9C(param0->unk_34, Unk_ov13_02229BC8[param1]);
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
ov13_02228A68(param0->unk_34, param0->unk_114D);
|
||||
break;
|
||||
case 1:
|
||||
ov13_02228A68(param0->unk_34, param0->unk_00->unk_27[param0->unk_114D]);
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_02228050 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
ov13_02228A60(param0->unk_34, 0);
|
||||
ov13_02228A90(param0->unk_34);
|
||||
ov16_0226DDE8(ov13_02228A58(param0->unk_34));
|
||||
}
|
||||
|
||||
static void ov13_02228070 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
UnkStruct_0200C6E4 * v0;
|
||||
UnkStruct_ov16_0226DEEC * v1;
|
||||
|
||||
v0 = ov16_0223E010(param0->unk_00->unk_00);
|
||||
|
||||
ov16_0226DE44(v0, param0->unk_30C, param0->unk_00->unk_0C, param0->unk_08, 46269, 46269, 46264, 46264);
|
||||
param0->unk_38 = ov16_0226DEEC(v0, param0->unk_30C, param0->unk_00->unk_0C, 46269, 46269, 46264, 46264, 0, 0);
|
||||
}
|
||||
|
||||
static void ov13_022280C8 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
ov16_0226DF68(param0->unk_38);
|
||||
ov16_0226DEC4(param0->unk_30C, 46269, 46269, 46264, 46264);
|
||||
}
|
||||
|
||||
static const int Unk_ov13_02229BFC[3][2] = {
|
||||
{0xC0, 0x18},
|
||||
{0x40, 0x10},
|
||||
{0x68, 0x98}
|
||||
};
|
||||
|
||||
void ov13_022280F0 (UnkStruct_ov13_02227244 * param0, u8 param1)
|
||||
{
|
||||
if (param0->unk_00->unk_14 == 1) {
|
||||
ov16_0226DFB0(param0->unk_38, Unk_ov13_02229BFC[param1][0], Unk_ov13_02229BFC[param1][1]);
|
||||
ov16_0226DFD0(param0->unk_38, 60);
|
||||
} else {
|
||||
ov16_0226DFBC(param0->unk_38);
|
||||
}
|
||||
}
|
||||
504
src/overlay013/ov13_02228128.c
Normal file
504
src/overlay013/ov13_02228128.c
Normal file
@@ -0,0 +1,504 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_defs/struct_0200D0F4.h"
|
||||
#include "overlay013/struct_ov13_02227244.h"
|
||||
|
||||
#include "unk_0200C6E4.h"
|
||||
#include "unk_02017E74.h"
|
||||
#include "unk_02018340.h"
|
||||
#include "overlay013/ov13_02227A4C.h"
|
||||
#include "overlay013/ov13_02228128.h"
|
||||
|
||||
typedef struct {
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
u8 unk_02;
|
||||
u8 unk_03;
|
||||
} UnkStruct_ov13_02229D7C;
|
||||
|
||||
static void ov13_02228460(u16 * param0, u16 * param1, u8 param2, u8 param3, u8 param4, u8 param5);
|
||||
|
||||
static const UnkStruct_ov13_02229D7C Unk_ov13_02229D7C[] = {
|
||||
{0x0, 0x1, 0x10, 0x9},
|
||||
{0x0, 0xA, 0x10, 0x9},
|
||||
{0x10, 0x1, 0x10, 0x9},
|
||||
{0x10, 0xA, 0x10, 0x9},
|
||||
{0x0, 0x13, 0x1A, 0x5},
|
||||
{0x1B, 0x13, 0x5, 0x5},
|
||||
{0x20, 0x1, 0x10, 0x6},
|
||||
{0x30, 0x1, 0x10, 0x6},
|
||||
{0x20, 0x7, 0x10, 0x6},
|
||||
{0x30, 0x7, 0x10, 0x6},
|
||||
{0x20, 0xD, 0x10, 0x6},
|
||||
{0x30, 0xD, 0x10, 0x6},
|
||||
{0x20, 0x13, 0x5, 0x5},
|
||||
{0x25, 0x13, 0x5, 0x5},
|
||||
{0x3B, 0x13, 0x5, 0x5},
|
||||
{0x0, 0x33, 0x1A, 0x5},
|
||||
{0x1B, 0x33, 0x5, 0x5}
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D48[] = {
|
||||
0x0,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D3C[] = {
|
||||
0x1,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D44[] = {
|
||||
0x2,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D34[] = {
|
||||
0x3,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D40[] = {
|
||||
0x4,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D64[] = {
|
||||
0x0,
|
||||
0x1,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D60[] = {
|
||||
0x2,
|
||||
0x3,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D5C[] = {
|
||||
0x4,
|
||||
0x5,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D58[] = {
|
||||
0x6,
|
||||
0x7,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D68[] = {
|
||||
0x8,
|
||||
0x9,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D70[] = {
|
||||
0xA,
|
||||
0xB,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D74[] = {
|
||||
0xC,
|
||||
0xD,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D4C[] = {
|
||||
0xE,
|
||||
0xF,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D50[] = {
|
||||
0x10,
|
||||
0x11,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D6C[] = {
|
||||
0x12,
|
||||
0x13,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D78[] = {
|
||||
0x14,
|
||||
0x15,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D54[] = {
|
||||
0x16,
|
||||
0x17,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 Unk_ov13_02229D38[] = {
|
||||
0x3,
|
||||
0xFF
|
||||
};
|
||||
|
||||
static const u8 * const Unk_ov13_02229DC0[] = {
|
||||
Unk_ov13_02229D48,
|
||||
Unk_ov13_02229D3C,
|
||||
Unk_ov13_02229D44,
|
||||
Unk_ov13_02229D34,
|
||||
Unk_ov13_02229D40,
|
||||
NULL,
|
||||
Unk_ov13_02229D64,
|
||||
Unk_ov13_02229D60,
|
||||
Unk_ov13_02229D5C,
|
||||
Unk_ov13_02229D58,
|
||||
Unk_ov13_02229D68,
|
||||
Unk_ov13_02229D70,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
Unk_ov13_02229D38,
|
||||
NULL,
|
||||
Unk_ov13_02229D74,
|
||||
Unk_ov13_02229D4C,
|
||||
Unk_ov13_02229D50,
|
||||
Unk_ov13_02229D6C,
|
||||
Unk_ov13_02229D78,
|
||||
Unk_ov13_02229D54
|
||||
};
|
||||
|
||||
void ov13_02228128 (UnkStruct_ov13_02227244 * param0, u16 * param1)
|
||||
{
|
||||
ov13_02228460(param0->unk_328[0], param1, 0, 0, 16, 9);
|
||||
ov13_02228460(param0->unk_328[1], param1, 0, (0 + 9), 16, 9);
|
||||
ov13_02228460(param0->unk_328[2], param1, 0, ((0 + 9) + 9), 16, 9);
|
||||
|
||||
ov13_02228460(param0->unk_688[0], param1, 0, 27, 26, 5);
|
||||
ov13_02228460(param0->unk_688[1], param1, 0, (27 + 5), 26, 5);
|
||||
ov13_02228460(param0->unk_688[2], param1, 0, ((27 + 5) + 5), 26, 5);
|
||||
ov13_02228460(param0->unk_688[3], param1, 0, ((27 + 5) + 5), 26, 5);
|
||||
|
||||
ov13_02228460(param0->unk_A98[0], param1, 0, 57, 5, 5);
|
||||
ov13_02228460(param0->unk_A98[1], param1, (0 + 5), 57, 5, 5);
|
||||
ov13_02228460(param0->unk_A98[2], param1, ((0 + 5) + 5), 57, 5, 5);
|
||||
|
||||
ov13_02228460(param0->unk_B2E[0], param1, 16, 0, 16, 6);
|
||||
ov13_02228460(param0->unk_B2E[1], param1, 16, (0 + 6), 16, 6);
|
||||
ov13_02228460(param0->unk_B2E[2], param1, 16, ((0 + 6) + 6), 16, 6);
|
||||
ov13_02228460(param0->unk_B2E[3], param1, 16, (((0 + 6) + 6) + 6), 16, 6);
|
||||
|
||||
ov13_02228460(param0->unk_E2E[0], param1, 0, 47, 5, 5);
|
||||
ov13_02228460(param0->unk_E2E[1], param1, (0 + 5), 47, 5, 5);
|
||||
ov13_02228460(param0->unk_E2E[2], param1, ((0 + 5) + 5), 47, 5, 5);
|
||||
ov13_02228460(param0->unk_E2E[3], param1, (((0 + 5) + 5) + 5), 47, 5, 5);
|
||||
|
||||
ov13_02228460(param0->unk_EF6[0], param1, 0, 52, 5, 5);
|
||||
ov13_02228460(param0->unk_EF6[1], param1, (0 + 5), 52, 5, 5);
|
||||
ov13_02228460(param0->unk_EF6[2], param1, ((0 + 5) + 5), 52, 5, 5);
|
||||
ov13_02228460(param0->unk_EF6[3], param1, (((0 + 5) + 5) + 5), 52, 5, 5);
|
||||
|
||||
ov13_02228460(param0->unk_FBE[0], param1, 20, 47, 4, 4);
|
||||
ov13_02228460(param0->unk_FBE[1], param1, (20 + 4), 47, 4, 4);
|
||||
ov13_02228460(param0->unk_FBE[2], param1, ((20 + 4) + 4), 47, 4, 4);
|
||||
|
||||
ov13_02228460(param0->unk_101E[0], param1, 20, (47 + 4), 4, 4);
|
||||
ov13_02228460(param0->unk_101E[1], param1, (20 + 4), ((47 + 4)), 4, 4);
|
||||
ov13_02228460(param0->unk_101E[2], param1, ((20 + 4) + 4), ((47 + 4)), 4, 4);
|
||||
|
||||
ov13_02228460(param0->unk_107E[0], param1, 20, ((47 + 4) + 4), 4, 4);
|
||||
ov13_02228460(param0->unk_107E[1], param1, (20 + 4), (((47 + 4) + 4)), 4, 4);
|
||||
ov13_02228460(param0->unk_107E[2], param1, ((20 + 4) + 4), (((47 + 4) + 4)), 4, 4);
|
||||
|
||||
ov13_02228460(param0->unk_10DE[0], param1, 20, (((47 + 4) + 4) + 4), 4, 4);
|
||||
ov13_02228460(param0->unk_10DE[1], param1, (20 + 4), ((((47 + 4) + 4) + 4)), 4, 4);
|
||||
ov13_02228460(param0->unk_10DE[2], param1, ((20 + 4) + 4), ((((47 + 4) + 4) + 4)), 4, 4);
|
||||
}
|
||||
|
||||
static void ov13_02228460 (u16 * param0, u16 * param1, u8 param2, u8 param3, u8 param4, u8 param5)
|
||||
{
|
||||
u16 v0, v1;
|
||||
|
||||
for (v0 = 0; v0 < param5; v0++) {
|
||||
for (v1 = 0; v1 < param4; v1++) {
|
||||
param0[v0 * param4 + v1] = param1[(param3 + v0) * 32 + param2 + v1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u16 * ov13_022284B0 (UnkStruct_ov13_02227244 * param0, u8 param1, u8 param2)
|
||||
{
|
||||
switch (param1) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
return param0->unk_328[param2];
|
||||
case 4:
|
||||
return param0->unk_688[param2];
|
||||
case 5:
|
||||
case 14:
|
||||
case 16:
|
||||
return param0->unk_A98[param2];
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
return param0->unk_B2E[param2];
|
||||
case 12:
|
||||
return param0->unk_E2E[param2];
|
||||
case 13:
|
||||
return param0->unk_EF6[param2];
|
||||
case 15:
|
||||
return param0->unk_688[param2];
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static u16 ov13_02228558 (UnkStruct_ov13_02227244 * param0, u8 param1, u8 param2, u8 param3)
|
||||
{
|
||||
if (param2 == 3) {
|
||||
return 5;
|
||||
}
|
||||
|
||||
switch (param1) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
return 0;
|
||||
case 4:
|
||||
return 3;
|
||||
case 5:
|
||||
case 14:
|
||||
case 16:
|
||||
case 12:
|
||||
case 13:
|
||||
return 2;
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
return 8 + param0->unk_114D;
|
||||
case 15:
|
||||
if (param3 == 2) {
|
||||
return 8 + param0->unk_114D;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ov13_022285C8 (UnkStruct_ov13_02227244 * param0, u16 * param1, u8 param2, u8 param3)
|
||||
{
|
||||
u16 * v0;
|
||||
u16 v1, v2;
|
||||
|
||||
if (param2 == 0) {
|
||||
v0 = param0->unk_FBE[param3];
|
||||
} else if (param2 == 1) {
|
||||
v0 = param0->unk_101E[param3];
|
||||
} else if (param2 == 2) {
|
||||
v0 = param0->unk_107E[param3];
|
||||
} else if (param2 == 3) {
|
||||
v0 = param0->unk_10DE[param3];
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
for (v1 = 0; v1 < 4; v1++) {
|
||||
for (v2 = 0; v2 < 4; v2++) {
|
||||
param1[16 * (0 + v1) + 6 + v2] = v0[4 * v1 + v2];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_0222863C (UnkStruct_ov13_02227244 * param0, u16 * param1, u8 param2, u8 param3, u8 param4)
|
||||
{
|
||||
u16 * v0;
|
||||
u16 v1;
|
||||
u16 v2;
|
||||
|
||||
v0 = ov13_022284B0(param0, param2, param3);
|
||||
v1 = ov13_02228558(param0, param2, param3, param4) << 12;
|
||||
|
||||
for (v2 = 0; v2 < Unk_ov13_02229D7C[param2].unk_02 * Unk_ov13_02229D7C[param2].unk_03; v2++) {
|
||||
param1[v2] = v1 | (v0[v2] & 0xfff);
|
||||
}
|
||||
|
||||
ov13_022285C8(param0, param1, param2, param3);
|
||||
}
|
||||
|
||||
static void ov13_022286B8 (UnkStruct_ov13_02227244 * param0, u8 param1, u8 param2, u8 param3)
|
||||
{
|
||||
u16 * v0;
|
||||
|
||||
v0 = sub_02018144(param0->unk_00->unk_0C, Unk_ov13_02229D7C[param1].unk_02 * Unk_ov13_02229D7C[param1].unk_03 * 2);
|
||||
|
||||
ov13_0222863C(param0, v0, param1, param2, param3);
|
||||
|
||||
sub_020198C0(param0->unk_04, 6, v0, Unk_ov13_02229D7C[param1].unk_00, Unk_ov13_02229D7C[param1].unk_01, Unk_ov13_02229D7C[param1].unk_02, Unk_ov13_02229D7C[param1].unk_03);
|
||||
sub_0201C3C0(param0->unk_04, 6);
|
||||
sub_020181C4(v0);
|
||||
}
|
||||
|
||||
static void ov13_0222872C (UnkStruct_ov13_02227244 * param0, u8 param1, u8 param2)
|
||||
{
|
||||
const u8 * v0;
|
||||
u16 v1;
|
||||
u8 v2, v3;
|
||||
|
||||
if ((param1 >= 6) && (param1 <= 11) && (param0->unk_31 == 0)) {
|
||||
v0 = Unk_ov13_02229DC0[(16 + 1) + param1 - 6];
|
||||
} else {
|
||||
v0 = Unk_ov13_02229DC0[param1];
|
||||
}
|
||||
|
||||
if (v0 == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (param2) {
|
||||
case 0:
|
||||
case 2:
|
||||
v2 = 1;
|
||||
v3 = 2;
|
||||
break;
|
||||
case 1:
|
||||
v2 = 0;
|
||||
v3 = 4;
|
||||
break;
|
||||
}
|
||||
|
||||
for (v1 = 0; v1 < 8; v1++) {
|
||||
if (v0[v1] == 0xff) {
|
||||
break;
|
||||
}
|
||||
|
||||
sub_0201C04C(¶m0->unk_2C[v0[v1]], v2, v3, 0);
|
||||
sub_0201A9A4(¶m0->unk_2C[v0[v1]]);
|
||||
}
|
||||
}
|
||||
|
||||
static void ov13_022287A4 (UnkStruct_ov13_02227244 * param0, u8 param1, u8 param2)
|
||||
{
|
||||
UnkStruct_0200D0F4 * v0;
|
||||
u8 v1;
|
||||
|
||||
if ((param1 >= 6) && (param1 <= 11)) {
|
||||
v0 = param0->unk_310[param1 - 6];
|
||||
} else if (param1 == 4) {
|
||||
for (v1 = 0; v1 < 6; v1++) {
|
||||
v0 = param0->unk_310[v1];
|
||||
|
||||
if (sub_0200D408(v0) != 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (param2) {
|
||||
case 0:
|
||||
case 2:
|
||||
sub_0200D5DC(v0, 0, 2);
|
||||
break;
|
||||
case 1:
|
||||
sub_0200D5DC(v0, 0, -4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_0222880C (UnkStruct_ov13_02227244 * param0, u8 param1, u8 param2)
|
||||
{
|
||||
param0->unk_113E = 0;
|
||||
param0->unk_113F = 0;
|
||||
param0->unk_1140 = param1;
|
||||
param0->unk_1141_4 = param2;
|
||||
param0->unk_1141_0 = 1;
|
||||
}
|
||||
|
||||
void ov13_02228848 (UnkStruct_ov13_02227244 * param0)
|
||||
{
|
||||
if (param0->unk_1141_0 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (param0->unk_113E) {
|
||||
case 0:
|
||||
ov13_022286B8(param0, param0->unk_1140, 1, param0->unk_114C);
|
||||
ov13_0222872C(param0, param0->unk_1140, 1);
|
||||
ov13_022287A4(param0, param0->unk_1140, 1);
|
||||
param0->unk_113F = 0;
|
||||
param0->unk_113E = 1;
|
||||
break;
|
||||
case 1:
|
||||
ov13_022286B8(param0, param0->unk_1140, 2, param0->unk_114C);
|
||||
ov13_0222872C(param0, param0->unk_1140, 2);
|
||||
ov13_022287A4(param0, param0->unk_1140, 2);
|
||||
param0->unk_113F = 0;
|
||||
param0->unk_113E = 2;
|
||||
break;
|
||||
case 2:
|
||||
ov13_022286B8(param0, param0->unk_1140, 0, param0->unk_114C);
|
||||
ov13_0222872C(param0, param0->unk_1140, 0);
|
||||
ov13_022287A4(param0, param0->unk_1140, 0);
|
||||
param0->unk_113F = 0;
|
||||
param0->unk_113E = 0;
|
||||
param0->unk_1141_0 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_02228924 (UnkStruct_ov13_02227244 * param0, u8 param1)
|
||||
{
|
||||
switch (param1) {
|
||||
case 0:
|
||||
ov13_022286B8(param0, 0, 0, param1);
|
||||
ov13_022286B8(param0, 1, 0, param1);
|
||||
ov13_022286B8(param0, 2, 0, param1);
|
||||
ov13_022286B8(param0, 3, 0, param1);
|
||||
|
||||
if (param0->unk_00->unk_20 == 0) {
|
||||
ov13_022286B8(param0, 4, 3, param1);
|
||||
} else {
|
||||
ov13_022286B8(param0, 4, 0, param1);
|
||||
}
|
||||
|
||||
ov13_022286B8(param0, 5, 0, param1);
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
u32 v0;
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
if (ov13_02227BA8(param0, v0) == 0) {
|
||||
ov13_022286B8(param0, 6 + v0, 3, param1);
|
||||
} else {
|
||||
ov13_022286B8(param0, 6 + v0, 0, param1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (param0->unk_1154[param0->unk_114D] == 0) {
|
||||
ov13_022286B8(param0, 12, 3, param1);
|
||||
ov13_022286B8(param0, 13, 3, param1);
|
||||
} else {
|
||||
ov13_022286B8(param0, 12, 0, param1);
|
||||
ov13_022286B8(param0, 13, 0, param1);
|
||||
}
|
||||
|
||||
ov13_022286B8(param0, 14, 0, param1);
|
||||
break;
|
||||
case 2:
|
||||
ov13_022286B8(param0, 15, 0, param1);
|
||||
ov13_022286B8(param0, 16, 0, param1);
|
||||
}
|
||||
}
|
||||
218
src/overlay013/ov13_02228A38.c
Normal file
218
src/overlay013/ov13_02228A38.c
Normal file
@@ -0,0 +1,218 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "data_021BF67C.h"
|
||||
|
||||
#include "overlay013/struct_ov13_02228A50_decl.h"
|
||||
#include "overlay016/struct_ov16_0226DC24_decl.h"
|
||||
|
||||
#include "struct_defs/struct_020F1DB8.h"
|
||||
|
||||
#include "unk_02005474.h"
|
||||
#include "unk_02017E74.h"
|
||||
#include "unk_0201E010.h"
|
||||
#include "overlay013/ov13_02228A38.h"
|
||||
#include "overlay016/ov16_0226DB7C.h"
|
||||
|
||||
struct UnkStruct_ov13_02228A50_t {
|
||||
UnkStruct_ov16_0226DC24 * unk_00;
|
||||
const UnkStruct_020F1DB8 * unk_04;
|
||||
u8 unk_08;
|
||||
u8 unk_09;
|
||||
u8 unk_0A;
|
||||
u32 unk_0C;
|
||||
};
|
||||
|
||||
UnkStruct_ov13_02228A50 * ov13_02228A38 (u32 param0)
|
||||
{
|
||||
UnkStruct_ov13_02228A50 * v0 = sub_02018144(param0, sizeof(UnkStruct_ov13_02228A50));
|
||||
memset(v0, 0, sizeof(UnkStruct_ov13_02228A50));
|
||||
return v0;
|
||||
}
|
||||
|
||||
void ov13_02228A50 (UnkStruct_ov13_02228A50 * param0)
|
||||
{
|
||||
sub_020181C4(param0);
|
||||
}
|
||||
|
||||
UnkStruct_ov16_0226DC24 * ov13_02228A58 (UnkStruct_ov13_02228A50 * param0)
|
||||
{
|
||||
return param0->unk_00;
|
||||
}
|
||||
|
||||
u8 ov13_02228A5C (UnkStruct_ov13_02228A50 * param0)
|
||||
{
|
||||
return param0->unk_08;
|
||||
}
|
||||
|
||||
void ov13_02228A60 (UnkStruct_ov13_02228A50 * param0, u8 param1)
|
||||
{
|
||||
param0->unk_08 = param1;
|
||||
}
|
||||
|
||||
void ov13_02228A64 (UnkStruct_ov13_02228A50 * param0, UnkStruct_ov16_0226DC24 * param1)
|
||||
{
|
||||
param0->unk_00 = param1;
|
||||
}
|
||||
|
||||
void ov13_02228A68 (UnkStruct_ov13_02228A50 * param0, u8 param1)
|
||||
{
|
||||
param0->unk_09 = param1;
|
||||
|
||||
if (param0->unk_08 == 1) {
|
||||
ov16_0226DD7C(param0->unk_00, param0->unk_04[param0->unk_09].unk_00, param0->unk_04[param0->unk_09].unk_02, param0->unk_04[param0->unk_09].unk_01, param0->unk_04[param0->unk_09].unk_03);
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_02228A90 (UnkStruct_ov13_02228A50 * param0)
|
||||
{
|
||||
param0->unk_09 = 0;
|
||||
param0->unk_0A = 0xff;
|
||||
}
|
||||
|
||||
void ov13_02228A9C (UnkStruct_ov13_02228A50 * param0, const UnkStruct_020F1DB8 * param1)
|
||||
{
|
||||
ov13_02228A90(param0);
|
||||
|
||||
param0->unk_04 = param1;
|
||||
param0->unk_0C = 0xffffffff;
|
||||
|
||||
if (param0->unk_08 == 1) {
|
||||
ov16_0226DD7C(param0->unk_00, param0->unk_04[0].unk_00, param0->unk_04[0].unk_02, param0->unk_04[0].unk_01, param0->unk_04[0].unk_03);
|
||||
}
|
||||
}
|
||||
|
||||
void ov13_02228AC8 (UnkStruct_ov13_02228A50 * param0, u32 param1)
|
||||
{
|
||||
param0->unk_0C = param1;
|
||||
}
|
||||
|
||||
static u8 ov13_02228ACC (UnkStruct_ov13_02228A50 * param0)
|
||||
{
|
||||
if (param0->unk_08 == 1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (Unk_021BF67C.unk_48 & ((PAD_KEY_UP | PAD_KEY_DOWN | PAD_KEY_LEFT | PAD_KEY_RIGHT) | PAD_BUTTON_B | PAD_BUTTON_A)) {
|
||||
param0->unk_08 = 1;
|
||||
|
||||
ov16_0226DD7C(param0->unk_00, param0->unk_04[param0->unk_09].unk_00, param0->unk_04[param0->unk_09].unk_02, param0->unk_04[param0->unk_09].unk_01, param0->unk_04[param0->unk_09].unk_03);
|
||||
sub_02005748(1500);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static u8 ov13_02228B18 (const UnkStruct_020F1DB8 * param0, u8 param1)
|
||||
{
|
||||
switch (param1) {
|
||||
case 0:
|
||||
if (param0->unk_05 & 0x80) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (param0->unk_04 & 0x80) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (param0->unk_07 & 0x80) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (param0->unk_06 & 0x80) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 ov13_02228B64 (UnkStruct_ov13_02228A50 * param0)
|
||||
{
|
||||
u8 v0, v1, v2, v3;
|
||||
u8 v4;
|
||||
u8 v5;
|
||||
|
||||
if (ov13_02228ACC(param0) == 0) {
|
||||
return 0xffffffff;
|
||||
}
|
||||
|
||||
if (Unk_021BF67C.unk_48 & PAD_KEY_UP) {
|
||||
v4 = sub_0201E028(param0->unk_04, NULL, NULL, NULL, NULL, param0->unk_09, 0);
|
||||
v5 = 0;
|
||||
} else if (Unk_021BF67C.unk_48 & PAD_KEY_DOWN) {
|
||||
v4 = sub_0201E028(param0->unk_04, NULL, NULL, NULL, NULL, param0->unk_09, 1);
|
||||
v5 = 1;
|
||||
} else if (Unk_021BF67C.unk_48 & PAD_KEY_LEFT) {
|
||||
v4 = sub_0201E028(param0->unk_04, NULL, NULL, NULL, NULL, param0->unk_09, 2);
|
||||
v5 = 2;
|
||||
} else if (Unk_021BF67C.unk_48 & PAD_KEY_RIGHT) {
|
||||
v4 = sub_0201E028(param0->unk_04, NULL, NULL, NULL, NULL, param0->unk_09, 3);
|
||||
v5 = 3;
|
||||
} else {
|
||||
v4 = 0xffffffff;
|
||||
}
|
||||
|
||||
if (v4 != 0xff) {
|
||||
u8 v6 = 1;
|
||||
|
||||
if (v4 & 0x80) {
|
||||
if (param0->unk_0A != 0xff) {
|
||||
v4 = param0->unk_0A;
|
||||
} else {
|
||||
v4 ^= 0x80;
|
||||
}
|
||||
}
|
||||
|
||||
while (TRUE) {
|
||||
u8 v7;
|
||||
|
||||
if (param0->unk_0C & (1 << v4)) {
|
||||
break;
|
||||
}
|
||||
|
||||
v6 = 0;
|
||||
v7 = sub_0201E028(param0->unk_04, NULL, NULL, NULL, NULL, v4, v5) & (0xff ^ 0x80);
|
||||
|
||||
if ((v7 == v4) || (v7 == param0->unk_09)) {
|
||||
v4 = param0->unk_09;
|
||||
break;
|
||||
}
|
||||
|
||||
v4 = v7;
|
||||
}
|
||||
|
||||
if (param0->unk_09 != v4) {
|
||||
sub_0201E010(¶m0->unk_04[v4], &v0, &v1);
|
||||
sub_0201E01C(¶m0->unk_04[v4], &v2, &v3);
|
||||
|
||||
if ((ov13_02228B18(¶m0->unk_04[v4], v5) == 1) && (v6 != 0)) {
|
||||
param0->unk_0A = param0->unk_09;
|
||||
} else {
|
||||
param0->unk_0A = 0xff;
|
||||
}
|
||||
|
||||
param0->unk_09 = v4;
|
||||
|
||||
ov16_0226DD7C(param0->unk_00, v0, v2, v1, v3);
|
||||
sub_02005748(1500);
|
||||
}
|
||||
|
||||
return 0xffffffff;
|
||||
}
|
||||
|
||||
if (Unk_021BF67C.unk_48 & PAD_BUTTON_A) {
|
||||
return param0->unk_09;
|
||||
}
|
||||
|
||||
if (Unk_021BF67C.unk_48 & PAD_BUTTON_B) {
|
||||
sub_02005748(1501);
|
||||
return 0xfffffffe;
|
||||
}
|
||||
|
||||
return 0xffffffff;
|
||||
}
|
||||
Reference in New Issue
Block a user