diff options
author | Paul Gilbert | 2017-03-21 22:11:32 -0400 |
---|---|---|
committer | Paul Gilbert | 2017-03-21 22:11:32 -0400 |
commit | 4591dd966a13a4c7eaced7a7413945ad45545de8 (patch) | |
tree | 494bff4222e63a170ee3f9a4a1e838c25cb34d7f /engines/titanic | |
parent | c0030abe5ef238fe4bb1b60839bbba65a0671623 (diff) | |
download | scummvm-rg350-4591dd966a13a4c7eaced7a7413945ad45545de8.tar.gz scummvm-rg350-4591dd966a13a4c7eaced7a7413945ad45545de8.tar.bz2 scummvm-rg350-4591dd966a13a4c7eaced7a7413945ad45545de8.zip |
TITANIC: Finished CStarControlSub22 class
Diffstat (limited to 'engines/titanic')
-rw-r--r-- | engines/titanic/star_control/star_control_sub21.cpp | 1 | ||||
-rw-r--r-- | engines/titanic/star_control/star_control_sub22.cpp | 17 |
2 files changed, 17 insertions, 1 deletions
diff --git a/engines/titanic/star_control/star_control_sub21.cpp b/engines/titanic/star_control/star_control_sub21.cpp index 681736dfac..c81d5911db 100644 --- a/engines/titanic/star_control/star_control_sub21.cpp +++ b/engines/titanic/star_control/star_control_sub21.cpp @@ -55,6 +55,7 @@ void CStarControlSub21::proc10(const FVector &v1, const FVector &v2, const FVect void CStarControlSub21::proc11(CErrorCode &errorCode, FVector &v, const FMatrix &m) { if (_sub24.get8()) { + decLockCount(); int val = _sub24.proc5(errorCode, v, m); if (val == 1) incLockCount(); diff --git a/engines/titanic/star_control/star_control_sub22.cpp b/engines/titanic/star_control/star_control_sub22.cpp index b76d96e47a..b5962bc225 100644 --- a/engines/titanic/star_control/star_control_sub22.cpp +++ b/engines/titanic/star_control/star_control_sub22.cpp @@ -38,7 +38,22 @@ void CStarControlSub22::proc8(FVector &v1, FVector &v2, FMatrix &m1, FMatrix &m2 } void CStarControlSub22::proc11(CErrorCode &errorCode, FVector &v, const FMatrix &m) { - // TODO + if (_sub27.get8()) { + decLockCount(); + int val = _sub27.proc5(errorCode, v, m); + if (val == 1) + incLockCount(); + if (val == 2) { + proc7(); + if (_starVector) + _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; + errorCode.set(); + } } } // End of namespace Titanic |