mirror of https://github.com/OpenTTD/OpenTTD
(svn r24964) -Fix [FS#5416]: With YAPF the docking behaviour differed per direction; now favour docking in the direction you approached
parent
968b41fa3f
commit
eb538da228
|
@ -58,9 +58,12 @@ public:
|
||||||
if (tile == v->dest_tile) {
|
if (tile == v->dest_tile) {
|
||||||
/* convert tracks to trackdirs */
|
/* convert tracks to trackdirs */
|
||||||
TrackdirBits trackdirs = (TrackdirBits)(tracks | ((int)tracks << 8));
|
TrackdirBits trackdirs = (TrackdirBits)(tracks | ((int)tracks << 8));
|
||||||
/* choose any trackdir reachable from enterdir */
|
/* limit to trackdirs reachable from enterdir */
|
||||||
trackdirs &= DiagdirReachesTrackdirs(enterdir);
|
trackdirs &= DiagdirReachesTrackdirs(enterdir);
|
||||||
return (Trackdir)FindFirstBit2x64(trackdirs);
|
|
||||||
|
/* use vehicle's current direction if that's possible, otherwise use first usable one. */
|
||||||
|
Trackdir veh_dir = v->GetVehicleTrackdir();
|
||||||
|
return ((trackdirs & TrackdirToTrackdirBits(veh_dir)) != 0) ? veh_dir : (Trackdir)FindFirstBit2x64(trackdirs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* move back to the old tile/trackdir (where ship is coming from) */
|
/* move back to the old tile/trackdir (where ship is coming from) */
|
||||||
|
|
Loading…
Reference in New Issue