16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-19 08:49:18 +02:00

fixed recognition of train stops.

This commit is contained in:
tmj-fstate
2017-02-05 00:58:24 +01:00
parent 589b6d5301
commit fdb95d3b63
6 changed files with 42 additions and 42 deletions

View File

@@ -2551,9 +2551,8 @@ void TTrain::UpdateMechPosition(double dt)
// ABu: rzucamy kabina tylko przy duzym FPS!
// Mala histereza, zeby bez przerwy nie przelaczalo przy FPS~17
// Granice mozna ustalic doswiadczalnie. Ja proponuje 14:20
double iVel = DynamicObject->GetVelocity();
if (iVel > 150.0)
iVel = 150.0;
double const iVel = std::min(DynamicObject->GetVelocity(), 150.0);
if (!Global::iSlowMotion // musi być pełna prędkość
&& (pMechOffset.y < 4.0)) // Ra 15-01: przy oglądaniu pantografu bujanie przeszkadza
{
@@ -2561,12 +2560,12 @@ void TTrain::UpdateMechPosition(double dt)
// acceleration-driven base shake
shake += 1.5 * MechSpring.ComputateForces(
vector3(
-mvControlled->AccN * dt * 7.5, // highlight side sway
mvControlled->AccV * dt * 15,
-mvControlled->AccS * dt ),
-mvControlled->AccN * dt * 5.0, // highlight side sway
mvControlled->AccV * dt,
-mvControlled->AccS * dt * 2.5 ), // accent acceleration/deceleration
pMechShake );
if( Random( iVel ) > 30.0 ) {
if( Random( iVel ) > 25.0 ) {
// extra shake at increased velocity
shake += MechSpring.ComputateForces(
vector3(
@@ -2576,7 +2575,7 @@ void TTrain::UpdateMechPosition(double dt)
pMechShake );
// * (( 200 - DynamicObject->MyTrack->iQualityFlag ) * 0.0075 ); // scale to 75-150% based on track quality
}
shake *= 1.35;
shake *= 1.25;
}
vMechVelocity -= (shake + vMechVelocity * 100) * (fMechSpringX + fMechSpringY + fMechSpringZ) / (200);
// shake *= 0.95 * dt; // shake damping