[Scummvm-git-logs] scummvm master -> 44fce15f50906b20b73adcd4bf9225172617c1f4

dreammaster dreammaster at scummvm.org
Sun Jun 4 04:05:19 CEST 2017


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
44fce15f50 TITANIC: Fix some vector calculations in marker lock-on code


Commit: 44fce15f50906b20b73adcd4bf9225172617c1f4
    https://github.com/scummvm/scummvm/commit/44fce15f50906b20b73adcd4bf9225172617c1f4
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-06-03T22:05:08-04:00

Commit Message:
TITANIC: Fix some vector calculations in marker lock-on code

Changed paths:
    engines/titanic/star_control/dvector.cpp
    engines/titanic/star_control/star_control_sub21.cpp


diff --git a/engines/titanic/star_control/dvector.cpp b/engines/titanic/star_control/dvector.cpp
index 08a7e2d..b4a9ede 100644
--- a/engines/titanic/star_control/dvector.cpp
+++ b/engines/titanic/star_control/dvector.cpp
@@ -60,18 +60,18 @@ DVector DVector::fn3() const {
 	DVector vector = *this;
 	DVector dest;
 	dest._x = vector.normalize();
-	dest._z = acos(vector._y);
+	dest._y = acos(vector._y);
 
 	if (ABS(vector._z) < 0.00001) {
 		if (vector._x < 0.0) {
-			dest._y = 2 * M_PI - (M_PI / 2.0);
+			dest._z = 2 * M_PI - (M_PI / 2.0);
 		} else {
-			dest._y = M_PI / 2.0;
+			dest._z = M_PI / 2.0;
 		}
 	} else {
-		dest._y = atan(vector._x / vector._z);
+		dest._z = atan(vector._x / vector._z);
 		if (vector._x < 0.0)
-			dest._y += 2 * M_PI;
+			dest._z += 2 * M_PI;
 	}
 
 	return dest;
@@ -80,8 +80,8 @@ DVector DVector::fn3() const {
 DMatrix DVector::fn4(const DVector &v) {
 	const double FACTOR = 180.0 / M_PI;
 	DMatrix matrix1, matrix2, matrix3, matrix4;
-	DVector vector1 = fn3();
 
+	DVector vector1 = fn3();
 	matrix1.setRotationMatrix(X_AXIS, vector1._y * FACTOR);
 	matrix2.setRotationMatrix(Y_AXIS, -(vector1._z * FACTOR));
 	matrix3 = matrix1.fn4(matrix2);
@@ -91,7 +91,6 @@ DMatrix DVector::fn4(const DVector &v) {
 	matrix1.setRotationMatrix(X_AXIS, vector1._y * FACTOR);
 	matrix2.setRotationMatrix(Y_AXIS, -(vector1._z * FACTOR));
 	matrix3 = matrix1.fn4(matrix2);
-	matrix4 = matrix1.fn1();
 
 	return matrix4.fn4(matrix3);
 }
diff --git a/engines/titanic/star_control/star_control_sub21.cpp b/engines/titanic/star_control/star_control_sub21.cpp
index 2dc90d5..bf5af80 100644
--- a/engines/titanic/star_control/star_control_sub21.cpp
+++ b/engines/titanic/star_control/star_control_sub21.cpp
@@ -48,7 +48,7 @@ void CStarControlSub21::proc10(const FVector &v1, const FVector &v2, const FVect
 	DVector vector1 = v1;
 	DVector vector2 = v2;
 	DMatrix matrix1 = vector2.fn4(vector1);
-	FMatrix matrix2 = matrix1.fn4(m);
+	DMatrix matrix2 = matrix1.fn4(m);
 
 	_sub24.proc3(m, matrix2);
 	incLockCount();





More information about the Scummvm-git-logs mailing list