diff options
author | tron <tron@openttd.org> | 2005-01-26 18:17:50 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2005-01-26 18:17:50 +0000 |
commit | 60e59e186d1fa0853b227242fbca7ae997725214 (patch) | |
tree | 67b4371b9a0d611d7856026852796bb0e9cee35c | |
parent | f20758441c50e84056de9a5447de88024da8bd2c (diff) | |
download | openttd-60e59e186d1fa0853b227242fbca7ae997725214.tar.xz |
(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
-rw-r--r-- | landscape.c | 9 | ||||
-rw-r--r-- | ttd.c | 14 |
2 files changed, 13 insertions, 10 deletions
diff --git a/landscape.c b/landscape.c index bb8454eb0..4541cfa70 100644 --- a/landscape.c +++ b/landscape.c @@ -492,10 +492,11 @@ void InitializeLandscape(void) 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); } @@ -1258,15 +1258,17 @@ static void UpdateCurrencies(void) _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) |