mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
ceae8bb4cd
- The last big NAMED blocker, costed across four checkpoints as §112 header + §20 call-site cast + a scripted §99 pass over 2,022 overlay-local decls. Probing first showed two of the three were unnecessary: the conflict is entirely between DEFINE_func_80151924()'s own forward-decl (extern s32 func_80151944(void)) and the byte-true definition (void f(void *a0)), four lines apart in the assembled TU. The 2,022 decls live in OTHER TUs and never entered it. - ONE 4-line edit in engine_core.h: decl -> byte-true, call site -> ((s32 (*)(void))f)() so the caller's codegen is unchanged. rtu_match: conflicting types -> MATCH (15 ins). Sweep 138/138. - Family 0x80131eec fully closed: 149 (T87) + 138 (T97) + 1 immediate-refusal = all 288 members. - SHARED-HEADER RISK VERIFIED, NOT ARGUED: engine_core.h is included by all 138 overlays, so §20 cast-folding is a hypothesis. Per-binary gates 138/138 are necessary but not sufficient; the fleet check is the one that counts. R22 clean-fleet 140/140 + tools-health RC=0 (corpus 0 PHANTOM/0 TRUNCATED, cdecl, audit-binaries, dedup 1886/0, C1 239604/239604). - METRICS: fn-count 91.96 -> 92.00% (+138, exact) · instr 87.4 -> 87.5% (+2,070) · distinct +72. - COSTING LESSON: the estimate came from reading the symptom (2,022 decls of this name exist) instead of probing the failure (which decl actually conflicts). Probe before COSTING, not just before scaling.