Misc fixes (#2830)

* Replace DANPCF_C_HACK with a better fakematch

* d_a_obj_item OK

* Fix ninja diff

* Misc debug/nonmatching fixes

* Fix ninja diff for PAL

* Fix bad PAL split
This commit is contained in:
LagoLunatic
2025-11-19 14:10:03 -08:00
committed by GitHub
parent 8956be538e
commit 4cf2c7e37d
35 changed files with 187 additions and 233 deletions
+1 -2
View File
@@ -30,14 +30,13 @@
"build/*/baseline.json": true,
"build/**/*.MAP": true,
"build/**/*.o": true,
"build/**/*.s": true,
"build/**/*.plf": true,
"build/**/*.rel": true,
"orig/**/*.rel": true,
"build/**/*.lcf": true,
"build/**/*.preplf": true,
"build/**/*.d": true,
// "build/**/*.s": true,
"build/**/*.s": true,
"build/**/*.map": true,
"build/**/*.cpp": true,
"build/**/*.ctx": true,
@@ -463,8 +463,10 @@ mFindCount__10daNpc_Kn_c = .bss:0x00000110; // type:object size:0x4 scope:global
@5904 = .bss:0x00000114; // type:object size:0xC scope:local
l_HIO = .bss:0x00000120; // type:object size:0x4 scope:global data:4byte
@12316 = .bss:0x00000124; // type:object size:0xC scope:local
init$9794 = .bss:0x00000130; // type:object size:0x1 scope:local align:1
lightAParticleScale$12315 = .bss:0x00000134; // type:object size:0xC scope:local
@12320 = .bss:0x00000140; // type:object size:0xC scope:local
init$9798 = .bss:0x0000014C; // type:object size:0x1 scope:local align:1
lightALocalTrans$12319 = .bss:0x00000150; // type:object size:0xC scope:local
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x0000015C; // type:object size:0x4 scope:global
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000160; // type:object size:0x4 scope:global
@@ -111,4 +111,4 @@ __vt__12dBgS_ObjAcch = .data:0x0000021C; // type:object size:0x24 scope:global
__vt__8cM3dGAab = .data:0x00000240; // type:object size:0xC scope:global
__vt__8cM3dGSph = .data:0x0000024C; // type:object size:0xC scope:global
__vt__17dEvLib_callback_c = .data:0x00000258; // type:object size:0x18 scope:global
lbl_675_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
init$1953 = .bss:0x00000000; // type:object size:0x1 scope:local align:1
-10
View File
@@ -21705,18 +21705,8 @@ aram_cache_size = .sbss:0x80450C68; // type:object size:0x4 scope:global align:4
mSystemFar__14mDoLib_clipper = .sbss:0x80450C70; // type:object size:0x4 scope:global align:4 data:float
mFovyRate__14mDoLib_clipper = .sbss:0x80450C74; // type:object size:0x4 scope:global align:4 data:float
mResetData__6mDoRst = .sbss:0x80450C78; // type:object size:0x4 scope:global align:4 data:4byte
struct_80450C7C = .sbss:0x80450C7C; // type:object size:0x1 scope:global align:1
struct_80450C7D = .sbss:0x80450C7D; // type:object size:0x1 scope:global align:1
struct_80450C7E = .sbss:0x80450C7E; // type:object size:0x1 scope:global align:1
struct_80450C7F = .sbss:0x80450C7F; // type:object size:0x1 scope:global align:1
SyncWidthSound__9mDoDvdThd = .sbss:0x80450C80; // type:object size:0x1 scope:global align:1 data:byte
sDefaultDirection = .sbss:0x80450C81; // type:object size:0x1 scope:global align:1 data:byte
struct_80450C82 = .sbss:0x80450C82; // type:object size:0x1 scope:global align:1
struct_80450C83 = .sbss:0x80450C83; // type:object size:0x1 scope:global align:1
struct_80450C84 = .sbss:0x80450C84; // type:object size:0x1 scope:global align:1
struct_80450C85 = .sbss:0x80450C85; // type:object size:0x1 scope:global align:1
struct_80450C86 = .sbss:0x80450C86; // type:object size:0x1 scope:global align:1
struct_80450C87 = .sbss:0x80450C87; // type:object size:0x1 scope:global align:1
mDoDvdErr_initialized = .sbss:0x80450C88; // type:object size:0x1 scope:global align:1 data:byte
sConsole = .sbss:0x80450C90; // type:object size:0x4 scope:local align:4 data:4byte
cDmr_SkipInfo = .sbss:0x80450C98; // type:object size:0x1 scope:global align:1
+1 -1
View File
@@ -114,7 +114,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
l_HIOInit = .bss:0x00000045; // type:object size:0x1 data:byte scope:local
l_HIOInit = .bss:0x00000045; // type:object size:0x1 scope:local data:byte
@3657 = .bss:0x00000048; // type:object size:0xC scope:local
l_HIO = .bss:0x00000054; // type:object size:0x24 scope:global data:byte
mFireTimer = .bss:0x00000078; // type:object size:0x4 scope:global data:4byte
+2 -1
View File
@@ -788,7 +788,7 @@ d/actor/d_a_npc_cd2.cpp:
.rodata start:0x80394A50 end:0x80395588
.data start:0x803B7EA0 end:0x803BBA80
.bss start:0x8042A5B0 end:0x8042E898
.sbss start:0x80452FC0 end:0x80452FD8
.sbss start:0x80452FC0 end:0x80452FD0
.sdata2 start:0x804554A0 end:0x80455510
d/actor/d_a_obj_item.cpp:
@@ -797,6 +797,7 @@ d/actor/d_a_obj_item.cpp:
.rodata start:0x80395588 end:0x80395598
.data start:0x803BBA80 end:0x803BBD58
.sdata start:0x80452668 end:0x80452670
.sbss start:0x80452FD0 end:0x80452FD8
.sdata2 start:0x80455510 end:0x804555A0
d/d_insect.cpp:
+2 -2
View File
@@ -17486,7 +17486,7 @@ j2dDefaultIndTevStageInfo = .rodata:0x803A38D4; // type:object size:0xC scope:gl
@1849 = .rodata:0x803A3900; // type:object size:0x10 scope:local align:4 data:4byte
@3028 = .rodata:0x803A3910; // type:object size:0x10 scope:local align:4 data:4byte
@3037 = .rodata:0x803A3920; // type:object size:0x14 scope:local align:4 data:4byte
@stringBase0 = .rodata:0x803A3938; // type:object size:0x4 scope:local align:4 data:string_table
@stringBase0 = .rodata:0x803A3938; // type:object size:0x3 scope:local align:4 data:string_table
...rodata.0 = .rodata:0x803A3940; // type:label scope:local align:4
@1508 = .rodata:0x803A3940; // type:object size:0x10 scope:local align:4 data:4byte
@1557 = .rodata:0x803A3950; // type:object size:0x10 scope:local align:4
@@ -21954,7 +21954,7 @@ lbl_80452FC0 = .sbss:0x80452FC0; // type:object size:0x1 data:byte
target = .sbss:0x80452FC4; // type:object size:0x4 scope:global align:4 data:4byte
targetWay = .sbss:0x80452FC8; // type:object size:0x4 scope:global align:4 data:float
wolfAngle = .sbss:0x80452FCC; // type:object size:0x2 scope:global align:4 data:2byte
lbl_80452FD0 = .sbss:0x80452FD0; // type:object size:0x1 data:byte
init$2639 = .sbss:0x80452FD0; // type:object size:0x1 scope:local align:1 data:byte
m_midnaActor__9daPy_py_c = .sbss:0x80452FD8; // type:object size:0x4 scope:global align:4 data:4byte
m_dropAngleY__20daPy_boomerangMove_c = .sbss:0x80452FDC; // type:object size:0x2 scope:global align:2 data:2byte
m_eventKeepFlg__20daPy_boomerangMove_c = .sbss:0x80452FDE; // type:object size:0x2 scope:global align:2 data:2byte
@@ -582,5 +582,7 @@ mFindActorPtrs__10daNpc_Kn_c = .bss:0x00000098; // type:object size:0xC8 scope:g
mFindCount__10daNpc_Kn_c = .bss:0x00000160; // type:object size:0x4 scope:global
@126080 = .bss:0x00000164; // type:object size:0xC scope:local
l_HIO = .bss:0x00000170; // type:object size:0xBC scope:global
@GUARD@setSwordChargePtcl__10daNpc_Kn_cFv@lightAParticleScale = .bss:0x0000022C; // type:object size:0x1 scope:local align:1
@LOCAL@setSwordChargePtcl__10daNpc_Kn_cFv@lightAParticleScale = .bss:0x00000230; // type:object size:0xC scope:local
@GUARD@setSwordChargePtcl__10daNpc_Kn_cFv@lightALocalTrans@0 = .bss:0x0000023C; // type:object size:0x1 scope:local align:1
@LOCAL@setSwordChargePtcl__10daNpc_Kn_cFv@lightALocalTrans@0 = .bss:0x00000240; // type:object size:0xC scope:local
+40 -45
View File
@@ -461,11 +461,6 @@ def MatchingFor(*versions) -> bool:
return config.version in versions
# For whatever reason, daNpcF_c::daNpcF_c gets inlined.
# Using the following prevents that from happening:
# TODO: This is just a temporary hack and should be looked into more extensively in the future
DANPCF_C_HACK = '-pragma "inline_max_size(494)"'
config.warn_missing_config = True
config.warn_missing_source = False
config.precompiled_headers = [
@@ -680,7 +675,7 @@ config.libs = [
Object(NonMatching, "d/actor/d_a_npc.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/actor/d_a_npc_cd.cpp"),
Object(NonMatching, "d/actor/d_a_npc_cd2.cpp"),
Object(NonMatching, "d/actor/d_a_obj_item.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/actor/d_a_obj_item.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_insect.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/actor/d_a_obj_ss_base.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/actor/d_a_player.cpp"),
@@ -1612,7 +1607,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_vrbox"),
ActorRel(NonMatching, "d_a_vrbox2"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_arrow"),
ActorRel(NonMatching, "d_a_boomerang"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_boomerang"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_crod"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_demo00"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_disappear"),
@@ -1850,48 +1845,48 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_myna"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_ni"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_aru"),
ActorRel(Equivalent, "d_a_npc_ash", extra_cflags=[DANPCF_C_HACK]), # weak func order
ActorRel(Equivalent, "d_a_npc_ashB", extra_cflags=[DANPCF_C_HACK]), # weak func order
ActorRel(Equivalent, "d_a_npc_ash"), # weak func order
ActorRel(Equivalent, "d_a_npc_ashB"), # weak func order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_bans"),
ActorRel(NonMatching, "d_a_npc_blue_ns", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_blue_ns"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_bou"),
ActorRel(Equivalent, "d_a_npc_bouS", extra_cflags=[DANPCF_C_HACK]), # weak func order
ActorRel(Equivalent, "d_a_npc_bouS"), # weak func order
ActorRel(NonMatching, "d_a_npc_cdn3"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_chat", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_chin", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_chat"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_chin"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_clerka"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_clerkb"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_clerkt"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_coach"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_df"),
ActorRel(NonMatching, "d_a_npc_doc"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_doorboy", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_drainSol", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_doorboy"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_drainSol"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_du"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_fairy"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_fguard"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_gnd"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_gra", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grc", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grd", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_gra"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grc"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grd"),
ActorRel(NonMatching, "d_a_npc_grm"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grmc"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_gro", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grr", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grs", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grz", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_gro"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grr"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grs"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_grz"),
ActorRel(NonMatching, "d_a_npc_guard"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_gwolf", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_gwolf"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_hanjo"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01", "Shield"), "d_a_npc_henna0"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_hoz"),
ActorRel(Equivalent, "d_a_npc_impal", extra_cflags=[DANPCF_C_HACK]), # weak func order
ActorRel(Equivalent, "d_a_npc_impal"), # weak func order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_inko"),
ActorRel(Equivalent, "d_a_npc_ins", extra_cflags=[DANPCF_C_HACK]), # weak func order
ActorRel(Equivalent, "d_a_npc_ins"), # weak func order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_jagar"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_kasi_hana", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_kasi_kyu", extra_cflags=[DANPCF_C_HACK]),
ActorRel(Equivalent, "d_a_npc_kasi_mich", extra_cflags=[DANPCF_C_HACK]), # idk this why can't link
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_kasi_hana"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_kasi_kyu"),
ActorRel(Equivalent, "d_a_npc_kasi_mich"), # idk this why can't link
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01", "Shield"), "d_a_npc_kdk"),
ActorRel(NonMatching, "d_a_npc_kn"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_knj"),
@@ -1904,8 +1899,8 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_midp"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01", "ShieldD"), "d_a_npc_mk"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_moi"),
ActorRel(NonMatching, "d_a_npc_moir", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_myna2", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_moir"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_myna2"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_ne"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01", "ShieldD"), "d_a_npc_p2"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_pachi_besu"),
@@ -1915,9 +1910,9 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_passer2"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_post"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_pouya"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_prayer", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_prayer"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_raca"),
ActorRel(Equivalent, "d_a_npc_rafrel", extra_cflags=[DANPCF_C_HACK]), # weak func order
ActorRel(Equivalent, "d_a_npc_rafrel"), # weak func order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_saru"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seib"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seic"),
@@ -1925,26 +1920,26 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seira"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seira2"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_seirei"),
ActorRel(Equivalent, "d_a_npc_shad", extra_cflags=[DANPCF_C_HACK]), # weak func order
ActorRel(Equivalent, "d_a_npc_shad"), # weak func order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_shaman"),
ActorRel(NonMatching, "d_a_npc_shoe", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_shoe"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_shop0"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_shop_maro"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_sola"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_soldierA", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_soldierB", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_soldierA"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_soldierB"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_sq"),
ActorRel(NonMatching, "d_a_npc_the", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_theB", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_the"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_theB"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_tk"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_tkc", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_tkc"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_tkj2"),
ActorRel(NonMatching, "d_a_npc_tks", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_tks"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_toby"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_tr"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_uri"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_worm"),
ActorRel(NonMatching, "d_a_npc_wrestler", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_wrestler"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_yamid"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_yamis"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_yamit"),
@@ -1956,9 +1951,9 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_zelR"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_zelRo"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_zelda"),
ActorRel(Equivalent, "d_a_npc_zra", extra_cflags=[DANPCF_C_HACK]), # weak func order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_zrc", extra_cflags=[DANPCF_C_HACK]),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_zrz", extra_cflags=[DANPCF_C_HACK]),
ActorRel(Equivalent, "d_a_npc_zra"), # weak func order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_zrc"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_zrz"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_Lv5Key"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_Turara"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_TvCdlst"),
@@ -2226,7 +2221,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_thashi"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_thdoor"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_timeFire"),
ActorRel(Equivalent, "d_a_obj_tks", extra_cflags=[DANPCF_C_HACK]), # weak function order
ActorRel(Equivalent, "d_a_obj_tks"), # weak function order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_tmoon"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_toaru_maki"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_toby"),
+2 -2
View File
@@ -488,8 +488,8 @@ template <typename T>
struct TBox2 : public TBox<TVec2<T> > {
TBox2() {}
TBox2(const TVec2<f32>& _i, const TVec2<f32>& _f) {
i.set(_i);
f.set(_f);
TBox<TVec2<T> >::i.set(_i);
TBox<TVec2<T> >::f.set(_f);
}
TBox2(f32 x0, f32 y0, f32 x1, f32 y1) { set(x0, y0, x1, y1); }
+4 -5
View File
@@ -488,10 +488,6 @@ public:
void setIdx(int i_idx) { mIdx = i_idx; }
const int getIdx() { return mIdx; }
#if VERSION != VERSION_SHIELD_DEBUG
// fakematch inline to fix daNpcT_Path_c::chkPassed1
const u16 get_u16_Idx() { return mIdx; }
#endif
dPath* getPathInfo() { return mPathInfo; }
@@ -1149,7 +1145,10 @@ public:
/* 5 */ LOOK_ATTN,
};
daNpcF_c() { initialize(); }
daNpcF_c() {
FORCE_DONT_INLINE;
initialize();
}
/* 80152014 */ BOOL execute();
/* 801522AC */ int draw(BOOL, BOOL, f32, _GXColorS10*, BOOL);
/* 80152614 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*,
+5 -4
View File
@@ -41,9 +41,9 @@ public:
/* 80B9E388 */ int Draw();
/* 80B9E478 */ int Delete();
u8 getSwBit1() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getSwBit3() { return fopAcM_GetParamBit(this, 16, 8); }
int getSwBit1() { return fopAcM_GetParamBit(this, 0, 8); }
int getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
int getSwBit3() { return fopAcM_GetParamBit(this, 16, 8); }
s32 getEvetID() {
return fopAcM_GetParamBit(this, 0x18, 8);
@@ -51,6 +51,7 @@ public:
u8 getWaitTime() { return shape_angle.z; }
int getItemTbleNum() { return shape_angle.x >> 8 & 0xff; }
int getState() { return shape_angle.x; }
static const dCcD_SrcGObjInf mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
@@ -76,7 +77,7 @@ private:
/* 0x7a8 */ dBgS_ObjAcch mAcch;
/* 0x980 */ dBgW* field_0x980;
/* 0x984 */ u8 field_0x984;
/* 0x988 */ u32 field_0x988;
/* 0x988 */ u32 mEmID;
/* 0x98c */ u8 field_0x98c;
/* 0x98d */ u8 field_0x98d[0x994 - 0x98d];
/* 0x994 */ u8 field_0x994;
+19
View File
@@ -75,4 +75,23 @@ void* __memcpy(void*, const void*, int);
#define READU32_BE(ptr, offset) \
(((u32)ptr[offset] << 24) | ((u32)ptr[offset + 1] << 16) | ((u32)ptr[offset + 2] << 8) | (u32)ptr[offset + 3]);
// Hack to trick the compiler into not inlining functions that use this macro.
#define FORCE_DONT_INLINE \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; \
(void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0; (void*)0;
#endif
+1 -4
View File
@@ -658,10 +658,7 @@ bool J2DWindowEx::setBlackWhite(JUtility::TColor black, JUtility::TColor white)
return false;
}
bool bVar1 = false;
if ((u32)black != 0 || (u32)white != 0xffffffff) {
bVar1 = true;
}
bool bVar1 = (u32)black != 0 || (u32)white != 0xffffffff;
u8 uVar3 = bVar1 ? 2 : 1;
for (int i = 0; i < 4; i++) {
mFrameMaterial[i]->getTevBlock()->setTevStageNum(uVar3);
+1 -1
View File
@@ -118,7 +118,7 @@ bool JASHeap::free() {
JSUTreeIterator<JASHeap> stack_20;
for (JSUTreeIterator<JASHeap> it(mTree.getFirstChild()); it != mTree.getEndChild(); it = stack_20) {
stack_20 = it;
stack_20++;
++stack_20;
it->free();
}
JSUTree<JASHeap>* parentTree = mTree.getParent();
+3 -3
View File
@@ -155,7 +155,7 @@ void TObject::prepare(data::TParse_TBlock const& rBlock, TControl* pControl) {
JGADGET_WARNMSG(211, "unknown paragraph : " << u32Type);
}
pData = dat.next;
JUT_ASSERT(214, pData!=0);
JUT_ASSERT(214, pData!=NULL);
}
end:
JGADGET_ASSERTWARN(216, pData==pNext);
@@ -414,7 +414,7 @@ bool TParse::parseHeader_next(void const** ppData_inout, u32* puBlock_out, u32 f
ASSERT(puBlock_out != 0);
const void* pData = *ppData_inout;
ASSERT(pData != 0);
ASSERT(pData != NULL);
const data::TParse_THeader header(pData);
*ppData_inout = header.getContent();
@@ -449,7 +449,7 @@ bool TParse::parseBlock_next(void const** ppData_inout, u32* puData_out, u32 fla
ASSERT(puData_out != 0);
const void* pData = *ppData_inout;
ASSERT(pData != 0);
ASSERT(pData != NULL);
data::TParse_TBlock blk(pData);
*ppData_inout = blk.getNext();
*puData_out = blk.get_size();
@@ -14,7 +14,7 @@ namespace stb {
namespace data {
void TParse_TSequence::getData(TData* pData) const {
ASSERT(pData != 0);
ASSERT(pData != NULL);
pData->content = NULL;
pData->next = NULL;
@@ -35,7 +35,7 @@ void TParse_TSequence::getData(TData* pData) const {
}
void TParse_TParagraph::getData(TData* pData) const {
ASSERT(pData != 0);
ASSERT(pData != NULL);
const void* data = getRaw();
u32 result;
+30 -25
View File
@@ -198,29 +198,31 @@ void TObject::process_sequence_() {
switch (type) {
case 0:
JUT_EXPECT(u32Value == 0);
JUT_EXPECT(pContent == 0);
JUT_EXPECT(pContent == NULL);
break;
case 1:
JUT_EXPECT(pContent == 0);
JUT_EXPECT(pContent == NULL);
setFlag_operation_(u32Value);
break;
case 2:
JUT_EXPECT(pContent == 0);
JUT_EXPECT(pContent == NULL);
setWait(u32Value);
break;
case 3:
JUT_EXPECT(pContent == 0);
case 3: {
JUT_EXPECT(pContent == NULL);
s32 off = toInt32FromUInt24_(u32Value);
void* nextseq = (void*)getSequence_offset(off);
setSequence_next(nextseq);
break;
case 4:
JUT_EXPECT(pContent == 0);
}
case 4: {
JUT_EXPECT(pContent == NULL);
u32 val = toInt32FromUInt24_(u32Value);
suspend(val);
break;
case 0x80:
ASSERT(pContent != 0);
}
case 0x80: {
ASSERT(pContent != NULL);
void* p = (void*)pContent;
data::TParse_TParagraph para(NULL);
while (p < pNext) {
@@ -234,10 +236,11 @@ void TObject::process_sequence_() {
on_paragraph(para_dat.type, para_dat.content, para_dat.param);
}
p = (void*)para_dat.next;
ASSERT(p != 0);
ASSERT(p != NULL);
}
JUT_EXPECT(p == pNext);
break;
}
default:
JUTWarn w;
w << "unknown sequence : " << dat.type;
@@ -248,32 +251,34 @@ void TObject::process_sequence_() {
void TObject::process_paragraph_reserved_(u32 arg1, const void* pContent, u32 uSize) {
switch (arg1) {
case 0x1:
ASSERT(pContent != 0);
ASSERT(pContent != NULL);
ASSERT(uSize == 4);
setFlag_operation_(*(u32*)pContent);
break;
case 0x2:
ASSERT(pContent != 0);
ASSERT(pContent != NULL);
ASSERT(uSize == 4);
setWait(*(u32*)pContent);
break;
case 0x3:
ASSERT(pContent != 0);
case 0x3: {
ASSERT(pContent != NULL);
ASSERT(uSize == 4);
const void* seq = getSequence_offset(*(s32*)pContent);
setSequence_next(seq);
break;
}
case 0x80:
on_data(NULL, 0, pContent, uSize);
break;
case 0x81:
case 0x81: {
data::TParse_TParagraph_dataID dataID(pContent);
const void* temp = dataID.getContent();
on_data(dataID.get_ID(), dataID.get_IDSize(), temp,
uSize - ((uintptr_t)temp - (uintptr_t)dataID.getRaw()));
break;
}
case 0x82:
ASSERT(pContent != 0);
ASSERT(pContent != NULL);
break;
}
}
@@ -300,7 +305,7 @@ void TControl::appendObject(TObject* p) {
}
void TControl::removeObject(TObject* p) {
ASSERT(p != 0);
ASSERT(p != NULL);
ASSERT(p->getControl() == this);
p->setControl_(NULL);
mObjectContainer.Erase(p);
@@ -308,7 +313,7 @@ void TControl::removeObject(TObject* p) {
void TControl::destroyObject(TObject* p) {
removeObject(p);
ASSERT(pFactory != 0);
ASSERT(pFactory != NULL);
pFactory->destroy(p);
}
@@ -376,11 +381,11 @@ TParse::TParse(TControl* pControl) : pControl(pControl) {}
TParse::~TParse() {}
bool TParse::parseHeader_next(const void** ppData_inout, u32* puBlock_out, u32 flags) {
ASSERT(ppData_inout != 0);
ASSERT(puBlock_out != 0);
ASSERT(ppData_inout != NULL);
ASSERT(puBlock_out != NULL);
const void* pData = *ppData_inout;
ASSERT(pData != 0);
ASSERT(pData != NULL);
const data::TParse_THeader header(pData);
*ppData_inout = header.getContent();
@@ -411,11 +416,11 @@ bool TParse::parseHeader_next(const void** ppData_inout, u32* puBlock_out, u32 f
}
bool TParse::parseBlock_next(void const** ppData_inout, u32* puData_out, u32 flags) {
ASSERT(ppData_inout != 0);
ASSERT(puData_out != 0);
ASSERT(ppData_inout != NULL);
ASSERT(puData_out != NULL);
const void* pData = *ppData_inout;
ASSERT(pData != 0);
ASSERT(pData != NULL);
data::TParse_TBlock blk(pData);
*ppData_inout = blk.getNext();
@@ -433,7 +438,7 @@ bool TParse::parseBlock_block(const data::TParse_TBlock& ppBlock, u32 flags) {
bool TParse::parseBlock_object(const data::TParse_TBlock_object& ppObject, u32 flags) {
TControl* pControl = getControl();
ASSERT(pControl != 0);
ASSERT(pControl != NULL);
if (ppObject.get_type() == data::BLOCK_NONE) {
TObject_control& ref = pControl->referObject_control();
+1
View File
@@ -1259,6 +1259,7 @@ static int daArrow_delete(daArrow_c* i_this) {
}
AUDIO_INSTANCES;
template<>
JAUSectionHeap* JASGlobalInstance<JAUSectionHeap>::sInstance;
/* 8049DE8C-8049DEAC -00001 0020+00 1/0 0/0 0/0 .data l_daArrowMethodTable */
+1
View File
@@ -5724,4 +5724,5 @@ extern actor_process_profile_definition g_profile_B_ZANT = {
};
AUDIO_INSTANCES;
template<>
JAUSectionHeap* JASGlobalInstance<JAUSectionHeap>::sInstance;

Some files were not shown because too many files have changed in this diff Show More