settings_type.h
Go to the documentation of this file.00001
00002
00005 #ifndef SETTINGS_TYPE_H
00006 #define SETTINGS_TYPE_H
00007
00008 #include "yapf/yapf_settings.h"
00009 #include "date_type.h"
00010 #include "town_type.h"
00011
00012 #define GAME_DIFFICULTY_NUM 18
00013
00015 typedef uint16 GDType;
00016 struct GameDifficulty {
00017 GDType max_no_competitors;
00018 GDType competitor_start_time;
00019 GDType number_towns;
00020 GDType number_industries;
00021 GDType max_loan;
00022 GDType initial_interest;
00023 GDType vehicle_costs;
00024 GDType competitor_speed;
00025 GDType competitor_intelligence;
00026 GDType vehicle_breakdowns;
00027 GDType subsidy_multiplier;
00028 GDType construction_cost;
00029 GDType terrain_type;
00030 GDType quantity_sea_lakes;
00031 GDType economy;
00032 GDType line_reverse_mode;
00033 GDType disasters;
00034 GDType town_council_tolerance;
00035 };
00036
00037 struct GameOptions {
00038 GameDifficulty diff;
00039 byte diff_level;
00040 byte currency;
00041 byte units;
00042 byte town_name;
00043 byte landscape;
00044 byte snow_line;
00045 byte autosave;
00046 byte road_side;
00047 };
00048
00049
00050
00051 extern GameOptions _opt;
00052
00053
00054 extern GameOptions _opt_newgame;
00055
00056
00057 extern GameOptions *_opt_ptr;
00058
00059 struct Patches {
00060 bool modified_catchment;
00061 bool vehicle_speed;
00062 bool build_on_slopes;
00063 bool mammoth_trains;
00064 bool join_stations;
00065 bool full_load_any;
00066 bool improved_load;
00067 bool gradual_loading;
00068 byte station_spread;
00069 bool inflation;
00070 bool selectgoods;
00071 bool longbridges;
00072 bool gotodepot;
00073 uint8 raw_industry_construction;
00074 bool multiple_industry_per_town;
00075 bool same_industry_close;
00076 bool lost_train_warn;
00077 uint8 order_review_system;
00078 bool train_income_warn;
00079 bool status_long_date;
00080 bool signal_side;
00081 bool show_finances;
00082 bool new_nonstop;
00083 bool roadveh_queue;
00084 bool autoscroll;
00085 byte errmsg_duration;
00086 byte land_generator;
00087 byte oil_refinery_limit;
00088 byte snow_line_height;
00089 byte tgen_smoothness;
00090 uint32 generation_seed;
00091 byte tree_placer;
00092 byte heightmap_rotation;
00093 byte se_flat_world_height;
00094 bool bribe;
00095 bool nonuniform_stations;
00096 bool adjacent_stations;
00097 bool always_small_airport;
00098 bool realistic_acceleration;
00099 bool wagon_speed_limits;
00100 bool forbid_90_deg;
00101 bool invisible_trees;
00102 bool no_servicing_if_no_breakdowns;
00103 bool link_terraform_toolbar;
00104 bool reverse_scroll;
00105 bool smooth_scroll;
00106 bool disable_elrails;
00107 bool measure_tooltip;
00108 byte liveries;
00109 bool prefer_teamchat;
00110 uint8 advanced_vehicle_list;
00111 uint8 loading_indicators;
00112 uint8 default_rail_type;
00113
00114 uint8 toolbar_pos;
00115 uint8 window_snap_radius;
00116
00117 bool always_build_infrastructure;
00118 UnitID max_trains;
00119 UnitID max_roadveh;
00120 UnitID max_aircraft;
00121 UnitID max_ships;
00122
00123 bool servint_ispercent;
00124 uint16 servint_trains;
00125 uint16 servint_roadveh;
00126 uint16 servint_aircraft;
00127 uint16 servint_ships;
00128
00129 uint8 pathfinder_for_trains;
00130 uint8 pathfinder_for_roadvehs;
00131 uint8 pathfinder_for_ships;
00132
00133 uint8 plane_speed;
00134
00135 bool autorenew;
00136 int16 autorenew_months;
00137 int32 autorenew_money;
00138
00139 byte pf_maxdepth;
00140 uint16 pf_maxlength;
00141
00142 bool bridge_pillars;
00143
00144 bool ai_disable_veh_train;
00145 bool ai_disable_veh_roadveh;
00146 bool ai_disable_veh_aircraft;
00147 bool ai_disable_veh_ship;
00148 Year starting_year;
00149 Year ending_year;
00150 Year colored_news_year;
00151
00152 bool keep_all_autosave;
00153 bool autosave_on_exit;
00154 byte max_num_autosaves;
00155 bool extra_dynamite;
00156 bool road_stop_on_town_road;
00157
00158 bool never_expire_vehicles;
00159 byte extend_vehicle_life;
00160
00161 bool auto_euro;
00162 bool serviceathelipad;
00163 bool smooth_economy;
00164 bool allow_shares;
00165 byte dist_local_authority;
00166
00167 byte wait_oneway_signal;
00168 byte wait_twoway_signal;
00169
00170 uint8 map_x;
00171 uint8 map_y;
00172
00173 byte drag_signals_density;
00174 Year semaphore_build_before;
00175 bool ainew_active;
00176 bool ai_in_multiplayer;
00177
00178
00179
00180
00181 bool new_pathfinding_all;
00182
00189 uint32 npf_max_search_nodes;
00190
00191 uint32 npf_rail_firstred_penalty;
00192 uint32 npf_rail_firstred_exit_penalty;
00193 uint32 npf_rail_lastred_penalty;
00194 uint32 npf_rail_station_penalty;
00195 uint32 npf_rail_slope_penalty;
00196 uint32 npf_rail_curve_penalty;
00197 uint32 npf_rail_depot_reverse_penalty;
00198 uint32 npf_buoy_penalty;
00199 uint32 npf_water_curve_penalty;
00200 uint32 npf_road_curve_penalty;
00201 uint32 npf_crossing_penalty;
00202 uint32 npf_road_drive_through_penalty;
00203
00204 bool population_in_label;
00205
00206 uint8 freight_trains;
00207
00209 YapfSettings yapf;
00210
00211 uint8 right_mouse_btn_emulation;
00212
00213 uint8 scrollwheel_scrolling;
00214 uint8 scrollwheel_multiplier;
00215
00216 uint8 town_growth_rate;
00217 uint8 larger_towns;
00218 uint8 initial_city_size;
00219
00220 bool pause_on_newgame;
00221
00222 TownLayoutByte town_layout;
00223
00224 bool timetabling;
00225 bool timetable_in_ticks;
00226
00227 bool autoslope;
00228
00229 bool mod_road_rebuild;
00230
00231 bool exclusive_rights;
00232 bool give_money;
00233
00234 bool enable_signal_gui;
00235 };
00236
00237 extern Patches _patches;
00238
00240 extern Patches _patches_newgame;
00241
00242 #endif