22 #ifndef MADS_SEQUENCE_H 23 #define MADS_SEQUENCE_H 25 #include "common/scummsys.h" 26 #include "common/array.h" 27 #include "common/rect.h" 28 #include "mads/action.h" 34 enum SequenceTrigger {
35 SEQUENCE_TRIGGER_EXPIRE = 0,
36 SEQUENCE_TRIGGER_LOOP = 1,
37 SEQUENCE_TRIGGER_SPRITE = 2
40 enum SpriteAnimType { ANIMTYPE_NONE = 0, ANIMTYPE_CYCLED = 1, ANIMTYPE_PING_PONG = 2, ANIMTYPE_STAMP = 9 };
42 #define SEQUENCE_ENTRY_SUBSET_MAX 5 46 SequenceTrigger _mode[SEQUENCE_ENTRY_SUBSET_MAX];
47 int _frameIndex[SEQUENCE_ENTRY_SUBSET_MAX];
48 int _trigger[SEQUENCE_ENTRY_SUBSET_MAX];
60 SpriteAnimType _animType;
65 int _dynamicHotspotIndex;
74 int _triggerCountdown;
77 TriggerMode _triggerMode;
96 SequenceEntry &operator[](
int index) {
return _entries[index]; }
98 bool addSubEntry(
int index, SequenceTrigger mode,
int frameIndex,
int trigger);
99 int add(
int spriteListIndex,
bool flipped,
int frameIndex,
int triggerCountdown,
int delayTicks,
100 int extraTicks,
int numTicks,
int msgX,
int msgY,
bool nonFixed,
int scale,
int depth,
101 int frameInc, SpriteAnimType animType,
int numSprites,
int frameStart);
103 int addTimer(
int timeout,
int endTrigger);
104 void remove(
int seqIndex);
105 int findByTrigger(
int trigger);
106 void setSpriteSlot(
int seqIndex,
SpriteSlot &spriteSlot);
107 bool loadSprites(
int seqIndex);
109 void delay(uint32 priorFrameTime, uint32 currentTime);
110 void setAnimRange(
int seqIndex,
int startVal,
int endVal);
112 void setDepth(
int seqIndex,
int depth);
114 int addSpriteCycle(
int srcSpriteIdx,
bool flipped,
int numTicks,
115 int triggerCountdown = 0,
int timeoutTicks = 0,
int extraTicks = 0);
116 int addReverseSpriteCycle(
int srcSpriteIdx,
bool flipped,
int numTicks,
117 int triggerCountdown = 0,
int timeoutTicks = 0,
int extraTicks = 0);
119 int startCycle(
int srcSpriteIdx,
bool flipped,
int cycleIndex);
120 int startPingPongCycle(
int srcSpriteIndex,
bool flipped,
int numTicks,
121 int triggerCountdown = 0,
int timeoutTicks = 0,
int extraTicks = 0);
122 void updateTimeout(
int destSeqIndex,
int srcSeqIndex);
123 void setScale(
int spriteIdx,
int scale);
124 void setMsgLayout(
int seqIndex);
125 void setDone(
int seqIndex);
126 void setMotion(
int seqIndex,
int flags,
int deltaX,
int deltaY);
128 int addStampCycle(
int srcSpriteIdx,
bool flipped,
int sprite);
129 void setSeqPlayer(
int idx,
bool flag);
Definition: sequence.h:51
Graphics::Surface * scale(const Graphics::Surface &srcImage, int xSize, int ySize)
Definition: sprites.h:133
Definition: sequence.h:89
Definition: sequence.h:44