summaryrefslogtreecommitdiff
path: root/src/control/CarCtrl.cpp
diff options
context:
space:
mode:
authorNikolay Korolev <nickvnuk@gmail.com>2020-05-04 14:57:49 +0300
committerNikolay Korolev <nickvnuk@gmail.com>2020-05-04 14:57:49 +0300
commitd1a46c35ce4012e74b8a9955d8e6e4dcc562b57d (patch)
treee085d805f553bc43d77bbd6adf287d362b556d38 /src/control/CarCtrl.cpp
parent926e216dd46bebc104756274a351db215f7d32b2 (diff)
fixed spawn bug
Diffstat (limited to 'src/control/CarCtrl.cpp')
-rw-r--r--src/control/CarCtrl.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/control/CarCtrl.cpp b/src/control/CarCtrl.cpp
index 2d946145..09571b7f 100644
--- a/src/control/CarCtrl.cpp
+++ b/src/control/CarCtrl.cpp
@@ -422,8 +422,11 @@ CCarCtrl::GenerateOneRandomCar()
#ifdef FIX_BUGS
/* Casting timer to float is very unwanted. In this case it's not awful */
/* but in CAutoPilot::ModifySpeed it can even cause crashes (see SilentPatch). */
+
+ /* Second fix: adding 0.5f is a mistake. It should be between 0 and 1. It was fixed in SA.*/
+ /* It is also correct in CAutoPilot::ModifySpeed. */
pCar->AutoPilot.m_nTimeEnteredCurve = CTimer::GetTimeInMilliseconds() -
- (uint32)((0.5f + positionBetweenNodes) * pCar->AutoPilot.m_nTimeToSpendOnCurrentCurve);
+ (uint32)(positionBetweenNodes * pCar->AutoPilot.m_nTimeToSpendOnCurrentCurve);
#else
pCar->AutoPilot.m_nTimeEnteredCurve = CTimer::GetTimeInMilliseconds() -
(0.5f + positionBetweenNodes) * pCar->AutoPilot.m_nTimeToSpendOnCurrentCurve;