diff --git a/DynObj.cpp b/DynObj.cpp index 16949a38..3e78effd 100644 --- a/DynObj.cpp +++ b/DynObj.cpp @@ -7856,9 +7856,9 @@ TDynamicObject::update_shake( double const Timedelta ) { if( iVel > 0.5 ) { // acceleration-driven base shake shakevector += Math3D::vector3( - -MoverParameters->AccN * Timedelta * 5.0, // highlight side sway - -MoverParameters->AccVert * Timedelta, - -MoverParameters->AccSVBased * Timedelta * 1.5); // accent acceleration/deceleration + -MoverParameters->AccN * Timedelta * 5.0 * Global.ShakingMultiplierRL, // highlight side sway + -MoverParameters->AccVert * Timedelta * Global.ShakingMultiplierUD, + -MoverParameters->AccSVBased * Timedelta * 1.5 * Global.ShakingMultiplierBF); // accent acceleration/deceleration } auto shake { 1.25 * ShakeSpring.ComputateForces( shakevector, ShakeState.offset ) }; diff --git a/Globals.cpp b/Globals.cpp index bea4c702..1df21179 100644 --- a/Globals.cpp +++ b/Globals.cpp @@ -211,6 +211,15 @@ global_settings::ConfigParse(cParser &Parser) { { Parser.getTokens(); Parser >> MultipleLogs; + } + else if (token == "shakefactor") + { + Parser.getTokens(); + Parser >> ShakingMultiplierBF; + Parser.getTokens(); + Parser >> ShakingMultiplierRL; + Parser.getTokens(); + Parser >> ShakingMultiplierUD; } else if (token == "logs.filter") { diff --git a/Globals.h b/Globals.h index eca5b5da..e6ceb265 100644 --- a/Globals.h +++ b/Globals.h @@ -117,7 +117,9 @@ struct global_settings { glm::ivec2 window_size; // main window size in platform-specific virtual pixels glm::ivec2 cursor_pos; // cursor position in platform-specific virtual pixels glm::ivec2 fb_size; // main window framebuffer size - + float ShakingMultiplierBF {1.f}; // mnożnik bujania kamera przod/tyl + float ShakingMultiplierRL {1.f}; // mnożnik bujania kamera lewo/prawo + float ShakingMultiplierUD {1.f}; // mnożnik bujania kamera gora/dol float fDistanceFactor{ 1.f }; // baza do przeliczania odległości dla LoD float targetfps{ 0.0f }; bool bFullScreen{ false }; diff --git a/Spring.cpp b/Spring.cpp index da955280..59e5c55d 100644 --- a/Spring.cpp +++ b/Spring.cpp @@ -40,7 +40,7 @@ Math3D::vector3 TSpring::ComputateForces( Math3D::vector3 const &pPosition1, Mat // ScaleVector(&deltaP,1.0f / dist, &springForce); // Normalize Distance Vector // ScaleVector(&springForce,-(Hterm + Dterm),&springForce); // Calc Force - springForce = deltaP / dist * ( -( Hterm + Dterm ) ); + springForce = deltaP / dist * ( -( Hterm + Dterm )); // VectorSum(&p1->f,&springForce,&p1->f); // Apply to Particle 1 // VectorDifference(&p2->f,&springForce,&p2->f); // - Force on Particle 2 }