24 #ifndef HADESCH_VIDEOROOM_H 25 #define HADESCH_VIDEOROOM_H 27 #include "common/scummsys.h" 28 #include "common/array.h" 29 #include "audio/audiostream.h" 30 #include "audio/mixer.h" 31 #include "common/rect.h" 32 #include "common/ptr.h" 33 #include "hadesch/pod_file.h" 34 #include "hadesch/pod_image.h" 35 #include "common/hashmap.h" 36 #include "common/str.h" 37 #include "hadesch/enums.h" 38 #include "hadesch/event.h" 39 #include "hadesch/hotzone.h" 40 #include "hadesch/table.h" 41 #include "common/queue.h" 53 static const int kDefaultSpeed = 100;
59 void startAnimation(
int startms,
int msperframe,
60 bool loop,
int first,
int last);
61 bool isAnimationFinished(
int time);
62 void selectFrame(
int frame);
63 int getAnimationFrameNum(
int time);
65 return _images.size();
95 _qualifier = qualifier;
106 bool operator== (
const LayerId &b)
const;
129 bool getKeepLastFrame();
147 const char *soundName;
148 const char *transcript;
173 void pushHotZones(
const Common::String &hotzoneFile,
bool enable =
true,
176 void loadHotZones(
const Common::String &hotzoneFile,
bool enable =
true,
183 _mouseEnabled =
true;
185 void disableMouse() {
186 _mouseEnabled =
false;
188 bool isMouseEnabled() {
189 return _mouseEnabled;
191 int getCursorAnimationFrame(
int time);
194 void setLayerEnabled(
const LayerId &name,
bool enabled);
195 void setLayerParallax(
const LayerId &name,
int val);
196 void setColorScale(
const LayerId &name,
int val);
197 void setScale(
const LayerId &name,
int val);
198 int getNumFrames(
const LayerId &animName);
201 void playAnimWithSpeech(
const LayerId &animName,
207 void playAnimWithSFX(
const LayerId &animName,
213 void playAnimWithMusic(
const LayerId &animName,
219 void playAnim(
const LayerId &animName,
int zValue,
224 void stopAnim(
const LayerId &animName);
226 void purgeAnim(
const LayerId &animName);
227 bool isAnimationFinished(
const LayerId &name,
int time);
230 bool doesLayerExist(
const LayerId &name);
232 int getAnimFrameNum(
const LayerId &name);
245 bool isVideoPlaying();
250 void panRightInstant();
251 void setPannable(
bool pannable);
265 void enableHeroBelt() {
266 _heroBeltEnabled =
true;
268 void disableHeroBelt() {
269 _heroBeltEnabled =
false;
271 bool isHeroBeltEnabled() {
272 return _heroBeltEnabled;
292 void playStatueSMK(StatueId
id,
const LayerId &animName,
int zValue,
294 int startOfLoop,
int startOfEnd,
306 void cancelAllSubtitles();
308 _viewportOffset = vp;
324 struct SubtitleLine {
330 void playAnimWithSoundInternal(
const LayerId &animName,
338 void playSubtitles(
const char *text,
int subID);
342 void startAnimationInternal(
const LayerId &name,
int zValue,
int msperframe,
bool loop,
350 static int layerComparator (
const Layer &a,
const Layer &b);
353 uint _videoW, _videoH;
356 byte _videoPalette[256 * 3];
361 int _layerGenCounter;
381 bool _heroBeltEnabled;
398 int _finalFade, _finalFadeSpeed;
402 static const int kVideoWidth = 640;
403 static const int kVideoHeight = 480;
404 #define kOffsetRightRoom (Common::Point(kVideoWidth, 0)) 405 #define kZeroPoint (Common::Point(10, 50))
Definition: pod_image.h:35
Graphics::Surface * scale(const Graphics::Surface &srcImage, int xSize, int ySize)
SoundType
Definition: mixer.h:62
Definition: audiostream.h:109
Definition: avi_frames.h:36