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