GeneralsMap hex art, rebuilt for WitE2 1.05.02
==============================================

GeneralsMap's coastline artwork carried onto stock War in the East 2 1.05.02
hex art. Graphics only. It changes nothing about gameplay.


Credit
------
The map mod is GeneralsMap v0.5.4 by **overkill01**. All of the design work and
all of the coastline artwork in here is his.

    https://forums.matrixgames.com/viewtopic.php?t=369410

The method of carrying that artwork across a game patch - export both hex-art
CSVs, copy the coastline columns from GeneralsMap into the current stock export,
reimport - is **thek3mu**'s, described in the same thread, along with the earlier
rebuilds for 1.04.12 and 1.04.16.

This package is just thek3mu's recipe applied one patch generation later, by
**vonbahr**. Minor contribution only: no new artwork, no new design, no new
method. If it is useful, the credit belongs to the two names above.


Why it was needed
-----------------
thek3mu's build was correct for 1.04.16, which stayed current until 1.04.19
arrived on 9 June 2026. Four releases have changed w_hexart.dat since
(1.04.19, 1.04.21, 1.04.22, and the 1.05.x series). Running the 1.04.16 file on
1.05.02 therefore reverts whatever those releases altered.

In practice the loss is small, and specific. Compared over all 134,190 hexes,
thek3mu's 1.04.16 build and stock 1.05.02 differ in exactly two places:

    railArtIdx        6 hexes differ    <- what the newer patches changed
    coastArtIdx     869 hexes differ    <- GeneralsMap's coastline work
    everything else   0 hexes differ

"Everything else" means hexTerrain, townArtIdx, baseCurArtIdx, terrCurArtIdx,
customArtIdx, roadArtIdx, riverArtIdx (6 columns), borderArtIdx (6 columns) and
dblRailArtIdx (6 columns).

Note that roadArtIdx differs in zero hexes. If you assumed, as I did, that
running an old hex-art file would show you stale roads, it does not. The whole
difference is rail artwork in six hexes.

So this is a small fix. It is offered because it is free, not because the old
file was badly broken.


What is in here
---------------
    w_hexart.dat    the file you install

That is all you need. The editor CSV it was built from is not included because
it is 11 MB, but ask in the thread and I will post it - every figure quoted in
this file can be re-measured from it, and anyone can re-derive the .dat by
importing it.


Install - with JSGME
--------------------
1. Disable the map mod in JSGME, if it is currently enabled.
2. Put w_hexart.dat into your mod folder, replacing the one already there:

       MODS\<your map mod folder>\Dat\GenData\w_hexart.dat

3. Re-enable the mod in JSGME.

Doing it this way keeps JSGME's bookkeeping correct, so a later disable still
restores the stock file properly.


Install - without JSGME
-----------------------
1. Back up your existing file first. There is no undo:

       Dat\GenData\w_hexart.dat

2. Copy w_hexart.dat over it.

If you ever want the stock file back and have no backup, Steam will restore it:
right-click the game, Properties, Installed Files, Verify integrity of game
files.


Important - start a new campaign
--------------------------------
A saved game embeds the hex art. Installing this over an in-progress campaign
will not change that campaign's map, and mixing the two has historically
produced graphical glitches. Install it before you start, as overkill01 has
always advised for the mod itself.

Also, as he notes in the thread: official updates overwrite w_hexart.dat, so
you will need to reinstall this after any patch.


A warning about w_maptext.dat
-----------------------------
GeneralsMap also ships w_maptext.dat, and it is **not** included here, on
purpose. The only version in existence is the 2021 original, and it has not
aged well. Measured against stock 1.05.02 map text, it is missing 65 labels
outright, and of the 5,722 it does carry:

    267 have different label TEXT
    317 have a different horizontal offset
    354 have a different vertical offset
     80 and 71 have a different hex anchor

The stale label text is the real problem: the map names places wrongly. This is
also the file behind the recurring city-name and airbase-name complaints in the
thread, whose remedy was always to revert to the stock file. My advice is to use
stock map text. You lose GeneralsMap's label styling and nothing else.

Rebuilding it properly is possible but is not a column transplant like the hex
art: the offsets differ in roughly 350 places and there is no way to tell which
of those are overkill01's deliberate repositioning and which are the game's own
corrections since 2021. Someone with the patience to go through them would be
doing real work, and it would be worth having.


How it was built, if you want to repeat it
------------------------------------------
Exactly thek3mu's method:

  1. Export the generic CSVs with the map mod ENABLED   -> the mod's HexArt.csv
  2. Disable the mod
  3. Export the generic CSVs again                      -> stock 1.05.02
  4. Copy the six coastArtIdx columns from (1) into (3), matched on x,y
  5. Import the result, then **Save Generic Data**

Step 5 is easy to miss and costs you the whole job if you do. Import From CSV
loads the data into the editor; it does not write w_hexart.dat. Only Save
Generic Data does. The manual is blunt about it: "Failure to do so will result
in the loss of all changes you have made since the last save."

Step 4 was done with a script rather than by hand in a spreadsheet, on the
grounds that 134,190 rows is too many to eyeball. It matches rows on the x,y
key rather than on row order, refuses outright if the two exports' column
headers differ in any way, refuses on a duplicate or missing key, preserves CRLF
line endings and the UTF-8 byte-order mark, and reads the written file back off
disk and compares it row by row before reporting success.

Verified from both directions:

    merged vs stock 1.05.02      differs ONLY in coastArtIdx, 869 rows
    merged vs thek3mu's 1.04.16  differs ONLY in railArtIdx, 6 rows


Status, honestly
----------------
The import itself has not been independently verified. A .dat is compressed, so
the only way to confirm the editor took every column faithfully is to export the
generic CSV again and compare it against the merged CSV it was built from. The
file loads, the map draws, and the sizes are consistent - but a silently dropped
column would not be visible to the eye.

If you install it and something looks wrong, say so in the thread and I will
pull it.


File hashes
-----------
First 16 hex characters of the SHA-256:

    w_hexart.dat                dc4af2288e802341     330,200 bytes

For reference, the CSV it was built from and the two inputs to that:

    merged HexArt.csv           81296f5a98c15074  10,959,182 bytes

    stock 1.05.02 HexArt.csv    6645f1d43540ae68  10,960,479 bytes
    thek3mu 1.04.16 HexArt.csv  55a00f26e86d4872  10,959,182 bytes

Built on 1.05.02 - exe FileVersion 1,0,5,02; whatsnew heads V1.05.02, dated
11 October 2026.
