Files
TeslaRel410/restoration
CydandClaude Fable 5 77db3290d0 BT410 5.3.138: our ammo explosion may be more lethal than the original -- the cook-off charge re-marked [T2] after the hunt for its source came up empty
Chasing yesterday's [T1] to retire it produced an answer that must not be
papered over.

Two corrections to my own 5.3.137 note first.  FUN_0041db7c is the
engine's Damage CONSTRUCTOR -- it zeroes the amount, seeds the force,
sets the normal to (0,1,0) -- so the bin's +0x1f0 block is a Damage
struct, not an "explosion record", and our cookOffState[12] is that
struct in disguise.  And the resource read I thought filled it belongs to
the GENERATOR ctor: same dword index, different class.  The per-class
offset trap, twice in two days.

The uncomfortable part: across the whole AmmoBin TU that Damage is only
default-constructed and read.  Nothing writes its amount.  The
constructor leaves it zero, so rounds x 0 == 0 -- the shipped game's
cook-off appears to compute ZERO damage.  It destroys the bin, announces
"ammo explosion damaging" for every zone, and delivers nothing.

Three readings survive: the feature is vestigial in 4.10; a writer lives
outside the TU (a table-registered handler is where to look next); or the
multiplier cell is misidentified.

So the landing is re-marked [T2], a deliberate divergence, not [T1]
staging.  With the fed weapon's damage standing in, ours does 500-800
points across the zones and destroys subsystems where the shipped one
does nothing.  That is us being more lethal than the original, which is
exactly the silent gameplay drift this project exists to avoid.  It stays
ON -- an inert mechanic is indistinguishable from an unfinished one and
would hide the question -- but it is now flagged in the code, in the
notes, and to the operator, and BT_FORCE_COOKOFF remains the only way to
trigger it without genuine heat failure.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 09:05:58 -05:00
..

Scene Restorations

Modern re-renderings of the Division dVS scenes recovered from the Glaze developer drive (see HISTORY.md) and this repo's CONTENT tree. The originals ran on Division Ltd.'s pixel-pipeline hardware in 19941997; these tools parse the original data files and re-render them in WebGL, in the browser.

Viewers (open in any browser, fully self-contained)

  • vwe-archive.html — the Scene Archive: 26 curated scenes across all projects — Star Trek (Enterprise-D, Klingon flyby), Hull Pressure (sea demos, fish schools, sunken temple), BattleTech (polar map with mech lineup, Ravine and desert maps, stadium), Red Planet (Blade arena, the Mars canal milestone demo), and the Canyon/Maya-temple Division demos. Fly camera: drag to look, WASD to fly, R resets.
  • trek-scn.html — the original standalone Star Trek restoration (TREK.SCN and KLNGVID.SCN).

Toolkit

  • divformats.py — parsers for every Division format found on the drive: text VGF/VMF (DIV-VIZ2 geometry/materials, both the 1995 VERSION 2:07 and 1996 02:05 dialects, with header SCALE support), binary BGF/BMF (DIV-BIZ2) — the binary block-stream layout was recovered from Division's own reader source (DPL3/BIZREAD.C, 1994), including all 14 vertex layouts, pmesh/tristrip/polygon connectivity, LOD blocks (newer writers nest patches inside LODs; the largest LOD is taken), and embedded materials/textures/ramps — plus TGA and raw SVT textures, SPL splines, and SCN scene scripts.
  • audit.py — scans every .SCN on the drive and reports what fraction of its geometry survives, and in which format.
  • extract_all.py — extracts every scene with ≥60 % of its geometry recoverable (108 of 241 on the drive; the rest reference lost models) into allscenes.json, resolving models/materials/textures across the drive and this repo's CONTENT dirs.
  • gallery_build.py — curates scenes from allscenes.json into the self-contained vwe-archive.html (via gallery_template.html).
  • convert.py / viewer_template.html — the original single-scene Star Trek pipeline.

Rebuild

python extract_all.py     # requires the sda4/ drive dump beside this repo
python gallery_build.py

Fidelity notes

Faithful: vertices, triangles, material colors and shading ramps, textures, fog and light parameters, spline motion, camera start positions. Approximated: Division's rasterizer behavior, point sizes, timing (originals ran at 30 Hz). Not simulated: event-driven SPECIALFX particles. A few dev scenes had camera start positions inside geometry; those get overridden or auto-framed cameras (see START_OVERRIDE in gallery_build.py). Scenes missing one or more models from the drive say so in their header.