yapf.h File Reference

Entry point for OpenTTD to YAPF. More...

#include "../../direction_type.h"
#include "../../track_type.h"
#include "../../vehicle_type.h"
#include "../pathfinder_type.h"

Go to the source code of this file.

Functions

Track YapfShipChooseTrack (const Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found)
 Finds the best path for given ship using YAPF.
Trackdir YapfRoadVehicleChooseTrack (const RoadVehicle *v, TileIndex tile, DiagDirection enterdir, TrackdirBits trackdirs, bool &path_found)
 Finds the best path for given road vehicle using YAPF.
Track YapfTrainChooseTrack (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 YAPF.
FindDepotData YapfRoadVehicleFindNearestDepot (const RoadVehicle *v, int max_penalty)
 Used when user sends road vehicle to the nearest depot or if road vehicle needs servicing using YAPF.
FindDepotData YapfTrainFindNearestDepot (const Train *v, int max_distance)
 Used when user sends train to the nearest depot or if train needs servicing using YAPF.
bool YapfTrainCheckReverse (const Train *v)
 Returns true if it is better to reverse the train before leaving station using YAPF.
bool YapfTrainFindNearestSafeTile (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 YAPF.

Detailed Description

Entry point for OpenTTD to YAPF.

Definition in file yapf.h.


Function Documentation

Trackdir YapfRoadVehicleChooseTrack ( const RoadVehicle v,
TileIndex  tile,
DiagDirection  enterdir,
TrackdirBits  trackdirs,
bool &  path_found 
)

Finds the best path for given road vehicle using YAPF.

Parameters:
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)
Returns:
the best trackdir for next turn or INVALID_TRACKDIR if the path could not be found

Definition at line 481 of file yapf_road.cpp.

References _settings_game, YAPFSettings::disable_node_optimization, FindFirstBit2x64(), INVALID_TRACKDIR, GameSettings::pf, and PathfinderSettings::yapf.

Referenced by RoadFindPathToDest().

FindDepotData YapfRoadVehicleFindNearestDepot ( const RoadVehicle v,
int  max_penalty 
)

Used when user sends road vehicle to the nearest depot or if road vehicle needs servicing using YAPF.

Parameters:
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)
Returns:
the data about the depot

Definition at line 496 of file yapf_road.cpp.

References _settings_game, FindDepotData::best_length, YAPFSettings::disable_node_optimization, GetTileTrackStatus(), RoadVehicle::GetVehicleTrackdir(), GameSettings::pf, FindDepotData::tile, Vehicle::tile, TrackdirToTrackdirBits(), TrackStatusToTrackdirBits(), TRANSPORT_ROAD, and PathfinderSettings::yapf.

Track YapfShipChooseTrack ( const Ship v,
TileIndex  tile,
DiagDirection  enterdir,
TrackBits  tracks,
bool &  path_found 
)

Finds the best path for given ship using YAPF.

Parameters:
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)
Returns:
the best trackdir for next turn or INVALID_TRACK if the path could not be found

Definition at line 177 of file yapf_ship.cpp.

References _settings_game, YAPFSettings::disable_node_optimization, PathfinderSettings::forbid_90_deg, INVALID_TRACK, INVALID_TRACKDIR, GameSettings::pf, TrackdirToTrack(), and PathfinderSettings::yapf.

Referenced by ChooseShipTrack().

bool YapfTrainCheckReverse ( const Train v  ) 

Returns true if it is better to reverse the train before leaving station using YAPF.

Parameters:
v the train leaving the station
Returns:
true if reversing is better

Definition at line 549 of file yapf_rail.cpp.

References _settings_game, DistanceManhattan(), PathfinderSettings::forbid_90_deg, GetOtherTunnelBridgeEnd(), GetTunnelBridgeDirection(), Train::GetVehicleTrackdir(), SpecializedVehicle< T, Type >::Last(), GameSettings::pf, ReverseTrackdir(), Vehicle::tile, TRACK_BIT_WORMHOLE, TrackdirToExitdir(), Vehicle::x_pos, Vehicle::y_pos, and YAPF_TILE_LENGTH.

Track YapfTrainChooseTrack ( 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 YAPF.

Parameters:
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
Returns:
the best track for next turn

Definition at line 534 of file yapf_rail.cpp.

References _settings_game, FindFirstTrack(), PathfinderSettings::forbid_90_deg, INVALID_TRACKDIR, GameSettings::pf, and TrackdirToTrack().

Referenced by DoTrainPathfind().

FindDepotData YapfTrainFindNearestDepot ( const Train v,
int  max_distance 
)

Used when user sends train to the nearest depot or if train needs servicing using YAPF.

Parameters:
v train that needs to go to some depot
max_penalty max distance (int 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)
Returns:
the data about the depot

Definition at line 608 of file yapf_rail.cpp.

References _settings_game, FindDepotData::best_length, FollowTrainReservation(), PathfinderSettings::forbid_90_deg, Train::GetVehicleTrackdir(), SpecializedVehicle< T, Type >::Last(), GameSettings::pf, FindDepotData::reverse, ReverseTrackdir(), FindDepotData::tile, PBSTileInfo::tile, Vehicle::tile, PBSTileInfo::trackdir, and YAPF_INFINITE_PENALTY.

Referenced by FindClosestTrainDepot().

bool YapfTrainFindNearestSafeTile ( 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 YAPF.

Parameters:
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?
Returns:
True if the path could be extended to a safe tile.

Definition at line 631 of file yapf_rail.cpp.

References _settings_game, PathfinderSettings::forbid_90_deg, and GameSettings::pf.

Referenced by TryReserveSafeTrack().


Generated on Wed Apr 13 00:48:04 2011 for OpenTTD by  doxygen 1.6.1