# yapf.h

Go to the documentation of this file.

    00001 /* $Id: yapf.h 17516 2009-09-12 20:44:12Z rubidium $ */
    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 /* YAPF_H */