This website requires JavaScript.
Explore
Help
Register
Sign In
vwemirror
/
BT411
Watch
1
Star
0
Fork
0
Code
Issues
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
ca988db9ed70d1003bb46e4bd27d13f3071e480d
BT411
/
context
T
History
Joe DiPrima
5cde991f56
#174
root-caused + fixed with a negative control: the binary's ONLY re-descend protection is the burst loop's zone-state guard wrapping the WHOLE per-burst application (@0x4a0446, part_012.c:14661 -- crit roll, TakeDamage, score tally, destroyed-flag; RecurseSegmentTable/SendSubsystemDamage have NO internal re-entry protection: no used-marking, no top gate). The port had narrowed the guard to the crit roll -- continued fire re-saturated dead zones (cascade re-fired: night-16 zone 18 x7, each pass re-pushing crit allotment = the ram 'crits worsened with each collision'), and hits on wreckage kept SCORING (binary awards zero -- a quiet farm-the-wreck exploit). Fix: guard restored to binary scope. Bench: BT_ZONE_HAMMER hook (4Hz explicit-zone self-damage) -- fixed build 1 cascade/10 hits/0 post-saturation applications; NEGATIVE CONTROL (fix stashed): 147 cascades. 147 -> 1. Gotcha 31: guard-scope narrowing -- diff the BRACE SCOPE when transcribing decomp ifs; and prove a bench detects the bug before trusting its pass
2026-08-13 02:42:07 -05:00
..
asset-formats.md
#87
: mech armour PANELS now darken with damage -- the .DZM material system was loaded and unused
2026-07-31 19:52:55 -05:00
bgf-format.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
build-and-run.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
cockpit-view.md
KB:
#91
inside-view roster claim upgraded to T1 (FUN_004cef28 decomp anchor)
2026-08-04 14:17:21 -05:00
combat-damage.md
#165
ROOT-CAUSED after three failed fixes -- the binary keeps ONE destroyed cell per subsystem (+0x40: fire gate, dial X, wire header, every writer) and the port split it into FOUR stores; the everyday CRIT-LOTTERY kill (MechWeapon::TakeDamage) bypassed the reconstructed base and wrote only the X store, so X'd weapons kept firing while every prior fix aimed at a gate that was never broken (the 4,213-refusal bench drove BT_KILL_SUBSYS, which writes all cells -- it validated readers, not writers). FIX: MechWeapon::TakeDamage chains to MechSubsystem::TakeDamage (@0x4ac0bc semantics); the port-authored FSM-from-damage tail is DELETED (it parked partial-crit weapons at level 1 -- no FSM case, the silent freeze, and with beamFlag armed the 883 hanging beam:
#164
's upstream writer, caught red-handed by berserker's 20x STUCK-ON receipts); the phantom uninitialized simulationState int is ctor-initialized and kept in lockstep at every destroyed write; always-on [crit] DESTROYED receipt makes crit kills field-visible. BT_CRIT_SUBSYS bench hook drives the REAL writer path; weaponx_bench PASS: kill phase 0 FIRED post / 5,664 refusals / X+gate agree, partial phase keeps firing. Gotcha 30;
#174
filed (cascade re-descend)
2026-08-13 00:35:33 -05:00
content-archives.md
KB: full staleness audit + sweep -- 35 verified corrections across 16 topics, 15 new glossary terms
2026-07-11 10:56:51 -05:00
decomp-reference.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
experience-levels.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
gauges-hud.md
commit-hygiene sweep: (1) the
#170
L4STEAMNET.h contract comment never landed in
2fe58b8
-- the git add used the lowercase filename and the case-mismatch left the tracked (uppercase) path unstaged, silently; (2) the gauges-hud
#172
correction was a silent no-op -- a python str.replace whose multi-line needle didn't match printed 'corrected' anyway. Both applied for real now (verified by grep, not by exit code). Note the pattern: two silent tool no-ops in one evening -- verify edits by READING the result, not by the tool's success message
2026-08-13 02:15:45 -05:00
glass-cockpit.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
locomotion.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
multiplayer.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
open-questions.md
#172
root-caused: the leak-lamp chain was NEVER broken -- all 35 night-16 leak events flashed same-frame (Elengil's 'fatal no-flash' lamp flashed 28.4s in the ~6px glass radar-rail strip; the 'delayed' weapon-leak flashes are the AUTHENTIC page gate delivering at eng-page entry; the leak voice is a LOOPING sequence so 5-6 repetitions carried zero edge information -- the testers' clock was the bug's best disguise). Ships: the ALERT BLOOM (glass-only #154-class deviation -- an alternating surround lamp paints a +8px halo UNDER the surfaces, so only the outward bloom shows, respecting the twice-field-broken no-overlay rule) + two always-on receipts closing the observability holes this hunt fell into: [seqloop] START/STOP (looped alarm sequences -- voice-vs-lamp timing now log-readable) and [lamppx] alert ON/OFF (lamp state -> PIXELS, with cell size). Verified live: GeneratorB=0.6 leak -> seqloop START + lamp 0x1b FLASHING + lamppx bloom8 same cluster.
#136
refined: edge-started, level-LOOPED, edge-stopped. KB: gauges-hud leak-lamp routing map (generator=rail-only authentic, condenser 0x2c gap authentic, weapon page-gating authentic, cond 1/3 have NO authored lamps)
2026-08-13 01:56:36 -05:00
operator-console.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
pod-hardware.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
project-overview.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
reconstruction-gotchas.md
#174
root-caused + fixed with a negative control: the binary's ONLY re-descend protection is the burst loop's zone-state guard wrapping the WHOLE per-burst application (@0x4a0446, part_012.c:14661 -- crit roll, TakeDamage, score tally, destroyed-flag; RecurseSegmentTable/SendSubsystemDamage have NO internal re-entry protection: no used-marking, no top gate). The port had narrowed the guard to the crit roll -- continued fire re-saturated dead zones (cascade re-fired: night-16 zone 18 x7, each pass re-pushing crit allotment = the ram 'crits worsened with each collision'), and hits on wreckage kept SCORING (binary awards zero -- a quiet farm-the-wreck exploit). Fix: guard restored to binary scope. Bench: BT_ZONE_HAMMER hook (4Hz explicit-zone self-damage) -- fixed build 1 cascade/10 hits/0 post-saturation applications; NEGATIVE CONTROL (fix stashed): 147 cascades. 147 -> 1. Gotcha 31: guard-scope narrowing -- diff the BRACE SCOPE when transcribing decomp ifs; and prove a bench detects the bug before trusting its pass
2026-08-13 02:42:07 -05:00
reconstruction-method.md
KB: new topic test-harness.md -- the bench machinery + the verification doctrine
2026-08-02 09:17:01 -05:00
rendering.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
source-completeness.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
steam-networking.md
#170
root-caused + fixed: the
#163
SteamAPI_Shutdown was the crash -- at round end every peer's close events are ALWAYS in flight, and Shutdown tears client state down while steamclient's own service thread dispatches them (the field stack: a steamclient worker calling literal NULL, zero btl4 frames, 7 hits / 3 machines / one module-relative stack). BTSteamNet_ShutdownAll is now a QUIESCE: steamActive gated FIRST, linger closes ('round over' not timeouts), one SNS drain, 60ms grace, NO SteamAPI_Shutdown -- and every exit path dies via TerminateProcess (menu-quit no longer returns through the CRT; it uses BTOrderlyDie like everything else, so the 883 detach deadlock stays dead too). Status callback guarded for the dying window. Crash filter now names foreign DLL frames (module+offset via VirtualQuery/GetModuleFileName) so the next foreign-thread crash arrives pre-symbolized. Exit contract: steam-networking.md
2026-08-12 23:23:23 -05:00
subsystems.md
night-16 field intelligence (build 913, 20260812): tracker housekept -- 6 field-verified closes (#162/#156/#154/#135/#169/#128),
#165
FAIL detail +
#76
Nanook comment, 4 new tickets (
#170
menu-relaunch NULL-callback crash = top defect,
#171
ballistic hitscan era question ON HOLD,
#172
leak first-flash edge,
#173
chicken-walker myomer overheat); KB gains the night-16 section + the spawn-discharge/generator-bias heat note [T3]
2026-08-12 23:05:55 -05:00
test-harness.md
#165
ROOT-CAUSED after three failed fixes -- the binary keeps ONE destroyed cell per subsystem (+0x40: fire gate, dial X, wire header, every writer) and the port split it into FOUR stores; the everyday CRIT-LOTTERY kill (MechWeapon::TakeDamage) bypassed the reconstructed base and wrote only the X store, so X'd weapons kept firing while every prior fix aimed at a gate that was never broken (the 4,213-refusal bench drove BT_KILL_SUBSYS, which writes all cells -- it validated readers, not writers). FIX: MechWeapon::TakeDamage chains to MechSubsystem::TakeDamage (@0x4ac0bc semantics); the port-authored FSM-from-damage tail is DELETED (it parked partial-crit weapons at level 1 -- no FSM case, the silent freeze, and with beamFlag armed the 883 hanging beam:
#164
's upstream writer, caught red-handed by berserker's 20x STUCK-ON receipts); the phantom uninitialized simulationState int is ctor-initialized and kept in lockstep at every destroyed write; always-on [crit] DESTROYED receipt makes crit kills field-visible. BT_CRIT_SUBSYS bench hook drives the REAL writer path; weaponx_bench PASS: kill phase 0 FIRED post / 5,664 refusals / X+gate agree, partial phase keeps firing. Gotcha 30;
#174
filed (cascade re-descend)
2026-08-13 00:35:33 -05:00
translocation-warp.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00
wintesla-port.md
KB sweep: the game is NOT '1995' -- era witnesses say BT 4.10 shipped later, and the 1995 belief traced to the MUNGA library RCS strings inside BTL4OPT.EXE (library code date, not the game; the exe has no game-copyright year). ~120 era references across CLAUDE.md/context/glossary/handout rewritten to 'the original'/'the shipped machine'; genuine dated facts kept (RCS $Id strings, Borland 1994, the 30-Nov-1995 asset timestamp); dating note + evidence added to project-overview.md
2026-08-12 11:50:56 -05:00