# HG changeset patch # User rubidium # Date 1215446678 0 # Node ID ef4f97adc383d73cd7ff482f8cbf8541069805a5 # Parent c257c3ae547c98abe01faf769d074e5a33d760d2 (svn r13680) -Fix: NPF crashing when a ship tried to find a nearby depot when on an aqueduct. diff -r c257c3ae547c -r ef4f97adc383 src/vehicle.cpp --- a/src/vehicle.cpp Mon Jul 07 09:23:54 2008 +0000 +++ b/src/vehicle.cpp Mon Jul 07 16:04:38 2008 +0000 @@ -1650,7 +1650,7 @@ if (v->u.rail.track == TRACK_BIT_DEPOT) // We'll assume the train is facing outwards return DiagDirToDiagTrackdir(GetRailDepotDirection(v->tile)); // Train in depot - if (v->u.rail.track == TRACK_BIT_WORMHOLE) // train in tunnel, so just use his direction and assume a diagonal track + if (v->u.rail.track == TRACK_BIT_WORMHOLE) // train in tunnel or on bridge, so just use his direction and assume a diagonal track return DiagDirToDiagTrackdir(DirToDiagDir(v->direction)); return TrackDirectionToTrackdir(FindFirstTrack(v->u.rail.track), v->direction); @@ -1660,6 +1660,9 @@ // We'll assume the ship is facing outwards return DiagDirToDiagTrackdir(GetShipDepotDirection(v->tile)); + if (v->u.ship.state == TRACK_BIT_WORMHOLE) // ship on aqueduct, so just use his direction and assume a diagonal track + return DiagDirToDiagTrackdir(DirToDiagDir(v->direction)); + return TrackDirectionToTrackdir(FindFirstTrack(v->u.ship.state), v->direction); case VEH_ROAD: