# settings_type.h

Go to the documentation of this file.

    00001 /* $Id: settings_type.h 12293 2008-02-27 21:07:12Z peter1138 $ */
    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 /* These are the options for the current game
    00050  * either ingame, or loaded. Also used for networking games */
    00051 extern GameOptions _opt;
    00052
    00053 /* These are the default options for a new game */
    00054 extern GameOptions _opt_newgame;
    00055
    00056 /* Pointer to one of the two _opt OR _opt_newgame structs */
    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    * New Path Finding
    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 /* SETTINGS_TYPE_H */