aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/camera_auto_mover.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/star_control/camera_auto_mover.h')
-rw-r--r--engines/titanic/star_control/camera_auto_mover.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/engines/titanic/star_control/camera_auto_mover.h b/engines/titanic/star_control/camera_auto_mover.h
index 210bd74091..25384632fa 100644
--- a/engines/titanic/star_control/camera_auto_mover.h
+++ b/engines/titanic/star_control/camera_auto_mover.h
@@ -32,7 +32,7 @@ namespace Titanic {
class CErrorCode;
class FMatrix;
const int nMoverTransitions = 32; // The number of vector transitions when doing a mover change is fixed
-
+enum MoverState {NOT_ACTIVE=0,MOVING=1,DONE_MOVING=2};
/**
* Base class for automatic movement of the starview camera
*/
@@ -59,11 +59,19 @@ public:
CCameraAutoMover();
virtual ~CCameraAutoMover() {}
- virtual void proc2(const FVector &oldPos, const FVector &newPos,
+ virtual void setPath2(const FVector &oldPos, const FVector &newPos,
const FMatrix &oldOrientation, const FMatrix &newOrientation);
- virtual void proc3(const FMatrix &srcOrient, const FMatrix &destOrient);
+
+ /**
+ * Clear src and dest orientation and set some default values for other fields
+ */
+ virtual void setOrientations(const FMatrix &srcOrient, const FMatrix &destOrient);
virtual void setPath(const FVector &srcV, const FVector &destV, const FMatrix &orientation);
- virtual int proc5(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) { return 2; }
+
+ /**
+ * Applys speeds to the mover. More than one application is usually done for several transitions
+ */
+ virtual MoverState move(CErrorCode &errorCode, FVector &pos, FMatrix &orientation) { return DONE_MOVING; }
/**
* Given a distance to cover, determines a bunch of speeds for a gradual transition
* from one position to another (the mover). The speeds go from fast to slow