diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c1fdaba..960fd1c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -302,7 +302,7 @@ SET_TARGET_PROPERTIES(reactphysics3d PROPERTIES SOVERSION "0.7" ) -# Install target +# Install target (install library only, not headers) INSTALL(TARGETS reactphysics3d ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/src/systems/SolveHingeJointSystem.cpp b/src/systems/SolveHingeJointSystem.cpp index 7fa29a4e..9ab7e238 100644 --- a/src/systems/SolveHingeJointSystem.cpp +++ b/src/systems/SolveHingeJointSystem.cpp @@ -234,13 +234,13 @@ void SolveHingeJointSystem::initBeforeSolve() { bool oldIsLowerLimitViolated = mHingeJointComponents.mIsLowerLimitViolated[i]; bool isLowerLimitViolated = lowerLimitError <= 0; mHingeJointComponents.mIsLowerLimitViolated[i] = isLowerLimitViolated; - if (isLowerLimitViolated != oldIsLowerLimitViolated) { + if (!isLowerLimitViolated || isLowerLimitViolated != oldIsLowerLimitViolated) { mHingeJointComponents.mImpulseLowerLimit[i] = decimal(0.0); } bool oldIsUpperLimitViolated = mHingeJointComponents.mIsUpperLimitViolated[i]; bool isUpperLimitViolated = upperLimitError <= 0; mHingeJointComponents.mIsUpperLimitViolated[i] = isUpperLimitViolated; - if (isUpperLimitViolated != oldIsUpperLimitViolated) { + if (!isUpperLimitViolated || isUpperLimitViolated != oldIsUpperLimitViolated) { mHingeJointComponents.mImpulseUpperLimit[i] = decimal(0.0); } diff --git a/src/systems/SolveSliderJointSystem.cpp b/src/systems/SolveSliderJointSystem.cpp index d2c72019..f222cbcd 100644 --- a/src/systems/SolveSliderJointSystem.cpp +++ b/src/systems/SolveSliderJointSystem.cpp @@ -136,12 +136,12 @@ void SolveSliderJointSystem::initBeforeSolve() { decimal upperLimitError = mSliderJointComponents.mUpperLimit[i] - uDotSliderAxis; bool oldIsLowerLimitViolated = mSliderJointComponents.mIsLowerLimitViolated[i]; mSliderJointComponents.mIsLowerLimitViolated[i] = lowerLimitError <= 0; - if (mSliderJointComponents.mIsLowerLimitViolated[i] != oldIsLowerLimitViolated) { + if (!mSliderJointComponents.mIsLowerLimitViolated[i] || mSliderJointComponents.mIsLowerLimitViolated[i] != oldIsLowerLimitViolated) { mSliderJointComponents.mImpulseLowerLimit[i] = decimal(0.0); } bool oldIsUpperLimitViolated = mSliderJointComponents.mIsUpperLimitViolated[i]; mSliderJointComponents.mIsUpperLimitViolated[i] = upperLimitError <= 0; - if (mSliderJointComponents.mIsUpperLimitViolated[i] != oldIsUpperLimitViolated) { + if (!mSliderJointComponents.mIsUpperLimitViolated[i] || mSliderJointComponents.mIsUpperLimitViolated[i] != oldIsUpperLimitViolated) { mSliderJointComponents.mImpulseUpperLimit[i] = decimal(0.0); }