mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-12 18:40:29 +00:00
(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
This commit is contained in:
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…
Reference in New Issue
Block a user