|
OpenTTD Source
14.0-beta1
|
Node Follower module of YAPF for ships. More...
Public Types | |
| typedef Types::Tpf | Tpf |
| the pathfinder class (derived from THIS class). | |
| typedef Types::TrackFollower | TrackFollower |
| typedef Types::NodeList::Titem | Node |
| this will be our node type. | |
| typedef Node::Key | Key |
| key to hash tables. | |
Public Member Functions | |
| void | PfFollowNode (Node &old_node) |
| Called by YAPF to move from the given node to the next tile. More... | |
| void | RestrictSearch (const std::vector< WaterRegionPatchDesc > &path) |
| Restricts the search by creating corridor or water regions through which the ship is allowed to travel. | |
| char | TransportTypeChar () const |
| Return debug report character to identify the transportation type. | |
Static Public Member Functions | |
| static Trackdir | CreateRandomPath (const Ship *v, TileIndex tile, Trackdir dir, ShipPathCache &path_cache, int path_length) |
| Creates a random path, avoids 90 degree turns. | |
| static Trackdir | ChooseShipTrack (const Ship *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool &path_found, ShipPathCache &path_cache) |
| static bool | CheckShipReverse (const Ship *v, TileIndex tile, Trackdir td1, Trackdir td2, Trackdir *trackdir) |
| Check whether a ship should reverse to reach its destination. More... | |
Protected Member Functions | |
| Tpf & | Yapf () |
| to access inherited path finder | |
Protected Attributes | |
| std::vector< WaterRegionDesc > | m_water_region_corridor |
Node Follower module of YAPF for ships.
Definition at line 127 of file yapf_ship.cpp.
|
inlinestatic |
Check whether a ship should reverse to reach its destination.
Called when leaving depot.
| v | Ship. |
| tile | Current position. |
| td1 | Forward direction. |
| td2 | Reverse direction. |
| trackdir | [out] the best of all possible reversed trackdirs. |
Definition at line 286 of file yapf_ship.cpp.
References YapfShipFindWaterRegionPath().
|
inline |
Called by YAPF to move from the given node to the next tile.
For each reachable trackdir on the new tile creates new node, initializes it and adds it to the open list by calling Yapf().AddNewNode(n)
Definition at line 150 of file yapf_ship.cpp.