28 #ifndef GOB_VIDEOPLAYER_H 29 #define GOB_VIDEOPLAYER_H 31 #include "common/array.h" 32 #include "common/list.h" 33 #include "common/rect.h" 34 #include "common/str.h" 36 #include "graphics/surface.h" 54 kFlagUseBackSurfaceContent = 0x000040,
55 kFlagFrontSurface = 0x000080,
56 kFlagNoVideo = 0x000100,
57 kFlagOtherSurface = 0x000800,
58 kFlagScreenSurface = 0x400000
108 bool reuseSlotWitSameFilename;
121 bool closeVideo(
int slot = 0);
123 void closeLiveVideos();
126 bool reopenVideo(
int slot = 0);
129 void pauseVideo(
int slot,
bool pause);
130 void pauseAll(
bool pause);
132 void finishVideoSound(
int slot);
133 void waitSoundEnd(
int slot);
136 void waitEndFrame(
int slot,
bool onlySound =
false);
137 int32 getExpectedFrameFromCurrentTime(
int slot);
139 bool isPlayingLive()
const;
140 bool isSoundPlaying()
const;
142 void updateLive(
bool force =
false,
int exceptSlot = -1);
144 bool slotIsOpen(
int slot = 0)
const;
148 uint32 getFrameCount (
int slot = 0)
const;
149 uint32 getCurrentFrame (
int slot = 0)
const;
150 uint16 getWidth (
int slot = 0)
const;
151 uint16 getHeight (
int slot = 0)
const;
152 uint16 getDefaultX (
int slot = 0)
const;
153 uint16 getDefaultY (
int slot = 0)
const;
154 uint32 getFlags (
int slot = 0)
const;
155 uint16 getSoundFlags (
int slot = 0)
const;
156 uint32 getVideoBufferSize(
int slot = 0)
const;
157 bool hasVideo (
int slot = 0)
const;
162 bool hasEmbeddedFile(
const Common::String &fileName,
int slot = 0)
const;
165 int32 getSubtitleIndex(
int slot = 0)
const;
167 void writeVideoInfo(
const Common::String &file, uint16 varX, uint16 varY,
168 uint16 varFrames, uint16 varWidth, uint16 varHeight);
170 bool copyFrame(
int slot,
Surface &dest,
171 uint16 left, uint16 top, uint16 width, uint16 height, uint16 x, uint16 y,
172 int32 transp = -1,
bool yAxisReflexion =
false)
const;
176 ::Video::CoktelDecoder *decoder;
181 uint32 *highColorMap;
189 bool isEmpty()
const;
195 static const int kVideoSlotCount = 32;
196 static const int kPrimaryVideoSlot = 0;
197 static const int kLiveVideoSlotCount = 6;
198 static const int kVideoSlotWithCurFrameVarCount = 4;
200 static const char *
const _extensions[];
205 Video _videoSlots[kVideoSlotCount];
209 bool _noCursorSwitch;
210 bool _woodruffCohCottWorkaround;
212 const Video *getVideoBySlot(
int slot)
const;
213 Video *getVideoBySlot(
int slot);
215 int getNextFreeSlot();
221 bool reopenVideo(
Video &video);
224 bool playFrame(
int slot,
Properties &properties);
227 void evalBgShading(
Video &video);
229 void copyPalette(
const Video &video, int16 palStart, int16 palEnd);
231 void updateLive(
int slot,
bool force =
false);
236 #endif // GOB_VIDEOPLAYER_H int32 x
X coordinate of the video.
Definition: videoplayer.h:75
int slot
Explicit slot index (-1 = auto).
Definition: videoplayer.h:107
bool noBlock
Non-blocking "live" video?
Definition: videoplayer.h:97
int32 y
Y coordinate of the video.
Definition: videoplayer.h:76
int32 lastFrame
Frame to stop playback at.
Definition: videoplayer.h:85
int16 breakKey
Keycode of the break/abort key.
Definition: videoplayer.h:90
int32 startFrame
Frame to start playback from.
Definition: videoplayer.h:84
Flags
Definition: videoplayer.h:52
Type type
Type of the video to open.
Definition: videoplayer.h:71
bool hasSound
Does the video have sound?
Definition: videoplayer.h:104
int32 width
Width of the video.
Definition: videoplayer.h:77
bool switchColorMode
Switch between paletted / true color modes?
Definition: videoplayer.h:82
bool canceled
Was the video canceled?
Definition: videoplayer.h:105
int16 palEnd
Palette entry to end at.
Definition: videoplayer.h:94
int16 palStart
Palette entry to start with.
Definition: videoplayer.h:93
bool waitEndFrame
Wait for the frame's time to run out?
Definition: videoplayer.h:102
int32 palFrame
Frame to apply the palette command at.
Definition: videoplayer.h:95
Type
Definition: videoplayer.h:62
Definition: surface.h:106
Definition: videoplayer.h:70
int sprite
The sprite onto which to draw the video.
Definition: videoplayer.h:73
uint16 palCmd
Palette command.
Definition: videoplayer.h:92
bool fade
Fade in?
Definition: videoplayer.h:100
uint32 flags
Video flags.
Definition: videoplayer.h:80
Definition: avi_frames.h:36
bool forceSeek
Force the seeking to the start frame.
Definition: videoplayer.h:88
int32 endFrame
Last frame of this playback cycle.
Definition: videoplayer.h:86
int32 height
Height of the video.
Definition: videoplayer.h:78
bool loop
Loop the video?
Definition: videoplayer.h:99
Definition: videoplayer.h:50