diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1452,9 +1452,10 @@ static bool CheckIfCanLevelIndustryPlatf 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; diff --git a/src/lang/english.txt b/src/lang/english.txt --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -1111,6 +1111,7 @@ STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUC 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} diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp --- 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 diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -1371,6 +1371,7 @@ static SettingsPage _settings_economy_to 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"), }; diff --git a/src/settings_type.h b/src/settings_type.h --- a/src/settings_type.h +++ b/src/settings_type.h @@ -191,6 +191,7 @@ struct ConstructionSettings { 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 }; diff --git a/src/table/settings.h b/src/table/settings.h --- a/src/table/settings.h +++ b/src/table/settings.h @@ -432,6 +432,7 @@ const SettingDesc _settings[] = { 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),