diff options
author | David Fioramonti | 2017-08-28 19:28:15 -0700 |
---|---|---|
committer | David Fioramonti | 2017-08-30 19:53:13 -0700 |
commit | 8f479522c4bf53616c785099d516d350f8fad94c (patch) | |
tree | a871507ee1325db2c323f8876d1985eefdfa5bf8 /engines/titanic/star_control/camera_mover.cpp | |
parent | d1325e2d12ec2b7f9e12381f3e62e94897d5b57c (diff) | |
download | scummvm-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.cpp | 59 |
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 |