diff options
author | eray orçunus <erayorcunus@gmail.com> | 2020-06-01 17:35:04 +0200 |
---|---|---|
committer | eray orçunus <erayorcunus@gmail.com> | 2020-06-01 17:35:04 +0200 |
commit | abef04c6376cb45946ea363df20fbe6473a2252c (patch) | |
tree | daa75bd4ac0ae3337b75b2484472139b77abf8a2 /src/math | |
parent | DrawStandardMenus, VC menu array and minor fixes (diff) | |
parent | hanim fix (diff) | |
download | re3-abef04c6376cb45946ea363df20fbe6473a2252c.tar re3-abef04c6376cb45946ea363df20fbe6473a2252c.tar.gz re3-abef04c6376cb45946ea363df20fbe6473a2252c.tar.bz2 re3-abef04c6376cb45946ea363df20fbe6473a2252c.tar.lz re3-abef04c6376cb45946ea363df20fbe6473a2252c.tar.xz re3-abef04c6376cb45946ea363df20fbe6473a2252c.tar.zst re3-abef04c6376cb45946ea363df20fbe6473a2252c.zip |
Diffstat (limited to 'src/math')
-rw-r--r-- | src/math/Matrix.h | 14 | ||||
-rw-r--r-- | src/math/math.cpp | 6 |
2 files changed, 16 insertions, 4 deletions
diff --git a/src/math/Matrix.h b/src/math/Matrix.h index 9979e701..46789c94 100644 --- a/src/math/Matrix.h +++ b/src/math/Matrix.h @@ -130,13 +130,18 @@ public: { float *pFloatMatrix = (float*)&m_matrix; for (int i = 0; i < 3; i++) -#ifdef FIX_BUGS // BUGFIX from VC for (int j = 0; j < 3; j++) -#else - for (int j = 0; j < 4; j++) -#endif pFloatMatrix[i * 4 + j] *= scale; } + void Scale(float sx, float sy, float sz) + { + float *pFloatMatrix = (float*)&m_matrix; + for (int i = 0; i < 3; i++){ + pFloatMatrix[i * 4 + 0] *= sx; + pFloatMatrix[i * 4 + 1] *= sy; + pFloatMatrix[i * 4 + 2] *= sz; + } + } void SetRotateXOnly(float angle){ @@ -224,6 +229,7 @@ public: void SetRotate(float xAngle, float yAngle, float zAngle); void Rotate(float x, float y, float z); void RotateX(float x); + void RotateY(float y); void RotateZ(float z); void Reorthogonalise(void); diff --git a/src/math/math.cpp b/src/math/math.cpp index e11d048c..e8b459ae 100644 --- a/src/math/math.cpp +++ b/src/math/math.cpp @@ -47,6 +47,12 @@ CMatrix::RotateX(float x) } void +CMatrix::RotateY(float y) +{ + Rotate(0.0f, y, 0.0f); +} + +void CMatrix::RotateZ(float z) { Rotate(0.0f, 0.0f, z); |