From 52d035e96228a470fcc978d08ef9fb2b4ea5f500 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 21 Oct 2015 18:48:13 +0200 Subject: MADS: Phantom: Implement SequenceList::addStampCycle() --- engines/mads/sequence.cpp | 10 ++++++++-- engines/mads/sequence.h | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'engines') 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 -- cgit v1.2.3