← 1.20 ReplayEntropic Dev

REPLAY 1.20 · RESEARCH NOTES

The asset brain

A linked map of loading, rendering, and collision evidence.

34 notes · Latest source update
SOURCE NOTE · Updated 2026-09-28 02:41:14 UTC
On this page

Lighting, Light Grids, and Shadows

Asset brain · Engine Integration · GfxWorld and Brush Models · Transient Zones

Status

Light-grid and lightmap loader candidates are mapped to Replay targets. Lighting payload/schema and shadow integration are not complete.

Game-Test source evidence

Exact source names include Load_GfxGpuLightGridTransientData (RVA 0x4ABB40, source size 325), Load_GfxLightGridVolumeAtlasDataTempPtr (0x4ADA20, 141), and Load_GfxLightmapAtlasDataTempPtr (0x4AE720, 141). Source ownership and parent routes differ across pointer, array, and stream wrappers; see the per-function reports.

Replay 1.20 evidence

  • q_Load_GfxGpuLightGridTransientData: Replay RVA 0xD920A0, SQLite/.pdata extent 304 bytes; target observes a 0x28-byte region, a count-by-64 array, and nested data pointer.
  • q_Load_GfxLightGridVolumeAtlasDataTempPtr: Replay RVA 0xD92730; Replay extent 134 versus source 141.
  • q_Load_GfxLightmapAtlasDataTempPtr: Replay RVA 0xD92970; Replay extent 134 versus source 141.

The q prefix reflects incomplete caller consensus and build-specific extent differences. These loader observations do not establish identical disk layouts across builds.

Integration and safe use

Lighting data is reached as GfxWorld child data and may include atlas and transient-grid references. Keep stream phase, pointer-wrapper semantics, count/stride, and nested data ownership explicit. Shadow functions and payload remain an evidence gap in this vault.

Open questions

  • Which source wrapper route corresponds to each Replay pointer/array path?
  • What do the Replay stream helpers show about alignment and payload bounds?
  • Which shadow-map and light-grid consumers validate the loaded data?

Evidence

  • Transient GPU light grid
  • Light-grid volume atlas pointer
  • Lightmap atlas pointer

DPVS shadow-visibility fields

The static DPVS source PDB and paired Replay access crosswalk record surfaceCastsSunShadow at +0x260, sunShadowOptCount at +0x268, sunSurfVisDataCount at +0x26C, and surfaceCastsSunShadowOpt at +0x270. The crosswalk reports matching source/Replay schema types for these fields. These are loader-access/member observations only; they do not define shadow payload serialization or runtime shadow behavior. Full DPVS context is in GfxWorld and Brush Models, with raw evidence in the paired access crosswalk.

The enclosing Replay Postload_GfxWorld route now has applied q-prefixed children q_Postload_GfxWorldDpvsPlanes (ID 18330), q_Postload_GfxWorldDpvsStatic (ID 18331), and q_Postload_GfxWorldDpvsDynamic (ID 18329). Their exact roles, per-build extents, parser observations, and remaining wrapper/boundary caveats are documented in GfxWorld and Brush Models. Their visibility/shadow fields provide loader context only; they do not establish lighting or shadow payload serialization.