diff --git a/Engine/source/T3D/assets/SoundAsset.cpp b/Engine/source/T3D/assets/SoundAsset.cpp index dc7b4c6f9..0b1498c6b 100644 --- a/Engine/source/T3D/assets/SoundAsset.cpp +++ b/Engine/source/T3D/assets/SoundAsset.cpp @@ -293,7 +293,7 @@ void SoundAsset::initPersistFields() addFieldV("coneInsideAngle", TypeRangedS32, Offset(mProfileDesc.mConeInsideAngle, SoundAsset), &CommonValidators::S32_PosDegreeRange, "Cone inside angle."); addFieldV("coneOutsideAngle", TypeRangedS32, Offset(mProfileDesc.mConeOutsideAngle, SoundAsset), &CommonValidators::S32_PosDegreeRange, "Cone outside angle."); addFieldV("coneOutsideVolume", TypeRangedF32, Offset(mProfileDesc.mConeOutsideVolume, SoundAsset), &CommonValidators::NormalizedFloat, "Cone outside volume."); - addFieldV("rolloffFactor", TypeRangedF32, Offset(mProfileDesc.mRolloffFactor, SoundAsset), &CommonValidators::PositiveFloat, "Rolloff factor."); + addFieldV("rolloffFactor", TypeRangedF32, Offset(mProfileDesc.mRolloffFactor, SoundAsset), &CommonValidators::NegDefaultF32, "Rolloff factor."); addField("scatterDistance", TypePoint3F, Offset(mProfileDesc.mScatterDistance, SoundAsset), "Randomization to the spacial position of the sound."); endGroup("3D"); diff --git a/Engine/source/T3D/lightAnimData.cpp b/Engine/source/T3D/lightAnimData.cpp index 47686cc57..d88bd3add 100644 --- a/Engine/source/T3D/lightAnimData.cpp +++ b/Engine/source/T3D/lightAnimData.cpp @@ -66,10 +66,10 @@ void LightAnimData::initPersistFields() addGroup( "Offset", "The XYZ translation animation state relative to the light position." ); addArray("XYZ Pan", Axis); - addFieldV( "offsetA", TypeRangedF32, Offset( mOffset.value1, LightAnimData ), &CommonValidators::PositiveFloat, Axis, + addFieldV( "offsetA", TypeRangedF32, Offset( mOffset.value1, LightAnimData ), &CommonValidators::F32Range, Axis, "The value of the A key in the keyframe sequence." ); - addFieldV( "offsetZ", TypeRangedF32, Offset( mOffset.value2, LightAnimData ), &CommonValidators::PositiveFloat, Axis, + addFieldV( "offsetZ", TypeRangedF32, Offset( mOffset.value2, LightAnimData ), &CommonValidators::F32Range, Axis, "The value of the Z key in the keyframe sequence." ); addFieldV( "offsetPeriod", TypeRangedF32, Offset( mOffset.period, LightAnimData ), &CommonValidators::PositiveFloat, Axis, diff --git a/Engine/source/T3D/lightFlareData.cpp b/Engine/source/T3D/lightFlareData.cpp index 89fb86048..ad1daa5d9 100644 --- a/Engine/source/T3D/lightFlareData.cpp +++ b/Engine/source/T3D/lightFlareData.cpp @@ -168,7 +168,7 @@ void LightFlareData::initPersistFields() addField( "elementRect", TypeRectF, Offset( mElementRect, LightFlareData ), MAX_ELEMENTS, "A rectangle specified in pixels of the flareTexture image." ); - addFieldV( "elementDist", TypeRangedF32, Offset( mElementDist, LightFlareData ), &CommonValidators::PositiveFloat, MAX_ELEMENTS, + addFieldV( "elementDist", TypeRangedF32, Offset( mElementDist, LightFlareData ), &CommonValidators::F32Range, MAX_ELEMENTS, "Where this element appears along the flare beam." ); addFieldV( "elementScale", TypeRangedF32, Offset( mElementScale, LightFlareData ), &CommonValidators::PositiveFloat, MAX_ELEMENTS, diff --git a/Engine/source/T3D/vehicles/vehicle.cpp b/Engine/source/T3D/vehicles/vehicle.cpp index c6fb005ae..cfbd9a876 100644 --- a/Engine/source/T3D/vehicles/vehicle.cpp +++ b/Engine/source/T3D/vehicles/vehicle.cpp @@ -808,7 +808,7 @@ void Vehicle::updatePos(F32 dt) { F32 k = mRigid.getKineticEnergy(); F32 G = mNetGravity* dt * TickMs / mDataBlock->integration; - F32 Kg = mRigid.mass * G * G; + F32 Kg = 0.5 * mRigid.mass * G * G; if (k < sRestTol * Kg && ++restCount > sRestCount) mRigid.setAtRest(); } diff --git a/Engine/source/console/typeValidators.cpp b/Engine/source/console/typeValidators.cpp index 0a8402461..9d6eb3644 100644 --- a/Engine/source/console/typeValidators.cpp +++ b/Engine/source/console/typeValidators.cpp @@ -99,11 +99,11 @@ void Point3NormalizeValidator::validateType(SimObject *object, StringTableEntry namespace CommonValidators { - FRangeValidator F32Range(F32_MIN, F32_MAX, 1 / POINT_EPSILON); - FRangeValidator DirFloat(-1.0f, 1.0f, 1 / POINT_EPSILON); - FRangeValidator NegDefaultF32(-1.0f, F32_MAX, 1 / POINT_EPSILON); - FRangeValidator PositiveFloat(0.0f, F32_MAX, 1 / POINT_EPSILON); - FRangeValidator PositiveNonZeroFloat((F32)POINT_EPSILON, F32_MAX, 1 / POINT_EPSILON); + FRangeValidator F32Range(F32_MIN_EX, F32_MAX); + FRangeValidator DirFloat(-1.0f, 1.0f); + FRangeValidator NegDefaultF32(-1.0f, F32_MAX); + FRangeValidator PositiveFloat(0.0f, F32_MAX); + FRangeValidator PositiveNonZeroFloat((F32)POINT_EPSILON, F32_MAX); FRangeValidator NormalizedFloat(0.0f, 1.0f); FRangeValidator F32_8BitPercent(0.0f, 1.0f, BIT(8)); @@ -119,8 +119,8 @@ namespace CommonValidators //see "T3D/gameBase/processList.h" for TickMs = 32 IRangeValidator MSTickRange(32, S32_MAX); - IRangeValidator S32_8BitCap(0, 1 << 8); - IRangeValidator S32_16BitCap(0, 1 << 16); + IRangeValidator S32_8BitCap(0, BIT(8)); + IRangeValidator S32_16BitCap(0, BIT(16)); Point3NormalizeValidator NormalizedPoint3(1.0f); FRangeValidator DegreeRange(-360.0f, 360.0f, 720.0f); diff --git a/Engine/source/gui/containers/guiScrollCtrl.cpp b/Engine/source/gui/containers/guiScrollCtrl.cpp index 47bf838cf..5928d7abc 100644 --- a/Engine/source/gui/containers/guiScrollCtrl.cpp +++ b/Engine/source/gui/containers/guiScrollCtrl.cpp @@ -111,7 +111,7 @@ void GuiScrollCtrl::initPersistFields() addField( "constantThumbHeight", TypeBool, Offset(mUseConstantHeightThumb, GuiScrollCtrl)); addField( "childMargin", TypePoint2I, Offset(mChildMargin, GuiScrollCtrl), "Padding region to put around child contents." ); - addFieldV( "mouseWheelScrollSpeed", TypeRangedS32, Offset(mScrollAnimSpeed, GuiScrollCtrl), &CommonValidators::PositiveInt, + addFieldV( "mouseWheelScrollSpeed", TypeRangedS32, Offset(mScrollAnimSpeed, GuiScrollCtrl), &CommonValidators::NegDefaultInt, "Pixels/Tick - if not positive then mousewheel scrolling occurs instantly (like other scrolling)."); endGroup( "Scrolling" ); diff --git a/Engine/source/gui/editor/guiInspectorTypes.cpp b/Engine/source/gui/editor/guiInspectorTypes.cpp index ed2f57af9..7d5be1b3f 100644 --- a/Engine/source/gui/editor/guiInspectorTypes.cpp +++ b/Engine/source/gui/editor/guiInspectorTypes.cpp @@ -1388,7 +1388,7 @@ GuiControl* GuiInspectorTypeRangedF32::constructEditControl() if (validator->getFidelity()>0.0f) retCtrl->setField("increment", String::ToString("%g", (validator->getMax()-validator->getMin())/validator->getFidelity())); else - retCtrl->setField("increment", String::ToString("%g", POINT_EPSILON)); + retCtrl->setField("increment", String::ToString("%g", 0.01)); } return retCtrl; } diff --git a/Engine/source/sfx/sfxDescription.cpp b/Engine/source/sfx/sfxDescription.cpp index a0c5e1330..4bb152441 100644 --- a/Engine/source/sfx/sfxDescription.cpp +++ b/Engine/source/sfx/sfxDescription.cpp @@ -434,7 +434,7 @@ void SFXDescription::initPersistFields() "Reverb High Frequency Reference."); addFieldV("reverbLFRef", TypeRangedF32, Offset(mReverb.flLFReference, SFXDescription), &CommonValidators::PositiveFloat, "Reverb Low Frequency Reference."); - addFieldV("roomRolloffFactor", TypeRangedF32, Offset(mReverb.flRoomRolloffFactor, SFXDescription), &CommonValidators::PositiveFloat, + addFieldV("roomRolloffFactor", TypeRangedF32, Offset(mReverb.flRoomRolloffFactor, SFXDescription), &CommonValidators::NegDefaultF32, "Rolloff factor for reverb."); addFieldV("decayHFLimit", TypeRangedS32, Offset(mReverb.iDecayHFLimit, SFXDescription), &CommonValidators::PositiveInt, "High Frequency decay limit."); diff --git a/Engine/source/sfx/sfxEnvironment.cpp b/Engine/source/sfx/sfxEnvironment.cpp index c5ba6aab9..afb9f8774 100644 --- a/Engine/source/sfx/sfxEnvironment.cpp +++ b/Engine/source/sfx/sfxEnvironment.cpp @@ -188,7 +188,7 @@ void SFXEnvironment::initPersistFields() "Reverb High Frequency Reference."); addFieldV("reverbLFRef", TypeRangedF32, Offset(mReverb.flLFReference, SFXEnvironment), &CommonValidators::PositiveFloat, "Reverb Low Frequency Reference."); - addFieldV("roomRolloffFactor", TypeRangedF32, Offset(mReverb.flRoomRolloffFactor, SFXEnvironment), &CommonValidators::PositiveFloat, + addFieldV("roomRolloffFactor", TypeRangedF32, Offset(mReverb.flRoomRolloffFactor, SFXEnvironment), &CommonValidators::NegDefaultF32, "Rolloff factor for reverb."); addFieldV("decayHFLimit", TypeRangedS32, Offset(mReverb.iDecayHFLimit, SFXEnvironment), &CommonValidators::PositiveInt, "High Frequency decay limit.");