summaryrefslogtreecommitdiff
path: root/src/yapf
diff options
context:
space:
mode:
Diffstat (limited to 'src/yapf')
-rw-r--r--src/yapf/yapf_costrail.hpp2
-rw-r--r--src/yapf/yapf_destrail.hpp17
2 files changed, 4 insertions, 15 deletions
diff --git a/src/yapf/yapf_costrail.hpp b/src/yapf/yapf_costrail.hpp
index dcf9a602a..1731f7fdf 100644
--- a/src/yapf/yapf_costrail.hpp
+++ b/src/yapf/yapf_costrail.hpp
@@ -406,7 +406,7 @@ no_entry_cost: // jump here at the beginning if the node has no parent (it is th
/* We will end in this pass (station is possible target) */
end_segment_reason |= ESRB_STATION;
- } else if (cur.tile_type == MP_RAILWAY && IsRailWaypoint(cur.tile)) {
+ } else if (cur.tile_type == MP_STATION && IsRailWaypoint(cur.tile)) {
/* Waypoint is also a good reason to finish. */
end_segment_reason |= ESRB_WAYPOINT;
} else if (TrackFollower::DoTrackMasking() && cur.tile_type == MP_RAILWAY) {
diff --git a/src/yapf/yapf_destrail.hpp b/src/yapf/yapf_destrail.hpp
index 08b1da070..650b43b49 100644
--- a/src/yapf/yapf_destrail.hpp
+++ b/src/yapf/yapf_destrail.hpp
@@ -134,22 +134,11 @@ public:
m_destTrackdirs = INVALID_TRACKDIR_BIT;
break;
- case OT_GOTO_WAYPOINT: {
- Waypoint *wp = Waypoint::Get(v->current_order.GetDestination());
- if (wp == NULL) {
- /* Invalid waypoint in orders! */
- DEBUG(yapf, 0, "Invalid waypoint in orders == 0x%04X (train %d, company %d)", v->current_order.GetDestination(), v->unitnumber, (CompanyID)v->owner);
- break;
- }
- m_destTile = wp->xy;
- if (m_destTile != v->dest_tile) {
- /* Something is wrong with orders! */
- DEBUG(yapf, 0, "Invalid v->dest_tile == 0x%04X (train %d, company %d)", v->dest_tile, v->unitnumber, (CompanyID)v->owner);
- }
+ case OT_GOTO_WAYPOINT:
+ m_destTile = Waypoint::Get(v->current_order.GetDestination())->xy;
m_dest_station_id = INVALID_STATION;
- m_destTrackdirs = TrackToTrackdirBits(AxisToTrack(GetWaypointAxis(wp->xy)));
+ m_destTrackdirs = IsRailWaypointTile(m_destTile) ? TrackToTrackdirBits(GetRailStationTrack(m_destTile)) : INVALID_TRACKDIR_BIT;
break;
- }
default:
m_destTile = v->dest_tile;