Map blocks and block models
A map is a list of blocks on a grid of squares. Each block names a block model, the square it stands on, which way it faces and a word of flags; the flags pick which of the model’s prepared shapes is drawn, so the map stores the road’s connection shape and the game needs no neighbour logic to draw it. Observed · the 65 campaign maps, every block placed
The world frame
Section titled “The world frame”Positions are metres in a right-handed frame with +Y up, the grid along X and Z, stored as they are with no axis negated. Read as left-handed (Z negated), the world is mirrored: the start banner’s lettering reads backwards; read as stored it reads the right way. Triangles wind counter-clockwise seen from the front in this frame. Observed · renders of campaign map A01
The grid
Section titled “The grid”The square size comes from the collection’s zones (CollectionZones): Stadium’s squares are 32 m wide and 8 m high.
Observed · the Stadium collection GBX.NET’s block size for Stadium is the same, 32 × 8 × 32. Sourced · GBX.NET
A block model is built in a block-local frame that spans 0 to 32 m in X and Z per square, with the Stadium grass ground at local height 1.0; ground blocks stand at map height 1. Observed · the stock and downloaded maps
A block
Section titled “A block”| Field | Meaning | Confidence |
|---|---|---|
| Name | The block model’s collector ident | Observed · the 65 campaign maps |
| Direction | 0 to 3, quarter turns about +Y; each step takes +X to +Z, so (x, y, z) becomes (−z, y, x) | Observed |
| Coordinate | The square of the turned footprint’s least corner; block data version 6 and later store the coordinate plus (1, 0, 1) | Observed |
| Flags | Below | Observed |
The sense of the turn is measured on road: over the stock maps and the 2026 and all-time top downloads, the open sides of
neighbouring StadiumRoadMain blocks meet 4,400 times with 11 mismatches when a step takes +X to +Z, against 2,578 and 765 the
other way. Observed · the stock maps and 200 downloaded maps With the least corner of the turned footprint at the coordinate,
300 squares of the stock maps are claimed twice, mostly the dirt-hill terrain under the dirt-hill road blocks; with the
model’s first unit as the pivot, 1,682 are. Observed · the stock maps The turned footprint’s least corner is at the
coordinate times (32, 8, 32) m. Observed · the 65 campaign maps
| Bits | Meaning | Confidence |
|---|---|---|
| 0–5 | Variant: the outer index of the model’s mobil lists | Observed |
| 6–11 | Sub-variant: the inner index | Observed |
| 12 | Ground: use the model’s ground mobils; otherwise its air mobils | Observed |
| 13 | Clip: the sub-variant is always 63 | Observed |
| 14 | Pillar: the pillar is a block stored in the map; the game generates none | Observed |
Over the 65 campaign maps every block resolves this way; a block whose list is empty draws nothing. Observed[the 65 campaign maps] A clip shows the first mobil of its variant’s list; this is reasoned from Stadium’s clip models, which have one mobil per ground list and empty air lists. Inferred
StadiumRoadMain’s variants 0 to 5 are Base, Deadend, Corner, Straight, TShaped and Cross; the ground Straight has four
sub-variants (Straight, A, B and C). Observed · the Stadium block model
Ground and empty squares
Section titled “Ground and empty squares”A ground block draws the terrain of only the squares of its units at relative height 0 (a unit’s offset y of 0), not of its
whole footprint: a bridge arch stands on 2 of the 6 squares it spans, and the others show the zone’s grass. Filling the whole
footprint leaves visible holes in the grass. Observed · campaign map A01 A square of the map area that no ground block covers
shows the collection’s default zone’s flat block (StadiumGrass, the first block info of ZoneFlat) at height 0.
Observed · the 65 campaign maps
Start blocks
Section titled “Start blocks”A spawn faces its local +Z. Of the 25 campaign start blocks (way point 0 or 4) with road on one side only, 23 have it ahead along local +Z; 36 have road on both sides and 4 on neither. Observed · the start blocks of the 65 campaign maps
Block models
Section titled “Block models”The block-info files (CGameCtnBlockInfoClassic, Flat, RectAsym, Road, Clip, Frontier and Pylon) keep their units
and mobils in the legacy chunk 0x0304E005, never in 0x0304E01D or 0x0304E01E. Proven[every block-info file of the
install’s packs]
| Order | Field | Type | Confidence |
|---|---|---|---|
| 1 | Name | ident | Observed |
| 2 | Size | three i32 |
Observed |
| 3 | Is pillar | bool | Observed |
| 4 | Selection | i32 |
Unknown |
| 5 | Unknown | i32 |
Unknown |
| 6 | Pillar | node reference | Observed |
| 7 | Ground units | counted node references | Observed |
| 8 | Air units | counted node references | Observed |
| 9 | Ground mobils | counted lists of counted node references | Observed |
| 10 | Air mobils | counted lists of counted node references | Observed |
| 11 | Unknown | u8 |
Unknown |
| 12 | Unknown | i32 |
Unknown |
| 13 | Unknown | two i16 |
Unknown |
The layout reads every block-info file of the packs to its end. Proven · every block-info file of the install’s packs A real block has no ground units: all its units are in the air list. The mobils are one list per variant, holding the variant’s sub-variants, not one list per unit. Observed · every block-info file of the install’s packs
A unit (CGameCtnBlockUnitInfo, 0x03036000) holds its offset within the block, four clips and a surface ID.
Observed · every block-info file of the install’s packs
A mobil’s solid places its parts through CPlugTree locations; see solids and visuals.
The map’s thumbnail
Section titled “The map’s thumbnail”The thumbnail of header chunk 0x03043007 is a JPEG stored bottom row first. Observed · campaign map A01
They are read and accounted for, but nothing yet ties them to the game’s behaviour.