diff options
author | Erich Eckner <git@eckner.net> | 2018-11-05 11:12:09 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-11-16 19:11:46 +0100 |
commit | a4701d576e54a47745a19d89e691c791a4f181ed (patch) | |
tree | f5ca7a7f7479bf169b9ae92cd2367317edf76f74 /src/landscape.cpp | |
parent | 5430113f4a842e519d2661a490022dcdf86f5247 (diff) | |
download | openttd-a4701d576e54a47745a19d89e691c791a4f181ed.tar.xz |
src/landscape.cpp, src/tile_map.h: fix bug which makes assert fail
Diffstat (limited to 'src/landscape.cpp')
-rw-r--r-- | src/landscape.cpp | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/src/landscape.cpp b/src/landscape.cpp index 18f27807d..152aceda7 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -35,6 +35,7 @@ #include "framerate_type.h" #include <list> #include <set> +#include "layer_func.h" #include "table/strings.h" #include "table/sprites.h" @@ -760,22 +761,25 @@ void RunTileLoop() void InitializeLandscape() { - uint maxx = MapMaxX(); - uint maxy = MapMaxY(); + uint maxx = LayerMaxX(); + uint maxy = LayerMaxY(); uint sizex = MapSizeX(); - - uint y; - for (y = _settings_game.construction.freeform_edges ? 1 : 0; y < maxy; y++) { - uint x; - for (x = _settings_game.construction.freeform_edges ? 1 : 0; x < maxx; x++) { - MakeClear(sizex * y + x, CLEAR_GRASS, 3); - SetTileHeight(sizex * y + x, 0); - SetTropicZone(sizex * y + x, TROPICZONE_NORMAL); - ClearBridgeMiddle(sizex * y + x); + uint layersize = LayerSize(); + + FOR_ALL_LAYERS(layer) { + uint y; + for (y = _settings_game.construction.freeform_edges ? 1 : 0; y < maxy; y++) { + uint x; + for (x = _settings_game.construction.freeform_edges ? 1 : 0; x < maxx; x++) { + MakeClear(layer * layersize + sizex * y + x, CLEAR_GRASS, 3); + SetTileHeight(layer * layersize + sizex * y + x, 0); + SetTropicZone(layer * layersize + sizex * y + x, TROPICZONE_NORMAL); + ClearBridgeMiddle(layer * layersize + sizex * y + x); + } + MakeVoid(layer * layersize + sizex * y + x); } - MakeVoid(sizex * y + x); + for (uint x = 0; x < sizex; x++) MakeVoid(layer * layersize + sizex * y + x); } - for (uint x = 0; x < sizex; x++) MakeVoid(sizex * y + x); } static const byte _genterrain_tbl_1[5] = { 10, 22, 33, 37, 4 }; |