mirror of
https://github.com/zeldaret/ss
synced 2026-05-30 17:05:45 -04:00
Merge pull request #233 from robojumper/arc-dvd-ret-cleanups
Small status/result cleanups for arc managers
This commit is contained in:
+88
-94
@@ -168,7 +168,7 @@ d/d_ac_npc_kyui.cpp:
|
||||
d/d_base.cpp:
|
||||
.text start:0x80050800 end:0x80050A14 align:16
|
||||
.data start:0x80503380 end:0x805033D0
|
||||
.sbss start:0x805750C0 end:0x805750CC
|
||||
.sbss start:0x805750C0 end:0x805750D0
|
||||
|
||||
d/d_linkage.cpp:
|
||||
.text start:0x80050A20 end:0x80051BF8 align:16
|
||||
@@ -202,7 +202,7 @@ d/d_dylink.cpp:
|
||||
.rodata start:0x804DDFD0 end:0x804DDFF0
|
||||
.data start:0x8050D2D8 end:0x8050D348
|
||||
.sdata start:0x80571C40 end:0x80571C50
|
||||
.sbss start:0x805750E0 end:0x805750FC
|
||||
.sbss start:0x805750E0 end:0x80575100
|
||||
.bss start:0x805975B0 end:0x80597608
|
||||
|
||||
d/d_fader.cpp:
|
||||
@@ -331,9 +331,9 @@ d/d_cursor_hit_check.cpp:
|
||||
d/d_rumble.cpp:
|
||||
.text start:0x800664F0 end:0x80066F58 align:16
|
||||
.ctors start:0x804DB6A0 end:0x804DB6A4
|
||||
.data start:0x8050DFA0 end:0x8050DFAC
|
||||
.data start:0x8050DFA0 end:0x8050DFB0
|
||||
.sbss start:0x80575268 end:0x80575270
|
||||
.sdata2 start:0x80577958 end:0x80577994
|
||||
.sdata2 start:0x80577958 end:0x80577998
|
||||
.bss start:0x805A0778 end:0x805A0868
|
||||
|
||||
toBeSorted/string_util.cpp:
|
||||
@@ -366,23 +366,17 @@ toBeSorted/arc_managers/current_stage_arc_manager.cpp:
|
||||
.bss start:0x805A0868 end:0x805A08C8
|
||||
|
||||
toBeSorted/arc_managers/oarc_manager.cpp:
|
||||
.text start:0x80069910 end:0x80069ED4 align:16
|
||||
.data start:0x8050E010 end:0x8050E038
|
||||
.text start:0x80069910 end:0x8006A0B4 align:16
|
||||
.data start:0x8050E010 end:0x8050E048
|
||||
.sdata start:0x80571D40 end:0x80571D68
|
||||
.sbss start:0x80575280 end:0x80575288
|
||||
|
||||
toBeSorted/arc_managers/oarc_control.cpp:
|
||||
.text start:0x80069EE0 end:0x8006A0B4 align:16
|
||||
|
||||
toBeSorted/arc_managers/layout_arc_manager.cpp:
|
||||
.text start:0x8006A0C0 end:0x8006A2D4 align:16
|
||||
.data start:0x8050E048 end:0x8050E054
|
||||
.text start:0x8006A0C0 end:0x8006A544 align:16
|
||||
.data start:0x8050E048 end:0x8050E060
|
||||
.sdata start:0x80571D68 end:0x80571D70
|
||||
.sbss start:0x80575288 end:0x80575290
|
||||
|
||||
toBeSorted/arc_managers/layout_arc_control.cpp:
|
||||
.text start:0x8006A2E0 end:0x8006A544 align:16
|
||||
|
||||
toBeSorted/actor_info.cpp:
|
||||
.text start:0x8006A550 end:0x8006A8C8 align:16
|
||||
.rodata start:0x804E0FA8 end:0x804E3418
|
||||
@@ -1837,7 +1831,7 @@ f/f_base.cpp:
|
||||
.text start:0x802E12F0 end:0x802E2674 align:16
|
||||
.ctors start:0x804DB8C0 end:0x804DB8C4
|
||||
.data start:0x80542278 end:0x805423A8
|
||||
.sdata start:0x80573FB8 end:0x80573FBC
|
||||
.sdata start:0x80573FB8 end:0x80573FC0
|
||||
.sbss start:0x80575BA8 end:0x80575BB8
|
||||
.bss start:0x805B84C8 end:0x805B84D8
|
||||
|
||||
@@ -1868,7 +1862,7 @@ m/m2d.cpp:
|
||||
m/m3d/m3d.cpp:
|
||||
.text start:0x802E3E50 end:0x802E4714 align:16
|
||||
.sbss start:0x80575BD0 end:0x80575BF0
|
||||
.sdata2 start:0x8057CCB8 end:0x8057CCBC
|
||||
.sdata2 start:0x8057CCB8 end:0x8057CCC0
|
||||
|
||||
m/m3d/m_proc.cpp:
|
||||
.text start:0x802E4720 end:0x802E48D4 align:16
|
||||
@@ -1924,7 +1918,7 @@ m/m3d/m_bline.cpp:
|
||||
|
||||
m/m3d/m_bmdl.cpp:
|
||||
.text start:0x802E9270 end:0x802EA6EC align:16
|
||||
.data start:0x80542668 end:0x80542694
|
||||
.data start:0x80542668 end:0x80542698
|
||||
|
||||
m/m3d/m_calc_ratio.cpp:
|
||||
.text start:0x802EA6F0 end:0x802EA898 align:16
|
||||
@@ -1946,13 +1940,13 @@ m/m3d/m_mdl.cpp:
|
||||
|
||||
m/m3d/m_scnleaf.cpp:
|
||||
.text start:0x802EBBD0 end:0x802EBFF8 align:16
|
||||
.data start:0x80542708 end:0x8054272C
|
||||
.data start:0x80542708 end:0x80542730
|
||||
|
||||
m/m3d/m_shadow.cpp:
|
||||
.text start:0x802EC000 end:0x802EDF2C align:16
|
||||
.ctors start:0x804DB8C8 end:0x804DB8CC
|
||||
.data start:0x80542730 end:0x805427EC
|
||||
.sdata start:0x80573FC8 end:0x80573FCC
|
||||
.data start:0x80542730 end:0x805427F0
|
||||
.sdata start:0x80573FC8 end:0x80573FD0
|
||||
.sbss start:0x80575BF0 end:0x80575C08
|
||||
.sdata2 start:0x8057CD68 end:0x8057CD90
|
||||
|
||||
@@ -2409,18 +2403,18 @@ d/col/c/c_m3d_g_aab.cpp:
|
||||
|
||||
d/col/c/c_m3d_g_cps.cpp:
|
||||
.text start:0x80337EA0 end:0x80338018 align:16
|
||||
.sdata2 start:0x8057D038 end:0x8057D03C
|
||||
.sdata2 start:0x8057D038 end:0x8057D040
|
||||
|
||||
d/col/c/c_m3d_g_cyl.cpp:
|
||||
.text start:0x80338020 end:0x80338348 align:16
|
||||
.sdata2 start:0x8057D040 end:0x8057D044
|
||||
.sdata2 start:0x8057D040 end:0x8057D048
|
||||
|
||||
d/col/c/c_m3d_g_lin.cpp:
|
||||
.text start:0x80338350 end:0x8033842C align:16
|
||||
|
||||
d/col/c/c_m3d_g_pla.cpp:
|
||||
.text start:0x80338430 end:0x80338678 align:16
|
||||
.sdata2 start:0x8057D048 end:0x8057D04C
|
||||
.sdata2 start:0x8057D048 end:0x8057D050
|
||||
|
||||
d/col/c/c_m3d_g_sph.cpp:
|
||||
.text start:0x80338680 end:0x803388D8 align:16
|
||||
@@ -2436,7 +2430,7 @@ d/col/c/c_m3d_g_unk.cpp:
|
||||
d/col/c/c_partition.cpp:
|
||||
.text start:0x80338F50 end:0x80339BAC align:16
|
||||
.ctors start:0x804DB8FC end:0x804DB900
|
||||
.data start:0x80547688 end:0x80547694
|
||||
.data start:0x80547688 end:0x80547698
|
||||
.sbss start:0x80575CD0 end:0x80575CF0
|
||||
|
||||
d/col/bg/d_bg_pc.cpp:
|
||||
@@ -2451,12 +2445,12 @@ d/col/bg/d_bg_s.cpp:
|
||||
.data start:0x80547698 end:0x805477C0
|
||||
.sdata start:0x80574060 end:0x80574070
|
||||
.sbss start:0x80575CF0 end:0x80575CF8
|
||||
.sdata2 start:0x8057D068 end:0x8057D0FC
|
||||
.sdata2 start:0x8057D068 end:0x8057D100
|
||||
|
||||
d/col/bg/d_bg_s_acch.cpp:
|
||||
.text start:0x8033F150 end:0x803412F8 align:16
|
||||
.data start:0x805477C0 end:0x80547868
|
||||
.sdata2 start:0x8057D100 end:0x8057D13C
|
||||
.sdata2 start:0x8057D100 end:0x8057D140
|
||||
|
||||
d/col/bg/d_bg_s_chk.cpp:
|
||||
.text start:0x80341300 end:0x80341488 align:16
|
||||
@@ -2465,14 +2459,14 @@ d/col/bg/d_bg_s_chk.cpp:
|
||||
d/col/bg/d_bg_s_gnd_chk.cpp:
|
||||
.text start:0x80341490 end:0x80341D68 align:16
|
||||
.ctors start:0x804DB900 end:0x804DB904
|
||||
.data start:0x80547898 end:0x80547994
|
||||
.data start:0x80547898 end:0x80547998
|
||||
.sbss start:0x80575CF8 end:0x80575D00
|
||||
.sdata2 start:0x8057D140 end:0x8057D144
|
||||
.sdata2 start:0x8057D140 end:0x8057D148
|
||||
.bss start:0x805D01C8 end:0x805D0268
|
||||
|
||||
d/col/bg/d_bg_s_grp_pass_chk.cpp:
|
||||
.text start:0x80341D70 end:0x80341E18 align:16
|
||||
.data start:0x80547998 end:0x805479A4
|
||||
.data start:0x80547998 end:0x805479A8
|
||||
|
||||
d/col/bg/d_bg_s_lin_chk.cpp:
|
||||
.text start:0x80341E20 end:0x80342C98 align:16
|
||||
@@ -2483,7 +2477,7 @@ d/col/bg/d_bg_s_lin_chk.cpp:
|
||||
|
||||
d/col/bg/d_bg_s_poly_pass_chk.cpp:
|
||||
.text start:0x80342CA0 end:0x80342D68 align:16
|
||||
.data start:0x80547B88 end:0x80547B94
|
||||
.data start:0x80547B88 end:0x80547B98
|
||||
|
||||
d/col/bg/d_bg_s_roof_chk.cpp:
|
||||
.text start:0x80342D70 end:0x803431A8 align:16
|
||||
@@ -2496,12 +2490,12 @@ d/col/bg/d_bg_s_roof_chk.cpp:
|
||||
d/col/bg/d_bg_s_sph_chk.cpp:
|
||||
.text start:0x803431B0 end:0x80343428 align:16
|
||||
.data start:0x80547C28 end:0x80547C88
|
||||
.sdata2 start:0x8057D158 end:0x8057D15C
|
||||
.sdata2 start:0x8057D158 end:0x8057D160
|
||||
|
||||
d/col/bg/d_bg_s_spl_grp_chk.cpp:
|
||||
.text start:0x80343430 end:0x803435C8 align:16
|
||||
.data start:0x80547C88 end:0x80547CB8
|
||||
.sdata2 start:0x8057D160 end:0x8057D16C
|
||||
.sdata2 start:0x8057D160 end:0x8057D170
|
||||
|
||||
d/col/bg/d_bg_s_wtr_chk.cpp:
|
||||
.text start:0x803435D0 end:0x80343818 align:16
|
||||
@@ -2515,7 +2509,7 @@ d/col/bg/d_bg_w.cpp:
|
||||
.ctors start:0x804DB910 end:0x804DB914
|
||||
.data start:0x80547CE8 end:0x80547F10
|
||||
.sbss start:0x80575D10 end:0x80575D20
|
||||
.sdata2 start:0x8057D170 end:0x8057D1AC
|
||||
.sdata2 start:0x8057D170 end:0x8057D1B0
|
||||
.bss start:0x805D0500 end:0x805D0A50
|
||||
|
||||
d/col/bg/d_bg_w_base.cpp:
|
||||
@@ -2531,7 +2525,7 @@ d/col/bg/d_bg_w_kcol.cpp:
|
||||
|
||||
d/col/bg/d_bg_w_sv.cpp:
|
||||
.text start:0x80352140 end:0x80352920 align:16
|
||||
.data start:0x80548120 end:0x80548234
|
||||
.data start:0x80548120 end:0x80548238
|
||||
.sdata2 start:0x8057D228 end:0x8057D230
|
||||
|
||||
d/col/bg/d_bg_w_time.cpp:
|
||||
@@ -2563,7 +2557,7 @@ d/col/cc/d_cc_s.cpp:
|
||||
|
||||
d/d_jnt_col.cpp:
|
||||
.text start:0x80358660 end:0x803598C4 align:16
|
||||
.sdata start:0x80574088 end:0x8057408C
|
||||
.sdata start:0x80574088 end:0x80574090
|
||||
.sdata2 start:0x8057D298 end:0x8057D2B8
|
||||
|
||||
toBeSorted/col/cc/misc_unks.cpp:
|
||||
@@ -3767,8 +3761,8 @@ nw4r/db/db_directPrint.cpp:
|
||||
.text start:0x804342A0 end:0x80434E9C align:16
|
||||
.rodata start:0x804F5D28 end:0x804F5FE0
|
||||
.data start:0x8056C000 end:0x8056C010
|
||||
.sbss start:0x805765E8 end:0x805765EC
|
||||
.bss start:0x80636B80 end:0x80636BA4
|
||||
.sbss start:0x805765E8 end:0x805765F0
|
||||
.bss start:0x80636B80 end:0x80636BA8
|
||||
|
||||
nw4r/db/db_console.cpp:
|
||||
.text start:0x80434EA0 end:0x8043598C align:16
|
||||
@@ -3789,7 +3783,7 @@ nw4r/db/db_mapFile.cpp:
|
||||
.text start:0x80436A50 end:0x804373B4 align:16
|
||||
.data start:0x8056C5F0 end:0x8056C600
|
||||
.sdata start:0x80574E10 end:0x80574E28
|
||||
.sbss start:0x80576600 end:0x8057660C
|
||||
.sbss start:0x80576600 end:0x80576610
|
||||
.bss start:0x8063B320 end:0x8063B560
|
||||
|
||||
nw4r/db/db_assert.cpp:
|
||||
@@ -3841,7 +3835,7 @@ nw4r/g3d/res/g3d_restev.cpp:
|
||||
nw4r/g3d/res/g3d_resmat.cpp:
|
||||
.text start:0x8043C2C0 end:0x8043E17C align:16
|
||||
.data start:0x8056D190 end:0x8056D200
|
||||
.sdata2 start:0x8057EC18 end:0x8057EC4C
|
||||
.sdata2 start:0x8057EC18 end:0x8057EC50
|
||||
|
||||
nw4r/g3d/res/g3d_resvtx.cpp:
|
||||
.text start:0x8043E180 end:0x8043E598 align:16
|
||||
@@ -3851,11 +3845,11 @@ nw4r/g3d/res/g3d_restex.cpp:
|
||||
|
||||
nw4r/g3d/res/g3d_resnode.cpp:
|
||||
.text start:0x8043E750 end:0x8043EA58 align:16
|
||||
.sdata2 start:0x8057EC50 end:0x8057EC5C
|
||||
.sdata2 start:0x8057EC50 end:0x8057EC60
|
||||
|
||||
nw4r/g3d/res/g3d_resanm.cpp:
|
||||
.text start:0x8043EA60 end:0x8043ECB8 align:16
|
||||
.sdata2 start:0x8057EC60 end:0x8057EC74
|
||||
.sdata2 start:0x8057EC60 end:0x8057EC78
|
||||
|
||||
nw4r/g3d/res/g3d_resanmvis.cpp:
|
||||
.text start:0x8043ECC0 end:0x8043EDE0 align:16
|
||||
@@ -3875,7 +3869,7 @@ nw4r/g3d/res/g3d_resanmtexsrt.cpp:
|
||||
nw4r/g3d/res/g3d_resanmchr.cpp:
|
||||
.text start:0x8043F740 end:0x804419EC align:16
|
||||
.rodata start:0x804F7050 end:0x804F7070
|
||||
.sdata2 start:0x8057ECA0 end:0x8057ECCC
|
||||
.sdata2 start:0x8057ECA0 end:0x8057ECD0
|
||||
|
||||
nw4r/g3d/res/g3d_reslightset.cpp:
|
||||
.text start:0x804419F0 end:0x80441B5C align:16
|
||||
@@ -3897,15 +3891,15 @@ nw4r/g3d/res/g3d_resanmscn.cpp:
|
||||
|
||||
nw4r/g3d/res/g3d_resanmshp.cpp:
|
||||
.text start:0x80442980 end:0x80442AE8 align:16
|
||||
.sdata2 start:0x8057ECF0 end:0x8057ECF4
|
||||
.sdata2 start:0x8057ECF0 end:0x8057ECF8
|
||||
|
||||
nw4r/g3d/g3d_transform.cpp:
|
||||
.text start:0x80442AF0 end:0x80442DF4 align:16
|
||||
.sdata2 start:0x8057ECF8 end:0x8057ECFC
|
||||
.sdata2 start:0x8057ECF8 end:0x8057ED00
|
||||
|
||||
nw4r/g3d/g3d_anmvis.cpp:
|
||||
.text start:0x80442E00 end:0x8044358C align:16
|
||||
.rodata start:0x804F7070 end:0x804F7094
|
||||
.rodata start:0x804F7070 end:0x804F7098
|
||||
.data start:0x8056D280 end:0x8056D308
|
||||
.sdata start:0x80574E38 end:0x80574E40
|
||||
.sdata2 start:0x8057ED00 end:0x8057ED10
|
||||
@@ -3930,13 +3924,13 @@ nw4r/g3d/g3d_anmtexsrt.cpp:
|
||||
|
||||
nw4r/g3d/g3d_anmchr.cpp:
|
||||
.text start:0x804479B0 end:0x804499CC align:16
|
||||
.rodata start:0x804F71D0 end:0x804F721C
|
||||
.rodata start:0x804F71D0 end:0x804F7220
|
||||
.data start:0x8056D668 end:0x8056D7C8
|
||||
.sdata2 start:0x8057ED50 end:0x8057ED68
|
||||
|
||||
nw4r/g3d/g3d_anmshp.cpp:
|
||||
.text start:0x804499D0 end:0x8044A3BC align:16
|
||||
.rodata start:0x804F7220 end:0x804F7244
|
||||
.rodata start:0x804F7220 end:0x804F7248
|
||||
.data start:0x8056D7C8 end:0x8056D868
|
||||
.sdata2 start:0x8057ED68 end:0x8057ED78
|
||||
|
||||
@@ -3945,14 +3939,14 @@ nw4r/g3d/g3d_anmscn.cpp:
|
||||
|
||||
nw4r/g3d/g3d_obj.cpp:
|
||||
.text start:0x8044A6F0 end:0x8044A85C align:16
|
||||
.rodata start:0x804F7248 end:0x804F7254
|
||||
.data start:0x8056D868 end:0x8056D884
|
||||
.rodata start:0x804F7248 end:0x804F7258
|
||||
.data start:0x8056D868 end:0x8056D888
|
||||
|
||||
nw4r/g3d/g3d_anmobj.cpp:
|
||||
.text start:0x8044A860 end:0x8044A928 align:16
|
||||
.rodata start:0x804F7258 end:0x804F7264
|
||||
.sdata start:0x80574E40 end:0x80574E44
|
||||
.sdata2 start:0x8057ED78 end:0x8057ED7C
|
||||
.rodata start:0x804F7258 end:0x804F7268
|
||||
.sdata start:0x80574E40 end:0x80574E48
|
||||
.sdata2 start:0x8057ED78 end:0x8057ED80
|
||||
|
||||
nw4r/g3d/platform/g3d_gpu.cpp:
|
||||
.text start:0x8044A930 end:0x8044AE50 align:16
|
||||
@@ -3966,7 +3960,7 @@ nw4r/g3d/platform/g3d_tmem.cpp:
|
||||
|
||||
nw4r/g3d/platform/g3d_cpu.cpp:
|
||||
.text start:0x8044B1B0 end:0x8044B35C align:16
|
||||
.sdata2 start:0x8057ED98 end:0x8057ED9C
|
||||
.sdata2 start:0x8057ED98 end:0x8057EDA0
|
||||
|
||||
nw4r/g3d/g3d_state.cpp:
|
||||
.text start:0x8044B360 end:0x8044EAB0 align:16
|
||||
@@ -3985,8 +3979,8 @@ nw4r/g3d/g3d_draw1mat1shp.cpp:
|
||||
|
||||
nw4r/g3d/g3d_calcview.cpp:
|
||||
.text start:0x8044F800 end:0x80451A9C align:16
|
||||
.rodata start:0x804F7A28 end:0x804F7A44
|
||||
.sdata2 start:0x8057EDE8 end:0x8057EDF4
|
||||
.rodata start:0x804F7A28 end:0x804F7A48
|
||||
.sdata2 start:0x8057EDE8 end:0x8057EDF8
|
||||
|
||||
nw4r/g3d/g3d_dcc.cpp:
|
||||
.text start:0x80451AA0 end:0x80451B84 align:16
|
||||
@@ -4004,7 +3998,7 @@ nw4r/g3d/g3d_calcworld.cpp:
|
||||
nw4r/g3d/g3d_draw.cpp:
|
||||
.text start:0x80452750 end:0x804545F0 align:16
|
||||
.sdata start:0x80574E58 end:0x80574E60
|
||||
.sdata2 start:0x8057EE00 end:0x8057EE0C
|
||||
.sdata2 start:0x8057EE00 end:0x8057EE10
|
||||
|
||||
nw4r/g3d/g3d_camera.cpp:
|
||||
.text start:0x804545F0 end:0x804556AC align:16
|
||||
@@ -4012,22 +4006,22 @@ nw4r/g3d/g3d_camera.cpp:
|
||||
|
||||
nw4r/g3d/dcc/g3d_basic.cpp:
|
||||
.text start:0x804556B0 end:0x80455978 align:16
|
||||
.sdata2 start:0x8057EE48 end:0x8057EE54
|
||||
.sdata2 start:0x8057EE48 end:0x8057EE58
|
||||
|
||||
nw4r/g3d/dcc/g3d_maya.cpp:
|
||||
.text start:0x80455980 end:0x80456684 align:16
|
||||
.rodata start:0x804F7A48 end:0x804F7A80
|
||||
.sdata2 start:0x8057EE58 end:0x8057EE6C
|
||||
.sdata2 start:0x8057EE58 end:0x8057EE70
|
||||
|
||||
nw4r/g3d/dcc/g3d_xsi.cpp:
|
||||
.text start:0x80456690 end:0x804572A4 align:16
|
||||
.rodata start:0x804F7A80 end:0x804F7AB8
|
||||
.sdata2 start:0x8057EE70 end:0x8057EE7C
|
||||
.sdata2 start:0x8057EE70 end:0x8057EE80
|
||||
|
||||
nw4r/g3d/dcc/g3d_3dsmax.cpp:
|
||||
.text start:0x804572B0 end:0x80457DCC align:16
|
||||
.rodata start:0x804F7AB8 end:0x804F7AF0
|
||||
.sdata2 start:0x8057EE80 end:0x8057EE94
|
||||
.sdata2 start:0x8057EE80 end:0x8057EE98
|
||||
|
||||
nw4r/g3d/g3d_scnobj.cpp:
|
||||
.text start:0x80457DD0 end:0x8045980C align:16
|
||||
@@ -4041,14 +4035,14 @@ nw4r/g3d/g3d_scnroot.cpp:
|
||||
.rodata start:0x804F7B20 end:0x804F7B30
|
||||
.data start:0x8056D9A8 end:0x8056DA18
|
||||
.sdata start:0x80574E60 end:0x80574E70
|
||||
.sdata2 start:0x8057EEA0 end:0x8057EEA4
|
||||
.sdata2 start:0x8057EEA0 end:0x8057EEA8
|
||||
|
||||
nw4r/g3d/g3d_scnmdlsmpl.cpp:
|
||||
.text start:0x8045B1C0 end:0x8045D25C align:16
|
||||
.rodata start:0x804F7B30 end:0x804F7B48
|
||||
.data start:0x8056DA18 end:0x8056DA70
|
||||
.sdata start:0x80574E70 end:0x80574E88
|
||||
.sdata2 start:0x8057EEA8 end:0x8057EEAC
|
||||
.sdata2 start:0x8057EEA8 end:0x8057EEB0
|
||||
|
||||
nw4r/g3d/g3d_scnmdl.cpp:
|
||||
.text start:0x8045D260 end:0x8045FDAC align:16
|
||||
@@ -4070,15 +4064,15 @@ nw4r/g3d/g3d_scnproc.cpp:
|
||||
.text start:0x804600F0 end:0x804603F0 align:16
|
||||
.rodata start:0x804F7B70 end:0x804F7B80
|
||||
.data start:0x8056DB00 end:0x8056DB38
|
||||
.sdata2 start:0x8057EEB0 end:0x8057EEB4
|
||||
.sdata2 start:0x8057EEB0 end:0x8057EEB8
|
||||
|
||||
nw4r/g3d/g3d_fog.cpp:
|
||||
.text start:0x804603F0 end:0x80460560 align:16
|
||||
.sdata2 start:0x8057EEB8 end:0x8057EEBC
|
||||
.sdata2 start:0x8057EEB8 end:0x8057EEC0
|
||||
|
||||
nw4r/g3d/g3d_light.cpp:
|
||||
.text start:0x80460560 end:0x80460F68 align:16
|
||||
.sdata2 start:0x8057EEC0 end:0x8057EEEC
|
||||
.sdata2 start:0x8057EEC0 end:0x8057EEF0
|
||||
|
||||
nw4r/g3d/g3d_calcvtx.cpp:
|
||||
.text start:0x80460F70 end:0x804616F8 align:16
|
||||
@@ -4406,41 +4400,41 @@ nw4r/lyt/lyt_pane.cpp:
|
||||
|
||||
nw4r/lyt/lyt_group.cpp:
|
||||
.text start:0x80487EB0 end:0x8048820C align:16
|
||||
.data start:0x8056E4A8 end:0x8056E4B4
|
||||
.data start:0x8056E4A8 end:0x8056E4B8
|
||||
|
||||
nw4r/lyt/lyt_layout.cpp:
|
||||
.text start:0x80488210 end:0x80489268 align:16
|
||||
.data start:0x8056E4B8 end:0x8056E4F8
|
||||
.sbss start:0x805766F8 end:0x805766FC
|
||||
.sbss start:0x805766F8 end:0x80576700
|
||||
.sdata2 start:0x8057F240 end:0x8057F248
|
||||
|
||||
nw4r/lyt/lyt_picture.cpp:
|
||||
.text start:0x80489270 end:0x804897FC align:16
|
||||
.ctors start:0x804DB978 end:0x804DB97C
|
||||
.data start:0x8056E4F8 end:0x8056E570
|
||||
.sbss start:0x80576700 end:0x80576704
|
||||
.sbss start:0x80576700 end:0x80576708
|
||||
.sdata2 start:0x8057F248 end:0x8057F250
|
||||
|
||||
nw4r/lyt/lyt_textBox.cpp:
|
||||
.text start:0x80489800 end:0x8048B16C align:16
|
||||
.ctors start:0x804DB97C end:0x804DB980
|
||||
.data start:0x8056E570 end:0x8056E5F4
|
||||
.sdata start:0x80574EB8 end:0x80574EBC
|
||||
.sbss start:0x80576708 end:0x8057670C
|
||||
.data start:0x8056E570 end:0x8056E5F8
|
||||
.sdata start:0x80574EB8 end:0x80574EC0
|
||||
.sbss start:0x80576708 end:0x80576710
|
||||
.sdata2 start:0x8057F250 end:0x8057F268
|
||||
|
||||
nw4r/lyt/lyt_window.cpp:
|
||||
.text start:0x8048B170 end:0x8048D6FC align:16
|
||||
.ctors start:0x804DB980 end:0x804DB984
|
||||
.data start:0x8056E5F8 end:0x8056E6C0
|
||||
.sbss start:0x80576710 end:0x80576714
|
||||
.sbss start:0x80576710 end:0x80576718
|
||||
.sdata2 start:0x8057F268 end:0x8057F280
|
||||
|
||||
nw4r/lyt/lyt_bounding.cpp:
|
||||
.text start:0x8048D700 end:0x8048D7CC align:16
|
||||
.ctors start:0x804DB984 end:0x804DB988
|
||||
.data start:0x8056E6C0 end:0x8056E734
|
||||
.sbss start:0x80576718 end:0x8057671C
|
||||
.data start:0x8056E6C0 end:0x8056E738
|
||||
.sbss start:0x80576718 end:0x80576720
|
||||
|
||||
nw4r/lyt/lyt_material.cpp:
|
||||
.text start:0x8048D7D0 end:0x804905D0 align:16
|
||||
@@ -4450,16 +4444,16 @@ nw4r/lyt/lyt_material.cpp:
|
||||
|
||||
nw4r/lyt/lyt_texMap.cpp:
|
||||
.text start:0x804905D0 end:0x80490980 align:16
|
||||
.sdata2 start:0x8057F2A0 end:0x8057F2B4
|
||||
.sdata2 start:0x8057F2A0 end:0x8057F2B8
|
||||
|
||||
nw4r/lyt/lyt_drawInfo.cpp:
|
||||
.text start:0x80490980 end:0x80490A40 align:16
|
||||
.data start:0x8056E7A8 end:0x8056E7B4
|
||||
.data start:0x8056E7A8 end:0x8056E7B8
|
||||
.sdata2 start:0x8057F2B8 end:0x8057F2C0
|
||||
|
||||
nw4r/lyt/lyt_animation.cpp:
|
||||
.text start:0x80490A40 end:0x80491FF4 align:16
|
||||
.data start:0x8056E7B8 end:0x8056E7DC
|
||||
.data start:0x8056E7B8 end:0x8056E7E0
|
||||
.sdata2 start:0x8057F2C0 end:0x8057F2E0
|
||||
|
||||
nw4r/lyt/lyt_resourceAccessor.cpp:
|
||||
@@ -4479,25 +4473,25 @@ nw4r/lyt/lyt_common.cpp:
|
||||
|
||||
nw4r/lyt/lyt_util.cpp:
|
||||
.text start:0x804932E0 end:0x8049350C align:16
|
||||
.sdata2 start:0x8057F2E8 end:0x8057F2EC
|
||||
.sdata2 start:0x8057F2E8 end:0x8057F2F0
|
||||
|
||||
egg/core/eggArchive.cpp:
|
||||
.text start:0x80493510 end:0x80494254 align:16
|
||||
.data start:0x8056E820 end:0x8056E82C
|
||||
.data start:0x8056E820 end:0x8056E830
|
||||
.sdata start:0x80574EC8 end:0x80574ECA
|
||||
.sbss start:0x80576728 end:0x80576729
|
||||
.bss start:0x80673AC8 end:0x80673AD4
|
||||
.bss start:0x80673AC8 end:0x80673AD8
|
||||
|
||||
egg/core/eggDvdFile.cpp:
|
||||
.text start:0x80494260 end:0x80494678 align:16
|
||||
.data start:0x8056E830 end:0x8056E858
|
||||
.sbss start:0x80576730 end:0x80576731
|
||||
.bss start:0x80673AD8 end:0x80673AE4
|
||||
.bss start:0x80673AD8 end:0x80673AE8
|
||||
|
||||
egg/core/eggDvdRipper.cpp:
|
||||
.text start:0x80494680 end:0x80494C80 align:16
|
||||
.sdata start:0x80574ED0 end:0x80574ED1
|
||||
.sbss start:0x80576738 end:0x8057673C
|
||||
.sbss start:0x80576738 end:0x80576740
|
||||
|
||||
egg/core/eggStreamDecomp.cpp:
|
||||
.text start:0x80494C80 end:0x804952C8 align:16
|
||||
@@ -4512,7 +4506,7 @@ egg/core/eggHeap.cpp:
|
||||
.text start:0x804953F0 end:0x80495AB0 align:16
|
||||
.data start:0x8056E8E8 end:0x8056E980
|
||||
.sdata start:0x80574ED8 end:0x80574EE8
|
||||
.sbss start:0x80576740 end:0x8057676C
|
||||
.sbss start:0x80576740 end:0x80576770
|
||||
.bss start:0x80673AE8 end:0x80673B10
|
||||
|
||||
egg/core/eggExpHeap.cpp:
|
||||
@@ -4529,7 +4523,7 @@ egg/core/eggAssertHeap.cpp:
|
||||
|
||||
egg/core/eggDisposer.cpp:
|
||||
.text start:0x80496830 end:0x80496904 align:16
|
||||
.data start:0x8056EA30 end:0x8056EA3C
|
||||
.data start:0x8056EA30 end:0x8056EA40
|
||||
|
||||
egg/core/eggThread.cpp:
|
||||
.text start:0x80496910 end:0x80496DD8 align:16
|
||||
@@ -4550,7 +4544,7 @@ egg/core/eggDisplay.cpp:
|
||||
.text start:0x80497530 end:0x8049792C align:16
|
||||
.ctors start:0x804DB988 end:0x804DB98C
|
||||
.data start:0x8056EAC8 end:0x8056EAE8
|
||||
.sbss start:0x80576788 end:0x8057678C
|
||||
.sbss start:0x80576788 end:0x80576790
|
||||
.sdata2 start:0x8057F2F8 end:0x8057F308
|
||||
|
||||
egg/core/eggColorFader.cpp:
|
||||
@@ -4562,7 +4556,7 @@ egg/core/eggAsyncDisplay.cpp:
|
||||
.text start:0x80497E40 end:0x80498688 align:16
|
||||
.data start:0x8056EB10 end:0x8056EB80
|
||||
.sbss start:0x80576790 end:0x80576798
|
||||
.sdata2 start:0x8057F310 end:0x8057F324
|
||||
.sdata2 start:0x8057F310 end:0x8057F328
|
||||
.bss start:0x80673B20 end:0x80673B40
|
||||
|
||||
egg/core/eggVideo.cpp:
|
||||
@@ -4579,14 +4573,14 @@ egg/core/eggXfbManager.cpp:
|
||||
egg/core/eggGraphicsFifo.cpp:
|
||||
.text start:0x80498E20 end:0x80498F90 align:16
|
||||
.data start:0x8056EB80 end:0x8056EB90
|
||||
.sbss start:0x80576798 end:0x805767A4
|
||||
.sbss start:0x80576798 end:0x805767A8
|
||||
|
||||
egg/core/eggController.cpp:
|
||||
.text start:0x80498F90 end:0x8049AB58 align:16
|
||||
.ctors start:0x804DB98C end:0x804DB990
|
||||
.rodata start:0x804FBA20 end:0x804FBA30
|
||||
.data start:0x8056EB90 end:0x8056EC88
|
||||
.sdata start:0x80574EE8 end:0x80574EEC
|
||||
.sdata start:0x80574EE8 end:0x80574EF0
|
||||
.sbss start:0x805767A8 end:0x805767C0
|
||||
.sdata2 start:0x8057F338 end:0x8057F360
|
||||
.bss start:0x80673B40 end:0x80674C00
|
||||
@@ -4694,7 +4688,7 @@ egg/gfx/eggFrustum.cpp:
|
||||
.ctors start:0x804DB99C end:0x804DB9A0
|
||||
.data start:0x8056F030 end:0x8056F048
|
||||
.sbss start:0x80576810 end:0x80576820
|
||||
.sdata2 start:0x8057F618 end:0x8057F63C
|
||||
.sdata2 start:0x8057F618 end:0x8057F640
|
||||
|
||||
egg/gfx/eggG3DUtility.cpp:
|
||||
.text start:0x804A6860 end:0x804A75B0 align:16
|
||||
@@ -4766,14 +4760,14 @@ egg/gfx/eggPostEffectBlur.cpp:
|
||||
|
||||
egg/gfx/eggPostEffectBlurGather.cpp:
|
||||
.text start:0x804AFC10 end:0x804B0098 align:16
|
||||
.data start:0x8056F190 end:0x8056F1AC
|
||||
.data start:0x8056F190 end:0x8056F1B0
|
||||
.sdata2 start:0x8057F788 end:0x8057F798
|
||||
|
||||
egg/gfx/eggPostEffectUnk2.cpp:
|
||||
.text start:0x804B00A0 end:0x804B0AA4 align:16
|
||||
.rodata start:0x804FBD50 end:0x804FBD88
|
||||
.data start:0x8056F1B0 end:0x8056F1D0
|
||||
.sdata2 start:0x8057F798 end:0x8057F7C4
|
||||
.sdata2 start:0x8057F798 end:0x8057F7C8
|
||||
|
||||
egg/gfx/eggPostEffectMask.cpp:
|
||||
.text start:0x804B0AB0 end:0x804B0F60 align:16
|
||||
@@ -4783,8 +4777,8 @@ egg/gfx/eggPostEffectMask.cpp:
|
||||
egg/gfx/eggPostEffectMaskDOF.cpp:
|
||||
.text start:0x804B0F60 end:0x804B1BE8 align:16
|
||||
.rodata start:0x804FBD88 end:0x804FBDA0
|
||||
.data start:0x8056F1F0 end:0x8056F20C
|
||||
.sdata2 start:0x8057F7D0 end:0x8057F80C
|
||||
.data start:0x8056F1F0 end:0x8056F210
|
||||
.sdata2 start:0x8057F7D0 end:0x8057F810
|
||||
.sbss2 start:0x8057FFC8 end:0x8057FFCC
|
||||
|
||||
egg/gfx/eggPostEffectSimple.cpp:
|
||||
@@ -4847,7 +4841,7 @@ egg/audio/eggAudioMgr.cpp:
|
||||
|
||||
egg/audio/eggAudioRmtSpeakerMgr.cpp:
|
||||
.text start:0x804B69D0 end:0x804B6F58 align:16
|
||||
.sdata start:0x80574F68 end:0x80574F6C
|
||||
.sdata start:0x80574F68 end:0x80574F70
|
||||
.sbss start:0x805768D8 end:0x805768E8
|
||||
.bss start:0x80675390 end:0x80675480
|
||||
|
||||
|
||||
@@ -3019,10 +3019,10 @@ getDzbFromArc__11OarcManagerFPCcPCc = .text:0x80069B60; // type:function size:0x
|
||||
getPlcFromArc__11OarcManagerFPCcPCc = .text:0x80069CE0; // type:function size:0x178
|
||||
getSubEntryData__11OarcManagerFPCcPCc = .text:0x80069E60; // type:function size:0x8
|
||||
create__11OarcManagerFPQ23EGG4Heap = .text:0x80069E70; // type:function size:0x64
|
||||
fn_80069EE0 = .text:0x80069EE0; // type:function size:0x6C
|
||||
ArcnManager__set = .text:0x80069F50; // type:function size:0xC
|
||||
ArcnManager__doLoad = .text:0x80069F60; // type:function size:0x88
|
||||
fn_80069FF0 = .text:0x80069FF0; // type:function size:0xC4
|
||||
__dt__16ObjectArcControlFv = .text:0x80069EE0; // type:function size:0x6C
|
||||
set__16ObjectArcControlFPCPCcl = .text:0x80069F50; // type:function size:0xC
|
||||
load__16ObjectArcControlCFPQ23EGG4Heap = .text:0x80069F60; // type:function size:0x88
|
||||
release__16ObjectArcControlFv = .text:0x80069FF0; // type:function size:0xC4
|
||||
__ct__16LayoutArcManagerFv = .text:0x8006A0C0; // type:function size:0x44
|
||||
__dt__16LayoutArcManagerFv = .text:0x8006A110; // type:function size:0x64
|
||||
init__16LayoutArcManagerFPQ23EGG4Heap = .text:0x8006A180; // type:function size:0x14
|
||||
@@ -3036,8 +3036,8 @@ getLoadedData__16LayoutArcManagerFPCc = .text:0x8006A260; // type:function size:
|
||||
create__16LayoutArcManagerFPQ23EGG4Heap = .text:0x8006A270; // type:function size:0x64
|
||||
__dt__16LayoutArcControlFv = .text:0x8006A2E0; // type:function size:0x6C
|
||||
set__16LayoutArcControlFPCPCcl = .text:0x8006A350; // type:function size:0xC
|
||||
load__16LayoutArcControlFPQ23EGG4Heap = .text:0x8006A360; // type:function size:0x88
|
||||
fn_8006A3F0 = .text:0x8006A3F0; // type:function size:0x88
|
||||
load__16LayoutArcControlCFPQ23EGG4Heap = .text:0x8006A360; // type:function size:0x88
|
||||
allLoaded__16LayoutArcControlCFv = .text:0x8006A3F0; // type:function size:0x88
|
||||
release__16LayoutArcControlFv = .text:0x8006A480; // type:function size:0xC4
|
||||
getActorInfoByName__FPCc = .text:0x8006A550; // type:function size:0x98
|
||||
getProfileIdForName__FPCc = .text:0x8006A5F0; // type:function size:0x34
|
||||
@@ -30893,7 +30893,7 @@ __vt__22CurrentStageArcManager = .data:0x8050E004; // type:object size:0xC
|
||||
@4271 = .data:0x8050E010; // type:object size:0x10 scope:local data:string
|
||||
@4278 = .data:0x8050E020; // type:object size:0xC scope:local data:string
|
||||
__vt__11OarcManager = .data:0x8050E02C; // type:object size:0xC
|
||||
lbl_8050E038 = .data:0x8050E038; // type:object size:0x10
|
||||
__vt__16ObjectArcControl = .data:0x8050E038; // type:object size:0x10
|
||||
__vt__16LayoutArcManager = .data:0x8050E048; // type:object size:0xC
|
||||
__vt__16LayoutArcControl = .data:0x8050E054; // type:object size:0xC
|
||||
lbl_8050E060 = .data:0x8050E060; // type:object size:0x30
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
#include "nw4r/g3d/res/g3d_resfile.h"
|
||||
#include "sized_string.h"
|
||||
|
||||
enum dArcResult_e {
|
||||
D_ARC_RESULT_WAIT = 1,
|
||||
D_ARC_RESULT_OK = 0,
|
||||
D_ARC_RESULT_ERROR_INTERNAL = -1,
|
||||
D_ARC_RESULT_ERROR_NOT_FOUND = -2,
|
||||
};
|
||||
|
||||
class ArcCallbackHandlerBase {
|
||||
public:
|
||||
ArcCallbackHandlerBase() : mPrefix(' ') {}
|
||||
@@ -26,8 +33,6 @@ public:
|
||||
|
||||
void BindSystemModelsAndLighting(nw4r::g3d::ResFile);
|
||||
|
||||
// TODO: loading status could be an enum (-2/-1/0/+1)
|
||||
|
||||
// Ghidra: ArcManagerEntry
|
||||
// size: 0x40
|
||||
class dRawArcEntry_c {
|
||||
@@ -41,10 +46,10 @@ public:
|
||||
static BOOL checkArcExistsOnDisk(const char *fileName, const char *dirName);
|
||||
static BOOL checkArcExistsOnDiskInner(SizedString<128> &path, const char *fileName, const char *dirName);
|
||||
|
||||
int mount(const char *name, void *data, ArcCallbackHandler *callbackArg, u8 mountDirection, EGG::Heap *heap);
|
||||
int onMount(void *callbackArg);
|
||||
dArcResult_e mount(const char *name, void *data, ArcCallbackHandler *callbackArg, u8 mountDirection, EGG::Heap *heap);
|
||||
dArcResult_e onMount(void *callbackArg);
|
||||
|
||||
int ensureLoadedMaybe(void *callbackArg);
|
||||
dArcResult_e ensureLoadedMaybe(void *callbackArg);
|
||||
|
||||
inline bool isReferenced() {
|
||||
return mRefCount != 0;
|
||||
@@ -105,14 +110,14 @@ public:
|
||||
bool init(u16 count, ArcCallbackHandler *callbackArg, EGG::Heap *heap);
|
||||
BOOL getArcOrLoadFromDisk(const char *name, const char *dirName, u8 mountDirection, EGG::Heap *heap);
|
||||
BOOL addEntryFromSuperArc(const char *name, void *data, u8 mountDirection, EGG::Heap *heap);
|
||||
int ensureLoadedMaybe2(const char *name);
|
||||
int ensureLoadedMaybe(const char *name);
|
||||
dArcResult_e ensureLoadedMaybe2(const char *name);
|
||||
dArcResult_e ensureLoadedMaybe(const char *name);
|
||||
bool hasEntry(const char *name);
|
||||
BOOL decreaseRefCount(const char *name);
|
||||
void *getDataFromOarc(const char *name, const char *path);
|
||||
void *getSubEntryData(const char *name, const char *path);
|
||||
void *getLoadedArcData(const char *name);
|
||||
int ensureAllEntriesLoaded();
|
||||
dArcResult_e ensureAllEntriesLoaded();
|
||||
dRawArcEntry_c *findEntry(const char *name) const;
|
||||
dRawArcEntry_c *findEmptySlot();
|
||||
dRawArcEntry_c *findLoadedEntry(const char *name);
|
||||
@@ -123,4 +128,4 @@ private:
|
||||
/* 0x8 */ ArcCallbackHandler *mCallbackArg;
|
||||
};
|
||||
|
||||
#endif;
|
||||
#endif
|
||||
|
||||
@@ -47,6 +47,7 @@ EGG::Heap *getArchiveHeap();
|
||||
} // namespace mDvd
|
||||
|
||||
class mDvd_command_c {
|
||||
friend class mDvd_param_c;
|
||||
public:
|
||||
mDvd_command_c();
|
||||
virtual ~mDvd_command_c();
|
||||
@@ -60,9 +61,14 @@ public:
|
||||
static void destroy(mDvd_command_c **cmd);
|
||||
void do_delete();
|
||||
|
||||
bool isDone() const {
|
||||
return mStatus != 0;
|
||||
}
|
||||
|
||||
void *operator new(size_t size);
|
||||
void operator delete(void *ptr);
|
||||
|
||||
protected:
|
||||
mDvd_command_c *mNext;
|
||||
u8 mStatus;
|
||||
u8 mMountDirection;
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
|
||||
EGG::ExpHeap *getHeap(s32 roomid);
|
||||
|
||||
inline int ensureAllEntriesLoaded() {
|
||||
inline dArcResult_e ensureAllEntriesLoaded() {
|
||||
return mArcTable.ensureAllEntriesLoaded();
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,20 @@
|
||||
#include "d/d_rawarchive.h"
|
||||
#include "egg/core/eggHeap.h"
|
||||
|
||||
class LayoutArcControl {
|
||||
public:
|
||||
LayoutArcControl() : mLayoutArcs(nullptr), mNumArcs(0) {}
|
||||
virtual ~LayoutArcControl();
|
||||
void set(const char *const *layoutArcs, s32 numArcs);
|
||||
bool load(EGG::Heap *heap) const;
|
||||
bool allLoaded() const;
|
||||
bool release();
|
||||
|
||||
private:
|
||||
const char *const *mLayoutArcs;
|
||||
s32 mNumArcs;
|
||||
};
|
||||
|
||||
class LayoutArcManager {
|
||||
public:
|
||||
LayoutArcManager();
|
||||
@@ -14,13 +28,13 @@ public:
|
||||
|
||||
void init(EGG::Heap *heap);
|
||||
|
||||
inline int ensureAllEntriesLoaded() {
|
||||
inline dArcResult_e ensureAllEntriesLoaded() {
|
||||
return mArcTable.ensureAllEntriesLoaded();
|
||||
}
|
||||
|
||||
bool loadLayoutArcFromDisk(const char *object, EGG::Heap *heap);
|
||||
int ensureLoaded1(const char *object);
|
||||
int ensureLoaded2(const char *object);
|
||||
dArcResult_e ensureLoaded1(const char *object);
|
||||
dArcResult_e ensureLoaded2(const char *object);
|
||||
bool hasEntry(const char *object);
|
||||
bool decrement(const char *path);
|
||||
void *getData(const char *oarcName, const char *fileName);
|
||||
@@ -35,17 +49,4 @@ private:
|
||||
dRawArcTable_c mArcTable;
|
||||
};
|
||||
|
||||
class LayoutArcControl {
|
||||
public:
|
||||
LayoutArcControl() : mLayoutArcs(nullptr), mNumArcs(0) {}
|
||||
virtual ~LayoutArcControl();
|
||||
void set(const char *const *layoutArcs, s32 numArcs);
|
||||
void load(EGG::Heap *heap);
|
||||
void release();
|
||||
|
||||
private:
|
||||
const char **mLayoutArcs;
|
||||
s32 mNumArcs;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,6 +4,19 @@
|
||||
#include "d/d_rawarchive.h"
|
||||
#include "egg/core/eggHeap.h"
|
||||
|
||||
class ObjectArcControl {
|
||||
public:
|
||||
ObjectArcControl() : mObjectArcs(nullptr), mNumArcs(0) {}
|
||||
virtual ~ObjectArcControl();
|
||||
void set(const char *const *objectArcs, s32 numArcs);
|
||||
bool load(EGG::Heap *heap) const;
|
||||
bool release();
|
||||
|
||||
private:
|
||||
const char *const *mObjectArcs;
|
||||
s32 mNumArcs;
|
||||
};
|
||||
|
||||
class OarcManager {
|
||||
public:
|
||||
OarcManager();
|
||||
@@ -13,15 +26,15 @@ public:
|
||||
|
||||
void init(EGG::Heap *heap);
|
||||
|
||||
inline int ensureAllEntriesLoaded() {
|
||||
inline dArcResult_e ensureAllEntriesLoaded() {
|
||||
return mArcTable.ensureAllEntriesLoaded();
|
||||
}
|
||||
|
||||
bool checkIfObjectArcExistsOnDisk(const char *object);
|
||||
bool loadObjectArcFromDisk(const char *object, EGG::Heap *heap);
|
||||
bool addEntryFromSuperArc(const char *object, void *data, EGG::Heap *heap);
|
||||
int ensureLoaded1(const char *object);
|
||||
void ensureLoaded2(const char *object);
|
||||
dArcResult_e ensureLoaded1(const char *object);
|
||||
dArcResult_e ensureLoaded2(const char *object);
|
||||
bool decrement(const char *path);
|
||||
void *getData(const char *oarcName, const char *fileName);
|
||||
|
||||
@@ -41,17 +54,4 @@ private:
|
||||
dRawArcTable_c mArcTable;
|
||||
};
|
||||
|
||||
class ObjectArcControl {
|
||||
public:
|
||||
ObjectArcControl() : mObjectArcs(nullptr), mNumArcs(0) {}
|
||||
virtual ~ObjectArcControl();
|
||||
void set(const char *const *objectArcs, s32 numArcs);
|
||||
void load(EGG::Heap *heap);
|
||||
void release();
|
||||
|
||||
private:
|
||||
const char **mObjectArcs;
|
||||
s32 mNumArcs;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -197,7 +197,7 @@ BOOL DynamicModuleControl::do_load_async() {
|
||||
mDvdCallbackRequest = mDvd_callback_c::create(callback, this);
|
||||
}
|
||||
|
||||
if (mDvdCallbackRequest != nullptr && mDvdCallbackRequest->mStatus != 0) {
|
||||
if (mDvdCallbackRequest != nullptr && mDvdCallbackRequest->isDone()) {
|
||||
mDvdCallbackRequest->do_delete();
|
||||
mDvdCallbackRequest = nullptr;
|
||||
return true;
|
||||
|
||||
@@ -69,10 +69,10 @@ sFPhaseBase::sFPhaseState dScBoot_c::cb1() {
|
||||
}
|
||||
|
||||
sFPhaseBase::sFPhaseState dScBoot_c::cb2() {
|
||||
if (OarcManager::GetInstance()->ensureAllEntriesLoaded()) {
|
||||
if (OarcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded()) {
|
||||
if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ sFPhaseBase::sFPhaseState dScBoot_c::cb5() {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
}
|
||||
if (mpDvdCallback->mStatus == 0) {
|
||||
if (!mpDvdCallback->isDone()) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
} else {
|
||||
mpDvdCallback->do_delete();
|
||||
@@ -271,11 +271,11 @@ sFPhaseBase::sFPhaseState dScBoot_c::cb7() {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
if (OarcManager::GetInstance()->ensureAllEntriesLoaded()) {
|
||||
if (OarcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded()) {
|
||||
if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
@@ -341,7 +341,7 @@ dScBoot_c::strap_c::strap_c() {
|
||||
|
||||
bool dScBoot_c::strap_c::create() {
|
||||
if (!field_0x4EC) {
|
||||
if (LayoutArcManager::GetInstance()->ensureLoaded1(mArcName)) {
|
||||
if (LayoutArcManager::GetInstance()->ensureLoaded1(mArcName) != D_ARC_RESULT_OK) {
|
||||
return false;
|
||||
}
|
||||
void *data = LayoutArcManager::GetInstance()->getLoadedData(mArcName);
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "d/col/cc/d_cc_s.h"
|
||||
#include "d/d_light_env.h"
|
||||
#include "d/d_pouch.h"
|
||||
#include "d/d_rawarchive.h"
|
||||
#include "d/d_room.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/flag/sceneflag_manager.h"
|
||||
@@ -1165,7 +1166,7 @@ int dAcTbox_c::doDelete() {
|
||||
}
|
||||
if (sCurrentObtainingItemOarcName != nullptr) {
|
||||
OarcManager *mng = OarcManager::GetInstance();
|
||||
if (!mng->ensureLoaded1(sCurrentObtainingItemOarcName)) {
|
||||
if (mng->ensureLoaded1(sCurrentObtainingItemOarcName) == D_ARC_RESULT_OK) {
|
||||
mng->decrement(sCurrentObtainingItemOarcName);
|
||||
sCurrentObtainingItemOarcName = nullptr;
|
||||
}
|
||||
@@ -1884,7 +1885,7 @@ void dAcTbox_c::initializeState_DeleteArchive() {
|
||||
void dAcTbox_c::executeState_DeleteArchive() {
|
||||
if (sCurrentObtainingItemOarcName != nullptr) {
|
||||
OarcManager *mng = OarcManager::GetInstance();
|
||||
if (!mng->ensureLoaded1(sCurrentObtainingItemOarcName)) {
|
||||
if (mng->ensureLoaded1(sCurrentObtainingItemOarcName) == D_ARC_RESULT_OK) {
|
||||
mng->decrement(sCurrentObtainingItemOarcName);
|
||||
sCurrentObtainingItemOarcName = nullptr;
|
||||
}
|
||||
@@ -1922,7 +1923,7 @@ void dAcTbox_c::initializeState_LoadArchive() {
|
||||
field_0x120C = 0;
|
||||
}
|
||||
void dAcTbox_c::executeState_LoadArchive() {
|
||||
if (!OarcManager::GetInstance()->ensureLoaded1(sCurrentObtainingItemOarcName)) {
|
||||
if (OarcManager::GetInstance()->ensureLoaded1(sCurrentObtainingItemOarcName) == D_ARC_RESULT_OK) {
|
||||
mStateMgr.changeState(StateID_Open);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ void *loader_c::request(const char *path, u8 mountDirection, EGG::Heap *heap) {
|
||||
}
|
||||
mpCommand = mDvd_toMainRam_normal_c::create(buf, mountDirection, heap);
|
||||
}
|
||||
if (mpCommand != nullptr && mpCommand->mStatus != 0) {
|
||||
if (mpCommand != nullptr && mpCommand->isDone()) {
|
||||
mpBuffer = mpCommand->mDataPtr;
|
||||
mSize = mpCommand->mAmountRead;
|
||||
mpCommand->mDataPtr = nullptr;
|
||||
|
||||
+1
-1
@@ -336,7 +336,7 @@ bool destroy() {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (DVD->mStatus != 0) {
|
||||
if (DVD->isDone()) {
|
||||
DVD->do_delete();
|
||||
DVD = nullptr;
|
||||
return true;
|
||||
|
||||
+26
-30
@@ -36,10 +36,10 @@ dRawArcEntry_c::dRawArcEntry_c() {
|
||||
|
||||
dRawArcEntry_c::~dRawArcEntry_c() {
|
||||
// Wait for request to complete before destroying
|
||||
if (mpDvdReq->mStatus == 0) {
|
||||
if (!mpDvdReq->isDone()) {
|
||||
do {
|
||||
VIWaitForRetrace();
|
||||
} while (mpDvdReq->mStatus == 0);
|
||||
} while (!mpDvdReq->isDone());
|
||||
}
|
||||
destroy(nullptr);
|
||||
}
|
||||
@@ -72,7 +72,7 @@ void dRawArcEntry_c::searchCallback2(void *a, void *b, const ARCDirEntry *c, con
|
||||
|
||||
bool dRawArcEntry_c::destroy(void *arg) {
|
||||
if (mpDvdReq != nullptr) {
|
||||
if (mpDvdReq->mStatus == 0) {
|
||||
if (!mpDvdReq->isDone()) {
|
||||
// Can't destroy if the request is still ongoing
|
||||
return false;
|
||||
}
|
||||
@@ -144,31 +144,27 @@ BOOL dRawArcEntry_c::checkArcExistsOnDiskInner(SizedString<128> &path, const cha
|
||||
return true;
|
||||
}
|
||||
|
||||
int dRawArcEntry_c::mount(
|
||||
dArcResult_e dRawArcEntry_c::mount(
|
||||
const char *name, void *data, ArcCallbackHandler *callbackArg, u8 mountDirection, EGG::Heap *heap
|
||||
) {
|
||||
mArcName = name;
|
||||
mpArc = EGG::Archive::mount(data, heap, (mountDirection == 0 || mountDirection == 1) ? 4 : -4);
|
||||
if (mpArc == nullptr) {
|
||||
return -1;
|
||||
return D_ARC_RESULT_ERROR_INTERNAL;
|
||||
} else {
|
||||
int result = onMount(callbackArg);
|
||||
int ret = 0;
|
||||
if (result == -1) {
|
||||
ret = result;
|
||||
}
|
||||
return ret;
|
||||
dArcResult_e result = onMount(callbackArg);
|
||||
return result == D_ARC_RESULT_ERROR_INTERNAL ? result : D_ARC_RESULT_OK;
|
||||
}
|
||||
}
|
||||
|
||||
int dRawArcEntry_c::ensureLoadedMaybe(void *callbackArg) {
|
||||
dArcResult_e dRawArcEntry_c::ensureLoadedMaybe(void *callbackArg) {
|
||||
if (mpArc == nullptr) {
|
||||
if (mpDvdReq == nullptr) {
|
||||
return -1;
|
||||
return D_ARC_RESULT_ERROR_INTERNAL;
|
||||
}
|
||||
|
||||
if (mpDvdReq->mStatus == 0) {
|
||||
return 1;
|
||||
if (!mpDvdReq->isDone()) {
|
||||
return D_ARC_RESULT_WAIT;
|
||||
}
|
||||
|
||||
mpArc = mpDvdReq->mDataPtr;
|
||||
@@ -185,31 +181,31 @@ int dRawArcEntry_c::ensureLoadedMaybe(void *callbackArg) {
|
||||
mpDvdReq->do_delete();
|
||||
mpDvdReq = nullptr;
|
||||
if (mpArc == nullptr) {
|
||||
return -1;
|
||||
return D_ARC_RESULT_ERROR_INTERNAL;
|
||||
}
|
||||
mpFrmHeap = mHeap::makeHeapOnCurrentGameHeap(-1, name(), 0x20, mHeap::OPT_NONE);
|
||||
if (mpFrmHeap == nullptr) {
|
||||
return -1;
|
||||
return D_ARC_RESULT_ERROR_INTERNAL;
|
||||
}
|
||||
int result = onMount(callbackArg);
|
||||
dArcResult_e result = onMount(callbackArg);
|
||||
mHeap::restoreCurrentHeap();
|
||||
mHeap::adjustFrmHeap(mpFrmHeap);
|
||||
mChecksum = computeChecksum(mpData, mAmountRead);
|
||||
if (result == -1) {
|
||||
if (result == D_ARC_RESULT_ERROR_INTERNAL) {
|
||||
return result;
|
||||
}
|
||||
DCStoreRange(mpFrmHeap, mpFrmHeap->mHeapHandle->end - (u8 *)mpFrmHeap);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return D_ARC_RESULT_OK;
|
||||
}
|
||||
|
||||
int dRawArcEntry_c::onMount(void *callbackArg) {
|
||||
dArcResult_e dRawArcEntry_c::onMount(void *callbackArg) {
|
||||
mpArc->countFile();
|
||||
if (callbackArg != nullptr) {
|
||||
mpArc->searchInside(searchCallback1, callbackArg);
|
||||
}
|
||||
return 0;
|
||||
return D_ARC_RESULT_OK;
|
||||
}
|
||||
|
||||
dRawArcTable_c::dRawArcTable_c() {
|
||||
@@ -271,18 +267,18 @@ BOOL dRawArcTable_c::addEntryFromSuperArc(const char *name, void *data, u8 mount
|
||||
return true;
|
||||
}
|
||||
|
||||
int dRawArcTable_c::ensureLoadedMaybe2(const char *name) {
|
||||
dArcResult_e dRawArcTable_c::ensureLoadedMaybe2(const char *name) {
|
||||
dRawArcEntry_c *entry = findEntry(name);
|
||||
if (entry == nullptr) {
|
||||
return -2;
|
||||
return D_ARC_RESULT_ERROR_NOT_FOUND;
|
||||
}
|
||||
return entry->ensureLoadedMaybe(mCallbackArg);
|
||||
}
|
||||
|
||||
int dRawArcTable_c::ensureLoadedMaybe(const char *name) {
|
||||
dArcResult_e dRawArcTable_c::ensureLoadedMaybe(const char *name) {
|
||||
dRawArcEntry_c *entry = findEntry(name);
|
||||
if (entry == nullptr) {
|
||||
return -2;
|
||||
return D_ARC_RESULT_ERROR_NOT_FOUND;
|
||||
}
|
||||
return entry->ensureLoadedMaybe(mCallbackArg);
|
||||
}
|
||||
@@ -335,20 +331,20 @@ void *dRawArcTable_c::getLoadedArcData(const char *name) {
|
||||
return entry == nullptr ? nullptr : entry->getData();
|
||||
}
|
||||
|
||||
int dRawArcTable_c::ensureAllEntriesLoaded() {
|
||||
dArcResult_e dRawArcTable_c::ensureAllEntriesLoaded() {
|
||||
dRawArcEntry_c *entry = mpEntries;
|
||||
int result = 0;
|
||||
dArcResult_e result = D_ARC_RESULT_OK;
|
||||
for (int i = 0; i < mCount; i++) {
|
||||
if (entry->isLoading()) {
|
||||
result = entry->ensureLoadedMaybe(mCallbackArg);
|
||||
if (result != 0) {
|
||||
if (result != D_ARC_RESULT_OK) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
entry++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return D_ARC_RESULT_OK;
|
||||
}
|
||||
|
||||
dRawArcEntry_c *dRawArcTable_c::findEntry(const char *name) const {
|
||||
|
||||
+2
-2
@@ -117,11 +117,11 @@ sFPhaseBase::sFPhaseState dScGame_c::cb2() {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
if (OarcManager::GetInstance()->ensureAllEntriesLoaded()) {
|
||||
if (OarcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded()) {
|
||||
if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
|
||||
@@ -112,32 +112,31 @@ int dScTitle_c::execute() {
|
||||
}
|
||||
|
||||
int dScTitle_c::doDelete() {
|
||||
// TODO return codes
|
||||
int result;
|
||||
result = LayoutArcManager::GetInstance()->ensureLoaded2(sFileSelect);
|
||||
if (result != -2) {
|
||||
if (result != 0) {
|
||||
if (result != D_ARC_RESULT_ERROR_NOT_FOUND) {
|
||||
if (result != D_ARC_RESULT_OK) {
|
||||
return NOT_READY;
|
||||
}
|
||||
LayoutArcManager::GetInstance()->decrement(sFileSelect);
|
||||
}
|
||||
|
||||
result = LayoutArcManager::GetInstance()->ensureLoaded2(sSkb);
|
||||
if (result != -2) {
|
||||
if (result != 0) {
|
||||
if (result != D_ARC_RESULT_ERROR_NOT_FOUND) {
|
||||
if (result != D_ARC_RESULT_OK) {
|
||||
return NOT_READY;
|
||||
}
|
||||
LayoutArcManager::GetInstance()->decrement(sSkb);
|
||||
}
|
||||
|
||||
// TODO here's the other half of the ::destroy fakematch...
|
||||
if (mpSkbArc->mStatus != 0) {
|
||||
if (mpSkbArc->isDone()) {
|
||||
mDvd_command_c::destroy((mDvd_command_c **)&mpSkbArc);
|
||||
} else {
|
||||
return NOT_READY;
|
||||
}
|
||||
|
||||
if (mpSkbFont->mStatus != 0) {
|
||||
if (mpSkbFont->isDone()) {
|
||||
mDvd_command_c::destroy((mDvd_command_c **)&mpSkbFont);
|
||||
} else {
|
||||
return NOT_READY;
|
||||
|
||||
@@ -45,7 +45,7 @@ void dStageMgr_c::initializeState_ReadStageRes() {
|
||||
}
|
||||
|
||||
void dStageMgr_c::executeState_ReadStageRes() {
|
||||
if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == 0) {
|
||||
if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK) {
|
||||
mStateMgr.changeState(StateID_ReadRoomRes);
|
||||
}
|
||||
}
|
||||
@@ -62,8 +62,8 @@ void dStageMgr_c::finalizeState_ReadStageRes() {
|
||||
void dStageMgr_c::initializeState_ReadRoomRes() {}
|
||||
|
||||
void dStageMgr_c::executeState_ReadRoomRes() {
|
||||
if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == 0 &&
|
||||
LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() == 0) {
|
||||
if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK &&
|
||||
LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK) {
|
||||
mStateMgr.changeState(StateID_ReadObjectRes);
|
||||
}
|
||||
}
|
||||
@@ -100,7 +100,7 @@ void dStageMgr_c::initializeState_ReadStageLayerRes() {
|
||||
}
|
||||
|
||||
void dStageMgr_c::executeState_ReadStageLayerRes() {
|
||||
if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == 0) {
|
||||
if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK) {
|
||||
mStateMgr.changeState(StateID_ReadLayerObjectRes);
|
||||
}
|
||||
}
|
||||
@@ -142,7 +142,7 @@ void dStageMgr_c::initializeState_ReadLayerObjectRes() {
|
||||
}
|
||||
|
||||
void dStageMgr_c::executeState_ReadLayerObjectRes() {
|
||||
if (mLayerObjCtrl.isLoaded() && LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() == 0) {
|
||||
if (mLayerObjCtrl.isLoaded() && LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK) {
|
||||
mStateMgr.changeState(StateID_SoundLoadSceneData);
|
||||
}
|
||||
}
|
||||
@@ -172,7 +172,7 @@ void dStageMgr_c::initializeState_SoundLoadSceneData() {
|
||||
}
|
||||
|
||||
void dStageMgr_c::executeState_SoundLoadSceneData() {
|
||||
if (mpDvdCallback != nullptr && mpDvdCallback->mStatus != 0) {
|
||||
if (mpDvdCallback != nullptr && mpDvdCallback->isDone()) {
|
||||
mStateMgr.changeState(StateID_CreateObject);
|
||||
}
|
||||
}
|
||||
@@ -208,7 +208,7 @@ void dStageMgr_c::executeState_ReadObjectSound() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mpDvdCallback2->mStatus == 0) {
|
||||
if (!mpDvdCallback2->isDone()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ void dThpPlayer_c::setupFile(char* filename, s32 loadAllAtOnce) {
|
||||
static const u8 SPECIAL_TYPES[] = {0x7A, 0x78, 0x78};
|
||||
|
||||
void dThpPlayer_c::reallyExecute() {
|
||||
if (mDvdCallback == nullptr || mDvdCallback->mStatus == 0 || !mFilenameSet || mSetupDone) {
|
||||
if (mDvdCallback == nullptr || !mDvdCallback->isDone() || !mFilenameSet || mSetupDone) {
|
||||
return;
|
||||
}
|
||||
if (mFilename == "THP/Demo01_01.thp") {
|
||||
@@ -139,7 +139,7 @@ s32 dThpPlayer_c::play() {
|
||||
|
||||
s32 dThpPlayer_c::destroy() {
|
||||
if (mDvdCallback != nullptr) {
|
||||
if (mDvdCallback->mStatus == 0) {
|
||||
if (!mDvdCallback->isDone()) {
|
||||
return NOT_READY;
|
||||
}
|
||||
THPPlayerStop();
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
#include "d/d_heap.h"
|
||||
|
||||
|
||||
LayoutArcManager *LayoutArcManager::sInstance;
|
||||
|
||||
LayoutArcManager::LayoutArcManager() {
|
||||
@@ -24,11 +23,11 @@ bool LayoutArcManager::loadLayoutArcFromDisk(const char *object, EGG::Heap *heap
|
||||
return mArcTable.getArcOrLoadFromDisk(object, "Layout", 0, heap);
|
||||
}
|
||||
|
||||
int LayoutArcManager::ensureLoaded1(const char *object) {
|
||||
dArcResult_e LayoutArcManager::ensureLoaded1(const char *object) {
|
||||
return mArcTable.ensureLoadedMaybe2(object);
|
||||
}
|
||||
|
||||
int LayoutArcManager::ensureLoaded2(const char *object) {
|
||||
dArcResult_e LayoutArcManager::ensureLoaded2(const char *object) {
|
||||
return mArcTable.ensureLoadedMaybe(object);
|
||||
}
|
||||
|
||||
@@ -57,3 +56,68 @@ bool LayoutArcManager::create(EGG::Heap *heap) {
|
||||
GetInstance()->init(heap);
|
||||
return true;
|
||||
}
|
||||
|
||||
LayoutArcControl::~LayoutArcControl() {
|
||||
if (mLayoutArcs != nullptr) {
|
||||
release();
|
||||
}
|
||||
}
|
||||
|
||||
void LayoutArcControl::set(const char *const *layoutArcs, s32 numArcs) {
|
||||
mLayoutArcs = layoutArcs;
|
||||
mNumArcs = numArcs;
|
||||
}
|
||||
|
||||
bool LayoutArcControl::load(EGG::Heap *heap) const {
|
||||
if (mLayoutArcs == nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const char *const *ptr = mLayoutArcs;
|
||||
for (int i = 0; i < mNumArcs; i++) {
|
||||
LayoutArcManager::GetInstance()->loadLayoutArcFromDisk(*ptr, heap);
|
||||
ptr++;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LayoutArcControl::allLoaded() const {
|
||||
if (mLayoutArcs == nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const char *const *ptr = mLayoutArcs;
|
||||
for (int i = 0; i < mNumArcs; i++) {
|
||||
dArcResult_e res = LayoutArcManager::GetInstance()->ensureLoaded1(*ptr);
|
||||
if (res != D_ARC_RESULT_OK) {
|
||||
return false;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LayoutArcControl::release() {
|
||||
if (mLayoutArcs == nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const char *const *ptr = mLayoutArcs;
|
||||
for (int i = 0; i < mNumArcs; i++) {
|
||||
dArcResult_e res = LayoutArcManager::GetInstance()->ensureLoaded2(*ptr);
|
||||
if (res != D_ARC_RESULT_ERROR_NOT_FOUND && res != D_ARC_RESULT_OK) {
|
||||
return false;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
|
||||
ptr = mLayoutArcs;
|
||||
for (int i = 0; i < mNumArcs; i++) {
|
||||
LayoutArcManager::GetInstance()->decrement(*ptr);
|
||||
ptr++;
|
||||
}
|
||||
mLayoutArcs = nullptr;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -34,12 +34,12 @@ bool OarcManager::addEntryFromSuperArc(const char *object, void *data, EGG::Heap
|
||||
return mArcTable.addEntryFromSuperArc(object, data, 0, heap);
|
||||
}
|
||||
|
||||
int OarcManager::ensureLoaded1(const char *object) {
|
||||
dArcResult_e OarcManager::ensureLoaded1(const char *object) {
|
||||
return mArcTable.ensureLoadedMaybe2(object);
|
||||
}
|
||||
|
||||
void OarcManager::ensureLoaded2(const char *object) {
|
||||
mArcTable.ensureLoadedMaybe(object);
|
||||
dArcResult_e OarcManager::ensureLoaded2(const char *object) {
|
||||
return mArcTable.ensureLoadedMaybe(object);
|
||||
}
|
||||
|
||||
bool OarcManager::decrement(const char *path) {
|
||||
@@ -89,3 +89,52 @@ bool OarcManager::create(EGG::Heap *heap) {
|
||||
GetInstance()->init(heap);
|
||||
return true;
|
||||
}
|
||||
|
||||
ObjectArcControl::~ObjectArcControl() {
|
||||
if (mObjectArcs != nullptr) {
|
||||
release();
|
||||
}
|
||||
}
|
||||
|
||||
void ObjectArcControl::set(const char *const *objectArcs, s32 numArcs) {
|
||||
mObjectArcs = objectArcs;
|
||||
mNumArcs = numArcs;
|
||||
}
|
||||
|
||||
bool ObjectArcControl::load(EGG::Heap *heap) const {
|
||||
if (mObjectArcs == nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const char *const *ptr = mObjectArcs;
|
||||
for (int i = 0; i < mNumArcs; i++) {
|
||||
OarcManager::GetInstance()->loadObjectArcFromDisk(*ptr, heap);
|
||||
ptr++;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ObjectArcControl::release() {
|
||||
if (mObjectArcs == nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const char *const *ptr = mObjectArcs;
|
||||
for (int i = 0; i < mNumArcs; i++) {
|
||||
dArcResult_e res = OarcManager::GetInstance()->ensureLoaded2(*ptr);
|
||||
if (res != D_ARC_RESULT_ERROR_NOT_FOUND && res != D_ARC_RESULT_OK) {
|
||||
return false;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
|
||||
ptr = mObjectArcs;
|
||||
for (int i = 0; i < mNumArcs; i++) {
|
||||
OarcManager::GetInstance()->decrement(*ptr);
|
||||
ptr++;
|
||||
}
|
||||
mObjectArcs = nullptr;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user