diff options
Diffstat (limited to 'engines/titanic/star_control')
-rw-r--r-- | engines/titanic/star_control/camera_mover.cpp | 8 | ||||
-rw-r--r-- | engines/titanic/star_control/camera_mover.h | 7 | ||||
-rw-r--r-- | engines/titanic/star_control/star_camera.cpp | 2 | ||||
-rw-r--r-- | engines/titanic/star_control/star_control_sub21.cpp | 10 | ||||
-rw-r--r-- | engines/titanic/star_control/star_control_sub21.h | 6 | ||||
-rw-r--r-- | engines/titanic/star_control/star_control_sub22.cpp | 10 | ||||
-rw-r--r-- | engines/titanic/star_control/star_control_sub22.h | 6 |
7 files changed, 31 insertions, 18 deletions
diff --git a/engines/titanic/star_control/camera_mover.cpp b/engines/titanic/star_control/camera_mover.cpp index 198e21ae2d..ab99a2fdf9 100644 --- a/engines/titanic/star_control/camera_mover.cpp +++ b/engines/titanic/star_control/camera_mover.cpp @@ -90,11 +90,11 @@ void CCameraMover::proc7() { } } -void CCameraMover::proc11(CErrorCode &errorCode, FVector &v, FMatrix &m) { +void CCameraMover::updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) { if (_size > 0.0) { - v._x += m._row3._x * _size; - v._y += m._row3._y * _size; - v._z += m._row3._z * _size; + pos._x += orientation._row3._x * _size; + pos._y += orientation._row3._y * _size; + pos._z += orientation._row3._z * _size; errorCode.set(); } diff --git a/engines/titanic/star_control/camera_mover.h b/engines/titanic/star_control/camera_mover.h index bd1f6b1d83..6577801d34 100644 --- a/engines/titanic/star_control/camera_mover.h +++ b/engines/titanic/star_control/camera_mover.h @@ -63,7 +63,12 @@ public: virtual void moveTo(const FVector &srcV, const FVector &destV, const FMatrix &srcM) {} virtual void proc10(const FVector &v1, const FVector &v2, const FVector &v3, const FMatrix &m) {} - virtual void proc11(CErrorCode &errorCode, FVector &v, FMatrix &m); + + /** + * Update the passed position and orientation matrix + */ + virtual void updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation); + virtual void setVector(CStarVector *sv); /** diff --git a/engines/titanic/star_control/star_camera.cpp b/engines/titanic/star_control/star_camera.cpp index 5f69ebe664..ede73b349e 100644 --- a/engines/titanic/star_control/star_camera.cpp +++ b/engines/titanic/star_control/star_camera.cpp @@ -134,7 +134,7 @@ void CStarCamera::updatePosition(CErrorCode *errorCode) { FVector priorPos = _viewport._position; FVector newPos = _viewport._position; - _mover->proc11(*errorCode, newPos, *_newOrientation); + _mover->updatePosition(*errorCode, newPos, *_newOrientation); if (newPos != priorPos) { _viewport.setPosition(newPos); diff --git a/engines/titanic/star_control/star_control_sub21.cpp b/engines/titanic/star_control/star_control_sub21.cpp index 89ea3a1d13..ef6e8beada 100644 --- a/engines/titanic/star_control/star_control_sub21.cpp +++ b/engines/titanic/star_control/star_control_sub21.cpp @@ -55,10 +55,10 @@ void CStarControlSub21::proc10(const FVector &v1, const FVector &v2, const FVect incLockCount(); } -void CStarControlSub21::proc11(CErrorCode &errorCode, FVector &v, FMatrix &m) { +void CStarControlSub21::updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) { if (_sub24.isActive()) { decLockCount(); - int val = _sub24.proc5(errorCode, v, m); + int val = _sub24.proc5(errorCode, pos, orientation); if (val == 1) incLockCount(); if (val == 2) { @@ -67,9 +67,9 @@ void CStarControlSub21::proc11(CErrorCode &errorCode, FVector &v, FMatrix &m) { _starVector->apply(); } } else if (_size != 0.0) { - v._x += m._row3._x * _size; - v._y += m._row3._y * _size; - v._z += m._row3._z * _size; + pos._x += orientation._row3._x * _size; + pos._y += orientation._row3._y * _size; + pos._z += orientation._row3._z * _size; errorCode.set(); } } diff --git a/engines/titanic/star_control/star_control_sub21.h b/engines/titanic/star_control/star_control_sub21.h index 4ebf823fd3..bf1b050756 100644 --- a/engines/titanic/star_control/star_control_sub21.h +++ b/engines/titanic/star_control/star_control_sub21.h @@ -37,7 +37,11 @@ public: virtual void moveTo(const FVector &srcV, const FVector &destV, const FMatrix &srcM); virtual void proc10(const FVector &v1, const FVector &v2, const FVector &v3, const FMatrix &m); - virtual void proc11(CErrorCode &errorCode, FVector &v, FMatrix &m); + + /** + * Update the passed position and orientation matrix + */ + virtual void updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation); }; } // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub22.cpp b/engines/titanic/star_control/star_control_sub22.cpp index 8c3c7fa2ab..3e88a32f25 100644 --- a/engines/titanic/star_control/star_control_sub22.cpp +++ b/engines/titanic/star_control/star_control_sub22.cpp @@ -37,10 +37,10 @@ void CStarControlSub22::proc8(FVector &v1, FVector &v2, FMatrix &m1, FMatrix &m2 incLockCount(); } -void CStarControlSub22::proc11(CErrorCode &errorCode, FVector &v, FMatrix &m) { +void CStarControlSub22::updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) { if (_sub27.isActive()) { decLockCount(); - int val = _sub27.proc5(errorCode, v, m); + int val = _sub27.proc5(errorCode, pos, orientation); if (val == 1) incLockCount(); if (val == 2) { @@ -49,9 +49,9 @@ void CStarControlSub22::proc11(CErrorCode &errorCode, FVector &v, FMatrix &m) { _starVector->apply(); } } else if (_size != 0.0) { - v._x += m._row3._x * _size; - v._y += m._row3._y * _size; - v._z += m._row3._z * _size; + pos._x += orientation._row3._x * _size; + pos._y += orientation._row3._y * _size; + pos._z += orientation._row3._z * _size; errorCode.set(); } } diff --git a/engines/titanic/star_control/star_control_sub22.h b/engines/titanic/star_control/star_control_sub22.h index 5a597ef50e..dbb644bc01 100644 --- a/engines/titanic/star_control/star_control_sub22.h +++ b/engines/titanic/star_control/star_control_sub22.h @@ -36,7 +36,11 @@ public: virtual ~CStarControlSub22() {} virtual void proc8(FVector &v1, FVector &v2, FMatrix &m1, FMatrix &m2); - virtual void proc11(CErrorCode &errorCode, FVector &v, FMatrix &m); + + /** + * Update the passed position and orientation matrix + */ + virtual void updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation); }; } // End of namespace Titanic |