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 */

Generated on Wed Oct 1 17:03:23 2008 for openttd by  doxygen 1.5.6