map_config.py has no entry for "genesis_wp.ark" (Genesis: Part 1, ASA —
released 2026-07-04). Every other ASA map has its own "(Ascended)" entry,
but Genesis only has the old ASE "genesis.ark" one, so genesis_wp.ark
silently falls back to DEFAULT_MAP_CONFIG (shift 50 / div 8000), which
gives wrong lat/lon almost everywhere on the map.
I compared in-game GPS readings against arkparser's output and fitted a
much closer surface calibration:
MapConfig("Genesis: Part 1 (Ascended)", "genesis_wp.ark", 50.0, 8200.0, 50.0, 8200.0)
Separately (may be worth its own issue): Genesis's new "Ocean" biome was
rebuilt as a full-size layer covering the whole map footprint, but it's
physically offset in the save's raw world coordinates rather than sharing
the surface layer's space — same trick other maps use for cave/underground
layers. A single MapConfig can't express "two coordinate spaces, one save
file, distinguished by Z" — I ended up detecting it via Z > ~150,000 and
applying a second config (shift 50.0, lat_div ~22157, lon_div ~22180,
fitted from 3 in-game readings) as a post-processing step outside the
library. Flagging in case it's useful context, even though it probably
needs its own handling on your end.
map_config.py has no entry for "genesis_wp.ark" (Genesis: Part 1, ASA —
released 2026-07-04). Every other ASA map has its own "(Ascended)" entry,
but Genesis only has the old ASE "genesis.ark" one, so genesis_wp.ark
silently falls back to DEFAULT_MAP_CONFIG (shift 50 / div 8000), which
gives wrong lat/lon almost everywhere on the map.
I compared in-game GPS readings against arkparser's output and fitted a
much closer surface calibration:
Separately (may be worth its own issue): Genesis's new "Ocean" biome was
rebuilt as a full-size layer covering the whole map footprint, but it's
physically offset in the save's raw world coordinates rather than sharing
the surface layer's space — same trick other maps use for cave/underground
layers. A single MapConfig can't express "two coordinate spaces, one save
file, distinguished by Z" — I ended up detecting it via Z > ~150,000 and
applying a second config (shift 50.0, lat_div ~22157, lon_div ~22180,
fitted from 3 in-game readings) as a post-processing step outside the
library. Flagging in case it's useful context, even though it probably
needs its own handling on your end.