diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/titanic/star_control/dmatrix.cpp | 19 | ||||
-rw-r--r-- | engines/titanic/star_control/dvector.cpp | 4 |
2 files changed, 12 insertions, 11 deletions
diff --git a/engines/titanic/star_control/dmatrix.cpp b/engines/titanic/star_control/dmatrix.cpp index 32614ac063..b7ebbc718a 100644 --- a/engines/titanic/star_control/dmatrix.cpp +++ b/engines/titanic/star_control/dmatrix.cpp @@ -164,12 +164,13 @@ DMatrix DMatrix::fn1() const { m._row2._z = -((_row1._x * _row2._z - _row1._z * _row2._x) * val9); m._row3._z = (_row1._x * _row2._y - _row1._y * _row2._x) * val9; - m._row4._x = -(m._row1._x * _row4._x + _row4._z * m._row2._x - + _row4._y * m._row3._x); - m._row4._z = -(_row4._y * m._row3._y + _row4._z * m._row2._y + m._row4._x = -(m._row1._x * _row4._x + _row4._y * m._row2._x + + _row4._z * m._row3._x); + m._row4._y = -(_row4._z * m._row3._y + _row4._y * m._row2._y + _row4._x * m._row1._y); - m._row4._y = -(_row4._y * m._row3._z + _row4._x * m._row1._z - + _row4._z * m._row2._z); + m._row4._z = -(_row4._z * m._row3._z + _row4._x * m._row1._z + + _row4._y * m._row2._z); + return m; } @@ -232,11 +233,11 @@ DMatrix DMatrix::fn4(const DMatrix &m) { + m._row1._y * _row3._x; dm._row3._z = m._row2._z * _row3._y + m._row3._z * _row3._z + m._row1._z * _row3._x; - dm._row4._x = m._row1._x * dm._row4._x + _row4._y * m._row2._x + dm._row4._x = m._row1._x * _row4._x + _row4._y * m._row2._x + _row4._z * m._row3._x + m._row4._x; - dm._row4._z = _row4._z * m._row3._y + _row4._y * m._row2._y - + dm._row4._x * m._row1._y + m._row4._y; - dm._row4._z = _row4._y * m._row2._z + dm._row4._x * m._row1._z + dm._row4._y = _row4._z * m._row3._y + _row4._y * m._row2._y + + _row4._x * m._row1._y + m._row4._y; + dm._row4._z = _row4._y * m._row2._z + _row4._x * m._row1._z + _row4._z * m._row3._z + m._row4._z; return dest; diff --git a/engines/titanic/star_control/dvector.cpp b/engines/titanic/star_control/dvector.cpp index 080b45e5b8..0dab5bbbcb 100644 --- a/engines/titanic/star_control/dvector.cpp +++ b/engines/titanic/star_control/dvector.cpp @@ -42,8 +42,8 @@ double DVector::getDistance(const DVector &src) { DVector *DVector::fn1(DVector &dest, const DMatrix &m) { dest._x = m._row3._x * _z + m._row2._x * _y + _x * m._row1._x + m._row4._x; - dest._y = m._row2._y * _y + m._row3._y * _z + m._row1._y * _x + m._row4._z; - dest._z = m._row3._z * _z + m._row2._z * _y + m._row1._z * _x + m._row4._y; + dest._y = m._row2._y * _y + m._row3._y * _z + m._row1._y * _x + m._row4._y; + dest._z = m._row3._z * _z + m._row2._z * _y + m._row1._z * _x + m._row4._z; return &dest; } |