(svn r21706) -Fix-ish [FS#4370]: the old ship pathfinder is too stupid to provide "lost" notices; it would even get lost while following it's own path

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
rubidium 14 years ago
parent 7daf2a4ec0
commit b68d37f2aa

@ -204,12 +204,8 @@ Track OPFShipChooseTrack(const Ship *v, TileIndex tile, DiagDirection enterdir,
/* And if we would not reverse? */
uint dist = FindShipTrack(v, tile, enterdir, tracks, 0, &track);
/* If the dist equals zero, or distr equals one (the extra reversing penalty),
* then we found our destination and we are not lost.
* When we are not lost (yet) and the distance to our destination becomes
* less, then we aren't lost yet.
* So, we only become lost when the distance to our destination increases. */
path_found = (dist == 0 || distr == 1 || (!(v->vehicle_flags & VF_PATHFINDER_LOST) && min(dist, distr) < DistanceManhattan(tile, v->dest_tile)));
/* Due to the way this pathfinder works we cannot determine whether we're lost or not. */
path_found = true;
if (dist <= distr) return track;
return INVALID_TRACK; // We could better reverse
}

Loading…
Cancel
Save