aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/scalpel/tsage/logo.h
diff options
context:
space:
mode:
authorTorbjörn Andersson2015-06-07 22:00:14 +0200
committerTorbjörn Andersson2015-06-07 22:01:50 +0200
commit359d4cdb2442aab8d10c21b7724798a3c8c4ed2c (patch)
tree4eac73cabc6e441453aa225c1fad2414d1525ff2 /engines/sherlock/scalpel/tsage/logo.h
parent247f6d43f84e30f2b17ac75cc9c9b11d66cf016e (diff)
downloadscummvm-rg350-359d4cdb2442aab8d10c21b7724798a3c8c4ed2c.tar.gz
scummvm-rg350-359d4cdb2442aab8d10c21b7724798a3c8c4ed2c.tar.bz2
scummvm-rg350-359d4cdb2442aab8d10c21b7724798a3c8c4ed2c.zip
SHERLOCK: Clean up EA logo animation
Since I don't know the TsAGE engine, it's possible that this could be done in some better way, but I think it's still an improvement over the old code.
Diffstat (limited to 'engines/sherlock/scalpel/tsage/logo.h')
-rw-r--r--engines/sherlock/scalpel/tsage/logo.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/engines/sherlock/scalpel/tsage/logo.h b/engines/sherlock/scalpel/tsage/logo.h
index 94531e4236..c9fac00d9c 100644
--- a/engines/sherlock/scalpel/tsage/logo.h
+++ b/engines/sherlock/scalpel/tsage/logo.h
@@ -185,6 +185,12 @@ public:
void remove() { _visage.clear(); }
};
+struct AnimationFrame {
+ int frame;
+ int x;
+ int y;
+};
+
class Logo {
private:
ScalpelEngine *_vm;
@@ -198,6 +204,11 @@ private:
Object _objects[4];
uint _waitFrames;
uint32 _waitStartFrame;
+ int _animateObject;
+ uint32 _animateStartFrame;
+ uint _animateFrameDelay;
+ const AnimationFrame *_animateFrames;
+ uint _animateFrame;
Logo(ScalpelEngine *vm);
~Logo();
@@ -213,6 +224,13 @@ private:
void waitFrames(uint frames);
/**
+ * Start an animation sequence. Used for sequences that are described
+ * one frame at a time because they do unusual things, or run at
+ * unusual rates.
+ */
+ void startAnimation(uint object, uint frameDelay, const AnimationFrame *frames);
+
+ /**
* Load the background for the scene
*/
void loadBackground();