mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 05:56:00 -04:00
b8dbf6f6a7
- first full wave against the main EXE: 40 atlas mass cards -> 39/40 standalone (98%), ALL haiku. main drafts exactly like an overlay; the only special handling is the gate path. - gated via the clean-rebuild batch path: substitute -> make extract BINARY=main -> make build BINARY=main -> 143dbb89 BYTE-IDENTICAL; then full-fleet R22 213/213. main stubs 1030 -> 996. - NEW CLASS: in-TU cross-draft declaration conflicts. Batching N drafts into ONE .c means their externs must agree with EACH OTHER (D_800A4ED4 s16-vs-u16; func_8001C9D0 void/void*/s32). Resolved greedily (keep-in-order, drop incompatible) at a cost of 5 recoverable drafts. - the recovery lever, proven on func_80037368: adopt the shared header's decl VERBATIM (extern u8 D_80076251;) and adapt at the USE site ((&D_80076251)[i]) instead of redeclaring. - NOTE on my own tooling: my first conflict detector compared parameter NAMES and wrongly dropped 2 good drafts ((s32 *_) vs (s32 *)); comparing type signatures only recovered them. Second time tonight a refusal check of mine discarded good work (R39).