Files
TeslaRel410/restoration
CydandClaude Fable 5 5a465c2321 BT410 5.3.85: the six-bit hazard surveyed -- draw site named, 94 art files inventoried, a 1996 config typo found
Follow-up survey to 5.3.84, written into L4GREND.NOTES.md rather than left as
conversation.

THE DRAW SITE, NAMED.  This closes a question that had been open across
several sessions ("which of the three DrawBitMapOpaque sites draws
sentinel-bearing sec art").  Answer: none of them.  It is a DrawPixelMap8 --

  BTL4GAU2.CPP:1524, the bgPixelMap widget, MoveToAbsolute(0,0) then a
  full-image OPAQUE blit.  BT_VIS_LOG places it at port=0, the six-bit head.

Every pixel of the colour head's background therefore goes through the
64-entry translation table, sentinels included.

ALSO PROVEN: no drawing operation contains the damage.  The opaque inner loop's
Replace case is

    *dest = (Word)((*dest & bitmask) | color);

which clears THIS port's bits and then ORs the whole table entry back --
including garbage in other ports' bit positions.  Replace leaks exactly like
Or does.

ART INVENTORY.  Swept all 428 PCX/PCC under GAUGE (which is all the art there
is -- nothing lives outside it).  94 carry pixels > 63: index 231 in 53 files
(sparse, 4-7%, the 172x217 avatar CRIT/HEAT silhouettes), 255 in 27 (the *HT
heat backgrounds), 226/228/229 as 1-2px specks in QJAK*, and 254 in 2.

BTSEC1.PCX is the only one whose out-of-range region is a SOLID RECTANGLE and
the only one proven to reach the screen -- 676px at (199,526)-(250,538),
rotation 270 mapping screen = (src_y, 479 - src_x), landing exactly on the
measured mask.

WHAT IS STILL OPEN, recorded as open rather than smoothed over:

  The 354px cluster.  Of the provoke control's 1030 lit pixels, 676 are the
  bar; the remaining 33x32 cluster at (67,3)-(99,34) is NOT file-borne -- no
  gauge file has a count near 354.  So it is generated at runtime.  The
  obvious suspect CreateMutantPixelmap8 is ruled out: it is an inert stub
  returning NULL, so recoloredMech never blits here.  Unattributed; the fix
  covers it regardless.

  A possible second exposure, in-mission.  L4GAUGE.CFG carries 1345
  colour-mapper entries (656 cmCrit, 662 cmHeat, 27 cmArmor), BT_VIS_LOG puts
  ALL of them on port 0, and their mode is ModeSecondaryCritical.  They name
  adpal/adpal2/heatpal, three of which the sweep flags -- ADPAL and ADPAL2 are
  2x5 and ENTIRELY index 99.  Whether that matters turns on whether a mapper
  blits those pixels or merely reads their VGA palette, which nobody has
  checked.  Written down as a hypothesis with that caveat attached, NOT as a
  finding.  If the pixels are used as indices it would dwarf the bar and would
  fire in-mission, which is where the operator sees the artifact.

  The boot cockpit lighting only 1030 pixels says the avatar/mapper art is not
  drawn on THAT screen.  It says nothing about a live mission.

A SHIPPED DATA BUG, found in passing and deliberately NOT fixed:

  L4GAUGE.CFG:2513-2514 name adpa12.pcc -- digit one for lowercase L.  The
  file does not exist; adpal2.pcc does.  Two of 1345 lines, so the GAUSS and
  AFC25 ammo-bin criticals have been loading a missing palette since 1996.
  It is the original's bug and the shipped binary lives with it; the archive
  is sacred, so we live with it too.  Noted so the next person who sees a
  warning about adpa12.pcc does not go hunting for a reconstruction defect.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 08:03:00 -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.