(svn r20048) -Feature: Add a setting to forbid towns building level crossings.

This commit is contained in:
michi_cc 2010-07-02 16:34:07 +00:00
parent ffdbb7ec81
commit a75583bbb6
6 changed files with 6 additions and 1 deletions

View File

@ -1274,6 +1274,7 @@ STR_CONFIG_SETTING_TOWN_LAYOUT_2X2_GRID :2x2 grid
STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :3x3 grid
STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :random
STR_CONFIG_SETTING_ALLOW_TOWN_ROADS :{LTBLUE}Towns are allowed to build roads: {ORANGE}{STRING1}
STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS :{LTBLUE}Towns are allowed to build level crossings: {ORANGE}{STRING1}
STR_CONFIG_SETTING_NOISE_LEVEL :{LTBLUE}Allow town controlled noise level for airports: {ORANGE}{STRING}
STR_CONFIG_SETTING_TOWN_FOUNDING :{LTBLUE}Founding towns in game: {ORANGE}{STRING1}
STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :forbidden

View File

@ -47,7 +47,7 @@
#include "saveload_internal.h"
extern const uint16 SAVEGAME_VERSION = 142;
extern const uint16 SAVEGAME_VERSION = 143;
SavegameType _savegame_type; ///< type of savegame we are loading

View File

@ -1357,6 +1357,7 @@ static SettingEntry _settings_economy_towns[] = {
SettingEntry("economy.exclusive_rights"),
SettingEntry("economy.town_layout"),
SettingEntry("economy.allow_town_roads"),
SettingEntry("economy.allow_town_level_crossings"),
SettingEntry("economy.found_town"),
SettingEntry("economy.mod_road_rebuild"),
SettingEntry("economy.town_growth_rate"),

View File

@ -350,6 +350,7 @@ struct EconomySettings {
TownFoundingByte found_town; ///< town founding, @see TownFounding
bool station_noise_level; ///< build new airports when the town noise level is still within accepted limits
uint16 town_noise_population[3]; ///< population to base decision on noise evaluation (@see town_council_tolerance)
bool allow_town_level_crossings; ///< towns are allowed to build level crossings
};
/** Settings related to stations. */

View File

@ -373,6 +373,7 @@ const SettingDesc _settings[] = {
SDT_CONDVAR(GameSettings, economy.town_layout, SLE_UINT8, 59, SL_MAX_VERSION, 0,MS,TL_ORIGINAL,TL_BEGIN,NUM_TLS - 1, 1, STR_CONFIG_SETTING_TOWN_LAYOUT, TownFoundingChanged),
SDT_CONDBOOL(GameSettings, economy.allow_town_roads, 113, SL_MAX_VERSION, 0,NN, true, STR_CONFIG_SETTING_ALLOW_TOWN_ROADS, NULL),
SDT_CONDVAR(GameSettings, economy.found_town, SLE_UINT8,128, SL_MAX_VERSION, 0,MS,TF_FORBIDDEN,TF_BEGIN,TF_END - 1, 1, STR_CONFIG_SETTING_TOWN_FOUNDING, TownFoundingChanged),
SDT_CONDBOOL(GameSettings, economy.allow_town_level_crossings, 143, SL_MAX_VERSION, 0,NN, true, STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS, NULL),
SDT_VAR(GameSettings, vehicle.train_acceleration_model, SLE_UINT8, 0,MS, 0, 0, 1, 1, STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL, TrainAccelerationModelChanged),
SDT_CONDVAR(GameSettings, vehicle.roadveh_acceleration_model, SLE_UINT8,139, SL_MAX_VERSION, 0,MS, 0, 0, 1, 1, STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL, RoadVehAccelerationModelChanged),

View File

@ -1043,6 +1043,7 @@ static void GrowTownInTile(TileIndex *tile_ptr, RoadBits cur_rb, DiagDirection t
_grow_town_result = GROWTH_SEARCH_STOPPED;
if (!_settings_game.economy.allow_town_roads && !_generating_world) return;
if (!_settings_game.economy.allow_town_level_crossings && IsTileType(tile, MP_RAILWAY)) return;
/* Remove hills etc */
if (!_settings_game.construction.build_on_slopes || Chance16(1, 6)) LevelTownLand(tile);