mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-29 07:10:32 -04:00
fix(config): RESTORE config/overlays.mk — the entire 5,077-line overlay registry was empty
commit:2863 ("ox wave dk overlays — 2 banked") committed config/overlays.mk as a ZERO-LINE
file, deleting the registry that defines all 141 overlay binaries: EXE paths, VRAM bases,
ASM_DIR/SRC_DIR roots, symbol files, and every JTBL_PADS spec.
BLAST RADIUS while it was empty:
* main could not build AT ALL. Its object glob prunes sibling binaries via
$($(b)_ASM_DIR); with no binaries registered, every overlay's asm/<ov>/nonmatchings/*.s
fell into MAIN's OBJS and was assembled standalone, where glabel/endlabel/nonmatching
are undefined ("unrecognized opcode `glabel func_801831C8'").
* the main lane found its committed baseline RED and REFUSED to draft or gate (correctly,
R43) — 1,288 open main stubs idle behind it.
* overlay gates collapsed: GATE do banked 0 of 236 gated, GATE dk 2 of 445 drafts.
* every overlay left BINARIES, so check-all's fleet scope collapsed with it.
HOW IT HAPPENED — two failures, neither sufficient alone:
1. A NON-ATOMIC WRITE. The version at commit:2863^ was ALREADY damaged: it ends with a stray
partial line ("uto.txt") after the proper final line — one writer's tail landing after
another's. This file is rewritten in place with no tmp+rename while lanes edit it
concurrently (jtbl carves, o0 subsplits, pad specs).
2. A BLANKET COMMITTER. "tree dirty at gate entry — committing it rather than reverting"
swept the truncated file into a commit. R42 says commit rather than revert and that
stands for src/ — but a tool cannot tell a truncated config from an intended one, and
this is the second time that reasoning has destroyed a registry (P28's yaml.safe_dump,
H5: never silently drop content on a rewrite).
Restored from commit:2863^ with the stray fragment removed; make parses it again. Atomic
writes and a sanity guard on the committer come next.
This commit is contained in: