mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
c5e8af5cfb
Task-4: the non-jtbl giant func_8013FAF8 (312 ins) is now DONE fleet-wide. It is an h_seq family (masked-identical body, per-overlay symbols/relocs) so dedup_propagate refused it (reach<2); the path is family_sweep --hseq --only 0x8013FAF8 --allow-pins (per-overlay symbol remap). First sweep banked 0/137: family_sweep copies the exemplar's extern block VERBATIM, and the hand-crafted exemplar had 4 callee externs diverging from the fleet-canonical (func_8005A600 void->s32, func_80024054 s32->void*, func_80137D08 s32*->int, func_8013AB54 s32*->s32) -> every member threw `conflicting types`. Aligning those 4 in the COMMITTED exemplar .c to the member-consensus form (byte-neutral; ov_SC01_077 stays byte-identical) -> re-sweep 137/137 banked, 0 failed. +312 ins x137 ~= +42.7k ins. R22 clean-fleet 140/140 byte-identical; tools-health OK. Cookbook §56b (exemplar externs must be fleet-canonical for an h_seq sweep; contrast dedup_propagate --recover which auto-reconciles CALLER externs -- family_sweep does not, so pre-align the CALLEE externs by hand). Both non-jtbl giants now fully banked+propagated (func_8013FAF8 x137, func_8014F4C0 x134); the 4 jtbl giants remain deferred on the byte-proven 8-align jtbl-carve gap.