File diff r25751:3154638283de → r25752:2d6c2238f03d
src/saveload/map_sl.cpp
Show inline comments
 
@@ -8,13 +8,15 @@
 
/** @file map_sl.cpp Code handling saving and loading of map */
 

	
 
#include "../stdafx.h"
 

	
 
#include "saveload.h"
 
#include "compat/map_sl_compat.h"
 

	
 
#include "../map_func.h"
 
#include "../core/bitmath_func.hpp"
 
#include "../fios.h"
 
#include <array>
 

	
 
#include "saveload.h"
 

	
 
#include "../safeguards.h"
 

	
 
static uint32 _map_dim_x;
 
@@ -27,6 +29,8 @@ static const SaveLoad _map_desc[] = {
 

	
 
static void Save_MAPS()
 
{
 
	SlTableHeader(_map_desc);
 

	
 
	_map_dim_x = MapSizeX();
 
	_map_dim_y = MapSizeY();
 

	
 
@@ -36,8 +40,10 @@ static void Save_MAPS()
 

	
 
static void Load_MAPS()
 
{
 
	const std::vector<SaveLoad> slt = SlCompatTableHeader(_map_desc, _map_sl_compat);
 

	
 
	if (!IsSavegameVersionBefore(SLV_RIFF_TO_ARRAY) && SlIterateArray() == -1) return;
 
	SlGlobList(_map_desc);
 
	SlGlobList(slt);
 
	if (!IsSavegameVersionBefore(SLV_RIFF_TO_ARRAY) && SlIterateArray() != -1) SlErrorCorrupt("Too many MAPS entries");
 

	
 
	AllocateMap(_map_dim_x, _map_dim_y);
 
@@ -45,8 +51,10 @@ static void Load_MAPS()
 

	
 
static void Check_MAPS()
 
{
 
	const std::vector<SaveLoad> slt = SlCompatTableHeader(_map_desc, _map_sl_compat);
 

	
 
	if (!IsSavegameVersionBefore(SLV_RIFF_TO_ARRAY) && SlIterateArray() == -1) return;
 
	SlGlobList(_map_desc);
 
	SlGlobList(slt);
 
	if (!IsSavegameVersionBefore(SLV_RIFF_TO_ARRAY) && SlIterateArray() != -1) SlErrorCorrupt("Too many MAPS entries");
 

	
 
	_load_check_data.map_size_x = _map_dim_x;
 
@@ -303,7 +311,7 @@ static void Save_MAP8()
 

	
 

	
 
static const ChunkHandler map_chunk_handlers[] = {
 
	{ 'MAPS', Save_MAPS, Load_MAPS, nullptr, Check_MAPS, CH_ARRAY },
 
	{ 'MAPS', Save_MAPS, Load_MAPS, nullptr, Check_MAPS, CH_TABLE },
 
	{ 'MAPT', Save_MAPT, Load_MAPT, nullptr, nullptr,    CH_RIFF },
 
	{ 'MAPH', Save_MAPH, Load_MAPH, nullptr, nullptr,    CH_RIFF },
 
	{ 'MAPO', Save_MAP1, Load_MAP1, nullptr, nullptr,    CH_RIFF },