(svn r167) -Fix: [972247] bug in '[a] weird non-uniform stations handling'
authortruelight
Mon, 06 Sep 2004 18:33:51 +0000
changeset 166 683136f1e8a8
parent 165 f81fa8c27236
child 167 a38a34da7282
(svn r167) -Fix: [972247] bug in '[a] weird non-uniform stations handling'
(blathijs)
train_cmd.c
--- a/train_cmd.c	Mon Sep 06 18:22:25 2004 +0000
+++ b/train_cmd.c	Mon Sep 06 18:33:51 2004 +0000
@@ -1306,8 +1306,11 @@
 		return false;
 
 	// did we reach the final station?
-	if (tile == ttfd->dest_coords ||
-			(IS_TILETYPE(tile, MP_STATION) && IS_BYTE_INSIDE(_map5[tile], 0, 8) && _map2[tile] == ttfd->station_index)) {
+ if ((ttfd->station_index == -1 && tile == ttfd->dest_coords) ||
+  (IS_TILETYPE(tile, MP_STATION) && IS_BYTE_INSIDE(_map5[tile], 0, 8) && _map2[tile] == ttfd->station_index)) {
+  /* We do not check for dest_coords if we have a station_index,
+   * because in that case the dest_coords are just an
+   * approximation of where the station is */
 		// found station
 		ttfd->best_bird_dist = 0;
 		if (length < ttfd->best_track_dist) {