From 3a89108a55b6ee45550ed8b5e01434b51c2f6995 Mon Sep 17 00:00:00 2001 From: tron Date: Sat, 29 Jan 2005 19:45:14 +0000 Subject: (svn r1722) -Feature: Bigger maps - anyone? --- misc.c | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to 'misc.c') diff --git a/misc.c b/misc.c index 1ed230671..43415a208 100644 --- a/misc.c +++ b/misc.c @@ -165,7 +165,7 @@ void InitializeAirportGui(void); void InitializeDock(void); void InitializeDockGui(void); void InitializeIndustries(void); -void InitializeLandscape(void); +void InitializeLandscape(uint log_x, uint log_y); void InitializeTowns(void); void InitializeTrees(void); void InitializeSigns(void); @@ -187,7 +187,7 @@ void GenerateTrees(void); void ConvertGroundTilesIntoWaterTiles(void); -void InitializeGame(void) +void InitializeGame(uint log_x, uint log_y) { // Initialize the autoreplace array. Needs to be cleared between each game uint i; @@ -217,7 +217,7 @@ void InitializeGame(void) InitializeOrders(); InitNewsItemStructs(); - InitializeLandscape(); + InitializeLandscape(log_x, log_y); InitializeClearLand(); InitializeRail(); InitializeRailGui(); @@ -248,7 +248,7 @@ void InitializeGame(void) ResetObjectToPlace(); } -void GenerateWorld(int mode) +void GenerateWorld(int mode, uint log_x, uint log_y) { int i; @@ -256,7 +256,7 @@ void GenerateWorld(int mode) _current_player = OWNER_NONE; _generating_world = true; - InitializeGame(); + InitializeGame(log_x, log_y); SetObjectToPlace(1, 0, 0, 0); // Must start economy early because of the costs. @@ -860,6 +860,28 @@ static void SaveLoad_VIEW(void) SlGlobList(_view_desc); } +static uint32 _map_dim_x; +static uint32 _map_dim_y; + +static const SaveLoadGlobVarList _map_dimensions[] = { + {&_map_dim_x, SLE_UINT32, 6, 255}, + {&_map_dim_y, SLE_UINT32, 6, 255}, + {NULL, 0, 0, 0} +}; + +static void Save_MAPSIZE(void) +{ + _map_dim_x = MapLogX(); + _map_dim_y = MapLogY(); + SlGlobList(_map_dimensions); +} + +static void Load_MAPSIZE(void) +{ + SlGlobList(_map_dimensions); + InitMap(_map_dim_x, _map_dim_y); +} + static void SaveLoad_MAPT(void) { SlArray(_map_type_and_height, MapSize(), SLE_UINT8); @@ -928,6 +950,7 @@ static void Load_CHTS(void) const ChunkHandler _misc_chunk_handlers[] = { + { 'MAPS', Save_MAPSIZE, Load_MAPSIZE, CH_RIFF }, { 'MAPT', SaveLoad_MAPT, SaveLoad_MAPT, CH_RIFF }, { 'MAP2', SaveLoad_MAP2, SaveLoad_MAP2, CH_RIFF }, { 'M3LO', SaveLoad_M3LO, SaveLoad_M3LO, CH_RIFF }, -- cgit v1.2.3-54-g00ecf