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-256269D6137A465DA9D5F5DF68961000D683B9A868FDE5E7800743177C05D059E99. - Replay target:
E:\IW8\Builds\1.20-replay\game_dx12_ship_replay.exe, SHA-25668FB1CBCB2924182724004039DE55A4C50152BB6561803C4898B7930B38132F0. - 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,
.pdataextents, observed stream increments, and pool element sizes are kept as separate measurements. Unknownmeans 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.