diff options
-rw-r--r-- | src/ground_vehicle.cpp | 5 | ||||
-rw-r--r-- | src/train.h | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/ground_vehicle.cpp b/src/ground_vehicle.cpp index 80a43b6a3..cc2360d3f 100644 --- a/src/ground_vehicle.cpp +++ b/src/ground_vehicle.cpp @@ -127,7 +127,7 @@ int GroundVehicle<T, Type>::GetAcceleration() const } /* Air drag; the air drag coefficient is in an arbitrary NewGRF-unit, * so we need some magic conversion factor. */ - resistance += (area * this->gcache.cached_air_drag * speed * speed) / 500; + resistance += (area * this->gcache.cached_air_drag * speed * speed) / 1000; resistance += this->GetSlopeResistance(); @@ -151,7 +151,8 @@ int GroundVehicle<T, Type>::GetAcceleration() const } if (mode == AS_ACCEL) { - return (force - resistance) / (mass * 2); + /* Divide by 4 to compensate for the wacky game scale. */ + return (force - resistance) / (mass * 4); } else { return min(-force - resistance, -10000) / mass; } diff --git a/src/train.h b/src/train.h index 4cc9ea7a2..1b472d4c4 100644 --- a/src/train.h +++ b/src/train.h @@ -462,11 +462,10 @@ protected: // These functions should not be called outside acceleration code. */ FORCEINLINE uint32 GetRollingFriction() const { - /* Rolling friction for steel on steel is between 0.1% and 0.2%, - * but we use a higher value here to get better game-play results. + /* Rolling friction for steel on steel is between 0.1% and 0.2%. * The friction coefficient increases with speed in a way that * it doubles at 512 km/h, triples at 1024 km/h and so on. */ - return 30 * (512 + this->GetCurrentSpeed()) / 512; + return 15 * (512 + this->GetCurrentSpeed()) / 512; } /** |