|
OpenTTD Source 20251117-master-g7398d2e290
|
Public Types | |
| typedef Types::Tpf | Tpf |
| the pathfinder class (derived from THIS class) | |
| typedef Types::TrackFollower | TrackFollower |
| typedef Types::NodeList::Item | Node |
| this will be our node type | |
Public Member Functions | |
| void | SetReservationTarget (Node *node, TileIndex tile, Trackdir td) |
| Set the target to where the reservation should be extended. | |
| void | FindSafePositionOnNode (Node *node) |
| Check the node for a possible reservation target. | |
| bool | TryReservePath (PBSTileInfo *target, TileIndex origin) |
| Try to reserve the path till the reservation target. | |
Protected Member Functions | |
| Tpf & | Yapf () |
| to access inherited pathfinder | |
Private Member Functions | |
| bool | FindSafePositionProc (TileIndex tile, Trackdir td) |
| bool | ReserveRailStationPlatform (TileIndex &tile, DiagDirection dir) |
| Reserve a railway platform. | |
| bool | ReserveSingleTrack (TileIndex tile, Trackdir td) |
| Try to reserve a single track/platform. | |
| bool | UnreserveSingleTrack (TileIndex tile, Trackdir td) |
| Unreserve a single track/platform. | |
Private Attributes | |
| TileIndex | res_dest_tile |
| The reservation target tile. | |
| Trackdir | res_dest_td |
| The reservation target trackdir. | |
| Node * | res_dest_node |
| The reservation target node. | |
| TileIndex | res_fail_tile |
| The tile where the reservation failed. | |
| Trackdir | res_fail_td |
| The trackdir where the reservation failed. | |
| TileIndex | origin_tile |
| Tile our reservation will originate from. | |
| std::vector< std::pair< TileIndex, Trackdir > > | signals_set_to_red |
| List of signals turned red during a path reservation. | |
Definition at line 36 of file yapf_rail.cpp.
| typedef Types::NodeList::Item CYapfReserveTrack< Types >::Node |
this will be our node type
Definition at line 40 of file yapf_rail.cpp.
| typedef Types::Tpf CYapfReserveTrack< Types >::Tpf |
the pathfinder class (derived from THIS class)
Definition at line 38 of file yapf_rail.cpp.
| typedef Types::TrackFollower CYapfReserveTrack< Types >::TrackFollower |
Definition at line 39 of file yapf_rail.cpp.
|
inline |
Check the node for a possible reservation target.
Definition at line 150 of file yapf_rail.cpp.
References CYapfReserveTrack< Types >::Yapf().
|
inlineprivate |
Definition at line 59 of file yapf_rail.cpp.
|
inlineprivate |
Reserve a railway platform.
Tile contains the failed tile on abort.
Definition at line 70 of file yapf_rail.cpp.
References BaseStation::GetByTile(), HasStationReservation(), IsCompatibleTrainStationTile(), MarkTileDirtyByTile(), PathReservation, SetRailStationReservation(), TileAdd(), TileOffsByDiagDir(), and TriggerStationRandomisation().
Referenced by CYapfReserveTrack< Types >::ReserveSingleTrack().
|
inlineprivate |
Try to reserve a single track/platform.
Definition at line 90 of file yapf_rail.cpp.
References BaseStation::GetByTile(), GetSignalStateByTrackdir(), HasPbsSignalOnTrackdir(), IsRailStationTile(), IsRailWaypointTile(), MarkTileDirtyByTile(), PathReservation, CYapfReserveTrack< Types >::res_dest_td, CYapfReserveTrack< Types >::ReserveRailStationPlatform(), ReverseTrackdir(), SetSignalStateByTrackdir(), SIGNAL_STATE_GREEN, SIGNAL_STATE_RED, TrackdirToExitdir(), TrackdirToTrack(), TriggerStationRandomisation(), and TryReserveRailTrack().
|
inline |
Set the target to where the reservation should be extended.
Definition at line 142 of file yapf_rail.cpp.
|
inline |
Try to reserve the path till the reservation target.
Definition at line 163 of file yapf_rail.cpp.
References INVALID_TILE, INVALID_TRACK, IsWaitingPositionFree(), PBSTileInfo::okay, CYapfReserveTrack< Types >::res_dest_node, CYapfReserveTrack< Types >::res_dest_td, CYapfReserveTrack< Types >::res_dest_tile, CYapfReserveTrack< Types >::res_fail_tile, SetSignalStateByTrackdir(), SIGNAL_STATE_GREEN, CYapfReserveTrack< Types >::signals_set_to_red, PBSTileInfo::tile, PBSTileInfo::trackdir, CYapfReserveTrack< Types >::Yapf(), and YapfNotifyTrackLayoutChange().
|
inlineprivate |
Unreserve a single track/platform.
Stops when the previous failure is reached.
Definition at line 125 of file yapf_rail.cpp.
References IsCompatibleTrainStationTile(), IsRailStationTile(), CYapfReserveTrack< Types >::res_fail_td, ReverseTrackdir(), SetRailStationReservation(), TileAdd(), TileOffsByDiagDir(), TrackdirToExitdir(), TrackdirToTrack(), and UnreserveRailTrack().
|
inlineprotected |
to access inherited pathfinder
Definition at line 44 of file yapf_rail.cpp.
Referenced by CYapfReserveTrack< Types >::FindSafePositionOnNode(), and CYapfReserveTrack< Types >::TryReservePath().
|
private |
Tile our reservation will originate from.
Definition at line 55 of file yapf_rail.cpp.
|
private |
The reservation target node.
Definition at line 52 of file yapf_rail.cpp.
Referenced by CYapfReserveTrack< Types >::TryReservePath().
|
private |
The reservation target trackdir.
Definition at line 51 of file yapf_rail.cpp.
Referenced by CYapfReserveTrack< Types >::ReserveSingleTrack(), and CYapfReserveTrack< Types >::TryReservePath().
|
private |
The reservation target tile.
Definition at line 50 of file yapf_rail.cpp.
Referenced by CYapfReserveTrack< Types >::TryReservePath().
|
private |
The trackdir where the reservation failed.
Definition at line 54 of file yapf_rail.cpp.
Referenced by CYapfReserveTrack< Types >::UnreserveSingleTrack().
|
private |
The tile where the reservation failed.
Definition at line 53 of file yapf_rail.cpp.
Referenced by CYapfReserveTrack< Types >::TryReservePath().
|
private |
List of signals turned red during a path reservation.
Definition at line 57 of file yapf_rail.cpp.
Referenced by CYapfReserveTrack< Types >::TryReservePath().