diff options
-rw-r--r-- | engines/mads/sequence.cpp | 10 | ||||
-rw-r--r-- | engines/mads/sequence.h | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/engines/mads/sequence.cpp b/engines/mads/sequence.cpp index 61848c0bbc..16e095aff2 100644 --- a/engines/mads/sequence.cpp +++ b/engines/mads/sequence.cpp @@ -551,8 +551,14 @@ void SequenceList::setMotion(int seqIndex, int flags, int deltaX, int deltaY) { } int SequenceList::addStampCycle(int srcSpriteIdx, bool flipped, int sprite) { - warning("TODO: SequenceList::addStampCycle"); - return -1; + int id; + + id = addSpriteCycle(srcSpriteIdx, flipped, 32767, 0, 0, 0); + if (id >= 0) { + setRange(id, sprite, sprite); + _entries[id]._animType = ANIMTYPE_STAMP; + } + return (id); } int SequenceList::setTimingTrigger(int delay, int code) { diff --git a/engines/mads/sequence.h b/engines/mads/sequence.h index 900458ebba..ea479c42fc 100644 --- a/engines/mads/sequence.h +++ b/engines/mads/sequence.h @@ -38,7 +38,7 @@ enum SequenceTrigger { SEQUENCE_TRIGGER_SPRITE = 2 // Trigger when sequence reaches specific sprite }; -enum SpriteAnimType { ANIMTYPE_NONE = 0, ANIMTYPE_CYCLED = 1, ANIMTYPE_PING_PONG = 2 }; +enum SpriteAnimType { ANIMTYPE_NONE = 0, ANIMTYPE_CYCLED = 1, ANIMTYPE_PING_PONG = 2, ANIMTYPE_STAMP = 9 }; #define SEQUENCE_ENTRY_SUBSET_MAX 5 |