Data Structures | Functions

# yapf_ship.cpp File Reference

Implementation of YAPF for ships. More...

`#include "../../stdafx.h"`
`#include "../../ship.h"`
`#include "yapf.hpp"`
`#include "yapf_node_ship.hpp"`

Go to the source code of this file.

## Data Structures
class | CYapfFollowShipT< Types >
| Node Follower module of YAPF for ships. More...
class | CYapfCostShipT< Types >
| Cost Provider module of YAPF for ships. More...
struct | CYapfShip_TypesT< Tpf_, Ttrack_follower, Tnode_list >
| Config struct of YAPF for ships. More...
struct | CYapfShip1
struct | CYapfShip2
struct | CYapfShip3
## Functions
Track | YapfShipChooseTrack (const Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found)
| Ship controller helper - path finder invoker.
bool | YapfShipCheckReverse (const Ship *v)
| Returns true if it is better to reverse the ship before leaving depot using YAPF.

## Detailed Description

Implementation of YAPF for ships.

Definition in file yapf_ship.cpp.

## Function Documentation

bool YapfShipCheckReverse | ( | const Ship * | v | ) |

Returns true if it is better to reverse the ship before leaving depot using YAPF.

Parameters:

  | v | the ship leaving the depot

Returns:
  true if reversing is better

Definition at line 240 of file yapf_ship.cpp.

References _settings_game, YAPFSettings::disable_node_optimization, PathfinderSettings::forbid_90_deg, Ship::GetVehicleTrackdir(), GameSettings::pf, ReverseTrackdir(), Vehicle::tile, and PathfinderSettings::yapf.

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

Ship controller helper - path finder invoker.

Finds the best path for given ship using YAPF.

Definition at line 223 of file yapf_ship.cpp.

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

Referenced by ChooseShipTrack().