← 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 14:42:05 UTC
On this page

SModel

Asset format index · SModel cross-reference · GfxWorld/DPVS

Replay 1.20 layout scope

Layout and serialization statements on this page refer only to Replay 1.20 unless explicitly labeled as Game-Test cross-reference provenance. Source names help identify analogous functions; source UDT sizes, offsets, strides, and dispatch values are not Replay layout evidence.

Evidence status

SModel visibility and render-task roles are partially mapped; the placement/draw record format remains unknown. Collision records bearing “static model” names are a different parser family and cannot fill that gap.

Observed format facts

  • Replay DPVS static has SModel visibility accesses, including sortedSmodelIndices at +0x258 in the Replay schema record. Paired source member names/types are cross-reference provenance only; this page does not transfer their offsets or types into Replay.
  • Replay callback registration for AddStaticModelSunShadow points to ID 50616 q_R_AddAllStaticModelSurfacesSunShadow, paired provisionally to source PDB R_AddAllStaticModelSurfacesSunShadow. Its target PDATA totals 288 bytes vs preserved SQLite size 285; children ID50617 and ID50614 remain held.
  • StaticModels collision-tile lifecycle functions exist, and clipMap static collision records include model/physics pointer routes. The evidence explicitly does not join them to the SModel render placement data.
  • Replay Load_GfxIndexBuffer is called by Load_StMesh, Load_StDiskTerrainSurface, and Load_GfxWorldDrawVerts; it is followed by separate Load_IndexBuffer ID 50660 at RVA 0x18D9F10 in the paired resource path. This is adjacent mesh/resource evidence only, not proof of an SModel placement format. The distinct Load_GfxIndexBuffer stream-byte count is Replay 0x20; source count is cross-reference provenance only. Load_IndexBuffer has SQLite size 91 vs PDATA 132 bytes, and its body consumes four registers despite the exported two-parameter prototype.

Format boundary

No complete Replay SModel placement array, record stride, model-index encoding, render-surface order, or serialized ABI is established. DPVS visibility pointers and sorted indices must remain separate from placement/draw records until direct Replay field/caller evidence joins them. The SunShadow callback is a render-task identity, not a parser or data structure. Source PDB fields remain cross-reference provenance only.

Local evidence

  • Paired DPVS access crosswalk
  • SunShadow callback review
  • Collision-tile lifecycle
  • GfxIndexBuffer paired routes and size follow-up
  • Load_IndexBuffer role and target review, applied manifest, and applied CSV