<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 Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev