← 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 17:13:14 UTC
On this page

Evidence-Driven Asset Format Notes

Asset brain · Map integration · Asset overview

Object-by-object reference for map-related asset families. These pages describe Replay 1.20 layout and serialization observations only. Game-Test names may appear as cross-reference provenance, but source UDT sizes, offsets, strides, and dispatch values are not transferred into Replay descriptions. These pages are not complete ZoneTool schemas. Matching function names, pool sizes, or a loop increment do not alone establish the Replay fastfile ABI.

Game-Test-specific asset format notes live separately under Game-Test Assets. Keep those source-build descriptions separate from the Replay pages below.

Build provenance and reading rules

  • Game-Test source image: E:\1-game-test\1-game_test.exe, SHA-256 269D6137A465DA9D5F5DF68961000D683B9A868FDE5E7800743177C05D059E99.
  • Replay target: E:\IW8\Builds\1.20-replay\game_dx12_ship_replay.exe, SHA-256 68FB1CBCB2924182724004039DE55A4C50152BB6561803C4898B7930B38132F0.
  • Replay SQLite program MD5: 1C238FE327F2ECC3B0DB924C5B425439; this identifies the database program, not the executable hash.
  • Source RVAs, source PDB sizes/types, Replay RVAs, SQLite sizes/prototypes, .pdata extents, observed stream increments, and pool element sizes are kept as separate measurements.
  • Unknown means the available evidence does not yet justify a field map or serialized format. Do not fill those gaps from neighboring builds or names.

Asset pages

  • XModel and XModelSurfs — root stream advance, XSurface and subdivision loop observations, Mark references, layout gaps.
  • GfxImage and raw GPU data — provisional raw-GPU-array loader match, Mark route, and image-payload unknowns.
  • Material and MaterialTechniqueSet — handler/pool evidence and unresolved payload/dependency layout.
  • GfxWorld — roots, DrawVerts and IndexBuffer phases, DPVS, draw surfaces, static models, lighting, and transient child paths.
  • CModel and clipMap collision records — static-model collision list/model observations, brush-model validity leaf, and runtime separation.
  • SModel — DPVS visibility and callback evidence; placement format remains open.
  • GfxBrushModel — paired array parser and 96-byte code stride caveat.
  • GlassWorld — phase wrappers and pool identity; payload schema unknown.
  • XAnim dynamic-bone properties — one loader child and its extent limits.
  • DPVS, Umbra, and world culling — observed visibility metadata, applied worker initializer/wait-callback names, and unresolved execute callback / Umbra asset gap.

How these notes support ZoneTool

Use the stream operations and per-build values to target additional Replay reads, not as a ready-made serializer. Before implementing a field, require Replay-side access/stream evidence for its width, alignment, count, pointer fixups, and phase. Keep source data types as comparison metadata. For broader relationships, see Map Asset Integration; for the exact cross-build reasoning and alternatives, see the linked reports and the symbol mapping guide.