58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.8 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);
 | |
| 
 | |
| uint YapfRoadVehDistanceToTile(const Vehicle* v, TileIndex tile);
 | |
| 
 | |
| 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
 | |
| {
 | |
| 	const 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;
 | |
| 	bool          m_is_station;
 | |
| 	int           m_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 */
 | 
