Files
BT411/reference/decomp/gapfill_report.tsv
T
Joe DiPrimaandClaude Fable 5 f44be87ab2 #60 PART 2: the RE-EXPORT -- dark code 90KB -> 41KB, coverage 87.3% -> 93.5%
Installed JDK 21 + Ghidra 12.1.2 (no admin, %LOCALAPPDATA%\bt411-tools beside
DXSDK/cmake; runner uses 8.3 SHORT paths because Ghidra's .bat expands
%JAVA_HOME% unquoted and the profile has a space).

New tooling: reference/ghidra_scripts/ExportGaps.java -- ExportAll's exact
output contract PLUS a gap-fill pass (force disassembly + createFunction at
E8 call targets outside functions, data->code pointers at a plausible
prologue, and the census's discovered starts; iterated to a fixpoint,
logged to gapfill_report.tsv).  tools/ghidra_reexport.sh (headless runner,
'reprocess' mode) and tools/gapdiff.py (score two censused exports);
gapcensus.py now censuses any export dir.

Results: 6267 -> 6472 functions (+205 created in 2 rounds: 195 census
starts, 6 call targets, 4 data pointers; 56.1KB newly covered), ZERO
decompile failures.  Dark real code 90.4 -> 40.8 KB (54.8% recovered);
game-side dark 53.1 -> 21.1 KB; regions 428 -> 321.  EVERY historically
dark function now has pseudocode -- including @0x4c05c4 VehicleDead, the
absence that opened this issue.

VALIDATION: the new pseudocode confirms this week's hand reconstruction of
the crouch field-for-field (mapPosture/duckState/squatCapable/myomerEff/
novice gate/SetLegAnimation/ForceUpdate/stability alarm) -- and exposed one
branch the raw pass missed: AIRBORNE AUTO-RISE (mode 3|4 && legState 1 ->
forced squ), now implemented in mech4.cpp and re-benched un-regressed.

PROMOTION: the re-export is canonical reference/decomp/; the previous export
is preserved at reference/decomp/archive_2025export/ so old
`part_0NN.c:LINE` citations still resolve (addresses are stable across both;
line/shard membership is NOT -- cite @ADDR).

New lead recorded: @0x4c0904 is the MASTER BTPlayer Performance (team
resolution, EndMission console post, score heartbeat) -- our @0x4c083c
PlayerSimulation attribution needs a re-check.  KB: source-completeness,
gotcha #20 (the rule is cheap now -- look it up), CLAUDE.md router/layout.
Log: phases/phase-04-gap-census.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 11:11:26 -05:00

207 lines
3.6 KiB
Plaintext

addr evidence round
00412e6c census 1
004142e8 census 1
004143ac census 1
00414418 census 1
004144b0 census 1
004146c4 census 1
004a9b5c census 1
0049ffcc census 1
004a0164 census 1
004a0230 census 1
004a0c2c census 1
004a122c census 1
004cdcf0 census 1
004a6928 census 1
004a6d8c census 1
0042f404 census 1
00464bfc census 1
00465140 census 1
004cbaf0 census 1
004be474 census 1
004b2980 census 1
004da090 census 1
004da108 census 1
004da208 census 1
004da300 census 1
00414800 census 1
0041486c census 1
00414904 census 1
00414b18 census 1
00412944 census 1
004129b0 census 1
00412a48 census 1
00412c60 census 1
004bc104 census 1
004bddec census 1
004be058 census 1
00410604 census 1
00410688 census 1
00410754 census 1
004108a0 census 1
004221c0 census 1
00422360 census 1
004c0904 census 1
004bbd04 census 1
004bbf88 census 1
004c05c4 census 1
004bfcac census 1
004b8a48 census 1
004c1230 census 1
004c13d4 census 1
0047b8ec census 1
004dc098 census 1
004dc0b8 census 1
004dc1d8 census 1
004dc1e0 census 1
004c6488 census 1
004be9a0 census 1
0045fa08 census 1
0042ddcc census 1
004551c0 census 1
0049f854 census 1
004df97c census 1
004c1011 census 1
004c1044 census 1
004109e8 census 1
00410a94 census 1
004bb9b8 census 1
004ab9d8 census 1
004c8df4 census 1
004b1a40 census 1
004b8b9c census 1
0047bc14 census 1
0041007c census 1
004311dc census 1
004b1ed0 census 1
0044e5a8 census 1
004cd804 census 1
004b7780 census 1
004c4534 census 1
004bac0c census 1
0042c93c census 1
0040a67c census 1
004424ef census 1
0046847c census 1
00470c1c census 1
004bfbe8 census 1
00432974 census 1
004b5be0 census 1
004d87d4 census 1
004c60f4 census 1
004c1b4c census 1
00444764 census 1
004bd26c census 1
004bef28 census 1
0043d730 census 1
00422f44 census 1
004bdca4 census 1
004c5ad4 census 1
0042c58c census 1
0047a9bc census 1
00411958 census 1
00411b5c census 1
00412164 census 1
00412370 census 1
00412578 census 1
0041117c census 1
00411370 census 1
00411d58 census 1
00411f5c census 1
00412784 census 1
00411564 census 1
00411754 census 1
004dc3a8 census 1
00463b60 census 1
00474550 census 1
004b215c census 1
004d9db0 census 1
0049e814 census 1
0049f36d census 1
00464178 census 1
004c4b08 census 1
004ae464 census 1
00464824 census 1
004ca1a0 census 1
004dc628 census 1
004dc660 census 1
004b6a1c census 1
004dc77c census 1
004bafc8 census 1
004dbdfc census 1
004bcbfc census 1
004bcc3c census 1
004bbc20 census 1
004bb42c census 1
004dc838 census 1
004dc880 census 1
004c19b0 census 1
004ad6f8 census 1
004d7070 census 1
004af524 census 1
004ae980 census 1
004aee2c census 1
0043dfcc census 1
0043e2ac census 1
004d5603 census 1
004b0280 census 1
004add00 census 1
004b6fc0 census 1
00458690 census 1
004be8bc census 1
0042eb08 census 1
0045652c census 1
004dcdbc census 1
0045710c census 1
00457744 census 1
004ae534 census 1
004b9114 census 1
004bee44 census 1
0040ddf8 census 1
0040de28 census 1
004563d0 census 1
004dc324 census 1
0041f570 census 1
00465cdc census 1
0049f700 census 1
004dd098 census 1
00460564 census 1
004b838c census 1
004dd464 census 1
0047c358 census 1
004d3e78 census 1
004360e4 census 1
004ae8b0 census 1
0049ed0c census 1
00460820 census 1
004c18cc census 1
00401074 census 1
0043f883 census 1
0043fda2 census 1
00410eb0 census 1
0042e0e0 census 1
00440fb3 census 1
00472aa8 census 1
00475a38 census 1
004d1acc census 1
004b9c9c census 1
004c62d8 census 1
0049f604 census 1
004b1780 census 1
004ae70c census 1
004afbc4 census 1
004aeee0 census 1
004dd174 census 1
0040ddac census 1
00448538 census 1
00419bb4 dataptr 1
0042ec34 dataptr 1
004dc4c8 dataptr 1
004dc5c0 dataptr 1
004825f5 call 1
00486a0e call 1
00492c0a call 1
004d6a60 call 1
004dd861 call 1
004dfe77 call 1