From 8f479522c4bf53616c785099d516d350f8fad94c Mon Sep 17 00:00:00 2001 From: David Fioramonti Date: Mon, 28 Aug 2017 19:28:15 -0700 Subject: 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. --- engines/titanic/star_control/camera_mover.cpp | 59 ++++++++++++--------------- 1 file changed, 27 insertions(+), 32 deletions(-) (limited to 'engines/titanic/star_control/camera_mover.cpp') 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 -- cgit v1.2.3