diff --git a/src/tabcontrollers/ChaperoneTabController.cpp b/src/tabcontrollers/ChaperoneTabController.cpp index 066152b..d21fe0b 100644 --- a/src/tabcontrollers/ChaperoneTabController.cpp +++ b/src/tabcontrollers/ChaperoneTabController.cpp @@ -572,6 +572,27 @@ void ChaperoneTabController::eventLoopTick( float rightSpeed, float hmdSpeed ) { + m_chaperoneVelocityModifierCurrent = 1.0f; + if ( m_enableChaperoneVelocityModifier ) + { + float mod = m_chaperoneVelocityModifier + * std::max( { leftSpeed, rightSpeed, hmdSpeed } ); + if ( mod > 0.02f ) + { + m_chaperoneVelocityModifierCurrent += mod; + } + } + float newFadeDistance = m_fadeDistance * m_chaperoneVelocityModifierCurrent; + if ( m_fadeDistanceModified != newFadeDistance ) + { + m_fadeDistanceModified = newFadeDistance; + vr::VRSettings()->SetFloat( + vr::k_pch_CollisionBounds_Section, + vr::k_pch_CollisionBounds_FadeDistance_Float, + m_fadeDistanceModified ); + vr::VRSettings()->Sync(); + } + if ( devicePoses ) { m_isHMDActive = false; @@ -664,28 +685,6 @@ void ChaperoneTabController::eventLoopTick( if ( settingsUpdateCounter >= k_chaperoneSettingsUpdateCounter ) { - m_chaperoneVelocityModifierCurrent = 1.0f; - if ( m_enableChaperoneVelocityModifier ) - { - float mod = m_chaperoneVelocityModifier - * std::max( { leftSpeed, rightSpeed, hmdSpeed } ); - if ( mod > 0.02f ) - { - m_chaperoneVelocityModifierCurrent += mod; - } - } - float newFadeDistance - = m_fadeDistance * m_chaperoneVelocityModifierCurrent; - if ( m_fadeDistanceModified != newFadeDistance ) - { - m_fadeDistanceModified = newFadeDistance; - vr::VRSettings()->SetFloat( - vr::k_pch_CollisionBounds_Section, - vr::k_pch_CollisionBounds_FadeDistance_Float, - m_fadeDistanceModified ); - vr::VRSettings()->Sync(); - } - if ( parent->isDashboardVisible() ) { vr::EVRSettingsError vrSettingsError;