# yapf_ship.cpp File Reference

Implementation of YAPF for ships. More...

`#include "../../stdafx.h"`
`#include "../../ship.h"`
`#include "yapf.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)
| Ship controller helper - path finder invoker.

## Detailed Description

Implementation of YAPF for ships.

Definition in file yapf_ship.cpp.

## Function Documentation

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

Ship controller helper - path finder invoker.

Finds the best path for given ship using YAPF.

Definition at line 172 of file yapf_ship.cpp.

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

Referenced by ChooseShipTrack().