yapf.h
Go to the documentation of this file.00001
00002
00005 #ifndef YAPF_H
00006 #define YAPF_H
00007
00008 #include "../debug.h"
00009 #include "../depot_type.h"
00010 #include "../direction_type.h"
00011 #include "../station_type.h"
00012 #include "../pbs.h"
00013
00021 Trackdir YapfChooseShipTrack(const Vehicle *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks);
00022
00029 Trackdir YapfChooseRoadTrack(const Vehicle *v, TileIndex tile, DiagDirection enterdir);
00030
00041 Trackdir YapfChooseRailTrack(const Vehicle *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool *path_not_found, bool reserve_track, PBSTileInfo *target);
00042
00048 uint YapfRoadVehDistanceToTile(const Vehicle *v, TileIndex tile);
00049
00056 bool YapfFindNearestRoadVehicleCompatibleStop(const Vehicle *v, StationID station, TileIndex *stop_tile);
00057
00061 Depot *YapfFindNearestRoadDepot(const Vehicle *v);
00062
00073 bool YapfFindNearestRailDepotTwoWay(const Vehicle *v, int max_distance, int reverse_penalty, TileIndex *depot_tile, bool *reversed);
00074
00076 bool YapfCheckReverseTrain(const Vehicle *v);
00077
00087 bool YapfRailFindNearestSafeTile(const Vehicle *v, TileIndex tile, Trackdir td, bool override_railtype);
00088
00090 void YapfNotifyTrackLayoutChange(TileIndex tile, Track track);
00091
00093 void *NpfBeginInterval();
00094 int NpfEndInterval(void *perf);
00095
00096
00097 extern int _aystar_stats_open_size;
00098 extern int _aystar_stats_closed_size;
00099
00100
00102 enum {
00103 YAPF_TILE_LENGTH = 100,
00104 YAPF_TILE_CORNER_LENGTH = 71
00105 };
00106
00107 #endif