aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/fmatrix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/star_control/fmatrix.cpp')
-rw-r--r--engines/titanic/star_control/fmatrix.cpp20
1 files changed, 4 insertions, 16 deletions
diff --git a/engines/titanic/star_control/fmatrix.cpp b/engines/titanic/star_control/fmatrix.cpp
index a4cfec8b40..5885658835 100644
--- a/engines/titanic/star_control/fmatrix.cpp
+++ b/engines/titanic/star_control/fmatrix.cpp
@@ -94,25 +94,13 @@ void FMatrix::set(const DVector &row1, const DVector &row2, const DVector &row3)
}
void FMatrix::fn1(const FVector &v) {
- _row3._x = v._x;
+ _row3 = v;
+ _row2 = _row3.fn1();
- FVector tempVector;
- _row3.fn1(&tempVector);
-
- _row2._x = tempVector._x;
- _row2._y = tempVector._y;
- _row2._z = tempVector._z;
-
- _row3.crossProduct(tempVector, _row2);
- _row1._x = _row2._x;
- _row1._y = _row2._y;
- _row1._z = _row2._z;
+ _row1 = _row3.crossProduct(_row2);
_row1.normalize();
- _row3.crossProduct(tempVector, _row1);
- _row2._x = _row1._x;
- _row2._y = _row1._y;
- _row2._z = _row1._z;
+ _row2 = _row3.crossProduct(_row1);
_row2.normalize();
}