summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ground_vehicle.cpp5
-rw-r--r--src/train.h5
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;
}
/**