diff options
| author | Narendra Umate <[email protected]> | 2013-12-08 01:27:41 -0800 |
|---|---|---|
| committer | Narendra Umate <[email protected]> | 2013-12-08 01:27:41 -0800 |
| commit | 4fa56874ba1557274c10077bf8386ece4c61dbd6 (patch) | |
| tree | e2d336604e960b548e996d2e7dcfc5a1e1401b9e /mp/src/mathlib | |
| parent | Added DS_Store to .gitignore. (diff) | |
| parent | Make libSDL2.so/dylib into symlinks. (diff) | |
| download | source-sdk-2013-4fa56874ba1557274c10077bf8386ece4c61dbd6.tar.xz source-sdk-2013-4fa56874ba1557274c10077bf8386ece4c61dbd6.zip | |
Merge remote-tracking branch 'upstream/master'
Reverted .gitattributes xcode_ccache_wrapper change. Fixed line endings
for .gitignore and .gitattributes.
Diffstat (limited to 'mp/src/mathlib')
| -rw-r--r-- | mp/src/mathlib/mathlib_base.cpp | 4 | ||||
| -rw-r--r-- | mp/src/mathlib/vmatrix.cpp | 22 |
2 files changed, 23 insertions, 3 deletions
diff --git a/mp/src/mathlib/mathlib_base.cpp b/mp/src/mathlib/mathlib_base.cpp index a403ccfa..15c51963 100644 --- a/mp/src/mathlib/mathlib_base.cpp +++ b/mp/src/mathlib/mathlib_base.cpp @@ -4244,7 +4244,7 @@ FPExceptionDisabler::FPExceptionDisabler() // Retrieve the current state of the exception flags. This // must be done before changing them. _MCW_EM is a bit // mask representing all available exception masks. - _controlfp_s(&mOldValues, _MCW_EM, _MCW_EM); + _controlfp_s(&mOldValues, 0, 0); // Set all of the exception flags, which suppresses FP // exceptions on the x87 and SSE units. _controlfp_s(0, _MCW_EM, _MCW_EM); @@ -4269,7 +4269,7 @@ FPExceptionEnabler::FPExceptionEnabler(unsigned int enableBits /*= _EM_OVERFLOW // Retrieve the current state of the exception flags. This // must be done before changing them. _MCW_EM is a bit // mask representing all available exception masks. - _controlfp_s(&mOldValues, _MCW_EM, _MCW_EM); + _controlfp_s(&mOldValues, 0, 0); // Make sure no non-exception flags have been specified, // to avoid accidental changing of rounding modes, etc. diff --git a/mp/src/mathlib/vmatrix.cpp b/mp/src/mathlib/vmatrix.cpp index 1cd316f3..e99fae2a 100644 --- a/mp/src/mathlib/vmatrix.cpp +++ b/mp/src/mathlib/vmatrix.cpp @@ -507,7 +507,7 @@ bool VMatrix::IsRotationMatrix() const FloatMakePositive( v2.Dot(v3) ) < 0.01f; } -void VMatrix::SetupMatrixOrgAngles( const Vector &origin, const QAngle &vAngles ) +static void SetupMatrixAnglesInternal( vec_t m[4][4], const QAngle & vAngles ) { float sr, sp, sy, cr, cp, cy; @@ -528,6 +528,11 @@ void VMatrix::SetupMatrixOrgAngles( const Vector &origin, const QAngle &vAngles m[0][3] = 0.f; m[1][3] = 0.f; m[2][3] = 0.f; +} + +void VMatrix::SetupMatrixOrgAngles( const Vector &origin, const QAngle &vAngles ) +{ + SetupMatrixAnglesInternal( m, vAngles ); // Add translation m[0][3] = origin.x; @@ -540,6 +545,21 @@ void VMatrix::SetupMatrixOrgAngles( const Vector &origin, const QAngle &vAngles } +void VMatrix::SetupMatrixAngles( const QAngle &vAngles ) +{ + SetupMatrixAnglesInternal( m, vAngles ); + + // Zero everything else + m[0][3] = 0.0f; + m[1][3] = 0.0f; + m[2][3] = 0.0f; + m[3][0] = 0.0f; + m[3][1] = 0.0f; + m[3][2] = 0.0f; + m[3][3] = 1.0f; +} + + //----------------------------------------------------------------------------- // Sets matrix to identity //----------------------------------------------------------------------------- |