OpenTTD
|
Functions to access the new pathfinder. More...
#include "../../track_type.h"
#include "../../direction_type.h"
#include "../../vehicle_type.h"
#include "../pathfinder_type.h"
Go to the source code of this file.
Functions | |
FindDepotData | NPFRoadVehicleFindNearestDepot (const RoadVehicle *v, int max_penalty) |
Used when user sends road vehicle to the nearest depot or if road vehicle needs servicing using NPF. More... | |
Trackdir | NPFRoadVehicleChooseTrack (const RoadVehicle *v, TileIndex tile, DiagDirection enterdir, TrackdirBits trackdirs, bool &path_found) |
Finds the best path for given road vehicle using NPF. More... | |
Track | NPFShipChooseTrack (const Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found) |
Finds the best path for given ship using NPF. More... | |
bool | NPFShipCheckReverse (const Ship *v) |
Returns true if it is better to reverse the ship before leaving depot using NPF. More... | |
FindDepotData | NPFTrainFindNearestDepot (const Train *v, int max_penalty) |
Used when user sends train to the nearest depot or if train needs servicing using NPF. More... | |
bool | NPFTrainFindNearestSafeTile (const Train *v, TileIndex tile, Trackdir td, bool override_railtype) |
Try to extend the reserved path of a train to the nearest safe tile using NPF. More... | |
bool | NPFTrainCheckReverse (const Train *v) |
Returns true if it is better to reverse the train before leaving station using NPF. More... | |
Track | NPFTrainChooseTrack (const Train *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found, bool reserve_track, struct PBSTileInfo *target) |
Finds the best path for given train using NPF. More... | |
Functions to access the new pathfinder.
Definition in file npf_func.h.
Trackdir NPFRoadVehicleChooseTrack | ( | const RoadVehicle * | v, |
TileIndex | tile, | ||
DiagDirection | enterdir, | ||
TrackdirBits | trackdirs, | ||
bool & | path_found | ||
) |
Finds the best path for given road vehicle using NPF.
v | the RV that needs to find a path |
tile | the tile to find the path from (should be next tile the RV is about to enter) |
enterdir | diagonal direction which the RV will enter this new tile from |
trackdirs | available trackdirs on the new tile (to choose from) |
path_found | [out] Whether a path has been found (true) or has been guessed (false) |
FindDepotData NPFRoadVehicleFindNearestDepot | ( | const RoadVehicle * | v, |
int | max_penalty | ||
) |
Used when user sends road vehicle to the nearest depot or if road vehicle needs servicing using NPF.
v | vehicle that needs to go to some depot |
max_penalty | max distance (in pathfinder penalty) from the current vehicle position (used also as optimization - the pathfinder can stop path finding if max_penalty was reached and no depot was seen) |
Definition at line 1114 of file npf.cpp.
References RoadVehicle::GetVehicleTrackdir(), INVALID_RAILTYPES, Vehicle::owner, and TRANSPORT_ROAD.
bool NPFShipCheckReverse | ( | const Ship * | v | ) |
Track NPFShipChooseTrack | ( | const Ship * | v, |
TileIndex | tile, | ||
DiagDirection | enterdir, | ||
TrackBits | tracks, | ||
bool & | path_found | ||
) |
Finds the best path for given ship using NPF.
v | the ship that needs to find a path |
tile | the tile to find the path from (should be next tile the ship is about to enter) |
enterdir | diagonal direction which the ship will enter this new tile from |
tracks | available tracks on the new tile (to choose from) |
path_found | [out] Whether a path has been found (true) or has been guessed (false) |
Definition at line 1158 of file npf.cpp.
References Ship::GetVehicleTrackdir().
bool NPFTrainCheckReverse | ( | const Train * | v | ) |
Returns true if it is better to reverse the train before leaving station using NPF.
v | the train leaving the station |
Definition at line 1241 of file npf.cpp.
References SpecializedVehicle< T, Type >::Last().
Track NPFTrainChooseTrack | ( | const Train * | v, |
TileIndex | tile, | ||
DiagDirection | enterdir, | ||
TrackBits | tracks, | ||
bool & | path_found, | ||
bool | reserve_track, | ||
struct PBSTileInfo * | target | ||
) |
Finds the best path for given train using NPF.
v | the train that needs to find a path |
tile | the tile to find the path from (should be next tile the train is about to enter) |
enterdir | diagonal direction which the RV will enter this new tile from |
tracks | available trackdirs on the new tile (to choose from) |
path_found | [out] Whether a path has been found (true) or has been guessed (false) |
reserve_track | indicates whether YAPF should try to reserve the found path |
target | [out] the target tile of the reservation, free is set to true if path was reserved |
Definition at line 1260 of file npf.cpp.
Referenced by DoTrainPathfind().
FindDepotData NPFTrainFindNearestDepot | ( | const Train * | v, |
int | max_penalty | ||
) |
Used when user sends train to the nearest depot or if train needs servicing using NPF.
v | train that needs to go to some depot |
max_penalty | max max_penalty (in pathfinder penalty) from the current train position (used also as optimization - the pathfinder can stop path finding if max_penalty was reached and no depot was seen) |
Definition at line 1198 of file npf.cpp.
References Train::GetVehicleTrackdir(), SpecializedVehicle< T, Type >::Last(), ReverseTrackdir(), and NPFFindStationOrTileData::v.
bool NPFTrainFindNearestSafeTile | ( | const Train * | v, |
TileIndex | tile, | ||
Trackdir | td, | ||
bool | override_railtype | ||
) |
Try to extend the reserved path of a train to the nearest safe tile using NPF.
v | The train that needs to find a safe tile. |
tile | Last tile of the current reserved path. |
td | Last trackdir of the current reserved path. |
override_railtype | Should all physically compatible railtypes be searched, even if the vehicle can't run on them on its own? |
Definition at line 1220 of file npf.cpp.
Referenced by TryReserveSafeTrack().