OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Data Structures | Functions
yapf_road.cpp File Reference

The road pathfinding. More...

`#include "../../stdafx.h"`
`#include "yapf.hpp"`
`#include "yapf_node_road.hpp"`
`#include "../../roadstop_base.h"`
`#include "../../safeguards.h"`

Go to the source code of this file.

## Data Structures
class | CYapfCostRoadT< Types >
class | CYapfDestinationAnyDepotRoadT< Types >
class | CYapfDestinationTileRoadT< Types >
class | CYapfFollowRoadT< Types >
struct | CYapfRoad_TypesT< Tpf_, Tnode_list, Tdestination >
struct | CYapfRoad1
struct | CYapfRoad2
struct | CYapfRoadAnyDepot1
struct | CYapfRoadAnyDepot2

## Functions
Trackdir | YapfRoadVehicleChooseTrack (const RoadVehicle *v, TileIndex tile, DiagDirection enterdir, TrackdirBits trackdirs, bool &path_found)
| Finds the best path for given road vehicle using YAPF.
FindDepotData | YapfRoadVehicleFindNearestDepot (const RoadVehicle *v, int max_distance)
| Used when user sends road vehicle to the nearest depot or if road vehicle needs servicing using YAPF.

## Detailed Description

The road pathfinding.

Definition in file yapf_road.cpp.

## 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 483 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 498 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.