author | rubidium |
Sun, 06 Apr 2008 12:26:40 +0000 | |
branch | noai |
changeset 9867 | b7d9ffe24f81 |
parent 9800 | ab08ca2a2018 |
child 9869 | 6404afe43575 |
permissions | -rw-r--r-- |
9723 | 1 |
/* $Id$ */ |
2 |
||
3 |
/** @file settings_type.h Types related to global configuration settings. */ |
|
4 |
||
5 |
#ifndef SETTINGS_TYPE_H |
|
6 |
#define SETTINGS_TYPE_H |
|
7 |
||
8 |
#include "yapf/yapf_settings.h" |
|
9 |
#include "date_type.h" |
|
10 |
#include "town_type.h" |
|
11 |
||
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
12 |
#define GAME_DIFFICULTY_NUM 18 |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
13 |
|
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
14 |
/** Specific type for Game Difficulty to ease changing the type */ |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
15 |
typedef uint16 GDType; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
16 |
struct GameDifficulty { |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
17 |
GDType max_no_competitors; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
18 |
GDType competitor_start_time; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
19 |
GDType number_towns; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
20 |
GDType number_industries; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
21 |
GDType max_loan; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
22 |
GDType initial_interest; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
23 |
GDType vehicle_costs; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
24 |
GDType competitor_speed; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
25 |
GDType competitor_intelligence; ///< no longer in use |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
26 |
GDType vehicle_breakdowns; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
27 |
GDType subsidy_multiplier; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
28 |
GDType construction_cost; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
29 |
GDType terrain_type; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
30 |
GDType quantity_sea_lakes; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
31 |
GDType economy; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
32 |
GDType line_reverse_mode; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
33 |
GDType disasters; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
34 |
GDType town_council_tolerance; ///< minimum required town ratings to be allowed to demolish stuff |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
35 |
}; |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
36 |
|
9723 | 37 |
struct GameOptions { |
38 |
GameDifficulty diff; |
|
39 |
byte diff_level; |
|
40 |
byte currency; |
|
41 |
byte units; |
|
42 |
byte town_name; |
|
43 |
byte landscape; |
|
44 |
byte snow_line; |
|
45 |
byte autosave; |
|
46 |
byte road_side; |
|
47 |
}; |
|
48 |
||
49 |
/* These are the options for the current game |
|
50 |
* either ingame, or loaded. Also used for networking games */ |
|
51 |
extern GameOptions _opt; |
|
52 |
||
53 |
/* These are the default options for a new game */ |
|
54 |
extern GameOptions _opt_newgame; |
|
55 |
||
56 |
/* Pointer to one of the two _opt OR _opt_newgame structs */ |
|
57 |
extern GameOptions *_opt_ptr; |
|
58 |
||
59 |
struct Patches { |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
60 |
bool modified_catchment; ///< different-size catchment areas |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
61 |
bool vehicle_speed; ///< show vehicle speed |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
62 |
bool build_on_slopes; ///< allow building on slopes |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
63 |
bool mammoth_trains; ///< allow very long trains |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
64 |
bool join_stations; ///< allow joining of train stations |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
65 |
bool full_load_any; ///< new full load calculation, any cargo must be full |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
66 |
bool improved_load; ///< improved loading algorithm |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
67 |
bool gradual_loading; ///< load vehicles gradually |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
68 |
byte station_spread; ///< amount a station may spread |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
69 |
bool inflation; ///< disable inflation |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
70 |
bool selectgoods; ///< only send the goods to station if a train has been there |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
71 |
bool longbridges; ///< allow 100 tile long bridges |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
72 |
bool gotodepot; ///< allow goto depot in orders |
9723 | 73 |
uint8 raw_industry_construction; ///< Type of (raw) industry construction (none, "normal", prospecting) |
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
74 |
bool multiple_industry_per_town; ///< allow many industries of the same type per town |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
75 |
bool same_industry_close; ///< allow same type industries to be built close to each other |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
76 |
bool lost_train_warn; ///< if a train can't find its destination, show a warning |
9723 | 77 |
uint8 order_review_system; |
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
78 |
bool train_income_warn; ///< if train is generating little income, show a warning |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
79 |
bool status_long_date; ///< always show long date in status bar |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
80 |
bool signal_side; ///< show signals on right side |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
81 |
bool show_finances; ///< show finances at end of year |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
82 |
bool new_nonstop; ///< ttdpatch compatible nonstop handling |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
83 |
bool roadveh_queue; ///< buggy road vehicle queueing |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
84 |
bool autoscroll; ///< scroll when moving mouse to the edge. |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
85 |
byte errmsg_duration; ///< duration of error message |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
86 |
byte land_generator; ///< the landscape generator |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
87 |
byte oil_refinery_limit; ///< distance oil refineries allowed from map edge |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
88 |
byte snow_line_height; ///< a number 0-15 that configured snow line height |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
89 |
byte tgen_smoothness; ///< how rough is the terrain from 0-3 |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
90 |
uint32 generation_seed; ///< noise seed for world generation |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
91 |
byte tree_placer; ///< the tree placer algorithm |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
92 |
byte heightmap_rotation; ///< rotation director for the heightmap |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
93 |
byte se_flat_world_height; ///< land height a flat world gets in SE |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
94 |
bool bribe; ///< enable bribing the local authority |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
95 |
bool nonuniform_stations; ///< allow nonuniform train stations |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
96 |
bool adjacent_stations; ///< allow stations to be built directly adjacent to other stations |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
97 |
bool always_small_airport; ///< always allow small airports |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
98 |
bool realistic_acceleration; ///< realistic acceleration for trains |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
99 |
bool wagon_speed_limits; ///< enable wagon speed limits |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
100 |
bool forbid_90_deg; ///< forbid trains to make 90 deg turns |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
101 |
bool invisible_trees; ///< don't show trees when buildings are transparent |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
102 |
bool no_servicing_if_no_breakdowns; ///< dont send vehicles to depot when breakdowns are disabled |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
103 |
bool link_terraform_toolbar; ///< display terraform toolbar when displaying rail, road, water and airport toolbars |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
104 |
bool reverse_scroll; ///< Right-Click-Scrolling scrolls in the opposite direction |
9723 | 105 |
bool smooth_scroll; ///< Smooth scroll viewports |
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
106 |
bool disable_elrails; ///< when true, the elrails are disabled |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
107 |
bool measure_tooltip; ///< Show a permanent tooltip when dragging tools |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
108 |
byte liveries; ///< Options for displaying company liveries, 0=none, 1=self, 2=all |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
109 |
bool prefer_teamchat; ///< Choose the chat message target with <ENTER>, true=all players, false=your team |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
110 |
uint8 advanced_vehicle_list; ///< Use the "advanced" vehicle list |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
111 |
uint8 loading_indicators; ///< Show loading indicators |
9723 | 112 |
uint8 default_rail_type; ///< The default rail type for the rail GUI |
113 |
||
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
114 |
uint8 toolbar_pos; ///< position of toolbars, 0=left, 1=center, 2=right |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
115 |
uint8 window_snap_radius; ///< Windows snap at each other if closer than this |
9723 | 116 |
|
117 |
bool always_build_infrastructure; ///< Always allow building of infrastructure, even when you do not have the vehicles for it |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
118 |
UnitID max_trains; ///< max trains in game per player (these are 16bit because the unitnumber field can't hold more) |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
119 |
UnitID max_roadveh; ///< max trucks in game per player |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
120 |
UnitID max_aircraft; ///< max planes in game per player |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
121 |
UnitID max_ships; ///< max ships in game per player |
9723 | 122 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
123 |
bool servint_ispercent; ///< service intervals are in percents |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
124 |
uint16 servint_trains; ///< service interval for trains |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
125 |
uint16 servint_roadveh; ///< service interval for road vehicles |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
126 |
uint16 servint_aircraft; ///< service interval for aircraft |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
127 |
uint16 servint_ships; ///< service interval for ships |
9723 | 128 |
|
9732 | 129 |
uint8 pathfinder_for_trains; ///< the pathfinder to use for trains |
130 |
uint8 pathfinder_for_roadvehs; ///< the pathfinder to use for roadvehicles |
|
131 |
uint8 pathfinder_for_ships; ///< the pathfinder to use for ships |
|
132 |
||
9800 | 133 |
uint8 plane_speed; ///< divisor for speed of aircraft |
134 |
||
9723 | 135 |
bool autorenew; |
136 |
int16 autorenew_months; |
|
137 |
int32 autorenew_money; |
|
138 |
||
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
139 |
byte pf_maxdepth; ///< maximum recursion depth when searching for a train route for new pathfinder |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
140 |
uint16 pf_maxlength; ///< maximum length when searching for a train route for new pathfinder |
9723 | 141 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
142 |
bool bridge_pillars; ///< show bridge pillars for high bridges |
9723 | 143 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
144 |
bool ai_disable_veh_train; ///< disable types for AI |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
145 |
bool ai_disable_veh_roadveh; ///< disable types for AI |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
146 |
bool ai_disable_veh_aircraft; ///< disable types for AI |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
147 |
bool ai_disable_veh_ship; ///< disable types for AI |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
148 |
Year starting_year; ///< starting date |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
149 |
Year ending_year; ///< end of the game (just show highscore) |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
150 |
Year colored_news_year; ///< when does newspaper become colored? |
9723 | 151 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
152 |
bool keep_all_autosave; ///< name the autosave in a different way. |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
153 |
bool autosave_on_exit; ///< save an autosave when you quit the game, but do not ask "Do you really want to quit?" |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
154 |
byte max_num_autosaves; ///< controls how many autosavegames are made before the game starts to overwrite (names them 0 to max_num_autosaves - 1) |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
155 |
bool extra_dynamite; ///< extra dynamite |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
156 |
bool road_stop_on_town_road; ///< allow building of drive-through road stops on town owned roads |
9723 | 157 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
158 |
bool never_expire_vehicles; ///< never expire vehicles |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
159 |
byte extend_vehicle_life; ///< extend vehicle life by this many years |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
160 |
|
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
161 |
bool auto_euro; ///< automatically switch to euro in 2002 |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
162 |
bool serviceathelipad; ///< service helicopters at helipads automatically (no need to send to depot) |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
163 |
bool smooth_economy; ///< smooth economy |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
164 |
bool allow_shares; ///< allow the buying/selling of shares |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
165 |
byte dist_local_authority; ///< distance for town local authority, default 20 |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
166 |
|
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
167 |
byte wait_oneway_signal; ///< waitingtime in days before a oneway signal |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
168 |
byte wait_twoway_signal; ///< waitingtime in days before a twoway signal |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
169 |
|
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
170 |
uint8 map_x; ///< Size of map |
9723 | 171 |
uint8 map_y; |
172 |
||
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
173 |
byte drag_signals_density; ///< many signals density |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
174 |
Year semaphore_build_before; ///< Build semaphore signals automatically before this year |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
175 |
bool ai_in_multiplayer; ///< Do we allow AIs in multiplayer |
9723 | 176 |
|
177 |
/* |
|
178 |
* New Path Finding |
|
179 |
*/ |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
180 |
bool new_pathfinding_all; ///< Use the newest pathfinding algorithm for all |
9723 | 181 |
|
182 |
/** |
|
183 |
* The maximum amount of search nodes a single NPF run should take. This |
|
184 |
* limit should make sure performance stays at acceptable levels at the cost |
|
185 |
* of not being perfect anymore. This will probably be fixed in a more |
|
186 |
* sophisticated way sometime soon |
|
187 |
*/ |
|
188 |
uint32 npf_max_search_nodes; |
|
189 |
||
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
190 |
uint32 npf_rail_firstred_penalty; ///< The penalty for when the first signal is red (and it is not an exit or combo signal) |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
191 |
uint32 npf_rail_firstred_exit_penalty; ///< The penalty for when the first signal is red (and it is an exit or combo signal) |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
192 |
uint32 npf_rail_lastred_penalty; ///< The penalty for when the last signal is red |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
193 |
uint32 npf_rail_station_penalty; ///< The penalty for station tiles |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
194 |
uint32 npf_rail_slope_penalty; ///< The penalty for sloping upwards |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
195 |
uint32 npf_rail_curve_penalty; ///< The penalty for curves |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
196 |
uint32 npf_rail_depot_reverse_penalty; ///< The penalty for reversing in depots |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
197 |
uint32 npf_buoy_penalty; ///< The penalty for going over (through) a buoy |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
198 |
uint32 npf_water_curve_penalty; ///< The penalty for curves |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
199 |
uint32 npf_road_curve_penalty; ///< The penalty for curves |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
200 |
uint32 npf_crossing_penalty; ///< The penalty for level crossings |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
201 |
uint32 npf_road_drive_through_penalty; ///< The penalty for going through a drive-through road stop |
9723 | 202 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
203 |
bool population_in_label; ///< Show the population of a town in his label? |
9723 | 204 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
205 |
uint8 freight_trains; ///< Value to multiply the weight of cargo by |
9723 | 206 |
|
207 |
/** YAPF settings */ |
|
208 |
YapfSettings yapf; |
|
209 |
||
210 |
uint8 right_mouse_btn_emulation; |
|
211 |
||
212 |
uint8 scrollwheel_scrolling; |
|
213 |
uint8 scrollwheel_multiplier; |
|
214 |
||
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
215 |
uint8 town_growth_rate; ///< Town growth rate |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
216 |
uint8 larger_towns; ///< The number of cities to build. These start off larger and grow twice as fast |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
217 |
uint8 initial_city_size; ///< Multiplier for the initial size of the cities compared to towns |
9723 | 218 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
219 |
bool pause_on_newgame; ///< Whether to start new games paused or not. |
9723 | 220 |
|
221 |
TownLayoutByte town_layout; ///< Select town layout |
|
222 |
||
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
223 |
bool timetabling; ///< Whether to allow timetabling. |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
224 |
bool timetable_in_ticks; ///< Whether to show the timetable in ticks rather than days. |
9723 | 225 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
226 |
bool autoslope; ///< Allow terraforming under things. |
9723 | 227 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
228 |
bool mod_road_rebuild; ///< Roadworks remove unneccesary RoadBits |
9723 | 229 |
|
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
230 |
bool exclusive_rights; ///< allow buying exclusive rights |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
231 |
bool give_money; ///< allow giving other players money |
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
232 |
|
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
233 |
bool enable_signal_gui; ///< Show the signal GUI when the signal button is pressed |
9723 | 234 |
}; |
235 |
||
236 |
extern Patches _patches; |
|
237 |
||
238 |
/** The patch values that are used for new games and/or modified in config file */ |
|
239 |
extern Patches _patches_newgame; |
|
240 |
||
241 |
#endif /* SETTINGS_TYPE_H */ |