From 868d035b45a10e0a84c2e687bb7229cd4285073d Mon Sep 17 00:00:00 2001 From: michi_cc Date: Tue, 4 Jan 2011 18:12:28 +0000 Subject: [PATCH] (svn r21712) -Change: Tune 'realistic' acceleration even more to make more trains reach their top speed. --- src/ground_vehicle.cpp | 5 +++-- src/train.h | 5 ++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ground_vehicle.cpp b/src/ground_vehicle.cpp index 80a43b6a33..cc2360d3f1 100644 --- a/src/ground_vehicle.cpp +++ b/src/ground_vehicle.cpp @@ -127,7 +127,7 @@ int GroundVehicle::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::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 4cc9ea7a27..1b472d4c4e 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; } /**