aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/star_control_sub12.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2017-03-20 20:52:57 -0400
committerPaul Gilbert2017-03-20 20:52:57 -0400
commit3593f3fe5aea6f23a78d8821a81be64ffdb28ee2 (patch)
treeab3179b048761054fc525427d1c08ea0b38a5eb3 /engines/titanic/star_control/star_control_sub12.cpp
parenta0330c1aab4edc2ea20619ad251877419efaf201 (diff)
downloadscummvm-rg350-3593f3fe5aea6f23a78d8821a81be64ffdb28ee2.tar.gz
scummvm-rg350-3593f3fe5aea6f23a78d8821a81be64ffdb28ee2.tar.bz2
scummvm-rg350-3593f3fe5aea6f23a78d8821a81be64ffdb28ee2.zip
TITANIC: Implemented CStarControlSub12 fn1
Diffstat (limited to 'engines/titanic/star_control/star_control_sub12.cpp')
-rw-r--r--engines/titanic/star_control/star_control_sub12.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/titanic/star_control/star_control_sub12.cpp b/engines/titanic/star_control/star_control_sub12.cpp
index bf5a654bf0..190e9e4962 100644
--- a/engines/titanic/star_control/star_control_sub12.cpp
+++ b/engines/titanic/star_control/star_control_sub12.cpp
@@ -401,6 +401,7 @@ bool CStarControlSub12::addMatrixRow(const FVector &v) {
FVector &row = _matrix[++_matrixRow];
row = v;
setupHandler(&data);
+ return true;
}
bool CStarControlSub12::removeMatrixRow() {
@@ -413,6 +414,7 @@ bool CStarControlSub12::removeMatrixRow() {
--_matrixRow;
setupHandler(&data);
+ return true;
}
void CStarControlSub12::proc36(double *v1, double *v2, double *v3, double *v4) {
@@ -463,7 +465,16 @@ void CStarControlSub12::deleteHandler() {
}
void CStarControlSub12::fn1(CStarControlSub13 *sub13, const FVector &v) {
- // TODO
+ if (_matrixRow == 1) {
+ FMatrix m1 = sub13->getMatrix();
+ FMatrix m2 = _sub13.getMatrix();
+ FVector v1 = sub13->_position;
+ FVector v2 = _sub13._position;
+
+ _handlerP->proc8(v2, v1, m2, m1);
+ CStarVector *sv = new CStarVector(this, v);
+ _handlerP->setVector(sv);
+ }
}
void CStarControlSub12::fn2(FVector v1, FVector v2, FVector v3) {