diff --git a/build_scripts/qt/compilers/clang-gcc-common-switches.pri b/build_scripts/qt/compilers/clang-gcc-common-switches.pri index c7a339b..fca9988 100644 --- a/build_scripts/qt/compilers/clang-gcc-common-switches.pri +++ b/build_scripts/qt/compilers/clang-gcc-common-switches.pri @@ -7,3 +7,5 @@ QMAKE_CXXFLAGS += -Wold-style-cast QMAKE_CXXFLAGS += -Wnon-virtual-dtor QMAKE_CXXFLAGS += -Wcast-align -Wunused -Woverloaded-virtual -Wformat=2 + +QMAKE_CXXFLAGS += -Wdouble-promotion diff --git a/build_scripts/qt/compilers/clang-msvc.pri b/build_scripts/qt/compilers/clang-msvc.pri index 65e7957..b7f3398 100644 --- a/build_scripts/qt/compilers/clang-msvc.pri +++ b/build_scripts/qt/compilers/clang-msvc.pri @@ -15,5 +15,4 @@ QMAKE_CXXFLAGS += -Wmost QMAKE_CXXFLAGS += -Weffc++ #QMAKE_CXXFLAGS += -Wconversion -#QMAKE_CXXFLAGS += -Wdouble-promotion #QMAKE_CXXFLAGS += -Wsign-conversion diff --git a/src/overlaycontroller.cpp b/src/overlaycontroller.cpp index 0497861..0b633bf 100644 --- a/src/overlaycontroller.cpp +++ b/src/overlaycontroller.cpp @@ -1076,7 +1076,7 @@ void OverlayController::playAlarm01Sound( bool loop ) void OverlayController::setAlarm01SoundVolume( float vol ) { - m_alarm01SoundEffect.setVolume( vol ); + m_alarm01SoundEffect.setVolume( static_cast( vol ) ); } void OverlayController::cancelAlarm01Sound() diff --git a/src/tabcontrollers/ChaperoneTabController.cpp b/src/tabcontrollers/ChaperoneTabController.cpp index 2528854..752c852 100644 --- a/src/tabcontrollers/ChaperoneTabController.cpp +++ b/src/tabcontrollers/ChaperoneTabController.cpp @@ -564,7 +564,7 @@ void ChaperoneTabController::eventLoopTick( { float mod = m_chaperoneVelocityModifier * std::max( { leftSpeed, rightSpeed, hmdSpeed } ); - if ( mod > 0.02 ) + if ( mod > 0.02f ) { m_chaperoneVelocityModifierCurrent += mod; } diff --git a/src/tabcontrollers/FixFloorTabController.cpp b/src/tabcontrollers/FixFloorTabController.cpp index d3a58f0..d30bb49 100644 --- a/src/tabcontrollers/FixFloorTabController.cpp +++ b/src/tabcontrollers/FixFloorTabController.cpp @@ -135,15 +135,17 @@ void FixFloorTabController::eventLoopTick( { if ( std::abs( tempRoll ) <= M_PI_2 ) { - floorOffsetY = tempOffsetY - controllerUpOffsetCorrection; + floorOffsetY = static_cast( tempOffsetY ) + - controllerUpOffsetCorrection; } else { - floorOffsetY = tempOffsetY - controllerDownOffsetCorrection; + floorOffsetY = static_cast( tempOffsetY ) + - controllerDownOffsetCorrection; } - floorOffsetX = tempOffsetX; - floorOffsetZ = tempOffsetZ; + floorOffsetX = static_cast( tempOffsetX ); + floorOffsetZ = static_cast( tempOffsetZ ); LOG( INFO ) << "Fix Floor and adjust room center: Floor Offset = [" diff --git a/src/tabcontrollers/MoveCenterTabController.cpp b/src/tabcontrollers/MoveCenterTabController.cpp index 0edecc8..c9e8acf 100644 --- a/src/tabcontrollers/MoveCenterTabController.cpp +++ b/src/tabcontrollers/MoveCenterTabController.cpp @@ -167,10 +167,12 @@ void MoveCenterTabController::setRotation( int value, bool notify ) = devicePosesForRot[0].mDeviceToAbsoluteTracking; // Set up xyz coordinate values from pose matrix. - double oldHmdXyz[3] - = { oldHmdPos.m[0][3], oldHmdPos.m[1][3], oldHmdPos.m[2][3] }; - double newHmdXyz[3] - = { oldHmdPos.m[0][3], oldHmdPos.m[1][3], oldHmdPos.m[2][3] }; + double oldHmdXyz[3] = { static_cast( oldHmdPos.m[0][3] ), + static_cast( oldHmdPos.m[1][3] ), + static_cast( oldHmdPos.m[2][3] ) }; + double newHmdXyz[3] = { static_cast( oldHmdPos.m[0][3] ), + static_cast( oldHmdPos.m[1][3] ), + static_cast( oldHmdPos.m[2][3] ) }; // Convert oldHmdXyz into un-rotated coordinates. double oldAngle = -m_rotation * k_centidegreesToRadians; @@ -261,9 +263,9 @@ void MoveCenterTabController::setAdjustChaperone( bool value, bool notify ) { double angle = m_rotation * k_centidegreesToRadians; double offsetdir = m_adjustChaperone ? -1.0 : 1.0; - double offset[3] = { offsetdir * m_offsetX, - offsetdir * m_offsetY, - offsetdir * m_offsetZ }; + double offset[3] = { offsetdir * static_cast( m_offsetX ), + offsetdir * static_cast( m_offsetY ), + offsetdir * static_cast( m_offsetZ ) }; rotateCoordinates( offset, angle ); // We're done with calculations so down-cast to float for @@ -407,7 +409,7 @@ void MoveCenterTabController::modOffsetX( float value, bool notify ) if ( !m_lockXToggle ) { double angle = m_rotation * k_centidegreesToRadians; - double offset[3] = { value, 0, 0 }; + double offset[3] = { static_cast( value ), 0, 0 }; rotateCoordinates( offset, angle ); float offsetFloat[3] = { static_cast( offset[0] ), static_cast( offset[1] ), @@ -446,7 +448,7 @@ void MoveCenterTabController::modOffsetZ( float value, bool notify ) if ( !m_lockZToggle ) { double angle = m_rotation * k_centidegreesToRadians; - double offset[3] = { 0, 0, value }; + double offset[3] = { 0, 0, static_cast( value ) }; rotateCoordinates( offset, angle ); float offsetFloat[3] = { static_cast( offset[0] ), static_cast( offset[1] ), @@ -964,9 +966,12 @@ void MoveCenterTabController::eventLoopTick( else { double relativeControllerPosition[] - = { movePose->mDeviceToAbsoluteTracking.m[0][3], - movePose->mDeviceToAbsoluteTracking.m[1][3], - movePose->mDeviceToAbsoluteTracking.m[2][3] }; + = { static_cast( + movePose->mDeviceToAbsoluteTracking.m[0][3] ), + static_cast( + movePose->mDeviceToAbsoluteTracking.m[1][3] ), + static_cast( + movePose->mDeviceToAbsoluteTracking.m[2][3] ) }; rotateCoordinates( relativeControllerPosition, -angle ); float absoluteControllerPosition[] = { @@ -978,9 +983,12 @@ void MoveCenterTabController::eventLoopTick( if ( m_lastMoveHand == m_activeDragHand ) { double diff[3] = { - absoluteControllerPosition[0] - m_lastControllerPosition[0], - absoluteControllerPosition[1] - m_lastControllerPosition[1], - absoluteControllerPosition[2] - m_lastControllerPosition[2], + static_cast( absoluteControllerPosition[0] + - m_lastControllerPosition[0] ), + static_cast( absoluteControllerPosition[1] + - m_lastControllerPosition[1] ), + static_cast( absoluteControllerPosition[2] + - m_lastControllerPosition[2] ), }; // offset is un-rotated coordinates diff --git a/src/tabcontrollers/ReviveTabController.cpp b/src/tabcontrollers/ReviveTabController.cpp index 39e2334..61b66d6 100644 --- a/src/tabcontrollers/ReviveTabController.cpp +++ b/src/tabcontrollers/ReviveTabController.cpp @@ -44,7 +44,7 @@ void ReviveTabController::initStage1( bool forceRevivePage ) } else { - if ( valuef == 0.0 ) + if ( valuef == 0.0f ) { m_pixelsPerDisplayPixelOverrideEnabled = false; m_pixelsPerDisplayPixelOverride = 1.0; @@ -321,7 +321,7 @@ void ReviveTabController::eventLoopTick() &vrSettingsError ); if ( vrSettingsError == vr::VRSettingsError_None ) { - if ( valuef == 0.0 ) + if ( valuef == 0.0f ) { setPixelsPerDisplayPixelOverrideEnabled( false ); } diff --git a/src/tabcontrollers/StatisticsTabController.cpp b/src/tabcontrollers/StatisticsTabController.cpp index 2d5474d..5c2c2ab 100644 --- a/src/tabcontrollers/StatisticsTabController.cpp +++ b/src/tabcontrollers/StatisticsTabController.cpp @@ -54,7 +54,7 @@ void StatisticsTabController::eventLoopTick( + std::pow( m[2][3] - lastHmdPos[2], 2 ) ); if ( delta >= 0.01f ) { - m_hmdDistanceMoved += delta; + m_hmdDistanceMoved += static_cast( delta ); } } lastHmdPos[0] = m[0][3]; @@ -164,7 +164,7 @@ void StatisticsTabController::statsRotationResetClicked() void StatisticsTabController::statsLeftControllerSpeedResetClicked() { - if ( m_leftControllerMaxSpeed != 0.0 ) + if ( m_leftControllerMaxSpeed != 0.0f ) { m_leftControllerMaxSpeed = 0.0; } @@ -172,7 +172,7 @@ void StatisticsTabController::statsLeftControllerSpeedResetClicked() void StatisticsTabController::statsRightControllerSpeedResetClicked() { - if ( m_rightControllerMaxSpeed != 0.0 ) + if ( m_rightControllerMaxSpeed != 0.0f ) { m_rightControllerMaxSpeed = 0.0; } diff --git a/src/tabcontrollers/SteamVRTabController.cpp b/src/tabcontrollers/SteamVRTabController.cpp index 04f771c..d94332d 100644 --- a/src/tabcontrollers/SteamVRTabController.cpp +++ b/src/tabcontrollers/SteamVRTabController.cpp @@ -56,7 +56,7 @@ void SteamVRTabController::eventLoopTick() << "\" setting: " << vr::VRSettings()->GetSettingsErrorNameFromEnum( vrSettingsError ); - if ( m_superSampling != 1.0 ) + if ( m_superSampling != 1.0f ) { LOG( DEBUG ) << "OpenVR returns an error and we have a custom " diff --git a/src/tabcontrollers/UtilitiesTabController.cpp b/src/tabcontrollers/UtilitiesTabController.cpp index 6e4903e..065d309 100644 --- a/src/tabcontrollers/UtilitiesTabController.cpp +++ b/src/tabcontrollers/UtilitiesTabController.cpp @@ -583,7 +583,7 @@ void UtilitiesTabController::setSteamDesktopOverlayWidth( float width, bool notify, bool notifyOpenVr ) { - if ( std::abs( m_steamDesktopOverlayWidth - width ) > 0.01 ) + if ( std::abs( m_steamDesktopOverlayWidth - width ) > 0.01f ) { m_steamDesktopOverlayWidth = width; if ( notifyOpenVr )