KUDr@3900: /* $Id$ */ KUDr@3900: #if !defined(YAPF_SETTINGS_H) || defined(YS_DEF) KUDr@3900: KUDr@3900: # ifndef YAPF_SETTINGS_H KUDr@3900: # define YAPF_SETTINGS_H KUDr@3900: # endif KUDr@3900: KUDr@3900: # ifndef YS_DEF KUDr@3900: /* rubidium@4549: * if YS_DEF is not defined, we will only do following declaration: rubidium@4549: * typedef struct YapfSettings { rubidium@4549: * bool disable_node_optimization; rubidium@4549: * uint32 max_search_nodes; rubidium@4549: * .... all other yapf related settings ... rubidium@4549: * } YapfSettings; rubidium@4549: * rubidium@4549: * otherwise we will just expand YS_DEF_xx macros and then #undef them rubidium@4549: */ KUDr@3900: # define YS_DEF_BEGIN typedef struct YapfSettings { KUDr@3900: # define YS_DEF(type, name) type name; KUDr@3900: # define YS_DEF_END } YapfSettings; KUDr@3900: KUDr@3900: # endif /* !YS_DEF */ KUDr@3900: KUDr@3900: # ifndef YS_DEF_BEGIN KUDr@3900: # define YS_DEF_BEGIN KUDr@3900: # endif // YS_DEF_BEGIN KUDr@3900: KUDr@3900: # ifndef YS_DEF_END KUDr@3900: # define YS_DEF_END KUDr@3900: # endif // YS_DEF_END KUDr@3900: KUDr@3900: YS_DEF_BEGIN KUDr@3900: YS_DEF(bool , disable_node_optimization) ///< whether to use exit-dir instead of trackdir in node key KUDr@3900: YS_DEF(uint32, max_search_nodes) ///< stop path-finding when this number of nodes visited KUDr@3900: YS_DEF(bool , ship_use_yapf) ///< use YAPF for ships KUDr@3900: YS_DEF(bool , road_use_yapf) ///< use YAPF for road KUDr@3900: YS_DEF(bool , rail_use_yapf) ///< use YAPF for rail KUDr@3981: YS_DEF(uint32, road_slope_penalty) ///< penalty for up-hill slope KUDr@4411: YS_DEF(uint32, road_curve_penalty) ///< penalty for curves KUDr@3981: YS_DEF(uint32, road_crossing_penalty) ///< penalty for level crossing KUDr@3900: YS_DEF(bool , rail_firstred_twoway_eol) ///< treat first red two-way signal as dead end KUDr@3900: YS_DEF(uint32, rail_firstred_penalty) ///< penalty for first red signal KUDr@3900: YS_DEF(uint32, rail_firstred_exit_penalty) ///< penalty for first red exit signal KUDr@3900: YS_DEF(uint32, rail_lastred_penalty) ///< penalty for last red signal KUDr@3900: YS_DEF(uint32, rail_lastred_exit_penalty) ///< penalty for last red exit signal KUDr@3900: YS_DEF(uint32, rail_station_penalty) ///< penalty for non-target station tile KUDr@3900: YS_DEF(uint32, rail_slope_penalty) ///< penalty for up-hill slope KUDr@3900: YS_DEF(uint32, rail_curve45_penalty) ///< penalty for curve KUDr@3900: YS_DEF(uint32, rail_curve90_penalty) ///< penalty for 90-deg curve KUDr@3900: YS_DEF(uint32, rail_depot_reverse_penalty) ///< penalty for reversing in the depot KUDr@3900: YS_DEF(uint32, rail_crossing_penalty) ///< penalty for level crossing KUDr@3900: YS_DEF(uint32, rail_look_ahead_max_signals)///< max. number of signals taken into consideration in look-ahead load balancer KUDr@3900: YS_DEF(int32 , rail_look_ahead_signal_p0) ///< constant in polynomial penalty function KUDr@3900: YS_DEF(int32 , rail_look_ahead_signal_p1) ///< constant in polynomial penalty function KUDr@3900: YS_DEF(int32 , rail_look_ahead_signal_p2) ///< constant in polynomial penalty function KUDr@3931: KUDr@3935: YS_DEF(uint32, rail_longer_platform_penalty) ///< penalty for longer station platform than train KUDr@3935: YS_DEF(uint32, rail_longer_platform_per_tile_penalty) ///< penalty for longer station platform than train (per tile) KUDr@3935: YS_DEF(uint32, rail_shorter_platform_penalty) ///< penalty for shorter station platform than train KUDr@3935: YS_DEF(uint32, rail_shorter_platform_per_tile_penalty) ///< penalty for shorter station platform than train (per tile) KUDr@3900: YS_DEF_END; KUDr@3900: KUDr@3900: #undef YS_DEF_BEGIN KUDr@3900: #undef YS_DEF KUDr@3900: #undef YS_DEF_END KUDr@3900: KUDr@3900: #endif /* !YAPF_SETTINGS_H || YS_DEF */