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
sortedSmodelIndicesat+0x258in 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
AddStaticModelSunShadowpoints to ID 50616q_R_AddAllStaticModelSurfacesSunShadow, paired provisionally to source PDBR_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_GfxIndexBufferis called byLoad_StMesh,Load_StDiskTerrainSurface, andLoad_GfxWorldDrawVerts; it is followed by separateLoad_IndexBufferID 50660 at RVA0x18D9F10in the paired resource path. This is adjacent mesh/resource evidence only, not proof of an SModel placement format. The distinctLoad_GfxIndexBufferstream-byte count is Replay0x20; source count is cross-reference provenance only.Load_IndexBufferhas 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