Convert m_gravityStrength to new settings API

Casts inside the function because it's not feasible to change all floats
to double.
This commit is contained in:
Vasily
2019-12-10 08:28:41 +01:00
committed by username223
parent 58a92f4b2b
commit 4918ff2a37
2 changed files with 9 additions and 15 deletions
+9 -14
View File
@@ -39,8 +39,6 @@ namespace advsettings
{ {
void MoveCenterTabController::initStage1() void MoveCenterTabController::initStage1()
{ {
m_gravityStrength = static_cast<float>( settings::getSetting(
settings::DoubleSetting::PLAYSPACE_gravityStrength ) );
m_flingStrength = static_cast<float>( settings::getSetting( m_flingStrength = static_cast<float>( settings::getSetting(
settings::DoubleSetting::PLAYSPACE_flingStrength ) ); settings::DoubleSetting::PLAYSPACE_flingStrength ) );
@@ -699,20 +697,17 @@ void MoveCenterTabController::setHeightToggleOffset( float value, bool notify )
float MoveCenterTabController::gravityStrength() const float MoveCenterTabController::gravityStrength() const
{ {
return m_gravityStrength; return static_cast<float>( settings::getSetting(
settings::DoubleSetting::PLAYSPACE_gravityStrength ) );
} }
void MoveCenterTabController::setGravityStrength( float value, bool notify ) void MoveCenterTabController::setGravityStrength( float value, bool notify )
{ {
m_gravityStrength = value; settings::setSetting( settings::DoubleSetting::PLAYSPACE_gravityStrength,
auto settings = OverlayController::appSettings(); static_cast<double>( value ) );
settings->beginGroup( "playspaceSettings" );
settings->setValue( "gravityStrength", m_gravityStrength );
settings->endGroup();
settings->sync();
if ( notify ) if ( notify )
{ {
emit gravityStrengthChanged( m_gravityStrength ); emit gravityStrengthChanged( value );
} }
m_lastGravityUpdateTimePoint = std::chrono::steady_clock::now(); m_lastGravityUpdateTimePoint = std::chrono::steady_clock::now();
} }
@@ -1943,7 +1938,7 @@ void MoveCenterTabController::gravityReverseAction( bool gravityReverseHeld )
if ( ( gravityReverseHeld && !m_gravityReversed ) if ( ( gravityReverseHeld && !m_gravityReversed )
|| ( !gravityReverseHeld && m_gravityReversed ) ) || ( !gravityReverseHeld && m_gravityReversed ) )
{ {
setGravityStrength( m_gravityStrength * -1.0f ); setGravityStrength( gravityStrength() * -1.0f );
} }
m_gravityReversed = gravityReverseHeld; m_gravityReversed = gravityReverseHeld;
} }
@@ -2423,7 +2418,7 @@ void MoveCenterTabController::updateGravity()
// are we falling? // are we falling?
// note: up is negative y // note: up is negative y
// note: set to always fall if gravity reversed (strength < 0) // note: set to always fall if gravity reversed (strength < 0)
if ( ( m_offsetY < m_gravityFloor ) || ( m_gravityStrength < 0 ) ) if ( ( m_offsetY < m_gravityFloor ) || ( gravityStrength() < 0 ) )
{ {
// check if we're about to land // check if we're about to land
// note: we don't land if gravity is reversed (strength < 0) // note: we don't land if gravity is reversed (strength < 0)
@@ -2431,7 +2426,7 @@ void MoveCenterTabController::updateGravity()
+ static_cast<float>( m_velocity[1] + static_cast<float>( m_velocity[1]
* secondsSinceLastGravityUpdate ) * secondsSinceLastGravityUpdate )
>= m_gravityFloor ) >= m_gravityFloor )
&& m_gravityStrength >= 0 ) && gravityStrength() >= 0 )
{ {
// get ratio of how much from y velocity applied to overcome y // get ratio of how much from y velocity applied to overcome y
// offset and get down to ground. // offset and get down to ground.
@@ -2472,7 +2467,7 @@ void MoveCenterTabController::updateGravity()
// accelerate downward velocity for the next update // accelerate downward velocity for the next update
// note: downward is positive y // note: downward is positive y
m_velocity[1] = m_velocity[1] m_velocity[1] = m_velocity[1]
+ ( static_cast<double>( m_gravityStrength ) + ( static_cast<double>( gravityStrength() )
* secondsSinceLastGravityUpdate ); * secondsSinceLastGravityUpdate );
return; return;
} }
@@ -125,7 +125,6 @@ private:
float m_lastControllerPosition[3]; float m_lastControllerPosition[3];
bool m_heightToggle = false; bool m_heightToggle = false;
float m_gravityFloor = 0.0f; float m_gravityFloor = 0.0f;
float m_gravityStrength = 9.8f;
float m_flingStrength = 1.0f; float m_flingStrength = 1.0f;
// Set lastHandQuaternion.w to -1000.0 when last hand is invalid. // Set lastHandQuaternion.w to -1000.0 when last hand is invalid.
vr::HmdQuaternion_t m_lastHandQuaternion vr::HmdQuaternion_t m_lastHandQuaternion