17 lines
1.7 KiB
Python
17 lines
1.7 KiB
Python
import sys
|
|
sys.path.insert(0, r'C:\git\bt411\scratchpad\night7')
|
|
import gitea
|
|
|
|
gitea.comment(60, """**THE GAP CENSUS IS DONE** (e69c0d7): `reference/decomp/GAP_CENSUS.md` + `gap_census.tsv`, regenerated any time by `tools/gapcensus.py`.
|
|
|
|
Headline: .text is 892 KB; the index covers 87.3%; **428 dark regions = 90 KB of real code Ghidra never made into functions**. Indexed-but-unexported = 0, so this issue's original finding generalizes: the whole gap class is "missing from the index," exactly like VehicleDead was. Game-side (bt/ + bt_l4/) dark is ~54 KB — 66 regions already visited by past raw-disasm digs, **159 never touched by anything**.
|
|
|
|
Validation: all six addresses that historically burned us (VehicleDead @4c05c4, Searchlight ToggleLamp @4b838c, the TakeDamage death tail, the master-perf region, the myomer integrator, the duck consumer) land inside census regions, and the two most-cited regions are the two that produced the most reconstructions.
|
|
|
|
Top uncharted leads (spot-checked as real code): the ~9 KB l4splr|btmssn cluster (a dispatch-table state machine — likely BTMission's unexported heart), and a 613-byte btplayer hole right before the ctor (prime suspect for the deferred mission-review id-0x18 sender). Full lead list: `phases/phase-04-gap-census.md`.
|
|
|
|
Process change (reconstruction-gotchas #20): the census is now the FIRST stop before any "absent from the export" claim — export silence over a dark region proves nothing without a byte-scan.
|
|
|
|
Remaining half of this issue: a Ghidra re-export forcing disassembly at the 332 discovered function starts (scripts ready in `reference/ghidra_scripts/`; no Ghidra install on this box — candidate for Nick's machine). Leaving open for that half.""")
|
|
print('posted')
|