Browse Source

Merge pull request #254 from Areloch/VerveRoundDeltaFix

Moves the delta-based rounding function Verve used up into the engine
Brian Roberts 5 năm trước cách đây
mục cha
commit
9b0b00c786

+ 12 - 1
Engine/source/math/mConsoleFunctions.cpp

@@ -105,6 +105,17 @@ DefineEngineFunction( mRound, S32, ( F32 v  ),,
    return mRound(v);
 }
 
+DefineEngineFunction(mRoundDelta, S32, (F32 v, S32 d), (0.0, 1),
+   "Round v to the nearest number based on the delta"
+   "@param v Value to round"
+   "@param d Delta use when rounding"
+   "@return The rounded value as a S32."
+   "@ingroup Math")
+{
+   return (mFloor(v / d + 0.5) * d);
+}
+
+
 DefineEngineFunction( mRoundColour, F32, ( F32 v, S32 n ), (0),
    "Round v to the nth decimal place or the nearest whole number by default."
    "@param v Value to roundn"
@@ -412,4 +423,4 @@ DefineEngineFunction(mGetSignedAngleBetweenVectors, F32, (VectorF vecA, VectorF
    }
 
    return MathUtils::getSignedAngleBetweenVectors(vecA, vecB, norm);
-}
+}

+ 1 - 1
Templates/BaseGame/game/tools/VerveEditor/Scripts/Events/VDirectorEvent.cs

@@ -91,7 +91,7 @@ function VDirectorEvent::getSnapTime( %this, %targetTime )
     if ( $VerveEditor::Event::SnapTime > 0 )
     {
         // Snap.
-        return mRound( %targetTime, $VerveEditor::Event::SnapTime );
+        return mRoundDelta( %targetTime, $VerveEditor::Event::SnapTime );
     }
     
     // No Snap!

+ 1 - 1
Templates/BaseGame/game/tools/VerveEditor/Scripts/Events/VEvent.cs

@@ -197,7 +197,7 @@ function VEvent::getSnapTime( %this, %targetTime )
     if ( $Pref::VerveEditor::Event::SnapToTime && $Pref::VerveEditor::Event::SnapToTimeThreshold > 0 )
     {
         // Snap.
-        return mRound( %targetTime, $Pref::VerveEditor::Event::SnapToTimeThreshold );
+        return mRoundDelta( %targetTime, $Pref::VerveEditor::Event::SnapToTimeThreshold );
     }
     
     // No Snap!

+ 0 - 11
Templates/BaseGame/game/tools/VerveEditor/Scripts/Utility.cs

@@ -45,17 +45,6 @@ function GuiControl::getParentOfType( %this, %className )
     return 0;
 }
 
-//-----------------------------------------------------------------------------
-//
-// MATH
-//
-//-----------------------------------------------------------------------------
-
-function mRound( %number, %delta )
-{
-    return ( mFloor( %number / %delta + 0.5 ) * %delta );
-}
-
 //-----------------------------------------------------------------------------
 //
 // STRING