From 73dbc7c86f0e22701eddb99aa91a8cd3a7c2ad24 Mon Sep 17 00:00:00 2001 From: Jano211 <107213310+Jano211@users.noreply.github.com> Date: Sun, 5 Jan 2025 20:13:47 +0100 Subject: [PATCH] Better bumps on switches --- DynObj.cpp | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/DynObj.cpp b/DynObj.cpp index 7a705894..98cf3574 100644 --- a/DynObj.cpp +++ b/DynObj.cpp @@ -3535,23 +3535,30 @@ bool TDynamicObject::Update(double dt, double dt1) clamp(-1.0, 1.0, (MoverParameters->Vel / ( 1 + MoverParameters->Vmax )) * MyTrack->iDamageFlag * ((axleindex % 2) != 0 ? 1 : -1)); if (MyTrack->eType == tt_Switch){ - MoverParameters->AccSVBased += clamp( - -1.0, 1.0, - (MoverParameters->Vel / (1 + MoverParameters->Vmax)) * - MyTrack->iDamageFlag * ((axleindex % 2) != 0 ? 1 : -1)); - MoverParameters->AccS += clamp( - -1.0, 1.0, - (MoverParameters->Vel / (1 + MoverParameters->Vmax)) * - MyTrack->iDamageFlag * ((axleindex % 2) != 0 ? 1 : -1)); - MoverParameters->AccN += clamp( - -1.0, 1.0, - (MoverParameters->Vel / (1 + MoverParameters->Vmax)) * - MyTrack->iDamageFlag * ((axleindex % 2) != 0 ? 1 : -1)); - MoverParameters->AccVert += clamp( - -1.0, 1.0, - (MoverParameters->Vel / (1 + MoverParameters->Vmax)) * - MyTrack->iDamageFlag * ((axleindex % 2) != 0 ? 1 : -1)); - } + MoverParameters->AccS += + clamp(0.0, 1.0, + (clamp(0.0, MoverParameters->Vmax, + MoverParameters->Vmax - + (MoverParameters->Vel + + MoverParameters->Vmax * 0.32f))) * + .05f * (MyTrack->iDamageFlag * 0.25f)) * + ((axleindex % 2) != 0 ? 1 : -1); + MoverParameters->AccN += + clamp(0.0, 1.0, + (clamp(0.0, MoverParameters->Vmax, + MoverParameters->Vmax - + (MoverParameters->Vel + + MoverParameters->Vmax * 0.32f))) * + .05f * (MyTrack->iDamageFlag * 0.25f)) * + ((axleindex % 2) != 0 ? 1 : -1); + MoverParameters->AccVert += + clamp(0.0, 2.0, + (clamp(0.0, MoverParameters->Vmax, + MoverParameters->Vmax - + (MoverParameters->Vel + + MoverParameters->Vmax * 0.32f))) * + .05f * (MyTrack->iDamageFlag * 0.25f)); + } } } ++axleindex;