aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorStrangerke2015-10-21 18:48:13 +0200
committerStrangerke2015-10-21 18:48:13 +0200
commit52d035e96228a470fcc978d08ef9fb2b4ea5f500 (patch)
treef3082c39f908df4a3b344fd86b51fbda0546c787 /engines
parent0b046f848a984d072c70ebbeeb3eaa030f102a77 (diff)
downloadscummvm-rg350-52d035e96228a470fcc978d08ef9fb2b4ea5f500.tar.gz
scummvm-rg350-52d035e96228a470fcc978d08ef9fb2b4ea5f500.tar.bz2
scummvm-rg350-52d035e96228a470fcc978d08ef9fb2b4ea5f500.zip
MADS: Phantom: Implement SequenceList::addStampCycle()
Diffstat (limited to 'engines')
-rw-r--r--engines/mads/sequence.cpp10
-rw-r--r--engines/mads/sequence.h2
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