Index: src/vehicle_base.h =================================================================== --- src/vehicle_base.h (revision 27655) +++ src/vehicle_base.h (working copy) @@ -327,7 +327,7 @@ */ inline uint GetOldAdvanceSpeed(uint speed) { - return (this->direction & 1) ? speed : speed * 3 / 4; + return (this->direction & 1) ? speed : speed / 2; } /** @@ -342,9 +342,9 @@ * @param speed Direction-independent unscaled speed. * @return speed, scaled to match #GetAdvanceDistance(). */ - static inline uint GetAdvanceSpeed(uint speed) + inline uint GetAdvanceSpeed(uint speed) { - return speed * 3 / 4; + return (this->type == VEH_TRAIN) ? (this->direction & 1) ? speed * 3 / 4 : speed / 2 : (speed * 3 / 4); } /**