|
@@ -93,27 +93,27 @@ enum RightClickClose : uint8_t {
|
|
|
|
|
|
/** Settings related to the difficulty of the game */
|
|
|
struct DifficultySettings {
|
|
|
byte competitor_start_time; ///< Unused value, used to load old savegames.
|
|
|
byte competitor_intelligence; ///< Unused value, used to load old savegames.
|
|
|
uint8_t competitor_start_time; ///< Unused value, used to load old savegames.
|
|
|
uint8_t competitor_intelligence; ///< Unused value, used to load old savegames.
|
|
|
|
|
|
byte max_no_competitors; ///< the number of competitors (AIs)
|
|
|
uint8_t max_no_competitors; ///< the number of competitors (AIs)
|
|
|
uint16_t competitors_interval; ///< the interval (in minutes) between adding competitors
|
|
|
byte number_towns; ///< the amount of towns
|
|
|
byte industry_density; ///< The industry density. @see IndustryDensity
|
|
|
uint8_t number_towns; ///< the amount of towns
|
|
|
uint8_t industry_density; ///< The industry density. @see IndustryDensity
|
|
|
uint32_t max_loan; ///< the maximum initial loan
|
|
|
byte initial_interest; ///< amount of interest (to pay over the loan)
|
|
|
byte vehicle_costs; ///< amount of money spent on vehicle running cost
|
|
|
byte competitor_speed; ///< the speed at which the AI builds
|
|
|
byte vehicle_breakdowns; ///< likelihood of vehicles breaking down
|
|
|
byte subsidy_multiplier; ///< payment multiplier for subsidized deliveries
|
|
|
uint8_t initial_interest; ///< amount of interest (to pay over the loan)
|
|
|
uint8_t vehicle_costs; ///< amount of money spent on vehicle running cost
|
|
|
uint8_t competitor_speed; ///< the speed at which the AI builds
|
|
|
uint8_t vehicle_breakdowns; ///< likelihood of vehicles breaking down
|
|
|
uint8_t subsidy_multiplier; ///< payment multiplier for subsidized deliveries
|
|
|
uint16_t subsidy_duration; ///< duration of subsidies
|
|
|
byte construction_cost; ///< how expensive is building
|
|
|
byte terrain_type; ///< the mountainousness of the landscape
|
|
|
byte quantity_sea_lakes; ///< the amount of seas/lakes
|
|
|
uint8_t construction_cost; ///< how expensive is building
|
|
|
uint8_t terrain_type; ///< the mountainousness of the landscape
|
|
|
uint8_t quantity_sea_lakes; ///< the amount of seas/lakes
|
|
|
bool economy; ///< how volatile is the economy
|
|
|
bool line_reverse_mode; ///< reversing at stations or not
|
|
|
bool disasters; ///< are disasters enabled
|
|
|
byte town_council_tolerance; ///< minimum required town ratings to be allowed to demolish stuff
|
|
|
uint8_t town_council_tolerance; ///< minimum required town ratings to be allowed to demolish stuff
|
|
|
bool infinite_money; ///< whether spending money despite negative balance is allowed
|
|
|
};
|
|
|
|
|
@@ -137,7 +137,7 @@ struct GUISettings {
|
|
|
bool new_nonstop; ///< ttdpatch compatible nonstop handling
|
|
|
uint8_t stop_location; ///< what is the default stop location of trains?
|
|
|
uint8_t auto_scrolling; ///< scroll when moving mouse to the edge (see #ViewportAutoscrolling)
|
|
|
byte errmsg_duration; ///< duration of error message
|
|
|
uint8_t errmsg_duration; ///< duration of error message
|
|
|
uint16_t hover_delay_ms; ///< time required to activate a hover event, in milliseconds
|
|
|
bool link_terraform_toolbar; ///< display terraform toolbar when displaying rail, road, water and airport toolbars
|
|
|
uint8_t smallmap_land_colour; ///< colour used for land and heightmap at the smallmap
|
|
@@ -145,7 +145,7 @@ struct GUISettings {
|
|
|
uint8_t scroll_mode; ///< viewport scroll mode
|
|
|
bool smooth_scroll; ///< smooth scroll viewports
|
|
|
bool measure_tooltip; ///< show a permanent tooltip when dragging tools
|
|
|
byte liveries; ///< options for displaying company liveries, 0=none, 1=self, 2=all
|
|
|
uint8_t liveries; ///< options for displaying company liveries, 0=none, 1=self, 2=all
|
|
|
bool prefer_teamchat; ///< choose the chat message target with \<ENTER\>, true=all clients, false=your team
|
|
|
uint8_t advanced_vehicle_list; ///< use the "advanced" vehicle list
|
|
|
uint8_t loading_indicators; ///< show loading indicators
|
|
@@ -163,7 +163,7 @@ struct GUISettings {
|
|
|
bool autosave_on_exit; ///< save an autosave when you quit the game, but do not ask "Do you really want to quit?"
|
|
|
bool autosave_on_network_disconnect; ///< save an autosave when you get disconnected from a network game with an error?
|
|
|
uint8_t date_format_in_default_names; ///< should the default savegame/screenshot name use long dates (31th Dec 2008), short dates (31-12-2008) or ISO dates (2008-12-31)
|
|
|
byte max_num_autosaves; ///< controls how many autosavegames are made before the game starts to overwrite (names them 0 to max_num_autosaves - 1)
|
|
|
uint8_t max_num_autosaves; ///< controls how many autosavegames are made before the game starts to overwrite (names them 0 to max_num_autosaves - 1)
|
|
|
bool population_in_label; ///< show the population of a town in its label?
|
|
|
uint8_t right_mouse_btn_emulation; ///< should we emulate right mouse clicking?
|
|
|
uint8_t scrollwheel_scrolling; ///< scrolling using the scroll wheel?
|
|
@@ -178,19 +178,19 @@ struct GUISettings {
|
|
|
TimetableMode timetable_mode; ///< Time units for timetables: days, seconds, or ticks
|
|
|
bool quick_goto; ///< Allow quick access to 'goto button' in vehicle orders window
|
|
|
bool auto_euro; ///< automatically switch to euro in 2002
|
|
|
byte drag_signals_density; ///< many signals density
|
|
|
uint8_t drag_signals_density; ///< many signals density
|
|
|
bool drag_signals_fixed_distance; ///< keep fixed distance between signals when dragging
|
|
|
TimerGameCalendar::Year semaphore_build_before; ///< build semaphore signals automatically before this year
|
|
|
byte news_message_timeout; ///< how much longer than the news message "age" should we keep the message in the history
|
|
|
uint8_t news_message_timeout; ///< how much longer than the news message "age" should we keep the message in the history
|
|
|
bool show_track_reservation; ///< highlight reserved tracks.
|
|
|
byte station_numtracks; ///< the number of platforms to default on for rail stations
|
|
|
byte station_platlength; ///< the platform length, in tiles, for rail stations
|
|
|
uint8_t station_numtracks; ///< the number of platforms to default on for rail stations
|
|
|
uint8_t station_platlength; ///< the platform length, in tiles, for rail stations
|
|
|
bool station_dragdrop; ///< whether drag and drop is enabled for stations
|
|
|
bool station_show_coverage; ///< whether to highlight coverage area
|
|
|
bool persistent_buildingtools; ///< keep the building tools active after usage
|
|
|
bool expenses_layout; ///< layout of expenses window
|
|
|
uint32_t last_newgrf_count; ///< the numbers of NewGRFs we found during the last scan
|
|
|
byte missing_strings_threshold; ///< the number of missing strings before showing the warning
|
|
|
uint8_t missing_strings_threshold; ///< the number of missing strings before showing the warning
|
|
|
uint8_t graph_line_thickness; ///< the thickness of the lines in the various graph guis
|
|
|
uint8_t osk_activation; ///< Mouse gesture to trigger the OSK.
|
|
|
Colours starting_colour; ///< default color scheme for the company to start a new game with
|
|
@@ -257,14 +257,14 @@ struct MusicSettings {
|
|
|
|
|
|
/** Settings related to currency/unit systems. */
|
|
|
struct LocaleSettings {
|
|
|
byte currency; ///< currency we currently use
|
|
|
byte units_velocity; ///< unit system for velocity of trains and road vehicles
|
|
|
byte units_velocity_nautical; ///< unit system for velocity of ships and aircraft
|
|
|
byte units_power; ///< unit system for power
|
|
|
byte units_weight; ///< unit system for weight
|
|
|
byte units_volume; ///< unit system for volume
|
|
|
byte units_force; ///< unit system for force
|
|
|
byte units_height; ///< unit system for height
|
|
|
uint8_t currency; ///< currency we currently use
|
|
|
uint8_t units_velocity; ///< unit system for velocity of trains and road vehicles
|
|
|
uint8_t units_velocity_nautical; ///< unit system for velocity of ships and aircraft
|
|
|
uint8_t units_power; ///< unit system for power
|
|
|
uint8_t units_weight; ///< unit system for weight
|
|
|
uint8_t units_volume; ///< unit system for volume
|
|
|
uint8_t units_force; ///< unit system for force
|
|
|
uint8_t units_height; ///< unit system for height
|
|
|
std::string digit_group_separator; ///< thousand separator for non-currencies
|
|
|
std::string digit_group_separator_currency; ///< thousand separator for currencies
|
|
|
std::string digit_decimal_separator; ///< decimal separator
|
|
@@ -341,27 +341,27 @@ struct GameCreationSettings {
|
|
|
TimerGameCalendar::Year ending_year; ///< scoring end date
|
|
|
uint8_t map_x; ///< X size of map
|
|
|
uint8_t map_y; ///< Y size of map
|
|
|
byte land_generator; ///< the landscape generator
|
|
|
byte oil_refinery_limit; ///< distance oil refineries allowed from map edge
|
|
|
byte snow_line_height; ///< the configured snow line height (deduced from "snow_coverage")
|
|
|
byte snow_coverage; ///< the amount of snow coverage on the map
|
|
|
byte desert_coverage; ///< the amount of desert coverage on the map
|
|
|
byte heightmap_height; ///< highest mountain for heightmap (towards what it scales)
|
|
|
byte tgen_smoothness; ///< how rough is the terrain from 0-3
|
|
|
byte tree_placer; ///< the tree placer algorithm
|
|
|
byte heightmap_rotation; ///< rotation director for the heightmap
|
|
|
byte se_flat_world_height; ///< land height a flat world gets in SE
|
|
|
byte town_name; ///< the town name generator used for town names
|
|
|
byte landscape; ///< the landscape we're currently in
|
|
|
byte water_borders; ///< bitset of the borders that are water
|
|
|
uint8_t land_generator; ///< the landscape generator
|
|
|
uint8_t oil_refinery_limit; ///< distance oil refineries allowed from map edge
|
|
|
uint8_t snow_line_height; ///< the configured snow line height (deduced from "snow_coverage")
|
|
|
uint8_t snow_coverage; ///< the amount of snow coverage on the map
|
|
|
uint8_t desert_coverage; ///< the amount of desert coverage on the map
|
|
|
uint8_t heightmap_height; ///< highest mountain for heightmap (towards what it scales)
|
|
|
uint8_t tgen_smoothness; ///< how rough is the terrain from 0-3
|
|
|
uint8_t tree_placer; ///< the tree placer algorithm
|
|
|
uint8_t heightmap_rotation; ///< rotation director for the heightmap
|
|
|
uint8_t se_flat_world_height; ///< land height a flat world gets in SE
|
|
|
uint8_t town_name; ///< the town name generator used for town names
|
|
|
uint8_t landscape; ///< the landscape we're currently in
|
|
|
uint8_t water_borders; ///< bitset of the borders that are water
|
|
|
uint16_t custom_town_number; ///< manually entered number of towns
|
|
|
uint16_t custom_industry_number; ///< manually entered number of industries
|
|
|
byte variety; ///< variety level applied to TGP
|
|
|
byte custom_terrain_type; ///< manually entered height for TGP to aim for
|
|
|
byte custom_sea_level; ///< manually entered percentage of water in the map
|
|
|
byte min_river_length; ///< the minimum river length
|
|
|
byte river_route_random; ///< the amount of randomicity for the route finding
|
|
|
byte amount_of_rivers; ///< the amount of rivers
|
|
|
uint8_t variety; ///< variety level applied to TGP
|
|
|
uint8_t custom_terrain_type; ///< manually entered height for TGP to aim for
|
|
|
uint8_t custom_sea_level; ///< manually entered percentage of water in the map
|
|
|
uint8_t min_river_length; ///< the minimum river length
|
|
|
uint8_t river_route_random; ///< the amount of randomicity for the route finding
|
|
|
uint8_t amount_of_rivers; ///< the amount of rivers
|
|
|
};
|
|
|
|
|
|
/** Settings related to construction in-game */
|
|
@@ -370,9 +370,9 @@ struct ConstructionSettings {
|
|
|
bool build_on_slopes; ///< allow building on slopes
|
|
|
bool autoslope; ///< allow terraforming under things
|
|
|
uint16_t max_bridge_length; ///< maximum length of bridges
|
|
|
byte max_bridge_height; ///< maximum height of bridges
|
|
|
uint8_t max_bridge_height; ///< maximum height of bridges
|
|
|
uint16_t max_tunnel_length; ///< maximum length of tunnels
|
|
|
byte train_signal_side; ///< show signals on left / driving / right side
|
|
|
uint8_t train_signal_side; ///< show signals on left / driving / right side
|
|
|
bool extra_dynamite; ///< extra dynamite
|
|
|
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
|
|
@@ -489,12 +489,12 @@ struct PathfinderSettings {
|
|
|
bool forbid_90_deg; ///< forbid trains to make 90 deg turns
|
|
|
|
|
|
bool reverse_at_signals; ///< whether to reverse at signals at all
|
|
|
byte wait_oneway_signal; ///< waitingtime in days before a oneway signal
|
|
|
byte wait_twoway_signal; ///< waitingtime in days before a twoway signal
|
|
|
uint8_t wait_oneway_signal; ///< waitingtime in days before a oneway signal
|
|
|
uint8_t wait_twoway_signal; ///< waitingtime in days before a twoway signal
|
|
|
|
|
|
bool reserve_paths; ///< always reserve paths regardless of signal type.
|
|
|
byte wait_for_pbs_path; ///< how long to wait for a path reservation.
|
|
|
byte path_backoff_interval; ///< ticks between checks for a free path.
|
|
|
uint8_t wait_for_pbs_path; ///< how long to wait for a path reservation.
|
|
|
uint8_t path_backoff_interval; ///< ticks between checks for a free path.
|
|
|
|
|
|
NPFSettings npf; ///< pathfinder settings for the new pathfinder
|
|
|
YAPFSettings yapf; ///< pathfinder settings for the yet another pathfinder
|
|
@@ -528,8 +528,8 @@ struct VehicleSettings {
|
|
|
uint8_t freight_trains; ///< value to multiply the weight of cargo by
|
|
|
bool dynamic_engines; ///< enable dynamic allocation of engine data
|
|
|
bool never_expire_vehicles; ///< never expire vehicles
|
|
|
byte extend_vehicle_life; ///< extend vehicle life by this many years
|
|
|
byte road_side; ///< the side of the road vehicles drive on
|
|
|
uint8_t extend_vehicle_life; ///< extend vehicle life by this many years
|
|
|
uint8_t road_side; ///< the side of the road vehicles drive on
|
|
|
uint8_t plane_crashes; ///< number of plane crashes, 0 = none, 1 = reduced, 2 = normal
|
|
|
};
|
|
|
|
|
@@ -539,7 +539,7 @@ struct EconomySettings {
|
|
|
bool bribe; ///< enable bribing the local authority
|
|
|
EconomyType type; ///< economy type (original/smooth/frozen)
|
|
|
uint8_t feeder_payment_share; ///< percentage of leg payment to virtually pay in feeder systems
|
|
|
byte dist_local_authority; ///< distance for town local authority, default 20
|
|
|
uint8_t dist_local_authority; ///< distance for town local authority, default 20
|
|
|
bool exclusive_rights; ///< allow buying exclusive rights
|
|
|
bool fund_buildings; ///< allow funding new buildings
|
|
|
bool fund_roads; ///< allow funding local road reconstruction
|
|
@@ -591,7 +591,7 @@ struct StationSettings {
|
|
|
bool adjacent_stations; ///< allow stations to be built directly adjacent to other stations
|
|
|
bool distant_join_stations; ///< allow to join non-adjacent stations
|
|
|
bool never_expire_airports; ///< never expire airports
|
|
|
byte station_spread; ///< amount a station may spread
|
|
|
uint8_t station_spread; ///< amount a station may spread
|
|
|
};
|
|
|
|
|
|
/** Default settings for vehicles. */
|