<URL: http://bugs.freeciv.org/Ticket/Display.html?id=39377 >
Currently, rivers only occur in the center of tiles.
For civ 3 & 4, rivers appear along the edges of tiles, watering
multiple adjacent tiles.
Analyzing the requirements, it appears that the samegame could
keep the river information with 3 additional bits to avoid
duplicate/redundant information, describing the flat edges.
Where edges are shared, only one tile (the lowest numbered,
presumably in the North/Northwest) will have the bits.
Any corner information can be derived from the flat edges.
For hex tiles, need river1, river2, and river3. Keeping the edges
separately allows the different isohex and hex2t to both work with tiles
that have two rivers alternating edges (that is, river1 and river3).
For square tiles, only river1 and river3 would be used, potentially
allowing the same algorithm and graphics for the similarly oriented
hex tile edges. Of course, here river1 and river3 have no intervening
river2, so the square tiles could be encircled by river. This is
analogous to currently switching from square to hex display, where
(center) river branches display as circle artifacts.
The current "river" bit could be kept (treated as river0), making it
possible for rivers to flow both along edges and through the center.
This would be different from civ 3 & 4, making display somewhat harder,
but retaining much working code, and providing backward compatibility --
old rivers (river0) would continue to be displayed correctly.
These savefiles would not likely be "reverse" compatible with earlier
versions of the game, as new rivers would disappear and isolated center
rivers become "ponds".
Freeciv-dev mailing list