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