Skip to content

Scene Viewer Gallery

Every one of the 316 NECS resources in scenes.res — Legend’s room/location definitions — decodes and renders with zero decode errors and zero unresolved sprite references across 5,814 sprite object records. Each scene is a 320×200 composite: a background/floor sprite plus placed foreground objects, drawn in stored record order from the real GAMI/LMRF resources they reference and the game’s own VGA palette (read directly out of wofl.exe).

These six were picked out of the full 316 for a mix of location type and name recognisability:

  • The Canyonlands — a desert canyon exterior
  • Lava Tunnels — a cave passage (its name was one of 19 the scene-name decode actually repaired from a garbled heuristic guess — see below)
  • The Orc’s Nest Tavern — a busy 50-object tavern interior
  • The Geisha Inn — another tavern, cited in the format’s own verification writeup as a coherent, recognisable render
  • Zayneb’s — the corpus’s one exception: its final LZSS token emits 2 bytes of harmless slop past the logical payload boundary, the only resource of the 316 where that happens
  • King Osric’s Palace — a columned palace hall

Scene names come from a length-prefixed field in the decoded payload (confirmed for 316/316 — 288 named, 28 legitimately unnamed). Sprite placement ({resourceId, x, y, width, height} per object) is confirmed by rendering: mean viewport coverage from sprites alone is 87.4% across all 316 scenes, and every one produces a recognisable, correctly-coloured location matching its own decoded name.

Two record classes referenced by these scenes are not drawn here and remain open:

  • Flat quadrilaterals (id == 1999, 1,662 records) — confirmed as horizontally-edged, non-inverted-winding trapezoids by four independent geometric invariants, each holding for 100% of records, but whether the engine actually draws them (a colour source isn’t identified) or uses them as floor/walkable-region metadata is unresolved. Omitting them is visually harmless in every scene checked, since sprites already cover the same area.
  • Marker records (id ∈ {1504, 1512, 1514}, 543 records) — read as exit/entry-zone shaped (a screen-space rect, direction/edge byte) but not decoded further.

See docs/legend/plan.md § “NECS — still open” in the main repository (not part of this site) for the full byte-level detail.