— | map count | u32; the client requires exactly 37 (0x25 hard-coded in 0075C490) and equality with the NDMap.edf map count maps.md §4 (Map.edf layout); maps.md §4.3 | Map_Data.spt (row count) | — | client | derived | — |
— | index | map number 0…36 maps.md §4 (Map.edf layout) | Map_Data.spt (order) | — | client | derived | — |
— | name | map code (32); map and minimap lookup by code, case-insensitive maps.md §4 (Map.edf layout); maps.md §4.3 | Map_Data.spt column 1 | — | client | derived | — |
— | file | BSP path (128); the client builds the _dummy.spt path from it too maps.md §4 (Map.edf layout) | Map_Data.spt column 2 | — | client | derived | — |
— | spr | minimap .spr name (128); the client stores ./SpriteImage/Common/Map/<spr> and loads it as the minimap window sprite maps.md §4 (Map.edf layout); maps.md §4.3 | — | — | — | known | — |
— | portalCount | portal count maps.md §4 (Map.edf layout) | [PORTAL] of the map | — | client | derived | — |
— | portal × N | 288 bytes: map, portal number, box (6 float), 3×4 matrix, point x y z 1 (the same as -node_tm in .spt), type (1 entrance, 0 arrival, 3 menu), “works”, races, dummy name, name (empty — taken from NDMap), +0xED number of destination pairs (1 everywhere), requirements (4.2) maps.md §4.2; maps.md §4.3 | .spt (*dp) + [PORTAL] | — | client | derived | — |
— | destinations × N | after all portals of the map: per portal +0xED pairs (i32 map, i32 portal) of 8 bytes, −1, −1 for arrival points; the client stores the pointer at +0xF0 of the portal maps.md §4.3; maps.md §4 | [PORTAL] m_strLinkMapCode/m_strLinkPortalCode | — | client | derived | — |
— | dummyCount + dummies | u32 + n × 96 — ore mining points: box (+8 minX, +0x10 minZ, +0x14 maxX, +0x1C maxZ; Y is not checked), the matrix and point are not read. The client takes the index of the first record whose box contains the player and sends it as byMineIndex (14/1) and when placing an auto-miner; the server interprets the index by its own *0dr, *1dr, *2dr array. AoP: 226 records against 62 server *0dr — an old list maps.md §4.3 [code, 30.10.2026]; mining.md 2.1 | *0dr, *1dr, *2dr of the server .spt in file order: box = bbox + position, rotation and position rounded | — | client | derived | — |
— | tooltipCount + tooltips | u32 + n × 84: u32 number, i32 left, top, right, bottom — the icon rectangle on the minimap image (16 × 16), char[64] text (empty in the file, read into memory from NDMap). An icon of type 5 with id number | 0x50000000, the text is the tooltip maps.md §4.3 [code, 30.10.2026] | text — NDMap.edf | — | server → client | known | — |
— | fScale/rect × 2 | two minimap insets: fScale ≠ 0 — the inset exists (a magnified fragment), rect[0..1] — the top-left corner of the fragment in image pixels, rect[2..3] — the position of the inset window in the minimap window; an icon in the inset: (px − rect[0]) × fScale − width/2 maps.md §4.3 [code, 30.10.2026] | — | — | — | known | — |
— | miniMapScale X/Y, Shift X/Y | minimap size and shift: the “world ↔ cell” formula maps.md §1.2; maps.md §4.3 | — | — | — | known | — |
— | leafNum, nodeNum | BSP leaf and node counts — a check at map loading (0075A130): 0, 0 — do not check; otherwise they must equal the loaded BSP values, on a mismatch the map does not load (“DIFF BSP LEAF/NODE…” in the log) maps.md §4.3 [code, 30.10.2026] | map BSP (nodeNum = leafNum − 1 in all corpora) | — | client | derived | — |
— | minimaps and world maps | two sections of one format (CMapArea lists): u32 count; per record u32 height, u32 image width, u32 length + name (= map code, case-insensitive), u32 zone count, zones × {u32 colour (not read — dead code), u32 x, u32 y of the label in pixels, i32 sound (not read)}, u32 length + RLE mask {u16 length−1, u8 zone} → a byte per pixel. The player's zone is by the mask pixel; zone names are in NDMap. The server sends the zone index (8/6) by its own Map\MAPDATA.DAT — in AoP this section is byte for byte the same. World maps are a tree map1 → map1_<zone+1>; the zone text = the map name for switching to its minimap maps.md §4.3 [code, 30.10.2026] | = the server's Map\MAPDATA.DAT (order and number of zones) | — | server → client | known | — |