Ver Fonte

further validator cleanups
bump default fidelity from 0,0001 to 0.01
fix F32Range. needs to go from - to +, not smallest to largest positive value
fix several misasigned validator ranges. most of which use some form of -1 default to do a Special Thing

AzaezelX há 6 meses atrás
pai
commit
fcd2d38deb

+ 1 - 1
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");
 

+ 2 - 2
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,

+ 1 - 1
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,

+ 1 - 1
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();
       }

+ 7 - 7
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);

+ 1 - 1
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" );

+ 1 - 1
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;
 }

+ 1 - 1
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.");

+ 1 - 1
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.");