aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/animation.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/m4/animation.h')
-rw-r--r--engines/m4/animation.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/engines/m4/animation.h b/engines/m4/animation.h
index 5c7227a256..a7a6b57c32 100644
--- a/engines/m4/animation.h
+++ b/engines/m4/animation.h
@@ -39,12 +39,13 @@ class SpriteSlotSubset;
class AnimMessage {
public:
- char msg[70];
+ int16 soundId;
+ char msg[64];
Common::Point pos;
RGB8 rgb1, rgb2;
- int kernelMsgIndex;
-
+ uint16 flags;
int startFrame, endFrame;
+ int kernelMsgIndex;
};
class AnimFrameEntry {
@@ -57,6 +58,7 @@ public:
class AnimMiscEntry {
public:
int soundNum;
+ int msgIndex;
int numTicks;
Common::Point posAdjust;
};
@@ -82,11 +84,13 @@ private:
int _spriteListIndex;
int _scrollX;
int _scrollY;
+ int _scrollTicks;
Common::String _interfaceFile;
Common::String _spriteSetNames[10];
Common::String _lbmFilename;
Common::String _spritesFilename;
Common::String _soundName;
+ Common::String _dsrName;
Common::Array<int> _spriteListIndexes;
int _currentFrame, _oldFrameEntry;
@@ -96,24 +100,28 @@ private:
int _unkIndex;
Common::Point _unkList[2];
uint32 _nextFrameTimer;
+ uint32 _nextScrollTimer;
int _messageCtr;
int _abortTimers;
AbortTimerMode _abortMode;
- uint16 _actionNouns[3];
+ ActionDetails _actionNouns;
void load1(int frameNumber);
bool proc1(SpriteAsset &spriteSet, const Common::Point &pt, int frameNumber);
void loadInterface(M4Surface *&interfaceSurface, M4Surface *&depthSurface);
+ bool hasScroll() const { return (_scrollX != 0) || (_scrollY != 0); }
public:
MadsAnimation(MadsM4Engine *vm, MadsView *view);
virtual ~MadsAnimation();
- virtual void initialise(const Common::String &filename, uint16 flags, M4Surface *interfaceSurface, M4Surface *sceneSurface);
+ virtual void initialise(const Common::String &filename, uint16 flags, M4Surface *surface, M4Surface *depthSurface);
virtual void load(const Common::String &filename, int abortTimers);
virtual void update();
virtual void setCurrentFrame(int frameNumber);
+ virtual int getCurrentFrame();
bool freeFlag() const { return _freeFlag; }
+ bool getAnimMode() const { return _animMode; }
int roomNumber() const { return _roomNumber; }
};