- const TrackChain *wp_chain = info->waypoints[waypoint];
- if(wp_chain->has_track(*track) && !wp_chain->has_track(*next_track))
- {
- if(waypoint+1<info->waypoints.size())
- ++waypoint;
- else
+ const TrainRouter::Waypoint &wp = info->waypoints[waypoint];
+ if(wp.chain->has_track(*track) && !wp.chain->has_track(*next_track))
+ if(wp.direction==TrackChain::UNSPECIFIED || track==wp.chain->iter_for(*track, wp.direction))