(svn r12101) -Fix (r12100): there are void tiles at MapMaxX,Y - have to substract one to be on water border tiles
authorsmatz
Sun, 10 Feb 2008 14:16:25 +0000
changeset 9022 6a009a1106fd
parent 9021 6cacfba4ef5e
child 9023 3435736a1a6b
(svn r12101) -Fix (r12100): there are void tiles at MapMaxX,Y - have to substract one to be on water border tiles
src/openttd.cpp
src/water_cmd.cpp
--- a/src/openttd.cpp	Sun Feb 10 14:00:52 2008 +0000
+++ b/src/openttd.cpp	Sun Feb 10 14:16:25 2008 +0000
@@ -2364,7 +2364,7 @@
 
 	if (CheckSavegameVersion(87)) {
 		for (TileIndex t = 0; t < map_size; t++) {
-			if (!IsTileType(t, MP_VOID) && (TileX(t) == 0 || TileY(t) == 0 || TileX(t) == MapMaxX() || TileY(t) == MapMaxY())) {
+			if (!IsTileType(t, MP_VOID) && (TileX(t) == 0 || TileY(t) == 0 || TileX(t) == MapMaxX() - 1 || TileY(t) == MapMaxY() - 1)) {
 				/* Some version 86 savegames have wrong water class at map borders (under buoy, or after removing buoy).
 				 * This conversion has to be done before buoys with invalid owner are removed. */
 				SetWaterClass(t, WATER_CLASS_SEA);
--- a/src/water_cmd.cpp	Sun Feb 10 14:00:52 2008 +0000
+++ b/src/water_cmd.cpp	Sun Feb 10 14:16:25 2008 +0000
@@ -111,7 +111,7 @@
 	/* Mark tile dirty in all cases */
 	MarkTileDirtyByTile(t);
 
-	if (TileX(t) == 0 || TileY(t) == 0 || TileX(t) == MapMaxX() || TileY(t) == MapMaxY()) {
+	if (TileX(t) == 0 || TileY(t) == 0 || TileX(t) == MapMaxX() - 1 || TileY(t) == MapMaxY() - 1) {
 		/* tiles at map borders are always WATER_CLASS_SEA */
 		SetWaterClass(t, WATER_CLASS_SEA);
 		return;