aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/fvector.cpp
diff options
context:
space:
mode:
authorDavid Fioramonti2018-05-24 05:58:57 -0700
committerThierry Crozat2018-07-03 23:08:48 +0100
commitfb3dcb9ee0ff3b74e8c0a60cdc2c52821d7c879e (patch)
tree0c130ff1cc5658bac50f7567e2ee80b39e1ac883 /engines/titanic/star_control/fvector.cpp
parentccd46b7db90c5ea10394d9143111868ff3d5c5df (diff)
downloadscummvm-rg350-fb3dcb9ee0ff3b74e8c0a60cdc2c52821d7c879e.tar.gz
scummvm-rg350-fb3dcb9ee0ff3b74e8c0a60cdc2c52821d7c879e.tar.bz2
scummvm-rg350-fb3dcb9ee0ff3b74e8c0a60cdc2c52821d7c879e.zip
TITANIC: Use degree conversion common math funcs
I tested the star puzzle and it is still good.
Diffstat (limited to 'engines/titanic/star_control/fvector.cpp')
-rw-r--r--engines/titanic/star_control/fvector.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/engines/titanic/star_control/fvector.cpp b/engines/titanic/star_control/fvector.cpp
index 46094dbdfc..6ebd297a1f 100644
--- a/engines/titanic/star_control/fvector.cpp
+++ b/engines/titanic/star_control/fvector.cpp
@@ -22,7 +22,8 @@
#include "titanic/star_control/fvector.h"
#include "titanic/star_control/fpose.h"
-//#include "common/textconsole.h"
+
+#include "common/math.h"
namespace Titanic {
@@ -44,8 +45,8 @@ FVector FVector::crossProduct(const FVector &src) const {
}
void FVector::rotVectAxisY(float angleDeg) {
- float sinVal = sin(angleDeg * Deg2Rad);
- float cosVal = cos(angleDeg * Deg2Rad);
+ float sinVal = sin(Common::deg2rad<double>(angleDeg));
+ float cosVal = cos(Common::deg2rad<double>(angleDeg));
float x = cosVal * _x - sinVal * _z;
float z = cosVal * _z + sinVal * _x;
@@ -115,14 +116,14 @@ FPose FVector::getFrameTransform(const FVector &v) {
FPose matrix1, matrix2, matrix3, matrix4;
FVector vector1 = getAnglesAsVect();
- matrix1.setRotationMatrix(X_AXIS, vector1._y * Rad2Deg);
- matrix2.setRotationMatrix(Y_AXIS, vector1._z * Rad2Deg);
+ matrix1.setRotationMatrix(X_AXIS, Common::rad2deg<double>(vector1._y));
+ matrix2.setRotationMatrix(Y_AXIS, Common::rad2deg<double>(vector1._z));
fposeProd(matrix1, matrix2, matrix3);
matrix4 = matrix3.inverseTransform();
vector1 = v.getAnglesAsVect();
- matrix1.setRotationMatrix(X_AXIS, vector1._y * Rad2Deg);
- matrix2.setRotationMatrix(Y_AXIS, vector1._z * Rad2Deg);
+ matrix1.setRotationMatrix(X_AXIS, Common::rad2deg<double>(vector1._y));
+ matrix2.setRotationMatrix(Y_AXIS, Common::rad2deg<double>(vector1._z));
fposeProd(matrix1, matrix2, matrix3);
fposeProd(matrix4, matrix3, matrix1);
@@ -132,8 +133,8 @@ FPose FVector::getFrameTransform(const FVector &v) {
FPose FVector::formRotXY() const {
FVector v1 = getAnglesAsVect();
FPose m1, m2;
- m1.setRotationMatrix(X_AXIS, v1._y * Rad2Deg);
- m2.setRotationMatrix(Y_AXIS, v1._z * Rad2Deg);
+ m1.setRotationMatrix(X_AXIS, Common::rad2deg<double>(v1._y));
+ m2.setRotationMatrix(Y_AXIS, Common::rad2deg<double>(v1._z));
FPose m3;
fposeProd(m1, m2, m3);
return m3;