diff options
Diffstat (limited to 'src/saveload/map_sl.cpp')
-rw-r--r-- | src/saveload/map_sl.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/saveload/map_sl.cpp b/src/saveload/map_sl.cpp index e85313762..29ef2f083 100644 --- a/src/saveload/map_sl.cpp +++ b/src/saveload/map_sl.cpp @@ -27,7 +27,7 @@ static uint32 _layer_count; static const SaveLoad _map_desc[] = { SLEG_CONDVAR("dim_x", _map_dim_x, SLE_UINT32, SLV_6, SL_MAX_VERSION), SLEG_CONDVAR("dim_y", _map_dim_y, SLE_UINT32, SLV_6, SL_MAX_VERSION), - SLEG_CONDVAR("layer_count", _layer_count, SLE_UINT32, SLV_6, SL_MAX_VERSION), + SLEG_CONDVAR("layer_count", _layer_count, SLE_UINT32, SLV_UNDERGROUND, SL_MAX_VERSION), }; struct MAPSChunkHandler : ChunkHandler { @@ -53,6 +53,8 @@ struct MAPSChunkHandler : ChunkHandler { SlGlobList(slt); if (!IsSavegameVersionBefore(SLV_RIFF_TO_ARRAY) && SlIterateArray() != -1) SlErrorCorrupt("Too many MAPS entries"); + if (IsSavegameVersionBefore(SLV_UNDERGROUND)) + _layer_count = 1; AllocateMap(_map_dim_x, _map_dim_y/_layer_count, _layer_count); } |