# Original galactic zones: coordinates, names and display The GZM is geographic data, independent of stellar catalogue completeness. No galaxy points are generated from it. This work only reads installed resources and the pinned old client image; it never invokes the game. ## Sources Resource `d30f11c57448cff8ec3dd0c5c80d9868482ccadb`, installed signed-file SHA-256 `ba4e049fd4eae066e72f29898a25d52692422e5905fc7a4a65105e44eb631ade`. The decoded FRES is 27,830,485 bytes; its deflate at 1620 produces 82,232,836 bytes with SHA-256 `49a18ad1f339169391abe2a76475eea6731028b9809d7120fb32d57309196f22`. It contains 3227 pools, 24 roots and 814013 relocations. Pool data starts at 13127884. The GZM root has name/type hashes `(2854198236,193493299)`, pool2075 offset4040. Its fields are coefficients83/83, dimensions2048/2048, quadtree pointer+16, name-array pointer+24 and 43 names+32. The separate galaxy root `(1765098201,2090718614)` supplies raw origin `(1599520,1311520,771360)`, at 1/32 ly, hence `(49985,40985,24105)`. All three axes independently match the authored Core Sys Sector sphere in the original GRX. They are not inferred solely from the density texture. ## Actual consumer All function addresses here refer to the pinned `6891f70a...` image. These functions are only static evidence; the tool's GZM display needs no live RVA. Main map constructor3A05660 binds registered type5F5932C at+1F0. Registration 3C430C0 places that interface at the galaxy manager+268; its vtable is5539DE8. The type ID is its first slot. Interface+20 points to3C412A0, which queries the GZM using3897C10. Interface+28/3C42820 returns the original name at an actual region index; +30/3C427E0 uses3897B80 to resolve names. 3897C10 takes **raw 1/32-ly X and Z**, not relative ly or texture UV. For a nonnegative input it computes: `pixel = (((ulong)(uint)(raw << 7) * coefficient) >> 24) & 0xfffff` It rejects pixel indices outside the resource dimensions. Thus a pixel's continuous world extent is4096/83 ly. The whole raster spans approximately 101067 ly: substituting the density map's100000 ly extent is incorrect. 3897CA0 traverses a40-byte node: value+0, child pointers+8/+16/+24/+32. Child index is `(x >= xMid ? 1 : 0) | (z >= zMid ? 2 : 0)`. A missing child returns the parent's value. The recovered tree contains42187 nodes. The resulting4,194,304-byte raster has SHA-256 `4f29773d81898c1889a7c7e766e09bff13df52f18d8eda57e17d6de72241272a`. Original name rows map0 toEmptyRegion and1..42 to the matching decimal string. Original map label3A2DCB0 formats `Codex_RegionName_%s`. The installed original text resource provides all42 matching names; for example1=Galactic Centre, 18=Inner Orion Spur and42=The Void. These names are separate from the470 authored named regions and485 spheres in the GRX. ## Implementation and limits `Extract-GalaxyZoneMap.py` produces a31,156-byte gzip of the exact ID raster and a small source/hash/name manifest. `GalaxyOriginalZones` validates the embedded raster hash, reproduces the original fixed-point point lookup and keeps the data separate from `GalacticSystem` records. The display renders geographic boundaries on the tool's Y=0 annotation plane. It derives coverage mips from actual ID boundaries and uses a ray/plane intersection with the same orbit-camera projection as the star map. It does not fill regions with invented stars. The original GZM GPU material has not been recovered; the boundary shader, its alpha/LOD and label centroids are explicitly tool display choices, not claimed pixel-equivalent original code. Name and plane switches are independent and do not alter stellar filtering. Static decompilation and reference files are under `artifacts/galaxy-query-research/zone-consumers/`. Shader-only WARP evidence is under `artifacts/galaxy-zone-shader-validation/`. Full-page and composite background captures are evaluated separately; a shader compilation or a successful screenshot does not establish original-game visual parity.