From c03efd0aa152ed3c82d8990ac208933baebc826e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?eray=20or=C3=A7unus?= Date: Sun, 29 Sep 2019 19:44:51 +0300 Subject: Moar peds --- src/math/Matrix.h | 1 + src/math/math.cpp | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'src/math') diff --git a/src/math/Matrix.h b/src/math/Matrix.h index 7d8c02ab..5a3473ad 100644 --- a/src/math/Matrix.h +++ b/src/math/Matrix.h @@ -213,6 +213,7 @@ public: void SetRotate(float xAngle, float yAngle, float zAngle); void Rotate(float x, float y, float z); void RotateX(float x); + void RotateZ(float z); void Reorthogonalise(void); void CopyOnlyMatrix(CMatrix *other){ diff --git a/src/math/math.cpp b/src/math/math.cpp index 66260709..0707e3d2 100644 --- a/src/math/math.cpp +++ b/src/math/math.cpp @@ -46,6 +46,12 @@ CMatrix::RotateX(float x) Rotate(x, 0.0f, 0.0f); } +void +CMatrix::RotateZ(float z) +{ + Rotate(0.0f, 0.0f, z); +} + void CMatrix::Reorthogonalise(void) { -- cgit v1.2.3 From 72e12f6aae10e294c9265dd58c75db5c5c54bd24 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Thu, 3 Oct 2019 22:28:56 +0300 Subject: CPickups --- src/math/Matrix.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/math') diff --git a/src/math/Matrix.h b/src/math/Matrix.h index 5a3473ad..5145f0ac 100644 --- a/src/math/Matrix.h +++ b/src/math/Matrix.h @@ -204,6 +204,22 @@ public: m_matrix.at.y = 0.0f; m_matrix.at.z = 1.0f; } + void SetRotateZOnlyScaled(float angle, float scale) { + float c = Cos(angle); + float s = Sin(angle); + + m_matrix.right.x = c * scale; + m_matrix.right.y = s * scale; + m_matrix.right.z = 0.0f; + + m_matrix.up.x = -s * scale; + m_matrix.up.y = c * scale; + m_matrix.up.z = 0.0f; + + m_matrix.at.x = 0.0f; + m_matrix.at.y = 0.0f; + m_matrix.at.z = scale; + } void SetRotateZ(float angle){ SetRotateZOnly(angle); m_matrix.pos.x = 0.0f; -- cgit v1.2.3