diff options
Diffstat (limited to 'src/settings_type.h')
-rw-r--r-- | src/settings_type.h | 73 |
1 files changed, 72 insertions, 1 deletions
diff --git a/src/settings_type.h b/src/settings_type.h index e6ac3e015..d567152e8 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -110,13 +110,35 @@ struct GUISettings { uint8 scrollwheel_scrolling; ///< scrolling using the scroll wheel? uint8 scrollwheel_multiplier; ///< how much 'wheel' per incoming event from the OS? bool timetable_arrival_departure; ///< show arrivals and departures in vehicle timetables + uint8 max_departures; ///< maximum number of departures to show per station + uint16 max_departure_time; ///< maximum time in advance to show departures + uint16 departure_calc_frequency; ///< how often to calculate departures (in ticks) + bool departure_show_vehicle; ///< whether to show vehicle names with departures + bool departure_show_group; ///< whether to show group names with departures + bool departure_show_company; ///< whether to show company names with departures + bool departure_show_vehicle_type; ///< whether to show vehicle type icons with departures + bool departure_show_vehicle_color; ///< whether to show vehicle type icons in silver instead of orange + bool departure_larger_font; ///< whether to show the calling at list in a larger font + bool departure_destination_type; ///< whether to show destination types for ports and airports + bool departure_show_both; ///< whether to show departure and arrival times on the same line + bool departure_only_passengers; ///< whether to only show passenger services + bool departure_smart_terminus; ///< whether to only show passenger services + uint8 departure_conditionals; ///< how to handle conditional orders + bool departure_show_all_stops; ///< whether to show stops regardless of loading/unloading done at them + bool departure_merge_identical; ///< whether to merge identical departures bool left_mouse_btn_scrolling; ///< left mouse button scroll bool pause_on_newgame; ///< whether to start new games paused or not bool enable_signal_gui; ///< show the signal GUI when the signal button is pressed Year coloured_news_year; ///< when does newspaper become coloured? bool timetable_in_ticks; ///< whether to show the timetable in ticks rather than days + bool time_in_minutes; ///< whether to use the hh:mm conversion when printing dates + bool timetable_start_text_entry; ///< whether to enter timetable start times as text (hhmm format) + uint8 ticks_per_minute; ///< how many ticks per minute + uint8 date_with_time; ///< whether to show the month and year with the time + uint16 clock_offset; ///< clock offset in minutes bool quick_goto; ///< Allow quick access to 'goto button' in vehicle orders window bool auto_euro; ///< automatically switch to euro in 2002 + byte simulated_wormhole_signals; ///< simulate signals in tunnel byte drag_signals_density; ///< many signals density bool drag_signals_fixed_distance; ///< keep fixed distance between signals when dragging Year semaphore_build_before; ///< build semaphore signals automatically before this year @@ -135,6 +157,8 @@ struct GUISettings { uint8 graph_line_thickness; ///< the thickness of the lines in the various graph guis uint8 osk_activation; ///< Mouse gesture to trigger the OSK. + uint32 layer_view_type; ///< зарезервировано (тип отображения) + uint16 console_backlog_timeout; ///< the minimum amount of time items should be in the console backlog before they will be removed in ~3 seconds granularity. uint16 console_backlog_length; ///< the minimum amount of items in the console backlog before items will be removed. #ifdef ENABLE_NETWORK @@ -151,7 +175,6 @@ struct GUISettings { uint8 settings_restriction_mode; ///< selected restriction mode in adv. settings GUI. @see RestrictionMode bool newgrf_show_old_versions; ///< whether to show old versions in the NewGRF list uint8 newgrf_default_palette; ///< default palette to use for NewGRFs without action 14 palette information - /** * Returns true when the user has sufficient privileges to edit newgrfs on a running game * @return whether the user has sufficient privileges to edit newgrfs in an existing game @@ -265,6 +288,7 @@ struct GameCreationSettings { Year starting_year; ///< starting date uint8 map_x; ///< X size of map uint8 map_y; ///< Y size of map + uint8 layers; ///< map layer count byte land_generator; ///< the landscape generator byte oil_refinery_limit; ///< distance oil refineries allowed from map edge byte snow_line_height; ///< a number 0-15 that configured snow line height @@ -305,6 +329,13 @@ struct ConstructionSettings { uint16 clear_frame_burst; ///< how many tiles may, over a short period, be cleared? uint32 tree_per_64k_frames; ///< how many trees may, over a long period, be planted per 65536 frames? uint16 tree_frame_burst; ///< how many trees may, over a short period, be planted? + + bool traffic_lights; ///< Whether traffic lights are enabled. + bool towns_build_traffic_lights; ///< Whether towns build traffic lights during road construction. + bool allow_building_tls_in_towns; ///< Whether the players are allowed to build traffic lights on town owned roads. + uint8 traffic_lights_green_phase; ///< How long traffic lights' green phase lasts. + uint8 max_tlc_size; ///< Maximum size for traffic light consists. + uint8 max_tlc_distance; ///< Maximum distance between traffic lights for synchronising them. }; /** Settings related to the AI. */ @@ -352,6 +383,7 @@ struct NPFSettings { uint32 npf_road_curve_penalty; ///< the penalty for curves uint32 npf_crossing_penalty; ///< the penalty for level crossings uint32 npf_road_drive_through_penalty; ///< the penalty for going through a drive-through road stop + uint32 npf_road_trafficlight_penalty; ///< Penalty for junctions with traffic lights. uint32 npf_road_dt_occupied_penalty; ///< the penalty multiplied by the fill percentage of a drive-through road stop uint32 npf_road_bay_occupied_penalty; ///< the penalty multiplied by the fill percentage of a road bay }; @@ -368,6 +400,7 @@ struct YAPFSettings { uint32 road_curve_penalty; ///< penalty for curves uint32 road_crossing_penalty; ///< penalty for level crossing uint32 road_stop_penalty; ///< penalty for going through a drive-through road stop + uint32 road_trafficlight_penalty; ///< Penalty for junctions with traffic lights. uint32 road_stop_occupied_penalty; ///< penalty multiplied by the fill percentage of a drive-through road stop uint32 road_stop_bay_occupied_penalty; ///< penalty multiplied by the fill percentage of a road bay bool rail_firstred_twoway_eol; ///< treat first red two-way signal as dead end @@ -394,6 +427,14 @@ struct YAPFSettings { uint32 rail_longer_platform_per_tile_penalty; ///< penalty for longer station platform than train (per tile) uint32 rail_shorter_platform_penalty; ///< penalty for shorter station platform than train uint32 rail_shorter_platform_per_tile_penalty; ///< penalty for shorter station platform than train (per tile) + + uint32 route_transfer_cost; ///< penalty for transferring to a different vehicle + uint32 route_max_transfers; ///< maximum number of allowed transfers + uint16 route_distance_factor; ///< factor for the link length + uint16 route_travel_time_factor; ///< factor * CYapfCostRouteLinkT::PENALTY_DIVISOR (=16) for the link travel time + uint16 route_station_last_veh_factor; ///< factor * CYapfCostRouteLinkT::PENALTY_DIVISOR (=16) for the time since the last vehicle arrived at a station + uint16 route_station_waiting_factor; ///< factor * CYapfCostRouteLinkT::PENALTY_DIVISOR (=16) for the waiting cargo at a station + byte route_mode_cost_factor[4]; ///< vehicle type dependent factor for the link length }; /** Settings related to all pathfinders. */ @@ -425,6 +466,7 @@ struct OrderSettings { bool gradual_loading; ///< load vehicles gradually bool selectgoods; ///< only send the goods to station if a train has been there bool no_servicing_if_no_breakdowns; ///< don't send vehicles to depot when breakdowns are disabled + bool automatic_timetable_separation; ///< Enable automatic separation of vehicles in the timetable. bool serviceathelipad; ///< service helicopters at helipads automatically (no need to send to depot) }; @@ -451,6 +493,33 @@ struct VehicleSettings { uint8 plane_crashes; ///< number of plane crashes, 0 = none, 1 = reduced, 2 = normal }; +/** Settings related to cargo destinations. */ +struct CargodestSettings { + uint8 mode_pax_mail; ///< routing mode for cargoes with TE_PASSENGERS or TE_MAIL + uint8 mode_town_cargo; ///< routing mode for cargoes with other town effects + uint8 mode_others; ///< routing mode for all other cargoes + uint8 base_town_links[2]; ///< minimum number of town demand links for (0=#BASE_TOWN_LINKS) all cargoes except (1=#BASE_TOWN_LINKS_SYMM) symmetric cargoes + uint8 base_ind_links[3]; ///< minimum number of industry demand links for (0=#BASE_IND_LINKS) all cargoes except (1=#BASE_IND_LINKS_TOWN) town cargoes and (2=#BASE_IND_LINKS_SYMM) symmetric cargoes + uint8 city_town_links; ///< additional number of links for cities + uint8 town_chances_town[4]; ///< chances a link from a town to a town has a specific destination class (@see FindTownDestination) + uint8 town_chances_city[4]; ///< chances a link from a city to a town has a specific destination class (@see FindTownDestination) + uint8 ind_chances[3]; ///< chances a link to an industry has a specific destination class (@see FindIndustryDestination) + uint8 random_dest_chance; ///< percentage for traffic with random destination + uint32 big_town_pop[2]; ///< (0=#BIG_TOWN_POP_MAIL) mail, (1=#BIG_TOWN_POP_PAX) passenger amount to count as a big town + uint16 pop_scale_town[4]; ///< population/cargo amount scale divisor for (0=#SCALE_TOWN) all cargoes (1=#SCALE_TOWN_BIG) for big towns except (2=#SCALE_TOWN_PAX) passengers (3=#SCALE_TOWN_BIG_PAX) for big towns + uint16 cargo_scale_ind[2]; ///< cargo amount scale divisor for (0=#CARGO_SCALE_IND) all cargoes except (1=#CARGO_SCALE_IND_TOWN) town cargoes + uint16 min_weight_town[2]; ///< minimum link weight for (0=MIN_WEIGHT_TOWN) all cargoes except (1=MIN_WEIGHT_TOWN_PAX) passengers + uint16 min_weight_ind; ///< minimum link weight for industry links + uint16 weight_scale_town[4]; ///< weight scale divisor for (0=#SCALE_TOWN) all cargoes (1=#SCALE_TOWN_BIG) for big towns except (2=#SCALE_TOWN_PAX) passengers (3=#SCALE_TOWN_BIG_PAX) for big towns + uint16 weight_scale_ind[2]; ///< weight scale divisor for (0=#WEIGHT_SCALE_IND_PROD) produced cargo (1=#WEIGHT_SCALE_IND_PILE) stockpiled cargo + uint32 town_nearby_dist; ///< squared distance (on a 256x256 map) inside which a town is considered nearby + uint32 ind_nearby_dist; ///< squared distance (on a 256x256 map) inside which an industry is considered nearby + uint16 max_route_age; ///< maximum days since the last vehicle traveled a link until link expiration + uint16 route_recalc_delay; ///< delay in ticks between recalculating the next hop of cargo packets + uint16 route_recalc_chunk; ///< maximum amount of cargo packets to recalculate in one step + uint16 max_route_penalty[2]; ///< maximum penalty factor based on distance, (1) base value, (2) random additional span +}; + /** Settings related to the economy. */ struct EconomySettings { bool inflation; ///< disable inflation @@ -473,8 +542,10 @@ struct EconomySettings { TownFoundingByte found_town; ///< town founding, @see TownFounding bool station_noise_level; ///< build new airports when the town noise level is still within accepted limits uint16 town_noise_population[3]; ///< population to base decision on noise evaluation (@see town_council_tolerance) + uint8 random_road_construction; ///< Chance for towns to start random road construction bool allow_town_level_crossings; ///< towns are allowed to build level crossings bool infrastructure_maintenance; ///< enable monthly maintenance fee for owner infrastructure + CargodestSettings cargodest; ///< settings related to cargo destinations }; /** Settings related to stations. */ |