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

XModels and Surfaces

Target-binary evidence

Atlas indexes the target function Load_ProcessStructLayout_XModel at RVA 0x8A5A20 (symbol size 5,564 bytes) with candidate source archive_impl_xmodel_db.h, lines 5194–5337; it indexes Load_ProcessStructLayout_XSurface at RVA 0x8AAF40 (3,075 bytes) with candidate source archive_impl_r_xsurface_db.h, lines 4849–4928. Load_XModelSurfs / pointer loader family is present in the same generated archive source. The functions and RVAs are target-specific evidence; see Evidence Scope.

Candidate serialized layout

  • Candidate XModel: size 0x2A8, alignment 8. The registered header includes name, numsurfs, numLods, collLod, bone/client-bone counts, flags, contents, scale/radius/bounds, material handles, six LOD records, physics/detail-collision pointers, cloth/blend-shape/decal references. Source: archive_impl_xmodel_db.h:5194-5337; notable fields are at lines 5196–5210, 5232–5264, 5290–5304, and 5310–5334.
  • Candidate XModelLodInfo: size 0x40; candidate table registers distance, surface count/index, and a staged XModelSurfs reference (archive_impl_xmodel_db.h:5292-5304).
  • Candidate XSurface: size 0xC0, alignment 0x10; header fields include flags, vertex/triangle/blend-shape counts, rigid-list/subdivision counts and hash. It then registers shared-buffer offsets for vertex/index/triangle-cluster/color/second-UV/normal-transform/tension data, a shared-data record, lightmap coordinates, rigid-vertex lists, and subdivision data (archive_impl_r_xsurface_db.h:4849-4928).

Format observations

The generated loader declarations treat model metadata and surface payload references separately. XSurface has several 32-bit shared-data offsets plus stream-backed pointers; those names imply a split between record metadata and shared geometry payload, but the precise encoding and backing stream mapping are not established by these lines alone. Do not read the candidate values as confirmed target offsets until exact source/build parity is established.

Confidence and unknowns

  • High: target loader symbols and RVAs are present in Atlas for the hashed Game-Test EXE.
  • Medium: Atlas associates those symbols with the cited generated-source files.
  • Candidate only: all listed sizes/offsets. Need target binary type records or a verified matching source revision before using as ABI.
  • Unknown: exact source revision/build relationship, stream-block assignment, packed vertex/index decoding, pointer fixups, and platform GPU alignment details.

Evidence: Evidence Scope · Atlas validation · XModel loader source · XSurface loader source.