author | truebrain |
Thu, 12 Jun 2008 19:47:02 +0000 | |
branch | noai |
changeset 10942 | cd3f2d07199f |
parent 10867 | 5de2923d6e59 |
child 11098 | 37d15a8951b8 |
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 "date_type.h" |
|
9 |
#include "town_type.h" |
|
10455
22c441f5adf9
(svn r12997) [NoAI] -Sync: with trunk r12895:12996.
rubidium
parents:
10142
diff
changeset
|
10 |
#include "transport_type.h" |
10829 | 11 |
#include "network/core/config.h" |
9723 | 12 |
|
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
13 |
/** Settings related to the difficulty of the game */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
14 |
struct DifficultySettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
15 |
byte max_no_competitors; ///< the number of competitors (AIs) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
16 |
byte competitor_start_time; ///< how long to wait for the first competitors (AIs) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
17 |
byte number_towns; ///< the amount of towns |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
18 |
byte number_industries; ///< the amount of industries |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
19 |
uint32 max_loan; ///< the maximum initial loan |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
20 |
byte initial_interest; ///< amount of interest (to pay over the loan) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
21 |
byte vehicle_costs; ///< amount of money spent on vehicle running cost |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
22 |
byte competitor_speed; ///< the speed at which the AI builds |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
23 |
byte competitor_intelligence; ///< the competior's (AI) intelligence |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
24 |
byte vehicle_breakdowns; ///< likelihood of vehicles breaking down |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
25 |
byte subsidy_multiplier; ///< amount of subsidy |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
26 |
byte construction_cost; ///< how expensive is building |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
27 |
byte terrain_type; ///< the mountainousness of the landscape |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
28 |
byte quantity_sea_lakes; ///< the amount of seas/lakes |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
29 |
byte economy; ///< how volatile is the economy |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
30 |
byte line_reverse_mode; ///< reversing at stations or not |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
31 |
byte disasters; ///< are disasters enabled |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
32 |
byte town_council_tolerance; ///< minimum required town ratings to be allowed to demolish stuff |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
33 |
byte diff_level; ///< the difficulty level |
9723 | 34 |
}; |
35 |
||
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
36 |
/** Settings related to the GUI and other stuff that is not saved in the savegame. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
37 |
struct GUISettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
38 |
bool vehicle_speed; ///< show vehicle speed |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
39 |
bool sg_full_load_any; ///< new full load calculation, any cargo must be full read from pre v93 savegames |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
40 |
bool lost_train_warn; ///< if a train can't find its destination, show a warning |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
41 |
uint8 order_review_system; ///< perform order reviews on vehicles |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
42 |
bool train_income_warn; ///< if train is generating little income, show a warning |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
43 |
bool status_long_date; ///< always show long date in status bar |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
44 |
bool show_finances; ///< show finances at end of year |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
45 |
bool sg_new_nonstop; ///< ttdpatch compatible nonstop handling read from pre v93 savegames |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
46 |
bool new_nonstop; ///< ttdpatch compatible nonstop handling |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
47 |
bool autoscroll; ///< scroll when moving mouse to the edge |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
48 |
byte errmsg_duration; ///< duration of error message |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
49 |
bool link_terraform_toolbar; ///< display terraform toolbar when displaying rail, road, water and airport toolbars |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
50 |
bool reverse_scroll; ///< right-Click-Scrolling scrolls in the opposite direction |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
51 |
bool smooth_scroll; ///< smooth scroll viewports |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
52 |
bool measure_tooltip; ///< show a permanent tooltip when dragging tools |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
53 |
byte liveries; ///< options for displaying company liveries, 0=none, 1=self, 2=all |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
54 |
bool prefer_teamchat; ///< choose the chat message target with <ENTER>, true=all players, false=your team |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
55 |
uint8 advanced_vehicle_list; ///< use the "advanced" vehicle list |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
56 |
uint8 loading_indicators; ///< show loading indicators |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
57 |
uint8 default_rail_type; ///< the default rail type for the rail GUI |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
58 |
uint8 toolbar_pos; ///< position of toolbars, 0=left, 1=center, 2=right |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
59 |
uint8 window_snap_radius; ///< windows snap at each other if closer than this |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
60 |
bool always_build_infrastructure; ///< always allow building of infrastructure, even when you do not have the vehicles for it |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
61 |
byte autosave; ///< how often should we do autosaves? |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
62 |
bool keep_all_autosave; ///< name the autosave in a different way |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
63 |
bool autosave_on_exit; ///< save an autosave when you quit the game, but do not ask "Do you really want to quit?" |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
64 |
byte max_num_autosaves; ///< controls how many autosavegames are made before the game starts to overwrite (names them 0 to max_num_autosaves - 1) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
65 |
bool population_in_label; ///< show the population of a town in his label? |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
66 |
uint8 right_mouse_btn_emulation; ///< should we emulate right mouse clicking? |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
67 |
uint8 scrollwheel_scrolling; ///< scrolling using the scroll wheel? |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
68 |
uint8 scrollwheel_multiplier; ///< how much 'wheel' per incoming event from the OS? |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
69 |
bool pause_on_newgame; ///< whether to start new games paused or not |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
70 |
bool enable_signal_gui; ///< show the signal GUI when the signal button is pressed |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
71 |
Year ending_year; ///< end of the game (just show highscore) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
72 |
Year colored_news_year; ///< when does newspaper become colored? |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
73 |
bool timetable_in_ticks; ///< whether to show the timetable in ticks rather than days |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
74 |
bool bridge_pillars; ///< show bridge pillars for high bridges |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
75 |
bool auto_euro; ///< automatically switch to euro in 2002 |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
76 |
byte drag_signals_density; ///< many signals density |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
77 |
Year semaphore_build_before; ///< build semaphore signals automatically before this year |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
78 |
bool autorenew; ///< should autorenew be enabled for new companies? |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
79 |
int16 autorenew_months; ///< how many months from EOL of vehicles should autorenew trigger for new companies? |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
80 |
int32 autorenew_money; ///< how much money before autorenewing for new companies? |
10867
5de2923d6e59
(svn r13418) [NoAI] -Sync: with trunk r13380:13417.
rubidium
parents:
10829
diff
changeset
|
81 |
byte news_message_timeout; ///< how much longer than the news message "age" should we keep the message in the history |
5de2923d6e59
(svn r13418) [NoAI] -Sync: with trunk r13380:13417.
rubidium
parents:
10829
diff
changeset
|
82 |
}; |
5de2923d6e59
(svn r13418) [NoAI] -Sync: with trunk r13380:13417.
rubidium
parents:
10829
diff
changeset
|
83 |
|
5de2923d6e59
(svn r13418) [NoAI] -Sync: with trunk r13380:13417.
rubidium
parents:
10829
diff
changeset
|
84 |
/** Settings related to currency/unit systems. */ |
5de2923d6e59
(svn r13418) [NoAI] -Sync: with trunk r13380:13417.
rubidium
parents:
10829
diff
changeset
|
85 |
struct LocaleSettings { |
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
86 |
byte currency; ///< currency we currently use |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
87 |
byte units; ///< unit system we show everything |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
88 |
}; |
9723 | 89 |
|
10829 | 90 |
/** All settings related to the network. */ |
91 |
struct NetworkSettings { |
|
92 |
#ifdef ENABLE_NETWORK |
|
93 |
uint16 sync_freq; ///< how often do we check whether we are still in-sync |
|
94 |
uint8 frame_freq; ///< how often do we send commands to the clients |
|
95 |
uint16 max_join_time; ///< maximum amount of time, in game ticks, a client may take to join |
|
96 |
bool pause_on_join; ///< pause the game when people join |
|
97 |
char server_bind_ip[NETWORK_HOSTNAME_LENGTH]; ///< IP address the server binds to |
|
98 |
uint16 server_port; ///< port the server listens on |
|
99 |
char server_name[NETWORK_NAME_LENGTH]; ///< name of the server |
|
100 |
char server_password[NETWORK_PASSWORD_LENGTH]; ///< passowrd for joining this server |
|
101 |
char rcon_password[NETWORK_PASSWORD_LENGTH]; ///< passowrd for rconsole (server side) |
|
102 |
bool server_advertise; ///< advertise the server to the masterserver |
|
103 |
uint8 lan_internet; ///< search on the LAN or internet for servers |
|
104 |
char player_name[NETWORK_NAME_LENGTH]; ///< name of the player |
|
105 |
char default_company_pass[NETWORK_PASSWORD_LENGTH]; ///< default password for new companies in encrypted form |
|
106 |
char connect_to_ip[NETWORK_HOSTNAME_LENGTH]; ///< default for the "Add server" query |
|
107 |
char network_id[NETWORK_UNIQUE_ID_LENGTH]; ///< semi-unique ID of the client |
|
108 |
bool autoclean_companies; ///< automatically remove companies that are not in use |
|
109 |
uint8 autoclean_unprotected; ///< remove passwordless companies after this many months |
|
110 |
uint8 autoclean_protected; ///< remove the password from passworded companies after this many months |
|
111 |
uint8 max_companies; ///< maximum amount of companies |
|
112 |
uint8 max_clients; ///< maximum amount of clients |
|
113 |
uint8 max_spectators; ///< maximum amount of spectators |
|
114 |
Year restart_game_year; ///< year the server restarts |
|
115 |
uint8 min_players; ///< minimum amount of players to unpause the game |
|
116 |
uint8 server_lang; ///< language of the server |
|
117 |
bool reload_cfg; ///< reload the config file before restarting |
|
118 |
char last_host[NETWORK_HOSTNAME_LENGTH]; ///< IP address of the last joined server |
|
119 |
uint16 last_port; ///< port of the last joined server |
|
120 |
#else /* ENABLE_NETWORK */ |
|
121 |
#endif |
|
122 |
}; |
|
123 |
||
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
124 |
/** Settings related to the creation of games. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
125 |
struct GameCreationSettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
126 |
uint32 generation_seed; ///< noise seed for world generation |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
127 |
Year starting_year; ///< starting date |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
128 |
uint8 map_x; ///< X size of map |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
129 |
uint8 map_y; ///< Y size of map |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
130 |
byte land_generator; ///< the landscape generator |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
131 |
byte oil_refinery_limit; ///< distance oil refineries allowed from map edge |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
132 |
byte snow_line_height; ///< a number 0-15 that configured snow line height |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
133 |
byte tgen_smoothness; ///< how rough is the terrain from 0-3 |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
134 |
byte tree_placer; ///< the tree placer algorithm |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
135 |
byte heightmap_rotation; ///< rotation director for the heightmap |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
136 |
byte se_flat_world_height; ///< land height a flat world gets in SE |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
137 |
byte town_name; ///< the town name generator used for town names |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
138 |
byte landscape; ///< the landscape we're currently in |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
139 |
byte snow_line; ///< the snowline level in this game |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
140 |
}; |
9723 | 141 |
|
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
142 |
/** Settings related to construction in-game */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
143 |
struct ConstructionSettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
144 |
bool build_on_slopes; ///< allow building on slopes |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
145 |
bool autoslope; ///< allow terraforming under things |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
146 |
bool longbridges; ///< allow 100 tile long bridges |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
147 |
bool signal_side; ///< show signals on right side |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
148 |
bool extra_dynamite; ///< extra dynamite |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
149 |
bool road_stop_on_town_road; ///< allow building of drive-through road stops on town owned roads |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
150 |
uint8 raw_industry_construction; ///< type of (raw) industry construction (none, "normal", prospecting) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
151 |
}; |
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
152 |
|
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
153 |
/** Settings related to the AI. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
154 |
struct AISettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
155 |
bool ai_in_multiplayer; ///< so we allow AIs in multiplayer |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
156 |
bool ai_disable_veh_train; ///< disable types for AI |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
157 |
bool ai_disable_veh_roadveh; ///< disable types for AI |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
158 |
bool ai_disable_veh_aircraft; ///< disable types for AI |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
159 |
bool ai_disable_veh_ship; ///< disable types for AI |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
160 |
}; |
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
161 |
|
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
162 |
/** Settings related to the old pathfinder. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
163 |
struct OPFSettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
164 |
uint16 pf_maxlength; ///< maximum length when searching for a train route for new pathfinder |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
165 |
byte pf_maxdepth; ///< maximum recursion depth when searching for a train route for new pathfinder |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
166 |
}; |
9723 | 167 |
|
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
168 |
/** Settings related to the new pathfinder. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
169 |
struct NPFSettings { |
9723 | 170 |
/** |
171 |
* The maximum amount of search nodes a single NPF run should take. This |
|
172 |
* limit should make sure performance stays at acceptable levels at the cost |
|
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
173 |
* of not being perfect anymore. |
9723 | 174 |
*/ |
175 |
uint32 npf_max_search_nodes; |
|
176 |
||
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
177 |
uint32 npf_rail_firstred_penalty; ///< the penalty for when the first signal is red (and it is not an exit or combo signal) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
178 |
uint32 npf_rail_firstred_exit_penalty; ///< the penalty for when the first signal is red (and it is an exit or combo signal) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
179 |
uint32 npf_rail_lastred_penalty; ///< the penalty for when the last signal is red |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
180 |
uint32 npf_rail_station_penalty; ///< the penalty for station tiles |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
181 |
uint32 npf_rail_slope_penalty; ///< the penalty for sloping upwards |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
182 |
uint32 npf_rail_curve_penalty; ///< the penalty for curves |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
183 |
uint32 npf_rail_depot_reverse_penalty; ///< the penalty for reversing in depots |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
184 |
uint32 npf_buoy_penalty; ///< the penalty for going over (through) a buoy |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
185 |
uint32 npf_water_curve_penalty; ///< the penalty for curves |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
186 |
uint32 npf_road_curve_penalty; ///< the penalty for curves |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
187 |
uint32 npf_crossing_penalty; ///< the penalty for level crossings |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
188 |
uint32 npf_road_drive_through_penalty; ///< the penalty for going through a drive-through road stop |
9723 | 189 |
}; |
190 |
||
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
191 |
/** Settings related to the yet another pathfinder. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
192 |
struct YAPFSettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
193 |
bool disable_node_optimization; ///< whether to use exit-dir instead of trackdir in node key |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
194 |
uint32 max_search_nodes; ///< stop path-finding when this number of nodes visited |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
195 |
bool ship_use_yapf; ///< use YAPF for ships |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
196 |
bool road_use_yapf; ///< use YAPF for road |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
197 |
bool rail_use_yapf; ///< use YAPF for rail |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
198 |
uint32 road_slope_penalty; ///< penalty for up-hill slope |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
199 |
uint32 road_curve_penalty; ///< penalty for curves |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
200 |
uint32 road_crossing_penalty; ///< penalty for level crossing |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
201 |
uint32 road_stop_penalty; ///< penalty for going through a drive-through road stop |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
202 |
bool rail_firstred_twoway_eol; ///< treat first red two-way signal as dead end |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
203 |
uint32 rail_firstred_penalty; ///< penalty for first red signal |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
204 |
uint32 rail_firstred_exit_penalty; ///< penalty for first red exit signal |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
205 |
uint32 rail_lastred_penalty; ///< penalty for last red signal |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
206 |
uint32 rail_lastred_exit_penalty; ///< penalty for last red exit signal |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
207 |
uint32 rail_station_penalty; ///< penalty for non-target station tile |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
208 |
uint32 rail_slope_penalty; ///< penalty for up-hill slope |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
209 |
uint32 rail_curve45_penalty; ///< penalty for curve |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
210 |
uint32 rail_curve90_penalty; ///< penalty for 90-deg curve |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
211 |
uint32 rail_depot_reverse_penalty; ///< penalty for reversing in the depot |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
212 |
uint32 rail_crossing_penalty; ///< penalty for level crossing |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
213 |
uint32 rail_look_ahead_max_signals; ///< max. number of signals taken into consideration in look-ahead load balancer |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
214 |
int32 rail_look_ahead_signal_p0; ///< constant in polynomial penalty function |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
215 |
int32 rail_look_ahead_signal_p1; ///< constant in polynomial penalty function |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
216 |
int32 rail_look_ahead_signal_p2; ///< constant in polynomial penalty function |
9723 | 217 |
|
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
218 |
uint32 rail_longer_platform_penalty; ///< penalty for longer station platform than train |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
219 |
uint32 rail_longer_platform_per_tile_penalty; ///< penalty for longer station platform than train (per tile) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
220 |
uint32 rail_shorter_platform_penalty; ///< penalty for shorter station platform than train |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
221 |
uint32 rail_shorter_platform_per_tile_penalty; ///< penalty for shorter station platform than train (per tile) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
222 |
}; |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
223 |
|
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
224 |
/** Settings related to all pathfinders. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
225 |
struct PathfinderSettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
226 |
uint8 pathfinder_for_trains; ///< the pathfinder to use for trains |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
227 |
uint8 pathfinder_for_roadvehs; ///< the pathfinder to use for roadvehicles |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
228 |
uint8 pathfinder_for_ships; ///< the pathfinder to use for ships |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
229 |
bool new_pathfinding_all; ///< use the newest pathfinding algorithm for all |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
230 |
|
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
231 |
bool roadveh_queue; ///< buggy road vehicle queueing |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
232 |
bool forbid_90_deg; ///< forbid trains to make 90 deg turns |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
233 |
|
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
234 |
byte wait_oneway_signal; ///< waitingtime in days before a oneway signal |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
235 |
byte wait_twoway_signal; ///< waitingtime in days before a twoway signal |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
236 |
|
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
237 |
OPFSettings opf; ///< pathfinder settings for the old pathfinder |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
238 |
NPFSettings npf; ///< pathfinder settings for the new pathfinder |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
239 |
YAPFSettings yapf; ///< pathfinder settings for the yet another pathfinder |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
240 |
}; |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
241 |
|
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
242 |
/** Settings related to orders. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
243 |
struct OrderSettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
244 |
bool improved_load; ///< improved loading algorithm |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
245 |
bool gradual_loading; ///< load vehicles gradually |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
246 |
bool selectgoods; ///< only send the goods to station if a train has been there |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
247 |
bool gotodepot; ///< allow goto depot in orders |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
248 |
bool no_servicing_if_no_breakdowns; ///< dont send vehicles to depot when breakdowns are disabled |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
249 |
bool timetabling; ///< whether to allow timetabling |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
250 |
bool serviceathelipad; ///< service helicopters at helipads automatically (no need to send to depot) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
251 |
}; |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
252 |
|
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
253 |
/** Settings related to vehicles. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
254 |
struct VehicleSettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
255 |
bool mammoth_trains; ///< allow very long trains |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
256 |
bool realistic_acceleration; ///< realistic acceleration for trains |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
257 |
bool wagon_speed_limits; ///< enable wagon speed limits |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
258 |
bool disable_elrails; ///< when true, the elrails are disabled |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
259 |
UnitID max_trains; ///< max trains in game per player |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
260 |
UnitID max_roadveh; ///< max trucks in game per player |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
261 |
UnitID max_aircraft; ///< max planes in game per player |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
262 |
UnitID max_ships; ///< max ships in game per player |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
263 |
bool servint_ispercent; ///< service intervals are in percents |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
264 |
uint16 servint_trains; ///< service interval for trains |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
265 |
uint16 servint_roadveh; ///< service interval for road vehicles |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
266 |
uint16 servint_aircraft; ///< service interval for aircraft |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
267 |
uint16 servint_ships; ///< service interval for ships |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
268 |
uint8 plane_speed; ///< divisor for speed of aircraft |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
269 |
uint8 freight_trains; ///< value to multiply the weight of cargo by |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
270 |
bool dynamic_engines; ///< enable dynamic allocation of engine data |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
271 |
bool never_expire_vehicles; ///< never expire vehicles |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
272 |
byte extend_vehicle_life; ///< extend vehicle life by this many years |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
273 |
byte road_side; ///< the side of the road vehicles drive on |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
274 |
}; |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
275 |
|
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
276 |
/** Settings related to the economy. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
277 |
struct EconomySettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
278 |
bool inflation; ///< disable inflation |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
279 |
bool bribe; ///< enable bribing the local authority |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
280 |
bool smooth_economy; ///< smooth economy |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
281 |
bool allow_shares; ///< allow the buying/selling of shares |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
282 |
byte dist_local_authority; ///< distance for town local authority, default 20 |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
283 |
bool exclusive_rights; ///< allow buying exclusive rights |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
284 |
bool give_money; ///< allow giving other players money |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
285 |
bool mod_road_rebuild; ///< roadworks remove unneccesary RoadBits |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
286 |
bool multiple_industry_per_town; ///< allow many industries of the same type per town |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
287 |
bool same_industry_close; ///< allow same type industries to be built close to each other |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
288 |
uint8 town_growth_rate; ///< town growth rate |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
289 |
uint8 larger_towns; ///< the number of cities to build. These start off larger and grow twice as fast |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
290 |
uint8 initial_city_size; ///< multiplier for the initial size of the cities compared to towns |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
291 |
TownLayoutByte town_layout; ///< select town layout |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
292 |
bool station_noise_level; ///< build new airports when the town noise level is still within accepted limits |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
293 |
uint16 town_noise_population[3]; ///< population to base decision on noise evaluation (@see town_council_tolerance) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
294 |
}; |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
295 |
|
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
296 |
/** Settings related to stations. */ |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
297 |
struct StationSettings { |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
298 |
bool modified_catchment; ///< different-size catchment areas |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
299 |
bool join_stations; ///< allow joining of train stations |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
300 |
bool nonuniform_stations; ///< allow nonuniform train stations |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
301 |
bool adjacent_stations; ///< allow stations to be built directly adjacent to other stations |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
302 |
bool always_small_airport; ///< always allow small airports |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
303 |
byte station_spread; ///< amount a station may spread |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
304 |
}; |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
305 |
|
10776 | 306 |
/** All settings together for the game. */ |
307 |
struct GameSettings { |
|
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
308 |
DifficultySettings difficulty; ///< settings related to the difficulty |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
309 |
GameCreationSettings game_creation; ///< settings used during the creation of a game (map) |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
310 |
ConstructionSettings construction; ///< construction of things in-game |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
311 |
AISettings ai; ///< what may the AI do? |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
312 |
PathfinderSettings pf; ///< settings for all pathfinders |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
313 |
OrderSettings order; ///< settings related to orders |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
314 |
VehicleSettings vehicle; ///< options for vehicles |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
315 |
EconomySettings economy; ///< settings to change the economy |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
316 |
StationSettings station; ///< settings related to station management |
10867
5de2923d6e59
(svn r13418) [NoAI] -Sync: with trunk r13380:13417.
rubidium
parents:
10829
diff
changeset
|
317 |
LocaleSettings locale; ///< settings related to used currency/unit system in the current game |
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
318 |
}; |
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
319 |
|
10776 | 320 |
/** All settings that are only important for the local client. */ |
321 |
struct ClientSettings { |
|
322 |
GUISettings gui; ///< settings related to the GUI |
|
10829 | 323 |
NetworkSettings network; ///< settings related to the network |
10776 | 324 |
}; |
10715
6bdf79ffb022
(svn r13265) [NoAI] -Sync with trunk r13185:13264.
rubidium
parents:
10455
diff
changeset
|
325 |
|
10776 | 326 |
/** The current settings for this game. */ |
327 |
extern ClientSettings _settings_client; |
|
328 |
||
329 |
/** The current settings for this game. */ |
|
330 |
extern GameSettings _settings_game; |
|
331 |
||
332 |
/** The settings values that are used for new games and/or modified in config file. */ |
|
333 |
extern GameSettings _settings_newgame; |
|
9723 | 334 |
|
335 |
#endif /* SETTINGS_TYPE_H */ |