(svn r1683) Fix placement of MP_VOID tiles. On square maps it accidently works, but on non-square maps the wrong tiles would get marked as MP_VOID
authortron
Wed, 26 Jan 2005 18:17:50 +0000
changeset 1181 6231b823d796
parent 1180 04f306272df7
child 1182 45b34b97753c
(svn r1683) Fix placement of MP_VOID tiles. On square maps it accidently works, but on non-square maps the wrong tiles would get marked as MP_VOID
landscape.c
ttd.c
--- a/landscape.c	Wed Jan 26 17:36:59 2005 +0000
+++ b/landscape.c	Wed Jan 26 18:17:50 2005 +0000
@@ -492,10 +492,11 @@
 	memset(_map_extra_bits, 0, map_size / 4);
 	memset(_map_type_and_height, MP_CLEAR << 4, map_size);
 
-	// create void tiles on the border
-	for (i = 0; i != MapMaxY(); i++)
-		_map_type_and_height[ i * MapSizeX() + MapMaxY() ] = MP_VOID << 4;
-	memset(_map_type_and_height + MapMaxY() * MapSizeX(), MP_VOID << 4, MapSizeX());
+	// create void tiles at the border
+	for (i = 0; i < MapMaxY(); ++i)
+		SetTileType(i * MapSizeX() + MapMaxX(), MP_VOID);
+	for (i = 0; i < MapSizeX(); ++i)
+		SetTileType(MapSizeX() * MapMaxY() + i, MP_VOID);
 
 	memset(_map5, 3, map_size);
 }
--- a/ttd.c	Wed Jan 26 17:36:59 2005 +0000
+++ b/ttd.c	Wed Jan 26 18:17:50 2005 +0000
@@ -1258,15 +1258,17 @@
 	_opt.currency = convert_currency[_opt.currency];
 }
 
-// up to revision 1413, the invisible tiles at the southern border have not been MP_VOID
-// even though they should have. This is fixed by this function
+/* Up to revision 1413 the invisible tiles at the southern border have not been
+ * MP_VOID, even though they should have. This is fixed by this function
+ */
 static void UpdateVoidTiles(void)
 {
 	uint i;
-	// create void tiles on the border
-	for (i = 0; i != MapMaxY(); i++)
-		_map_type_and_height[ i * MapSizeX() + MapMaxY() ] = MP_VOID << 4;
-	memset(_map_type_and_height + MapMaxY() * MapSizeX(), MP_VOID << 4, MapSizeX());
+
+	for (i = 0; i < MapMaxY(); ++i)
+		SetTileType(i * MapSizeX() + MapMaxX(), MP_VOID);
+	for (i = 0; i < MapSizeX(); ++i)
+		SetTileType(MapSizeX() * MapMaxY() + i, MP_VOID);
 }
 
 // since savegame version 6.0 each sign has an "owner", signs without owner (from old games are set to 255)