aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/scalpel/tsage/logo.h
diff options
context:
space:
mode:
authorPaul Gilbert2015-05-31 11:49:06 -0400
committerPaul Gilbert2015-05-31 11:49:06 -0400
commit53f6e1903b9f4247b231955b16dc49cb7d40d3e9 (patch)
tree623addc9ec8ceb4cdfb1a5c99a4318d03c05dc1c /engines/sherlock/scalpel/tsage/logo.h
parent656906da4276bdb0783f58be6e84164b2bf0ecbb (diff)
downloadscummvm-rg350-53f6e1903b9f4247b231955b16dc49cb7d40d3e9.tar.gz
scummvm-rg350-53f6e1903b9f4247b231955b16dc49cb7d40d3e9.tar.bz2
scummvm-rg350-53f6e1903b9f4247b231955b16dc49cb7d40d3e9.zip
SHERLOCK: Implement TsAGE object mover code for Scalpel logo display
Diffstat (limited to 'engines/sherlock/scalpel/tsage/logo.h')
-rw-r--r--engines/sherlock/scalpel/tsage/logo.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/engines/sherlock/scalpel/tsage/logo.h b/engines/sherlock/scalpel/tsage/logo.h
index 0dcd35e281..68b7353a15 100644
--- a/engines/sherlock/scalpel/tsage/logo.h
+++ b/engines/sherlock/scalpel/tsage/logo.h
@@ -97,6 +97,12 @@ private:
uint32 _updateStartFrame;
bool _isAnimating;
bool _finished;
+ uint32 _walkStartFrame;
+ int _angle;
+ int _changeCtr;
+ int _majorDiff, _minorDiff;
+ Common::Point _moveDelta;
+ Common::Point _moveSign;
/**
* Return the next frame when the object is animating
@@ -107,6 +113,26 @@ private:
* Gets the next frame in the sequence
*/
int getNewFrame();
+
+ /**
+ * Calculate the angle between the current position and a designated destination
+ */
+ void calculateMoveAngle();
+
+ /**
+ * Handle any object movement
+ */
+ void move();
+
+ /**
+ * Returns whether not to make any movement
+ */
+ bool dontMove() const;
+
+ /**
+ * Ends any current movement
+ */
+ void endMove();
public:
static ScalpelEngine *_vm;
Common::Point _position;
@@ -131,7 +157,7 @@ public:
/**
* Starts an object moving to a given destination
*/
- void setDestination(const Common::Point &pt) { _destination = pt; }
+ void setDestination(const Common::Point &pt);
/**
* Returns true if an animation is ended