mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
phase-37: T3 (in progress) — the engine's first bank: tools/struct_layout.py (the layout engine + the writer + the naming invariant), delever_oracle's LINKED mode (the build's own ld on the candidate object; f3 known-true + negative; the snapshot guard that caught T2's contaminated build/ object), tools/restruct.py (rungs S/S2/S+A/X/R/D/L, the ledger, inflight restore, selftest 48/48 + --real 51/51); rung D batch t3d1 on ov_SC04_011: 258 units — 242 canonical / 6 K&R marked / 16 kept | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T3 in progress (S107)
This commit is contained in:
@@ -559,6 +559,8 @@ unsloth_compiled_cache/
|
||||
/.run/P37/restruct/*
|
||||
!/.run/P37/restruct/*.log
|
||||
!/.run/P37/restruct/*.json
|
||||
# the argcheck rows cached on the src stamp — regenerable (a trailing comment on a pattern line is PART of the pattern: own line)
|
||||
/.run/P37/restruct/argcheck_cache.json
|
||||
/.run/P37/restruct/inflight.json
|
||||
/.run/P37/restruct/includers_cache.json
|
||||
!/.run/P37/restruct/*.jsonl
|
||||
|
||||
+154
-154
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"head": "db212f167",
|
||||
"head": "775a3eafb",
|
||||
"stamp": "e34b6679685f",
|
||||
"generated": "2026-09-11 22:44",
|
||||
"generated": "2026-09-12 08:50",
|
||||
"aliases": [
|
||||
"main",
|
||||
"md_SC07_004",
|
||||
@@ -21,177 +21,177 @@
|
||||
"main": {
|
||||
"objects": 85,
|
||||
"identical": 85,
|
||||
"seconds": 9.177000000000001,
|
||||
"mean_s": 0.108
|
||||
"seconds": 6.561000000000001,
|
||||
"mean_s": 0.077
|
||||
},
|
||||
"md_SC07_004": {
|
||||
"objects": 1,
|
||||
"identical": 1,
|
||||
"seconds": 0.504,
|
||||
"mean_s": 0.504
|
||||
"seconds": 0.506,
|
||||
"mean_s": 0.506
|
||||
},
|
||||
"ov_SC02_005": {
|
||||
"objects": 33,
|
||||
"identical": 33,
|
||||
"seconds": 5.014000000000002,
|
||||
"mean_s": 0.152
|
||||
"seconds": 4.772999999999999,
|
||||
"mean_s": 0.145
|
||||
},
|
||||
"ov_SC04_011": {
|
||||
"objects": 28,
|
||||
"identical": 28,
|
||||
"seconds": 4.561,
|
||||
"mean_s": 0.163
|
||||
"seconds": 3.776,
|
||||
"mean_s": 0.135
|
||||
}
|
||||
},
|
||||
"per_object_seconds": {
|
||||
"build/src/800.o": 0.662,
|
||||
"build/src/800_b.o": 0.21,
|
||||
"build/src/800_b_2.o": 0.365,
|
||||
"build/src/800_b_o0a.o": 0.19,
|
||||
"build/src/800_c.o": 0.312,
|
||||
"build/src/800b2.o": 0.258,
|
||||
"build/src/apicard1.o": 0.246,
|
||||
"build/src/apicard2.o": 0.243,
|
||||
"build/src/apicard3.o": 0.253,
|
||||
"build/src/apicard4.o": 0.243,
|
||||
"build/src/apicard5.o": 0.242,
|
||||
"build/src/apicard6.o": 0.244,
|
||||
"build/src/apicard7.o": 0.237,
|
||||
"build/src/boot.o": 0.272,
|
||||
"build/src/gap.o": 0.236,
|
||||
"build/src/libapi1.o": 0.225,
|
||||
"build/src/libapi2.o": 0.066,
|
||||
"build/src/libc2_1.o": 0.067,
|
||||
"build/src/libc2_2.o": 0.061,
|
||||
"build/src/libcd1.o": 0.111,
|
||||
"build/src/libcd2.o": 0.067,
|
||||
"build/src/libetc.o": 0.06,
|
||||
"build/src/libgpu.o": 0.071,
|
||||
"build/src/libgpu2.o": 0.073,
|
||||
"build/src/libgs1.o": 0.097,
|
||||
"build/src/libgs2.o": 0.066,
|
||||
"build/src/libgs3.o": 0.056,
|
||||
"build/src/libgs4.o": 0.094,
|
||||
"build/src/libgs5.o": 0.059,
|
||||
"build/src/libgs6.o": 0.084,
|
||||
"build/src/libgs7.o": 0.06,
|
||||
"build/src/libgs8.o": 0.068,
|
||||
"build/src/libgte1.o": 0.067,
|
||||
"build/src/libgte10.o": 0.061,
|
||||
"build/src/libgte11.o": 0.06,
|
||||
"build/src/libgte12.o": 0.059,
|
||||
"build/src/libgte13.o": 0.072,
|
||||
"build/src/libgte14.o": 0.066,
|
||||
"build/src/libgte15.o": 0.066,
|
||||
"build/src/libgte16.o": 0.073,
|
||||
"build/src/libgte17.o": 0.068,
|
||||
"build/src/libgte18.o": 0.067,
|
||||
"build/src/libgte19.o": 0.068,
|
||||
"build/src/libgte2.o": 0.072,
|
||||
"build/src/libgte20.o": 0.073,
|
||||
"build/src/libgte21.o": 0.068,
|
||||
"build/src/libgte22.o": 0.067,
|
||||
"build/src/libgte23.o": 0.066,
|
||||
"build/src/800.o": 0.719,
|
||||
"build/src/800_b.o": 0.076,
|
||||
"build/src/800_b_2.o": 0.286,
|
||||
"build/src/800_b_o0a.o": 0.076,
|
||||
"build/src/800_c.o": 0.178,
|
||||
"build/src/800b2.o": 0.068,
|
||||
"build/src/apicard1.o": 0.065,
|
||||
"build/src/apicard2.o": 0.064,
|
||||
"build/src/apicard3.o": 0.069,
|
||||
"build/src/apicard4.o": 0.071,
|
||||
"build/src/apicard5.o": 0.073,
|
||||
"build/src/apicard6.o": 0.069,
|
||||
"build/src/apicard7.o": 0.059,
|
||||
"build/src/boot.o": 0.103,
|
||||
"build/src/gap.o": 0.086,
|
||||
"build/src/libapi1.o": 0.062,
|
||||
"build/src/libapi2.o": 0.057,
|
||||
"build/src/libc2_1.o": 0.061,
|
||||
"build/src/libc2_2.o": 0.062,
|
||||
"build/src/libcd1.o": 0.075,
|
||||
"build/src/libcd2.o": 0.06,
|
||||
"build/src/libetc.o": 0.07,
|
||||
"build/src/libgpu.o": 0.062,
|
||||
"build/src/libgpu2.o": 0.065,
|
||||
"build/src/libgs1.o": 0.07,
|
||||
"build/src/libgs2.o": 0.063,
|
||||
"build/src/libgs3.o": 0.061,
|
||||
"build/src/libgs4.o": 0.056,
|
||||
"build/src/libgs5.o": 0.058,
|
||||
"build/src/libgs6.o": 0.077,
|
||||
"build/src/libgs7.o": 0.062,
|
||||
"build/src/libgs8.o": 0.061,
|
||||
"build/src/libgte1.o": 0.065,
|
||||
"build/src/libgte10.o": 0.065,
|
||||
"build/src/libgte11.o": 0.063,
|
||||
"build/src/libgte12.o": 0.06,
|
||||
"build/src/libgte13.o": 0.066,
|
||||
"build/src/libgte14.o": 0.067,
|
||||
"build/src/libgte15.o": 0.071,
|
||||
"build/src/libgte16.o": 0.054,
|
||||
"build/src/libgte17.o": 0.066,
|
||||
"build/src/libgte18.o": 0.065,
|
||||
"build/src/libgte19.o": 0.061,
|
||||
"build/src/libgte2.o": 0.062,
|
||||
"build/src/libgte20.o": 0.06,
|
||||
"build/src/libgte21.o": 0.062,
|
||||
"build/src/libgte22.o": 0.066,
|
||||
"build/src/libgte23.o": 0.063,
|
||||
"build/src/libgte24.o": 0.067,
|
||||
"build/src/libgte25.o": 0.068,
|
||||
"build/src/libgte26.o": 0.066,
|
||||
"build/src/libgte25.o": 0.062,
|
||||
"build/src/libgte26.o": 0.062,
|
||||
"build/src/libgte27.o": 0.065,
|
||||
"build/src/libgte28.o": 0.067,
|
||||
"build/src/libgte29.o": 0.063,
|
||||
"build/src/libgte3.o": 0.07,
|
||||
"build/src/libgte30.o": 0.067,
|
||||
"build/src/libgte4.o": 0.063,
|
||||
"build/src/libgte5.o": 0.066,
|
||||
"build/src/libgte6.o": 0.061,
|
||||
"build/src/libgte7.o": 0.067,
|
||||
"build/src/libgte8.o": 0.066,
|
||||
"build/src/libgte9.o": 0.062,
|
||||
"build/src/libmcrd1.o": 0.075,
|
||||
"build/src/libmcrd2.o": 0.067,
|
||||
"build/src/libpad1.o": 0.075,
|
||||
"build/src/libpad2.o": 0.075,
|
||||
"build/src/sgap.o": 0.069,
|
||||
"build/src/sgap_2.o": 0.065,
|
||||
"build/src/sgap_3.o": 0.075,
|
||||
"build/src/sgap_4.o": 0.074,
|
||||
"build/src/sgap_5.o": 0.066,
|
||||
"build/src/sgap_6.o": 0.062,
|
||||
"build/src/sgap_8.o": 0.073,
|
||||
"build/src/snd1.o": 0.076,
|
||||
"build/src/snd10.o": 0.063,
|
||||
"build/src/snd11.o": 0.064,
|
||||
"build/src/snd12.o": 0.062,
|
||||
"build/src/snd2.o": 0.07,
|
||||
"build/src/snd3.o": 0.067,
|
||||
"build/src/snd4.o": 0.07,
|
||||
"build/src/snd5.o": 0.068,
|
||||
"build/src/snd6.o": 0.067,
|
||||
"build/src/snd7.o": 0.069,
|
||||
"build/src/libgte28.o": 0.054,
|
||||
"build/src/libgte29.o": 0.068,
|
||||
"build/src/libgte3.o": 0.061,
|
||||
"build/src/libgte30.o": 0.065,
|
||||
"build/src/libgte4.o": 0.055,
|
||||
"build/src/libgte5.o": 0.067,
|
||||
"build/src/libgte6.o": 0.065,
|
||||
"build/src/libgte7.o": 0.058,
|
||||
"build/src/libgte8.o": 0.062,
|
||||
"build/src/libgte9.o": 0.066,
|
||||
"build/src/libmcrd1.o": 0.072,
|
||||
"build/src/libmcrd2.o": 0.063,
|
||||
"build/src/libpad1.o": 0.066,
|
||||
"build/src/libpad2.o": 0.071,
|
||||
"build/src/sgap.o": 0.061,
|
||||
"build/src/sgap_2.o": 0.067,
|
||||
"build/src/sgap_3.o": 0.062,
|
||||
"build/src/sgap_4.o": 0.075,
|
||||
"build/src/sgap_5.o": 0.064,
|
||||
"build/src/sgap_6.o": 0.065,
|
||||
"build/src/sgap_8.o": 0.069,
|
||||
"build/src/snd1.o": 0.064,
|
||||
"build/src/snd10.o": 0.062,
|
||||
"build/src/snd11.o": 0.063,
|
||||
"build/src/snd12.o": 0.063,
|
||||
"build/src/snd2.o": 0.076,
|
||||
"build/src/snd3.o": 0.053,
|
||||
"build/src/snd4.o": 0.066,
|
||||
"build/src/snd5.o": 0.065,
|
||||
"build/src/snd6.o": 0.081,
|
||||
"build/src/snd7.o": 0.062,
|
||||
"build/src/snd8.o": 0.067,
|
||||
"build/src/snd9.o": 0.069,
|
||||
"build/src/md_SC07_004/md_SC07_004.o": 0.504,
|
||||
"build/src/ov_SC02_005/ov_SC02_005.o": 0.127,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_after.o": 0.53,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.o": 0.402,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80135888.o": 0.058,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80135A4C.o": 0.059,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80135D20.o": 0.142,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_801380E0.o": 0.169,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8013C98C.o": 0.123,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8013F350.o": 0.082,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8013FFD8.o": 0.071,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80140608.o": 0.19,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8015444C.o": 0.073,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80154C24.o": 0.171,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_801588CC.o": 0.099,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80159C84.o": 0.074,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8015A3C8.o": 0.087,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8015AE2C.o": 0.1,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8015C32C.o": 0.474,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8016AB6C.o": 0.281,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80171B4C.o": 0.11,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_801734BC.o": 0.209,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_801789AC.o": 0.058,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80178D40.o": 0.101,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8017A4AC.o": 0.091,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8017AE2C.o": 0.115,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.o": 0.177,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80181984.o": 0.064,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80181D30.o": 0.146,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80185060.o": 0.073,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80185E80.o": 0.313,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8018EA04.o": 0.11,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_o0b.o": 0.062,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_o0c.o": 0.073,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.131,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.521,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.51,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.05,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.053,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.119,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.155,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.107,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.072,
|
||||
"build/src/snd9.o": 0.067,
|
||||
"build/src/md_SC07_004/md_SC07_004.o": 0.506,
|
||||
"build/src/ov_SC02_005/ov_SC02_005.o": 0.126,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_after.o": 0.525,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8012ACE0.o": 0.395,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80135888.o": 0.062,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80135A4C.o": 0.06,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80135D20.o": 0.129,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_801380E0.o": 0.167,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8013C98C.o": 0.121,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8013F350.o": 0.079,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8013FFD8.o": 0.07,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80140608.o": 0.183,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8015444C.o": 0.076,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80154C24.o": 0.157,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_801588CC.o": 0.098,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80159C84.o": 0.066,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8015A3C8.o": 0.071,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8015AE2C.o": 0.092,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8015C32C.o": 0.461,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8016AB6C.o": 0.264,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80171B4C.o": 0.098,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_801734BC.o": 0.193,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_801789AC.o": 0.059,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80178D40.o": 0.102,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8017A4AC.o": 0.064,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8017AE2C.o": 0.111,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8017CF90.o": 0.167,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80181984.o": 0.062,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80181D30.o": 0.138,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80185060.o": 0.068,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_80185E80.o": 0.274,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_jr_8018EA04.o": 0.115,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_o0b.o": 0.052,
|
||||
"build/src/ov_SC02_005/ov_SC02_005_o0c.o": 0.068,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.133,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.415,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.335,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.046,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.056,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.101,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.158,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.117,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.074,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.065,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.175,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.073,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.167,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.087,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.065,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.065,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.094,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.357,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.351,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.105,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.321,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.064,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.095,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.073,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.099,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.473,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.058,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.056
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.161,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.065,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.168,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.079,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.058,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.064,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.078,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.338,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.2,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.101,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.164,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.058,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.089,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.054,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.09,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.405,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.053,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.051
|
||||
},
|
||||
"ok": true,
|
||||
"seconds": 2.3
|
||||
"seconds": 2.0
|
||||
}
|
||||
|
||||
@@ -0,0 +1,476 @@
|
||||
clean: removed build/, expected/, and the regenerated splat tree (asm/, assets/, undefined_*_auto.txt).
|
||||
disc-extract: up to date — extracted/retail/ matches the committed manifest (sha1 e5c6019249dec3c71bb2cf40658a78439dddb037)
|
||||
splat 0.41.0 (powered by spimdisasm 1.41.0)
|
||||
|
||||
0%| | 0/1096 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us): 0%| | 0/1096 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us): 100%|██████████| 1096/1096 [00:00<00:00, 222408.30it/s]
|
||||
|
||||
0%| | 0/47 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us.ram): 0%| | 0/47 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us.ram): 100%|██████████| 47/47 [00:00<00:00, 516053.11it/s]
|
||||
|
||||
0%| | 0/2 [00:00<?, ?it/s]
|
||||
Scanning header: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Scanning main: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Rodata segment '800' may belong to the text segment '800'
|
||||
Based on the usage from the function LzssDecodeSector to the symbol jtbl_80072A38
|
||||
|
||||
The rodata segment '800' has jumptables that are not aligned properly file-wise, indicating one or more likely file split.
|
||||
File split suggestions for this segment will follow in config yaml format:
|
||||
- [0x6324C, .rodata]
|
||||
- [0x63388, .rodata]
|
||||
- [0x633FC, .rodata]
|
||||
|
||||
|
||||
Rodata segment '800_b' may belong to the text segment '800_b'
|
||||
Based on the usage from the function func_8002B0B4 to the symbol jtbl_80072E44
|
||||
|
||||
Rodata segment '800_b_2' may belong to the text segment '800_b_2'
|
||||
Based on the usage from the function func_8002DC68 to the symbol jtbl_80072F3C
|
||||
|
||||
The rodata segment '800_b_2' has jumptables that are not aligned properly file-wise, indicating one or more likely file split.
|
||||
File split suggestions for this segment will follow in config yaml format:
|
||||
- [0x63920, .rodata]
|
||||
|
||||
|
||||
Rodata segment '800_c' may belong to the text segment '800_c'
|
||||
Based on the usage from the function func_80035270 to the symbol jtbl_800732A0
|
||||
|
||||
Scanning main: 100%|██████████| 2/2 [00:01<00:00, 1.65it/s]
|
||||
Scanning main: 100%|██████████| 2/2 [00:01<00:00, 1.65it/s]
|
||||
|
||||
0%| | 0/2 [00:00<?, ?it/s]
|
||||
Splitting header: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Splitting main: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Splitting main: 100%|██████████| 2/2 [00:00<00:00, 2.64it/s]
|
||||
Splitting main: 100%|██████████| 2/2 [00:00<00:00, 2.64it/s]
|
||||
|
||||
0%| | 0/2 [00:00<?, ?it/s]
|
||||
Linker script header: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Linker script main: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Linker script main: 100%|██████████| 2/2 [00:00<00:00, 100.09it/s]
|
||||
Split 340 KB (82.28%) in defined segments
|
||||
header: 2 KB (0.50%) 1 split, 0 cached
|
||||
c: 338 KB (81.78%) 85 split, 0 cached
|
||||
unknown: 0 B (0.00%) from unknown bin files
|
||||
ld_interleave --order: .main island = 8 pieces [53198.data.o, 800.o, 63470.data.o, 800_b.o, 800_b_2.o, 63940.data.o, 800_c.o, 63C4C.data.o]; pre=0 text=85 empties=166 bss=85
|
||||
[ OK ] resident
|
||||
[ OK ] ov_SC05_000
|
||||
[ OK ] ov_SC01_000
|
||||
[ OK ] ov_SC04_000
|
||||
[ OK ] ov_SC06_000
|
||||
[ OK ] ov_SC03_002
|
||||
[ OK ] ov_SC01_005
|
||||
[ OK ] ov_SC01_006
|
||||
[ OK ] ov_SC02_000
|
||||
[ OK ] ov_SC02_003
|
||||
[ OK ] ov_SC04_019
|
||||
[ OK ] ov_SC03_001
|
||||
[ OK ] ov_SC01_077
|
||||
[ OK ] ov_SC04_018
|
||||
[ OK ] ov_SC01_001
|
||||
[ OK ] ov_SC03_006
|
||||
[ OK ] ov_SC01_004
|
||||
[ OK ] ov_SC01_074
|
||||
[ OK ] ov_SC01_008
|
||||
[ OK ] ov_SC07_000
|
||||
[ OK ] ov_SC02_004
|
||||
[ OK ] ov_SC02_015
|
||||
[ OK ] ov_SC02_021
|
||||
[ OK ] ov_SC01_009
|
||||
[ OK ] ov_SC01_080
|
||||
[ OK ] ov_SC01_084
|
||||
[ OK ] ov_SC02_016
|
||||
[ OK ] ov_SC02_005
|
||||
[ OK ] ov_SC02_026
|
||||
[ OK ] ov_SC02_028
|
||||
[ OK ] ov_SC02_031
|
||||
[ OK ] ov_SC02_011
|
||||
[ OK ] ov_SC02_027
|
||||
[ OK ] ov_SC02_039
|
||||
[ OK ] ov_SC02_035
|
||||
[ OK ] ov_SC03_003
|
||||
[ OK ] ov_SC02_017
|
||||
[ OK ] ov_SC02_041
|
||||
[ OK ] ov_SC03_012
|
||||
[ OK ] ov_SC03_010
|
||||
[ OK ] ov_SC03_011
|
||||
[ OK ] ov_SC03_013
|
||||
[ OK ] ov_SC03_023
|
||||
[ OK ] ov_SC03_007
|
||||
[ OK ] ov_SC03_024
|
||||
[ OK ] ov_SC03_089
|
||||
[ OK ] ov_SC03_031
|
||||
[ OK ] ov_SC03_029
|
||||
[ OK ] ov_SC03_015
|
||||
[ OK ] ov_SC03_014
|
||||
[ OK ] ov_SC03_090
|
||||
[ OK ] ov_SC03_092
|
||||
[ OK ] ov_SC03_028
|
||||
[ OK ] ov_SC03_030
|
||||
[ OK ] ov_SC03_091
|
||||
[ OK ] ov_SC03_095
|
||||
[ OK ] ov_SC03_093
|
||||
[ OK ] ov_SC03_096
|
||||
[ OK ] ov_SC03_094
|
||||
[ OK ] ov_SC03_097
|
||||
[ OK ] ov_SC03_101
|
||||
[ OK ] ov_SC03_098
|
||||
[ OK ] ov_SC03_109
|
||||
[ OK ] ov_SC03_108
|
||||
[ OK ] ov_SC03_110
|
||||
[ OK ] ov_SC03_099
|
||||
[ OK ] ov_SC03_100
|
||||
[ OK ] ov_SC03_102
|
||||
[ OK ] ov_SC03_113
|
||||
[ OK ] ov_SC03_104
|
||||
[ OK ] ov_SC03_103
|
||||
[ OK ] ov_SC03_105
|
||||
[ OK ] ov_SC03_111
|
||||
[ OK ] ov_SC03_114
|
||||
[ OK ] ov_SC03_112
|
||||
[ OK ] ov_SC03_115
|
||||
[ OK ] ov_SC03_116
|
||||
[ OK ] ov_SC03_126
|
||||
[ OK ] ov_SC04_008
|
||||
[ OK ] ov_SC04_003
|
||||
[ OK ] ov_SC03_121
|
||||
[ OK ] ov_SC04_009
|
||||
[ OK ] ov_SC04_006
|
||||
[ OK ] ov_SC03_117
|
||||
[ OK ] ov_SC03_125
|
||||
[ OK ] ov_SC04_004
|
||||
[ OK ] ov_SC03_119
|
||||
[ OK ] ov_SC03_118
|
||||
[ OK ] ov_SC04_007
|
||||
[ OK ] ov_SC04_002
|
||||
[ OK ] ov_SC04_005
|
||||
[ OK ] ov_SC04_010
|
||||
[ OK ] ov_SC03_124
|
||||
[ OK ] ov_SC04_012
|
||||
[ OK ] ov_SC04_021
|
||||
[ OK ] ov_SC05_006
|
||||
[ OK ] ov_SC04_016
|
||||
[ OK ] ov_SC05_002
|
||||
[ OK ] ov_SC04_015
|
||||
[ OK ] ov_SC05_004
|
||||
[ OK ] ov_SC05_007
|
||||
[ OK ] ov_SC04_020
|
||||
[ OK ] ov_SC05_008
|
||||
[ OK ] ov_SC05_001
|
||||
[ OK ] ov_SC05_009
|
||||
[ OK ] ov_SC05_003
|
||||
[ OK ] ov_SC05_005
|
||||
[ OK ] ov_SC04_011
|
||||
[ OK ] ov_SC05_011
|
||||
[ OK ] ov_SC05_010
|
||||
[ OK ] ov_SC05_019
|
||||
[ OK ] ov_SC06_015
|
||||
[ OK ] ov_SC06_013
|
||||
[ OK ] ov_SC06_014
|
||||
[ OK ] ov_SC06_008
|
||||
[ OK ] ov_SC06_010
|
||||
[ OK ] ov_SC06_016
|
||||
[ OK ] ov_SC06_011
|
||||
[ OK ] ov_SC05_017
|
||||
[ OK ] ov_SC06_020
|
||||
[ OK ] ov_SC05_018
|
||||
[ OK ] ov_SC06_018
|
||||
[ OK ] ov_SC06_022
|
||||
[ OK ] ov_SC06_025
|
||||
[ OK ] ov_SC06_027
|
||||
[ OK ] ov_SC06_006
|
||||
[ OK ] ov_SC07_008
|
||||
[ OK ] ov_SC07_002
|
||||
[ OK ] ov_SC06_024
|
||||
[ OK ] md_MAIN_013
|
||||
[ OK ] md_MAIN_014
|
||||
[ OK ] md_MAIN_016
|
||||
[ OK ] md_MAIN_015
|
||||
[ OK ] md_MAIN_017
|
||||
[ OK ] ov_SC07_001
|
||||
[ OK ] ov_SC07_009
|
||||
[ OK ] ov_SC06_030
|
||||
[ OK ] md_MAIN_018
|
||||
[ OK ] md_MAIN_019
|
||||
[ OK ] md_MAIN_020
|
||||
[ OK ] md_MAIN_021
|
||||
[ OK ] md_MAIN_022
|
||||
[ OK ] md_MAIN_023
|
||||
[ OK ] md_MAIN_024
|
||||
[ OK ] md_MAIN_025
|
||||
[ OK ] md_MAIN_027
|
||||
[ OK ] md_MAIN_026
|
||||
[ OK ] ov_SC06_032
|
||||
[ OK ] md_MAIN_028
|
||||
[ OK ] ov_SC06_033
|
||||
[ OK ] md_MAIN_029
|
||||
[ OK ] md_MAIN_030
|
||||
[ OK ] md_MAIN_031
|
||||
[ OK ] md_MAIN_033
|
||||
[ OK ] md_MAIN_032
|
||||
[ OK ] md_MAIN_034
|
||||
[ OK ] md_MAIN_035
|
||||
[ OK ] md_MAIN_037
|
||||
[ OK ] md_MAIN_036
|
||||
[ OK ] md_MAIN_038
|
||||
[ OK ] ov_MAIN_012
|
||||
[ OK ] md_MAIN_039
|
||||
[ OK ] md_MAIN_041
|
||||
[ OK ] md_MAIN_040
|
||||
[ OK ] ov_SC06_029
|
||||
[ OK ] md_MAIN_042
|
||||
[ OK ] md_MAIN_043
|
||||
[ OK ] ov_SC07_011
|
||||
[ OK ] md_MAIN_045
|
||||
[ OK ] md_MAIN_044
|
||||
[ OK ] md_MAIN_047
|
||||
[ OK ] md_MAIN_046
|
||||
[ OK ] md_MAIN_008
|
||||
[ OK ] md_MAIN_001
|
||||
[ OK ] ov_SC07_010
|
||||
[ OK ] md_MAIN_011
|
||||
[ OK ] md_SC03_074
|
||||
[ OK ] md_SC03_073
|
||||
[ OK ] md_SC03_075
|
||||
[ OK ] md_SC03_078
|
||||
[ OK ] md_SC03_077
|
||||
[ OK ] ov_SC03_107
|
||||
[ OK ] md_SC03_076
|
||||
[ OK ] md_SC03_132
|
||||
[ OK ] md_SC03_133
|
||||
[ OK ] md_SC03_079
|
||||
[ OK ] ov_SC07_007
|
||||
[ OK ] md_SC03_137
|
||||
[ OK ] md_SC03_134
|
||||
[ OK ] md_SC03_135
|
||||
[ OK ] md_SC03_136
|
||||
[ OK ] md_MAIN_003
|
||||
[ OK ] md_SC04_024
|
||||
[ OK ] md_SC03_138
|
||||
[ OK ] md_SC04_029
|
||||
[ OK ] md_SC04_025
|
||||
[ OK ] md_SC04_028
|
||||
[ OK ] md_SC04_026
|
||||
[ OK ] md_SC05_023
|
||||
[ OK ] md_SC04_027
|
||||
[ OK ] md_SC05_024
|
||||
[ OK ] md_SC05_025
|
||||
[ OK ] md_SC04_030
|
||||
[ OK ] md_MAIN_007
|
||||
[ OK ] md_SC05_028
|
||||
[ OK ] md_MAIN_009
|
||||
[ OK ] md_SC05_027
|
||||
[ OK ] md_SC03_053
|
||||
[ OK ] md_SC05_026
|
||||
[ OK ] md_SC03_054
|
||||
[ OK ] md_SC03_056
|
||||
[ OK ] md_SC05_029
|
||||
[ OK ] ov_SC02_037
|
||||
[ OK ] ov_SC07_006
|
||||
[ OK ] md_SC02_009
|
||||
[ OK ] md_SC07_004
|
||||
[ OK ] md_SC07_003
|
||||
extract-all: 217 extracted, 0 failed of 217 (+ main, serial)
|
||||
[ OK ] resident
|
||||
[ OK ] ov_SC05_000
|
||||
[ OK ] ov_SC01_000
|
||||
[ OK ] ov_SC04_000
|
||||
[ OK ] ov_SC01_005
|
||||
[ OK ] ov_SC01_006
|
||||
[ OK ] ov_SC01_001
|
||||
[ OK ] ov_SC03_002
|
||||
[ OK ] ov_SC03_006
|
||||
[ OK ] ov_SC06_000
|
||||
[ OK ] ov_SC04_018
|
||||
[ OK ] ov_SC01_077
|
||||
[ OK ] ov_SC04_019
|
||||
[ OK ] ov_SC03_001
|
||||
[ OK ] ov_SC02_000
|
||||
[ OK ] ov_SC02_003
|
||||
[ OK ] ov_SC01_004
|
||||
[ OK ] ov_SC01_074
|
||||
[ OK ] ov_SC01_008
|
||||
[ OK ] ov_SC07_000
|
||||
[ OK ] ov_SC01_080
|
||||
[ OK ] ov_SC02_004
|
||||
[ OK ] ov_SC01_009
|
||||
[ OK ] ov_SC02_015
|
||||
[ OK ] ov_SC01_084
|
||||
[ OK ] ov_SC02_021
|
||||
[ OK ] ov_SC02_016
|
||||
[ OK ] ov_SC02_026
|
||||
[ OK ] ov_SC02_011
|
||||
[ OK ] ov_SC02_017
|
||||
[ OK ] ov_SC02_005
|
||||
[ OK ] ov_SC02_039
|
||||
[ OK ] ov_SC02_031
|
||||
[ OK ] ov_SC02_041
|
||||
[ OK ] ov_SC02_027
|
||||
[ OK ] ov_SC02_035
|
||||
[ OK ] ov_SC03_003
|
||||
[ OK ] ov_SC02_028
|
||||
[ OK ] ov_SC03_010
|
||||
[ OK ] ov_SC03_012
|
||||
[ OK ] ov_SC03_007
|
||||
[ OK ] ov_SC03_011
|
||||
[ OK ] ov_SC03_023
|
||||
[ OK ] ov_SC03_013
|
||||
[ OK ] ov_SC03_014
|
||||
[ OK ] ov_SC03_015
|
||||
[ OK ] ov_SC03_031
|
||||
[ OK ] ov_SC03_030
|
||||
[ OK ] ov_SC03_024
|
||||
[ OK ] ov_SC03_029
|
||||
[ OK ] ov_SC03_089
|
||||
[ OK ] ov_SC03_092
|
||||
[ OK ] ov_SC03_028
|
||||
[ OK ] ov_SC03_090
|
||||
[ OK ] ov_SC03_093
|
||||
[ OK ] ov_SC03_095
|
||||
[ OK ] ov_SC03_096
|
||||
[ OK ] ov_SC03_094
|
||||
[ OK ] ov_SC03_091
|
||||
[ OK ] main
|
||||
[ OK ] ov_SC03_098
|
||||
[ OK ] ov_SC03_097
|
||||
[ OK ] ov_SC03_099
|
||||
[ OK ] ov_SC03_100
|
||||
[ OK ] ov_SC03_101
|
||||
[ OK ] ov_SC03_102
|
||||
[ OK ] ov_SC03_103
|
||||
[ OK ] ov_SC03_109
|
||||
[ OK ] ov_SC03_108
|
||||
[ OK ] ov_SC03_110
|
||||
[ OK ] ov_SC03_111
|
||||
[ OK ] ov_SC03_104
|
||||
[ OK ] ov_SC03_113
|
||||
[ OK ] ov_SC03_105
|
||||
[ OK ] ov_SC03_114
|
||||
[ OK ] ov_SC03_112
|
||||
[ OK ] ov_SC03_115
|
||||
[ OK ] ov_SC03_116
|
||||
[ OK ] ov_SC03_117
|
||||
[ OK ] ov_SC03_121
|
||||
[ OK ] ov_SC03_118
|
||||
[ OK ] ov_SC03_119
|
||||
[ OK ] ov_SC03_125
|
||||
[ OK ] ov_SC03_126
|
||||
[ OK ] ov_SC04_003
|
||||
[ OK ] ov_SC04_002
|
||||
[ OK ] ov_SC03_124
|
||||
[ OK ] ov_SC04_004
|
||||
[ OK ] ov_SC04_008
|
||||
[ OK ] ov_SC04_006
|
||||
[ OK ] ov_SC04_005
|
||||
[ OK ] ov_SC04_007
|
||||
[ OK ] ov_SC04_009
|
||||
[ OK ] ov_SC04_010
|
||||
[ OK ] ov_SC04_012
|
||||
[ OK ] ov_SC04_016
|
||||
[ OK ] ov_SC04_021
|
||||
[ OK ] ov_SC04_015
|
||||
[ OK ] ov_SC04_011
|
||||
[ OK ] ov_SC04_020
|
||||
[ OK ] ov_SC05_006
|
||||
[ OK ] ov_SC05_002
|
||||
[ OK ] ov_SC05_003
|
||||
[ OK ] ov_SC05_004
|
||||
[ OK ] ov_SC05_001
|
||||
[ OK ] ov_SC05_005
|
||||
[ OK ] ov_SC05_007
|
||||
[ OK ] ov_SC05_009
|
||||
[ OK ] ov_SC05_008
|
||||
[ OK ] ov_SC05_010
|
||||
[ OK ] ov_SC05_011
|
||||
[ OK ] ov_SC05_019
|
||||
[ OK ] ov_SC06_013
|
||||
[ OK ] ov_SC06_008
|
||||
[ OK ] ov_SC05_018
|
||||
[ OK ] ov_SC06_006
|
||||
[ OK ] ov_SC06_015
|
||||
[ OK ] ov_SC06_011
|
||||
[ OK ] ov_SC06_014
|
||||
[ OK ] ov_SC06_010
|
||||
[ OK ] ov_SC06_016
|
||||
[ OK ] ov_SC05_017
|
||||
[ OK ] ov_SC06_020
|
||||
[ OK ] ov_SC06_018
|
||||
[ OK ] ov_SC06_022
|
||||
[ OK ] ov_SC06_024
|
||||
[ OK ] ov_SC06_025
|
||||
[ OK ] ov_SC06_027
|
||||
[ OK ] md_MAIN_013
|
||||
[ OK ] md_MAIN_014
|
||||
[ OK ] ov_SC07_009
|
||||
[ OK ] ov_SC07_008
|
||||
[ OK ] md_MAIN_015
|
||||
[ OK ] ov_SC07_001
|
||||
[ OK ] md_MAIN_016
|
||||
[ OK ] md_MAIN_017
|
||||
[ OK ] ov_SC06_030
|
||||
[ OK ] md_MAIN_018
|
||||
[ OK ] ov_SC07_002
|
||||
[ OK ] md_MAIN_019
|
||||
[ OK ] md_MAIN_020
|
||||
[ OK ] md_MAIN_021
|
||||
[ OK ] md_MAIN_022
|
||||
[ OK ] md_MAIN_023
|
||||
[ OK ] md_MAIN_024
|
||||
[ OK ] md_MAIN_025
|
||||
[ OK ] md_MAIN_026
|
||||
[ OK ] md_MAIN_027
|
||||
[ OK ] md_MAIN_029
|
||||
[ OK ] md_MAIN_030
|
||||
[ OK ] md_MAIN_028
|
||||
[ OK ] ov_SC06_029
|
||||
[ OK ] md_MAIN_031
|
||||
[ OK ] md_MAIN_032
|
||||
[ OK ] ov_SC07_010
|
||||
[ OK ] md_MAIN_033
|
||||
[ OK ] md_MAIN_035
|
||||
[ OK ] md_MAIN_036
|
||||
[ OK ] md_MAIN_034
|
||||
[ OK ] ov_SC07_007
|
||||
[ OK ] md_MAIN_039
|
||||
[ OK ] md_MAIN_037
|
||||
[ OK ] md_MAIN_038
|
||||
[ OK ] md_MAIN_040
|
||||
[ OK ] md_MAIN_041
|
||||
[ OK ] md_MAIN_042
|
||||
[ OK ] ov_SC07_006
|
||||
[ OK ] md_MAIN_043
|
||||
[ OK ] md_MAIN_045
|
||||
[ OK ] md_MAIN_044
|
||||
[ OK ] md_MAIN_047
|
||||
[ OK ] md_MAIN_001
|
||||
[ OK ] md_MAIN_046
|
||||
[ OK ] md_MAIN_008
|
||||
[ OK ] ov_MAIN_012
|
||||
[ OK ] md_MAIN_011
|
||||
[ OK ] ov_SC06_032
|
||||
[ OK ] md_SC03_073
|
||||
[ OK ] ov_SC07_011
|
||||
[ OK ] md_SC03_074
|
||||
[ OK ] ov_SC06_033
|
||||
[ OK ] md_SC03_075
|
||||
[ OK ] md_SC03_078
|
||||
[ OK ] md_SC03_079
|
||||
[ OK ] md_SC03_077
|
||||
[ OK ] md_SC03_132
|
||||
[ OK ] md_SC03_076
|
||||
[ OK ] md_SC03_133
|
||||
[ OK ] md_SC03_137
|
||||
[ OK ] md_SC03_134
|
||||
[ OK ] md_SC07_003
|
||||
[ OK ] md_SC03_138
|
||||
[ OK ] md_SC04_024
|
||||
[ OK ] md_SC03_136
|
||||
[ OK ] md_SC04_025
|
||||
[ OK ] md_SC04_026
|
||||
[ OK ] md_SC03_135
|
||||
[ OK ] md_MAIN_003
|
||||
[ OK ] md_SC04_029
|
||||
[ OK ] md_SC05_023
|
||||
[ OK ] md_SC04_030
|
||||
@@ -0,0 +1,476 @@
|
||||
clean: removed build/, expected/, and the regenerated splat tree (asm/, assets/, undefined_*_auto.txt).
|
||||
disc-extract: up to date — extracted/retail/ matches the committed manifest (sha1 e5c6019249dec3c71bb2cf40658a78439dddb037)
|
||||
splat 0.41.0 (powered by spimdisasm 1.41.0)
|
||||
|
||||
0%| | 0/1096 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us): 0%| | 0/1096 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us): 100%|██████████| 1096/1096 [00:00<00:00, 188655.03it/s]
|
||||
|
||||
0%| | 0/47 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us.ram): 0%| | 0/47 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us.ram): 100%|██████████| 47/47 [00:00<00:00, 619912.86it/s]
|
||||
|
||||
0%| | 0/2 [00:00<?, ?it/s]
|
||||
Scanning header: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Scanning main: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Rodata segment '800' may belong to the text segment '800'
|
||||
Based on the usage from the function LzssDecodeSector to the symbol jtbl_80072A38
|
||||
|
||||
The rodata segment '800' has jumptables that are not aligned properly file-wise, indicating one or more likely file split.
|
||||
File split suggestions for this segment will follow in config yaml format:
|
||||
- [0x6324C, .rodata]
|
||||
- [0x63388, .rodata]
|
||||
- [0x633FC, .rodata]
|
||||
|
||||
|
||||
Rodata segment '800_b' may belong to the text segment '800_b'
|
||||
Based on the usage from the function func_8002B0B4 to the symbol jtbl_80072E44
|
||||
|
||||
Rodata segment '800_b_2' may belong to the text segment '800_b_2'
|
||||
Based on the usage from the function func_8002DC68 to the symbol jtbl_80072F3C
|
||||
|
||||
The rodata segment '800_b_2' has jumptables that are not aligned properly file-wise, indicating one or more likely file split.
|
||||
File split suggestions for this segment will follow in config yaml format:
|
||||
- [0x63920, .rodata]
|
||||
|
||||
|
||||
Rodata segment '800_c' may belong to the text segment '800_c'
|
||||
Based on the usage from the function func_80035270 to the symbol jtbl_800732A0
|
||||
|
||||
Scanning main: 100%|██████████| 2/2 [00:01<00:00, 1.54it/s]
|
||||
Scanning main: 100%|██████████| 2/2 [00:01<00:00, 1.54it/s]
|
||||
|
||||
0%| | 0/2 [00:00<?, ?it/s]
|
||||
Splitting header: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Splitting main: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Splitting main: 100%|██████████| 2/2 [00:00<00:00, 2.79it/s]
|
||||
Splitting main: 100%|██████████| 2/2 [00:00<00:00, 2.79it/s]
|
||||
|
||||
0%| | 0/2 [00:00<?, ?it/s]
|
||||
Linker script header: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Linker script main: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Linker script main: 100%|██████████| 2/2 [00:00<00:00, 98.84it/s]
|
||||
Split 340 KB (82.28%) in defined segments
|
||||
header: 2 KB (0.50%) 1 split, 0 cached
|
||||
c: 338 KB (81.78%) 85 split, 0 cached
|
||||
unknown: 0 B (0.00%) from unknown bin files
|
||||
ld_interleave --order: .main island = 8 pieces [53198.data.o, 800.o, 63470.data.o, 800_b.o, 800_b_2.o, 63940.data.o, 800_c.o, 63C4C.data.o]; pre=0 text=85 empties=166 bss=85
|
||||
[ OK ] ov_SC05_000
|
||||
[ OK ] resident
|
||||
[ OK ] ov_SC01_000
|
||||
[ OK ] ov_SC04_000
|
||||
[ OK ] ov_SC06_000
|
||||
[ OK ] ov_SC03_002
|
||||
[ OK ] ov_SC01_006
|
||||
[ OK ] ov_SC01_005
|
||||
[ OK ] ov_SC01_077
|
||||
[ OK ] ov_SC04_019
|
||||
[ OK ] ov_SC02_003
|
||||
[ OK ] ov_SC02_000
|
||||
[ OK ] ov_SC04_018
|
||||
[ OK ] ov_SC03_001
|
||||
[ OK ] ov_SC01_001
|
||||
[ OK ] ov_SC03_006
|
||||
[ OK ] ov_SC01_004
|
||||
[ OK ] ov_SC01_074
|
||||
[ OK ] ov_SC01_008
|
||||
[ OK ] ov_SC07_000
|
||||
[ OK ] ov_SC02_004
|
||||
[ OK ] ov_SC02_015
|
||||
[ OK ] ov_SC02_021
|
||||
[ OK ] ov_SC01_080
|
||||
[ OK ] ov_SC01_009
|
||||
[ OK ] ov_SC01_084
|
||||
[ OK ] ov_SC02_016
|
||||
[ OK ] ov_SC02_005
|
||||
[ OK ] ov_SC02_031
|
||||
[ OK ] ov_SC02_026
|
||||
[ OK ] ov_SC02_039
|
||||
[ OK ] ov_SC02_027
|
||||
[ OK ] ov_SC02_028
|
||||
[ OK ] ov_SC02_035
|
||||
[ OK ] ov_SC03_003
|
||||
[ OK ] ov_SC02_011
|
||||
[ OK ] ov_SC02_017
|
||||
[ OK ] ov_SC02_041
|
||||
[ OK ] ov_SC03_012
|
||||
[ OK ] ov_SC03_010
|
||||
[ OK ] ov_SC03_011
|
||||
[ OK ] ov_SC03_013
|
||||
[ OK ] ov_SC03_023
|
||||
[ OK ] ov_SC03_007
|
||||
[ OK ] ov_SC03_024
|
||||
[ OK ] ov_SC03_089
|
||||
[ OK ] ov_SC03_031
|
||||
[ OK ] ov_SC03_029
|
||||
[ OK ] ov_SC03_014
|
||||
[ OK ] ov_SC03_015
|
||||
[ OK ] ov_SC03_090
|
||||
[ OK ] ov_SC03_092
|
||||
[ OK ] ov_SC03_030
|
||||
[ OK ] ov_SC03_095
|
||||
[ OK ] ov_SC03_028
|
||||
[ OK ] ov_SC03_091
|
||||
[ OK ] ov_SC03_093
|
||||
[ OK ] ov_SC03_096
|
||||
[ OK ] ov_SC03_094
|
||||
[ OK ] ov_SC03_097
|
||||
[ OK ] ov_SC03_101
|
||||
[ OK ] ov_SC03_098
|
||||
[ OK ] ov_SC03_108
|
||||
[ OK ] ov_SC03_099
|
||||
[ OK ] ov_SC03_109
|
||||
[ OK ] ov_SC03_100
|
||||
[ OK ] ov_SC03_102
|
||||
[ OK ] ov_SC03_110
|
||||
[ OK ] ov_SC03_104
|
||||
[ OK ] ov_SC03_105
|
||||
[ OK ] ov_SC03_103
|
||||
[ OK ] ov_SC03_113
|
||||
[ OK ] ov_SC03_112
|
||||
[ OK ] ov_SC03_111
|
||||
[ OK ] ov_SC03_114
|
||||
[ OK ] ov_SC03_115
|
||||
[ OK ] ov_SC03_116
|
||||
[ OK ] ov_SC03_126
|
||||
[ OK ] ov_SC04_003
|
||||
[ OK ] ov_SC03_121
|
||||
[ OK ] ov_SC04_008
|
||||
[ OK ] ov_SC04_006
|
||||
[ OK ] ov_SC04_009
|
||||
[ OK ] ov_SC03_117
|
||||
[ OK ] ov_SC03_118
|
||||
[ OK ] ov_SC03_125
|
||||
[ OK ] ov_SC04_004
|
||||
[ OK ] ov_SC03_119
|
||||
[ OK ] ov_SC04_005
|
||||
[ OK ] ov_SC04_002
|
||||
[ OK ] ov_SC04_007
|
||||
[ OK ] ov_SC03_124
|
||||
[ OK ] ov_SC04_010
|
||||
[ OK ] ov_SC04_012
|
||||
[ OK ] ov_SC04_021
|
||||
[ OK ] ov_SC04_016
|
||||
[ OK ] ov_SC05_006
|
||||
[ OK ] ov_SC05_004
|
||||
[ OK ] ov_SC05_002
|
||||
[ OK ] ov_SC05_001
|
||||
[ OK ] ov_SC05_009
|
||||
[ OK ] ov_SC04_020
|
||||
[ OK ] ov_SC05_003
|
||||
[ OK ] ov_SC05_007
|
||||
[ OK ] ov_SC04_015
|
||||
[ OK ] ov_SC05_008
|
||||
[ OK ] ov_SC05_005
|
||||
[ OK ] ov_SC04_011
|
||||
[ OK ] ov_SC05_010
|
||||
[ OK ] ov_SC05_011
|
||||
[ OK ] ov_SC05_019
|
||||
[ OK ] ov_SC06_013
|
||||
[ OK ] ov_SC06_015
|
||||
[ OK ] ov_SC06_008
|
||||
[ OK ] ov_SC06_011
|
||||
[ OK ] ov_SC06_014
|
||||
[ OK ] ov_SC06_010
|
||||
[ OK ] ov_SC06_016
|
||||
[ OK ] ov_SC05_017
|
||||
[ OK ] ov_SC06_020
|
||||
[ OK ] ov_SC05_018
|
||||
[ OK ] ov_SC06_018
|
||||
[ OK ] ov_SC06_025
|
||||
[ OK ] ov_SC06_027
|
||||
[ OK ] ov_SC06_022
|
||||
[ OK ] ov_SC06_006
|
||||
[ OK ] ov_SC06_024
|
||||
[ OK ] ov_SC07_008
|
||||
[ OK ] md_MAIN_013
|
||||
[ OK ] ov_SC07_002
|
||||
[ OK ] md_MAIN_014
|
||||
[ OK ] md_MAIN_015
|
||||
[ OK ] md_MAIN_016
|
||||
[ OK ] ov_SC07_001
|
||||
[ OK ] md_MAIN_018
|
||||
[ OK ] md_MAIN_017
|
||||
[ OK ] md_MAIN_019
|
||||
[ OK ] md_MAIN_020
|
||||
[ OK ] md_MAIN_021
|
||||
[ OK ] md_MAIN_022
|
||||
[ OK ] md_MAIN_023
|
||||
[ OK ] md_MAIN_024
|
||||
[ OK ] ov_SC06_030
|
||||
[ OK ] ov_SC07_009
|
||||
[ OK ] md_MAIN_025
|
||||
[ OK ] md_MAIN_026
|
||||
[ OK ] md_MAIN_027
|
||||
[ OK ] md_MAIN_028
|
||||
[ OK ] md_MAIN_029
|
||||
[ OK ] ov_MAIN_012
|
||||
[ OK ] md_MAIN_030
|
||||
[ OK ] ov_SC06_032
|
||||
[ OK ] md_MAIN_031
|
||||
[ OK ] md_MAIN_032
|
||||
[ OK ] ov_SC06_033
|
||||
[ OK ] md_MAIN_033
|
||||
[ OK ] ov_SC07_011
|
||||
[ OK ] md_MAIN_034
|
||||
[ OK ] md_MAIN_035
|
||||
[ OK ] md_MAIN_036
|
||||
[ OK ] md_MAIN_039
|
||||
[ OK ] md_MAIN_038
|
||||
[ OK ] md_MAIN_040
|
||||
[ OK ] md_MAIN_037
|
||||
[ OK ] ov_SC06_029
|
||||
[ OK ] md_MAIN_042
|
||||
[ OK ] md_MAIN_041
|
||||
[ OK ] md_MAIN_043
|
||||
[ OK ] md_MAIN_046
|
||||
[ OK ] md_MAIN_044
|
||||
[ OK ] md_MAIN_045
|
||||
[ OK ] md_MAIN_008
|
||||
[ OK ] md_MAIN_047
|
||||
[ OK ] md_MAIN_011
|
||||
[ OK ] md_MAIN_001
|
||||
[ OK ] ov_SC07_010
|
||||
[ OK ] md_SC03_073
|
||||
[ OK ] md_SC03_078
|
||||
[ OK ] md_SC03_075
|
||||
[ OK ] md_SC03_074
|
||||
[ OK ] md_SC03_077
|
||||
[ OK ] ov_SC03_107
|
||||
[ OK ] md_SC03_076
|
||||
[ OK ] md_SC03_132
|
||||
[ OK ] md_SC03_079
|
||||
[ OK ] md_SC03_133
|
||||
[ OK ] md_SC03_134
|
||||
[ OK ] md_SC03_137
|
||||
[ OK ] md_SC03_135
|
||||
[ OK ] md_SC03_136
|
||||
[ OK ] md_SC04_024
|
||||
[ OK ] md_MAIN_003
|
||||
[ OK ] md_SC04_025
|
||||
[ OK ] md_SC04_026
|
||||
[ OK ] ov_SC07_007
|
||||
[ OK ] md_SC03_138
|
||||
[ OK ] md_SC04_029
|
||||
[ OK ] md_SC04_028
|
||||
[ OK ] md_SC04_027
|
||||
[ OK ] md_SC05_023
|
||||
[ OK ] md_SC04_030
|
||||
[ OK ] md_SC05_028
|
||||
[ OK ] md_MAIN_009
|
||||
[ OK ] md_MAIN_007
|
||||
[ OK ] md_SC05_027
|
||||
[ OK ] md_SC03_053
|
||||
[ OK ] md_SC05_024
|
||||
[ OK ] md_SC05_025
|
||||
[ OK ] md_SC05_029
|
||||
[ OK ] md_SC05_026
|
||||
[ OK ] md_SC03_056
|
||||
[ OK ] md_SC03_054
|
||||
[ OK ] md_SC02_009
|
||||
[ OK ] ov_SC02_037
|
||||
[ OK ] ov_SC07_006
|
||||
[ OK ] md_SC07_004
|
||||
[ OK ] md_SC07_003
|
||||
extract-all: 217 extracted, 0 failed of 217 (+ main, serial)
|
||||
[ OK ] resident
|
||||
[ OK ] ov_SC05_000
|
||||
[ OK ] ov_SC01_000
|
||||
[ OK ] ov_SC04_000
|
||||
[ OK ] ov_SC01_005
|
||||
[ OK ] ov_SC01_001
|
||||
[ OK ] ov_SC01_006
|
||||
[ OK ] ov_SC03_002
|
||||
[ OK ] ov_SC03_006
|
||||
[ OK ] ov_SC06_000
|
||||
[ OK ] ov_SC04_019
|
||||
[ OK ] ov_SC01_077
|
||||
[ OK ] ov_SC04_018
|
||||
[ OK ] ov_SC02_000
|
||||
[ OK ] ov_SC03_001
|
||||
[ OK ] ov_SC02_003
|
||||
[ OK ] ov_SC01_004
|
||||
[ OK ] ov_SC01_074
|
||||
[ OK ] ov_SC07_000
|
||||
[ OK ] ov_SC01_008
|
||||
[ OK ] ov_SC02_004
|
||||
[ OK ] ov_SC01_080
|
||||
[ OK ] ov_SC01_009
|
||||
[ OK ] ov_SC02_015
|
||||
[ OK ] ov_SC01_084
|
||||
[ OK ] ov_SC02_016
|
||||
[ OK ] ov_SC02_021
|
||||
[ OK ] ov_SC02_026
|
||||
[ OK ] ov_SC02_011
|
||||
[ OK ] ov_SC02_017
|
||||
[ OK ] ov_SC02_005
|
||||
[ OK ] ov_SC02_039
|
||||
[ OK ] ov_SC02_031
|
||||
[ OK ] ov_SC02_035
|
||||
[ OK ] ov_SC02_027
|
||||
[ OK ] ov_SC02_041
|
||||
[ OK ] ov_SC03_003
|
||||
[ OK ] ov_SC02_028
|
||||
[ OK ] ov_SC03_010
|
||||
[ OK ] ov_SC03_012
|
||||
[ OK ] ov_SC03_007
|
||||
[ OK ] ov_SC03_011
|
||||
[ OK ] ov_SC03_023
|
||||
[ OK ] ov_SC03_013
|
||||
[ OK ] ov_SC03_015
|
||||
[ OK ] ov_SC03_014
|
||||
[ OK ] ov_SC03_030
|
||||
[ OK ] ov_SC03_024
|
||||
[ OK ] ov_SC03_031
|
||||
[ OK ] ov_SC03_029
|
||||
[ OK ] ov_SC03_089
|
||||
[ OK ] ov_SC03_090
|
||||
[ OK ] ov_SC03_028
|
||||
[ OK ] ov_SC03_092
|
||||
[ OK ] ov_SC03_093
|
||||
[ OK ] ov_SC03_095
|
||||
[ OK ] ov_SC03_091
|
||||
[ OK ] ov_SC03_094
|
||||
[ OK ] ov_SC03_096
|
||||
[ OK ] main
|
||||
[ OK ] ov_SC03_098
|
||||
[ OK ] ov_SC03_097
|
||||
[ OK ] ov_SC03_100
|
||||
[ OK ] ov_SC03_103
|
||||
[ OK ] ov_SC03_109
|
||||
[ OK ] ov_SC03_102
|
||||
[ OK ] ov_SC03_099
|
||||
[ OK ] ov_SC03_114
|
||||
[ OK ] ov_SC03_113
|
||||
[ OK ] ov_SC03_101
|
||||
[ OK ] ov_SC03_108
|
||||
[ OK ] ov_SC03_112
|
||||
[ OK ] ov_SC03_116
|
||||
[ OK ] ov_SC03_115
|
||||
[ OK ] ov_SC03_105
|
||||
[ OK ] ov_SC03_110
|
||||
[ OK ] ov_SC03_104
|
||||
[ OK ] ov_SC03_111
|
||||
[ OK ] ov_SC03_121
|
||||
[ OK ] ov_SC03_117
|
||||
[ OK ] ov_SC04_008
|
||||
[ OK ] ov_SC04_004
|
||||
[ OK ] ov_SC03_125
|
||||
[ OK ] ov_SC04_010
|
||||
[ OK ] ov_SC03_119
|
||||
[ OK ] ov_SC04_006
|
||||
[ OK ] ov_SC04_003
|
||||
[ OK ] ov_SC03_126
|
||||
[ OK ] ov_SC03_118
|
||||
[ OK ] ov_SC03_124
|
||||
[ OK ] ov_SC04_009
|
||||
[ OK ] ov_SC04_011
|
||||
[ OK ] ov_SC04_007
|
||||
[ OK ] ov_SC04_012
|
||||
[ OK ] ov_SC04_002
|
||||
[ OK ] ov_SC04_005
|
||||
[ OK ] ov_SC04_015
|
||||
[ OK ] ov_SC04_021
|
||||
[ OK ] ov_SC04_016
|
||||
[ OK ] ov_SC04_020
|
||||
[ OK ] ov_SC05_002
|
||||
[ OK ] ov_SC05_001
|
||||
[ OK ] ov_SC05_006
|
||||
[ OK ] ov_SC05_009
|
||||
[ OK ] ov_SC05_011
|
||||
[ OK ] ov_SC05_005
|
||||
[ OK ] ov_SC05_003
|
||||
[ OK ] ov_SC05_004
|
||||
[ OK ] ov_SC05_008
|
||||
[ OK ] ov_SC05_007
|
||||
[ OK ] ov_SC05_010
|
||||
[ OK ] ov_SC05_017
|
||||
[ OK ] ov_SC05_019
|
||||
[ OK ] ov_SC05_018
|
||||
[ OK ] ov_SC06_006
|
||||
[ OK ] ov_SC06_008
|
||||
[ OK ] ov_SC06_013
|
||||
[ OK ] ov_SC06_011
|
||||
[ OK ] ov_SC06_015
|
||||
[ OK ] ov_SC06_010
|
||||
[ OK ] ov_SC06_014
|
||||
[ OK ] ov_SC06_016
|
||||
[ OK ] ov_SC06_020
|
||||
[ OK ] ov_SC06_025
|
||||
[ OK ] ov_SC06_022
|
||||
[ OK ] ov_SC06_027
|
||||
[ OK ] ov_SC06_024
|
||||
[ OK ] ov_SC06_018
|
||||
[ OK ] md_MAIN_013
|
||||
[ OK ] md_MAIN_014
|
||||
[ OK ] md_MAIN_015
|
||||
[ OK ] md_MAIN_016
|
||||
[ OK ] md_MAIN_017
|
||||
[ OK ] md_MAIN_018
|
||||
[ OK ] md_MAIN_019
|
||||
[ OK ] md_MAIN_020
|
||||
[ OK ] md_MAIN_021
|
||||
[ OK ] md_MAIN_022
|
||||
[ OK ] md_MAIN_023
|
||||
[ OK ] md_MAIN_024
|
||||
[ OK ] md_MAIN_025
|
||||
[ OK ] md_MAIN_026
|
||||
[ OK ] md_MAIN_027
|
||||
[ OK ] md_MAIN_028
|
||||
[ OK ] md_MAIN_029
|
||||
[ OK ] md_MAIN_030
|
||||
[ OK ] ov_SC06_029
|
||||
[ OK ] ov_SC06_030
|
||||
[ OK ] md_MAIN_031
|
||||
[ OK ] md_MAIN_032
|
||||
[ OK ] ov_SC07_009
|
||||
[ OK ] ov_SC07_008
|
||||
[ OK ] md_MAIN_033
|
||||
[ OK ] md_MAIN_034
|
||||
[ OK ] ov_SC07_001
|
||||
[ OK ] md_MAIN_035
|
||||
[ OK ] md_MAIN_037
|
||||
[ OK ] md_MAIN_036
|
||||
[ OK ] md_MAIN_038
|
||||
[ OK ] md_MAIN_039
|
||||
[ OK ] md_MAIN_040
|
||||
[ OK ] md_MAIN_041
|
||||
[ OK ] md_MAIN_042
|
||||
[ OK ] ov_SC07_002
|
||||
[ OK ] md_MAIN_043
|
||||
[ OK ] md_MAIN_044
|
||||
[ OK ] md_MAIN_045
|
||||
[ OK ] md_MAIN_046
|
||||
[ OK ] md_MAIN_001
|
||||
[ OK ] md_MAIN_008
|
||||
[ OK ] md_MAIN_047
|
||||
[ OK ] md_MAIN_011
|
||||
[ OK ] ov_SC07_010
|
||||
[ OK ] ov_SC07_006
|
||||
[ OK ] md_SC03_073
|
||||
[ OK ] md_SC03_074
|
||||
[ OK ] md_SC03_075
|
||||
[ OK ] ov_SC07_007
|
||||
[ OK ] md_SC03_078
|
||||
[ OK ] md_SC07_003
|
||||
[ OK ] ov_MAIN_012
|
||||
[ OK ] ov_SC06_032
|
||||
[ OK ] md_SC03_077
|
||||
[ OK ] md_SC03_079
|
||||
[ OK ] md_SC03_076
|
||||
[ OK ] md_SC03_132
|
||||
[ OK ] md_SC03_133
|
||||
[ OK ] md_SC03_134
|
||||
[ OK ] ov_SC03_107
|
||||
[ OK ] ov_SC06_033
|
||||
[ OK ] md_SC03_137
|
||||
[ OK ] md_MAIN_003
|
||||
[ OK ] md_SC03_138
|
||||
[ OK ] md_SC04_024
|
||||
[ OK ] md_SC04_025
|
||||
[ OK ] md_SC04_026
|
||||
[ OK ] ov_SC07_011
|
||||
[ OK ] md_SC03_136
|
||||
[ OK ] md_SC03_135
|
||||
[ OK ] md_SC04_029
|
||||
[ OK ] ov_SC02_037
|
||||
@@ -0,0 +1,62 @@
|
||||
09:13:57 apply t3d1 rung D: 27 files, control src/ov_SC04_011/ov_SC04_011_jr_8017D494.c IDENTICAL (0.39 s), calibration 775a3eafb
|
||||
09:27:34 apply t3d1 rung D: 27 files, control src/ov_SC04_011/ov_SC04_011_jr_8017D494.c IDENTICAL (0.51 s), calibration 775a3eafb
|
||||
09:27:37 src/ov_SC04_011/ov_SC04_011_jr_80159C84.c: IDENTICAL · rows 6 · compiles 2 · 0.5 s · canon 6 promoted 0 K&R 0 kept 0
|
||||
09:27:37 src/ov_SC04_011/ov_SC04_011_jr_801588CC.c: IDENTICAL · rows 6 · compiles 2 · 0.2 s · canon 6 promoted 0 K&R 0 kept 0
|
||||
09:27:38 src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c: IDENTICAL · rows 8 · compiles 2 · 0.2 s · canon 8 promoted 0 K&R 0 kept 0
|
||||
09:27:38 unit 5: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c:1710: parse error before `*'
|
||||
src/ov_SC04_011/ov_SC04_011_j
|
||||
09:27:38 unit 5: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_801789AC.c:1711: parse error before `*'
|
||||
src/ov_SC04_011/ov_SC04_011_j
|
||||
09:27:38 src/ov_SC04_011/ov_SC04_011_jr_8015444C.c: IDENTICAL · rows 6 · compiles 2 · 0.1 s · canon 6 promoted 0 K&R 0 kept 0
|
||||
09:27:38 src/ov_SC04_011/ov_SC04_011_jr_80154C24.c: IDENTICAL · rows 6 · compiles 2 · 0.3 s · canon 6 promoted 0 K&R 0 kept 0
|
||||
09:27:39 unit 5: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:1708: parse error before `*'
|
||||
src/ov_SC04_011/ov_SC04_011_j
|
||||
09:27:39 unit 5: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_80178D40.c:1710: parse error before `*'
|
||||
src/ov_SC04_011/ov_SC04_011_j
|
||||
09:27:39 unit 6: COMPILE-ERROR src/ov_SC04_011/../shared/ov/func_8015BEC4.h:5: too few arguments to function `func_8015AE2C' [build
|
||||
09:27:39 src/ov_SC04_011/ov_SC04_011_jr_8013F350.c: IDENTICAL · rows 6 · compiles 2 · 0.1 s · canon 6 promoted 0 K&R 0 kept 0
|
||||
09:27:39 unit 5: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c:1712: parse error before `*'
|
||||
src/ov_SC04_011/ov_SC04_011_j
|
||||
09:27:39 src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c: IDENTICAL · rows 7 · compiles 9 · 1.1 s · canon 6 promoted 0 K&R 1 kept 1
|
||||
09:27:39 src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.c: IDENTICAL · rows 6 · compiles 2 · 0.2 s · canon 6 promoted 0 K&R 0 kept 0
|
||||
09:27:40 src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c: IDENTICAL · rows 13 · compiles 15 · 2.2 s · canon 12 promoted 0 K&R 0 kept 1
|
||||
09:27:40 src/ov_SC04_011/ov_SC04_011_jr_801789AC.c: IDENTICAL · rows 15 · compiles 17 · 1.9 s · canon 14 promoted 0 K&R 0 kept 1
|
||||
09:27:40 src/ov_SC04_011/ov_SC04_011_jr_80140608.c: IDENTICAL · rows 6 · compiles 2 · 0.4 s · canon 6 promoted 0 K&R 0 kept 0
|
||||
09:27:40 unit 5: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_801734BC.c:1713: parse error before `*'
|
||||
src/ov_SC04_011/ov_SC04_011_j
|
||||
09:27:40 src/ov_SC04_011/ov_SC04_011_o0c.c: IDENTICAL · rows 5 · compiles 2 · 0.2 s · canon 5 promoted 0 K&R 0 kept 0
|
||||
09:27:40 unit 6: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c:1260: too few arguments to function `func_8013D53C'
|
||||
src/ov
|
||||
09:27:40 src/ov_SC04_011/ov_SC04_011_jr_80135D20.c: IDENTICAL · rows 4 · compiles 2 · 0.3 s · canon 4 promoted 0 K&R 0 kept 0
|
||||
09:27:40 src/ov_SC04_011/ov_SC04_011_jr_80178D40.c: IDENTICAL · rows 13 · compiles 15 · 2.1 s · canon 12 promoted 0 K&R 0 kept 1
|
||||
09:27:41 src/ov_SC04_011/ov_SC04_011_jr_80135888.c: IDENTICAL · rows 4 · compiles 2 · 0.2 s · canon 4 promoted 0 K&R 0 kept 0
|
||||
09:27:41 unit 7: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c:1124: too few arguments to function `func_8013D9B0'
|
||||
src/ov
|
||||
09:27:41 src/ov_SC04_011/ov_SC04_011_jr_80135A4C.c: IDENTICAL · rows 4 · compiles 2 · 0.2 s · canon 4 promoted 0 K&R 0 kept 0
|
||||
09:27:41 src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c: IDENTICAL · rows 13 · compiles 15 · 2.3 s · canon 12 promoted 0 K&R 0 kept 1
|
||||
09:27:41 src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c: IDENTICAL · rows 9 · compiles 11 · 1.9 s · canon 7 promoted 0 K&R 2 kept 2
|
||||
09:27:41 src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c: IDENTICAL · rows 13 · compiles 15 · 2.4 s · canon 12 promoted 0 K&R 0 kept 1
|
||||
09:27:41 src/ov_SC04_011/ov_SC04_011_jr_801380E0.c: IDENTICAL · rows 4 · compiles 2 · 0.4 s · canon 4 promoted 0 K&R 0 kept 0
|
||||
09:27:41 src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c: IDENTICAL · rows 6 · compiles 2 · 0.7 s · canon 6 promoted 0 K&R 0 kept 0
|
||||
09:27:41 src/ov_SC04_011/ov_SC04_011_after.c: IDENTICAL · rows 10 · compiles 2 · 1.0 s · canon 10 promoted 0 K&R 0 kept 0
|
||||
09:27:41 src/ov_SC04_011/ov_SC04_011.c: IDENTICAL · rows 2 · compiles 2 · 0.3 s · canon 2 promoted 0 K&R 0 kept 0
|
||||
09:27:42 src/ov_SC04_011/ov_SC04_011_jr_801734BC.c: IDENTICAL · rows 11 · compiles 13 · 3.1 s · canon 10 promoted 0 K&R 0 kept 1
|
||||
09:27:42 unit 11: COMPILE-ERROR src/ov_SC04_011/../shared/ov/func_8016AE5C__te4eb1475.h:8: too few arguments to function `func_8016B
|
||||
09:27:42 unit 5: COMPILE-ERROR 1546 | #define NULL 0
|
||||
|
|
||||
include/common.h:41: note: this is the location of the previous defi
|
||||
09:27:43 unit 12: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c:2454: too few arguments to function `func_8016BF50'
|
||||
src/ov
|
||||
09:27:43 unit 6: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_8017D494.c:1708: parse error before `*'
|
||||
src/ov_SC04_011/ov_SC04_011_j
|
||||
09:27:43 src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c: IDENTICAL · rows 13 · compiles 15 · 4.5 s · canon 11 promoted 0 K&R 1 kept 2
|
||||
09:27:46 unit 13: COMPILE-ERROR 1546 | #define NULL 0
|
||||
|
|
||||
include/common.h:41: note: this is the location of the previous defi
|
||||
09:27:47 src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c: IDENTICAL · rows 15 · compiles 17 · 8.0 s · canon 13 promoted 0 K&R 1 kept 2
|
||||
09:27:56 unit 32: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:
|
||||
src/ov_SC04_011/ov_SC04_011_jr_8017D494.c:
|
||||
09:28:03 unit 46: COMPILE-ERROR src/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:
|
||||
src/ov_SC04_011/ov_SC04_011_jr_8017D494.c:
|
||||
09:28:05 src/ov_SC04_011/ov_SC04_011_jr_8017D494.c: IDENTICAL · rows 47 · compiles 49 · 24.8 s · canon 44 promoted 0 K&R 1 kept 3
|
||||
09:28:05 restruct: batch t3d1 rung D — 27 files (TUs; 27 drawable) · 258 declaration units: 242 canonical / 0 promoted / 6 K&R marked / 16 kept · compiles 223 in 31 s wall · final 27/27 identical · written 27 files
|
||||
@@ -0,0 +1,227 @@
|
||||
{
|
||||
"label": "t3d1",
|
||||
"rung": "D",
|
||||
"generated": "2026-09-12 09:28",
|
||||
"headers": false,
|
||||
"batch": 27,
|
||||
"only": [
|
||||
"ov_SC04_011"
|
||||
],
|
||||
"files": 27,
|
||||
"drawable_files": 27,
|
||||
"wall_s": 31.5,
|
||||
"calib": {
|
||||
"head": "775a3eafb",
|
||||
"stamp": "e34b6679685f"
|
||||
},
|
||||
"compiles": 223,
|
||||
"members": 0,
|
||||
"kept": 16,
|
||||
"skipped": 0,
|
||||
"levers_off": 0,
|
||||
"canon": 242,
|
||||
"promoted": 0,
|
||||
"kr": 6,
|
||||
"folded": 0,
|
||||
"refused": 0,
|
||||
"renames": 0,
|
||||
"units": 258,
|
||||
"bodies": 0,
|
||||
"seconds": 59.634565353393555,
|
||||
"rows": 258,
|
||||
"written": 27,
|
||||
"final_ok": 27,
|
||||
"final_bad": 0,
|
||||
"no_recipe": 0,
|
||||
"per_file": [
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 47,
|
||||
"compiles": 49
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 15,
|
||||
"compiles": 17
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 13,
|
||||
"compiles": 15
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 13,
|
||||
"compiles": 15
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 13,
|
||||
"compiles": 15
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 13,
|
||||
"compiles": 15
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 11,
|
||||
"compiles": 13
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 13,
|
||||
"compiles": 15
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 15,
|
||||
"compiles": 17
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 7,
|
||||
"compiles": 9
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_801588CC.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 6,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_80159C84.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 6,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 8,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8015444C.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 6,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 6,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 9,
|
||||
"compiles": 11
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8013F350.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 6,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 6,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_80140608.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 6,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_after.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 10,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_o0c.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 5,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_80135D20.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 4,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 6,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_80135888.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 4,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_80135A4C.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 4,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011_jr_801380E0.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 4,
|
||||
"compiles": 2
|
||||
},
|
||||
{
|
||||
"tu": "src/ov_SC04_011/ov_SC04_011.c",
|
||||
"final": "IDENTICAL",
|
||||
"written": true,
|
||||
"rows": 2,
|
||||
"compiles": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,258 @@
|
||||
{"ts": "2026-09-12 09:27:36", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80159C84.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [250], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "b79fbf1ea625", "nhash_after": "0f2b7009c152", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:36", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80159C84.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [249], "ansi": "u32 a0, u32 a1", "nhash_before": "3fd1f74adcc0", "nhash_after": "fe5448b24d47", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:36", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80159C84.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [247], "ansi": "u32 a0", "nhash_before": "0097562d1c0f", "nhash_after": "b2aa67aff0e1", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:36", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80159C84.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [248], "ansi": "s32 a0", "nhash_before": "d382e8d70d64", "nhash_after": "a55df4fb18ec", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:36", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80159C84.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [246], "ansi": "u32 a0", "nhash_before": "387b45b782f1", "nhash_after": "39e4a90cb72d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:36", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80159C84.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [363, 1004], "ansi": "s32 arg0", "nhash_before": "dee48b44a8f0", "nhash_after": "165c3a466227", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801588CC.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [250], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "b79fbf1ea625", "nhash_after": "0f2b7009c152", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801588CC.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [249], "ansi": "u32 a0, u32 a1", "nhash_before": "3fd1f74adcc0", "nhash_after": "fe5448b24d47", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801588CC.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [247], "ansi": "u32 a0", "nhash_before": "0097562d1c0f", "nhash_after": "b2aa67aff0e1", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801588CC.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [248], "ansi": "s32 a0", "nhash_before": "d382e8d70d64", "nhash_after": "a55df4fb18ec", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801588CC.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [246], "ansi": "u32 a0", "nhash_before": "387b45b782f1", "nhash_after": "39e4a90cb72d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801588CC.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [363, 1005], "ansi": "s32 arg0", "nhash_before": "57e0a00c366f", "nhash_after": "cea5dda391c8", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [250], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "b79fbf1ea625", "nhash_after": "0f2b7009c152", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [249], "ansi": "u32 a0, u32 a1", "nhash_before": "3fd1f74adcc0", "nhash_after": "fe5448b24d47", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [247], "ansi": "u32 a0", "nhash_before": "0097562d1c0f", "nhash_after": "b2aa67aff0e1", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [248], "ansi": "s32 a0", "nhash_before": "d382e8d70d64", "nhash_after": "a55df4fb18ec", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [246], "ansi": "u32 a0", "nhash_before": "387b45b782f1", "nhash_after": "39e4a90cb72d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [363, 996], "ansi": "s32 arg0", "nhash_before": "de473b02131e", "nhash_after": "01ee5348afa4", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c", "unit": "decl:func_8015ACC4", "callee": "func_8015ACC4", "header": false, "defn_tu": "src/shared/ov/func_8015ACC4.h", "decls": 1, "lines": [329], "ansi": "s32 *arg0", "nhash_before": "472e1c93ddc2", "nhash_after": "5620d6e0b0dd", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:37", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.c", "unit": "decl:func_8015AD08", "callee": "func_8015AD08", "header": false, "defn_tu": "src/shared/ov/func_8015AD08.h", "decls": 1, "lines": [327], "ansi": "void *arg0", "nhash_before": "2646056b250b", "nhash_after": "c0cfb3196a0c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015444C.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [250], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "b79fbf1ea625", "nhash_after": "0f2b7009c152", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015444C.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [249], "ansi": "u32 a0, u32 a1", "nhash_before": "3fd1f74adcc0", "nhash_after": "fe5448b24d47", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015444C.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [247], "ansi": "u32 a0", "nhash_before": "0097562d1c0f", "nhash_after": "b2aa67aff0e1", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015444C.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [248], "ansi": "s32 a0", "nhash_before": "d382e8d70d64", "nhash_after": "a55df4fb18ec", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015444C.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [246], "ansi": "u32 a0", "nhash_before": "387b45b782f1", "nhash_after": "39e4a90cb72d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015444C.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 1, "lines": [363], "ansi": "s32 arg0", "nhash_before": "dd4dbc765f40", "nhash_after": "9a2d4fffba3d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [250], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "b79fbf1ea625", "nhash_after": "0f2b7009c152", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [249], "ansi": "u32 a0, u32 a1", "nhash_before": "3fd1f74adcc0", "nhash_after": "fe5448b24d47", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [247], "ansi": "u32 a0", "nhash_before": "0097562d1c0f", "nhash_after": "b2aa67aff0e1", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [248], "ansi": "s32 a0", "nhash_before": "d382e8d70d64", "nhash_after": "a55df4fb18ec", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [246], "ansi": "u32 a0", "nhash_before": "387b45b782f1", "nhash_after": "39e4a90cb72d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 1, "lines": [363], "ansi": "s32 arg0", "nhash_before": "dd4dbc765f40", "nhash_after": "9a2d4fffba3d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013F350.c", "unit": "decl:func_80015D4C", "callee": "func_80015D4C", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [732], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "70bb06bd7984", "nhash_after": "36a2c7049935", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013F350.c", "unit": "decl:func_80015F04", "callee": "func_80015F04", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [733], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "1253ef4a5f0f", "nhash_after": "e8ac4cfebae7", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013F350.c", "unit": "decl:func_8012D664", "callee": "func_8012D664", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [382, 384], "ansi": "int arg0, int arg1, int arg2", "nhash_before": "1c1599d1e587", "nhash_after": "c61ad5c9d4db", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013F350.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 3, "lines": [459, 465, 529], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "3d7ecfcde25b", "nhash_after": "330740d2886c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013F350.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [583], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "05b34e1c77ac", "nhash_after": "dbced5782c7f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:38", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013F350.c", "unit": "decl:func_8013D53C", "callee": "func_8013D53C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "decls": 1, "lines": [819], "ansi": "void *arg0v", "nhash_before": "7e4b6e01cb59", "nhash_after": "73d86c9aaf34", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [250], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "b79fbf1ea625", "nhash_after": "0f2b7009c152", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [249], "ansi": "u32 a0, u32 a1", "nhash_before": "3fd1f74adcc0", "nhash_after": "fe5448b24d47", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [247], "ansi": "u32 a0", "nhash_before": "0097562d1c0f", "nhash_after": "b2aa67aff0e1", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [248], "ansi": "s32 a0", "nhash_before": "d382e8d70d64", "nhash_after": "a55df4fb18ec", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [246], "ansi": "u32 a0", "nhash_before": "387b45b782f1", "nhash_after": "39e4a90cb72d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 3, "lines": [363, 996, 1201], "ansi": "s32 arg0", "nhash_before": "ab8d5c91bc4b", "nhash_after": "021fae6ade93", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1515], "ansi": "s32 arg0", "nhash_before": "99da047e4a2f", "nhash_after": "99da047e4a2f", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/../shared/ov/func_8015BEC4.h:5: too few arguments to function `func_8015AE2C' [build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o]"}, "verdict": "DECL-KEPT", "cause": "K&R site: the calls pass [1] arguments, the definition takes s32 arg0 \u2014 kept `()`, marked", "kr": true}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.c", "unit": "decl:func_80015D4C", "callee": "func_80015D4C", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [733], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "1253ef4a5f0f", "nhash_after": "e8ac4cfebae7", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.c", "unit": "decl:func_80015F04", "callee": "func_80015F04", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [734], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "b445b7676e92", "nhash_after": "c418480d6795", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.c", "unit": "decl:func_8012D664", "callee": "func_8012D664", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [385, 387], "ansi": "int arg0, int arg1, int arg2", "nhash_before": "69beb736b082", "nhash_after": "8364e59b95a0", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 3, "lines": [462, 468, 532], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "a388c634da40", "nhash_after": "f5559d5d0f93", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [586], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "400184fbe8aa", "nhash_after": "70e16bcd36b2", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.c", "unit": "decl:func_8013D53C", "callee": "func_8013D53C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "decls": 1, "lines": [819], "ansi": "void *arg0v", "nhash_before": "7e4b6e01cb59", "nhash_after": "73d86c9aaf34", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [262], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "f15905d4809f", "nhash_after": "c9f8cce85db3", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [261], "ansi": "u32 a0, u32 a1", "nhash_before": "2e63b2fbf4c9", "nhash_after": "4e4eb3972f0b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [259], "ansi": "u32 a0", "nhash_before": "44853e32df44", "nhash_after": "00ad5c1ad4cc", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [260], "ansi": "s32 a0", "nhash_before": "6c37f0ea0d4a", "nhash_after": "13344261fa4f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [258], "ansi": "u32 a0", "nhash_before": "afd6cbd00650", "nhash_after": "294095eb091c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_800D20C0", "callee": "func_800D20C0", "header": false, "defn_tu": "src/resident/resident_jr_800D128C.c", "decls": 2, "lines": [1710, 1866], "ansi": "Pos800D20C0 *arg0, SVECTOR *arg1, s16 arg2", "nhash_before": "be96ebe1830c", "nhash_after": "be96ebe1830c", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c:1710: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c:1866: parse error before `*' [build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o]"}, "verdict": "DECL-KEPT", "cause": "compile: src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c:1710: parse error before `*'"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [375, 1002], "ansi": "s32 arg0", "nhash_before": "f8028fd3b861", "nhash_after": "a5a3651047b6", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1194], "ansi": "s32 arg0", "nhash_before": "78e5d1668983", "nhash_after": "09eb833ce3c0", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_8015D01C", "callee": "func_8015D01C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1234, 1239], "ansi": "int param_1", "nhash_before": "f98e560369ff", "nhash_after": "1fa8f8cdb82c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_80160EA4", "callee": "func_80160EA4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1411, 1414], "ansi": "void *a0", "nhash_before": "6d705ea79f0d", "nhash_after": "a80de42c5c89", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_80166994", "callee": "func_80166994", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1692, 1718], "ansi": "s32 param_1, int param_2, int param_3, int param_4", "nhash_before": "709f7c358d03", "nhash_after": "14b34c62687c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_80175184", "callee": "func_80175184", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 3, "lines": [2443, 2445, 2449], "ansi": "s32* arg0", "nhash_before": "8a19b1060e63", "nhash_after": "704025fe7a99", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.c", "unit": "decl:func_80178840", "callee": "func_80178840", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 1, "lines": [2530], "ansi": "int param_1", "nhash_before": "d6b3d522199d", "nhash_after": "b58bc66859c0", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [257], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "f5284dba19fa", "nhash_after": "74c3aee152b5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [256], "ansi": "u32 a0, u32 a1", "nhash_before": "d215e7b9857b", "nhash_after": "11a79ae1a949", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [254], "ansi": "u32 a0", "nhash_before": "b23b65f871f4", "nhash_after": "3538d475129d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [255], "ansi": "s32 a0", "nhash_before": "c555a517bb3c", "nhash_after": "e95e891eac73", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [253], "ansi": "u32 a0", "nhash_before": "0008315972a8", "nhash_after": "5ec742e5412f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_800D20C0", "callee": "func_800D20C0", "header": false, "defn_tu": "src/resident/resident_jr_800D128C.c", "decls": 2, "lines": [1711, 1868], "ansi": "Pos800D20C0 *arg0, SVECTOR *arg1, s16 arg2", "nhash_before": "54e2cac4895b", "nhash_after": "54e2cac4895b", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c:1711: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_801789AC.c:1868: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_801789AC.c: At top level: ["}, "verdict": "DECL-KEPT", "cause": "compile: src/ov_SC04_011/ov_SC04_011_jr_801789AC.c:1711: parse error before `*'"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [370, 1003], "ansi": "s32 arg0", "nhash_before": "8f2e55a563e7", "nhash_after": "d66d3e227a8f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1195], "ansi": "s32 arg0", "nhash_before": "cf19243506bf", "nhash_after": "be51871add80", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_8015D01C", "callee": "func_8015D01C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1235, 1240], "ansi": "int param_1", "nhash_before": "75f3aeb26d09", "nhash_after": "604b2b1c3dc3", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80160EA4", "callee": "func_80160EA4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1412, 1415], "ansi": "void *a0", "nhash_before": "9c7ed927126e", "nhash_after": "165262f618f5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80166994", "callee": "func_80166994", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1693, 1719], "ansi": "s32 param_1, int param_2, int param_3, int param_4", "nhash_before": "b6de790b75bb", "nhash_after": "a3e69d116484", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80175184", "callee": "func_80175184", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 3, "lines": [2463, 2465, 2469], "ansi": "s32* arg0", "nhash_before": "c78ccc5300a8", "nhash_after": "917c1fe49262", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80178840", "callee": "func_80178840", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 2, "lines": [2574, 2576], "ansi": "int param_1", "nhash_before": "0c2516649860", "nhash_after": "3fa84e56c157", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80178BF8", "callee": "func_80178BF8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "decls": 2, "lines": [2664, 2683], "ansi": "void", "nhash_before": "dd1d20d74ae8", "nhash_after": "36591dadff11", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:39", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "unit": "decl:func_80178CBC", "callee": "func_80178CBC", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801789AC.c", "decls": 3, "lines": [2592, 2665, 2684], "ansi": "s32 arg0, s32 arg1", "nhash_before": "d894cd6eec5b", "nhash_after": "867e6339529f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80140608.c", "unit": "decl:func_80015D4C", "callee": "func_80015D4C", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [728], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "8ddf5ea19713", "nhash_after": "e8cf564a83d8", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80140608.c", "unit": "decl:func_80015F04", "callee": "func_80015F04", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [729], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "9e37801c921b", "nhash_after": "2972f959489f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80140608.c", "unit": "decl:func_8012D664", "callee": "func_8012D664", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [380, 382], "ansi": "int arg0, int arg1, int arg2", "nhash_before": "0b39667ba17d", "nhash_after": "4108af32a9b5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80140608.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 3, "lines": [457, 463, 527], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "f2890b60a264", "nhash_after": "82ad7a9c6e40", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80140608.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [581], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "035588602d9c", "nhash_after": "6c08cb80a73c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80140608.c", "unit": "decl:func_8013D53C", "callee": "func_8013D53C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "decls": 1, "lines": [814], "ansi": "void *arg0v", "nhash_before": "cf2a1a35fda7", "nhash_after": "004385d6fa3e", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_o0c.c", "unit": "decl:func_80015D4C", "callee": "func_80015D4C", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [729], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "9e37801c921b", "nhash_after": "2972f959489f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_o0c.c", "unit": "decl:func_80015F04", "callee": "func_80015F04", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [730], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "fc47838328fb", "nhash_after": "ad3e2d01ebd1", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_o0c.c", "unit": "decl:func_8012D664", "callee": "func_8012D664", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [376, 378], "ansi": "int arg0, int arg1, int arg2", "nhash_before": "739082144903", "nhash_after": "a34b42b82abb", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_o0c.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 3, "lines": [453, 459, 523], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "ee017aedc4b9", "nhash_after": "2dc097f4b966", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_o0c.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [577], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "2461e8581742", "nhash_after": "473f385a3817", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135D20.c", "unit": "decl:func_8012D664", "callee": "func_8012D664", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [386, 388], "ansi": "int arg0, int arg1, int arg2", "nhash_before": "a5f93b3dcc5d", "nhash_after": "1a6a332b9d3b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135D20.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 3, "lines": [465, 471, 539], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "da66cf92ab56", "nhash_after": "9ace3bb7a9cd", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135D20.c", "unit": "decl:func_80131E00", "callee": "func_80131E00", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [456, 541], "ansi": "struct S80131E00 *a0, s32 a1", "nhash_before": "5d42f226e687", "nhash_after": "64c4b867f9cd", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135D20.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [600], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "52cb0135f1af", "nhash_after": "186596622a70", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [262], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "f15905d4809f", "nhash_after": "c9f8cce85db3", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [261], "ansi": "u32 a0, u32 a1", "nhash_before": "2e63b2fbf4c9", "nhash_after": "4e4eb3972f0b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [259], "ansi": "u32 a0", "nhash_before": "44853e32df44", "nhash_after": "00ad5c1ad4cc", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [260], "ansi": "s32 a0", "nhash_before": "6c37f0ea0d4a", "nhash_after": "13344261fa4f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [258], "ansi": "u32 a0", "nhash_before": "afd6cbd00650", "nhash_after": "294095eb091c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_800D20C0", "callee": "func_800D20C0", "header": false, "defn_tu": "src/resident/resident_jr_800D128C.c", "decls": 2, "lines": [1710, 1866], "ansi": "Pos800D20C0 *arg0, SVECTOR *arg1, s16 arg2", "nhash_before": "be96ebe1830c", "nhash_after": "be96ebe1830c", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c:1710: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_80178D40.c:1866: parse error before `*'\nsrc/ov_SC04_011/../shared/ov/func_80179D30.h: At top level"}, "verdict": "DECL-KEPT", "cause": "compile: src/ov_SC04_011/ov_SC04_011_jr_80178D40.c:1710: parse error before `*'"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [375, 1002], "ansi": "s32 arg0", "nhash_before": "f8028fd3b861", "nhash_after": "a5a3651047b6", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1194], "ansi": "s32 arg0", "nhash_before": "78e5d1668983", "nhash_after": "09eb833ce3c0", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_8015D01C", "callee": "func_8015D01C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1234, 1239], "ansi": "int param_1", "nhash_before": "f98e560369ff", "nhash_after": "1fa8f8cdb82c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_80160EA4", "callee": "func_80160EA4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1411, 1414], "ansi": "void *a0", "nhash_before": "6d705ea79f0d", "nhash_after": "a80de42c5c89", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_80166994", "callee": "func_80166994", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1692, 1718], "ansi": "s32 param_1, int param_2, int param_3, int param_4", "nhash_before": "709f7c358d03", "nhash_after": "14b34c62687c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_80175184", "callee": "func_80175184", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 3, "lines": [2443, 2445, 2449], "ansi": "s32* arg0", "nhash_before": "8a19b1060e63", "nhash_after": "704025fe7a99", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80178D40.c", "unit": "decl:func_80178840", "callee": "func_80178840", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 1, "lines": [2530], "ansi": "int param_1", "nhash_before": "d6b3d522199d", "nhash_after": "b58bc66859c0", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135888.c", "unit": "decl:func_8012D664", "callee": "func_8012D664", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [386, 388], "ansi": "int arg0, int arg1, int arg2", "nhash_before": "a5f93b3dcc5d", "nhash_after": "1a6a332b9d3b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135888.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 3, "lines": [465, 471, 539], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "da66cf92ab56", "nhash_after": "9ace3bb7a9cd", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135888.c", "unit": "decl:func_80131E00", "callee": "func_80131E00", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [456, 541], "ansi": "struct S80131E00 *a0, s32 a1", "nhash_before": "5d42f226e687", "nhash_after": "64c4b867f9cd", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135888.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [600], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "52cb0135f1af", "nhash_after": "186596622a70", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135A4C.c", "unit": "decl:func_8012D664", "callee": "func_8012D664", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [386, 388], "ansi": "int arg0, int arg1, int arg2", "nhash_before": "a5f93b3dcc5d", "nhash_after": "1a6a332b9d3b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135A4C.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 3, "lines": [465, 471, 539], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "da66cf92ab56", "nhash_after": "9ace3bb7a9cd", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135A4C.c", "unit": "decl:func_80131E00", "callee": "func_80131E00", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [456, 541], "ansi": "struct S80131E00 *a0, s32 a1", "nhash_before": "5d42f226e687", "nhash_after": "64c4b867f9cd", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80135A4C.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [600], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "52cb0135f1af", "nhash_after": "186596622a70", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [262], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "f15905d4809f", "nhash_after": "c9f8cce85db3", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [261], "ansi": "u32 a0, u32 a1", "nhash_before": "2e63b2fbf4c9", "nhash_after": "4e4eb3972f0b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [259], "ansi": "u32 a0", "nhash_before": "44853e32df44", "nhash_after": "00ad5c1ad4cc", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [260], "ansi": "s32 a0", "nhash_before": "6c37f0ea0d4a", "nhash_after": "13344261fa4f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [258], "ansi": "u32 a0", "nhash_before": "afd6cbd00650", "nhash_after": "294095eb091c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_800D20C0", "callee": "func_800D20C0", "header": false, "defn_tu": "src/resident/resident_jr_800D128C.c", "decls": 2, "lines": [1708, 1864], "ansi": "Pos800D20C0 *arg0, SVECTOR *arg1, s16 arg2", "nhash_before": "ebed1df43af6", "nhash_after": "ebed1df43af6", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:1708: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:1864: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c: At top level: ["}, "verdict": "DECL-KEPT", "cause": "compile: src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c:1708: parse error before `*'"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [375, 1000], "ansi": "s32 arg0", "nhash_before": "86b89ff35719", "nhash_after": "5567e1334f08", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1192], "ansi": "s32 arg0", "nhash_before": "02c5888c8931", "nhash_after": "45ad41efaa34", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_8015D01C", "callee": "func_8015D01C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1232, 1237], "ansi": "int param_1", "nhash_before": "b5158f3a6a64", "nhash_after": "8a3c707e7611", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_80160EA4", "callee": "func_80160EA4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1409, 1412], "ansi": "void *a0", "nhash_before": "6fb61c77f8b7", "nhash_after": "48d3be47dc1c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_80166994", "callee": "func_80166994", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1690, 1716], "ansi": "s32 param_1, int param_2, int param_3, int param_4", "nhash_before": "b813aad60a70", "nhash_after": "58da33963406", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_80175184", "callee": "func_80175184", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 3, "lines": [2441, 2443, 2447], "ansi": "s32* arg0", "nhash_before": "4bad8f0137c4", "nhash_after": "0bba0dab45be", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:40", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.c", "unit": "decl:func_80178840", "callee": "func_80178840", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 1, "lines": [2528], "ansi": "int param_1", "nhash_before": "86fa340623e2", "nhash_after": "cc8881d8843d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "unit": "decl:func_80015D4C", "callee": "func_80015D4C", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [730], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "fc47838328fb", "nhash_after": "ad3e2d01ebd1", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "unit": "decl:func_80015F04", "callee": "func_80015F04", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [731], "ansi": "s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8", "nhash_before": "568e0380d2c5", "nhash_after": "0362cab91cb4", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "unit": "decl:func_80028620", "callee": "func_80028620", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [1041], "ansi": "s32 a0, void *a1", "nhash_before": "cefb52eef0a8", "nhash_after": "bf1ad8dfd8c8", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "unit": "decl:func_8012D664", "callee": "func_8012D664", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [377, 379], "ansi": "int arg0, int arg1, int arg2", "nhash_before": "9c839c8d0167", "nhash_after": "02e7e50dc702", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 3, "lines": [454, 460, 524], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "36894a8a1dc5", "nhash_after": "b7ec34320e03", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [578], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "88b787150d06", "nhash_after": "0dfc71b31536", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "unit": "decl:func_8013D53C", "callee": "func_8013D53C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "decls": 1, "lines": [1239], "ansi": "void *arg0v", "nhash_before": "2671e1db4b13", "nhash_after": "2671e1db4b13", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c:1260: too few arguments to function `func_8013D53C'\nsrc/ov_SC04_011/../shared/ov/func_8013EA54.h: At top level: [build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C"}, "verdict": "DECL-KEPT", "cause": "K&R site: the calls pass [0] arguments, the definition takes void *arg0v \u2014 kept `()`, marked", "kr": true}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "unit": "decl:func_8013D9B0", "callee": "func_8013D9B0", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "decls": 3, "lines": [919, 1092, 1120], "ansi": "int param_1", "nhash_before": "d494afca9a73", "nhash_after": "d494afca9a73", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c:1124: too few arguments to function `func_8013D9B0'\nsrc/ov_SC04_011/../shared/ov/func_8013EA54.h: At top level: [build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C"}, "verdict": "DECL-KEPT", "cause": "K&R site: the calls pass [0, 1] arguments, the definition takes int param_1 \u2014 kept `()`, marked", "kr": true}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "unit": "decl:func_8013DBE4", "callee": "func_8013DBE4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8013C98C.c", "decls": 1, "lines": [918], "ansi": "int param_1", "nhash_before": "6b1b774f8eb6", "nhash_after": "0c7ad7b80dc5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [257], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "f5284dba19fa", "nhash_after": "74c3aee152b5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [256], "ansi": "u32 a0, u32 a1", "nhash_before": "d215e7b9857b", "nhash_after": "11a79ae1a949", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [254], "ansi": "u32 a0", "nhash_before": "b23b65f871f4", "nhash_after": "3538d475129d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [255], "ansi": "s32 a0", "nhash_before": "c555a517bb3c", "nhash_after": "e95e891eac73", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [253], "ansi": "u32 a0", "nhash_before": "0008315972a8", "nhash_after": "5ec742e5412f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_800D20C0", "callee": "func_800D20C0", "header": false, "defn_tu": "src/resident/resident_jr_800D128C.c", "decls": 2, "lines": [1712, 1889], "ansi": "Pos800D20C0 *arg0, SVECTOR *arg1, s16 arg2", "nhash_before": "abb0e1864854", "nhash_after": "abb0e1864854", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c:1712: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_80171B4C.c:1889: parse error before `*' [build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o]"}, "verdict": "DECL-KEPT", "cause": "compile: src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c:1712: parse error before `*'"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [370, 997], "ansi": "s32 arg0", "nhash_before": "7f303579ba71", "nhash_after": "ad03c77651c0", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1189], "ansi": "s32 arg0", "nhash_before": "0a7a54f71e9c", "nhash_after": "c99efc66a828", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_8015D01C", "callee": "func_8015D01C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1240, 1244], "ansi": "int param_1", "nhash_before": "250f12f57b2e", "nhash_after": "8ea1030da6f8", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_80160EA4", "callee": "func_80160EA4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1416, 1419], "ansi": "void *a0", "nhash_before": "99176eaa579a", "nhash_after": "1f61c496cc40", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_80166994", "callee": "func_80166994", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1694, 1720], "ansi": "s32 param_1, int param_2, int param_3, int param_4", "nhash_before": "83236efcf105", "nhash_after": "1e7fa4079f7c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_8016B234", "callee": "func_8016B234", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "decls": 2, "lines": [1802, 1810], "ansi": "s32 param_1", "nhash_before": "9009bb992fdf", "nhash_after": "9a50a7a91a59", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_80171B4C.c", "unit": "decl:func_8016CF04", "callee": "func_8016CF04", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "decls": 2, "lines": [1866, 1872], "ansi": "s32 param_1, s32 param_2", "nhash_before": "2d0eccbb77e5", "nhash_after": "8c685a34a92b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801380E0.c", "unit": "decl:func_8012D664", "callee": "func_8012D664", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [380, 382], "ansi": "int arg0, int arg1, int arg2", "nhash_before": "0b39667ba17d", "nhash_after": "4108af32a9b5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801380E0.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 3, "lines": [457, 463, 527], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "f2890b60a264", "nhash_after": "82ad7a9c6e40", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801380E0.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [581], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "035588602d9c", "nhash_after": "6c08cb80a73c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801380E0.c", "unit": "decl:func_801392FC", "callee": "func_801392FC", "header": false, "defn_tu": "src/shared/ov/func_801392FC.h", "decls": 1, "lines": [646], "ansi": "s32 arg0, s32 arg1, u8 *arg2", "nhash_before": "b18ccb7a679d", "nhash_after": "3415dc67a2d2", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "unit": "decl:func_8012F568", "callee": "func_8012F568", "header": false, "defn_tu": "src/shared/ov/func_8012F568.h", "decls": 2, "lines": [556, 581], "ansi": "s32 param_1, s32 param_2, s32 param_3, s32 param_4, s32 param_5, s32 param_6", "nhash_before": "e39141123b7d", "nhash_after": "3ca3374e769d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "unit": "decl:func_80131170", "callee": "func_80131170", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 2, "lines": [953, 970], "ansi": "s32 p, s32 b, s32 c", "nhash_before": "4a0b2e368b8f", "nhash_after": "6df7aa13778e", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "unit": "decl:func_80131E00", "callee": "func_80131E00", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [1425], "ansi": "struct S80131E00 *a0, s32 a1", "nhash_before": "a5118dba7703", "nhash_after": "d364f5437a20", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "unit": "decl:func_80133CD4", "callee": "func_80133CD4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "decls": 1, "lines": [2267], "ansi": "int arg0, s16 * cmd, s16 * base, s32 * arr", "nhash_before": "0ddba7e0c4ce", "nhash_after": "245069717fe3", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "unit": "decl:func_80134310", "callee": "func_80134310", "header": false, "defn_tu": "src/shared/ov/func_80134310.h", "decls": 1, "lines": [2358], "ansi": "Vec3s *a0, Vec3s *a1, s32 a2", "nhash_before": "fc13385b1e29", "nhash_after": "d49dd2934bdd", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.c", "unit": "decl:func_8013435C", "callee": "func_8013435C", "header": false, "defn_tu": "src/shared/ov/func_8013435C.h", "decls": 1, "lines": [2359], "ansi": "s16 *a0, s16 *a1, s32 a2, s16 *a3", "nhash_before": "92d560bb8161", "nhash_after": "4d1f09707e07", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_80016714", "callee": "func_80016714", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [126], "ansi": "void *ptr, s32 len", "nhash_before": "e0f737731a09", "nhash_after": "54ec8bb8fee0", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_8001C320", "callee": "func_8001C320", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [127], "ansi": "s32 a0, s32 a1", "nhash_before": "3ec97e65b3cc", "nhash_after": "4486a24abbe9", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_80145EE8", "callee": "func_80145EE8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_after.c", "decls": 1, "lines": [139], "ansi": "s32 param_1", "nhash_before": "e1c8b7de3760", "nhash_after": "0408bc1c481b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_801468C8", "callee": "func_801468C8", "header": false, "defn_tu": "src/shared/ov/func_801468C8.h", "decls": 1, "lines": [138], "ansi": "s32 arg0, u8 arg1", "nhash_before": "607ed8a89c16", "nhash_after": "71d88fe2a247", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_80147084", "callee": "func_80147084", "header": false, "defn_tu": "src/shared/ov/func_80147084.h", "decls": 1, "lines": [129], "ansi": "s32 *a0", "nhash_before": "dfc20f52f0a1", "nhash_after": "d466758809cc", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_80147098", "callee": "func_80147098", "header": false, "defn_tu": "src/shared/ov/func_80147098.h", "decls": 1, "lines": [130], "ansi": "s32 *a0", "nhash_before": "8b6562ca69a4", "nhash_after": "2265e8007e57", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_801470AC", "callee": "func_801470AC", "header": false, "defn_tu": "src/shared/ov/func_801470AC.h", "decls": 2, "lines": [131, 2550], "ansi": "s32 *a0", "nhash_before": "d471bd9309c5", "nhash_after": "08eea7928898", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_80149210", "callee": "func_80149210", "header": false, "defn_tu": "src/shared/ov/func_80149210.h", "decls": 1, "lines": [132], "ansi": "s32 a0, s32 a1", "nhash_before": "03ee0a75ba2c", "nhash_after": "bbf26a930b85", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_8014F4C0", "callee": "func_8014F4C0", "header": false, "defn_tu": "src/shared/ov/func_8014F4C0.h", "decls": 1, "lines": [2025], "ansi": "s32 arg0", "nhash_before": "a85c22ccde42", "nhash_after": "eb99a2422bd3", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_after.c", "unit": "decl:func_8014F74C", "callee": "func_8014F74C", "header": false, "defn_tu": "src/shared/ov/func_8014F74C.h", "decls": 1, "lines": [2070], "ansi": "s32 arg0", "nhash_before": "6eb31bd76aca", "nhash_after": "883b24ea9bd7", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011.c", "unit": "decl:func_801299C8", "callee": "func_801299C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011.c", "decls": 1, "lines": [478], "ansi": "int arg0, int arg1, u8 * arg2", "nhash_before": "6bba241ad292", "nhash_after": "da583345849a", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:41", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011.c", "unit": "decl:func_8012AAAC", "callee": "func_8012AAAC", "header": false, "defn_tu": "src/shared/ov/func_8012AAAC__t6631232b.h", "decls": 2, "lines": [739, 744], "ansi": "void *arg0", "nhash_before": "9bc2253bec69", "nhash_after": "2a86db25f1af", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [260], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "dbc91e937a66", "nhash_after": "b638e5149dfd", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [259], "ansi": "u32 a0, u32 a1", "nhash_before": "44853e32df44", "nhash_after": "dc492f992649", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [257], "ansi": "u32 a0", "nhash_before": "6e7fab503dc0", "nhash_after": "0d32e86e917d", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [258], "ansi": "s32 a0", "nhash_before": "afd6cbd00650", "nhash_after": "98bb3532b0e4", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [256], "ansi": "u32 a0", "nhash_before": "d215e7b9857b", "nhash_after": "70fc275cf3ca", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_800D20C0", "callee": "func_800D20C0", "header": false, "defn_tu": "src/resident/resident_jr_800D128C.c", "decls": 2, "lines": [1713, 1870], "ansi": "Pos800D20C0 *arg0, SVECTOR *arg1, s16 arg2", "nhash_before": "052bdd85be98", "nhash_after": "052bdd85be98", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c:1713: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_801734BC.c:1870: parse error before `*' [build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o]"}, "verdict": "DECL-KEPT", "cause": "compile: src/ov_SC04_011/ov_SC04_011_jr_801734BC.c:1713: parse error before `*'"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [373, 1005], "ansi": "s32 arg0", "nhash_before": "d2485300447b", "nhash_after": "6f01b596d83e", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1197], "ansi": "s32 arg0", "nhash_before": "96809e52013a", "nhash_after": "ae2809e507d7", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_8015D01C", "callee": "func_8015D01C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1237, 1242], "ansi": "int param_1", "nhash_before": "992c237f1aba", "nhash_after": "9acecca13210", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_80160EA4", "callee": "func_80160EA4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1414, 1417], "ansi": "void *a0", "nhash_before": "79a53accd36e", "nhash_after": "881812f502f4", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:42", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "unit": "decl:func_80166994", "callee": "func_80166994", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1695, 1721], "ansi": "s32 param_1, int param_2, int param_3, int param_4", "nhash_before": "aff695001a60", "nhash_after": "1cdfa449b45e", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [252], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "0e825de5674b", "nhash_after": "c19833a50c8f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [251], "ansi": "u32 a0, u32 a1", "nhash_before": "ca01c82bb552", "nhash_after": "babb2209007a", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [249], "ansi": "u32 a0", "nhash_before": "3fd1f74adcc0", "nhash_after": "e2fb512aeae5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [250], "ansi": "s32 a0", "nhash_before": "18d0a6a46f58", "nhash_after": "30fb0e250e2e", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [248], "ansi": "u32 a0", "nhash_before": "d382e8d70d64", "nhash_after": "79b909f6dd00", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_80017714", "callee": "func_80017714", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [2530], "ansi": "void *arg0", "nhash_before": "d6b3d522199d", "nhash_after": "60055e18a6af", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [365, 990], "ansi": "s32 arg0", "nhash_before": "eaf2af7f7806", "nhash_after": "48e001e03aed", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1182], "ansi": "s32 arg0", "nhash_before": "caefa0d51ea3", "nhash_after": "f51464d29ca1", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_8015D01C", "callee": "func_8015D01C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1233, 1237], "ansi": "int param_1", "nhash_before": "55c2638dbf56", "nhash_after": "7d7d1bf59760", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_80160EA4", "callee": "func_80160EA4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1409, 1412], "ansi": "void *a0", "nhash_before": "6fb61c77f8b7", "nhash_after": "48d3be47dc1c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_80166994", "callee": "func_80166994", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1687, 1713], "ansi": "s32 param_1, int param_2, int param_3, int param_4", "nhash_before": "02f293819a53", "nhash_after": "c324cbd8c5cc", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_8016B234", "callee": "func_8016B234", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "decls": 1, "lines": [2012], "ansi": "s32 param_1", "nhash_before": "2d06b2e8657e", "nhash_after": "2d06b2e8657e", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/../shared/ov/func_8016AE5C__te4eb1475.h:8: too few arguments to function `func_8016B234'\nsrc/ov_SC04_011/../shared/ov/func_8016AFB0.h:11: too few arguments to function `func_8016B234'\n"}, "verdict": "DECL-KEPT", "cause": "K&R site: the calls pass [] arguments, the definition takes s32 param_1 \u2014 kept `()`, marked", "kr": true}
|
||||
{"ts": "2026-09-12 09:27:43", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "unit": "decl:func_8016BF50", "callee": "func_8016BF50", "header": false, "defn_tu": "src/shared/ov/func_8016BF50.h", "decls": 3, "lines": [2367, 2442, 2483], "ansi": "s32 param", "nhash_before": "86cd8c008260", "nhash_after": "86cd8c008260", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c:2454: too few arguments to function `func_8016BF50'\nsrc/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c:2489: too few arguments to function `func_8016BF50'\nsrc/ov_SC04_"}, "verdict": "DECL-KEPT", "cause": "arity: the calls pass another count and not every declaration is `()` \u2014 needs a reading"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [248], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "024a3f80537a", "nhash_after": "f6194b05b5b0", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [247], "ansi": "u32 a0, u32 a1", "nhash_before": "0097562d1c0f", "nhash_after": "256a8bd46f9b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [245], "ansi": "u32 a0", "nhash_before": "487532f895e8", "nhash_after": "db7209c0c572", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [246], "ansi": "s32 a0", "nhash_before": "387b45b782f1", "nhash_after": "f6abc20494ad", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [244], "ansi": "u32 a0", "nhash_before": "2581cabe9126", "nhash_after": "744b026ba81f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_800D2318", "callee": "func_800D2318", "header": false, "defn_tu": "src/resident/resident_jr_800D128C.c", "decls": 1, "lines": [5794], "ansi": "s32 *p", "nhash_before": "1e089c30afc6", "nhash_after": "1e089c30afc6", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": " 1546 | #define NULL 0\n | \ninclude/common.h:41: note: this is the location of the previous definition\n 41 | #define NULL ((void *)0) /* m2c emits NULL for null pointers; byte-neutral (== 0) *"}, "verdict": "DECL-KEPT", "cause": "compile: 1546 | #define NULL 0"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_80151944", "callee": "func_80151944", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_after.c", "decls": 1, "lines": [726], "ansi": "void *a0", "nhash_before": "7fdea00e5612", "nhash_after": "dddefd7a07be", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [361, 989], "ansi": "s32 arg0", "nhash_before": "e332c0bfc10e", "nhash_after": "67fdbb8190c5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1181], "ansi": "s32 arg0", "nhash_before": "974d0a0d2762", "nhash_after": "6430cba6f38c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_8015D4B4", "callee": "func_8015D4B4", "header": false, "defn_tu": "src/shared/ov/func_8015D4B4.h", "decls": 1, "lines": [382], "ansi": "s16 *a0", "nhash_before": "7a6d422793ea", "nhash_after": "2327c1a0f7cf", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_8015E184", "callee": "func_8015E184", "header": false, "defn_tu": "src/shared/ov/func_8015E184.h", "decls": 1, "lines": [397], "ansi": "s32 *arg0", "nhash_before": "f6b40a0ca88f", "nhash_after": "882285a1e1f7", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_8015EDD4", "callee": "func_8015EDD4", "header": false, "defn_tu": "src/shared/ov/func_8015EDD4.h", "decls": 1, "lines": [392], "ansi": "s32 *arg0", "nhash_before": "fbbee44003f8", "nhash_after": "6d161a14904f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_8015F7A0", "callee": "func_8015F7A0", "header": false, "defn_tu": "src/shared/ov/func_8015F7A0.h", "decls": 1, "lines": [331], "ansi": "s32 *arg0", "nhash_before": "b1f01fa52443", "nhash_after": "898dec6f5d29", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_80160B00", "callee": "func_80160B00", "header": false, "defn_tu": "src/shared/ov/func_80160B00.h", "decls": 1, "lines": [338], "ansi": "s32 *arg0", "nhash_before": "22a5e3516caa", "nhash_after": "22a5e3516caa", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": " 1546 | #define NULL 0\n | \ninclude/common.h:41: note: this is the location of the previous definition\n 41 | #define NULL ((void *)0) /* m2c emits NULL for null pointers; byte-neutral (== 0) *"}, "verdict": "DECL-KEPT", "cause": "K&R site: the calls pass [] arguments, the definition takes s32 *arg0 \u2014 kept `()`, marked", "kr": true}
|
||||
{"ts": "2026-09-12 09:27:46", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "unit": "decl:func_80166244", "callee": "func_80166244", "header": false, "defn_tu": "src/shared/ov/func_80166244.h", "decls": 1, "lines": [449], "ansi": "void* arg0", "nhash_before": "cf6a1f1685a8", "nhash_after": "a7339d8c5f9f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_800120DC", "callee": "func_800120DC", "header": false, "defn_tu": "src/boot.c", "decls": 1, "lines": [262], "ansi": "u16 *arg0, u16 *arg1", "nhash_before": "f15905d4809f", "nhash_after": "c9f8cce85db3", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80014CF8", "callee": "func_80014CF8", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [261], "ansi": "u32 a0, u32 a1", "nhash_before": "2e63b2fbf4c9", "nhash_after": "4e4eb3972f0b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80014D68", "callee": "func_80014D68", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [259], "ansi": "u32 a0", "nhash_before": "44853e32df44", "nhash_after": "00ad5c1ad4cc", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80014D94", "callee": "func_80014D94", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [260], "ansi": "s32 a0", "nhash_before": "6c37f0ea0d4a", "nhash_after": "13344261fa4f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80014DC0", "callee": "func_80014DC0", "header": false, "defn_tu": "src/800.c", "decls": 1, "lines": [258], "ansi": "u32 a0", "nhash_before": "afd6cbd00650", "nhash_after": "294095eb091c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8001AAA0", "callee": "func_8001AAA0", "header": false, "defn_tu": "src/800.c", "decls": 2, "lines": [2582, 6686], "ansi": "s32 arg0", "nhash_before": "7eb99589ece9", "nhash_after": "f4d5a15cc2f2", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_800D20C0", "callee": "func_800D20C0", "header": false, "defn_tu": "src/resident/resident_jr_800D128C.c", "decls": 2, "lines": [1708, 1864], "ansi": "Pos800D20C0 *arg0, SVECTOR *arg1, s16 arg2", "nhash_before": "ebed1df43af6", "nhash_after": "ebed1df43af6", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c:1708: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_8017D494.c:1864: parse error before `*'\nsrc/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:\ns"}, "verdict": "DECL-KEPT", "cause": "compile: src/ov_SC04_011/ov_SC04_011_jr_8017D494.c:1708: parse error before `*'"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_800D2318", "callee": "func_800D2318", "header": false, "defn_tu": "src/resident/resident_jr_800D128C.c", "decls": 1, "lines": [1742], "ansi": "s32 *p", "nhash_before": "27bdef160939", "nhash_after": "8149edb22c77", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80151944", "callee": "func_80151944", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_after.c", "decls": 1, "lines": [742], "ansi": "void *a0", "nhash_before": "e46c7f8da709", "nhash_after": "3f6d5f296e5f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_801577C8", "callee": "func_801577C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_80154C24.c", "decls": 2, "lines": [375, 1000], "ansi": "s32 arg0", "nhash_before": "86b89ff35719", "nhash_after": "5567e1334f08", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8015AE2C", "callee": "func_8015AE2C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.c", "decls": 1, "lines": [1192], "ansi": "s32 arg0", "nhash_before": "02c5888c8931", "nhash_after": "45ad41efaa34", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8015D01C", "callee": "func_8015D01C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1232, 1237], "ansi": "int param_1", "nhash_before": "b5158f3a6a64", "nhash_after": "8a3c707e7611", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80160EA4", "callee": "func_80160EA4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1409, 1412], "ansi": "void *a0", "nhash_before": "6fb61c77f8b7", "nhash_after": "48d3be47dc1c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80166994", "callee": "func_80166994", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8015C32C.c", "decls": 2, "lines": [1690, 1716], "ansi": "s32 param_1, int param_2, int param_3, int param_4", "nhash_before": "b813aad60a70", "nhash_after": "58da33963406", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8016B234", "callee": "func_8016B234", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.c", "decls": 1, "lines": [1795], "ansi": "s32 param_1", "nhash_before": "bc1e8dd9e667", "nhash_after": "c46991b9f817", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80175184", "callee": "func_80175184", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 3, "lines": [2433, 2435, 2439], "ansi": "s32* arg0", "nhash_before": "31ca6cdeec3b", "nhash_after": "ce7f4c9c1485", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80178840", "callee": "func_80178840", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_801734BC.c", "decls": 1, "lines": [2520], "ansi": "int param_1", "nhash_before": "e787a38997f1", "nhash_after": "59bbd46712ee", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8017E6EC", "callee": "func_8017E6EC", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [3156], "ansi": "s32 a0, s32 a1", "nhash_before": "d32dab68dc59", "nhash_after": "2126ce07da44", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8017ECD8", "callee": "func_8017ECD8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [3441], "ansi": "s32 a0", "nhash_before": "d169b6443cc5", "nhash_after": "07298b15ff14", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80180AB4", "callee": "func_80180AB4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [9669], "ansi": "struct Ent_80180AB4 *arg0", "nhash_before": "e03c91dcdcb1", "nhash_after": "5c56ef81327c", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80181868", "callee": "func_80181868", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [10974], "ansi": "u8 *self", "nhash_before": "7ce87377d565", "nhash_after": "f8f118ad26d2", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80182AF8", "callee": "func_80182AF8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [6167], "ansi": "s32 a0", "nhash_before": "d2211cb90622", "nhash_after": "27aa17ecaabc", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80183564", "callee": "func_80183564", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 9, "lines": [4795, 4909, 4943, 5070, 5172, 5293, 5362, 6320, 6805], "ansi": "s32 a0, s16 *a1", "nhash_before": "8e08f731e0d8", "nhash_after": "af5eb7c18aee", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80183BD0", "callee": "func_80183BD0", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 5, "lines": [4809, 5043, 5180, 5294, 6321], "ansi": "s32 a0", "nhash_before": "dd7b553b58f0", "nhash_after": "0fd4c8634bb6", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8018489C", "callee": "func_8018489C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 3, "lines": [7707, 7778, 9768], "ansi": "s32 arg0, s32 arg1, s32 arg2", "nhash_before": "b4683cb55f7f", "nhash_after": "5aadca3a4f34", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80184ABC", "callee": "func_80184ABC", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 2, "lines": [6803, 7101], "ansi": "s32 a0", "nhash_before": "1a3b721d1dad", "nhash_after": "2b4324c8dcc5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80184B3C", "callee": "func_80184B3C", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [8041], "ansi": "void *a0", "nhash_before": "6730c09ec9b9", "nhash_after": "4ad99eb4cfe3", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80184CCC", "callee": "func_80184CCC", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 7, "lines": [5364, 5550, 5667, 5701, 5797, 6003, 9713], "ansi": "s32 a0, s32 a1", "nhash_before": "c0a82eb51699", "nhash_after": "445ef9c6ceb7", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80184DB8", "callee": "func_80184DB8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 6, "lines": [5365, 5544, 5705, 5841, 6004, 9714], "ansi": "s32 a0", "nhash_before": "589054bd95a8", "nhash_after": "e3b35ff24548", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80185648", "callee": "func_80185648", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 4, "lines": [6848, 7136, 8194, 9639], "ansi": "u32 a0", "nhash_before": "9763dc68c464", "nhash_after": "c9cbb493eefa", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80186110", "callee": "func_80186110", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [9595], "ansi": "s32 arg0", "nhash_before": "b70d3dc9a210", "nhash_after": "51e113165975", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80186300", "callee": "func_80186300", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 4, "lines": [5363, 5546, 5837, 6116], "ansi": "s32 a0, void *a1, s32 a2", "nhash_before": "fcea9fae6ed2", "nhash_after": "dd13a4d598d2", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_801863D4", "callee": "func_801863D4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 3, "lines": [4683, 6801, 7099], "ansi": "void *a0", "nhash_before": "6cf283c3d04c", "nhash_after": "6cf283c3d04c", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:\nsrc/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:\nsrc/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:\nsrc/ov_SC04_011/ov_SC04_011_j"}, "verdict": "DECL-KEPT", "cause": "K&R site: the calls pass [0, 1] arguments, the definition takes void *a0 \u2014 kept `()`, marked", "kr": true}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_801868A0", "callee": "func_801868A0", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 2, "lines": [9210, 9223], "ansi": "void *a0, u16 *a1", "nhash_before": "96d8a0a98030", "nhash_after": "9cb20309a244", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80186E54", "callee": "func_80186E54", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [9515], "ansi": "s32 arg0, s32 arg1, s32 arg2", "nhash_before": "cc6f6d2866e4", "nhash_after": "5b57efbfefc5", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80186EBC", "callee": "func_80186EBC", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 3, "lines": [6277, 6409, 6752], "ansi": "void *a0", "nhash_before": "2df74b7e5763", "nhash_after": "b1055f4d53a3", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80188054", "callee": "func_80188054", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [10355], "ansi": "short *a0, short *a1", "nhash_before": "d33217f3cc51", "nhash_after": "5ad522732643", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80189108", "callee": "func_80189108", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [13590], "ansi": "s32 *a0", "nhash_before": "7de7299918fd", "nhash_after": "8522edef54ef", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80189188", "callee": "func_80189188", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [5359], "ansi": "void *a0", "nhash_before": "18a05bdfe1cf", "nhash_after": "01b08592a609", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80189270", "callee": "func_80189270", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [5360], "ansi": "s32 arg0", "nhash_before": "cb818ac88174", "nhash_after": "f3a589ff177b", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80189410", "callee": "func_80189410", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [6585], "ansi": "void *a0", "nhash_before": "ad14fb59b7fd", "nhash_after": "f93e54752e09", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80189EAC", "callee": "func_80189EAC", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [11646], "ansi": "s32 arg0", "nhash_before": "f107c1323be9", "nhash_after": "e045ef44586f", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8018A784", "callee": "func_8018A784", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [13863], "ansi": "s32 arg0", "nhash_before": "c946564456bd", "nhash_after": "1a337b54ada2", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8018B830", "callee": "func_8018B830", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [6583], "ansi": "s32 *a0", "nhash_before": "b2fb2ca9742a", "nhash_after": "29f47bd599a9", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8018B9D4", "callee": "func_8018B9D4", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 3, "lines": [6091, 6118, 6166], "ansi": "void *a0, void *a1", "nhash_before": "37d93f8b5add", "nhash_after": "a29ad19e30e2", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_8018D7C8", "callee": "func_8018D7C8", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [14412], "ansi": "int param_1, int param_2", "nhash_before": "247dc2b09d5a", "nhash_after": "9cb4f5b20755", "sites": [], "verdict": "DECL-CANON"}
|
||||
{"ts": "2026-09-12 09:28:03", "label": "t3d1", "rung": "D", "calib": {"head": "775a3eafb", "stamp": "e34b6679685f"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "unit": "decl:func_80190174", "callee": "func_80190174", "header": false, "defn_tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "decls": 1, "lines": [16593], "ansi": "Prim34_80190174 *arg0, void *arg1, s32 arg2", "nhash_before": "cee1034100a0", "nhash_after": "cee1034100a0", "sites": [], "first": {"verdict": "COMPILE-ERROR", "err": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:\nsrc/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:\nsrc/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:\nsrc/ov_SC04_011/ov_SC04_011_j"}, "verdict": "DECL-KEPT", "cause": "compile: src/ov_SC04_011/ov_SC04_011_jr_8017D494.c: At top level:"}
|
||||
@@ -279,7 +279,49 @@ bucketed by what each bucket needs before any plan is proposed. **Candidates for
|
||||
probe tables above · the census re-run `type_census: 7255 definitions (527 layouts, 206 duplicate classes, 40 variant camps) · 503016
|
||||
cast sites … coverage OK … controls 4/4`; `readability_progress --snapshot` (a T2 row) + `progress.py --check` fresh.
|
||||
|
||||
## 🛑 SESSION CHECKPOINT — S106 (2026-09-11/12, FINAL — written for a FRESH session; the session's last commit follows this): gate 1 APPROVED, **T0 ☑ T1 ☑ T2 ☑** (baseline · the type census + the struct map · the probe) — 🛑 **T3 NEXT (the tools: `restruct.py`'s full form + the linked-relocation oracle + `struct_layout.py` + the canonical type writer; Max for the design, xHigh to finish)** | R22 `check-all: 218 passed, 0 failed of 218` at `db212f167` (no `src/` byte changed since) | HEAD after this commit is the checkpoint's commit; tree clean; nothing pushed after `79b2f6f15`
|
||||
- **S107 2026-09-12 — T3 in progress (Max design, the first bank).** Design stated (X1) and built: **`tools/struct_layout.py`** (the o32 layout
|
||||
engine factored out of `type_census.py` — `Resolver`, `parse_struct_body`, `layout_hash`, `field_offsets`; new: `field_map`, `leaf_at`, the WRITER
|
||||
`render_struct`/`entries_from_layout` in the final style — `/* 0xNN */` comments, `unk<HEX>` for accessed-unknown, `u8 pad<HEX>[n]` for
|
||||
never-touched gaps, `// size = 0x..` — and the INVARIANT `audit_definition`: every `unk/pad<HEX>` at offset HEX, every comment = the computed
|
||||
offset, the trailer = sizeof; selftest 9/9; `type_census.py` imports it — its selftest 21/21 unchanged; `walk_all()` factored out of
|
||||
`run_census` for the engine). **`tools/delever_oracle.py`** gained the LINKED MODE: `link_vars` (the Makefile's own link variables per binary,
|
||||
asked of make), `snapshot_links` (every binary's `.ld` + `undefined_*_auto.txt` + main's 11 `build/psyq/*_externals.ld` into the snapshot's
|
||||
`_link/`, `links.json`), **`judge_linked`** (the candidate object linked by the build's own `ld/objcopy/trim` against the snapshot's other objects,
|
||||
SHA1 vs `config/check.<alias>.sha` — ~10 ms), `reloc_only_diff` (the cheap pre-check: `.text` words equal under the mask, only relocation operands
|
||||
differ), `--linked-control` (the f3 body `func_801A4258`: **`p[1]/p[2]` whole-object DIFFERS · reloc-only True · linked IDENTICAL ✓; the negative
|
||||
`p[2]/p[3]` linked DIFFERS ✓**) — and a GUARD on `--snapshot-baseline`: a changed object must reproduce from an untouched compile or the refresh is
|
||||
REFUSED. **The guard was needed the same hour:** the first control read `whole-object IDENTICAL` for the `p[1]` spelling because
|
||||
`build/src/md_SC07_004/md_SC07_004.o` was NOT the tree's object — T2's relocation control had run `make build BINARY=md_SC07_004` with the
|
||||
candidate in place (linked-identical, differently spelled relocs) and my refresh copied it into the snapshot (R56/R112). Fixed by the clean fleet
|
||||
run (`.run/P37/baseline/r22_t3a.log`: `check-all: 218 passed, 0 failed of 218`, exit 0), a re-snapshot (`1 changed since the previous snapshot`) and
|
||||
`--calibrate main md_SC07_004 ov_SC02_005 ov_SC04_011` → `147/147 … positive control DIFFERS … OK`. **`tools/restruct.py`** (2,900 lines; the T2
|
||||
functions kept verbatim): the judge on a multi-file job (`judge_files`: whole-object, then linked when reloc-flagged or reloc-only), the ledger
|
||||
`.run/P37/restruct/ledger.jsonl` keyed (rung, tu, unit, hash) with `--restore` from `inflight.json`, the shared ladder (all units at once, else
|
||||
cumulative greedy — delever's rung-B shape), **rung S** on every typed base with the declared-type-aware spelling (`a1->unk4` / `D_x.unk4` / the cast
|
||||
form), **S2** (greedy kept casts), **S+A** (delever's ladder on the struct-spelled text, `(P37 S+A …)` markers via `delever.marker_edits(phase=)`, stale
|
||||
`_m` markers scrubbed), **X** (`pass_hint`: SCHED-ALIAS / CSE-KILL / WIDTH / ADDRESS-FOLD / ALIGNMENT / REGALLOC / OTHER), **R** (the registry: R1 the
|
||||
pointer global as a struct member (§458), R2 `extern T X[]` (a18), R3 the walked pointer (f3, reloc-flagged)), **D** (every declaration of a callee →
|
||||
the definition's ANSI signature > the width-promoted form > all-`()` + `// K&R: n of m args (P37 rung D <label>)`; the definitions index keyed by the
|
||||
TU's visible files — own TU, its binary's dir, its headers, then main/resident — REFUSING when two definitions disagree; `--callee/--signature` for a
|
||||
definition-side change judged on every declaring TU), **L** (folds with member renames by the offset map, REFUSED on an ambiguous member name),
|
||||
`--write-types` (the writer's preview from the struct map), `--audit-types`, `--check-ledger`, `--try-file` (a real-oracle dry run, nothing written),
|
||||
`--redraw`. **Selftest 48/48 (a stub oracle; every form, the no-op, S2's two paths, D's three verdicts, L, the three recipes, the ledger, the
|
||||
inflight parser, negative controls) · `--real` 51/51** (calibration current; the tree's own text IDENTICAL; a nop DIFFERS; the linked control).
|
||||
**Known-true on the bytes:** `--try … func_801814AC --base global:D_801C7E30 --recipes` → `DIFFERS · S2 IDENTICAL kept 1 (+0x34, 1 compile) ·
|
||||
R1-ptr-global-member IDENTICAL (adopt)` — §458's body closes mechanically; `--try-file … func_8017E830` → **S IDENTICAL (2 members) · S+A LEVER-FREE:
|
||||
6 `gte_rtv0tr_m` levers off, markers scrubbed, re-judged IDENTICAL, nothing written** (the T2 row says levers-off-alone was IDENTICAL too — a P36
|
||||
`_m` leftover, not the struct hypothesis; the path is proven either way). **The end-to-end batch — rung D on ov_SC04_011 (`--apply --rung D
|
||||
--batch 27 --only ov_SC04_011 --label t3d1 -j 12`):** `restruct: batch t3d1 rung D — 27 files (TUs; 27 drawable) · 258 declaration units: 242
|
||||
canonical / 0 promoted / 6 K&R marked / 16 kept · compiles 223 in 31 s wall · final 27/27 identical · written 27 files` → R22
|
||||
(`.run/P37/baseline/r22_t3d1.log`) **`check-all: 218 passed, 0 failed of 218`** (108 s, exit 0). The kept causes, read: `func_800D20C0` ×7 = the
|
||||
prototype names `Pos800D20C0`, a type the overlay TU cannot see (T5's canonical file closes it); `too few arguments` = the K&R sites (marked);
|
||||
`func_8016BF50` = a mix of `()` and truncated ANSI declarations (the all-`()` candidate added after this run). Three instrument findings on the
|
||||
way, each fixed at its cause: the fleet walk (a process pool) forked from inside the worker threads and deadlocked the first run at 0 % CPU
|
||||
(now computed before any thread exists); 1,889 K&R definitions re-masked per TU (now one mask per file); the selftest's inflight probe used the
|
||||
LIVE `inflight.json` and deleted batch t3d1's snapshot (now a scratch path — the batch's files were already proven by R22, so nothing was lost).
|
||||
`.gitignore`: the argcheck cache excluded. This commit = the bank (R42): the 27 TUs, the tools, the evidence.
|
||||
|
||||
## 🛑 SESSION CHECKPOINT — S106 (2026-09-11/12, FINAL — written for a FRESH session; the session's last commit follows this): gate 1 APPROVED, **T0 ☑ T1 ☑ T2 ☑** (baseline · the type census + the struct map · the probe) — 🛑 **T3 NEXT (the tools: `restruct.py`'s full form + the linked-relocation oracle + `struct_layout.py` + the canonical type writer; Max for the design, xHigh to finish)** | R22 `check-all: 218 passed, 0 failed of 218` at `db212f167` (no `src/` byte changed since) | HEAD after this commit is the checkpoint's commit; tree clean; nothing pushed after `79b2f6f15` | last batch `t3d1` (rung D, ov_SC04_011): 242 canonical / 6 K&R / 16 kept, R22 218/218 — T3 in progress (S107)
|
||||
|
||||
**Replay this block into the chat at the next session start (R64); it is the ONLY in-phase context the next session inherits. Everything below
|
||||
is what S106 knew and the next session must not re-derive.** **The checkpoint procedure (every session end, Drew 2026-09-12):** bank the
|
||||
|
||||
@@ -475,7 +475,7 @@ void func_80128FAC(u16 *arg0) {
|
||||
|
||||
extern s32 D_801ED9C4;
|
||||
|
||||
extern void func_801299C8();
|
||||
extern void func_801299C8(int arg0, int arg1, u8 * arg2);
|
||||
extern void func_80015B6C(s32, s16, s32, s16, s32, s32, s32, s32, s32, s32);
|
||||
extern void GsSortBg(s32 *, void *, u16, s32 *);
|
||||
extern void GsSortFastBg(s32 *, void *, u16, s32 *);
|
||||
@@ -741,7 +741,7 @@ extern void func_8012AAAC(void *arg0);
|
||||
#include "../shared/ov/func_8012AAAC__t6631232b.h"
|
||||
|
||||
|
||||
extern void func_8012AAAC();
|
||||
extern void func_8012AAAC(void *arg0);
|
||||
extern M2C_UNK D_80190758;
|
||||
|
||||
void func_8012ACA0(void *arg0) {
|
||||
|
||||
@@ -123,20 +123,20 @@ void func_80145A2C(void) {
|
||||
|
||||
|
||||
s32 func_80145CEC() {
|
||||
extern int func_80016714();
|
||||
extern int func_8001C320();
|
||||
extern void func_80016714(void *ptr, s32 len);
|
||||
extern void func_8001C320(s32 a0, s32 a1);
|
||||
extern int func_801552F4();
|
||||
extern int func_80147084();
|
||||
extern int func_80147098();
|
||||
extern int func_801470AC();
|
||||
extern int func_80149210();
|
||||
extern void func_80147084(s32 *a0);
|
||||
extern void func_80147098(s32 *a0);
|
||||
extern void func_801470AC(s32 *a0);
|
||||
extern void func_80149210(s32 a0, s32 a1);
|
||||
extern int func_8014BE9C();
|
||||
extern int func_8016533C();
|
||||
extern int func_801627C0();
|
||||
extern int func_80162AF4();
|
||||
extern int func_80165C78();
|
||||
extern int func_801468C8();
|
||||
extern int func_80145EE8();
|
||||
extern u8 * func_801468C8(s32 arg0, u8 arg1);
|
||||
extern void func_80145EE8(s32 param_1);
|
||||
extern int func_8014C968();
|
||||
extern int func_8014C6D0();
|
||||
extern int func_80165938();
|
||||
@@ -2022,7 +2022,7 @@ void func_8014F1F4(void)
|
||||
|
||||
|
||||
|
||||
extern s32 func_8014F4C0();
|
||||
extern s32 func_8014F4C0(s32 arg0);
|
||||
|
||||
s32 func_8014F468(void)
|
||||
{
|
||||
@@ -2067,7 +2067,7 @@ s32 func_8014F468(void)
|
||||
* restores $sp and returns the stored value. Manipulating $sp is not expressible in
|
||||
* C; full inline asm (manages its own frame). */
|
||||
|
||||
extern int func_8014F74C();
|
||||
extern int func_8014F74C(s32 arg0);
|
||||
|
||||
int func_8014F6F4(void) {
|
||||
__asm__ __volatile__(
|
||||
|
||||
@@ -553,7 +553,7 @@ s32 func_8012C890(s32 a0, s32 a1, s32 a2) {
|
||||
|
||||
|
||||
int func_8012D664(int arg0, int arg1, int arg2) {
|
||||
extern int func_8012F568();
|
||||
extern void func_8012F568(s32 param_1, s32 param_2, s32 param_3, s32 param_4, s32 param_5, s32 param_6);
|
||||
extern int D_80190768;
|
||||
|
||||
struct S8012D664_8012D664 s;
|
||||
@@ -578,7 +578,7 @@ int func_8012D664(int arg0, int arg1, int arg2) {
|
||||
|
||||
|
||||
|
||||
extern void func_8012F568(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5);
|
||||
extern void func_8012F568(s32 param_1, s32 param_2, s32 param_3, s32 param_4, s32 param_5, s32 param_6);
|
||||
extern void func_8014C978(void);
|
||||
extern M2C_UNK D_80190770;
|
||||
extern M2C_UNK D_80190778;
|
||||
@@ -950,7 +950,7 @@ s32 aF8012EFB8(void *param_1, void *param_2) __asm__("func_8012EFB8");
|
||||
|
||||
// @class: plumbing
|
||||
// @unstuck(P36): none — MATCH (pending gate)
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
|
||||
@@ -967,7 +967,7 @@ void func_8012F828(int param_1)
|
||||
#include "../shared/ov/func_8012F87C.h"
|
||||
|
||||
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8(int a0, int a1);
|
||||
extern u8 D_801907A8[];
|
||||
|
||||
@@ -1422,7 +1422,7 @@ extern s32 func_80143B6C(s32 a0, s32 a1);
|
||||
extern void func_8012B23C(s32 a0);
|
||||
extern void func_8012CBA4(s32 a0);
|
||||
extern void func_8012CBF4(s32 a0);
|
||||
extern void func_80131E00();
|
||||
extern void func_80131E00(struct S80131E00 *a0, s32 a1);
|
||||
extern void func_80131C78(s32 a0);
|
||||
extern void func_80131CA8(int a0, int a1);
|
||||
|
||||
@@ -2264,7 +2264,7 @@ s32 func_80133AB0(s16 flag, s16 x, s16 y, s32 arg3)
|
||||
extern u8 D_801909C8;
|
||||
extern u16 D_801EDA40;
|
||||
extern s16 D_801EDA3C;
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
|
||||
Map_80133AB0 *map = (Map_80133AB0 *)arg3;
|
||||
u16 *pA = (*(u16 * *)&D_801909C0);
|
||||
@@ -2355,8 +2355,8 @@ s32 func_80133CD4(arg0, cmd, base, arr)
|
||||
extern s16 D_801152AC;
|
||||
extern u16 D_801152AE;
|
||||
extern u8 D_801152B0;
|
||||
extern s32 func_80134310();
|
||||
extern s32 func_8013435C();
|
||||
extern s32 func_80134310(Vec3s *a0, Vec3s *a1, s32 a2);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
|
||||
s16 *s3 = ((ElemK *)base)[cmd[1]].e;
|
||||
s32 s6 = arr[cmd[2]];
|
||||
|
||||
@@ -383,7 +383,7 @@ extern void func_8012D5DC(void);
|
||||
extern s16 D_80126B98;
|
||||
extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern int func_8012D664();
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern void func_8012D624(s32 a0);
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern s32 func_8012D714(s32 param_1, u32 param_2);
|
||||
@@ -462,13 +462,13 @@ extern void func_8012F68C(s32 arg0);
|
||||
extern void func_8012F75C(s32 a0);
|
||||
extern s32 func_8012BEE8(s32);
|
||||
extern void func_8012F7B4(s32 a0);
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
extern void func_8012F828(int param_1);
|
||||
extern void func_80131340(s32 a0);
|
||||
extern void func_8012F87C(s32 a0);
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern u8 D_801907A8[];
|
||||
extern void func_8012F8C8(u8* arg0);
|
||||
extern void func_8012F91C(s32 a0);
|
||||
@@ -538,7 +538,7 @@ extern s16 D_801908C4[];
|
||||
extern void func_80130D48(s32 arg0);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern s32 func_801312D0(s32 param_1, void *param_2);
|
||||
extern void func_80131E00();
|
||||
extern void func_80131E00(struct S80131E00 *a0, s32 a1);
|
||||
extern s32 D_801ED9E8;
|
||||
extern s32 D_801ED9EC;
|
||||
extern void func_8002A04C(s32 a0);
|
||||
@@ -597,7 +597,7 @@ extern void func_801336E8(void *a0, int a1, int a2);
|
||||
extern void func_80136BC4(s32);
|
||||
extern void func_8013373C(s16 arg0);
|
||||
extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2);
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
extern s32 func_80134310(Vec3s *a0, Vec3s *a1, s32 a2);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
extern s32 func_801343C4(s32 angle, s32 p1, s32 p2);
|
||||
|
||||
@@ -383,7 +383,7 @@ extern void func_8012D5DC(void);
|
||||
extern s16 D_80126B98;
|
||||
extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern int func_8012D664();
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern void func_8012D624(s32 a0);
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern s32 func_8012D714(s32 param_1, u32 param_2);
|
||||
@@ -462,13 +462,13 @@ extern void func_8012F68C(s32 arg0);
|
||||
extern void func_8012F75C(s32 a0);
|
||||
extern s32 func_8012BEE8(s32);
|
||||
extern void func_8012F7B4(s32 a0);
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
extern void func_8012F828(int param_1);
|
||||
extern void func_80131340(s32 a0);
|
||||
extern void func_8012F87C(s32 a0);
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern u8 D_801907A8[];
|
||||
extern void func_8012F8C8(u8* arg0);
|
||||
extern void func_8012F91C(s32 a0);
|
||||
@@ -538,7 +538,7 @@ extern s16 D_801908C4[];
|
||||
extern void func_80130D48(s32 arg0);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern s32 func_801312D0(s32 param_1, void *param_2);
|
||||
extern void func_80131E00();
|
||||
extern void func_80131E00(struct S80131E00 *a0, s32 a1);
|
||||
extern s32 D_801ED9E8;
|
||||
extern s32 D_801ED9EC;
|
||||
extern void func_8002A04C(s32 a0);
|
||||
@@ -597,7 +597,7 @@ extern void func_801336E8(void *a0, int a1, int a2);
|
||||
extern void func_80136BC4(s32);
|
||||
extern void func_8013373C(s16 arg0);
|
||||
extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2);
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
extern s32 func_80134310(Vec3s *a0, Vec3s *a1, s32 a2);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
extern s32 func_801343C4(s32 angle, s32 p1, s32 p2);
|
||||
|
||||
@@ -383,7 +383,7 @@ extern void func_8012D5DC(void);
|
||||
extern s16 D_80126B98;
|
||||
extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern int func_8012D664();
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern void func_8012D624(s32 a0);
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern s32 func_8012D714(s32 param_1, u32 param_2);
|
||||
@@ -462,13 +462,13 @@ extern void func_8012F68C(s32 arg0);
|
||||
extern void func_8012F75C(s32 a0);
|
||||
extern s32 func_8012BEE8(s32);
|
||||
extern void func_8012F7B4(s32 a0);
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
extern void func_8012F828(int param_1);
|
||||
extern void func_80131340(s32 a0);
|
||||
extern void func_8012F87C(s32 a0);
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern u8 D_801907A8[];
|
||||
extern void func_8012F8C8(u8* arg0);
|
||||
extern void func_8012F91C(s32 a0);
|
||||
@@ -538,7 +538,7 @@ extern s16 D_801908C4[];
|
||||
extern void func_80130D48(s32 arg0);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern s32 func_801312D0(s32 param_1, void *param_2);
|
||||
extern void func_80131E00();
|
||||
extern void func_80131E00(struct S80131E00 *a0, s32 a1);
|
||||
extern s32 D_801ED9E8;
|
||||
extern s32 D_801ED9EC;
|
||||
extern void func_8002A04C(s32 a0);
|
||||
@@ -597,7 +597,7 @@ extern void func_801336E8(void *a0, int a1, int a2);
|
||||
extern void func_80136BC4(s32);
|
||||
extern void func_8013373C(s16 arg0);
|
||||
extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2);
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
extern s32 func_80134310(Vec3s *a0, Vec3s *a1, s32 a2);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
extern s32 func_801343C4(s32 angle, s32 p1, s32 p2);
|
||||
|
||||
@@ -377,7 +377,7 @@ extern void func_8012D5DC(void);
|
||||
extern s16 D_80126B98;
|
||||
extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern int func_8012D664();
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern void func_8012D624(s32 a0);
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern s32 func_8012D714(s32 param_1, u32 param_2);
|
||||
@@ -454,13 +454,13 @@ extern void func_8012F68C(s32 arg0);
|
||||
extern void func_8012F75C(s32 a0);
|
||||
extern s32 func_8012BEE8(s32);
|
||||
extern void func_8012F7B4(s32 a0);
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
extern void func_8012F828(int param_1);
|
||||
extern void func_80131340(s32 a0);
|
||||
extern void func_8012F87C(s32 a0);
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern u8 D_801907A8[];
|
||||
extern void func_8012F8C8(u8* arg0);
|
||||
extern void func_8012F91C(s32 a0);
|
||||
@@ -578,7 +578,7 @@ extern void func_801336E8(void *a0, int a1, int a2);
|
||||
extern void func_80136BC4(s32);
|
||||
extern void func_8013373C(s16 arg0);
|
||||
extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2);
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
extern s32 func_801343C4(s32 angle, s32 p1, s32 p2);
|
||||
extern s32 func_80134510(s32 param);
|
||||
@@ -643,7 +643,7 @@ extern int D_80190A2C;
|
||||
extern int D_801269F0;
|
||||
extern void func_80138BE0(int p);
|
||||
extern void func_80137B80(void);
|
||||
extern void func_801392FC();
|
||||
extern void func_801392FC(s32 arg0, s32 arg1, u8 *arg2);
|
||||
extern void func_801397B0(s32 a0);
|
||||
extern void func_80137DD4(s32 a0, u8 *a1, u8 *a2);
|
||||
extern void func_80139680(s32 a0, u8 *a1);
|
||||
|
||||
@@ -374,7 +374,7 @@ extern void func_8012D5DC(void);
|
||||
extern s16 D_80126B98;
|
||||
extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern int func_8012D664();
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern void func_8012D624(s32 a0);
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern s32 func_8012D714(s32 param_1, u32 param_2);
|
||||
@@ -451,13 +451,13 @@ extern void func_8012F68C(s32 arg0);
|
||||
extern void func_8012F75C(s32 a0);
|
||||
extern s32 func_8012BEE8(s32);
|
||||
extern void func_8012F7B4(s32 a0);
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
extern void func_8012F828(int param_1);
|
||||
extern void func_80131340(s32 a0);
|
||||
extern void func_8012F87C(s32 a0);
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern u8 D_801907A8[];
|
||||
extern void func_8012F8C8(u8* arg0);
|
||||
extern void func_8012F91C(s32 a0);
|
||||
@@ -575,7 +575,7 @@ extern void func_801336E8(void *a0, int a1, int a2);
|
||||
extern void func_80136BC4(s32);
|
||||
extern void func_8013373C(s16 arg0);
|
||||
extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2);
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
extern s32 func_801343C4(s32 angle, s32 p1, s32 p2);
|
||||
extern s32 func_80134510(s32 param);
|
||||
@@ -727,8 +727,8 @@ extern void func_8013A530();
|
||||
extern void func_8013A448(void *a0);
|
||||
extern void func_8013A4C4(struct S8013A4C4 *a0);
|
||||
extern void func_8013A380(void);
|
||||
extern void func_80015D4C();
|
||||
extern void func_80015F04();
|
||||
extern void func_80015D4C(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_80015F04(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_8013AA24(s32 a0, s32 a1);
|
||||
extern void func_8013A530(int param_1);
|
||||
extern void func_8013A860(void);
|
||||
@@ -915,8 +915,8 @@ extern s32 D_801EDACC;
|
||||
extern s32 D_801EDAC0;
|
||||
extern s32 D_801EDAC4;
|
||||
|
||||
extern void func_8013DBE4();
|
||||
extern void func_8013D9B0();
|
||||
extern void func_8013DBE4(int param_1);
|
||||
extern void func_8013D9B0(); // K&R: 0/1 of 1 args (P37 rung D t3d1)
|
||||
extern void func_8013D330(void);
|
||||
extern void func_8013D178(void);
|
||||
extern void func_8013CF68(void);
|
||||
@@ -1038,7 +1038,7 @@ void func_8013CB84(void) {
|
||||
|
||||
void func_8013CF68()
|
||||
{
|
||||
extern void func_80028620();
|
||||
extern void func_80028620(s32 a0, void *a1);
|
||||
extern u8 D_800A5E94[];
|
||||
extern s32 D_800A5E8C;
|
||||
extern s32 D_800A5E90;
|
||||
@@ -1089,7 +1089,7 @@ extern s32 D_801EDAD8;
|
||||
extern s32 D_801EDAC0;
|
||||
extern s32 D_801EDADC;
|
||||
extern s32 D_801EDACC;
|
||||
extern void func_8013D9B0();
|
||||
extern void func_8013D9B0(); // K&R: 0/1 of 1 args (P37 rung D t3d1)
|
||||
|
||||
void func_8013D064(void)
|
||||
{
|
||||
@@ -1117,7 +1117,7 @@ void func_8013D064(void)
|
||||
|
||||
|
||||
|
||||
extern void func_8013D9B0();
|
||||
extern void func_8013D9B0(); // K&R: 0/1 of 1 args (P37 rung D t3d1)
|
||||
extern s32 D_801EDACC;
|
||||
|
||||
s32 func_8013D13C(void) {
|
||||
@@ -1236,7 +1236,7 @@ extern u8 D_80190CC0[];
|
||||
extern u8 D_80190D40[];
|
||||
extern u8 D_80190C18[];
|
||||
|
||||
extern void func_8013D53C();
|
||||
extern void func_8013D53C(); // K&R: 0 of 1 args (P37 rung D t3d1)
|
||||
extern void func_8013DD68(void);
|
||||
extern void func_8013D8FC(void);
|
||||
extern void func_8013CF68(void);
|
||||
|
||||
@@ -379,7 +379,7 @@ extern void func_8012D5DC(void);
|
||||
extern s16 D_80126B98;
|
||||
extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern int func_8012D664();
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern void func_8012D624(s32 a0);
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern s32 func_8012D714(s32 param_1, u32 param_2);
|
||||
@@ -456,13 +456,13 @@ extern void func_8012F68C(s32 arg0);
|
||||
extern void func_8012F75C(s32 a0);
|
||||
extern s32 func_8012BEE8(s32);
|
||||
extern void func_8012F7B4(s32 a0);
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
extern void func_8012F828(int param_1);
|
||||
extern void func_80131340(s32 a0);
|
||||
extern void func_8012F87C(s32 a0);
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern u8 D_801907A8[];
|
||||
extern void func_8012F8C8(u8* arg0);
|
||||
extern void func_8012F91C(s32 a0);
|
||||
@@ -580,7 +580,7 @@ extern void func_801336E8(void *a0, int a1, int a2);
|
||||
extern void func_80136BC4(s32);
|
||||
extern void func_8013373C(s16 arg0);
|
||||
extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2);
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
extern s32 func_801343C4(s32 angle, s32 p1, s32 p2);
|
||||
extern s32 func_80134510(s32 param);
|
||||
@@ -729,8 +729,8 @@ extern void func_8013A530();
|
||||
extern void func_8013A448(void *a0);
|
||||
extern void func_8013A4C4(struct S8013A4C4 *a0);
|
||||
extern void func_8013A380(void);
|
||||
extern void func_80015D4C();
|
||||
extern void func_80015F04();
|
||||
extern void func_80015D4C(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_80015F04(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_8013AA24(s32 a0, s32 a1);
|
||||
extern void func_8013A530(int param_1);
|
||||
extern void func_8013A860(void);
|
||||
@@ -816,7 +816,7 @@ extern u8 D_80190BC4[];
|
||||
extern u8 D_80190CC0[];
|
||||
extern u8 D_80190D40[];
|
||||
extern u8 D_80190C18[];
|
||||
extern void func_8013D53C();
|
||||
extern void func_8013D53C(void *arg0v);
|
||||
extern void func_8013DD68(void);
|
||||
extern void func_8013D8FC(void);
|
||||
extern void func_8013CF68(void);
|
||||
|
||||
@@ -382,7 +382,7 @@ extern void func_8012D5DC(void);
|
||||
extern s16 D_80126B98;
|
||||
extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern int func_8012D664();
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern void func_8012D624(s32 a0);
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern s32 func_8012D714(s32 param_1, u32 param_2);
|
||||
@@ -459,13 +459,13 @@ extern void func_8012F68C(s32 arg0);
|
||||
extern void func_8012F75C(s32 a0);
|
||||
extern s32 func_8012BEE8(s32);
|
||||
extern void func_8012F7B4(s32 a0);
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
extern void func_8012F828(int param_1);
|
||||
extern void func_80131340(s32 a0);
|
||||
extern void func_8012F87C(s32 a0);
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern u8 D_801907A8[];
|
||||
extern void func_8012F8C8(u8* arg0);
|
||||
extern void func_8012F91C(s32 a0);
|
||||
@@ -583,7 +583,7 @@ extern void func_801336E8(void *a0, int a1, int a2);
|
||||
extern void func_80136BC4(s32);
|
||||
extern void func_8013373C(s16 arg0);
|
||||
extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2);
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
extern s32 func_801343C4(s32 angle, s32 p1, s32 p2);
|
||||
extern s32 func_80134510(s32 param);
|
||||
@@ -730,8 +730,8 @@ extern void func_8013A530();
|
||||
extern void func_8013A448(void *a0);
|
||||
extern void func_8013A4C4(struct S8013A4C4 *a0);
|
||||
extern void func_8013A380(void);
|
||||
extern void func_80015D4C();
|
||||
extern void func_80015F04();
|
||||
extern void func_80015D4C(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_80015F04(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_8013AA24(s32 a0, s32 a1);
|
||||
extern void func_8013A530(int param_1);
|
||||
extern void func_8013A860(void);
|
||||
@@ -816,7 +816,7 @@ extern u8 D_80190BC4[];
|
||||
extern u8 D_80190CC0[];
|
||||
extern u8 D_80190D40[];
|
||||
extern u8 D_80190C18[];
|
||||
extern void func_8013D53C();
|
||||
extern void func_8013D53C(void *arg0v);
|
||||
extern void func_8013DD68(void);
|
||||
extern void func_8013D8FC(void);
|
||||
extern void func_8013CF68(void);
|
||||
|
||||
@@ -377,7 +377,7 @@ extern void func_8012D5DC(void);
|
||||
extern s16 D_80126B98;
|
||||
extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern int func_8012D664();
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern void func_8012D624(s32 a0);
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern s32 func_8012D714(s32 param_1, u32 param_2);
|
||||
@@ -454,13 +454,13 @@ extern void func_8012F68C(s32 arg0);
|
||||
extern void func_8012F75C(s32 a0);
|
||||
extern s32 func_8012BEE8(s32);
|
||||
extern void func_8012F7B4(s32 a0);
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
extern void func_8012F828(int param_1);
|
||||
extern void func_80131340(s32 a0);
|
||||
extern void func_8012F87C(s32 a0);
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern u8 D_801907A8[];
|
||||
extern void func_8012F8C8(u8* arg0);
|
||||
extern void func_8012F91C(s32 a0);
|
||||
@@ -578,7 +578,7 @@ extern void func_801336E8(void *a0, int a1, int a2);
|
||||
extern void func_80136BC4(s32);
|
||||
extern void func_8013373C(s16 arg0);
|
||||
extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2);
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
extern s32 func_801343C4(s32 angle, s32 p1, s32 p2);
|
||||
extern s32 func_80134510(s32 param);
|
||||
@@ -725,8 +725,8 @@ extern void func_8013A530();
|
||||
extern void func_8013A448(void *a0);
|
||||
extern void func_8013A4C4(struct S8013A4C4 *a0);
|
||||
extern void func_8013A380(void);
|
||||
extern void func_80015D4C();
|
||||
extern void func_80015F04();
|
||||
extern void func_80015D4C(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_80015F04(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_8013AA24(s32 a0, s32 a1);
|
||||
extern void func_8013A530(int param_1);
|
||||
extern void func_8013A860(void);
|
||||
@@ -811,7 +811,7 @@ extern u8 D_80190BC4[];
|
||||
extern u8 D_80190CC0[];
|
||||
extern u8 D_80190D40[];
|
||||
extern u8 D_80190C18[];
|
||||
extern void func_8013D53C();
|
||||
extern void func_8013D53C(void *arg0v);
|
||||
extern void func_8013DD68(void);
|
||||
extern void func_8013D8FC(void);
|
||||
extern void func_8013CF68(void);
|
||||
|
||||
@@ -243,11 +243,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -360,7 +360,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
|
||||
@@ -243,11 +243,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -360,7 +360,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
|
||||
@@ -243,11 +243,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -360,7 +360,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
|
||||
@@ -243,11 +243,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -360,7 +360,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
|
||||
@@ -243,11 +243,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -324,9 +324,9 @@ extern void func_8012EFB8(s32 a0);
|
||||
extern void func_80149584(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_8014964C(s32 param_1, s32 param_2);
|
||||
extern s32 func_801496D4(void *a0);
|
||||
extern void func_8015AD08();
|
||||
extern void func_8015AD08(void *arg0);
|
||||
extern void func_80149704(void);
|
||||
extern void func_8015ACC4();
|
||||
extern void func_8015ACC4(s32 *arg0);
|
||||
extern void func_80149724(void);
|
||||
extern u8 D_80078EBF;
|
||||
extern s32 func_80149744(struct S_80149744 *a0);
|
||||
@@ -360,7 +360,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
|
||||
@@ -243,11 +243,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -360,7 +360,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -1198,7 +1198,7 @@ extern u16 func_801487F4(s32 *a0);
|
||||
extern s32 func_80149FB0(s32 a0);
|
||||
extern s32 func_801619A4(s32 *a0);
|
||||
extern s32 func_80149C08(s32 a0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern s32 func_8015B6F4(s32 a0);
|
||||
extern s32 func_8015B7B4(s32 a0);
|
||||
extern void func_80154A74(s32 a0, s32 a1);
|
||||
@@ -1512,7 +1512,7 @@ s32 arg0;
|
||||
|
||||
#include "../shared/ov/func_8015B8F8.h"
|
||||
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(); // K&R: 1 of 1 args (P37 rung D t3d1)
|
||||
|
||||
// @class: plumbing
|
||||
// @unstuck(P36): none — MATCH (271/271, pin-free, zero asm). The ONLY residual is DEF-SIDE plumbing, and it is now named exactly: the in-TU instantiation `DEFINE_func_8015BEE4()` (engine_core.h:1851-1855) expands to `extern s32 func_8015B950(s32 arg0);` INSIDE ov_SC01_077_jr_8015AE2C.c, ~14 lines BELOW this definition, so the 1-param def collides with a `(void)` prototype -> `conflicting types for func_8015B950` (.run/bank_func_8015B950.log). §73 PARAMS axis / T0. Surgical fix = §65b de-macroize that ONE instantiation (blast radius: this TU); the fleet-wide `(void)`->`()` header edit is §63 and must be R22-validated.
|
||||
|
||||
@@ -241,11 +241,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -328,14 +328,14 @@ extern void func_8015ACC4();
|
||||
extern void func_80149724(void);
|
||||
extern u8 D_80078EBF;
|
||||
extern s32 func_80149744(struct S_80149744 *a0);
|
||||
extern void func_8015F7A0();
|
||||
extern void func_8015F7A0(s32 *arg0);
|
||||
extern void func_80149788(void);
|
||||
extern void func_801653B8();
|
||||
extern void func_80149864(void);
|
||||
extern s16 currentLocationId;
|
||||
extern s32 func_8016F1AC(void);
|
||||
extern s32 func_80149884(void);
|
||||
extern void func_80160B00();
|
||||
extern void func_80160B00(); // K&R: ? of 1 args (P37 rung D t3d1)
|
||||
extern void func_801498C0(void);
|
||||
extern s32 func_80149AA8(s32 *a0);
|
||||
extern s32 func_80149B54(s32 *a0);
|
||||
@@ -358,7 +358,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -379,7 +379,7 @@ extern void func_8014A1B0(s32 a0, s32 a1);
|
||||
extern s32 func_8014A048(s32 param_1);
|
||||
extern u16 func_80156370(u16 a0);
|
||||
extern void func_8014C4AC(s32 a0, s32 a1, s32 a2, s16 *a3, s32 a4);
|
||||
extern void func_8015D4B4();
|
||||
extern void func_8015D4B4(s16 *a0);
|
||||
extern void func_8014A218(void);
|
||||
extern s32 func_8014C278(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8014C2B0(void *a0, void *a1, s32 a2);
|
||||
@@ -389,12 +389,12 @@ extern void func_8014A380(s32 a0, s32 a1);
|
||||
extern s32 func_8014A3E0(struct S_8014A3E0 *a0);
|
||||
extern s32 func_8014A454(s32 a0);
|
||||
extern s32 func_8014A4B4(void *a0);
|
||||
extern void func_8015EDD4();
|
||||
extern void func_8015EDD4(s32 *arg0);
|
||||
extern void func_8014A4FC(void);
|
||||
extern s32 func_8014A674(s32 *a0);
|
||||
extern s32 func_8014A69C(s32 *a0);
|
||||
extern s32 func_8014A6C4(s32 a0);
|
||||
extern void func_8015E184();
|
||||
extern void func_8015E184(s32 *arg0);
|
||||
extern void func_8014A830(void);
|
||||
extern s32 func_80029AF4(void);
|
||||
extern s32 func_8014A850(s32 param_1);
|
||||
@@ -446,7 +446,7 @@ extern u8 D_80062BF4[];
|
||||
extern void func_8014BC80(s32 a0, s32 a1);
|
||||
extern void func_80019064(void *a0);
|
||||
extern s32 D_80078E98;
|
||||
extern void func_80166244();
|
||||
extern void func_80166244(void* arg0);
|
||||
extern void func_8014B4D4(void *a0);
|
||||
extern s16 D_80078E9A;
|
||||
extern u8 D_80126D1C;
|
||||
@@ -723,7 +723,7 @@ extern void func_80151878(void);
|
||||
extern void func_80153B58(s32 *a0);
|
||||
extern s32 func_80151880(s32 a0);
|
||||
extern s32 func_801518D8(s32 a0);
|
||||
extern s32 func_80151944(void);
|
||||
extern void func_80151944(void *a0);
|
||||
extern s32 func_80151924(void);
|
||||
extern void func_8014E934(s32 a0);
|
||||
extern s32 func_8014F3E8(s32 a0);
|
||||
@@ -1178,7 +1178,7 @@ extern void func_800CCB78(s32 a0);
|
||||
extern s32 func_80161488(void *a0);
|
||||
extern void func_8015CC40(s32 *a0);
|
||||
extern void func_8015CF8C(s32 *a0);
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(s32 arg0);
|
||||
extern s32 D_800D4A9C;
|
||||
extern int func_8015B6F4(int param_1);
|
||||
extern u8 D_800D4F8C[];
|
||||
|
||||
@@ -245,11 +245,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -362,7 +362,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -1179,7 +1179,7 @@ extern void func_800CCB78(s32 a0);
|
||||
extern s32 func_80161488(void *a0);
|
||||
extern void func_8015CC40(s32 *a0);
|
||||
extern void func_8015CF8C(s32 *a0);
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(s32 arg0);
|
||||
extern s32 D_800D4A9C;
|
||||
extern int func_8015B6F4(int param_1);
|
||||
extern u8 D_800D4F8C[];
|
||||
@@ -1230,7 +1230,7 @@ extern s32 func_801725E0(u8 *a0);
|
||||
extern s32 func_8015CCD0(s32 param_1);
|
||||
extern s32 func_8015CD20(s32 arg0);
|
||||
extern void func_8015CF24(s32 a0);
|
||||
extern void func_8015D01C();
|
||||
extern void func_8015D01C(int param_1);
|
||||
extern void func_8015CF58(s32 *param_1);
|
||||
extern void func_8015CFC0(s32 *a0);
|
||||
extern void func_8015CFFC(void);
|
||||
@@ -1406,7 +1406,7 @@ extern void func_80160D10(void *arg0);
|
||||
extern void func_80160DEC(u8 *a0);
|
||||
extern void func_80160F00();
|
||||
extern void func_80160E3C(s32 *a0);
|
||||
extern void func_80160EA4();
|
||||
extern void func_80160EA4(void *a0);
|
||||
extern void func_80160E70(s32 *a0);
|
||||
extern void (*D_80192ED4[])(void);
|
||||
extern void func_80160EA4(void *a0);
|
||||
@@ -1684,7 +1684,7 @@ extern void func_80166618(void *a0);
|
||||
extern void (*D_801933EC[])(void);
|
||||
extern void func_80166654(void *a0);
|
||||
extern s32 func_80166690(s32 param_1, s32 param_2);
|
||||
extern s32 func_80166994();
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern s32 func_80166F58(s32 param_1, s32 param_2, s32 param_3, s32 param_4);
|
||||
extern s32 func_80167540(s32 arg0);
|
||||
extern void (*D_801933FC[])(void);
|
||||
@@ -1710,7 +1710,7 @@ extern s32 D_801269A4;
|
||||
extern s32 D_801269A8;
|
||||
extern s32 D_801269AC;
|
||||
extern void func_80168070(s32 param_1, s16 *param_2, s16 *param_3, void *param_4);
|
||||
extern s32 func_80166994(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern void func_8016829C(s32 a0);
|
||||
extern s32 func_80166690(s32 a0, s32 a1);
|
||||
extern void func_80168328(s32 arg0);
|
||||
@@ -2009,7 +2009,7 @@ lout:
|
||||
|
||||
|
||||
|
||||
extern void func_8016B234();
|
||||
extern void func_8016B234(); // K&R: ? of 1 args (P37 rung D t3d1)
|
||||
extern void func_800D22E4(s32 a0);
|
||||
|
||||
#include "../shared/ov/func_8016AE5C__te4eb1475.h"
|
||||
@@ -2527,7 +2527,7 @@ void func_8016BFA8(s32 a0, s32 a1, s32 a2, s32 a3) {
|
||||
|
||||
|
||||
void func_8016BFD0(s32 a0, s32 a1, s32 a2, s32 a3, void *a4) {
|
||||
extern void func_80017714();
|
||||
extern void func_80017714(void *arg0);
|
||||
extern s32 D_80193674;
|
||||
extern s32 D_8019367C;
|
||||
extern s32 D_80193684;
|
||||
|
||||
@@ -250,11 +250,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -367,7 +367,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -1186,7 +1186,7 @@ extern void func_800CCB78(s32 a0);
|
||||
extern s32 func_80161488(void *a0);
|
||||
extern void func_8015CC40(s32 *a0);
|
||||
extern void func_8015CF8C(s32 *a0);
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(s32 arg0);
|
||||
extern s32 D_800D4A9C;
|
||||
extern int func_8015B6F4(int param_1);
|
||||
extern u8 D_800D4F8C[];
|
||||
@@ -1237,7 +1237,7 @@ extern s32 func_801725E0(u8 *a0);
|
||||
extern s32 func_8015CCD0(s32 param_1);
|
||||
extern s32 func_8015CD20(s32 arg0);
|
||||
extern void func_8015CF24(s32 a0);
|
||||
extern void func_8015D01C();
|
||||
extern void func_8015D01C(int param_1);
|
||||
extern void func_8015CF58(s32 *param_1);
|
||||
extern void func_8015CFC0(s32 *a0);
|
||||
extern void func_8015CFFC(void);
|
||||
@@ -1413,7 +1413,7 @@ extern void func_80160D10(void *arg0);
|
||||
extern void func_80160DEC(u8 *a0);
|
||||
extern void func_80160F00();
|
||||
extern void func_80160E3C(s32 *a0);
|
||||
extern void func_80160EA4();
|
||||
extern void func_80160EA4(void *a0);
|
||||
extern void func_80160E70(s32 *a0);
|
||||
extern void (*D_80192ED4[])(void);
|
||||
extern void func_80160EA4(void *a0);
|
||||
@@ -1691,7 +1691,7 @@ extern void func_80166618(void *a0);
|
||||
extern void (*D_801933EC[])(void);
|
||||
extern void func_80166654(void *a0);
|
||||
extern s32 func_80166690(s32 param_1, s32 param_2);
|
||||
extern s32 func_80166994();
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern s32 func_80166F58(s32 param_1, s32 param_2, s32 param_3, s32 param_4);
|
||||
extern s32 func_80167540(s32 arg0);
|
||||
extern void (*D_801933FC[])(void);
|
||||
@@ -1717,7 +1717,7 @@ extern s32 D_801269A4;
|
||||
extern s32 D_801269A8;
|
||||
extern s32 D_801269AC;
|
||||
extern void func_80168070(s32 param_1, s16 *param_2, s16 *param_3, void *param_4);
|
||||
extern s32 func_80166994(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern void func_8016829C(s32 a0);
|
||||
extern s32 func_80166690(s32 a0, s32 a1);
|
||||
extern void func_80168328(s32 arg0);
|
||||
@@ -1799,7 +1799,7 @@ extern void func_8016AA50(s32 param_1, s32 param_2);
|
||||
extern void (*D_80193598[])(void);
|
||||
extern void func_8016AB30(void *a0);
|
||||
extern s32 func_8016AB6C(s32 arg0);
|
||||
extern void func_8016B234();
|
||||
extern void func_8016B234(s32 param_1);
|
||||
extern void func_8016AE5C(s32 param_1);
|
||||
extern void func_8016AFB0(s32 a0);
|
||||
extern void func_8016B114(void *arg0);
|
||||
@@ -1863,7 +1863,7 @@ extern void func_8016C2C4(s32 param);
|
||||
extern s32 func_8016C49C(s32 param_1_arg);
|
||||
extern s32 VectorNormalSS(void *a0, void *a1);
|
||||
extern void func_8016C74C(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4);
|
||||
extern short func_8016CF04();
|
||||
extern short func_8016CF04(s32 param_1, s32 param_2);
|
||||
extern void func_8016C83C(s32 a0);
|
||||
extern short func_8016CBC0(void);
|
||||
extern void func_8016C998(s32 param_1);
|
||||
|
||||
@@ -253,11 +253,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -370,7 +370,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -1194,7 +1194,7 @@ extern void func_8015BE38(struct Obj *a0);
|
||||
extern s32 func_8015BE74(void);
|
||||
extern void func_80161124(void *a0);
|
||||
extern s32 func_8015BE94(s32 *a0);
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(s32 arg0);
|
||||
extern s32 func_8015BEC4(void);
|
||||
extern s32 func_8015B950(s32 arg0);
|
||||
extern s32 func_8015BEE4(void);
|
||||
@@ -1234,7 +1234,7 @@ extern s32 func_801725E0(u8 *a0);
|
||||
extern s32 func_8015CCD0(s32 param_1);
|
||||
extern s32 func_8015CD20(s32 arg0);
|
||||
extern void func_8015CF24(s32 a0);
|
||||
extern void func_8015D01C();
|
||||
extern void func_8015D01C(int param_1);
|
||||
extern void func_8015CF58(s32 *param_1);
|
||||
extern void func_8015CFC0(s32 *a0);
|
||||
extern void func_8015CF8C(s32 *a0);
|
||||
@@ -1411,7 +1411,7 @@ extern void func_80160D10(void *arg0);
|
||||
extern void func_80160DEC(u8 *a0);
|
||||
extern void func_80160F00();
|
||||
extern void func_80160E3C(s32 *a0);
|
||||
extern void func_80160EA4();
|
||||
extern void func_80160EA4(void *a0);
|
||||
extern void func_80160E70(s32 *a0);
|
||||
extern void (*D_80192ED4[])(void);
|
||||
extern void func_80160EA4(void *a0);
|
||||
@@ -1692,7 +1692,7 @@ extern void func_80166618(void *a0);
|
||||
extern void (*D_801933EC[])(void);
|
||||
extern void func_80166654(void *a0);
|
||||
extern s32 func_80166690(s32 param_1, s32 param_2);
|
||||
extern s32 func_80166994();
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern s32 func_80166F58(s32 param_1, s32 param_2, s32 param_3, s32 param_4);
|
||||
extern s32 func_80167540(s32 arg0);
|
||||
extern void (*D_801933FC[])(void);
|
||||
@@ -1718,7 +1718,7 @@ extern s32 D_801269A4;
|
||||
extern s32 D_801269A8;
|
||||
extern s32 D_801269AC;
|
||||
extern void func_80168070(s32 param_1, s16 *param_2, s16 *param_3, void *param_4);
|
||||
extern s32 func_80166994(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern void func_8016829C(s32 a0);
|
||||
extern s32 func_80166690(s32 a0, s32 a1);
|
||||
extern void func_80168328(s32 arg0);
|
||||
|
||||
@@ -250,11 +250,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -367,7 +367,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -1192,7 +1192,7 @@ extern void func_8015BE38(struct Obj *a0);
|
||||
extern s32 func_8015BE74(void);
|
||||
extern void func_80161124(void *a0);
|
||||
extern s32 func_8015BE94(s32 *a0);
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(s32 arg0);
|
||||
extern s32 func_8015BEC4(void);
|
||||
extern s32 func_8015B950(s32 arg0);
|
||||
extern s32 func_8015BEE4(void);
|
||||
@@ -1232,7 +1232,7 @@ extern s32 func_801725E0(u8 *a0);
|
||||
extern s32 func_8015CCD0(s32 param_1);
|
||||
extern s32 func_8015CD20(s32 arg0);
|
||||
extern void func_8015CF24(s32 a0);
|
||||
extern void func_8015D01C();
|
||||
extern void func_8015D01C(int param_1);
|
||||
extern void func_8015CF58(s32 *param_1);
|
||||
extern void func_8015CFC0(s32 *a0);
|
||||
extern void func_8015CF8C(s32 *a0);
|
||||
@@ -1409,7 +1409,7 @@ extern void func_80160D10(void *arg0);
|
||||
extern void func_80160DEC(u8 *a0);
|
||||
extern void func_80160F00();
|
||||
extern void func_80160E3C(s32 *a0);
|
||||
extern void func_80160EA4();
|
||||
extern void func_80160EA4(void *a0);
|
||||
extern void func_80160E70(s32 *a0);
|
||||
extern void (*D_80192ED4[])(void);
|
||||
extern void func_80160EA4(void *a0);
|
||||
@@ -1690,7 +1690,7 @@ extern void func_80166618(void *a0);
|
||||
extern void (*D_801933EC[])(void);
|
||||
extern void func_80166654(void *a0);
|
||||
extern s32 func_80166690(s32 param_1, s32 param_2);
|
||||
extern s32 func_80166994();
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern s32 func_80166F58(s32 param_1, s32 param_2, s32 param_3, s32 param_4);
|
||||
extern s32 func_80167540(s32 arg0);
|
||||
extern void (*D_801933FC[])(void);
|
||||
@@ -1716,7 +1716,7 @@ extern s32 D_801269A4;
|
||||
extern s32 D_801269A8;
|
||||
extern s32 D_801269AC;
|
||||
extern void func_80168070(s32 param_1, s16 *param_2, s16 *param_3, void *param_4);
|
||||
extern s32 func_80166994(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern void func_8016829C(s32 a0);
|
||||
extern s32 func_80166690(s32 a0, s32 a1);
|
||||
extern void func_80168328(s32 arg0);
|
||||
@@ -2460,9 +2460,9 @@ extern s32 func_80175014(u8 *a0, u8 *a1, s32 a2);
|
||||
extern void func_80174F64(u8 *a0);
|
||||
extern void func_80174FBC(u8 *a0);
|
||||
extern s32 func_8017509C(u8 *a0, s32 a1, u8 *a2, u8 *a3);
|
||||
extern void func_80175184(s32 *a0);
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175114(s32 *a0);
|
||||
extern void func_80175184();
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175150(s32 *a0);
|
||||
extern void (*D_80193AB4[])(void*);
|
||||
extern s32 func_80175268(s32);
|
||||
@@ -2571,7 +2571,7 @@ extern s32 D_801274DC;
|
||||
extern s32 D_801274E0;
|
||||
extern void func_80178608(void);
|
||||
extern void func_80178744(s32 a0, s32 a1);
|
||||
extern void func_80178840();
|
||||
extern void func_80178840(int param_1);
|
||||
extern void func_80131E00(struct S80131E00 *a0, s32 a1);
|
||||
extern void func_80178840(int param_1);
|
||||
extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2);
|
||||
@@ -2589,7 +2589,7 @@ extern void func_8017BC38(int a0);
|
||||
extern void func_8017A4AC(void);
|
||||
extern void func_8017AE2C(s32 a0);
|
||||
extern s32 func_801399F0(s32 a0);
|
||||
extern void func_80178CBC(s32 a0, s32 a1);
|
||||
extern void func_80178CBC(s32 arg0, s32 arg1);
|
||||
|
||||
extern short D_801F16AC;
|
||||
extern s32 D_801EEC60;
|
||||
@@ -2661,7 +2661,7 @@ s32 func_801789AC(s32 arg0)
|
||||
|
||||
s32 func_80178B18(s32 param_1, s32 param_2)
|
||||
{
|
||||
extern void func_80178BF8(void);
|
||||
extern s32 func_80178BF8(void);
|
||||
extern void func_80178CBC(s32 arg0, s32 arg1);
|
||||
extern u16 D_80193D68;
|
||||
|
||||
@@ -2680,8 +2680,8 @@ s32 func_80178B18(s32 param_1, s32 param_2)
|
||||
|
||||
s32 func_80178B70(s32 param_1, s32 param_2)
|
||||
{
|
||||
extern void func_80178BF8();
|
||||
extern void func_80178CBC();
|
||||
extern s32 func_80178BF8(void);
|
||||
extern void func_80178CBC(s32 arg0, s32 arg1);
|
||||
extern int D_80193D68;
|
||||
|
||||
int *p = &D_80193D68;
|
||||
|
||||
@@ -255,11 +255,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -372,7 +372,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -1191,7 +1191,7 @@ extern void func_8015BE38(struct Obj *a0);
|
||||
extern s32 func_8015BE74(void);
|
||||
extern void func_80161124(void *a0);
|
||||
extern s32 func_8015BE94(s32 *a0);
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(s32 arg0);
|
||||
extern s32 func_8015BEC4(void);
|
||||
extern s32 func_8015B950(s32 arg0);
|
||||
extern s32 func_8015BEE4(void);
|
||||
@@ -1231,7 +1231,7 @@ extern s32 func_801725E0(u8 *a0);
|
||||
extern s32 func_8015CCD0(s32 param_1);
|
||||
extern s32 func_8015CD20(s32 arg0);
|
||||
extern void func_8015CF24(s32 a0);
|
||||
extern void func_8015D01C();
|
||||
extern void func_8015D01C(int param_1);
|
||||
extern void func_8015CF58(s32 *param_1);
|
||||
extern void func_8015CFC0(s32 *a0);
|
||||
extern void func_8015CF8C(s32 *a0);
|
||||
@@ -1408,7 +1408,7 @@ extern void func_80160D10(void *arg0);
|
||||
extern void func_80160DEC(u8 *a0);
|
||||
extern void func_80160F00();
|
||||
extern void func_80160E3C(s32 *a0);
|
||||
extern void func_80160EA4();
|
||||
extern void func_80160EA4(void *a0);
|
||||
extern void func_80160E70(s32 *a0);
|
||||
extern void (*D_80192ED4[])(void);
|
||||
extern void func_80160EA4(void *a0);
|
||||
@@ -1689,7 +1689,7 @@ extern void func_80166618(void *a0);
|
||||
extern void (*D_801933EC[])(void);
|
||||
extern void func_80166654(void *a0);
|
||||
extern s32 func_80166690(s32 param_1, s32 param_2);
|
||||
extern s32 func_80166994();
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern s32 func_80166F58(s32 param_1, s32 param_2, s32 param_3, s32 param_4);
|
||||
extern s32 func_80167540(s32 arg0);
|
||||
extern void (*D_801933FC[])(void);
|
||||
@@ -1715,7 +1715,7 @@ extern s32 D_801269A4;
|
||||
extern s32 D_801269A8;
|
||||
extern s32 D_801269AC;
|
||||
extern void func_80168070(s32 param_1, s16 *param_2, s16 *param_3, void *param_4);
|
||||
extern s32 func_80166994(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern void func_8016829C(s32 a0);
|
||||
extern s32 func_80166690(s32 a0, s32 a1);
|
||||
extern void func_80168328(s32 arg0);
|
||||
@@ -2440,9 +2440,9 @@ extern s32 func_80175014(u8 *a0, u8 *a1, s32 a2);
|
||||
extern void func_80174F64(u8 *a0);
|
||||
extern void func_80174FBC(u8 *a0);
|
||||
extern s32 func_8017509C(u8 *a0, s32 a1, u8 *a2, u8 *a3);
|
||||
extern void func_80175184(s32 *a0);
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175114(s32 *a0);
|
||||
extern void func_80175184();
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175150(s32 *a0);
|
||||
extern void (*D_80193AB4[])(void*);
|
||||
extern s32 func_80175268(s32);
|
||||
@@ -2527,7 +2527,7 @@ extern s32 D_801274DC;
|
||||
extern s32 D_801274E0;
|
||||
extern void func_80178608(void);
|
||||
extern void func_80178744(s32 a0, s32 a1);
|
||||
extern void func_80178840();
|
||||
extern void func_80178840(int param_1);
|
||||
extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern void func_8012B2CC(s32 a0);
|
||||
|
||||
@@ -255,11 +255,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -372,7 +372,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -1191,7 +1191,7 @@ extern void func_8015BE38(struct Obj *a0);
|
||||
extern s32 func_8015BE74(void);
|
||||
extern void func_80161124(void *a0);
|
||||
extern s32 func_8015BE94(s32 *a0);
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(s32 arg0);
|
||||
extern s32 func_8015BEC4(void);
|
||||
extern s32 func_8015B950(s32 arg0);
|
||||
extern s32 func_8015BEE4(void);
|
||||
@@ -1231,7 +1231,7 @@ extern s32 func_801725E0(u8 *a0);
|
||||
extern s32 func_8015CCD0(s32 param_1);
|
||||
extern s32 func_8015CD20(s32 arg0);
|
||||
extern void func_8015CF24(s32 a0);
|
||||
extern void func_8015D01C();
|
||||
extern void func_8015D01C(int param_1);
|
||||
extern void func_8015CF58(s32 *param_1);
|
||||
extern void func_8015CFC0(s32 *a0);
|
||||
extern void func_8015CF8C(s32 *a0);
|
||||
@@ -1408,7 +1408,7 @@ extern void func_80160D10(void *arg0);
|
||||
extern void func_80160DEC(u8 *a0);
|
||||
extern void func_80160F00();
|
||||
extern void func_80160E3C(s32 *a0);
|
||||
extern void func_80160EA4();
|
||||
extern void func_80160EA4(void *a0);
|
||||
extern void func_80160E70(s32 *a0);
|
||||
extern void (*D_80192ED4[])(void);
|
||||
extern void func_80160EA4(void *a0);
|
||||
@@ -1689,7 +1689,7 @@ extern void func_80166618(void *a0);
|
||||
extern void (*D_801933EC[])(void);
|
||||
extern void func_80166654(void *a0);
|
||||
extern s32 func_80166690(s32 param_1, s32 param_2);
|
||||
extern s32 func_80166994();
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern s32 func_80166F58(s32 param_1, s32 param_2, s32 param_3, s32 param_4);
|
||||
extern s32 func_80167540(s32 arg0);
|
||||
extern void (*D_801933FC[])(void);
|
||||
@@ -1715,7 +1715,7 @@ extern s32 D_801269A4;
|
||||
extern s32 D_801269A8;
|
||||
extern s32 D_801269AC;
|
||||
extern void func_80168070(s32 param_1, s16 *param_2, s16 *param_3, void *param_4);
|
||||
extern s32 func_80166994(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern void func_8016829C(s32 a0);
|
||||
extern s32 func_80166690(s32 a0, s32 a1);
|
||||
extern void func_80168328(s32 arg0);
|
||||
@@ -2440,9 +2440,9 @@ extern s32 func_80175014(u8 *a0, u8 *a1, s32 a2);
|
||||
extern void func_80174F64(u8 *a0);
|
||||
extern void func_80174FBC(u8 *a0);
|
||||
extern s32 func_8017509C(u8 *a0, s32 a1, u8 *a2, u8 *a3);
|
||||
extern void func_80175184(s32 *a0);
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175114(s32 *a0);
|
||||
extern void func_80175184();
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175150(s32 *a0);
|
||||
extern void (*D_80193AB4[])(void*);
|
||||
extern s32 func_80175268(s32);
|
||||
@@ -2527,7 +2527,7 @@ extern s32 D_801274DC;
|
||||
extern s32 D_801274E0;
|
||||
extern void func_80178608(void);
|
||||
extern void func_80178744(s32 a0, s32 a1);
|
||||
extern void func_80178840();
|
||||
extern void func_80178840(int param_1);
|
||||
extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern void func_8012B2CC(s32 a0);
|
||||
|
||||
@@ -255,11 +255,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -372,7 +372,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -1189,7 +1189,7 @@ extern void func_8015BE38(struct Obj *a0);
|
||||
extern s32 func_8015BE74(void);
|
||||
extern void func_80161124(void *a0);
|
||||
extern s32 func_8015BE94(s32 *a0);
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(s32 arg0);
|
||||
extern s32 func_8015BEC4(void);
|
||||
extern s32 func_8015B950(s32 arg0);
|
||||
extern s32 func_8015BEE4(void);
|
||||
@@ -1229,7 +1229,7 @@ extern s32 func_801725E0(u8 *a0);
|
||||
extern s32 func_8015CCD0(s32 param_1);
|
||||
extern s32 func_8015CD20(s32 arg0);
|
||||
extern void func_8015CF24(s32 a0);
|
||||
extern void func_8015D01C();
|
||||
extern void func_8015D01C(int param_1);
|
||||
extern void func_8015CF58(s32 *param_1);
|
||||
extern void func_8015CFC0(s32 *a0);
|
||||
extern void func_8015CF8C(s32 *a0);
|
||||
@@ -1406,7 +1406,7 @@ extern void func_80160D10(void *arg0);
|
||||
extern void func_80160DEC(u8 *a0);
|
||||
extern void func_80160F00();
|
||||
extern void func_80160E3C(s32 *a0);
|
||||
extern void func_80160EA4();
|
||||
extern void func_80160EA4(void *a0);
|
||||
extern void func_80160E70(s32 *a0);
|
||||
extern void (*D_80192ED4[])(void);
|
||||
extern void func_80160EA4(void *a0);
|
||||
@@ -1687,7 +1687,7 @@ extern void func_80166618(void *a0);
|
||||
extern void (*D_801933EC[])(void);
|
||||
extern void func_80166654(void *a0);
|
||||
extern s32 func_80166690(s32 param_1, s32 param_2);
|
||||
extern s32 func_80166994();
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern s32 func_80166F58(s32 param_1, s32 param_2, s32 param_3, s32 param_4);
|
||||
extern s32 func_80167540(s32 arg0);
|
||||
extern void (*D_801933FC[])(void);
|
||||
@@ -1713,7 +1713,7 @@ extern s32 D_801269A4;
|
||||
extern s32 D_801269A8;
|
||||
extern s32 D_801269AC;
|
||||
extern void func_80168070(s32 param_1, s16 *param_2, s16 *param_3, void *param_4);
|
||||
extern s32 func_80166994(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern void func_8016829C(s32 a0);
|
||||
extern s32 func_80166690(s32 a0, s32 a1);
|
||||
extern void func_80168328(s32 arg0);
|
||||
@@ -2438,9 +2438,9 @@ extern s32 func_80175014(u8 *a0, u8 *a1, s32 a2);
|
||||
extern void func_80174F64(u8 *a0);
|
||||
extern void func_80174FBC(u8 *a0);
|
||||
extern s32 func_8017509C(u8 *a0, s32 a1, u8 *a2, u8 *a3);
|
||||
extern void func_80175184(s32 *a0);
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175114(s32 *a0);
|
||||
extern void func_80175184();
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175150(s32 *a0);
|
||||
extern void (*D_80193AB4[])(void*);
|
||||
extern s32 func_80175268(s32);
|
||||
@@ -2525,7 +2525,7 @@ extern s32 D_801274DC;
|
||||
extern s32 D_801274E0;
|
||||
extern void func_80178608(void);
|
||||
extern void func_80178744(s32 a0, s32 a1);
|
||||
extern void func_80178840();
|
||||
extern void func_80178840(int param_1);
|
||||
extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern void func_8012B2CC(s32 a0);
|
||||
|
||||
@@ -255,11 +255,11 @@ extern void func_8014856C(s32 a0, s32 a1);
|
||||
extern void func_801485B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_80148634(void *a0);
|
||||
extern u8 D_800B9A64;
|
||||
extern s32 func_80014DC0();
|
||||
extern s32 func_80014D68();
|
||||
extern s32 func_80014D94();
|
||||
extern s32 func_80014CF8();
|
||||
extern void func_800120DC();
|
||||
extern u8 func_80014DC0(u32 a0);
|
||||
extern u16 func_80014D68(u32 a0);
|
||||
extern s32 func_80014D94(s32 a0);
|
||||
extern u8 func_80014CF8(u32 a0, u32 a1);
|
||||
extern void func_800120DC(u16 *arg0, u16 *arg1);
|
||||
extern s32 func_800CF8B4();
|
||||
extern u16 func_801487F4(s32 *a0);
|
||||
extern u16 func_80148800(s32 *a0);
|
||||
@@ -372,7 +372,7 @@ extern void func_80157510(s32 *a0);
|
||||
extern void func_80149BAC(s32 *a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern s32 func_80149C08(s32 arg0);
|
||||
extern void func_801577C8();
|
||||
extern void func_801577C8(s32 arg0);
|
||||
extern void func_80149C94(void);
|
||||
extern void func_80157D20(void);
|
||||
extern void func_80149CB4(void);
|
||||
@@ -739,7 +739,7 @@ extern void func_80151878(void);
|
||||
extern void func_80153B58(s32 *a0);
|
||||
extern s32 func_80151880(s32 a0);
|
||||
extern s32 func_801518D8(s32 a0);
|
||||
extern s32 func_80151944(void);
|
||||
extern void func_80151944(void *a0);
|
||||
extern s32 func_80151924(void);
|
||||
extern void func_8014E934(s32 a0);
|
||||
extern s32 func_8014F3E8(s32 a0);
|
||||
@@ -1189,7 +1189,7 @@ extern void func_8015BE38(struct Obj *a0);
|
||||
extern s32 func_8015BE74(void);
|
||||
extern void func_80161124(void *a0);
|
||||
extern s32 func_8015BE94(s32 *a0);
|
||||
extern s32 func_8015AE2C();
|
||||
extern s32 func_8015AE2C(s32 arg0);
|
||||
extern s32 func_8015BEC4(void);
|
||||
extern s32 func_8015B950(s32 arg0);
|
||||
extern s32 func_8015BEE4(void);
|
||||
@@ -1229,7 +1229,7 @@ extern s32 func_801725E0(u8 *a0);
|
||||
extern s32 func_8015CCD0(s32 param_1);
|
||||
extern s32 func_8015CD20(s32 arg0);
|
||||
extern void func_8015CF24(s32 a0);
|
||||
extern void func_8015D01C();
|
||||
extern void func_8015D01C(int param_1);
|
||||
extern void func_8015CF58(s32 *param_1);
|
||||
extern void func_8015CFC0(s32 *a0);
|
||||
extern void func_8015CF8C(s32 *a0);
|
||||
@@ -1406,7 +1406,7 @@ extern void func_80160D10(void *arg0);
|
||||
extern void func_80160DEC(u8 *a0);
|
||||
extern void func_80160F00();
|
||||
extern void func_80160E3C(s32 *a0);
|
||||
extern void func_80160EA4();
|
||||
extern void func_80160EA4(void *a0);
|
||||
extern void func_80160E70(s32 *a0);
|
||||
extern void (*D_80192ED4[])(void);
|
||||
extern void func_80160EA4(void *a0);
|
||||
@@ -1687,7 +1687,7 @@ extern void func_80166618(void *a0);
|
||||
extern void (*D_801933EC[])(void);
|
||||
extern void func_80166654(void *a0);
|
||||
extern s32 func_80166690(s32 param_1, s32 param_2);
|
||||
extern s32 func_80166994();
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern s32 func_80166F58(s32 param_1, s32 param_2, s32 param_3, s32 param_4);
|
||||
extern s32 func_80167540(s32 arg0);
|
||||
extern void (*D_801933FC[])(void);
|
||||
@@ -1713,7 +1713,7 @@ extern s32 D_801269A4;
|
||||
extern s32 D_801269A8;
|
||||
extern s32 D_801269AC;
|
||||
extern void func_80168070(s32 param_1, s16 *param_2, s16 *param_3, void *param_4);
|
||||
extern s32 func_80166994(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern s32 func_80166994(s32 param_1, int param_2, int param_3, int param_4);
|
||||
extern void func_8016829C(s32 a0);
|
||||
extern s32 func_80166690(s32 a0, s32 a1);
|
||||
extern void func_80168328(s32 arg0);
|
||||
@@ -1739,7 +1739,7 @@ extern void func_80168A88(void);
|
||||
extern void (*D_80193430[])(void);
|
||||
extern void func_80168AA8(void *a0);
|
||||
extern void func_80168AE4(s32 a0);
|
||||
extern void func_800D2318(void);
|
||||
extern void func_800D2318(s32 *p);
|
||||
extern void func_80168BDC(s32 param_1, s32 param_2, s32 param_3, s32 param_4);
|
||||
extern void (*D_80193438[])(void);
|
||||
extern void func_80168D58(void *a0);
|
||||
@@ -1792,7 +1792,7 @@ extern u16 D_80126B66;
|
||||
extern void func_8016AA50(s32 param_1, s32 param_2);
|
||||
extern void (*D_80193598[])(void);
|
||||
extern void func_8016AB30(void *a0);
|
||||
extern void func_8016B234(void);
|
||||
extern void func_8016B234(s32 param_1);
|
||||
extern void func_8016AFB0(s32 a0);
|
||||
extern void func_8016B114(void *arg0);
|
||||
extern s32 func_8016B448(s32, s32);
|
||||
@@ -2430,9 +2430,9 @@ extern s32 func_80175014(u8 *a0, u8 *a1, s32 a2);
|
||||
extern void func_80174F64(u8 *a0);
|
||||
extern void func_80174FBC(u8 *a0);
|
||||
extern s32 func_8017509C(u8 *a0, s32 a1, u8 *a2, u8 *a3);
|
||||
extern void func_80175184(s32 *a0);
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175114(s32 *a0);
|
||||
extern void func_80175184();
|
||||
extern void func_80175184(s32* arg0);
|
||||
extern void func_80175150(s32 *a0);
|
||||
extern void (*D_80193AB4[])(void*);
|
||||
extern s32 func_80175268(s32);
|
||||
@@ -2517,7 +2517,7 @@ extern s32 D_801274DC;
|
||||
extern s32 D_801274E0;
|
||||
extern void func_80178608(void);
|
||||
extern void func_80178744(s32 a0, s32 a1);
|
||||
extern void func_80178840();
|
||||
extern void func_80178840(int param_1);
|
||||
extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern void func_8012E8E0(s32 a0, s32 a1);
|
||||
extern void func_8012B2CC(s32 a0);
|
||||
@@ -2579,7 +2579,7 @@ extern s32 func_8017A3B0(void);
|
||||
extern short D_801EEC94;
|
||||
extern short D_801EEC90;
|
||||
extern int func_800D0CA0(int);
|
||||
extern int func_8001AAA0(void);
|
||||
extern void func_8001AAA0(s32 arg0);
|
||||
extern int func_800D0CE0(void);
|
||||
extern int func_8017A3D8(void);
|
||||
extern void func_80172310(u8*);
|
||||
@@ -3153,7 +3153,7 @@ void func_8017E3B0(s32 param_1)
|
||||
* - func_8017E6EC is defined LATER in this TU with (s32,s32); the no-prototype forward decl is
|
||||
* required so the 1-argument call site here does not become a 2-argument call (§263).
|
||||
*/
|
||||
extern void func_8017E6EC();
|
||||
extern void func_8017E6EC(s32 a0, s32 a1);
|
||||
extern void func_80146C3C();
|
||||
|
||||
void func_8017E558(void *arg0) {
|
||||
@@ -3438,7 +3438,7 @@ void func_8017EC38(void *a0) {
|
||||
extern void func_8014E934(s32 a0);
|
||||
extern void func_8014CC28(s32 a0);
|
||||
extern s32 func_8014F3E8(s32 a0);
|
||||
extern void func_8017ECD8();
|
||||
extern void func_8017ECD8(s32 a0);
|
||||
extern void func_80146CA0(void *a0);
|
||||
void func_8017EC90(s32 a0) {
|
||||
func_8014E934(a0);
|
||||
@@ -4680,7 +4680,7 @@ s32 func_80180930(u8 *a0) {
|
||||
|
||||
|
||||
extern u16 D_801EFD40;
|
||||
extern void func_801863D4();
|
||||
extern void func_801863D4(); // K&R: 0/1 of 1 args (P37 rung D t3d1)
|
||||
extern void func_8018637C(s32 a0, s32 a1);
|
||||
extern s32 D_801DECA4;
|
||||
|
||||
@@ -4806,7 +4806,7 @@ void func_80180B24(s32 s0)
|
||||
* sit in limbo; a FILE-scope decl here would let gcc-2.7.2's pushdecl merge that
|
||||
* prototype into the global (different_binding_level) and the definition then errors
|
||||
* `conflicting types for func_80183BD0` -- measured on a spliced-TU cc1 run. */
|
||||
extern void func_80183BD0(u8 *a0);
|
||||
extern void func_80183BD0(s32 a0);
|
||||
struct Ent_80180B24 *p;
|
||||
s32 a;
|
||||
s32 s1;
|
||||
@@ -5040,7 +5040,7 @@ void func_80180F30(s32 s2)
|
||||
void func_801811D0(s32 *arg0) {
|
||||
extern s16 D_801944A8[];
|
||||
extern void func_8018332C(s32 a0, s32 a1);
|
||||
extern void func_80183BD0(u8 *a0);
|
||||
extern void func_80183BD0(s32 a0);
|
||||
extern void func_80186BD8(void);
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
|
||||
@@ -5177,7 +5177,7 @@ void func_801813FC(s32 s0)
|
||||
extern void func_80183BAC(u8*);
|
||||
extern void func_80183880(s32 a0);
|
||||
extern void func_8012BEE8(u8 *a0);
|
||||
extern void func_80183BD0(u8 *a0);
|
||||
extern void func_80183BD0(s32 a0);
|
||||
|
||||
s1 = (u8 *)aB58_801813FC;
|
||||
|
||||
@@ -5291,7 +5291,7 @@ void func_801813FC(s32 s0)
|
||||
#include "common.h"
|
||||
|
||||
extern void func_80183564(s32 a0, s16 *a1);
|
||||
extern void func_80183BD0();
|
||||
extern void func_80183BD0(s32 a0);
|
||||
extern s32 func_80186710(void);
|
||||
extern void func_80186BD8(void);
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
@@ -5356,12 +5356,12 @@ extern u8 D_80194C14[];
|
||||
|
||||
/* Unprototyped arg lists: composite-type compatible with any prototyped
|
||||
* spelling another draft in this TU may add (law 4, function flavour). */
|
||||
extern void func_80189188();
|
||||
extern void func_80189270();
|
||||
extern void func_80189188(void *a0);
|
||||
extern void func_80189270(s32 arg0);
|
||||
extern void func_801439C0();
|
||||
extern void func_80183564(s32 a0, s16 *a1);
|
||||
extern void func_80186300(s32, void *, s32);
|
||||
extern void func_80184CCC();
|
||||
extern void func_80186300(s32 a0, void *a1, s32 a2);
|
||||
extern void func_80184CCC(s32 a0, s32 a1);
|
||||
extern void func_80184DB8(s32 a0);
|
||||
extern s32 func_80184F4C();
|
||||
extern void func_80181B30();
|
||||
@@ -5541,13 +5541,13 @@ void func_80181BA0(struct Ent_80181BA0 *a0) {
|
||||
extern void func_80183D00(s32);
|
||||
extern void func_80185B5C(u16);
|
||||
extern void func_80185C5C(u16);
|
||||
extern void func_80184DB8(s32);
|
||||
extern void func_80184DB8(s32 a0);
|
||||
extern void func_80185A30(s32);
|
||||
extern void func_80186300(s32 a0, void *a1, s32 a2);
|
||||
extern void func_80186BF8(void);
|
||||
extern void func_8018AA70(s32);
|
||||
/* §183 SIGNATURE-cast-at-call: TU declares (s32, s32); adopt it and cast at the call. */
|
||||
extern void func_80184CCC();
|
||||
extern void func_80184CCC(s32 a0, s32 a1);
|
||||
extern void func_80183CF4(void *);
|
||||
extern void func_80185B04(s32, s32);
|
||||
extern void func_80185C04(s32, s32);
|
||||
@@ -5664,7 +5664,7 @@ void func_80181EA0(s32 a0) {
|
||||
func_80184CCC L5203 (unprototyped, §183 cast-at-call), D_80194C3C L5652.
|
||||
D_801F161E is undeclared in the TU — typed by access width (sh -> u16). */
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
extern void func_80184CCC();
|
||||
extern void func_80184CCC(s32 a0, s32 a1);
|
||||
extern u16 D_801EFD40;
|
||||
extern u16 D_801F161E;
|
||||
extern u8 D_80194C3C[];
|
||||
@@ -5698,11 +5698,11 @@ struct EntF2_80181F0C {
|
||||
void func_80181F0C(s32 a0) {
|
||||
extern void func_8012BEE8(u8 *a0);
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
extern void func_80184CCC();
|
||||
extern void func_80184CCC(s32 a0, s32 a1);
|
||||
extern void func_80183DF8(void);
|
||||
extern void func_80183C74(s32, u16);
|
||||
extern void func_80183D00(s32);
|
||||
extern void func_80184DB8(s32);
|
||||
extern void func_80184DB8(s32 a0);
|
||||
extern s16 func_80185A30(s32);
|
||||
extern void func_80185B04(u16, u16);
|
||||
extern void func_80185C04(u16, u16);
|
||||
@@ -5794,7 +5794,7 @@ void func_8018214C(s32 a0, s32 a1) {
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
extern u16 D_801EFD40;
|
||||
extern u8 D_80194C14[];
|
||||
extern void func_80184CCC();
|
||||
extern void func_80184CCC(s32 a0, s32 a1);
|
||||
extern void func_80132EC4(s32 a0, s32 a1);
|
||||
extern struct { s32 f0; s32 f1; s32 f2; } D_801944E8[];
|
||||
|
||||
@@ -5834,7 +5834,7 @@ extern Rec801944E8 D_801944E8[];
|
||||
extern void func_80185960(s32 target, u16 *cur, s32 step);
|
||||
extern s32 func_80184F4C(void);
|
||||
/* §183 SIGNATURE-cast-at-call: batch-wide spelling is (s32, void *, s32). */
|
||||
extern void func_80186300(s32, void *, s32);
|
||||
extern void func_80186300(s32 a0, void *a1, s32 a2);
|
||||
extern void func_80188560(s32 a0, s32 a1);
|
||||
extern void func_80185F1C(void);
|
||||
extern void func_80185214(s32 a0);
|
||||
@@ -6000,7 +6000,7 @@ void func_80182420(struct Ent_80182420 *a0)
|
||||
* TU — typed by this target's access width / argument use. */
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
extern void func_8018637C(s32 arg0, s32 arg1);
|
||||
extern void func_80184CCC();
|
||||
extern void func_80184CCC(s32 a0, s32 a1);
|
||||
extern void func_80184DB8(s32 a0);
|
||||
extern s32 func_80184F4C(void);
|
||||
extern void func_80186BD8(void);
|
||||
@@ -6088,7 +6088,7 @@ void func_80182630(s32 param_1)
|
||||
extern s32 rand(void);
|
||||
extern void func_8018637C(s32 arg0, s32 arg1);
|
||||
extern s32 func_8018B948();
|
||||
extern void func_8018B9D4();
|
||||
extern void func_8018B9D4(void *a0, void *a1);
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
extern s32 D_801EFC54;
|
||||
extern void *D_80194500[];
|
||||
@@ -6113,9 +6113,9 @@ void func_80182630(s32 param_1)
|
||||
|
||||
|
||||
extern s32 rand(void);
|
||||
extern void func_80186300();
|
||||
extern void func_80186300(s32 a0, void *a1, s32 a2);
|
||||
extern s32 func_8018B948();
|
||||
extern void func_8018B9D4();
|
||||
extern void func_8018B9D4(void *a0, void *a1);
|
||||
extern void func_8012AD44(s32 *, s16);
|
||||
extern s32 D_801EFC54;
|
||||
extern void *D_80194500[];
|
||||
@@ -6163,8 +6163,8 @@ void func_801827DC(s32 param_1)
|
||||
extern void func_8013C9C4(void *a0);
|
||||
extern void func_8018637C(s32 arg0, s32 arg1);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_8018B9D4();
|
||||
extern void func_80182AF8();
|
||||
extern void func_8018B9D4(void *a0, void *a1);
|
||||
extern void func_80182AF8(s32 a0);
|
||||
/* §183: the TU spells D_80194500 as a flat void*[] elsewhere; reach the
|
||||
row-of-3 view through an __asm__ label alias -- the TU's own idiom. */
|
||||
extern void *a4500[][3] __asm__("D_80194500");
|
||||
@@ -6274,7 +6274,7 @@ L_af8:
|
||||
|
||||
|
||||
void func_80182AF8(s32 a0) {
|
||||
extern void func_80186EBC();
|
||||
extern void func_80186EBC(void *a0);
|
||||
extern void func_80184840();
|
||||
extern void func_80186BD8(void);
|
||||
extern void func_8018637C(s32 a0, s32 a1);
|
||||
@@ -6318,7 +6318,7 @@ extern void func_801833D4(int a0, int a1);
|
||||
extern s32 func_80183A28(u8 *a0);
|
||||
/* §183 SIGNATURE-cast-at-call: batch-wide spelling is (s32, s16 *). */
|
||||
extern void func_80183564(s32 a0, s16 *a1);
|
||||
extern void func_80183BD0();
|
||||
extern void func_80183BD0(s32 a0);
|
||||
extern s32 func_80186710(void);
|
||||
extern void func_80186BD8(void);
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
@@ -6406,7 +6406,7 @@ L_end:
|
||||
|
||||
extern void func_80132EC4(s32 a0, s32 a1);
|
||||
extern void func_8018637C(s32 arg0, s32 arg1);
|
||||
extern void func_80186EBC();
|
||||
extern void func_80186EBC(void *a0);
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
extern void func_800D0C48(s32 a0);
|
||||
extern void func_8002AC00(s32 arg0);
|
||||
@@ -6580,9 +6580,9 @@ extern s32 D_801EFD18;
|
||||
|
||||
/* §183 SIGNATURE-cast-at-call: the TU DEFINES `void func_8018B2F8(s32 *, s32)` (L7882). */
|
||||
extern void func_8018B2F8(s32 *a0, s32 a1);
|
||||
extern void func_8018B830();
|
||||
extern void func_8018B830(s32 *a0);
|
||||
extern void func_80016450(s32 a0, s32 a1);
|
||||
extern void func_80189410();
|
||||
extern void func_80189410(void *a0);
|
||||
extern void func_8018B8C0(void *a0);
|
||||
extern s32 func_80143970(s32 a0);
|
||||
extern void func_8017CC2C(void);
|
||||
@@ -6683,7 +6683,7 @@ s32 func_8018315C(s32 *a0) {
|
||||
s32 v0;
|
||||
s16 x;
|
||||
s16 y;
|
||||
extern int func_8001AAA0(void);
|
||||
extern void func_8001AAA0(s32 arg0);
|
||||
|
||||
s0 = (s32)a0;
|
||||
|
||||
@@ -6749,7 +6749,7 @@ ret:
|
||||
|
||||
|
||||
extern s16 func_80174774(void);
|
||||
extern void func_80186EBC();
|
||||
extern void func_80186EBC(void *a0);
|
||||
|
||||
s32 func_80183258(s32 a0) {
|
||||
s32 v0;
|
||||
@@ -6798,11 +6798,11 @@ extern u16 D_801EFD40;
|
||||
extern s32 aFC4C[] __asm__("D_801EFC4C");
|
||||
extern u16 D_801EFD20;
|
||||
|
||||
extern void func_801863D4();
|
||||
extern void func_801863D4(); // K&R: 0/1 of 1 args (P37 rung D t3d1)
|
||||
extern void func_801863B4(s32 a0);
|
||||
extern void func_80184ABC();
|
||||
extern void func_80184ABC(s32 a0);
|
||||
/* §183 SIGNATURE-cast-at-call: batch-wide spelling is (s32, s16 *). */
|
||||
extern void func_80183564();
|
||||
extern void func_80183564(s32 a0, s16 *a1);
|
||||
|
||||
void func_8018332C(s32 a0, s32 a1) {
|
||||
s32 v0;
|
||||
@@ -6845,7 +6845,7 @@ extern s32 aFC4C[] __asm__("D_801EFC4C");
|
||||
|
||||
extern void func_801852BC(s32 a0);
|
||||
extern void func_801853D0(s32 a0);
|
||||
extern void func_80185648();
|
||||
extern void func_80185648(u32 a0);
|
||||
extern void func_800484EC(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80183BF0(s32 a0);
|
||||
/* §183 SIGNATURE-cast-at-call: the TU DEFINES `s32 func_801836D4(void *, void *)` (L4677). */
|
||||
@@ -7096,9 +7096,9 @@ void func_801837C4(s32 a0, s32 a1) {
|
||||
extern u16 D_801EFD40;
|
||||
extern s32 aFC4C[] __asm__("D_801EFC4C");
|
||||
extern u16 D_801EFD20;
|
||||
extern void func_801863D4();
|
||||
extern void func_801863D4(); // K&R: 0/1 of 1 args (P37 rung D t3d1)
|
||||
extern void func_801863B4(s32 a0);
|
||||
extern void func_80184ABC();
|
||||
extern void func_80184ABC(s32 a0);
|
||||
s32 v0;
|
||||
s32 s1;
|
||||
|
||||
@@ -7133,7 +7133,7 @@ void func_80183880(s32 a0)
|
||||
extern s32 D_801EFC4C[];
|
||||
extern void func_801852BC(s32);
|
||||
extern void func_801853D0(s32);
|
||||
extern void func_80185648();
|
||||
extern void func_80185648(u32 a0);
|
||||
extern void func_800484EC(s32, s32, s32);
|
||||
extern s32 func_80183BF0(s32);
|
||||
extern void func_80185960(s32, u16 *, s32);
|
||||
@@ -7704,7 +7704,7 @@ extern void func_8012BEE8(u8*);
|
||||
extern void func_80185DDC(void *a0);
|
||||
extern void func_80186020(void *a0);
|
||||
extern void func_80132784(s32 a0, s32 a1, u32 a2);
|
||||
extern void func_8018489C();
|
||||
extern void func_8018489C(s32 arg0, s32 arg1, s32 arg2);
|
||||
|
||||
extern s32 D_801EFC48;
|
||||
extern u16 D_801EFD40;
|
||||
@@ -7775,7 +7775,7 @@ extern void func_8012BEE8(u8*);
|
||||
extern void func_80185DDC(void*);
|
||||
extern void func_80186020(void*);
|
||||
extern void func_80132784(s32 a0, s32 a1, u32 a2);
|
||||
extern void func_8018489C();
|
||||
extern void func_8018489C(s32 arg0, s32 arg1, s32 arg2);
|
||||
|
||||
void func_80184728(void *a0) {
|
||||
|
||||
@@ -8038,7 +8038,7 @@ void func_80184ABC(s32 a0)
|
||||
{
|
||||
extern s32 D_801EFC4C;
|
||||
extern u8 D_80194724[];
|
||||
extern void func_80184B3C();
|
||||
extern void func_80184B3C(void *a0);
|
||||
|
||||
s32 i;
|
||||
s32 *p;
|
||||
@@ -8191,7 +8191,7 @@ extern void func_8018681C(s32 a0, void *a1);
|
||||
prototype and cast at the call (byte-identical). */
|
||||
extern void func_801852BC(s32 a0);
|
||||
extern void func_801853D0(s32 a0);
|
||||
extern void func_80185648();
|
||||
extern void func_80185648(u32 a0);
|
||||
|
||||
/* §183 DEF-side: the TU declares `extern void func_80184DB8(s32 a0);` at file scope (L4350),
|
||||
so the definition adopts s32. */
|
||||
@@ -9207,7 +9207,7 @@ s32 func_80186710(void) {
|
||||
void func_80186798(s32 a0, void *a1) {
|
||||
extern u8 D_80194724[];
|
||||
extern s32 aFC4C[] __asm__("D_801EFC4C");
|
||||
extern void func_801868A0();
|
||||
extern void func_801868A0(void *a0, u16 *a1);
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < (u32)a0; i++) {
|
||||
@@ -9220,7 +9220,7 @@ void func_80186798(s32 a0, void *a1) {
|
||||
|
||||
extern s32 aFC4C[] __asm__("D_801EFC4C");
|
||||
extern u8 D_80194724[];
|
||||
extern void func_801868A0();
|
||||
extern void func_801868A0(void *a0, u16 *a1);
|
||||
|
||||
void func_8018681C(s32 a0, void *a1) {
|
||||
s32 i;
|
||||
@@ -9512,7 +9512,7 @@ void func_80186D58(s32 a0) {
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern s32 func_80186E54();
|
||||
extern s32 func_80186E54(s32 arg0, s32 arg1, s32 arg2);
|
||||
|
||||
s32 func_80186DCC(s32 a0) {
|
||||
s16 local_10[3]; /* sp+0x10 */
|
||||
@@ -9592,7 +9592,7 @@ extern s32 D_801EFC48;
|
||||
extern s32 D_801EFD2C;
|
||||
extern s32 D_801EFD28;
|
||||
extern s32 D_801DEC6C;
|
||||
extern void func_80186110();
|
||||
extern void func_80186110(s32 arg0);
|
||||
extern void func_8018615C(s32 a0);
|
||||
extern void func_80189A98();
|
||||
extern void func_8018637C(s32 a0, s32 a1);
|
||||
@@ -9636,7 +9636,7 @@ extern u16 D_801EFD40;
|
||||
extern void func_801805F8(s32 arg0);
|
||||
extern void func_801852BC(s32 a0);
|
||||
extern void func_801853D0(s32 a0);
|
||||
extern void func_80185648();
|
||||
extern void func_80185648(u32 a0);
|
||||
|
||||
void func_80187008(s32 arg0) {
|
||||
s32 g = D_801EFD20;
|
||||
@@ -9666,7 +9666,7 @@ extern void func_80139A68(s32 a0, u16 a1);
|
||||
extern u8 D_80194378[];
|
||||
extern s32 D_801EFD28;
|
||||
extern s32 D_801EFD2C;
|
||||
extern void func_80180AB4();
|
||||
extern void func_80180AB4(struct Ent_80180AB4 *arg0);
|
||||
|
||||
void func_80187068(s32 a0) {
|
||||
extern u16 D_80126B58;
|
||||
@@ -9710,8 +9710,8 @@ extern u16 D_801EFD40;
|
||||
extern u16 D_801EFD20;
|
||||
extern u8 D_80194C14[];
|
||||
extern u8 D_80194CB4[];
|
||||
extern void func_80184CCC();
|
||||
extern void func_80184DB8();
|
||||
extern void func_80184CCC(s32 a0, s32 a1);
|
||||
extern void func_80184DB8(s32 a0);
|
||||
extern s32 func_80184F4C(void);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80182B5C(void *a0);
|
||||
@@ -9765,7 +9765,7 @@ void func_80187178(void *a0)
|
||||
extern void func_80185DDC(void *a0);
|
||||
extern void func_80186020(void *a0);
|
||||
extern void func_80132784(s32 a0, s32 a1, u32 a2);
|
||||
extern void func_8018489C();
|
||||
extern void func_8018489C(s32 arg0, s32 arg1, s32 arg2);
|
||||
|
||||
extern u16 D_801EFD40;
|
||||
extern s32 D_801EFC48;
|
||||
@@ -10352,7 +10352,7 @@ extern void func_8004914C(void *a0);
|
||||
extern void func_800491AC(void *a0);
|
||||
extern void RotTransSV(void *a0, void *a1, void *a2);
|
||||
extern s32 func_80135004(s32 a0, void *a1, s32 a2);
|
||||
extern void func_80188054();
|
||||
extern void func_80188054(short *a0, short *a1);
|
||||
extern void *D_801EFD70[4];
|
||||
extern u8 D_801EFDC0[];
|
||||
extern u8 D_801ED998[];
|
||||
@@ -10971,7 +10971,7 @@ void func_80188D18(void *a0) {
|
||||
}
|
||||
|
||||
|
||||
extern void func_80181868();
|
||||
extern void func_80181868(u8 *self);
|
||||
s32 func_80188D54(s32 arg0) {
|
||||
return ((s32 (*)(s32))func_80181868)(*(s32 *)(arg0 + 0x64));
|
||||
}
|
||||
@@ -11643,7 +11643,7 @@ void func_80189AEC(void *a0) {
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern void func_80189EAC();
|
||||
extern void func_80189EAC(s32 arg0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_8012C218(void *a0);
|
||||
extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
@@ -13587,7 +13587,7 @@ void func_8018C4BC(s32 arg0)
|
||||
|
||||
extern void func_8012AD80(s32 a0);
|
||||
extern void func_8018A7E8(s32 a0);
|
||||
extern void func_80189108();
|
||||
extern void func_80189108(s32 *a0);
|
||||
extern s32 func_801893D4(s32 a0);
|
||||
extern s32 func_80189478(s32 a0);
|
||||
|
||||
@@ -13860,7 +13860,7 @@ void func_8018CA98(void *a0)
|
||||
#include "common.h"
|
||||
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_8018A784();
|
||||
extern void func_8018A784(s32 arg0);
|
||||
|
||||
void func_8018CAF0(void *a0) {
|
||||
s32 s0 = (s32)a0;
|
||||
@@ -14409,7 +14409,7 @@ void func_8018D5D0(void) {
|
||||
#include "common.h"
|
||||
|
||||
extern void func_80016714(void *a0, s32 a1);
|
||||
extern void func_8018D7C8();
|
||||
extern void func_8018D7C8(int param_1, int param_2);
|
||||
extern void func_8012BF4C(s32 *a0, s32 a1);
|
||||
extern s32 func_8012AD50(void *a0);
|
||||
|
||||
|
||||
@@ -373,7 +373,7 @@ extern void func_8012D5DC(void);
|
||||
extern s16 D_80126B98;
|
||||
extern s32 func_8012DEB8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_8012D5E4(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern int func_8012D664();
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern void func_8012D624(s32 a0);
|
||||
extern int func_8012D664(int arg0, int arg1, int arg2);
|
||||
extern s32 func_8012D714(s32 param_1, u32 param_2);
|
||||
@@ -450,13 +450,13 @@ extern void func_8012F68C(s32 arg0);
|
||||
extern void func_8012F75C(s32 a0);
|
||||
extern s32 func_8012BEE8(s32);
|
||||
extern void func_8012F7B4(s32 a0);
|
||||
extern void func_80131170();
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern void func_80131CA8();
|
||||
extern unsigned char D_8019079C[];
|
||||
extern void func_8012F828(int param_1);
|
||||
extern void func_80131340(s32 a0);
|
||||
extern void func_8012F87C(s32 a0);
|
||||
extern void func_80131170(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_80131170(s32 p, s32 b, s32 c);
|
||||
extern u8 D_801907A8[];
|
||||
extern void func_8012F8C8(u8* arg0);
|
||||
extern void func_8012F91C(s32 a0);
|
||||
@@ -574,7 +574,7 @@ extern void func_801336E8(void *a0, int a1, int a2);
|
||||
extern void func_80136BC4(s32);
|
||||
extern void func_8013373C(s16 arg0);
|
||||
extern s32 func_80133784(s32 arg0, void *arg1, s32 arg2);
|
||||
extern s32 func_80133CD4();
|
||||
extern s32 func_80133CD4(int arg0, s16 * cmd, s16 * base, s32 * arr);
|
||||
extern s32 func_8013435C(s16 *a0, s16 *a1, s32 a2, s16 *a3);
|
||||
extern s32 func_801343C4(s32 angle, s32 p1, s32 p2);
|
||||
extern s32 func_80134510(s32 param);
|
||||
@@ -726,8 +726,8 @@ extern void func_8013A530();
|
||||
extern void func_8013A448(void *a0);
|
||||
extern void func_8013A4C4(struct S8013A4C4 *a0);
|
||||
extern void func_8013A380(void);
|
||||
extern void func_80015D4C();
|
||||
extern void func_80015F04();
|
||||
extern void func_80015D4C(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_80015F04(s32 a0, s32 a1, s32 a2, s32 a3, u8 arg4, u8 arg5, u8 arg6, u16 arg7, u16 arg8);
|
||||
extern void func_8013AA24(s32 a0, s32 a1);
|
||||
extern void func_8013A530(int param_1);
|
||||
extern void func_8013A860(void);
|
||||
|
||||
+4
-3
@@ -576,9 +576,10 @@ def apply_edits(raw, edits):
|
||||
return out
|
||||
|
||||
|
||||
def marker_edits(raw, ls, survivors, rung, label):
|
||||
def marker_edits(raw, ls, survivors, rung, label, phase="P36"):
|
||||
"""End-of-line `// !FAKE:` insertions for the class A/B survivors (NEEDED / REFUSED / DEFERRED), one marker per line naming
|
||||
every survivor on it; an existing marker on that line is replaced."""
|
||||
every survivor on it; an existing marker on that line is replaced. `phase` names the campaign in the attribution tail
|
||||
(`(P36 rung B tus3)`; Phase 37's struct-hypothesis rung writes `(P37 S+A <label>)` through the same function, R113)."""
|
||||
by_line = collections.defaultdict(list)
|
||||
for s, verdict, why in survivors:
|
||||
if s["kind"] in MARK_KINDS:
|
||||
@@ -591,7 +592,7 @@ def marker_edits(raw, ls, survivors, rung, label):
|
||||
for s, verdict, why in items:
|
||||
what = f"{s['kind']}" + (f" {s['detail']}" if s.get("detail") and s.get("detail") != s.get("via") else "") + (f" via {s['via']}" if s.get("via") else "")
|
||||
parts.append(f"{what} — {verdict}" + (f" {why}" if why else ""))
|
||||
text = f"{FAKE} " + "; ".join(parts) + f" (P36 {rung} {label})"
|
||||
text = f"{FAKE} " + "; ".join(parts) + f" ({phase} {rung} {label})"
|
||||
k = line.find(FAKE)
|
||||
if k >= 0:
|
||||
j = k
|
||||
|
||||
+265
-5
@@ -5,6 +5,8 @@
|
||||
tools/delever_oracle.py --calibrate ov_SC04_011 main # compile every TU of the named binaries UNTOUCHED: 100 % object equality with build/,
|
||||
# twin == primary, then the POSITIVE control (a nop injected -> DIFFERS); exit 1 otherwise
|
||||
tools/delever_oracle.py --status # is the calibration current for this HEAD / Makefile?
|
||||
tools/delever_oracle.py --snapshot-baseline # build/**/*.o + every binary's link inputs -> .run/P36/delever/baseline/ (after a GREEN check-all)
|
||||
tools/delever_oracle.py --linked-control # Phase 37 T3: the f3 known-true (reloc spelling: whole-object DIFFERS, linked IDENTICAL) + its negative
|
||||
|
||||
THE QUESTION IT ANSWERS: "does this candidate text for TU X still produce the byte-identical object?" — and only that. The whole-binary
|
||||
gate (`make check BINARY=…`, and the clean fleet run, R22) remains the arbiter of every batch; this oracle is the inner loop that
|
||||
@@ -22,6 +24,16 @@ HOW (the design settled at gate 1 + the plan agent's review, R57: the instrument
|
||||
* CALIBRATION (R39/R57): every sampled TU compiled untouched reproduces its object byte for byte; a twin's object equals its primary's;
|
||||
a deliberately altered body reports DIFFERS. `.run/P36/delever/calibration.json` records HEAD, the Makefile/config mtimes and the
|
||||
per-object seconds (the scheduler's cost model); an --apply of the de-lever tool refuses without a current calibration.
|
||||
* THE LINKED MODE (Phase 37 T3, 2026-09-12 — the T2 finding (h)): a correct global-block edit can be whole-object DIFFERS while the
|
||||
LINKED bytes are identical, because only the RELOCATION SPELLING changed (`D_801F8872` vs `D_801F8870`+2 resolve to one address;
|
||||
the immediate field and the symbol differ in the .o). `judge_linked` therefore runs the build's OWN tail on the candidate object:
|
||||
the binary's snapshot `.ld` with the one object pointed at the candidate and every other object at the snapshot's copy, the
|
||||
Makefile's exact `ld … -T <undefined_syms> -T <undefined_funcs> [-T build/psyq/*_externals.ld] --no-check-sections`, `objcopy -O
|
||||
binary`, the <=3-byte end-align trim, and SHA1 against config/check.<alias>.sha — nothing of HI16/LO16 pairing is re-implemented
|
||||
(R110: the tree's own bytes through the build's own tail). ~0.3 s per judgement; run only AFTER a whole-object DIFFERS, when the
|
||||
edit is flagged relocation-spelling or `reloc_only_diff` says the .text words agree modulo relocation operands. The snapshot
|
||||
(`--snapshot-baseline`) therefore also carries every binary's link inputs (`_link/<alias>/`, `links.json`), so a clean fleet
|
||||
rebuild can run beside a live linked judgement (R112).
|
||||
"""
|
||||
import argparse
|
||||
import hashlib
|
||||
@@ -44,6 +56,7 @@ SCRATCH = RUN / "obj"
|
||||
RECIPE_RE = re.compile(r"^set -o pipefail; (.*) -o (build/\S+\.o)$")
|
||||
SIGNAL_LINE = re.compile(r"^\s*\d+\s+(Aborted|Segmentation fault|Illegal instruction|Floating point exception|Bus error|Killed)[^\n]*", re.M)
|
||||
JOB_STATUS_LINE = re.compile(r"^(bash: line \d+: )?\s*\d+\s+(Done|Exit \d+)\b")
|
||||
CPP_CONTEXT_LINE = re.compile(r"^\s*(\d+\s*\|.*|\|\s*)$") # modern cpp's source-context lines under a redefinition warning
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
@@ -168,7 +181,10 @@ def compile_obj(recipe, text=None, tag="x", write_path=None):
|
||||
# non-warning line (R103), then the tail
|
||||
errs = [ln for ln in r.stderr.splitlines()
|
||||
if ln.strip() and not re.search(r"\bwarning:", ln, re.I) and not ln.startswith(("In file included", " " * 16))
|
||||
and ": In function" not in ln and not JOB_STATUS_LINE.match(ln)]
|
||||
and ": In function" not in ln and not JOB_STATUS_LINE.match(ln)
|
||||
and not CPP_CONTEXT_LINE.match(ln) and ": note:" not in ln] # cpp's `NNN | #define …` / `|` context + notes (P37 T3)
|
||||
# gcc 2.7.2's `At top level:` is a PREFIX line; keep the message lines ahead of it in the cap
|
||||
errs.sort(key=lambda ln: ln.rstrip().endswith("At top level:"))
|
||||
return None, dt, ("\n".join(errs[:8]) or r.stderr[-400:])
|
||||
data = out.read_bytes()
|
||||
try:
|
||||
@@ -201,20 +217,55 @@ def baseline_path(obj):
|
||||
|
||||
def snapshot_baseline():
|
||||
"""Copy every object under `build/` into the snapshot. Run it after a GREEN `check-all` — the caller states that; this
|
||||
records the HEAD it was taken at so a reader can tell what it is."""
|
||||
records the HEAD it was taken at so a reader can tell what it is.
|
||||
|
||||
THE GUARD (T3, 2026-09-12): every object whose bytes CHANGE in the snapshot is re-derived — its TU compiled UNTOUCHED through
|
||||
its own recipe must reproduce the new bytes — else the previous snapshot copy is restored and the refresh is REFUSED, naming
|
||||
the object. Why: a `make build BINARY=x` run with a candidate in place (T2's relocation control) writes build/ with an object
|
||||
that links identically but is not the tree's; a refresh then carried it into the snapshot, and the linked-mode control read
|
||||
`IDENTICAL` for a spelling the tree does not have. build/ is a build product, the snapshot is an oracle input (R56/R112) —
|
||||
the guard is what makes the second true."""
|
||||
import shutil, subprocess as sp
|
||||
n = 0
|
||||
n, changed = 0, []
|
||||
BASELINE.mkdir(parents=True, exist_ok=True)
|
||||
for src in sorted((REPO / "build").glob("**/*.o")):
|
||||
rel = src.relative_to(REPO / "build")
|
||||
dst = BASELINE / rel
|
||||
dst.parent.mkdir(parents=True, exist_ok=True)
|
||||
if not dst.exists() or dst.stat().st_mtime < src.stat().st_mtime or dst.stat().st_size != src.stat().st_size:
|
||||
old = dst.read_bytes() if dst.exists() else None
|
||||
new = src.read_bytes()
|
||||
if old != new:
|
||||
changed.append(("build/" + rel.as_posix(), old))
|
||||
shutil.copy2(src, dst)
|
||||
n += 1
|
||||
refused = []
|
||||
if changed:
|
||||
by_obj = load_recipes()["recipes"]
|
||||
for obj, old in changed:
|
||||
r = by_obj.get(obj)
|
||||
if r is None:
|
||||
continue # asm/asset/psyq objects: no TU recipe to re-derive from
|
||||
v, dt, err = judge(r, None, tag="snap")
|
||||
if v != "IDENTICAL":
|
||||
refused.append((obj, v, err[-120:]))
|
||||
dst = BASELINE / obj[len("build/"):]
|
||||
if old is not None:
|
||||
dst.write_bytes(old)
|
||||
else:
|
||||
dst.unlink(missing_ok=True)
|
||||
if refused:
|
||||
print(f"delever_oracle --snapshot-baseline: REFUSED — {len(refused)} changed object(s) do not reproduce from an untouched compile "
|
||||
f"of their TU (build/ is not the tree's; run the clean fleet gate first, R22/R56):")
|
||||
for obj, v, err in refused:
|
||||
print(f" {obj}: {v} {err}")
|
||||
return 0
|
||||
head = sp.run(["git", "rev-parse", "HEAD"], cwd=REPO, capture_output=True, text=True).stdout.strip()
|
||||
(BASELINE / "TAKEN_AT.txt").write_text(f"{head}\n{n} objects\n")
|
||||
print(f"delever_oracle --snapshot-baseline: {n} object(s) under {BASELINE.relative_to(REPO)} at {head[:9]}")
|
||||
(BASELINE / "TAKEN_AT.txt").write_text(f"{head}\n{n} objects\n{len(changed)} changed since the previous snapshot\n")
|
||||
table = snapshot_links()
|
||||
ok = sum(1 for v in table.values() if not v.get("error") and v.get("ld_script_snap"))
|
||||
print(f"delever_oracle --snapshot-baseline: {n} object(s) under {BASELINE.relative_to(REPO)} at {head[:9]}; link inputs for "
|
||||
f"{ok}/{len(table)} binaries under {LINKDIR.relative_to(REPO)} (links.json)")
|
||||
return n
|
||||
|
||||
|
||||
@@ -223,6 +274,167 @@ def baseline_bytes(obj):
|
||||
return p.read_bytes() if p.exists() else None
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# the linked mode (Phase 37 T3): the build's own link on the candidate object
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
LINKDIR = BASELINE / "_link"
|
||||
LINKS = BASELINE / "links.json"
|
||||
_MAKE_QUERY = "__q:\n\t@echo \"$(BINARY)|$(LD)|$(OBJCOPY)|$(LD_SCRIPT)|$(UNDEF_SYMS)|$(UNDEF_FUNCS)|$(EXE)|$(CHECK_SHA)|$(OUT)\"\n"
|
||||
OBJ_IN_LD = re.compile(r'"?((?:build|asm|assets)/[^\s"()]+\.o)"?')
|
||||
|
||||
|
||||
def link_vars(alias):
|
||||
"""The Makefile's OWN link variables for one binary (R33: asked of make, never re-typed): dict(ld, objcopy, ld_script,
|
||||
undef_syms, undef_funcs, exe, check_sha, out, syms_frags, exe_size). syms_frags = main's `-T build/psyq/*_externals.ld` list in
|
||||
the Makefile's order, the files that exist (the recipe's `[ -f ]` tests); empty for every other binary (the ifeq skips them)."""
|
||||
r = subprocess.run(["make", "-s", "-f", "Makefile", "-f", "-", f"BINARY={alias}", "__q"], cwd=REPO, input=_MAKE_QUERY,
|
||||
capture_output=True, text=True)
|
||||
if r.returncode != 0 or "|" not in r.stdout:
|
||||
raise RuntimeError(f"link_vars({alias}): make query failed rc={r.returncode}: {r.stderr.strip()[:200]}")
|
||||
f = r.stdout.strip().splitlines()[-1].split("|")
|
||||
d = dict(alias=f[0], ld=f[1], objcopy=f[2], ld_script=f[3], undef_syms=f[4], undef_funcs=f[5], exe=f[6], check_sha=f[7], out=f[8])
|
||||
frags = []
|
||||
if alias == "main":
|
||||
mk = (REPO / "Makefile").read_text()
|
||||
for m in re.finditer(r"^(\w+_SYMS)\s*:=\s*(build/psyq/\S+)\s*$", mk, re.M):
|
||||
if (REPO / m.group(2)).exists():
|
||||
frags.append(m.group(2))
|
||||
d["syms_frags"] = frags
|
||||
exe = REPO / d["exe"]
|
||||
d["exe_size"] = exe.stat().st_size if exe.exists() else None
|
||||
d["want_sha"] = (REPO / d["check_sha"]).read_text().split()[0] if (REPO / d["check_sha"]).exists() else None
|
||||
return d
|
||||
|
||||
|
||||
def snapshot_links(aliases=None):
|
||||
"""Copy every binary's link inputs into the snapshot (`_link/<alias>/<basename>`; main's externals under `_link/psyq/`) and
|
||||
write links.json. Called by snapshot_baseline; the .ld's object paths stay `build/…` — judge_linked redirects them."""
|
||||
import shutil
|
||||
dirs = src_dirs()
|
||||
table = {}
|
||||
for a in sorted(dirs):
|
||||
if aliases and a not in aliases:
|
||||
continue
|
||||
try:
|
||||
v = link_vars(a)
|
||||
except RuntimeError as ex:
|
||||
table[a] = dict(error=str(ex))
|
||||
continue
|
||||
dst = LINKDIR / a
|
||||
dst.mkdir(parents=True, exist_ok=True)
|
||||
for key in ("ld_script", "undef_syms", "undef_funcs"):
|
||||
src = REPO / v[key]
|
||||
if src.exists():
|
||||
shutil.copy2(src, dst / pathlib.Path(v[key]).name)
|
||||
v[key + "_snap"] = str((dst / pathlib.Path(v[key]).name).relative_to(REPO))
|
||||
snap_frags = []
|
||||
for fr in v["syms_frags"]:
|
||||
(LINKDIR / "psyq").mkdir(parents=True, exist_ok=True)
|
||||
shutil.copy2(REPO / fr, LINKDIR / "psyq" / pathlib.Path(fr).name)
|
||||
snap_frags.append(str((LINKDIR / "psyq" / pathlib.Path(fr).name).relative_to(REPO)))
|
||||
v["syms_frags_snap"] = snap_frags
|
||||
table[a] = v
|
||||
LINKS.write_text(json.dumps(dict(head=head(), stamp=config_stamp(), generated=time.strftime("%Y-%m-%d %H:%M"), links=table), indent=1) + "\n")
|
||||
return table
|
||||
|
||||
|
||||
_links_cache = None
|
||||
|
||||
|
||||
def links():
|
||||
"""The snapshot's link table (alias -> link_vars + snapshot paths); refuses when the snapshot has none (R43)."""
|
||||
global _links_cache
|
||||
if _links_cache is None:
|
||||
if not LINKS.exists():
|
||||
raise RuntimeError("no links.json in the baseline snapshot — run `tools/delever_oracle.py --snapshot-baseline` after a GREEN check-all")
|
||||
_links_cache = json.loads(LINKS.read_text())["links"]
|
||||
return _links_cache
|
||||
|
||||
|
||||
def judge_linked(recipe, cand_bytes, tag="x"):
|
||||
"""(verdict, seconds, err) for a candidate OBJECT: the binary linked with this object in place of the recipe's, everything
|
||||
else from the snapshot, through the Makefile's own ld/objcopy/trim, SHA1 against config/check.<alias>.sha. verdict in
|
||||
IDENTICAL | DIFFERS | LINK-ERROR | NO-LINK-INPUTS."""
|
||||
alias, obj = recipe["alias"], recipe["obj"]
|
||||
lv = links().get(alias)
|
||||
if not lv or lv.get("error") or not lv.get("ld_script_snap") or lv.get("exe_size") is None or not lv.get("want_sha"):
|
||||
return "NO-LINK-INPUTS", 0.0, f"the snapshot carries no link inputs for {alias}"
|
||||
flat = obj[len("build/"):].replace("/", "__")[:-2] + f".{tag}"
|
||||
SCRATCH.mkdir(parents=True, exist_ok=True)
|
||||
cand = SCRATCH / (flat + ".lnk.o")
|
||||
ld_s = SCRATCH / (flat + ".ld")
|
||||
elf = SCRATCH / (flat + ".elf")
|
||||
binp = SCRATCH / (flat + ".bin")
|
||||
t0 = time.time()
|
||||
try:
|
||||
cand.write_bytes(cand_bytes)
|
||||
script = (REPO / lv["ld_script_snap"]).read_text()
|
||||
|
||||
def redirect(m):
|
||||
path = m.group(1)
|
||||
if path == obj:
|
||||
return str(cand)
|
||||
snap = BASELINE / path[len("build/"):] if path.startswith("build/") else None
|
||||
return str(snap) if snap is not None and snap.exists() else path
|
||||
script2 = OBJ_IN_LD.sub(redirect, script)
|
||||
if str(cand) not in script2:
|
||||
return "LINK-ERROR", time.time() - t0, f"{obj} is not named in {lv['ld_script_snap']}"
|
||||
ld_s.write_text(script2)
|
||||
cmd = [lv["ld"], "-T", str(ld_s)]
|
||||
for key in ("undef_syms_snap", "undef_funcs_snap"):
|
||||
if lv.get(key):
|
||||
cmd += ["-T", lv[key]]
|
||||
for fr in lv.get("syms_frags_snap", []):
|
||||
cmd += ["-T", fr]
|
||||
cmd += ["--no-check-sections", "-o", str(elf)]
|
||||
r = subprocess.run(cmd, cwd=REPO, capture_output=True, text=True)
|
||||
if r.returncode != 0:
|
||||
errs = [ln for ln in r.stderr.splitlines() if ln.strip() and "warning" not in ln.lower()]
|
||||
return "LINK-ERROR", time.time() - t0, "\n".join(errs[:6])[-400:]
|
||||
r = subprocess.run([lv["objcopy"], "-O", "binary", str(elf), str(binp)], cwd=REPO, capture_output=True, text=True)
|
||||
if r.returncode != 0:
|
||||
return "LINK-ERROR", time.time() - t0, r.stderr[-300:]
|
||||
data = binp.read_bytes()
|
||||
d = len(data) - lv["exe_size"]
|
||||
if 0 < d <= 3:
|
||||
data = data[:lv["exe_size"]] # the Makefile's shrink-only end-align trim
|
||||
got = hashlib.sha1(data).hexdigest()
|
||||
if got == lv["want_sha"]:
|
||||
return "IDENTICAL", time.time() - t0, ""
|
||||
return "DIFFERS", time.time() - t0, f"linked sha {got[:12]} != {lv['want_sha'][:12]} (size {len(data)} vs {lv['exe_size']})"
|
||||
finally:
|
||||
for p in (cand, ld_s, elf, binp):
|
||||
try:
|
||||
p.unlink()
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
|
||||
def reloc_only_diff(cand_bytes, base_path, tag="x"):
|
||||
"""True when the two objects' .text instruction streams agree word for word under the relocation mask and differ only in
|
||||
relocation OPERANDS (which symbol/addend a link-time field names) — the shape a global-block respelling produces, and the
|
||||
cheap pre-check (~60 ms) before paying for a linked judgement. False on any masked-word or length difference."""
|
||||
import masked_diff as md
|
||||
SCRATCH.mkdir(parents=True, exist_ok=True)
|
||||
tmp = SCRATCH / (hashlib.sha1(cand_bytes).hexdigest()[:12] + f".{tag}.ro.o")
|
||||
tmp.write_bytes(cand_bytes)
|
||||
try:
|
||||
mine = md.insns_from_object(str(tmp))
|
||||
tgt = md.insns_from_object(str(base_path))
|
||||
finally:
|
||||
tmp.unlink(missing_ok=True)
|
||||
if not mine or not tgt or len(mine) != len(tgt):
|
||||
return False
|
||||
ops_differ = False
|
||||
for c, t in zip(mine, tgt):
|
||||
m = md.mask_for(t["word"], t["reloc_kind"])
|
||||
if (c["word"] & m) != (t["word"] & m) or md._j_mismatch(c, t):
|
||||
return False
|
||||
if (c["reloc_op"] or "") != (t["reloc_op"] or "") or (c["word"] != t["word"]):
|
||||
ops_differ = True
|
||||
return ops_differ
|
||||
|
||||
|
||||
def judge(recipe, text, tag="x", write_path=None):
|
||||
"""(verdict, seconds, err): verdict in IDENTICAL | DIFFERS | COMPILE-ERROR | NO-BASELINE."""
|
||||
base = baseline_bytes(recipe["obj"])
|
||||
@@ -256,6 +468,51 @@ def judge_all(recipes, text, tag="x", write_path=None):
|
||||
return (first[0] if first else "IDENTICAL"), total, (first[1] if first else "")
|
||||
|
||||
|
||||
def linked_control():
|
||||
"""The linked mode's known-true and negative (R39/R110), on the T2 finding (h)'s own body — md_SC07_004 `func_801A4258`, whose
|
||||
`s16` globals D_801F8870/72/74 are one array walked through a pointer in the original: spelling `D_801F8872` as `p[1]` changes
|
||||
the relocation (`D_801F8870`+2 for `D_801F8872`+0) and NOTHING else, so the object DIFFERS and the linked binary is IDENTICAL;
|
||||
`p[2]` for D_801F8872 (a wrong addend) must DIFFER in both. Exit 0 only when all four verdicts are as predicted."""
|
||||
tu = "src/md_SC07_004/md_SC07_004.c"
|
||||
recs = recipes_by_src(load_recipes()["recipes"]).get(tu, [])
|
||||
if not recs:
|
||||
print("linked-control: no recipe for", tu); return 1
|
||||
r = recs[0]
|
||||
path = REPO / tu
|
||||
raw = path.read_text(errors="surrogateescape")
|
||||
st = path.stat()
|
||||
body_a = raw.index("void func_801A4258(void) {")
|
||||
body_z = raw.index("\n}\n", body_a) + 3
|
||||
body = raw[body_a:body_z]
|
||||
if body.count("D_801F8872") != 3 or body.count("D_801F8874") != 3:
|
||||
print("linked-control: the control body has changed shape (expected 3 mentions each of D_801F8872/D_801F8874)"); return 1
|
||||
good = raw[:body_a] + body.replace("D_801F8872", "p[1]").replace("D_801F8874", "p[2]") + raw[body_z:]
|
||||
bad = raw[:body_a] + body.replace("D_801F8872", "p[2]").replace("D_801F8874", "p[3]") + raw[body_z:]
|
||||
base = baseline_bytes(r["obj"])
|
||||
out, ok = [], True
|
||||
try:
|
||||
for name, text, want_whole, want_ro, want_link in (("known-true p[1]/p[2]", good, "DIFFERS", True, "IDENTICAL"),
|
||||
("negative p[2]/p[3]", bad, "DIFFERS", True, "DIFFERS")):
|
||||
data, dt, err = compile_obj(r, text, tag="lc")
|
||||
restore = path.write_text(raw, errors="surrogateescape")
|
||||
if data is None:
|
||||
out.append(f" {name}: COMPILE-ERROR {err[:120]}"); ok = False; continue
|
||||
whole = "IDENTICAL" if data == base else "DIFFERS"
|
||||
ro = reloc_only_diff(data, baseline_path(r["obj"]), tag="lc")
|
||||
lv, dt2, lerr = judge_linked(r, data, tag="lc")
|
||||
line = f" {name}: whole-object {whole} · reloc-only {ro} · linked {lv} ({dt2:.2f} s){' ' + lerr if lerr else ''}"
|
||||
good_row = (whole == want_whole and ro == want_ro and lv == want_link)
|
||||
out.append(line + (" ✓" if good_row else f" ✗ expected {want_whole}/{want_ro}/{want_link}"))
|
||||
ok = ok and good_row
|
||||
finally:
|
||||
path.write_text(raw, errors="surrogateescape")
|
||||
os.utime(path, ns=(st.st_atime_ns, st.st_mtime_ns))
|
||||
print("delever_oracle --linked-control (md_SC07_004 func_801A4258, the f3 shape):")
|
||||
print("\n".join(out))
|
||||
print("linked-control:", "OK" if ok else "FAIL")
|
||||
return 0 if ok else 1
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# calibration
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
@@ -342,9 +599,12 @@ def main():
|
||||
ap.add_argument("--status", action="store_true")
|
||||
ap.add_argument("--snapshot-baseline", action="store_true",
|
||||
help="copy build/**/*.o into the snapshot every score compares against (run after a GREEN check-all)")
|
||||
ap.add_argument("--linked-control", action="store_true", help="the linked mode's known-true + negative on md_SC07_004 func_801A4258 (T3)")
|
||||
ap.add_argument("-j", "--jobs", type=int, default=16)
|
||||
a = ap.parse_args()
|
||||
RUN.mkdir(parents=True, exist_ok=True)
|
||||
if a.linked_control:
|
||||
sys.exit(linked_control())
|
||||
if a.snapshot_baseline:
|
||||
sys.exit(0 if snapshot_baseline() else 1)
|
||||
if a.status:
|
||||
|
||||
+2176
-77
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,591 @@
|
||||
#!/usr/bin/env python3
|
||||
"""tools/struct_layout.py — the o32 struct layout engine, the field map, the canonical-type WRITER and the layout INVARIANT
|
||||
(Phase 37 T3, 2026-09-12). Factored out of tools/type_census.py (T1) so the census, the rewrite engine (tools/restruct.py) and
|
||||
the type writer compute ONE layout for one definition (R33: derive, don't re-derive).
|
||||
|
||||
WHAT IT KNOWS
|
||||
* SCALARS / SDK_SIZES the o32 widths of every scalar spelling the tree uses, and the PsyQ aggregate sizes.
|
||||
* parse_struct_body `struct/union … { … }` body text -> fields [dict(name, type, stars, dims, bits, nested, attrs)].
|
||||
* Resolver type name -> (size, align, leaves[(off, width, sign)]) under the o32 rules (arrays, nested
|
||||
aggregates, bit-fields, `packed`, per-field `aligned(N)`); cc1-validated on 5,283 file-scope
|
||||
definitions / 29,248 named fields at T2 (`tools/restruct.py --audit-layouts`, 0 rejected).
|
||||
* layout_hash / field_offsets the identity of a layout; the top-level named fields with their byte offsets (the audit's assertions).
|
||||
* field_map a definition's {offset: (name, width, sign, type_text)} over its top-level scalar/pointer fields —
|
||||
what the rewrite engine consults to turn `*(u16 *)(p + 0x3C)` into `p->unk3C`.
|
||||
* render_struct THE WRITER: the final style of a canonical definition (owner decision 2, gate 1) —
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 unk0;
|
||||
/* 0x02 */ u8 pad2[0x2];
|
||||
/* 0x04 */ s32 unk4;
|
||||
} Unkstruct_80078E00; /* size = 0x8 */
|
||||
`unk<HEX>` = a field the code ACCESSES whose meaning is unknown; `u8 pad<HEX>[n]` = bytes the code
|
||||
never touches (Phase 38 knows there is nothing to name there); a field is NAMED only where the
|
||||
record cites evidence, and the citation rides in its comment. One decision, applied everywhere.
|
||||
* audit_definition THE INVARIANT (sotn's SYNC_FIELD, made derivable): every `unk<HEX>` / `pad<HEX>` field sits at
|
||||
offset HEX, every `/* 0xNN */` offset comment equals the computed offset, and the `size = 0x..`
|
||||
trailer equals sizeof. A drifted definition (a field inserted by hand) fails the census's --check
|
||||
(T8 wires it into tools-health) — no ledger and no PC build needed.
|
||||
"""
|
||||
import hashlib
|
||||
import json
|
||||
import re
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# types and widths (o32)
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
SCALARS = {
|
||||
"u8": (1, "u"), "s8": (1, "s"), "char": (1, "s"), "signed char": (1, "s"), "unsigned char": (1, "u"),
|
||||
"u16": (2, "u"), "s16": (2, "s"), "short": (2, "s"), "unsigned short": (2, "u"), "signed short": (2, "s"),
|
||||
"short int": (2, "s"), "unsigned short int": (2, "u"),
|
||||
"u32": (4, "u"), "s32": (4, "s"), "int": (4, "s"), "unsigned": (4, "u"), "unsigned int": (4, "u"), "signed": (4, "s"),
|
||||
"signed int": (4, "s"), "long": (4, "s"), "unsigned long": (4, "u"), "long int": (4, "s"), "unsigned long int": (4, "u"),
|
||||
"uint": (4, "u"), "uint32_t": (4, "u"), "int32_t": (4, "s"), "uint16_t": (2, "u"), "int16_t": (2, "s"),
|
||||
"uint8_t": (1, "u"), "int8_t": (1, "s"),
|
||||
"u64": (8, "u"), "s64": (8, "s"), "long long": (8, "s"), "unsigned long long": (8, "u"),
|
||||
"f32": (4, "f"), "float": (4, "f"), "f64": (8, "f"), "double": (8, "f"),
|
||||
"M2C_UNK": (4, "s"), "M2C_UNK8": (1, "s"), "M2C_UNK16": (2, "s"), "M2C_UNK32": (4, "s"), "M2C_UNK64": (8, "s"),
|
||||
"void": (0, "v"),
|
||||
}
|
||||
# PsyQ layouts the SDK headers fix (include/psyq/*.h) — sizes only; used when a cast names them and for the MATRIX control
|
||||
SDK_SIZES = {"MATRIX": 32, "SVECTOR": 8, "VECTOR": 16, "CVECTOR": 4, "DVECTOR": 4, "RECT": 8, "RECT32": 16,
|
||||
"POLY_F3": 20, "POLY_F4": 24, "POLY_FT3": 32, "POLY_FT4": 40, "POLY_G3": 28, "POLY_G4": 36, "POLY_GT3": 40,
|
||||
"POLY_GT4": 52, "LINE_F2": 16, "LINE_F3": 20, "LINE_F4": 24, "LINE_G2": 20, "LINE_G3": 28, "LINE_G4": 36,
|
||||
"SPRT": 20, "SPRT_8": 16, "SPRT_16": 16, "TILE": 16, "TILE_1": 12, "TILE_8": 12, "TILE_16": 12,
|
||||
"DR_TPAGE": 8, "DR_ENV": 64, "DRAWENV": 92, "DISPENV": 20, "TMD_PRIM": 60, "GsDOBJ2": 32, "GsCOORDINATE2": 80,
|
||||
"GsRVIEW2": 36, "GsF_LIGHT": 16, "GsOT": 12, "GsOT_TAG": 4, "CdlLOC": 4, "CdlFILE": 20, "CdlFILTER": 4,
|
||||
"CdlATV": 4, "CdlCB": 4}
|
||||
|
||||
def _norm_type(t):
|
||||
t = re.sub(r"\b(const|volatile|register|extern|static)\b", "", t)
|
||||
return re.sub(r"\s+", " ", t).strip()
|
||||
|
||||
def scalar_of(t):
|
||||
"""(width, sign) for a scalar/pointer type text; None for an aggregate or unknown name."""
|
||||
t = _norm_type(t)
|
||||
if t.endswith("*"):
|
||||
return (4, "p")
|
||||
if t in SCALARS:
|
||||
return SCALARS[t]
|
||||
return None
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# the definitions: parse `struct/union … { … }` bodies and compute o32 layouts
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
DEF_START = re.compile(r"(?<![\w.])(typedef\s+)?(struct|union|enum)\s*([A-Za-z_]\w*)?\s*(__attribute__\s*\(\([^)]*\)\)\s*)?\{")
|
||||
FWD_DECL = re.compile(r"(?<![\w.])(struct|union|enum)\s+([A-Za-z_]\w*)\s*;")
|
||||
ATTR_RX = re.compile(r"__attribute__\s*\(\(((?:[^()]|\([^()]*\))*)\)\)") # nested parens: aligned(4), packed
|
||||
|
||||
def _match_brace(text, open_idx):
|
||||
depth = 0
|
||||
i = open_idx
|
||||
n = len(text)
|
||||
while i < n:
|
||||
c = text[i]
|
||||
if c == "{":
|
||||
depth += 1
|
||||
elif c == "}":
|
||||
depth -= 1
|
||||
if depth == 0:
|
||||
return i
|
||||
i += 1
|
||||
return -1
|
||||
|
||||
def _split_top(text, sep=";"):
|
||||
"""Split on `sep` at brace/paren depth 0."""
|
||||
out, depth, cur = [], 0, []
|
||||
for c in text:
|
||||
if c in "{(":
|
||||
depth += 1
|
||||
elif c in "})":
|
||||
depth -= 1
|
||||
if c == sep and depth == 0:
|
||||
out.append("".join(cur))
|
||||
cur = []
|
||||
else:
|
||||
cur.append(c)
|
||||
if "".join(cur).strip():
|
||||
out.append("".join(cur))
|
||||
return out
|
||||
|
||||
def _split_declarators(decl):
|
||||
"""`type a, *b, c[4]` -> (type, [(name, stars, dims, bits)])"""
|
||||
parts = _split_top(decl, ",")
|
||||
if not parts:
|
||||
return None, []
|
||||
first = parts[0].strip()
|
||||
# bitfield? `s16 : 16` / `u8 x : 3`
|
||||
mb = re.search(r":\s*(\d+)\s*$", first)
|
||||
if mb:
|
||||
left = first[:mb.start()].strip()
|
||||
toks = left.split()
|
||||
if len(toks) >= 2 and re.match(r"^[A-Za-z_]\w*$", toks[-1]) and toks[-1] not in SCALARS and toks[-2] not in ("struct", "union", "enum"):
|
||||
return _norm_type(" ".join(toks[:-1])), [(toks[-1], 0, [], int(mb.group(1)))]
|
||||
return _norm_type(left), [("", 0, [], int(mb.group(1)))]
|
||||
# split the first part into type + declarator: the declarator is the trailing `*... name [dims]` or a function pointer
|
||||
fp = re.match(r"^(.*?)\(\s*\*\s*([A-Za-z_]\w*)\s*\)\s*\(.*\)\s*((?:\[[^\]]*\])*)$", first)
|
||||
decls = []
|
||||
if fp:
|
||||
base_type = "void *" # a function pointer is 4 bytes; the callee type is irrelevant to the layout
|
||||
dims = re.findall(r"\[([^\]]*)\]", fp.group(3))
|
||||
decls.append((fp.group(2), 1, dims, None))
|
||||
for extra in parts[1:]:
|
||||
e = extra.strip()
|
||||
m2 = re.match(r"^(\**)\s*([A-Za-z_]\w*)\s*((?:\[[^\]]*\])*)$", e)
|
||||
if m2:
|
||||
decls.append((m2.group(2), len(m2.group(1)), re.findall(r"\[([^\]]*)\]", m2.group(3)), None))
|
||||
return base_type, decls
|
||||
m = re.match(r"^(.*?)\s*(\**)\s*([A-Za-z_]\w*)\s*((?:\[[^\]]*\])*)\s*$", first, re.S)
|
||||
if not m:
|
||||
return _norm_type(first), []
|
||||
base_type = _norm_type(m.group(1))
|
||||
decls.append((m.group(3), len(m.group(2)), re.findall(r"\[([^\]]*)\]", m.group(4)), None))
|
||||
for extra in parts[1:]:
|
||||
e = extra.strip()
|
||||
m2 = re.match(r"^(\**)\s*([A-Za-z_]\w*)\s*((?:\[[^\]]*\])*)\s*(?::\s*(\d+))?$", e)
|
||||
if m2:
|
||||
decls.append((m2.group(2), len(m2.group(1)), re.findall(r"\[([^\]]*)\]", m2.group(3)),
|
||||
int(m2.group(4)) if m2.group(4) else None))
|
||||
return base_type, decls
|
||||
|
||||
def _eval_dim(d, consts):
|
||||
d = d.strip()
|
||||
if not d:
|
||||
return None # flexible/unsized
|
||||
try:
|
||||
return int(eval(d, {"__builtins__": {}}, dict(consts))) # hex, sums, `0x20-0x10`, sizeof-free; the tree's dims are literals
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
def parse_struct_body(body, consts=None):
|
||||
"""Fields of one struct/union body text (the text between the braces). Nested definitions are parsed recursively.
|
||||
Returns [dict(name, type, stars, dims, bits, nested)] in order."""
|
||||
fields = []
|
||||
consts = consts or {}
|
||||
i, n = 0, len(body)
|
||||
while i < n:
|
||||
# a nested struct/union body?
|
||||
m = DEF_START.search(body, i)
|
||||
stmt_end = body.find(";", i)
|
||||
if m and (stmt_end == -1 or m.start() < stmt_end):
|
||||
close = _match_brace(body, m.end() - 1)
|
||||
if close == -1:
|
||||
break
|
||||
inner = body[m.end():close]
|
||||
# the declarators after the nested body up to `;`
|
||||
j = body.find(";", close)
|
||||
tail = body[close + 1:j if j != -1 else n]
|
||||
nested = dict(kind=m.group(2), tag=m.group(3), fields=parse_struct_body(inner, consts) if m.group(2) != "enum" else [],
|
||||
attrs=(m.group(4) or "") + " ".join(ATTR_RX.findall(tail)))
|
||||
tail = ATTR_RX.sub("", tail).strip()
|
||||
decls = []
|
||||
if tail:
|
||||
for part in _split_top(tail, ","):
|
||||
e = part.strip()
|
||||
m2 = re.match(r"^(\**)\s*([A-Za-z_]\w*)\s*((?:\[[^\]]*\])*)\s*(?::\s*(\d+))?$", e)
|
||||
if m2:
|
||||
decls.append((m2.group(2), len(m2.group(1)), re.findall(r"\[([^\]]*)\]", m2.group(3)),
|
||||
int(m2.group(4)) if m2.group(4) else None))
|
||||
if not decls:
|
||||
decls = [("", 0, [], None)] # an anonymous member (a union inside a struct)
|
||||
for (nm, stars, dims, bits) in decls:
|
||||
fields.append(dict(name=nm, type=(m.group(2) + " " + (m.group(3) or "")).strip(), stars=stars,
|
||||
dims=[_eval_dim(d, consts) for d in dims], bits=bits, nested=nested))
|
||||
i = (j + 1) if j != -1 else n
|
||||
continue
|
||||
if stmt_end == -1:
|
||||
break
|
||||
stmt = body[i:stmt_end].strip()
|
||||
i = stmt_end + 1
|
||||
if not stmt:
|
||||
continue
|
||||
fattrs = " ".join(ATTR_RX.findall(stmt))
|
||||
stmt = ATTR_RX.sub("", stmt)
|
||||
base_type, decls = _split_declarators(stmt)
|
||||
if base_type is None:
|
||||
continue
|
||||
for (nm, stars, dims, bits) in decls:
|
||||
fields.append(dict(name=nm, type=base_type, stars=stars, dims=[_eval_dim(d, consts) for d in dims], bits=bits, nested=None,
|
||||
attrs=fattrs or None))
|
||||
return fields
|
||||
|
||||
class Resolver:
|
||||
"""Type name -> (size, align, leaves) under the o32 ABI. Scope: a TU's own definitions first, then the shared headers, then the SDK."""
|
||||
def __init__(self, defs_by_name):
|
||||
self.defs = defs_by_name # name -> definition record (tag or typedef name)
|
||||
self.cache = {}
|
||||
self.stack = set()
|
||||
|
||||
def layout(self, type_text, stars=0, dims=(), bits=None):
|
||||
"""(size, align, leaves) of one field's type; leaves = [(off, width, sign)]; None when unknown."""
|
||||
if stars:
|
||||
sz, al, leaves = 4, 4, [(0, 4, "p")]
|
||||
else:
|
||||
t = _norm_type(type_text)
|
||||
sc_ = scalar_of(t)
|
||||
if sc_:
|
||||
w, s = sc_
|
||||
if w == 0:
|
||||
return None
|
||||
sz, al, leaves = w, w, [(0, w, s)]
|
||||
else:
|
||||
r = self.resolve_name(t)
|
||||
if r is None:
|
||||
return None
|
||||
sz, al, leaves = r
|
||||
for d in reversed(list(dims)):
|
||||
if d is None:
|
||||
d = 0
|
||||
leaves = [(k * sz + off, w, s) for k in range(d) for (off, w, s) in leaves]
|
||||
sz = sz * d
|
||||
return sz, al, leaves
|
||||
|
||||
def resolve_name(self, name):
|
||||
name = _norm_type(name)
|
||||
if name in self.cache:
|
||||
return self.cache[name]
|
||||
if name in self.stack:
|
||||
return None
|
||||
d = self.defs.get(name)
|
||||
if d is None:
|
||||
m = re.match(r"^(struct|union|enum)\s+(\w+)$", name)
|
||||
if m and m.group(1) == "enum":
|
||||
return (4, 4, [(0, 4, "s")])
|
||||
if m and m.group(2) in self.defs and self.defs[m.group(2)].get("kind") == m.group(1):
|
||||
d = self.defs[m.group(2)]
|
||||
elif name in SDK_SIZES:
|
||||
sz = SDK_SIZES[name]
|
||||
r = (sz, 4, [(0, 4, "s")] * (sz // 4) if sz % 4 == 0 else [(0, sz, "b")])
|
||||
self.cache[name] = r
|
||||
return r
|
||||
else:
|
||||
return None
|
||||
if d.get("kind") == "enum":
|
||||
return (4, 4, [(0, 4, "s")])
|
||||
if d.get("alias_of"): # `typedef T Name;` — a scalar/pointer alias or an alias of another aggregate
|
||||
self.stack.add(name)
|
||||
r = self.layout(d["alias_of"], d.get("alias_stars", 0), d.get("alias_dims", ()))
|
||||
self.stack.discard(name)
|
||||
self.cache[name] = r
|
||||
return r
|
||||
self.stack.add(name)
|
||||
r = self.layout_of_fields(d["fields"], d["kind"], packed=("packed" in (d.get("attrs") or "")))
|
||||
self.stack.discard(name)
|
||||
self.cache[name] = r
|
||||
return r
|
||||
|
||||
def layout_of_fields(self, fields, kind, packed=False):
|
||||
off, maxal, leaves, size = 0, 1, [], 0
|
||||
bit_off = 0
|
||||
unknown = False
|
||||
for f in fields:
|
||||
if f.get("nested"):
|
||||
nd = f["nested"]
|
||||
r = self.layout_of_fields(nd["fields"], nd["kind"], packed=("packed" in (nd.get("attrs") or ""))) if nd["kind"] != "enum" else (4, 4, [(0, 4, "s")])
|
||||
else:
|
||||
r = self.layout(f["type"], f["stars"], f["dims"])
|
||||
if r is None:
|
||||
unknown = True
|
||||
r = (0, 1, [])
|
||||
fsz, fal, fleaves = r
|
||||
if f.get("dims") and f["nested"]:
|
||||
for d in reversed(f["dims"]):
|
||||
d = d or 0
|
||||
fleaves = [(k * fsz + o, w, s) for k in range(d) for (o, w, s) in fleaves]
|
||||
fsz = fsz * d
|
||||
fa = f.get("attrs") or ""
|
||||
ma = re.search(r"aligned\s*\(\s*(\d+)\s*\)", fa)
|
||||
if packed:
|
||||
fal = 1
|
||||
if ma:
|
||||
fal = max(fal, int(ma.group(1)))
|
||||
if f.get("bits") is not None:
|
||||
# bitfields: pack into the base type's storage unit; an anonymous `s16 : 16` is a pad of the base width
|
||||
w = fsz or 4
|
||||
if bit_off == 0:
|
||||
off = (off + fal - 1) // fal * fal
|
||||
unit_off = off
|
||||
self._unit = (unit_off, w)
|
||||
unit_off, uw = self._unit
|
||||
if bit_off + f["bits"] > uw * 8:
|
||||
off = unit_off + uw
|
||||
off = (off + fal - 1) // fal * fal
|
||||
unit_off = off
|
||||
self._unit = (unit_off, w)
|
||||
bit_off = 0
|
||||
if f["name"]:
|
||||
leaves.append((unit_off, w, "bf"))
|
||||
bit_off += f["bits"]
|
||||
maxal = max(maxal, fal)
|
||||
end = unit_off + w
|
||||
if bit_off >= uw * 8:
|
||||
bit_off = 0
|
||||
off = end
|
||||
else:
|
||||
off = unit_off
|
||||
size = max(size, end)
|
||||
if kind == "union":
|
||||
off = 0
|
||||
continue
|
||||
bit_off = 0
|
||||
if kind == "union":
|
||||
leaves.extend((0 + o, w, s) for (o, w, s) in fleaves)
|
||||
size = max(size, fsz)
|
||||
maxal = max(maxal, fal)
|
||||
continue
|
||||
off = (off + fal - 1) // fal * fal
|
||||
leaves.extend((off + o, w, s) for (o, w, s) in fleaves)
|
||||
off += fsz
|
||||
size = max(size, off)
|
||||
maxal = max(maxal, fal)
|
||||
size = (size + maxal - 1) // maxal * maxal
|
||||
if unknown:
|
||||
return None
|
||||
return size, maxal, sorted(set(leaves))
|
||||
|
||||
def layout_hash(lay):
|
||||
if lay is None:
|
||||
return None
|
||||
size, al, leaves = lay
|
||||
return hashlib.sha1(json.dumps([size, leaves]).encode()).hexdigest()[:12]
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# the field map (what a rewrite consults) and the naming invariant (what the census asserts)
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
def mask_comments(text):
|
||||
"""Same-length masking of /* */ and // comments (the census masks through share_census.mask_text; this is the standalone
|
||||
equivalent for a definition's own text — parse_struct_body expects MASKED text, never raw)."""
|
||||
return re.sub(r"/\*.*?\*/|//[^\n]*", lambda m: re.sub(r"[^\n]", " ", m.group(0)), text, flags=re.S)
|
||||
|
||||
|
||||
UNK_RX = re.compile(r"^unk([0-9A-F]+)$")
|
||||
PAD_RX = re.compile(r"^pad([0-9A-F]+)$")
|
||||
OFF_COMMENT_RX = re.compile(r"/\*\s*0x([0-9A-Fa-f]+)\s*\*/\s*([^;/]*;)")
|
||||
SIZE_TRAILER_RX = re.compile(r"/\*\s*size\s*=\s*0x([0-9A-Fa-f]+)\s*\*/")
|
||||
TYPE_OF = {(1, "u"): "u8", (1, "s"): "s8", (2, "u"): "u16", (2, "s"): "s16", (4, "u"): "u32", (4, "s"): "s32",
|
||||
(8, "u"): "u64", (8, "s"): "s64", (4, "f"): "f32", (8, "f"): "f64"}
|
||||
|
||||
|
||||
def field_offsets(res, d):
|
||||
"""Top-level NAMED, non-bitfield fields with their byte offsets under the engine's rules — the audit's assertions.
|
||||
(Moved from tools/restruct.py T2 form.)"""
|
||||
out, off, kind = [], 0, d["kind"]
|
||||
packed = "packed" in (d.get("attrs") or "")
|
||||
for f in d["fields"]:
|
||||
if f.get("nested"):
|
||||
nd = f["nested"]
|
||||
r = res.layout_of_fields(nd["fields"], nd["kind"], packed=("packed" in (nd.get("attrs") or ""))) if nd["kind"] != "enum" else (4, 4, [])
|
||||
else:
|
||||
r = res.layout(f["type"], f["stars"], f["dims"])
|
||||
if r is None:
|
||||
return out
|
||||
fsz, fal, _ = r
|
||||
if f.get("dims") and f["nested"]:
|
||||
for dd in reversed(f["dims"]):
|
||||
fsz *= (dd or 0)
|
||||
fa = f.get("attrs") or ""
|
||||
ma = re.search(r"aligned\s*\(\s*(\d+)\s*\)", fa)
|
||||
if packed:
|
||||
fal = 1
|
||||
if ma:
|
||||
fal = max(fal, int(ma.group(1)))
|
||||
if f.get("bits") is not None:
|
||||
return out # bit-field layouts are not asserted (the unit rule is compiler-specific); stop here
|
||||
if kind == "union":
|
||||
if f["name"]:
|
||||
out.append((f["name"], 0))
|
||||
continue
|
||||
off = (off + fal - 1) // fal * fal
|
||||
if f["name"]:
|
||||
out.append((f["name"], off))
|
||||
off += fsz
|
||||
return out
|
||||
|
||||
|
||||
def field_map(res, d):
|
||||
"""{offset: dict(name, width, sign, type, stars, dims)} for the top-level SCALAR / POINTER fields of a struct definition
|
||||
(an aggregate member is listed with sign 'agg' and its size — the engine never rewrites into an aggregate without an
|
||||
explicit member path). None when a field's layout is unknown."""
|
||||
out = {}
|
||||
offs = dict(field_offsets(res, d))
|
||||
for f in d["fields"]:
|
||||
if not f["name"] or f["name"] not in offs or f.get("bits") is not None:
|
||||
continue
|
||||
if f.get("nested"):
|
||||
nd = f["nested"]
|
||||
r = res.layout_of_fields(nd["fields"], nd["kind"], packed=("packed" in (nd.get("attrs") or ""))) if nd["kind"] != "enum" else (4, 4, [(0, 4, "s")])
|
||||
if r is None:
|
||||
return None
|
||||
out[offs[f["name"]]] = dict(name=f["name"], width=r[0], sign="agg", type=f["type"], stars=0, dims=f.get("dims") or [])
|
||||
continue
|
||||
if f.get("dims"):
|
||||
r = res.layout(f["type"], f["stars"], f["dims"])
|
||||
if r is None:
|
||||
return None
|
||||
out[offs[f["name"]]] = dict(name=f["name"], width=r[0], sign="agg", type=f["type"], stars=f["stars"], dims=f["dims"])
|
||||
continue
|
||||
if f["stars"]:
|
||||
out[offs[f["name"]]] = dict(name=f["name"], width=4, sign="p", type=f["type"], stars=f["stars"], dims=[])
|
||||
continue
|
||||
w = scalar_of(f["type"])
|
||||
if w is None:
|
||||
r = res.layout(f["type"])
|
||||
if r is None:
|
||||
return None
|
||||
out[offs[f["name"]]] = dict(name=f["name"], width=r[0], sign="agg", type=f["type"], stars=0, dims=[])
|
||||
continue
|
||||
out[offs[f["name"]]] = dict(name=f["name"], width=w[0], sign=w[1], type=f["type"], stars=0, dims=[])
|
||||
return out
|
||||
|
||||
|
||||
def leaf_at(lay, off, width, sign):
|
||||
"""True when the layout's leaves carry (off, width) with a compatible sign — a store's signedness leaves no byte, so a
|
||||
store may hit a field of the other sign; a load may not. `sign` None = width only."""
|
||||
if lay is None:
|
||||
return False
|
||||
for (o, w, s) in lay[2]:
|
||||
if o == off and w == width:
|
||||
if sign is None or s == sign or {s, sign} <= {"s", "u"} and sign == "store":
|
||||
return True
|
||||
if sign in ("s", "u") and s in ("s", "u") and sign != s:
|
||||
continue
|
||||
if s == sign:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def render_struct(name, entries, size=None, kind="struct", indent=" ", comment=None, tag=None):
|
||||
"""THE WRITER. entries = [(off, type_text, field_name, dims_or_None, note_or_None)] sorted by offset, non-overlapping; the gaps
|
||||
become `u8 pad<HEX>[n]`; `size` (else the end of the last field) rounds to the alignment of the widest scalar; the trailer
|
||||
names the size. Returns the text (ending with a newline). Refuses overlaps and misaligned scalars (ValueError)."""
|
||||
lines = [f"typedef {kind} {tag + ' ' if tag else ''}{{"]
|
||||
if comment:
|
||||
lines.append(f"{indent}/* {comment} */")
|
||||
cur, maxal = 0, 1
|
||||
for (off, ttext, fname, dims, note) in sorted(entries, key=lambda e: e[0]):
|
||||
if off < cur:
|
||||
raise ValueError(f"render_struct {name}: {fname} at {off:#x} overlaps the previous field ending at {cur:#x}")
|
||||
sc_ = scalar_of(ttext)
|
||||
w = sc_[0] if sc_ else None
|
||||
al = (8 if w == 8 else min(w, 4)) if w else 4
|
||||
if w and off % al:
|
||||
raise ValueError(f"render_struct {name}: {fname} ({ttext}) at {off:#x} is not {al}-aligned")
|
||||
if off > cur:
|
||||
lines.append(f"{indent}/* {cur:#06x} */ u8 pad{cur:X}[{off - cur:#x}];")
|
||||
dtxt = "".join(f"[{d:#x}]" if isinstance(d, int) else f"[{d}]" for d in (dims or []))
|
||||
lines.append(f"{indent}/* {off:#06x} */ {ttext} {fname}{dtxt};" + (f" /* {note} */" if note else ""))
|
||||
n = 1
|
||||
for d in (dims or []):
|
||||
n *= (d if isinstance(d, int) else 1)
|
||||
cur = off + (w or 0) * n if w else off + 4 * n
|
||||
maxal = max(maxal, al)
|
||||
end = size if size is not None else (cur + maxal - 1) // maxal * maxal
|
||||
if end < cur:
|
||||
raise ValueError(f"render_struct {name}: size {end:#x} is smaller than the last field's end {cur:#x}")
|
||||
if end > cur:
|
||||
lines.append(f"{indent}/* {cur:#06x} */ u8 pad{cur:X}[{end - cur:#x}];")
|
||||
lines.append(f"}} {name}; /* size = {end:#x} */")
|
||||
return "\n".join(lines) + "\n"
|
||||
|
||||
|
||||
def entries_from_layout(layout, ctypes_by_off=None, prefer_pointee=None):
|
||||
"""The struct map's layout [(off, w, sign, n)] -> render_struct entries [(off, type, unk<HEX>, None, None)], skipping what a
|
||||
struct cannot hold: overlaps (the earlier/wider-supported entry wins by count), misaligned widths, unknown widths. Returns
|
||||
(entries, skipped[(off, w, sign, reason)]). A pointer field takes the sites' pointee when they agree, else `void *`."""
|
||||
entries, skipped, cur = [], [], 0
|
||||
for (off, w, sg, n) in sorted(layout, key=lambda x: (x[0], -x[3])):
|
||||
if w is None or w == 0:
|
||||
skipped.append((off, w, sg, "width"))
|
||||
continue
|
||||
if off < cur:
|
||||
skipped.append((off, w, sg, "overlap"))
|
||||
continue
|
||||
al = 8 if w == 8 else min(w, 4)
|
||||
if off % al:
|
||||
skipped.append((off, w, sg, "misaligned"))
|
||||
continue
|
||||
if sg == "p":
|
||||
pt = {}
|
||||
for c in (ctypes_by_off or {}).get(off, []):
|
||||
if c and c.count("*") >= 2:
|
||||
k = c.rstrip("* ").strip() + " *"
|
||||
pt[k] = pt.get(k, 0) + 1
|
||||
t = (prefer_pointee or {}).get(off) or (next(iter(pt)) if len(pt) == 1 else "void *")
|
||||
else:
|
||||
t = TYPE_OF.get((w, sg))
|
||||
if t is None:
|
||||
skipped.append((off, w, sg, "sign"))
|
||||
continue
|
||||
entries.append((off, t, f"unk{off:X}", None, None))
|
||||
cur = off + w
|
||||
return entries, skipped
|
||||
|
||||
|
||||
def audit_definition(d, res, text=None):
|
||||
"""THE INVARIANT on one definition record (type_census.find_definitions shape): [violations as strings]; [] = OK.
|
||||
(1) every `unk<HEX>`/`pad<HEX>` top-level field sits at offset HEX; (2) when `text` (the definition's raw source text) is
|
||||
given, every `/* 0xNN */ … ;` field comment equals the computed offset of the field it annotates and the `size = 0x..`
|
||||
trailer equals sizeof. Fields with other names are not judged by (1) — the record's evidence-cited names carry a comment."""
|
||||
out = []
|
||||
offs = field_offsets(res, d)
|
||||
name = (d.get("names") or [d.get("tag") or "?"])[0]
|
||||
for (fname, off) in offs:
|
||||
for rx, what in ((UNK_RX, "unk"), (PAD_RX, "pad")):
|
||||
m = rx.match(fname)
|
||||
if m and int(m.group(1), 16) != off:
|
||||
out.append(f"{name}.{fname}: named for offset {int(m.group(1), 16):#x} but laid out at {off:#x}")
|
||||
if text:
|
||||
by_name = dict(offs)
|
||||
for m in OFF_COMMENT_RX.finditer(text):
|
||||
want = int(m.group(1), 16)
|
||||
decl = m.group(2)
|
||||
m2 = re.search(r"([A-Za-z_]\w*)\s*(?:\[[^\]]*\])*\s*;", decl)
|
||||
if not m2:
|
||||
continue
|
||||
fname = m2.group(1)
|
||||
if fname in by_name and by_name[fname] != want:
|
||||
out.append(f"{name}.{fname}: comment says {want:#x}, laid out at {by_name[fname]:#x}")
|
||||
ms = SIZE_TRAILER_RX.search(text)
|
||||
lay = res.layout_of_fields(d["fields"], d["kind"], packed=("packed" in (d.get("attrs") or "")))
|
||||
if ms and lay and int(ms.group(1), 16) != lay[0]:
|
||||
out.append(f"{name}: trailer says size {int(ms.group(1), 16):#x}, sizeof is {lay[0]:#x}")
|
||||
return out
|
||||
|
||||
|
||||
def selftest():
|
||||
"""The writer round-trips through the parser and the invariant holds; a drifted definition is caught; a hand layout agrees."""
|
||||
checks = []
|
||||
entries = [(0, "s16", "unk0", None, None), (4, "s32", "unk4", None, None), (8, "u8", "unk8", [4], None), (0x10, "void *", "unk10", None, None)]
|
||||
txt = render_struct("Unkstruct_TEST", entries)
|
||||
checks.append(("writer emits pad2", "u8 pad2[0x2]" in txt))
|
||||
checks.append(("writer trailer", "/* size = 0x14 */" in txt))
|
||||
body = mask_comments(txt)[txt.index("{") + 1:txt.rindex("}")]
|
||||
fields = parse_struct_body(body)
|
||||
d = dict(kind="struct", tag=None, names=["Unkstruct_TEST"], fields=fields, attrs="")
|
||||
res = Resolver({"Unkstruct_TEST": d})
|
||||
lay = res.resolve_name("Unkstruct_TEST")
|
||||
checks.append(("parsed size 0x14", lay is not None and lay[0] == 0x14))
|
||||
checks.append(("field_map", field_map(res, d)[4]["name"] == "unk4" and field_map(res, d)[8]["sign"] == "agg"))
|
||||
checks.append(("audit OK", audit_definition(d, res, txt) == []))
|
||||
# a drifted definition: a field inserted by hand shifts unk4 to 0x8 -> the invariant names it
|
||||
drift = txt.replace("/* 0x0002 */ u8 pad2[0x2];", "/* 0x0002 */ u8 pad2[0x2];\n s32 inserted;")
|
||||
fields2 = parse_struct_body(mask_comments(drift)[drift.index("{") + 1:drift.rindex("}")])
|
||||
d2 = dict(kind="struct", tag=None, names=["Unkstruct_TEST"], fields=fields2, attrs="")
|
||||
v = audit_definition(d2, Resolver({"Unkstruct_TEST": d2}), drift)
|
||||
checks.append(("drift caught", any("unk4" in x for x in v)))
|
||||
# the layout skip rules: an overlap, a misaligned half, an unknown width
|
||||
ents, skipped = entries_from_layout([(0, 4, "s", 5), (2, 2, "u", 1), (5, 2, "u", 3), (8, 2, "u", 2), (12, None, None, 1)])
|
||||
checks.append(("overlap/misaligned/width skipped", [s[3] for s in skipped] == ["overlap", "misaligned", "width"] and [e[0] for e in ents] == [0, 8]))
|
||||
checks.append(("leaf_at", leaf_at(lay, 4, 4, "s") and not leaf_at(lay, 4, 2, "s") and not leaf_at(lay, 6, 2, "u")))
|
||||
try:
|
||||
render_struct("X", [(0, "s32", "a", None, None), (2, "s16", "b", None, None)])
|
||||
checks.append(("overlap refused", False))
|
||||
except ValueError:
|
||||
checks.append(("overlap refused", True))
|
||||
bad = [c for c, ok in checks if not ok]
|
||||
print(f"struct_layout --selftest: {len(checks) - len(bad)}/{len(checks)} OK" + (f"; FAILED: {bad}" if bad else ""))
|
||||
return 0 if not bad else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
sys.exit(selftest() if "--selftest" in sys.argv else 0)
|
||||
+15
-316
@@ -55,322 +55,13 @@ TOOL_STAMP = hashlib.sha1(pathlib.Path(__file__).read_bytes()).hexdigest()[:10]
|
||||
CANON_HEADERS = ("src/shared/engine_types.h",) # the canonical type files (T3/T5 add src/shared/main/types.h, the slots')
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# types and widths (o32)
|
||||
# types and widths (o32) — the layout engine lives in tools/struct_layout.py since T3 (shared with restruct.py and the writer,
|
||||
# R33: one layout per definition); the names are re-exported here so every consumer of `tc.Resolver` etc. keeps working
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
SCALARS = {
|
||||
"u8": (1, "u"), "s8": (1, "s"), "char": (1, "s"), "signed char": (1, "s"), "unsigned char": (1, "u"),
|
||||
"u16": (2, "u"), "s16": (2, "s"), "short": (2, "s"), "unsigned short": (2, "u"), "signed short": (2, "s"),
|
||||
"short int": (2, "s"), "unsigned short int": (2, "u"),
|
||||
"u32": (4, "u"), "s32": (4, "s"), "int": (4, "s"), "unsigned": (4, "u"), "unsigned int": (4, "u"), "signed": (4, "s"),
|
||||
"signed int": (4, "s"), "long": (4, "s"), "unsigned long": (4, "u"), "long int": (4, "s"), "unsigned long int": (4, "u"),
|
||||
"uint": (4, "u"), "uint32_t": (4, "u"), "int32_t": (4, "s"), "uint16_t": (2, "u"), "int16_t": (2, "s"),
|
||||
"uint8_t": (1, "u"), "int8_t": (1, "s"),
|
||||
"u64": (8, "u"), "s64": (8, "s"), "long long": (8, "s"), "unsigned long long": (8, "u"),
|
||||
"f32": (4, "f"), "float": (4, "f"), "f64": (8, "f"), "double": (8, "f"),
|
||||
"M2C_UNK": (4, "s"), "M2C_UNK8": (1, "s"), "M2C_UNK16": (2, "s"), "M2C_UNK32": (4, "s"), "M2C_UNK64": (8, "s"),
|
||||
"void": (0, "v"),
|
||||
}
|
||||
# PsyQ layouts the SDK headers fix (include/psyq/*.h) — sizes only; used when a cast names them and for the MATRIX control
|
||||
SDK_SIZES = {"MATRIX": 32, "SVECTOR": 8, "VECTOR": 16, "CVECTOR": 4, "DVECTOR": 4, "RECT": 8, "RECT32": 16,
|
||||
"POLY_F3": 20, "POLY_F4": 24, "POLY_FT3": 32, "POLY_FT4": 40, "POLY_G3": 28, "POLY_G4": 36, "POLY_GT3": 40,
|
||||
"POLY_GT4": 52, "LINE_F2": 16, "LINE_F3": 20, "LINE_F4": 24, "LINE_G2": 20, "LINE_G3": 28, "LINE_G4": 36,
|
||||
"SPRT": 20, "SPRT_8": 16, "SPRT_16": 16, "TILE": 16, "TILE_1": 12, "TILE_8": 12, "TILE_16": 12,
|
||||
"DR_TPAGE": 8, "DR_ENV": 64, "DRAWENV": 92, "DISPENV": 20, "TMD_PRIM": 60, "GsDOBJ2": 32, "GsCOORDINATE2": 80,
|
||||
"GsRVIEW2": 36, "GsF_LIGHT": 16, "GsOT": 12, "GsOT_TAG": 4, "CdlLOC": 4, "CdlFILE": 20, "CdlFILTER": 4,
|
||||
"CdlATV": 4, "CdlCB": 4}
|
||||
from struct_layout import (SCALARS, SDK_SIZES, DEF_START, FWD_DECL, ATTR_RX, # noqa: E402,F401
|
||||
_norm_type, scalar_of, _match_brace, _split_top, _split_declarators, _eval_dim,
|
||||
parse_struct_body, Resolver, layout_hash, field_offsets, field_map, audit_definition)
|
||||
|
||||
def _norm_type(t):
|
||||
t = re.sub(r"\b(const|volatile|register|extern|static)\b", "", t)
|
||||
return re.sub(r"\s+", " ", t).strip()
|
||||
|
||||
def scalar_of(t):
|
||||
"""(width, sign) for a scalar/pointer type text; None for an aggregate or unknown name."""
|
||||
t = _norm_type(t)
|
||||
if t.endswith("*"):
|
||||
return (4, "p")
|
||||
if t in SCALARS:
|
||||
return SCALARS[t]
|
||||
return None
|
||||
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
# the definitions: parse `struct/union … { … }` bodies and compute o32 layouts
|
||||
# ----------------------------------------------------------------------------------------------------------------------
|
||||
DEF_START = re.compile(r"(?<![\w.])(typedef\s+)?(struct|union|enum)\s*([A-Za-z_]\w*)?\s*(__attribute__\s*\(\([^)]*\)\)\s*)?\{")
|
||||
FWD_DECL = re.compile(r"(?<![\w.])(struct|union|enum)\s+([A-Za-z_]\w*)\s*;")
|
||||
ATTR_RX = re.compile(r"__attribute__\s*\(\(((?:[^()]|\([^()]*\))*)\)\)") # nested parens: aligned(4), packed
|
||||
|
||||
def _match_brace(text, open_idx):
|
||||
depth = 0
|
||||
i = open_idx
|
||||
n = len(text)
|
||||
while i < n:
|
||||
c = text[i]
|
||||
if c == "{":
|
||||
depth += 1
|
||||
elif c == "}":
|
||||
depth -= 1
|
||||
if depth == 0:
|
||||
return i
|
||||
i += 1
|
||||
return -1
|
||||
|
||||
def _split_top(text, sep=";"):
|
||||
"""Split on `sep` at brace/paren depth 0."""
|
||||
out, depth, cur = [], 0, []
|
||||
for c in text:
|
||||
if c in "{(":
|
||||
depth += 1
|
||||
elif c in "})":
|
||||
depth -= 1
|
||||
if c == sep and depth == 0:
|
||||
out.append("".join(cur))
|
||||
cur = []
|
||||
else:
|
||||
cur.append(c)
|
||||
if "".join(cur).strip():
|
||||
out.append("".join(cur))
|
||||
return out
|
||||
|
||||
def _split_declarators(decl):
|
||||
"""`type a, *b, c[4]` -> (type, [(name, stars, dims, bits)])"""
|
||||
parts = _split_top(decl, ",")
|
||||
if not parts:
|
||||
return None, []
|
||||
first = parts[0].strip()
|
||||
# bitfield? `s16 : 16` / `u8 x : 3`
|
||||
mb = re.search(r":\s*(\d+)\s*$", first)
|
||||
if mb:
|
||||
left = first[:mb.start()].strip()
|
||||
toks = left.split()
|
||||
if len(toks) >= 2 and re.match(r"^[A-Za-z_]\w*$", toks[-1]) and toks[-1] not in SCALARS and toks[-2] not in ("struct", "union", "enum"):
|
||||
return _norm_type(" ".join(toks[:-1])), [(toks[-1], 0, [], int(mb.group(1)))]
|
||||
return _norm_type(left), [("", 0, [], int(mb.group(1)))]
|
||||
# split the first part into type + declarator: the declarator is the trailing `*... name [dims]` or a function pointer
|
||||
fp = re.match(r"^(.*?)\(\s*\*\s*([A-Za-z_]\w*)\s*\)\s*\(.*\)\s*((?:\[[^\]]*\])*)$", first)
|
||||
decls = []
|
||||
if fp:
|
||||
base_type = "void *" # a function pointer is 4 bytes; the callee type is irrelevant to the layout
|
||||
dims = re.findall(r"\[([^\]]*)\]", fp.group(3))
|
||||
decls.append((fp.group(2), 1, dims, None))
|
||||
for extra in parts[1:]:
|
||||
e = extra.strip()
|
||||
m2 = re.match(r"^(\**)\s*([A-Za-z_]\w*)\s*((?:\[[^\]]*\])*)$", e)
|
||||
if m2:
|
||||
decls.append((m2.group(2), len(m2.group(1)), re.findall(r"\[([^\]]*)\]", m2.group(3)), None))
|
||||
return base_type, decls
|
||||
m = re.match(r"^(.*?)\s*(\**)\s*([A-Za-z_]\w*)\s*((?:\[[^\]]*\])*)\s*$", first, re.S)
|
||||
if not m:
|
||||
return _norm_type(first), []
|
||||
base_type = _norm_type(m.group(1))
|
||||
decls.append((m.group(3), len(m.group(2)), re.findall(r"\[([^\]]*)\]", m.group(4)), None))
|
||||
for extra in parts[1:]:
|
||||
e = extra.strip()
|
||||
m2 = re.match(r"^(\**)\s*([A-Za-z_]\w*)\s*((?:\[[^\]]*\])*)\s*(?::\s*(\d+))?$", e)
|
||||
if m2:
|
||||
decls.append((m2.group(2), len(m2.group(1)), re.findall(r"\[([^\]]*)\]", m2.group(3)),
|
||||
int(m2.group(4)) if m2.group(4) else None))
|
||||
return base_type, decls
|
||||
|
||||
def _eval_dim(d, consts):
|
||||
d = d.strip()
|
||||
if not d:
|
||||
return None # flexible/unsized
|
||||
try:
|
||||
return int(eval(d, {"__builtins__": {}}, dict(consts))) # hex, sums, `0x20-0x10`, sizeof-free; the tree's dims are literals
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
def parse_struct_body(body, consts=None):
|
||||
"""Fields of one struct/union body text (the text between the braces). Nested definitions are parsed recursively.
|
||||
Returns [dict(name, type, stars, dims, bits, nested)] in order."""
|
||||
fields = []
|
||||
consts = consts or {}
|
||||
i, n = 0, len(body)
|
||||
while i < n:
|
||||
# a nested struct/union body?
|
||||
m = DEF_START.search(body, i)
|
||||
stmt_end = body.find(";", i)
|
||||
if m and (stmt_end == -1 or m.start() < stmt_end):
|
||||
close = _match_brace(body, m.end() - 1)
|
||||
if close == -1:
|
||||
break
|
||||
inner = body[m.end():close]
|
||||
# the declarators after the nested body up to `;`
|
||||
j = body.find(";", close)
|
||||
tail = body[close + 1:j if j != -1 else n]
|
||||
nested = dict(kind=m.group(2), tag=m.group(3), fields=parse_struct_body(inner, consts) if m.group(2) != "enum" else [],
|
||||
attrs=(m.group(4) or "") + " ".join(ATTR_RX.findall(tail)))
|
||||
tail = ATTR_RX.sub("", tail).strip()
|
||||
decls = []
|
||||
if tail:
|
||||
for part in _split_top(tail, ","):
|
||||
e = part.strip()
|
||||
m2 = re.match(r"^(\**)\s*([A-Za-z_]\w*)\s*((?:\[[^\]]*\])*)\s*(?::\s*(\d+))?$", e)
|
||||
if m2:
|
||||
decls.append((m2.group(2), len(m2.group(1)), re.findall(r"\[([^\]]*)\]", m2.group(3)),
|
||||
int(m2.group(4)) if m2.group(4) else None))
|
||||
if not decls:
|
||||
decls = [("", 0, [], None)] # an anonymous member (a union inside a struct)
|
||||
for (nm, stars, dims, bits) in decls:
|
||||
fields.append(dict(name=nm, type=(m.group(2) + " " + (m.group(3) or "")).strip(), stars=stars,
|
||||
dims=[_eval_dim(d, consts) for d in dims], bits=bits, nested=nested))
|
||||
i = (j + 1) if j != -1 else n
|
||||
continue
|
||||
if stmt_end == -1:
|
||||
break
|
||||
stmt = body[i:stmt_end].strip()
|
||||
i = stmt_end + 1
|
||||
if not stmt:
|
||||
continue
|
||||
fattrs = " ".join(ATTR_RX.findall(stmt))
|
||||
stmt = ATTR_RX.sub("", stmt)
|
||||
base_type, decls = _split_declarators(stmt)
|
||||
if base_type is None:
|
||||
continue
|
||||
for (nm, stars, dims, bits) in decls:
|
||||
fields.append(dict(name=nm, type=base_type, stars=stars, dims=[_eval_dim(d, consts) for d in dims], bits=bits, nested=None,
|
||||
attrs=fattrs or None))
|
||||
return fields
|
||||
|
||||
class Resolver:
|
||||
"""Type name -> (size, align, leaves) under the o32 ABI. Scope: a TU's own definitions first, then the shared headers, then the SDK."""
|
||||
def __init__(self, defs_by_name):
|
||||
self.defs = defs_by_name # name -> definition record (tag or typedef name)
|
||||
self.cache = {}
|
||||
self.stack = set()
|
||||
|
||||
def layout(self, type_text, stars=0, dims=(), bits=None):
|
||||
"""(size, align, leaves) of one field's type; leaves = [(off, width, sign)]; None when unknown."""
|
||||
if stars:
|
||||
sz, al, leaves = 4, 4, [(0, 4, "p")]
|
||||
else:
|
||||
t = _norm_type(type_text)
|
||||
sc_ = scalar_of(t)
|
||||
if sc_:
|
||||
w, s = sc_
|
||||
if w == 0:
|
||||
return None
|
||||
sz, al, leaves = w, w, [(0, w, s)]
|
||||
else:
|
||||
r = self.resolve_name(t)
|
||||
if r is None:
|
||||
return None
|
||||
sz, al, leaves = r
|
||||
for d in reversed(list(dims)):
|
||||
if d is None:
|
||||
d = 0
|
||||
leaves = [(k * sz + off, w, s) for k in range(d) for (off, w, s) in leaves]
|
||||
sz = sz * d
|
||||
return sz, al, leaves
|
||||
|
||||
def resolve_name(self, name):
|
||||
name = _norm_type(name)
|
||||
if name in self.cache:
|
||||
return self.cache[name]
|
||||
if name in self.stack:
|
||||
return None
|
||||
d = self.defs.get(name)
|
||||
if d is None:
|
||||
m = re.match(r"^(struct|union|enum)\s+(\w+)$", name)
|
||||
if m and m.group(1) == "enum":
|
||||
return (4, 4, [(0, 4, "s")])
|
||||
if m and m.group(2) in self.defs and self.defs[m.group(2)].get("kind") == m.group(1):
|
||||
d = self.defs[m.group(2)]
|
||||
elif name in SDK_SIZES:
|
||||
sz = SDK_SIZES[name]
|
||||
r = (sz, 4, [(0, 4, "s")] * (sz // 4) if sz % 4 == 0 else [(0, sz, "b")])
|
||||
self.cache[name] = r
|
||||
return r
|
||||
else:
|
||||
return None
|
||||
if d.get("kind") == "enum":
|
||||
return (4, 4, [(0, 4, "s")])
|
||||
if d.get("alias_of"): # `typedef T Name;` — a scalar/pointer alias or an alias of another aggregate
|
||||
self.stack.add(name)
|
||||
r = self.layout(d["alias_of"], d.get("alias_stars", 0), d.get("alias_dims", ()))
|
||||
self.stack.discard(name)
|
||||
self.cache[name] = r
|
||||
return r
|
||||
self.stack.add(name)
|
||||
r = self.layout_of_fields(d["fields"], d["kind"], packed=("packed" in (d.get("attrs") or "")))
|
||||
self.stack.discard(name)
|
||||
self.cache[name] = r
|
||||
return r
|
||||
|
||||
def layout_of_fields(self, fields, kind, packed=False):
|
||||
off, maxal, leaves, size = 0, 1, [], 0
|
||||
bit_off = 0
|
||||
unknown = False
|
||||
for f in fields:
|
||||
if f.get("nested"):
|
||||
nd = f["nested"]
|
||||
r = self.layout_of_fields(nd["fields"], nd["kind"], packed=("packed" in (nd.get("attrs") or ""))) if nd["kind"] != "enum" else (4, 4, [(0, 4, "s")])
|
||||
else:
|
||||
r = self.layout(f["type"], f["stars"], f["dims"])
|
||||
if r is None:
|
||||
unknown = True
|
||||
r = (0, 1, [])
|
||||
fsz, fal, fleaves = r
|
||||
if f.get("dims") and f["nested"]:
|
||||
for d in reversed(f["dims"]):
|
||||
d = d or 0
|
||||
fleaves = [(k * fsz + o, w, s) for k in range(d) for (o, w, s) in fleaves]
|
||||
fsz = fsz * d
|
||||
fa = f.get("attrs") or ""
|
||||
ma = re.search(r"aligned\s*\(\s*(\d+)\s*\)", fa)
|
||||
if packed:
|
||||
fal = 1
|
||||
if ma:
|
||||
fal = max(fal, int(ma.group(1)))
|
||||
if f.get("bits") is not None:
|
||||
# bitfields: pack into the base type's storage unit; an anonymous `s16 : 16` is a pad of the base width
|
||||
w = fsz or 4
|
||||
if bit_off == 0:
|
||||
off = (off + fal - 1) // fal * fal
|
||||
unit_off = off
|
||||
self._unit = (unit_off, w)
|
||||
unit_off, uw = self._unit
|
||||
if bit_off + f["bits"] > uw * 8:
|
||||
off = unit_off + uw
|
||||
off = (off + fal - 1) // fal * fal
|
||||
unit_off = off
|
||||
self._unit = (unit_off, w)
|
||||
bit_off = 0
|
||||
if f["name"]:
|
||||
leaves.append((unit_off, w, "bf"))
|
||||
bit_off += f["bits"]
|
||||
maxal = max(maxal, fal)
|
||||
end = unit_off + w
|
||||
if bit_off >= uw * 8:
|
||||
bit_off = 0
|
||||
off = end
|
||||
else:
|
||||
off = unit_off
|
||||
size = max(size, end)
|
||||
if kind == "union":
|
||||
off = 0
|
||||
continue
|
||||
bit_off = 0
|
||||
if kind == "union":
|
||||
leaves.extend((0 + o, w, s) for (o, w, s) in fleaves)
|
||||
size = max(size, fsz)
|
||||
maxal = max(maxal, fal)
|
||||
continue
|
||||
off = (off + fal - 1) // fal * fal
|
||||
leaves.extend((off + o, w, s) for (o, w, s) in fleaves)
|
||||
off += fsz
|
||||
size = max(size, off)
|
||||
maxal = max(maxal, fal)
|
||||
size = (size + maxal - 1) // maxal * maxal
|
||||
if unknown:
|
||||
return None
|
||||
return size, maxal, sorted(set(leaves))
|
||||
|
||||
def layout_hash(lay):
|
||||
if lay is None:
|
||||
return None
|
||||
size, al, leaves = lay
|
||||
return hashlib.sha1(json.dumps([size, leaves]).encode()).hexdigest()[:12]
|
||||
|
||||
def find_definitions(masked, rel, span_of_line, line_of):
|
||||
"""All struct/union/enum definitions and typedef aliases in one masked file. Records carry file, line, kind, tag, names, fields."""
|
||||
@@ -1297,8 +988,9 @@ def spaces(tu_aliases):
|
||||
return "main" if not als or "main" in als else als[0]
|
||||
return space_of
|
||||
|
||||
def run_census(jobs, use_cache=True, out_dir=OUT_DIR_DEFAULT, want_sites=False):
|
||||
t0 = time.time()
|
||||
def walk_all(jobs, use_cache=True, out_dir=OUT_DIR_DEFAULT):
|
||||
"""Every TU, shared header and include/ header walked (cached on (path, mtime, size, tool stamp)): returns dict(results{rel: walk},
|
||||
tu_aliases, headers, inc, inc_tus, files). Shared with tools/restruct.py's rung D (the definitions index) — R33: one walk."""
|
||||
aliases, dirs = sc.fleet_and_dirs()
|
||||
tu_aliases, headers, orphans = lc.enumerate_files(aliases, dirs)
|
||||
if orphans:
|
||||
@@ -1331,6 +1023,13 @@ def run_census(jobs, use_cache=True, out_dir=OUT_DIR_DEFAULT, want_sites=False):
|
||||
if use_cache:
|
||||
cache_p.parent.mkdir(parents=True, exist_ok=True)
|
||||
cache_p.write_text(json.dumps(new_cache))
|
||||
return dict(results=results, tu_aliases=tu_aliases, headers=headers, inc=inc, inc_tus=inc_tus, files=files)
|
||||
|
||||
|
||||
def run_census(jobs, use_cache=True, out_dir=OUT_DIR_DEFAULT, want_sites=False):
|
||||
t0 = time.time()
|
||||
w = walk_all(jobs, use_cache=use_cache, out_dir=out_dir)
|
||||
results, tu_aliases, headers, inc, inc_tus, files = w["results"], w["tu_aliases"], w["headers"], w["inc"], w["inc_tus"], w["files"]
|
||||
t_walk = time.time() - t0
|
||||
space_of = spaces(tu_aliases)
|
||||
# ---- shared bodies: fn -> header (one function fleet-wide)
|
||||
|
||||
Reference in New Issue
Block a user