Merge pull request #254 from Areloch/VerveRoundDeltaFix

Moves the delta-based rounding function Verve used up into the engine
This commit is contained in:
Brian Roberts 2020-07-18 04:45:15 -05:00 committed by GitHub
commit 9b0b00c786
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 14 deletions

View file

@ -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);
}
}

View file

@ -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!

View file

@ -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!

View file

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