summaryrefslogtreecommitdiff
path: root/src/yapf/yapf_destrail.hpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-07-24 15:18:25 +0000
committerrubidium <rubidium@openttd.org>2009-07-24 15:18:25 +0000
commitc3d2c47faa6bb9c07c362127b4fb5de79130bfa0 (patch)
tree6478960a00fd8d58956b9fdb0981ad1bf995f373 /src/yapf/yapf_destrail.hpp
parentcf38a5bee6628f4be58a1bd7774658cf86807d5c (diff)
downloadopenttd-c3d2c47faa6bb9c07c362127b4fb5de79130bfa0.tar.xz
(svn r16940) -Codechange: make the pathfinders behave the same when finding waypoints or stations, i.e. don't force exactly one destination tile for a waypoint
Diffstat (limited to 'src/yapf/yapf_destrail.hpp')
-rw-r--r--src/yapf/yapf_destrail.hpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/yapf/yapf_destrail.hpp b/src/yapf/yapf_destrail.hpp
index 928f10065..dea651789 100644
--- a/src/yapf/yapf_destrail.hpp
+++ b/src/yapf/yapf_destrail.hpp
@@ -129,17 +129,12 @@ public:
{
switch (v->current_order.GetType()) {
case OT_GOTO_STATION:
+ case OT_GOTO_WAYPOINT:
m_destTile = CalcClosestStationTile(v->current_order.GetDestination(), v->tile);
m_dest_station_id = v->current_order.GetDestination();
m_destTrackdirs = INVALID_TRACKDIR_BIT;
break;
- case OT_GOTO_WAYPOINT:
- m_destTile = Waypoint::Get(v->current_order.GetDestination())->xy;
- m_dest_station_id = INVALID_STATION;
- m_destTrackdirs = IsRailWaypointTile(m_destTile) ? TrackToTrackdirBits(GetRailStationTrack(m_destTile)) : INVALID_TRACKDIR_BIT;
- break;
-
default:
m_destTile = v->dest_tile;
m_dest_station_id = INVALID_STATION;
@@ -160,7 +155,7 @@ public:
{
bool bDest;
if (m_dest_station_id != INVALID_STATION) {
- bDest = IsRailStationTile(tile)
+ bDest = HasStationTileRail(tile)
&& (GetStationIndex(tile) == m_dest_station_id)
&& (GetRailStationTrack(tile) == TrackdirToTrack(td));
} else {