diff options
author | Sven Hesse | 2011-09-12 17:11:31 +0200 |
---|---|---|
committer | Sven Hesse | 2011-09-14 18:54:28 +0200 |
commit | a43794b9c4e7cfd5b5bba760c08e19350c7d0c98 (patch) | |
tree | e1a0f1a3cae78bd2759a37679c0d501f7c704b67 /engines/gob/aniobject.cpp | |
parent | ac3593c63143e7bea9dfab6b237a812186c9dcee (diff) | |
download | scummvm-rg350-a43794b9c4e7cfd5b5bba760c08e19350c7d0c98.tar.gz scummvm-rg350-a43794b9c4e7cfd5b5bba760c08e19350c7d0c98.tar.bz2 scummvm-rg350-a43794b9c4e7cfd5b5bba760c08e19350c7d0c98.zip |
GOB: Add ANIObject animation mode
Play the animation continuously or only once.
Diffstat (limited to 'engines/gob/aniobject.cpp')
-rw-r--r-- | engines/gob/aniobject.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/gob/aniobject.cpp b/engines/gob/aniobject.cpp index 9974874bbf..c689145b75 100644 --- a/engines/gob/aniobject.cpp +++ b/engines/gob/aniobject.cpp @@ -27,7 +27,8 @@ namespace Gob { ANIObject::ANIObject(const ANIFile &ani) : _ani(&ani), - _visible(false), _paused(false), _x(0), _y(0), _background(0), _drawn(false) { + _visible(false), _paused(false), _mode(kModeContinuous), + _x(0), _y(0), _background(0), _drawn(false) { setAnimation(0); setPosition(); @@ -53,6 +54,10 @@ bool ANIObject::isPaused() const { return _paused; } +void ANIObject::setMode(Mode mode) { + _mode = mode; +} + void ANIObject::setAnimation(uint16 animation) { _animation = animation; _frame = 0; @@ -173,6 +178,11 @@ void ANIObject::advance() { if (_frame == 0) { _x += animation.deltaX; _y += animation.deltaY; + + if (_mode == kModeOnce) { + _paused = true; + _visible = false; + } } } |