aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic
diff options
context:
space:
mode:
authorPaul Gilbert2017-03-21 22:11:32 -0400
committerPaul Gilbert2017-03-21 22:11:32 -0400
commit4591dd966a13a4c7eaced7a7413945ad45545de8 (patch)
tree494bff4222e63a170ee3f9a4a1e838c25cb34d7f /engines/titanic
parentc0030abe5ef238fe4bb1b60839bbba65a0671623 (diff)
downloadscummvm-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.cpp1
-rw-r--r--engines/titanic/star_control/star_control_sub22.cpp17
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