aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/camera_mover.cpp
diff options
context:
space:
mode:
authorDavid Fioramonti2017-08-28 19:28:15 -0700
committerDavid Fioramonti2017-08-30 19:53:13 -0700
commit8f479522c4bf53616c785099d516d350f8fad94c (patch)
treea871507ee1325db2c323f8876d1985eefdfa5bf8 /engines/titanic/star_control/camera_mover.cpp
parentd1325e2d12ec2b7f9e12381f3e62e94897d5b57c (diff)
downloadscummvm-rg350-8f479522c4bf53616c785099d516d350f8fad94c.tar.gz
scummvm-rg350-8f479522c4bf53616c785099d516d350f8fad94c.tar.bz2
scummvm-rg350-8f479522c4bf53616c785099d516d350f8fad94c.zip
TITANIC: CCameraMover and related classes Refactor
1. Removed updatePosition function defintions since UnmarkedCameraMover and MarkedCameraMover, derived classes, are overriddening it. I.e., CCameraMover::updatePosition doesn't get used. This also allowed some header files to removed. 2. Renaming of some functions.
Diffstat (limited to 'engines/titanic/star_control/camera_mover.cpp')
-rw-r--r--engines/titanic/star_control/camera_mover.cpp59
1 files changed, 27 insertions, 32 deletions
diff --git a/engines/titanic/star_control/camera_mover.cpp b/engines/titanic/star_control/camera_mover.cpp
index 95981a951c..09e7ed72ba 100644
--- a/engines/titanic/star_control/camera_mover.cpp
+++ b/engines/titanic/star_control/camera_mover.cpp
@@ -23,7 +23,6 @@
#include "titanic/star_control/camera_mover.h"
#include "titanic/star_control/base_stars.h" // includes class CStarVector
#include "titanic/star_control/error_code.h"
-#include "titanic/star_control/fmatrix.h" // Also has class FVector
#include "titanic/support/simple_file.h"
// Not currently being used: #include "common/textconsole.h"
@@ -36,14 +35,7 @@ CCameraMover::CCameraMover(const CNavigationInfo *src) {
if (src) {
copyFrom(src);
} else {
- _speed = 0.0;
- _speedChangeCtr = 0.0;
- _speedChangeInc = 20.0;
- _unused = 0.0;
- _maxSpeed = 50000.0;
- _unusedX = 1.0;
- _unusedY = 1.0;
- _unusedZ = 0.0;
+ reset();
}
}
@@ -51,6 +43,29 @@ CCameraMover::~CCameraMover() {
clear();
}
+void CCameraMover::clear() {
+ if (_starVector) {
+ delete _starVector;
+ _starVector = nullptr;
+ }
+}
+
+void CCameraMover::reset() {
+ _speed = 0.0;
+ _speedChangeCtr = 0.0;
+ _speedChangeInc = 20.0;
+ _unused = 0.0;
+ _maxSpeed = 50000.0;
+ _unusedX = 1.0;
+ _unusedY = 1.0;
+ _unusedZ = 0.0;
+}
+
+void CCameraMover::setVector(CStarVector *sv) {
+ clear();
+ _starVector = sv;
+}
+
void CCameraMover::copyFrom(const CNavigationInfo *src) {
_speed = src->_speed;
_unused = src->_speedChangeCtr;
@@ -99,28 +114,7 @@ void CCameraMover::stop() {
}
}
-void CCameraMover::updatePosition(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) {
- if (_speed > 0.0) {
- pos._x += orientation._row3._x * _speed;
- pos._y += orientation._row3._y * _speed;
- pos._z += orientation._row3._z * _speed;
-
- errorCode.set();
- }
-}
-
-void CCameraMover::setVector(CStarVector *sv) {
- clear();
- _starVector = sv;
-}
-
-void CCameraMover::clear() {
- if (_starVector) {
- delete _starVector;
- _starVector = nullptr;
- }
-}
-
+// TODO: this is confusing to negate the val value
void CCameraMover::load(SimpleFile *file, int val) {
if (!val) {
_speed = file->readFloat();
@@ -146,6 +140,7 @@ void CCameraMover::save(SimpleFile *file, int indent) {
}
void CCameraMover::incLockCount() {
+ if (_lockCounter < 3)
++_lockCounter;
}
@@ -154,4 +149,4 @@ void CCameraMover::decLockCount() {
--_lockCounter;
}
-} // End of namespace Titanic
+} // End of namespace Titanic \ No newline at end of file