22 #ifndef DIRECTOR_SCORE_H 23 #define DIRECTOR_SCORE_H 25 #include "director/cursor.h" 36 class ReadStreamEndian;
37 class MemoryReadStreamEndian;
38 class SeekableReadStreamEndian;
39 class SeekableWriteStream;
56 struct BehaviorElement;
71 Movie *getMovie()
const {
return _movie; }
74 bool loadFrame(
int frame,
bool loadCast);
76 void updateFrame(
Frame *frame);
77 Frame *getFrameData(
int frameNum);
80 uint32 getVWSCResourceSize();
84 void loadSampleSounds(uint type);
86 static int compareLabels(
const void *a,
const void *b);
97 void setDelay(uint32 ticks);
99 void setCurrentFrame(uint16 frameId);
100 uint16 getCurrentFrameNum() {
return _curFrameNumber; }
101 int getNextFrame() {
return _nextFrame; }
102 uint16 getFramesNum() {
return _numFrames; }
104 void setPuppetTempo(int16 puppetTempo);
108 Channel *getChannelById(uint16
id);
109 Sprite *getSpriteById(uint16
id);
110 Sprite *getOriginalSpriteById(uint16
id);
112 void setSpriteCasts();
114 int getPreviousLabelNumber(
int referenceFrame);
115 int getCurrentLabelNumber();
116 int getNextLabelNumber(
int referenceFrame);
118 uint16 getSpriteIDOfActiveWidget();
122 bool checkSpriteRollOver(uint16 spriteId,
Common::Point pos);
127 bool refreshPointersForCastLib(uint16 castLib);
129 bool renderTransition(uint16 frameId, RenderMode mode);
130 void renderFrame(uint16 frameId, RenderMode mode = kRenderModeNormal,
bool sound1Changed =
true,
bool sound2Changed =
true);
131 void incrementFilmLoops();
132 void updateSprites(RenderMode mode = kRenderModeNormal,
bool withClean =
false);
133 bool renderPrePaletteCycle(RenderMode mode = kRenderModeNormal);
134 void setLastPalette();
135 bool isPaletteColorCycling();
136 void renderPaletteCycle(RenderMode mode = kRenderModeNormal);
137 void renderCursor(
Common::Point pos,
bool forceUpdate =
false);
138 void updateWidgets(
bool hasVideoPlayback);
140 void invalidateRectsForMember(
CastMember *member);
142 void playSoundChannel(
bool puppetOnly,
bool sound1Changed =
true,
bool sound2Changed =
true);
145 bool processFrozenPlayScript();
150 void killScriptInstances(
int frameNum);
151 void createScriptInstances(
int frameNum);
155 bool isWaitingForNextFrame();
156 void updateCurrentFrame();
157 void updateNextFrameTime();
159 void playQueuedSound();
165 bool processFrozenScripts(
bool recursion =
false,
int count = 0);
169 void seekToMemberInList(
int frame);
171 void loadFrameSpriteDetails(
bool skipLog);
174 SpriteInfo loadSpriteInfo(
int spriteId,
bool skipLog);
181 Datum _scriptChannelScriptInstance;
187 Frame *_currentFrame;
188 uint32 _curFrameNumber;
194 uint32 _framesStreamSize;
197 uint16 _framesVersion;
198 uint16 _spriteRecordSize;
200 int16 _numChannelsDisplayed;
203 int16 _maxChannelsUsed;
205 uint _firstFramePosition;
206 uint _indexStart = 0;
207 uint _frameDataOffset = 0;
210 byte _currentFrameRate;
214 int _paletteTransitionIndex;
215 byte _paletteSnapshotBuffer[768];
217 PlayState _playState;
218 uint32 _nextFrameTime;
219 uint32 _nextFrameDelay;
222 int _waitForChannelCue;
223 int _waitForVideoChannel;
225 bool _waitForClickCursor;
228 bool _exitFrameCalled;
229 bool _stopPlayCalled;
232 bool _skipTransition;
237 bool _disableGoPlayUpdateStage;
249 int _previousBuildBotBuild = -1;
250 bool _firstRun =
true;
Definition: spriteinfo.h:87
Definition: memstream.h:103
Definition: atari-cursor.h:35
Definition: algorithm.h:29
Definition: formatinfo.h:28
Definition: director.h:157
Definition: spriteinfo.h:43
Definition: castmember.h:48