55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* $Id$ */
 | 
						|
 | 
						|
#ifndef  YAPF_H
 | 
						|
#define  YAPF_H
 | 
						|
 | 
						|
#include "../debug.h"
 | 
						|
 | 
						|
Trackdir YapfChooseShipTrack(Vehicle *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks);
 | 
						|
Trackdir YapfChooseRoadTrack(Vehicle *v, TileIndex tile, DiagDirection enterdir);
 | 
						|
Trackdir YapfChooseRailTrack(Vehicle *v, TileIndex tile, DiagDirection enterdir, TrackdirBits trackdirs);
 | 
						|
 | 
						|
Depot* YapfFindNearestRoadDepot(const Vehicle *v);
 | 
						|
bool YapfFindNearestRailDepotTwoWay(Vehicle *v, int max_distance, int reverse_penalty, TileIndex* depot_tile, bool* reversed);
 | 
						|
 | 
						|
bool YapfCheckReverseTrain(Vehicle* v);
 | 
						|
 | 
						|
void YapfNotifyTrackLayoutChange(TileIndex tile, Track track);
 | 
						|
 | 
						|
 | 
						|
void* NpfBeginInterval(void);
 | 
						|
int NpfEndInterval(void* perf);
 | 
						|
 | 
						|
extern int _aystar_stats_open_size;
 | 
						|
extern int _aystar_stats_closed_size;
 | 
						|
 | 
						|
 | 
						|
/** Base struct for track followers. */
 | 
						|
typedef struct FollowTrack_t
 | 
						|
{
 | 
						|
	Vehicle*      m_veh;
 | 
						|
	TileIndex     m_old_tile;
 | 
						|
	Trackdir      m_old_td;
 | 
						|
	TileIndex     m_new_tile;
 | 
						|
	TrackdirBits  m_new_td_bits;
 | 
						|
//	TrackdirBits  m_red_td_bits;
 | 
						|
	DiagDirection m_exitdir;
 | 
						|
	bool          m_is_tunnel;
 | 
						|
	int           m_tunnel_tiles_skipped;
 | 
						|
} FollowTrack_t;
 | 
						|
 | 
						|
/** track followers */
 | 
						|
bool FollowTrackWater    (FollowTrack_t *This, TileIndex old_tile, Trackdir old_td);
 | 
						|
bool FollowTrackRoad     (FollowTrack_t *This, TileIndex old_tile, Trackdir old_td);
 | 
						|
bool FollowTrackRail     (FollowTrack_t *This, TileIndex old_tile, Trackdir old_td);
 | 
						|
bool FollowTrackWaterNo90(FollowTrack_t *This, TileIndex old_tile, Trackdir old_td);
 | 
						|
bool FollowTrackRoadNo90 (FollowTrack_t *This, TileIndex old_tile, Trackdir old_td);
 | 
						|
bool FollowTrackRailNo90 (FollowTrack_t *This, TileIndex old_tile, Trackdir old_td);
 | 
						|
 | 
						|
enum {
 | 
						|
	YAPF_TILE_LENGTH = 100,
 | 
						|
	YAPF_TILE_CORNER_LENGTH = 71
 | 
						|
};
 | 
						|
 | 
						|
#endif /* YAPF_H */
 |