Skip to content

World grids and cell listings

AnvilWorld and streamingApplies toRRSWS

A World lists GridDescriptions pairing GridLayouts with GridPartition references. Each partition stores every cell level; an occupied cell names a GridCellDataBlock listing associated resources. All eight partitions and all 66,359 blocks in the six-archive census consume exactly to their ends. Proven

USNAT grid Finest cell side Finest dimension Levels / cells Confidence
TerrainWorldSmall 128 m 128 × 128 8 / 21,845 Observed
ShortRange 128 m 128 × 128 8 / 21,845 Observed
LongRange 512 m 32 × 32 6 / 1,365 Observed

All three have lower-left (-8192, -8192, 0) and span 16,384 m per side. WhiteRoom’s populated grid has 32 m cells, corner (-128, -128, 0) and finest dimension eight. Observed

GridDescription (embedded, 57 + 2w bytes, xn)57 + 2w bytesRR100% known

Little-endian. Offsets are relative to this structure.

ProvenObservedSourcedInferredUnknownNot described
OffsetSizeTypeFieldConfidenceNotes
0x08u64idObserved
0x84u32 = 0xAFE5F9B4typeObserved
0xC8u64 = 0GridLayout idObserved
0x144u32 = 0x7DB083EDGridLayout typeObserved
0x182·wi16xwDefaultLoadingDistancesObservedGridLayout.DefaultLoadingDistances (registry kind 0x0297: fixed array, element 0x05, count 4): USNAT patch (640, 640, 640, 640), (256, 256, 512, 256), (4096, 4096, 5120, 5120); base adds a fifth (640, 256, 4096); WhiteRoom (0, 0, 0, 0[, 95]) and 95s. Units by reading metres
24+2w4i32CellSizeObservedGridLayout.CellSize (registry i32): 128, 128, 512 in USNAT; 32 in the WhiteRoom grid that has cells
28+2w12i32·3BottomLeftX, BottomLeftY, BottomLeftZObservedGridLayout.BottomLeftX/Y/Z (registry i32 each): (-8192, -8192, 0) in USNAT, (-128, -128, 0) in WhiteRoom
40+2w4i32GridDimensionLevel0ObservedGridLayout.GridDimensionLevel0 (registry i32): 128, 128, 32 in USNAT; 8 in WhiteRoom
44+2w3bool x3IsSingleLevelGrid, IgnoreCustomLoadingRange, IgnoreRegionLayoutLoadingRangeObservedthree plain bools (registry kind 0, store 0x80, 0x84, 0x88), 0 0 0 in all 12 grids (so their order is the record order, untested)
47+2w10refGridObservedGridDescription.Grid: a reference to the grid (SpatialTopology: a GridPartition), or none (03 + 9 zeros)

DefaultLoadingDistances is a fixed array without a stored count: five u16 values in base Worlds and four in patch Worlds, measured on all 12 layouts. The runtime descriptor names four elements; an older writing class version explains the base profile but is inferred. The three bools are always zero, so their individual order follows metadata without a value-based discriminator. Observed Inferred

GridPartition bodyvarRR100% known

Little-endian. Every one of the eight GridPartitions and 66,359 GridCellDataBlocks across all six installed forges consumes exactly with no refusals. Named activation semantics are separate from stored count framing.

ProvenObservedSourcedInferredUnknownNot described
OffsetSizeTypeFieldConfidenceNotes
0x01u8 = 01tagProven
0x14u32level countProven8 in the open world's ShortRange and TerrainWorldSmall
0x54u32cell count cProventhe levels' squared dimensions summed (21,845 for 8 levels from 128)
0x921·cbytescellsProventhe GridCell box; a cell's number is its position: level 0 first, row by row from the bottom-left (the notes' best fit)
9+21c4u32 = 0zeroUnknownStored bytes; meaning is not established.
GridCell (21 bytes, ×c)21 bytesRR100% known

Little-endian. Every one of the eight GridPartitions and 66,359 GridCellDataBlocks across all six installed forges consumes exactly with no refusals. Named activation semantics are separate from stored count framing.

ProvenObservedSourcedInferredUnknownNot described
OffsetSizeTypeFieldConfidenceNotes
0x08u64 = 0idProven
0x84u32 = 0x3435AD40typeProven
0xC1u8 = 00tagProven
0xD8u64data blockProvena GridCellDataBlock's ClassID, or 0: an empty cell
GridCellDataBlock body17 + 10n bytesRR100% known

Little-endian. Every one of the eight GridPartitions and 66,359 GridCellDataBlocks across all six installed forges consumes exactly with no refusals. Named activation semantics are separate from stored count framing.

ProvenObservedSourcedInferredUnknownNot described
OffsetSizeTypeFieldConfidenceNotes
0x01u8 = 01tagProven
0x14u32object count nProven
0x510·nref·nobjectsProvenEntities, EntityGroups, GIDynResources and others, in stored order
5+10n4u32NumberOfObjectsToActivateObservedGridCellDataBlock.NumberOfObjectsToActivate (registry u32): n less the references to GIDynResources, on every block measured
9+10n8u64keyProvenits cell's number (equal to its position in the GridPartition), or a DataLayer's ClassID

Cells are finest-level-first, then successively coarser levels. Within each level they are row-major: after subtracting the level start, x = k mod dimension, y = k div dimension. This order gives overlapping world bounds on 7,769 of 7,803 sampled listings, far more than the examined alternatives. Observed

A resource may overlap a cell without its origin lying inside it and can appear in multiple listings. Coarser levels contain ordinary buildings and rivers as well as distant proxies; finest cells alone are not a complete spatial query. Observed

The 44,320-block USNAT census resolves 644,541 reference occurrences: 594,255 Entity, 30,000 EntityGroup, 16,384 GIDynResource, 3,901 ProceduralEntityGroup and one ProxyTextures. These are references, not unique resources. Observed

A block’s final key is normally its cell index; layer-owned blocks instead carry a DataLayer ClassID. The preceding word equals count minus GIDynResource references on all 44,320 checked USNAT blocks. Proven · USNAT block corpus

Why do 34 sampled bounds miss their cells?

The remaining non-overlapping listings have not been explained; the overlap relationship is not a universal invariant. Unknown

only in SWS

A world’s content is a set of level cells, entries named *_DataBlock. In DataPC_01 there are 233 grid cells named CellNNNN, holding 6,309 entities, and 20 named mission and event cells holding 552. Cell05460 is a global cell: it holds the far-view backgrounds, the trains and all challenge start markers. Observed · SWS[level 01]

The same CellNNNN index in another forge is a near-empty cell: the index is a grid address, not a state variant of the same place. Observed

No per-entity enable or layer byte has been found that would switch entities by game state. Unknown

A cell’s root object (GridCellDataBlock) lists its members as bare ids and carries the fields below, in this order. Observed · level 01

Field of the cell’s root object Stored form Confidence
Objects u32 count, then bare ids; 6,744 of the 6,861 entities of level 01 are listed Observed
CellIndex i32 Observed
flag u8, 0 in every cell Unknown
Owner u32 id; 0 in 169 cells of level 01, and an id found in no entry in 84 Unknown