World grids and cell listings
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
Little-endian. Offsets are relative to this structure.
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x0 | 8 | u64 | id | Observed | |
| 0x8 | 4 | u32 = 0xAFE5F9B4 | type | Observed | |
| 0xC | 8 | u64 = 0 | GridLayout id | Observed | |
| 0x14 | 4 | u32 = 0x7DB083ED | GridLayout type | Observed | |
| 0x18 | 2·w | i16xw | DefaultLoadingDistances | Observed | GridLayout.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+2w | 4 | i32 | CellSize | Observed | GridLayout.CellSize (registry i32): 128, 128, 512 in USNAT; 32 in the WhiteRoom grid that has cells |
| 28+2w | 12 | i32·3 | BottomLeftX, BottomLeftY, BottomLeftZ | Observed | GridLayout.BottomLeftX/Y/Z (registry i32 each): (-8192, -8192, 0) in USNAT, (-128, -128, 0) in WhiteRoom |
| 40+2w | 4 | i32 | GridDimensionLevel0 | Observed | GridLayout.GridDimensionLevel0 (registry i32): 128, 128, 32 in USNAT; 8 in WhiteRoom |
| 44+2w | 3 | bool x3 | IsSingleLevelGrid, IgnoreCustomLoadingRange, IgnoreRegionLayoutLoadingRange | Observed | three 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+2w | 10 | ref | Grid | Observed | GridDescription.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
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.
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x0 | 1 | u8 = 01 | tag | Proven | |
| 0x1 | 4 | u32 | level count | Proven | 8 in the open world's ShortRange and TerrainWorldSmall |
| 0x5 | 4 | u32 | cell count c | Proven | the levels' squared dimensions summed (21,845 for 8 levels from 128) |
| 0x9 | 21·c | bytes | cells | Proven | the GridCell box; a cell's number is its position: level 0 first, row by row from the bottom-left (the notes' best fit) |
| 9+21c | 4 | u32 = 0 | zero | Unknown | Stored bytes; meaning is not established. |
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.
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x0 | 8 | u64 = 0 | id | Proven | |
| 0x8 | 4 | u32 = 0x3435AD40 | type | Proven | |
| 0xC | 1 | u8 = 00 | tag | Proven | |
| 0xD | 8 | u64 | data block | Proven | a GridCellDataBlock's ClassID, or 0: an empty cell |
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.
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x0 | 1 | u8 = 01 | tag | Proven | |
| 0x1 | 4 | u32 | object count n | Proven | |
| 0x5 | 10·n | ref·n | objects | Proven | Entities, EntityGroups, GIDynResources and others, in stored order |
| 5+10n | 4 | u32 | NumberOfObjectsToActivate | Observed | GridCellDataBlock.NumberOfObjectsToActivate (registry u32): n less the references to GIDynResources, on every block measured |
| 9+10n | 8 | u64 | key | Proven | its 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
The remaining non-overlapping listings have not been explained; the overlap relationship is not a universal invariant. Unknown
Shaun White Skateboarding
Section titled “Shaun White Skateboarding”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 |