changeset 15971:4a7b8f4d73dc draft

(svn r20659) -Feature: make the (flat) area around an industry configurable (Eddi|zuHause)
author rubidium <rubidium@openttd.org>
date Sat, 28 Aug 2010 18:37:49 +0000
parents 8aa446dec4e5
children f573ceb2a402
files src/industry_cmd.cpp src/lang/english.txt src/saveload/saveload.cpp src/settings_gui.cpp src/settings_type.h src/table/settings.h
diffstat 6 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/industry_cmd.cpp
+++ b/src/industry_cmd.cpp
@@ -1452,9 +1452,10 @@
 	if (TileX(tile) <= 1 || TileY(tile) <= 1) return false;
 	/* Check that all tiles in area and surrounding are clear
 	 * this determines that there are no obstructing items */
-	TileIndex cur_tile = tile + TileDiffXY(-1, -1);
-	uint size_x = max_x + 4;
-	uint size_y = max_y + 4;
+
+	TileIndex cur_tile = tile + TileDiffXY(-_settings_game.construction.industry_platform, -_settings_game.construction.industry_platform);
+	uint size_x = max_x + 2 + 2 * _settings_game.construction.industry_platform;
+	uint size_y = max_y + 2 + 2 * _settings_game.construction.industry_platform;
 
 	/* Check if we don't leave the map */
 	if (TileX(cur_tile) + size_x >= MapMaxX() || TileY(cur_tile) + size_y >= MapMaxY()) return false;
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -1111,6 +1111,7 @@
 STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE        :none
 STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NORMAL      :as other industries
 STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_PROSPECTING :prospecting
+STR_CONFIG_SETTING_INDUSTRY_PLATFORM                            :{LTBLUE}Flat area around industries: {ORANGE}{STRING1} tile{P 0:1 "" s}
 STR_CONFIG_SETTING_MULTIPINDTOWN                                :{LTBLUE}Allow multiple similar industries per town: {ORANGE}{STRING1}
 STR_CONFIG_SETTING_LONGDATE                                     :{LTBLUE}Always show long date in the status bar: {ORANGE}{STRING1}
 STR_CONFIG_SETTING_SIGNALSIDE                                   :{LTBLUE}Show signals on the drive side: {ORANGE}{STRING1}
--- a/src/saveload/saveload.cpp
+++ b/src/saveload/saveload.cpp
@@ -210,8 +210,9 @@
  *  145   20376
  *  146   20446
  *  147   20621
+ *  148   20659
  */
-extern const uint16 SAVEGAME_VERSION = 147; ///< current savegame version of OpenTTD
+extern const uint16 SAVEGAME_VERSION = 148; ///< current savegame version of OpenTTD
 
 SavegameType _savegame_type; ///< type of savegame we are loading
 
--- a/src/settings_gui.cpp
+++ b/src/settings_gui.cpp
@@ -1371,6 +1371,7 @@
 
 static SettingEntry _settings_economy_industries[] = {
 	SettingEntry("construction.raw_industry_construction"),
+	SettingEntry("construction.industry_platform"),
 	SettingEntry("economy.multiple_industry_per_town"),
 	SettingEntry("game_creation.oil_refinery_limit"),
 };
--- a/src/settings_type.h
+++ b/src/settings_type.h
@@ -191,6 +191,7 @@
 	bool   road_stop_on_town_road;           ///< allow building of drive-through road stops on town owned roads
 	bool   road_stop_on_competitor_road;     ///< allow building of drive-through road stops on roads owned by competitors
 	uint8  raw_industry_construction;        ///< type of (raw) industry construction (none, "normal", prospecting)
+	uint8  industry_platform;                ///< the amount of flat land around an industry
 	bool   freeform_edges;                   ///< allow terraforming the tiles at the map edges
 	uint8  extra_tree_placement;             ///< (dis)allow building extra trees in-game
 };
--- a/src/table/settings.h
+++ b/src/table/settings.h
@@ -432,6 +432,7 @@
 
 	    SDT_BOOL(GameSettings, economy.inflation,                                                   0, 0,  true,                    STR_CONFIG_SETTING_INFLATION,              NULL),
 	     SDT_VAR(GameSettings, construction.raw_industry_construction, SLE_UINT8,                   0,MS,     0,     0,       2, 0, STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD, InvalidateBuildIndustryWindow),
+	 SDT_CONDVAR(GameSettings, construction.industry_platform,       SLE_UINT8,148, SL_MAX_VERSION, 0, 0,     1,     0,       4, 0, STR_CONFIG_SETTING_INDUSTRY_PLATFORM,      NULL),
 	    SDT_BOOL(GameSettings, economy.multiple_industry_per_town,                                  0, 0, false,                    STR_CONFIG_SETTING_MULTIPINDTOWN,          NULL),
 	SDT_CONDNULL(                                                            1,  0, 140),
 	    SDT_BOOL(GameSettings, economy.bribe,                                                       0, 0,  true,                    STR_CONFIG_SETTING_BRIBE,                  NULL),