aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/star_control_sub6.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2017-03-02 21:54:22 -0500
committerPaul Gilbert2017-03-02 21:54:22 -0500
commit51f2420001a1dd29c36c259dc608eb961b9275cb (patch)
treea9e78cae6ada265f267a7f043b4723da72daaf68 /engines/titanic/star_control/star_control_sub6.cpp
parent297cb6be82bee185c5e0b1d63d6fae972fdf6e46 (diff)
downloadscummvm-rg350-51f2420001a1dd29c36c259dc608eb961b9275cb.tar.gz
scummvm-rg350-51f2420001a1dd29c36c259dc608eb961b9275cb.tar.bz2
scummvm-rg350-51f2420001a1dd29c36c259dc608eb961b9275cb.zip
TITANIC: Added star keyboard handling
Diffstat (limited to 'engines/titanic/star_control/star_control_sub6.cpp')
-rw-r--r--engines/titanic/star_control/star_control_sub6.cpp60
1 files changed, 31 insertions, 29 deletions
diff --git a/engines/titanic/star_control/star_control_sub6.cpp b/engines/titanic/star_control/star_control_sub6.cpp
index a5a1d81aa8..97eb5971ef 100644
--- a/engines/titanic/star_control/star_control_sub6.cpp
+++ b/engines/titanic/star_control/star_control_sub6.cpp
@@ -48,7 +48,7 @@ void CStarControlSub6::deinit() {
}
void CStarControlSub6::clear() {
- _matrix.clear();
+ FMatrix::clear();
_field24 = 0;
_field28 = 0;
_field2C = 0;
@@ -61,39 +61,39 @@ void CStarControlSub6::set(int mode, double amount) {
switch (mode) {
case 0:
- _matrix._row1._x = 1.0;
- _matrix._row1._y = 0.0;
- _matrix._row1._z = 0.0;
- _matrix._row2._x = 0.0;
- _matrix._row2._y = cosVal;
- _matrix._row2._z = sinVal;
- _matrix._row3._x = 0.0;
- _matrix._row3._y = -sinVal;
- _matrix._row3._z = cosVal;
+ _row1._x = 1.0;
+ _row1._y = 0.0;
+ _row1._z = 0.0;
+ _row2._x = 0.0;
+ _row2._y = cosVal;
+ _row2._z = sinVal;
+ _row3._x = 0.0;
+ _row3._y = -sinVal;
+ _row3._z = cosVal;
break;
case 1:
- _matrix._row1._x = cosVal;
- _matrix._row1._y = 0.0;
- _matrix._row1._z = sinVal;
- _matrix._row2._x = 0.0;
- _matrix._row2._y = 1.0;
- _matrix._row2._z = 0.0;
- _matrix._row3._x = -sinVal;
- _matrix._row3._y = 0.0;
- _matrix._row3._z = sinVal;
+ _row1._x = cosVal;
+ _row1._y = 0.0;
+ _row1._z = sinVal;
+ _row2._x = 0.0;
+ _row2._y = 1.0;
+ _row2._z = 0.0;
+ _row3._x = -sinVal;
+ _row3._y = 0.0;
+ _row3._z = sinVal;
break;
case 2:
- _matrix._row1._x = cosVal;
- _matrix._row1._y = sinVal;
- _matrix._row1._z = 0.0;
- _matrix._row2._x = -sinVal;
- _matrix._row2._y = cosVal;
- _matrix._row2._z = 0.0;
- _matrix._row3._x = 0.0;
- _matrix._row3._y = 0.0;
- _matrix._row3._z = 1.0;
+ _row1._x = cosVal;
+ _row1._y = sinVal;
+ _row1._z = 0.0;
+ _row2._x = -sinVal;
+ _row2._y = cosVal;
+ _row2._z = 0.0;
+ _row3._x = 0.0;
+ _row3._y = 0.0;
+ _row3._z = 1.0;
break;
default:
@@ -106,7 +106,9 @@ void CStarControlSub6::set(int mode, double amount) {
}
void CStarControlSub6::copyFrom(const CStarControlSub6 *src) {
- _matrix = src->_matrix;
+ _row1 = src->_row1;
+ _row2 = src->_row2;
+ _row3 = src->_row3;
_field24 = src->_field24;
_field28 = src->_field28;
_field2C = src->_field2C;