mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2024-12-27 07:15:31 +03:00
Added a few more matrix-related functions for VScript
This commit is contained in:
parent
c48428b678
commit
3287643c24
@ -102,7 +102,6 @@ void ScriptMatrixSetColumn( const Vector& vecset, int column, HSCRIPT hMat1 )
|
|||||||
|
|
||||||
matrix3x4_t *pMat1 = ToMatrix3x4( hMat1 );
|
matrix3x4_t *pMat1 = ToMatrix3x4( hMat1 );
|
||||||
|
|
||||||
static Vector outvec;
|
|
||||||
MatrixSetColumn( vecset, column, *pMat1 );
|
MatrixSetColumn( vecset, column, *pMat1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,6 +155,49 @@ void ScriptSetScaleMatrix( float x, float y, float z, HSCRIPT hMat1 )
|
|||||||
SetScaleMatrix( x, y, z, *pMat1 );
|
SetScaleMatrix( x, y, z, *pMat1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ScriptMatrixScaleBy( float flScale, HSCRIPT hMat1 )
|
||||||
|
{
|
||||||
|
if (!hMat1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
matrix3x4_t *pMat1 = ToMatrix3x4( hMat1 );
|
||||||
|
|
||||||
|
MatrixScaleBy( flScale, *pMat1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScriptMatrixScaleByZero( HSCRIPT hMat1 )
|
||||||
|
{
|
||||||
|
if (!hMat1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
matrix3x4_t *pMat1 = ToMatrix3x4( hMat1 );
|
||||||
|
|
||||||
|
MatrixScaleByZero( *pMat1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
const Vector& ScriptMatrixGetTranslation( HSCRIPT hMat1 )
|
||||||
|
{
|
||||||
|
static Vector outvec;
|
||||||
|
outvec.Zero();
|
||||||
|
if (!hMat1)
|
||||||
|
return outvec;
|
||||||
|
|
||||||
|
matrix3x4_t *pMat1 = ToMatrix3x4( hMat1 );
|
||||||
|
|
||||||
|
MatrixGetTranslation( *pMat1, outvec );
|
||||||
|
return outvec;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScriptMatrixSetTranslation( const Vector& vecset, HSCRIPT hMat1 )
|
||||||
|
{
|
||||||
|
if (!hMat1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
matrix3x4_t *pMat1 = ToMatrix3x4( hMat1 );
|
||||||
|
|
||||||
|
MatrixSetTranslation( vecset, *pMat1 );
|
||||||
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
//
|
//
|
||||||
// Quaternion
|
// Quaternion
|
||||||
@ -427,7 +469,11 @@ void RegisterMathBaseBindings( IScriptVM *pVM )
|
|||||||
ScriptRegisterFunctionNamed( pVM, ScriptAngleMatrix, "AngleMatrix", "Sets the angles and position of a matrix." );
|
ScriptRegisterFunctionNamed( pVM, ScriptAngleMatrix, "AngleMatrix", "Sets the angles and position of a matrix." );
|
||||||
ScriptRegisterFunctionNamed( pVM, ScriptAngleIMatrix, "AngleIMatrix", "Sets the inverted angles and position of a matrix." );
|
ScriptRegisterFunctionNamed( pVM, ScriptAngleIMatrix, "AngleIMatrix", "Sets the inverted angles and position of a matrix." );
|
||||||
ScriptRegisterFunctionNamed( pVM, ScriptSetIdentityMatrix, "SetIdentityMatrix", "Turns a matrix into an identity matrix." );
|
ScriptRegisterFunctionNamed( pVM, ScriptSetIdentityMatrix, "SetIdentityMatrix", "Turns a matrix into an identity matrix." );
|
||||||
ScriptRegisterFunctionNamed( pVM, ScriptSetScaleMatrix, "SetScaleMatrix", "Scales a matrix." );
|
ScriptRegisterFunctionNamed( pVM, ScriptSetScaleMatrix, "SetScaleMatrix", "Builds a scale matrix." );
|
||||||
|
ScriptRegisterFunctionNamed( pVM, ScriptMatrixScaleBy, "MatrixScaleBy", "Scales a matrix." );
|
||||||
|
ScriptRegisterFunctionNamed( pVM, ScriptMatrixScaleByZero, "MatrixScaleByZero", "Scales a matrix by zero." );
|
||||||
|
ScriptRegisterFunctionNamed( pVM, ScriptMatrixGetTranslation, "MatrixGetTranslation", "Gets a matrix's translation." );
|
||||||
|
ScriptRegisterFunctionNamed( pVM, ScriptMatrixSetTranslation, "MatrixSetTranslation", "Sets a matrix's translation." );
|
||||||
|
|
||||||
//
|
//
|
||||||
// Quaternion
|
// Quaternion
|
||||||
|
Loading…
Reference in New Issue
Block a user