mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
19f005ea11
Pivot from the failed brute-force to the Ghidra-driven hand-match loop (Drew's steer). DEMO sampled 5 residuals; 4 reached full whole-binary byte-matches: - func_8012D3B4 (PERMUTER_CLASS) — closed + propagated x134 (DEFINE_func_8012D3B4) - func_8012832C (STRUCTURAL_MISS switch) — closed - func_8015F89C (fnptr-call, §15-S2) — closed - func_80147B5C (pure struct) — closed (first try) - func_8012A328 (STRUCTURAL_MISS) — 60/60 structure + correct regs, 1-instr gcc placement quirk (the §10 hard-tail minority; permuter floor-polluted) KEY FINDING: the Phase-16 "loose-typing wall" is a signature-CONSISTENCY problem, not fundamental — resolved by a 5-move playbook (return-widening void->s32; sign cast (u16); arity cast — refines the §14e arity dead-end; param-canonical-matching; fn-ptr-table typing), all byte-neutral. - canonical-widenings (byte-neutral, fleet re-verified): engine_core.h RotTransPers + func_80029504 -> s32; ov_SC01_077.c func_801288B0/801289F0 -> s32 - docs/hand-matching-process.md (NEW): full replicable process + idioms + the §3a playbook + current banked state + automation roadmap (fresh-session-safe) - fleet: make check-all 136/136 byte-identical (R22); 55.00% -> 55.04%; dedup-check 1409/0 - config/dedup.us.yaml: +1 group (func_8012D3B4, 134 members) - CURRENT_PHASE.md progress log updated