T4: batch t4_main_S1 — restruct: batch t4_main_S1 rung S — 3 files (TUs; 3 drawable) · 23 bodies: 76 sites → members / 2 kept / 21 skipped · levers off 0 · compiles 40 in 51 s wall · final 3/3 identical · written 1 files | R22 check-all: 218 passed, 0 failed of 218 | type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 337895 cast sites in 51038 bodies over 8 base classes (4 forms + A, coverage OK) · 229 lying declarations / 24 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4 (restruct_cycle)

This commit is contained in:
Drew T
2026-10-02 04:43:20 -06:00
parent ba458f2d25
commit d1a48e1288
5 changed files with 447 additions and 333 deletions
+140 -140
View File
@@ -1,7 +1,7 @@
{
"head": "93260530b5",
"head": "773878d86a",
"stamp": "588cbf38c6e4",
"generated": "2026-10-02 04:27",
"generated": "2026-10-02 04:35",
"aliases": [
"main",
"md_SC07_004",
@@ -21,176 +21,176 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 6.4289999999999985,
"mean_s": 0.076
"seconds": 6.648,
"mean_s": 0.078
},
"md_SC07_004": {
"objects": 1,
"identical": 1,
"seconds": 0.474,
"mean_s": 0.474
"seconds": 0.461,
"mean_s": 0.461
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 4.714000000000001,
"mean_s": 0.147
"seconds": 4.7669999999999995,
"mean_s": 0.149
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 4.002,
"mean_s": 0.143
"seconds": 4.100999999999999,
"mean_s": 0.146
}
},
"per_object_seconds": {
"build/src/800.o": 0.729,
"build/src/800_b.o": 0.068,
"build/src/800_b_2.o": 0.308,
"build/src/800_b_o0a.o": 0.06,
"build/src/800_c.o": 0.195,
"build/src/800b2.o": 0.087,
"build/src/apicard1.o": 0.058,
"build/src/apicard2.o": 0.063,
"build/src/apicard3.o": 0.058,
"build/src/apicard4.o": 0.069,
"build/src/apicard5.o": 0.07,
"build/src/apicard6.o": 0.069,
"build/src/apicard7.o": 0.08,
"build/src/boot.o": 0.095,
"build/src/gap.o": 0.079,
"build/src/libapi1.o": 0.059,
"build/src/libapi2.o": 0.051,
"build/src/800.o": 0.743,
"build/src/800_b.o": 0.087,
"build/src/800_b_2.o": 0.306,
"build/src/800_b_o0a.o": 0.073,
"build/src/800_c.o": 0.201,
"build/src/800b2.o": 0.077,
"build/src/apicard1.o": 0.064,
"build/src/apicard2.o": 0.096,
"build/src/apicard3.o": 0.106,
"build/src/apicard4.o": 0.068,
"build/src/apicard5.o": 0.072,
"build/src/apicard6.o": 0.082,
"build/src/apicard7.o": 0.073,
"build/src/boot.o": 0.109,
"build/src/gap.o": 0.077,
"build/src/libapi1.o": 0.078,
"build/src/libapi2.o": 0.061,
"build/src/libc2_1.o": 0.063,
"build/src/libc2_2.o": 0.053,
"build/src/libcd1.o": 0.071,
"build/src/libcd2.o": 0.058,
"build/src/libetc.o": 0.063,
"build/src/libgpu.o": 0.058,
"build/src/libgpu2.o": 0.067,
"build/src/libgs1.o": 0.055,
"build/src/libgs2.o": 0.053,
"build/src/libgs3.o": 0.055,
"build/src/libgs4.o": 0.056,
"build/src/libgs5.o": 0.055,
"build/src/libgs6.o": 0.066,
"build/src/libc2_2.o": 0.055,
"build/src/libcd1.o": 0.067,
"build/src/libcd2.o": 0.062,
"build/src/libetc.o": 0.061,
"build/src/libgpu.o": 0.066,
"build/src/libgpu2.o": 0.07,
"build/src/libgs1.o": 0.063,
"build/src/libgs2.o": 0.058,
"build/src/libgs3.o": 0.057,
"build/src/libgs4.o": 0.067,
"build/src/libgs5.o": 0.06,
"build/src/libgs6.o": 0.075,
"build/src/libgs7.o": 0.06,
"build/src/libgs8.o": 0.058,
"build/src/libgte1.o": 0.063,
"build/src/libgte10.o": 0.058,
"build/src/libgte11.o": 0.059,
"build/src/libgte12.o": 0.056,
"build/src/libgte13.o": 0.059,
"build/src/libgte14.o": 0.06,
"build/src/libgte15.o": 0.061,
"build/src/libgte16.o": 0.056,
"build/src/libgte1.o": 0.058,
"build/src/libgte10.o": 0.063,
"build/src/libgte11.o": 0.055,
"build/src/libgte12.o": 0.062,
"build/src/libgte13.o": 0.062,
"build/src/libgte14.o": 0.056,
"build/src/libgte15.o": 0.055,
"build/src/libgte16.o": 0.06,
"build/src/libgte17.o": 0.064,
"build/src/libgte18.o": 0.074,
"build/src/libgte19.o": 0.059,
"build/src/libgte2.o": 0.06,
"build/src/libgte20.o": 0.058,
"build/src/libgte21.o": 0.059,
"build/src/libgte22.o": 0.063,
"build/src/libgte23.o": 0.062,
"build/src/libgte24.o": 0.057,
"build/src/libgte25.o": 0.056,
"build/src/libgte26.o": 0.069,
"build/src/libgte27.o": 0.06,
"build/src/libgte28.o": 0.06,
"build/src/libgte29.o": 0.056,
"build/src/libgte3.o": 0.063,
"build/src/libgte18.o": 0.061,
"build/src/libgte19.o": 0.06,
"build/src/libgte2.o": 0.057,
"build/src/libgte20.o": 0.062,
"build/src/libgte21.o": 0.062,
"build/src/libgte22.o": 0.06,
"build/src/libgte23.o": 0.06,
"build/src/libgte24.o": 0.066,
"build/src/libgte25.o": 0.061,
"build/src/libgte26.o": 0.062,
"build/src/libgte27.o": 0.055,
"build/src/libgte28.o": 0.061,
"build/src/libgte29.o": 0.067,
"build/src/libgte3.o": 0.064,
"build/src/libgte30.o": 0.061,
"build/src/libgte4.o": 0.059,
"build/src/libgte4.o": 0.06,
"build/src/libgte5.o": 0.063,
"build/src/libgte6.o": 0.061,
"build/src/libgte7.o": 0.06,
"build/src/libgte6.o": 0.062,
"build/src/libgte7.o": 0.063,
"build/src/libgte8.o": 0.063,
"build/src/libgte9.o": 0.063,
"build/src/libmcrd1.o": 0.076,
"build/src/libgte9.o": 0.061,
"build/src/libmcrd1.o": 0.078,
"build/src/libmcrd2.o": 0.061,
"build/src/libpad1.o": 0.066,
"build/src/libpad2.o": 0.056,
"build/src/sgap.o": 0.055,
"build/src/sgap_2.o": 0.079,
"build/src/libpad1.o": 0.074,
"build/src/libpad2.o": 0.065,
"build/src/sgap.o": 0.067,
"build/src/sgap_2.o": 0.065,
"build/src/sgap_3.o": 0.062,
"build/src/sgap_4.o": 0.067,
"build/src/sgap_5.o": 0.062,
"build/src/sgap_6.o": 0.061,
"build/src/sgap_4.o": 0.071,
"build/src/sgap_5.o": 0.06,
"build/src/sgap_6.o": 0.066,
"build/src/sgap_8.o": 0.066,
"build/src/snd1.o": 0.071,
"build/src/snd10.o": 0.064,
"build/src/snd11.o": 0.066,
"build/src/snd12.o": 0.057,
"build/src/snd2.o": 0.077,
"build/src/snd3.o": 0.066,
"build/src/snd1.o": 0.069,
"build/src/snd10.o": 0.065,
"build/src/snd11.o": 0.062,
"build/src/snd12.o": 0.061,
"build/src/snd2.o": 0.064,
"build/src/snd3.o": 0.064,
"build/src/snd4.o": 0.066,
"build/src/snd5.o": 0.068,
"build/src/snd5.o": 0.066,
"build/src/snd6.o": 0.074,
"build/src/snd7.o": 0.063,
"build/src/snd8.o": 0.066,
"build/src/snd9.o": 0.069,
"build/src/md_SC07_004/md_SC07_004.o": 0.474,
"build/src/snd8.o": 0.061,
"build/src/snd9.o": 0.057,
"build/src/md_SC07_004/md_SC07_004.o": 0.461,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.143,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.496,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.387,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.075,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.07,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.13,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.155,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.13,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.089,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.077,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.179,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.082,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.171,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.105,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.065,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.07,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.092,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.442,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.235,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.103,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.196,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.069,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.111,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.522,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.382,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.068,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.067,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.135,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.179,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.125,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.088,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.081,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.175,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.097,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.17,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.109,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.076,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.076,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.098,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.44,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.257,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.108,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.19,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.067,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.109,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.07,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.173,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.223,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.059,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.259,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.054,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.069,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.063,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.163,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.2,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.06,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.261,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.055,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.056,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.068,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.072,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.119,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.418,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.348,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.052,
"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.112,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.149,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.108,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.086,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.071,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.176,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.079,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.166,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.101,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.068,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.083,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.098,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.347,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.221,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.092,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.166,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.126,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.434,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.377,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.055,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.052,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.109,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.148,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.125,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.078,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.07,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.189,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.085,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.173,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.095,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.076,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.077,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.097,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.355,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.242,
"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.163,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.073,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.101,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.067,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.108,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.417,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.06,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.06
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.102,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.077,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.101,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.416,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.042,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.063
},
"ok": true,
"seconds": 1.9
"seconds": 2.0
}
File diff suppressed because one or more lines are too long
+208 -94
View File
@@ -1,9 +1,9 @@
{
"summary": {
"head": "93260530b5",
"src_stamp": "7d89471e6f966b1b",
"head": "773878d86a",
"src_stamp": "a6e1a0d177d94803",
"tool_stamp": "e17c5fa676",
"when": "2026-10-02T10:32:20Z",
"when": "2026-10-02T10:40:51Z",
"files": 7306,
"tus": 4121,
"headers": 3181,
@@ -36,32 +36,32 @@
},
"casts": {
"by_form": {
"P": 257552,
"I": 51509,
"P": 257469,
"I": 51505,
"X": 13790,
"K": 20975,
"A": 18889,
"C": 173027,
"K": 20964,
"C": 173103,
"M": 15131
},
"raw_counts": {
"P": 257552,
"I": 51509,
"P": 257469,
"I": 51505,
"X": 13790,
"K": 20975,
"A": 18889,
"C": 173027,
"K": 20964,
"C": 173103,
"M": 15131
},
"coverage_ok": true,
"refused": 0,
"deref_total": 337982,
"deref_total": 337895,
"addr_form": 18889,
"typed_cast_member": 173027,
"bodies": 51053,
"typed_cast_member": 173103,
"bodies": 51038,
"by_bclass": {
"local": 124537,
"param": 152155,
"local": 124536,
"param": 152069,
"global": 8616,
"gaddr": 40113,
"nested": 9446,
@@ -70,16 +70,16 @@
"addr-of": 1338
},
"by_width": {
"s2": 103407,
"u2": 84328,
"s4": 81472,
"u1": 34945,
"s2": 103355,
"u2": 84324,
"s4": 81447,
"u1": 34939,
"agg": 13409,
"p4": 10966,
"u4": 7574,
"s1": 1881
},
"readability_raw_regex": 260389,
"readability_raw_regex": 260306,
"abs_casts": 0,
"top_bases": [
[
@@ -90,12 +90,12 @@
[
"param",
"a0",
39636
39555
],
[
"param",
"arg0",
30940
30937
],
[
"local",
@@ -115,7 +115,7 @@
[
"local",
"s0",
6635
6634
],
[
"local",
@@ -200,7 +200,7 @@
[
"param",
"arg1",
2026
2024
],
[
"local",
@@ -284,19 +284,140 @@
]
],
"macros": {
"CAST_WIDTH": 10410,
"CAST_SIGN": 8429,
"CAST_WIDTH": 10399,
"CAST_ALIAS": 1173,
"CAST_MISALIGNED": 624,
"CAST_NONSTRUCT": 327
},
"check_raw": {
"P": 257547,
"I": 51509,
"P": 257464,
"I": 51505,
"X": 13790,
"M": 15130
},
"macro_sites": [
{
"tu": "src/800.c",
"fn": "func_8001C214",
"line": 8563,
"pos": 223061,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 36
},
{
"tu": "src/800.c",
"fn": "func_8001C2C4",
"line": 8594,
"pos": 223779,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 36
},
{
"tu": "src/800.c",
"fn": "func_8001C810",
"line": 8839,
"pos": 230102,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 36
},
{
"tu": "src/800.c",
"fn": "func_8001CB00",
"line": 8992,
"pos": 233471,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 4
},
{
"tu": "src/800.c",
"fn": "func_8001CB6C",
"line": 9004,
"pos": 233860,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 4
},
{
"tu": "src/800.c",
"fn": "func_8001CE68",
"line": 9108,
"pos": 236460,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 4
},
{
"tu": "src/800.c",
"fn": "func_8001CF48",
"line": 9136,
"pos": 237032,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 28
},
{
"tu": "src/800.c",
"fn": "func_8001CF48",
"line": 9140,
"pos": 237197,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 48
},
{
"tu": "src/800.c",
"fn": "func_8001CF48",
"line": 9145,
"pos": 237390,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 20
},
{
"tu": "src/800.c",
"fn": "func_8001CF48",
"line": 9152,
"pos": 237679,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 4
},
{
"tu": "src/800.c",
"fn": "func_8001CF48",
"line": 9157,
"pos": 237895,
"name": "CAST_WIDTH",
"cls": "WIDTH",
"base": "a0",
"bclass": "param",
"off": 52
},
{
"tu": "src/md_MAIN_013/md_MAIN_013.c",
"fn": "func_800CB0E8",
@@ -231950,66 +232071,66 @@
"cross_callees": 96
},
"struct_map": {
"types": 18617,
"explained_sites": 334071,
"deref_sites": 337982,
"types": 18526,
"explained_sites": 333984,
"deref_sites": 337895,
"explained_pct": 98.8,
"unassigned_sites": 3911,
"conflicts": 844,
"suspect": 11,
"conflicts": 837,
"suspect": 10,
"evidence": {
"param": 39246,
"arg": 10991,
"assign": 19417,
"assign&": 1264,
"ret-of": 5888,
"return": 1529,
"arg&": 276,
"field": 6557,
"assign": 19444,
"ret-of": 6041,
"arg": 10531,
"return": 1535,
"assign&": 1283,
"arg&": 286,
"field": 6585,
"nested": 9
},
"vetoed": {
"arg&-no-overlap": 3404,
"arg-conduit": 141074,
"arg-conduit": 144259,
"ret-of-multisource": 6714,
"arg&-conduit": 14638,
"assign-multisource": 33677,
"arg-no-overlap": 33703,
"arg&-conduit": 14771,
"field-multisource": 5264,
"ret-of": 556,
"ret-of": 460,
"assign&-multisource": 12225,
"assign": 302,
"return": 7,
"assign&": 337,
"arg": 74,
"field": 104
"arg&-no-overlap": 3114,
"assign": 309,
"arg-no-overlap": 28175,
"assign&": 320,
"arg": 59,
"return": 2,
"field": 12
},
"singletons": 14640,
"multi_body": 3977,
"sites_in_multi_body": 279055,
"singletons": 14583,
"multi_body": 3943,
"sites_in_multi_body": 278952,
"top": [
{
"name": "Unkstruct_800B5CB8",
"sites": 17177,
"bodies": 4155,
"size_hint": 268,
"fields": 120,
"name": "Unkstruct_800D3888",
"sites": 23205,
"bodies": 7124,
"size_hint": 588,
"fields": 216,
"conflicts": 50,
"sign_mixed": 51,
"sign_mixed": 67,
"merges": {
"arg&": 255,
"assign&": 18,
"assign": 8641,
"param": 9130,
"ret-of": 2593,
"arg": 7071,
"return": 717,
"field": 1086
"arg&": 265,
"param": 11270,
"arg": 7749,
"assign": 8307,
"return": 710,
"ret-of": 2006,
"assign&": 148,
"field": 1174
},
"globals_at": [
"D_800B5CB8",
"D_800D3888",
"D_80181448"
"D_800DE5A0",
"D_801269F0"
],
"globals_ptr": [
"D_8006386C",
@@ -232032,28 +232153,6 @@
"globals_at": [],
"globals_ptr": []
},
{
"name": "Unkstruct_80126B58",
"sites": 5482,
"bodies": 2947,
"size_hint": 588,
"fields": 165,
"conflicts": 40,
"sign_mixed": 45,
"merges": {
"assign&": 104,
"param": 2120,
"arg": 1118,
"assign": 41,
"field": 32
},
"globals_at": [
"D_80126B58"
],
"globals_ptr": [
"D_80126B58"
]
},
{
"name": "Unkstruct_dac960ce",
"sites": 4464,
@@ -232366,6 +232465,21 @@
},
"globals_at": [],
"globals_ptr": []
},
{
"name": "Unkstruct_cd1bacd2",
"sites": 1764,
"bodies": 126,
"size_hint": 56,
"fields": 10,
"conflicts": 0,
"sign_mixed": 0,
"merges": {
"param": 2,
"assign": 2
},
"globals_at": [],
"globals_ptr": []
}
]
},
@@ -232578,9 +232692,9 @@
"path": ".run/P37/census/parked.tsv"
},
"timing": {
"walk_s": 39.3,
"decls_s": 182.1,
"total_s": 191.1
"walk_s": 39.9,
"decls_s": 184.2,
"total_s": 193.3
}
},
"dup_layout_classes": [
+11 -11
View File
@@ -1,18 +1,17 @@
type_census — 2026-10-02T10:32:20Z at 93260530b5 (src stamp 7d89471e6f966b1b, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 39.3 s, total 191.1 s
type_census — 2026-10-02T10:40:51Z at 773878d86a (src stamp a6e1a0d177d94803, tool e17c5fa676); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 39.9 s, total 193.3 s
DEFINITIONS 1650 struct/union bodies (+0 enums): canonical header 1021 · .c file-scope 0 · .c block-scope 600 · per-function shared headers 29 · other headers 0 · include/ 326
1024 distinct names · 523 distinct layouts (0 unresolved) · 53 duplicate classes covering 496 names (tier 1 0 same-named, tier 2 53 opaque; 44 layout-twin classes / 472 names kept apart) · 42 exact-text classes / 546 copies · 0 VARIANT names (>1 layout) · 55 dead canonical names · 0 canonical names redefined in .c · 4300 scalar/alias typedefs · 145 forward decls
CAST SITES deref 337982 = P 257552 + I 51509 + X 13790 + M 15131 (+ A address-of 18889; + C typed cast-member 173027) in 51053 bodies · coverage OK (raw {'P': 257552, 'I': 51509, 'X': 13790, 'A': 18889, 'C': 173027, 'K': 20964, 'M': 15131}) · refused 0 · absolute 0 · readability regex over raw text 260389
by base: param 152155 · local 124537 · gaddr 40113 · nested 9446 · global 8616 · other 1616 · addr-of 1338 · ident 161
by width: s2 103407 · u2 84328 · s4 81472 · u1 34945 · agg 13409 · p4 10966 · u4 7574 · s1 1881
top bases: param_1(param) 57137 · a0(param) 39636 · arg0(param) 30940 · p(local) 13172 · cach(local) 8246 · buf(local) 7056 · s0(local) 6635 · s1(local) 6388 · flag(local) 5453 · dst(local) 4853 · iVar2(local) 4394 · iVar1(local) 3464 · cur(local) 3375 · p(param) 3036 · e(local) 3002 · src(local) 2599
CAST SITES deref 337895 = P 257469 + I 51505 + X 13790 + M 15131 (+ A address-of 18889; + C typed cast-member 173103) in 51038 bodies · coverage OK (raw {'P': 257469, 'I': 51505, 'X': 13790, 'K': 20975, 'A': 18889, 'C': 173103, 'M': 15131}) · refused 0 · absolute 0 · readability regex over raw text 260306
by base: param 152069 · local 124536 · gaddr 40113 · nested 9446 · global 8616 · other 1616 · addr-of 1338 · ident 161
by width: s2 103355 · u2 84324 · s4 81447 · u1 34939 · agg 13409 · p4 10966 · u4 7574 · s1 1881
top bases: param_1(param) 57137 · a0(param) 39555 · arg0(param) 30937 · p(local) 13172 · cach(local) 8246 · buf(local) 7056 · s0(local) 6634 · s1(local) 6388 · flag(local) 5453 · dst(local) 4853 · iVar2(local) 4394 · iVar1(local) 3464 · cur(local) 3375 · p(param) 3036 · e(local) 3002 · src(local) 2599
DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3773 spelled >1 way) · 6421 names with >1 body text · 1078766 data externs over 55542 symbols (18498 typed >1 way) · asm-label aliases 5148 (159 names) · builtins {'memcpy': 301, 'abs': 1} · attributes {'packed': 26, 'aligned': 6}
lying declarations 229 over 24 callees {'K&R-empty': 216, 'narrow': 13} · K&R sites (marked, counted apart) 5293 over 200 callees · cross-binary (the fleet's definitions disagree, this binary has none) 418 over 96 callees
STRUCT MAP 18617 types explain 334071/337982 deref sites (98.8 %); unassigned 3911; 3977 types span ≥2 bodies (279055 sites), 14640 single-body; types with conflicts 844, suspect 11
merges by evidence {'param': 39246, 'arg': 10991, 'assign': 19417, 'assign&': 1264, 'ret-of': 5888, 'return': 1529, 'arg&': 276, 'field': 6557, 'nested': 9}; vetoed {'arg&-no-overlap': 3404, 'arg-conduit': 141074, 'ret-of-multisource': 6714, 'arg&-conduit': 14638, 'assign-multisource': 33677, 'arg-no-overlap': 33703, 'field-multisource': 5264, 'ret-of': 556, 'assign&-multisource': 12225, 'assign': 302, 'return': 7, 'assign&': 337, 'arg': 74, 'field': 104}
Unkstruct_800B5CB8 sites 17177 bodies 4155 fields 120 size≥0x10c width-conflicts 50 sign-mixed 51 merges {'param': 9130, 'assign': 8641, 'arg': 7071, 'ret-of': 2593} at D_800B5CB8,D_800D3888,D_80181448 ptr D_8006386C,D_80074778,D_80074780
STRUCT MAP 18526 types explain 333984/337895 deref sites (98.8 %); unassigned 3911; 3943 types span ≥2 bodies (278952 sites), 14583 single-body; types with conflicts 837, suspect 10
merges by evidence {'param': 39246, 'assign': 19444, 'ret-of': 6041, 'arg': 10531, 'return': 1535, 'assign&': 1283, 'arg&': 286, 'field': 6585, 'nested': 9}; vetoed {'arg-conduit': 144259, 'ret-of-multisource': 6714, 'assign-multisource': 33677, 'arg&-conduit': 14771, 'field-multisource': 5264, 'ret-of': 460, 'assign&-multisource': 12225, 'arg&-no-overlap': 3114, 'assign': 309, 'arg-no-overlap': 28175, 'assign&': 320, 'arg': 59, 'return': 2, 'field': 12}
Unkstruct_800D3888 sites 23205 bodies 7124 fields 216 size≥0x24c width-conflicts 50 sign-mixed 67 merges {'param': 11270, 'assign': 8307, 'arg': 7749, 'ret-of': 2006} at D_800D3888,D_800DE5A0,D_801269F0 ptr D_8006386C,D_80074778,D_80074780
Unkstruct_cb638a45 sites 6477 bodies 381 fields 6 size≥0x10 width-conflicts 0 sign-mixed 0 merges {'param': 12, 'arg': 5}
Unkstruct_80126B58 sites 5482 bodies 2947 fields 165 size≥0x24c width-conflicts 40 sign-mixed 45 merges {'param': 2120, 'arg': 1118, 'assign&': 104, 'assign': 41} at D_80126B58 ptr D_80126B58
Unkstruct_dac960ce sites 4464 bodies 124 fields 13 size≥0x24c width-conflicts 0 sign-mixed 2 merges {'param': 2}
Unkstruct_0caecd54 sites 4340 bodies 124 fields 23 size≥0xfe width-conflicts 0 sign-mixed 1 merges {'param': 2, 'assign': 1, 'return': 1}
Unkstruct_f8ed2b9f sites 4061 bodies 4061 fields 1 size≥0x217 width-conflicts 0 sign-mixed 0 merges {'param': 2}
@@ -22,6 +21,7 @@ STRUCT MAP 18617 types explain 334071/337982 deref sites (98.8 %); unassigned
Unkstruct_1fa9e810 sites 3144 bodies 131 fields 3 size≥0x49 width-conflicts 0 sign-mixed 0 merges {}
Unkstruct_30b21035 sites 3100 bodies 124 fields 13 size≥0x54 width-conflicts 0 sign-mixed 0 merges {}
Unkstruct_80126948 sites 3034 bodies 848 fields 34 size≥0xa4 width-conflicts 0 sign-mixed 10 merges {'assign': 103, 'arg': 14, 'param': 6, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
Unkstruct_a2c8734a sites 2646 bodies 126 fields 8 size≥0x34 width-conflicts 0 sign-mixed 3 merges {'param': 2}
GLOBAL BLOCKS 2124 runs of ≥4 adjacent scalar D_ symbols (14253 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED)
PARKED (P36) 24 classes / 453 bodies / 691 needed sites → .run/P37/census/parked.tsv; needs {'signature': 13, 'struct': 7, '?': 4}; 22 PARK names are minimum-lever banks
CONTROLS 4/4: player_block_widths OK (D_80078E8C:4/4 D_80078EB2:2/2 D_80078EB4:2/2 D_80078EB6:2/2 D_80078EB8:2/2 D_80078F08:4/4 D_80078F0C:4/4) · matrix_layouts OK (MATRIX=32 MATRIX_L48=48) · prim_layout_class OK (defs in 1 files, 1 spellings, 1/1 in one layout (64 B)) · tu_conflict_D_800A651C OK (s32:1202 | u8[]:9 | OtBlk[]:9 | OtBlk_80016450[]:8 | s32[]:7)
@@ -29,5 +29,5 @@ CONTROLS 4/4: player_block_widths OK (D_80078E8C:4/4 D_80078EB2:2/2 D_80078E
duplicate-layout classes (top 12): 4B×56 names (0 defs): B4_80165140, B4_8017F154, B4_8018750C, B4_8018AD9C… | 8B×46 names (0 defs): Blk8S16, Blk8_80126940, Blk8_80180A38, D_80195AF4_t… | 8B×45 names (0 defs): B8, B8_17F474, B8_80165140, B8_801851A8… | 8B×34 names (0 defs): Args_80182194, Blk8017FD54, Blk8_801A6AD0, Blk8_801AD914… | 20B×32 names (0 defs): Blk20_8017D110, Buf8017BF34_8017BF34, Buf8017BF50_8017C234, Loc_80180E10… | 16B×28 names (0 defs): Blk16X, Blk16_8017ECD4, Blk16_8018A4C4, Blk16_8018A8B8… | 6B×25 names (0 defs): D80190448_t, Pt6_8017D65C, ResMapCol, S6… | 32B×25 names (0 defs): Blk20_8016DF5C, Blk20_80180B78, Blk20_80184694, Blk32L_80133298… | 8B×22 names (22 defs): B8014, Blk8_80133CD4, Blk8_801463A0, Blk8_8017FF80… | 12B×19 names (19 defs): Blk12, Prim126, PrimC59C, PrimC974… | 8B×14 names (0 defs): CdFileLoc, Cmd_801805C8, M8_8016B6BC, Pair8_8017DDC4… | 4B×14 names (0 defs): D_801D0660_s, Ent_80186AE4, P4, Pair4_801B02DC…
VARIANT names (top 12):
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 337982 cast sites in 51053 bodies over 8 base classes (4 forms + A, coverage OK) · 229 lying declarations / 24 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4
struct_map: 18617 types over 18617 clusters explain 334071/337982 sites (98.8 %); 3911 unassigned sites; 844 types with conflicts
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 337895 cast sites in 51038 bodies over 8 base classes (4 forms + A, coverage OK) · 229 lying declarations / 24 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4
struct_map: 18526 types over 18526 clusters explain 333984/337895 sites (98.8 %); 3911 unassigned sites; 837 types with conflicts
+87 -87
View File
@@ -8539,8 +8539,8 @@ extern void func_80054514(s32 a0, s32 a1);
void func_8001C1E4(void* a0, s32 a1) {
s32 local_buf[8];
*(s32 *)(a0 + 0x78) = a1 + 0x30;
*(s32 *)(a0 + 0x30) = 0;
((Unkstruct_800B5CB8 *)a0)->unk78 = a1 + 0x30;
((Unkstruct_800B5CB8 *)a0)->unk30 = 0;
func_80054514((s32)(a0 + 0x30), (s32)local_buf);
}
@@ -8556,13 +8556,13 @@ void func_8001C214(s32 a0, s32 a1)
s32 sp10[8];
func_8001C9D0();
*(u16 *)a0 = 1;
*(u16 *)(a0 + 2) = 0;
((Unkstruct_800B5CB8 *)a0)->unk0 = 1;
((Unkstruct_800B5CB8 *)a0)->unk2 = 0;
func_80052D90(0, (void *)(a0 + 0x30));
func_80054514(a0 + 0x30, (s32)&sp10[0]);
*(s32 *)(a0 + 0x24) = a1;
CAST_WIDTH(s32, a0, 0x24) = a1;
if (a1 != 0) {
*(s32 *)(a0 + 0x20) = (s32)D_80063548;
((Unkstruct_800B5CB8 *)a0)->unk20 = (s32)D_80063548;
if (*(s32 *)a1 != 0) {
do {
GsMapModelingData((u32 *)((*(s32 *)a1 & 0x80FFFFFF) + 4));
@@ -8585,13 +8585,13 @@ void func_8001C2C4(s32 a0) {
s1 = (s32 *)(a0 + 0x30);
*(s16 *)(a0 + 0x0) = 1;
*(s16 *)(a0 + 0x2) = 0;
((Unkstruct_800B5CB8 *)a0)->unk0 = 1;
((Unkstruct_800B5CB8 *)a0)->unk2 = 0;
func_80052D90(0, s1);
func_80054514((s32)s1, (s32)stack_buf);
*(s32 *)(a0 + 0x24) = 0;
CAST_WIDTH(s32, a0, 0x24) = 0;
}
void func_8001C320(s32 a0, s32 a1)
@@ -8831,14 +8831,14 @@ void func_8001C810(s32 a0, s32 *a1) {
func_8001C9D0();
base = a0 + 0x30;
*(s16 *)(a0 + 0) = 1;
*(s16 *)(a0 + 2) = 5;
((Unkstruct_800B5CB8 *)a0)->unk0 = 1;
((Unkstruct_800B5CB8 *)a0)->unk2 = 5;
func_80052D90(0, (void *)base);
func_80054514(base, (s32)local_buf);
*(s32 *)(a0 + 0x24) = (s32)a1;
CAST_WIDTH(s32, a0, 0x24) = (s32)a1;
if (a1 != 0) {
*(s32 *)(a0 + 0x20) = (s32)&D_80063548;
((Unkstruct_800B5CB8 *)a0)->unk20 = (s32)&D_80063548;
if (*a1 != 0) {
do {
GsMapModelingData((unsigned long *)((*a1 & 0x80FFFFFF) + 4));
@@ -8985,24 +8985,24 @@ extern void func_8001CF48(s32 a0);
void func_8001CB00(s32 a0, void *a1, s32 a2, s32 a3) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 1;
*(s16 *)(a0 + 0x28) = (s16)a2;
*(s16 *)(a0 + 0x2A) = (s16)a3;
*(s32 *)(a0 + 0x20) = (s32)a1;
*(s32 *)(a0 + 0x4) = 0x8000000;
*(s16 *)(a0 + 0x2C) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2 = 1;
((Unkstruct_800B5CB8 *)a0)->unk28 = (s16)a2;
((Unkstruct_800B5CB8 *)a0)->unk2A = (s16)a3;
((Unkstruct_800B5CB8 *)a0)->unk20 = (s32)a1;
CAST_WIDTH(s32, a0, 0x4) = 0x8000000;
((Unkstruct_800B5CB8 *)a0)->unk2C = 0;
}
extern void func_8001CF48(s32 a0);
void func_8001CB6C(u8 *a0, s32 a1, s32 a2, s32 a3) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 2;
*(s16 *)(a0 + 0x28) = (s16)a2;
*(s16 *)(a0 + 0x2A) = (s16)a3;
*(s32 *)(a0 + 0x20) = (s32)a1;
*(s32 *)(a0 + 0x4) = 0xC000040;
*(s16 *)(a0 + 0x2C) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2 = 2;
((Unkstruct_800B5CB8 *)a0)->unk28 = (s16)a2;
((Unkstruct_800B5CB8 *)a0)->unk2A = (s16)a3;
((Unkstruct_800B5CB8 *)a0)->unk20 = (s32)a1;
CAST_WIDTH(s32, a0, 0x4) = 0xC000040;
((Unkstruct_800B5CB8 *)a0)->unk2C = 0;
}
@@ -9010,11 +9010,11 @@ extern void func_8001CF48(s32 a0);
void func_8001CBDC(s32 a0, void *a1, s32 a2, s32 a3) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 0;
*(s16 *)(a0 + 0x28) = (s16)a2;
*(s16 *)(a0 + 0x2A) = (s16)a3;
*(s32 *)(a0 + 0x20) = (s32)a1;
*(s16 *)(a0 + 0x2C) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2 = 0;
((Unkstruct_800B5CB8 *)a0)->unk28 = (s16)a2;
((Unkstruct_800B5CB8 *)a0)->unk2A = (s16)a3;
((Unkstruct_800B5CB8 *)a0)->unk20 = (s32)a1;
((Unkstruct_800B5CB8 *)a0)->unk2C = 0;
}
@@ -9022,11 +9022,11 @@ extern void func_8001CF48(s32 a0);
void func_8001CC3C(s32 a0, void *a1, s32 a2, s32 a3) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 3;
*(s16 *)(a0 + 0x28) = (s16)a2;
*(s16 *)(a0 + 0x2A) = (s16)a3;
*(s32 *)(a0 + 0x20) = (s32)a1;
*(s16 *)(a0 + 0x2C) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2 = 3;
((Unkstruct_800B5CB8 *)a0)->unk28 = (s16)a2;
((Unkstruct_800B5CB8 *)a0)->unk2A = (s16)a3;
((Unkstruct_800B5CB8 *)a0)->unk20 = (s32)a1;
((Unkstruct_800B5CB8 *)a0)->unk2C = 0;
}
@@ -9034,11 +9034,11 @@ extern void func_8001CF48(s32 a0);
void func_8001CCA0(s32 a0, s32 a1, s32 a2, s32 a3) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 0x9;
*(s16 *)(a0 + 0x28) = (s16)a2;
*(s16 *)(a0 + 0x2A) = (s16)a3;
*(s32 *)(a0 + 0x20) = a1;
*(s16 *)(a0 + 0x2C) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2 = 0x9;
((Unkstruct_800B5CB8 *)a0)->unk28 = (s16)a2;
((Unkstruct_800B5CB8 *)a0)->unk2A = (s16)a3;
((Unkstruct_800B5CB8 *)a0)->unk20 = a1;
((Unkstruct_800B5CB8 *)a0)->unk2C = 0;
}
@@ -9047,11 +9047,11 @@ extern void func_8001CF48(s32);
void func_8001CD04(s32 a0, s32 a1)
{
func_8001CF48(a0);
*(s16*)(a0 + 0x2) = 4;
*(s32*)(a0 + 0x20) = a1;
*(s16*)(a0 + 0xE) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2 = 4;
((Unkstruct_800B5CB8 *)a0)->unk20 = a1;
((Unkstruct_800B5CB8 *)a0)->unkE = 0;
*(s16*)(a0 + 0x1E) = 0;
*(s16*)(a0 + 0x2C) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2C = 0;
}
@@ -9073,11 +9073,11 @@ extern void func_8001CF48(s32 a0);
void func_8001CD9C(s32 a0, s32 a1) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 6;
*(s32 *)(a0 + 0x20) = a1;
*(s16 *)(a0 + 0xE) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2 = 6;
((Unkstruct_800B5CB8 *)a0)->unk20 = a1;
((Unkstruct_800B5CB8 *)a0)->unkE = 0;
*(s16 *)(a0 + 0x1E) = 0;
*(s16 *)(a0 + 0x2C) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2C = 0;
}
@@ -9085,8 +9085,8 @@ extern void func_8001CF48(s32 a0);
void func_8001CDE8(s32 a0, s32 a1) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 0x7;
*(s32 *)(a0 + 0x20) = a1;
((Unkstruct_800B5CB8 *)a0)->unk2 = 0x7;
((Unkstruct_800B5CB8 *)a0)->unk20 = a1;
}
@@ -9094,8 +9094,8 @@ extern void func_8001CF48(s32 a0);
void func_8001CE28(s32 a0, s32 a1) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 0x8;
*(s32 *)(a0 + 0x20) = a1;
((Unkstruct_800B5CB8 *)a0)->unk2 = 0x8;
((Unkstruct_800B5CB8 *)a0)->unk20 = a1;
}
@@ -9103,10 +9103,10 @@ extern void func_8001CF48(s32 a0);
void func_8001CE68(s32 a0, s32 a1) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 0x8;
*(u8 *)(a0 + 0x27) = 0xBA;
*(s32 *)(a0 + 0x4) |= 0x400000;
*(s32 *)(a0 + 0x20) = a1;
((Unkstruct_800B5CB8 *)a0)->unk2 = 0x8;
((Unkstruct_800B5CB8 *)a0)->unk27 = 0xBA;
CAST_WIDTH(s32, a0, 0x4) |= 0x400000;
((Unkstruct_800B5CB8 *)a0)->unk20 = a1;
}
@@ -9114,8 +9114,8 @@ extern void func_8001CF48(s32 a0);
void func_8001CEC0(s32 a0, s32 a1) {
func_8001CF48(a0);
*(s16 *)(a0 + 0x2) = 0xA;
*(s32 *)(a0 + 0x20) = a1;
((Unkstruct_800B5CB8 *)a0)->unk2 = 0xA;
((Unkstruct_800B5CB8 *)a0)->unk20 = a1;
}
@@ -9124,7 +9124,7 @@ extern void func_8001CF48(s32 a0);
void func_8001CF00(s32 a0) {
s32 s0 = a0;
func_8001CF48(a0);
*(s16 *)(s0 + 0x2) = 0xB;
((Unkstruct_800B5CB8 *)s0)->unk2 = 0xB;
}
void func_8001CF30(s32 *a0) {
@@ -9132,30 +9132,30 @@ void func_8001CF30(s32 *a0) {
}
void func_8001CF48(s32 a0) {
*(s16 *)a0 = 2;
*(s16 *)(a0 + 0x1C) = 0x1000;
*(s16 *)(a0 + 0x1A) = 0x1000;
*(s16 *)(a0 + 0x18) = 0x1000;
((Unkstruct_800B5CB8 *)a0)->unk0 = 2;
CAST_WIDTH(s16, a0, 0x1C) = 0x1000;
((Unkstruct_800B5CB8 *)a0)->unk1A = 0x1000;
((Unkstruct_800B5CB8 *)a0)->unk18 = 0x1000;
*(s16 *)(a0 + 0x32) = 0;
*(s16 *)(a0 + 0x30) = 0;
*(s16 *)(a0 + 0x2E) = 0;
*(s16 *)(a0 + 0x2C) = 0;
*(u8 *)(a0 + 0x27) = 0;
CAST_WIDTH(s16, a0, 0x30) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2E = 0;
((Unkstruct_800B5CB8 *)a0)->unk2C = 0;
((Unkstruct_800B5CB8 *)a0)->unk27 = 0;
*(s16 *)(a0 + 0x1E) = 0;
*(s16 *)(a0 + 0x14) = 0;
*(s16 *)(a0 + 0x12) = 0;
*(s16 *)(a0 + 0x10) = 0;
*(s16 *)(a0 + 0x0E) = 0;
*(s16 *)(a0 + 0x0C) = 0;
*(s16 *)(a0 + 0x0A) = 0;
*(s16 *)(a0 + 0x08) = 0;
*(s32 *)(a0 + 0x04) = 0;
*(s32 *)(a0 + 0x20) = 0;
*(u8 *)(a0 + 0x26) = 0x80;
*(u8 *)(a0 + 0x25) = 0x80;
*(u8 *)(a0 + 0x24) = 0x80;
*(s32 *)(a0 + 0x34) = 0;
*(s16 *)(a0 + 0x2C) = 0;
CAST_WIDTH(s16, a0, 0x14) = 0;
((Unkstruct_800B5CB8 *)a0)->unk12 = 0;
((Unkstruct_800B5CB8 *)a0)->unk10 = 0;
((Unkstruct_800B5CB8 *)a0)->unkE = 0;
((Unkstruct_800B5CB8 *)a0)->unkC = 0;
((Unkstruct_800B5CB8 *)a0)->unkA = 0;
((Unkstruct_800B5CB8 *)a0)->unk8 = 0;
CAST_WIDTH(s32, a0, 0x04) = 0;
((Unkstruct_800B5CB8 *)a0)->unk20 = 0;
((Unkstruct_800B5CB8 *)a0)->unk26 = 0x80;
((Unkstruct_800B5CB8 *)a0)->unk25 = 0x80;
((Unkstruct_800B5CB8 *)a0)->unk24 = 0x80;
CAST_WIDTH(s32, a0, 0x34) = 0;
((Unkstruct_800B5CB8 *)a0)->unk2C = 0;
}
extern void func_8001CFDC(s32 a0, s32 a1);
@@ -9232,8 +9232,8 @@ ret0:
}
void func_8001D0E8(s32 arg0, s32 arg1, s32 arg2) {
*(s16 *)(arg0 + 0x28) = arg1;
*(s16 *)(arg0 + 0x2A) = arg2;
((Unkstruct_800B5CB8 *)arg0)->unk28 = arg1;
((Unkstruct_800B5CB8 *)arg0)->unk2A = arg2;
}
void func_8001D0F4(s32 *a0)
@@ -14433,10 +14433,10 @@ void func_800242D0(s32 arg0, u16* arg1, s32 arg2) {
if (((a3 << 16) >> 16) != 0) {
v1 = divisor;
__asm__ __volatile__("" : "=r"(v1) : "0"(v1)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
*(u16*)arg1 = *(u16*)((((a3 << 16) >> 16) << 1) + (s32)t2);
((Unkstruct_800B5CB8 *)arg1)->unk0 = *(u16*)((((a3 << 16) >> 16) << 1) + (s32)t2);
t1 -= a3 * v1;
} else {
*(u16*)arg1 = *(u16*)t2;
((Unkstruct_800B5CB8 *)arg1)->unk0 = *(u16*)t2;
}
arg1 += 1;
if (arg2 != 0) {
@@ -18517,7 +18517,7 @@ s32 func_80029FE4(void) {
extern s32 func_8002A088(s32);
s32 func_8002A04C(s32 a0) {
s32 v0 = *(s32 *)(a0 + 0x78);
s32 v0 = ((Unkstruct_800B5CB8 *)a0)->unk78;
if (v0) {
return func_8002A088(*(s16 *)(v0 + 0x2E));
@@ -18782,7 +18782,7 @@ s32 func_8002A4FC(s32 a0) {
extern s32 func_8002A544(s32);
void func_8002A520(s32 arg0) {
func_8002A544(*(u8 *) (arg0 + 200));
func_8002A544(((Unkstruct_800B5CB8 *)arg0)->unkC8);
}
extern s32 func_8002A5C4(s32 a0);