diff options
author | rubidium <rubidium@openttd.org> | 2009-07-24 15:18:25 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-07-24 15:18:25 +0000 |
commit | c3d2c47faa6bb9c07c362127b4fb5de79130bfa0 (patch) | |
tree | 6478960a00fd8d58956b9fdb0981ad1bf995f373 /src/yapf/yapf_destrail.hpp | |
parent | cf38a5bee6628f4be58a1bd7774658cf86807d5c (diff) | |
download | openttd-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.hpp | 9 |
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 { |