aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mohawk')
-rw-r--r--engines/mohawk/bitmap.cpp6
-rw-r--r--engines/mohawk/detection.cpp2
-rw-r--r--engines/mohawk/detection_tables.h18
-rw-r--r--engines/mohawk/myst.cpp44
-rw-r--r--engines/mohawk/myst_graphics.cpp136
-rw-r--r--engines/mohawk/myst_graphics.h15
-rw-r--r--engines/mohawk/myst_stacks/dni.cpp2
-rw-r--r--engines/mohawk/myst_stacks/intro.cpp25
-rw-r--r--engines/mohawk/riven.cpp2
-rw-r--r--engines/mohawk/video.cpp24
-rw-r--r--engines/mohawk/video.h8
11 files changed, 66 insertions, 216 deletions
diff --git a/engines/mohawk/bitmap.cpp b/engines/mohawk/bitmap.cpp
index 952b6daec2..bc19fe2d3e 100644
--- a/engines/mohawk/bitmap.cpp
+++ b/engines/mohawk/bitmap.cpp
@@ -630,7 +630,7 @@ void MohawkBitmap::drawRLE8(Graphics::Surface *surface, bool isLE) {
// Myst Bitmap Decoder
//////////////////////////////////////////
-MohawkSurface *MystBitmap::decodeImage(Common::SeekableReadStream* stream) {
+MohawkSurface *MystBitmap::decodeImage(Common::SeekableReadStream *stream) {
uint32 uncompressedSize = stream->readUint32LE();
Common::SeekableReadStream *bmpStream = decompressLZ(stream, uncompressedSize);
delete stream;
@@ -652,10 +652,10 @@ MohawkSurface *MystBitmap::decodeImage(Common::SeekableReadStream* stream) {
}
// Copy the palette to one of our own
- const byte *palette = bitmapDecoder.getPalette();
byte *newPal = 0;
- if (palette) {
+ if (bitmapDecoder.hasPalette()) {
+ const byte *palette = bitmapDecoder.getPalette();
newPal = (byte *)malloc(256 * 3);
memcpy(newPal, palette, 256 * 3);
}
diff --git a/engines/mohawk/detection.cpp b/engines/mohawk/detection.cpp
index f0c657897d..5664929948 100644
--- a/engines/mohawk/detection.cpp
+++ b/engines/mohawk/detection.cpp
@@ -167,7 +167,7 @@ public:
}
virtual const ADGameDescription *fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
- return detectGameFilebased(allFiles, Mohawk::fileBased);
+ return detectGameFilebased(allFiles, fslist, Mohawk::fileBased);
}
virtual const char *getName() const {
diff --git a/engines/mohawk/detection_tables.h b/engines/mohawk/detection_tables.h
index 5acc1bb179..55814af1c3 100644
--- a/engines/mohawk/detection_tables.h
+++ b/engines/mohawk/detection_tables.h
@@ -204,24 +204,6 @@ static const MohawkGameDescription gameDescriptions[] = {
},
// Myst Masterpiece Edition
- // English Windows
- // From clone2727
- {
- {
- "myst",
- "Masterpiece Edition",
- AD_ENTRY1("MYST.DAT", "c4cae9f143b5947262e6cb2397e1617e"),
- Common::EN_ANY,
- Common::kPlatformMacintosh,
- ADGF_UNSTABLE,
- GUIO1(GUIO_NOASPECT)
- },
- GType_MYST,
- GF_ME,
- 0,
- },
-
- // Myst Masterpiece Edition
// German Windows
// From DrMcCoy (Included in "Myst: Die Trilogie")
{
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index 0efd412bd0..9c0e642203 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -98,11 +98,6 @@ MohawkEngine_Myst::MohawkEngine_Myst(OSystem *syst, const MohawkGameDescription
_view.soundListVolume = NULL;
_view.scriptResCount = 0;
_view.scriptResources = NULL;
-
- if ((getFeatures() & GF_ME) && getPlatform() == Common::kPlatformMacintosh) {
- const Common::FSNode gameDataDir(ConfMan.get("path"));
- SearchMan.addSubDirectoryMatching(gameDataDir, "CD Data");
- }
}
MohawkEngine_Myst::~MohawkEngine_Myst() {
@@ -205,11 +200,6 @@ static const char *mystFiles[] = {
// qtw/myst/libelev.mov: libup.mov is basically the same with sound
Common::String MohawkEngine_Myst::wrapMovieFilename(const Common::String &movieName, uint16 stack) {
- // The Macintosh release of Myst ME stores its videos in a different folder
- // WORKAROUND: The gear rotation videos are not in the CD Data folder. See above comments.
- if ((getFeatures() & GF_ME) && getPlatform() == Common::kPlatformMacintosh && !movieName.matchString("cl1wg?"))
- return Common::String("CD Data/m/") + movieName + ".mov";
-
Common::String prefix;
switch (stack) {
@@ -498,52 +488,32 @@ void MohawkEngine_Myst::changeToStack(uint16 stack, uint16 card, uint16 linkSrcS
if (!_mhk[0]->openFile(mystFiles[_curStack]))
error("Could not open %s", mystFiles[_curStack]);
- if (getPlatform() == Common::kPlatformMacintosh)
- _gfx->loadExternalPictureFile(_curStack);
-
_runExitScript = false;
// Clear the resource cache and the image cache
_cache.clear();
_gfx->clearCache();
- // Play Flyby Entry Movie on Masterpiece Edition. The Macintosh version is currently hooked
- // up to the Cinepak versions of the video (the 'c' suffix) until the SVQ1 decoder is completed.
+ // Play Flyby Entry Movie on Masterpiece Edition.
const char *flyby = 0;
if (getFeatures() & GF_ME) {
switch (_curStack) {
case kSeleniticStack:
- if (getPlatform() == Common::kPlatformMacintosh)
- flyby = "FLY_SEc";
- else
- flyby = "selenitic flyby";
+ flyby = "selenitic flyby";
break;
case kStoneshipStack:
- if (getPlatform() == Common::kPlatformMacintosh)
- flyby = "FLY_STc";
- else
- flyby = "stoneship flyby";
+ flyby = "stoneship flyby";
break;
// Myst Flyby Movie not used in Original Masterpiece Edition Engine
case kMystStack:
- if (_tweaksEnabled) {
- if (getPlatform() == Common::kPlatformMacintosh)
- flyby = "FLY_MYc";
- else
- flyby = "myst flyby";
- }
+ if (_tweaksEnabled)
+ flyby = "myst flyby";
break;
case kMechanicalStack:
- if (getPlatform() == Common::kPlatformMacintosh)
- flyby = "FLY_MEc";
- else
- flyby = "mech age flyby";
+ flyby = "mech age flyby";
break;
case kChannelwoodStack:
- if (getPlatform() == Common::kPlatformMacintosh)
- flyby = "FLY_CHc";
- else
- flyby = "channelwood flyby";
+ flyby = "channelwood flyby";
break;
default:
break;
diff --git a/engines/mohawk/myst_graphics.cpp b/engines/mohawk/myst_graphics.cpp
index ae80dd5538..2df0f7e6ba 100644
--- a/engines/mohawk/myst_graphics.cpp
+++ b/engines/mohawk/myst_graphics.cpp
@@ -49,8 +49,6 @@ MystGraphics::MystGraphics(MohawkEngine_Myst* vm) : GraphicsManager(), _vm(vm) {
if (_pixelFormat.bytesPerPixel == 1)
error("Myst requires greater than 256 colors to run");
- _pictureFile.entries = NULL;
-
// Initialize our buffer
_backBuffer = new Graphics::Surface();
_backBuffer->create(_vm->_system->getWidth(), _vm->_system->getHeight(), _pixelFormat);
@@ -61,122 +59,50 @@ MystGraphics::MystGraphics(MohawkEngine_Myst* vm) : GraphicsManager(), _vm(vm) {
MystGraphics::~MystGraphics() {
delete _bmpDecoder;
- delete[] _pictureFile.entries;
_backBuffer->free();
delete _backBuffer;
}
-static const char *s_picFileNames[] = {
- "CHpics",
- "",
- "",
- "DUpics",
- "INpics",
- "",
- "MEpics",
- "MYpics",
- "SEpics",
- "",
- "",
- "STpics"
-};
-
-void MystGraphics::loadExternalPictureFile(uint16 stack) {
- if (_vm->getPlatform() != Common::kPlatformMacintosh)
- return;
-
- if (_pictureFile.picFile.isOpen())
- _pictureFile.picFile.close();
- delete[] _pictureFile.entries;
-
- if (!scumm_stricmp(s_picFileNames[stack], ""))
- return;
-
- if (!_pictureFile.picFile.open(s_picFileNames[stack]))
- error ("Could not open external picture file \'%s\'", s_picFileNames[stack]);
-
- _pictureFile.pictureCount = _pictureFile.picFile.readUint32BE();
- _pictureFile.entries = new PictureFile::PictureEntry[_pictureFile.pictureCount];
-
- for (uint32 i = 0; i < _pictureFile.pictureCount; i++) {
- _pictureFile.entries[i].offset = _pictureFile.picFile.readUint32BE();
- _pictureFile.entries[i].size = _pictureFile.picFile.readUint32BE();
- _pictureFile.entries[i].id = _pictureFile.picFile.readUint16BE();
- _pictureFile.entries[i].type = _pictureFile.picFile.readUint16BE();
- _pictureFile.entries[i].width = _pictureFile.picFile.readUint16BE();
- _pictureFile.entries[i].height = _pictureFile.picFile.readUint16BE();
+MohawkSurface *MystGraphics::decodeImage(uint16 id) {
+ // We need to grab the image from the current stack archive, however, we don't know
+ // if it's a PICT or WDIB resource. If it's Myst ME it's most likely a PICT, and if it's
+ // original it's definitely a WDIB. However, Myst ME throws us another curve ball in
+ // that PICT resources can contain WDIB's instead of PICT's.
+ Common::SeekableReadStream *dataStream = NULL;
+
+ if (_vm->getFeatures() & GF_ME && _vm->hasResource(ID_PICT, id)) {
+ // The PICT resource exists. However, it could still contain a MystBitmap
+ // instead of a PICT image...
+ dataStream = _vm->getResource(ID_PICT, id);
+ } else {
+ // No PICT, so the WDIB must exist. Let's go grab it.
+ dataStream = _vm->getResource(ID_WDIB, id);
}
-}
-MohawkSurface *MystGraphics::decodeImage(uint16 id) {
- MohawkSurface *mhkSurface = 0;
+ bool isPict = false;
- // Myst ME uses JPEG/PICT images instead of compressed Windows Bitmaps for room images,
- // though there are a few weird ones that use that format. For further nonsense with images,
- // the Macintosh version stores images in external "picture files." We check them before
- // going to check for a PICT resource.
- if (_vm->getFeatures() & GF_ME && _vm->getPlatform() == Common::kPlatformMacintosh && _pictureFile.picFile.isOpen()) {
- for (uint32 i = 0; i < _pictureFile.pictureCount; i++)
- if (_pictureFile.entries[i].id == id) {
- if (_pictureFile.entries[i].type == 0) {
- Graphics::JPEGDecoder jpeg;
- Common::SeekableSubReadStream subStream(&_pictureFile.picFile, _pictureFile.entries[i].offset, _pictureFile.entries[i].offset + _pictureFile.entries[i].size);
-
- if (!jpeg.loadStream(subStream))
- error("Could not decode Myst ME Mac JPEG");
-
- mhkSurface = new MohawkSurface(jpeg.getSurface()->convertTo(_pixelFormat));
- } else if (_pictureFile.entries[i].type == 1) {
- Graphics::PICTDecoder pict;
- Common::SeekableSubReadStream subStream(&_pictureFile.picFile, _pictureFile.entries[i].offset, _pictureFile.entries[i].offset + _pictureFile.entries[i].size);
-
- if (!pict.loadStream(subStream))
- error("Could not decode Myst ME Mac PICT");
-
- mhkSurface = new MohawkSurface(pict.getSurface()->convertTo(_pixelFormat));
- } else
- error ("Unknown Picture File type %d", _pictureFile.entries[i].type);
- break;
- }
+ if (_vm->getFeatures() & GF_ME) {
+ // Here we detect whether it's really a PICT or a WDIB. Since a MystBitmap
+ // would be compressed, there's no way to detect for the BM without a hack.
+ // So, we search for the PICT version opcode for detection.
+ dataStream->seek(512 + 10); // 512 byte pict header
+ isPict = (dataStream->readUint32BE() == 0x001102FF);
+ dataStream->seek(0);
}
- // We're not using the external Mac files, so it's time to delve into the main Mohawk
- // archives. However, we still don't know if it's a PICT or WDIB resource. If it's Myst
- // ME it's most likely a PICT, and if it's original it's definitely a WDIB. However,
- // Myst ME throws us another curve ball in that PICT resources can contain WDIB's instead
- // of PICT's.
- if (!mhkSurface) {
- bool isPict = false;
- Common::SeekableReadStream *dataStream = NULL;
-
- if (_vm->getFeatures() & GF_ME && _vm->hasResource(ID_PICT, id)) {
- // The PICT resource exists. However, it could still contain a MystBitmap
- // instead of a PICT image...
- dataStream = _vm->getResource(ID_PICT, id);
- } else // No PICT, so the WDIB must exist. Let's go grab it.
- dataStream = _vm->getResource(ID_WDIB, id);
-
- if (_vm->getFeatures() & GF_ME) {
- // Here we detect whether it's really a PICT or a WDIB. Since a MystBitmap
- // would be compressed, there's no way to detect for the BM without a hack.
- // So, we search for the PICT version opcode for detection.
- dataStream->seek(512 + 10); // 512 byte pict header
- isPict = (dataStream->readUint32BE() == 0x001102FF);
- dataStream->seek(0);
- }
+ MohawkSurface *mhkSurface = 0;
- if (isPict) {
- Graphics::PICTDecoder pict;
+ if (isPict) {
+ Graphics::PICTDecoder pict;
- if (!pict.loadStream(*dataStream))
- error("Could not decode Myst ME PICT");
+ if (!pict.loadStream(*dataStream))
+ error("Could not decode Myst ME PICT");
- mhkSurface = new MohawkSurface(pict.getSurface()->convertTo(_pixelFormat));
- } else {
- mhkSurface = _bmpDecoder->decodeImage(dataStream);
- mhkSurface->convertToTrueColor();
- }
+ mhkSurface = new MohawkSurface(pict.getSurface()->convertTo(_pixelFormat));
+ } else {
+ mhkSurface = _bmpDecoder->decodeImage(dataStream);
+ mhkSurface->convertToTrueColor();
}
assert(mhkSurface);
diff --git a/engines/mohawk/myst_graphics.h b/engines/mohawk/myst_graphics.h
index 20fd46c5b9..de8fe521e6 100644
--- a/engines/mohawk/myst_graphics.h
+++ b/engines/mohawk/myst_graphics.h
@@ -43,7 +43,6 @@ public:
MystGraphics(MohawkEngine_Myst*);
~MystGraphics();
- void loadExternalPictureFile(uint16 stack);
void copyImageSectionToScreen(uint16 image, Common::Rect src, Common::Rect dest);
void copyImageSectionToBackBuffer(uint16 image, Common::Rect src, Common::Rect dest);
void copyImageToScreen(uint16 image, Common::Rect dest);
@@ -66,20 +65,6 @@ private:
MohawkEngine_Myst *_vm;
MystBitmap *_bmpDecoder;
- struct PictureFile {
- uint32 pictureCount;
- struct PictureEntry {
- uint32 offset;
- uint32 size;
- uint16 id;
- uint16 type;
- uint16 width;
- uint16 height;
- } *entries;
-
- Common::File picFile;
- } _pictureFile;
-
Graphics::Surface *_backBuffer;
Graphics::PixelFormat _pixelFormat;
Common::Rect _viewport;
diff --git a/engines/mohawk/myst_stacks/dni.cpp b/engines/mohawk/myst_stacks/dni.cpp
index cae165ccf0..d103105c2d 100644
--- a/engines/mohawk/myst_stacks/dni.cpp
+++ b/engines/mohawk/myst_stacks/dni.cpp
@@ -109,7 +109,7 @@ void Dni::o_handPage(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
_vm->setMainCursor(kDefaultMystCursor);
// Play movie end (atrus leaving)
- _vm->_video->setVideoBounds(atrus, Audio::Timestamp(0, 14813, 600), Audio::Timestamp(0xFFFFFFFF));
+ _vm->_video->setVideoBounds(atrus, Audio::Timestamp(0, 14813, 600), _vm->_video->getDuration(atrus));
_vm->_video->setVideoLooping(atrus, false);
_atrusLeft = true;
diff --git a/engines/mohawk/myst_stacks/intro.cpp b/engines/mohawk/myst_stacks/intro.cpp
index a5f608dbbf..545b97d956 100644
--- a/engines/mohawk/myst_stacks/intro.cpp
+++ b/engines/mohawk/myst_stacks/intro.cpp
@@ -100,12 +100,8 @@ void Intro::introMovies_run() {
switch (_introStep) {
case 0:
- // Play the Mattel (or UbiSoft) logo in the Myst ME Mac version
- if ((_vm->getFeatures() & GF_ME) && _vm->getPlatform() == Common::kPlatformMacintosh) {
- _vm->_video->playMovie(_vm->wrapMovieFilename("mattel", kIntroStack));
- _introStep = 1;
- } else
- _introStep = 2;
+ _introStep = 1;
+ _vm->_video->playMovie(_vm->wrapMovieFilename("broder", kIntroStack));
break;
case 1:
if (!_vm->_video->isVideoPlaying())
@@ -113,10 +109,7 @@ void Intro::introMovies_run() {
break;
case 2:
_introStep = 3;
- if ((_vm->getFeatures() & GF_ME) && _vm->getPlatform() == Common::kPlatformMacintosh)
- _vm->_video->playMovie(_vm->wrapMovieFilename("presto", kIntroStack));
- else
- _vm->_video->playMovie(_vm->wrapMovieFilename("broder", kIntroStack));
+ _vm->_video->playMovie(_vm->wrapMovieFilename("cyanlogo", kIntroStack));
break;
case 3:
if (!_vm->_video->isVideoPlaying())
@@ -124,21 +117,13 @@ void Intro::introMovies_run() {
break;
case 4:
_introStep = 5;
- _vm->_video->playMovie(_vm->wrapMovieFilename("cyanlogo", kIntroStack));
- break;
- case 5:
- if (!_vm->_video->isVideoPlaying())
- _introStep = 6;
- break;
- case 6:
- _introStep = 7;
if (!(_vm->getFeatures() & GF_DEMO)) // The demo doesn't have the intro video
_vm->_video->playMovie(_vm->wrapMovieFilename("intro", kIntroStack));
break;
- case 7:
+ case 5:
if (!_vm->_video->isVideoPlaying())
- _introStep = 8;
+ _introStep = 6;
break;
default:
if (_vm->getFeatures() & GF_DEMO)
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index e54d6fefa2..32613c6185 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -646,7 +646,7 @@ Common::String MohawkEngine_Riven::getName(uint16 nameResource, uint16 nameID) {
}
delete nameStream;
- delete [] stringOffsets;
+ delete[] stringOffsets;
return name;
}
diff --git a/engines/mohawk/video.cpp b/engines/mohawk/video.cpp
index 18d609c513..b1b99722d5 100644
--- a/engines/mohawk/video.cpp
+++ b/engines/mohawk/video.cpp
@@ -29,6 +29,7 @@
#include "common/textconsole.h"
#include "common/system.h"
+#include "graphics/palette.h"
#include "graphics/surface.h"
#include "video/qt_decoder.h"
@@ -43,13 +44,12 @@ void VideoEntry::clear() {
loop = false;
enabled = false;
start = Audio::Timestamp(0, 1);
- end = Audio::Timestamp(0xFFFFFFFF, 1); // Largest possible, there is an endOfVideo() check anyway
filename.clear();
id = -1;
}
bool VideoEntry::endOfVideo() {
- return !video || video->endOfVideo() || video->getTime() >= (uint)end.msecs();
+ return !video || video->endOfVideo();
}
VideoManager::VideoManager(MohawkEngine* vm) : _vm(vm) {
@@ -207,7 +207,7 @@ bool VideoManager::updateMovies() {
// Remove any videos that are over
if (_videoStreams[i].endOfVideo()) {
if (_videoStreams[i].loop) {
- _videoStreams[i]->seekToTime(_videoStreams[i].start);
+ _videoStreams[i]->seek(_videoStreams[i].start);
} else {
// Check the video time one last time before deleting it
_vm->doVideoTimer(i, true);
@@ -239,7 +239,7 @@ bool VideoManager::updateMovies() {
frame = convertedFrame;
} else if (pixelFormat.bytesPerPixel == 1 && _videoStreams[i]->hasDirtyPalette()) {
// Set the palette when running in 8bpp mode only
- _videoStreams[i]->setSystemPalette();
+ _vm->_system->getPaletteManager()->setPalette(_videoStreams[i]->getPalette(), 0, 256);
}
// Clip the width/height to make sure we stay on the screen (Myst does this a few times)
@@ -394,6 +394,8 @@ VideoHandle VideoManager::createVideoHandle(uint16 id, uint16 x, uint16 y, bool
entry.loop = loop;
entry.enabled = true;
+ entry->start();
+
// Search for any deleted videos so we can take a formerly used slot
for (uint32 i = 0; i < _videoStreams.size(); i++)
if (!_videoStreams[i].video) {
@@ -430,6 +432,7 @@ VideoHandle VideoManager::createVideoHandle(const Common::String &filename, uint
entry->loadStream(file);
entry->setVolume(volume);
+ entry->start();
// Search for any deleted videos so we can take a formerly used slot
for (uint32 i = 0; i < _videoStreams.size(); i++)
@@ -475,7 +478,7 @@ VideoHandle VideoManager::findVideoHandle(const Common::String &filename) {
return NULL_VID_HANDLE;
}
-int32 VideoManager::getCurFrame(VideoHandle handle) {
+int VideoManager::getCurFrame(VideoHandle handle) {
assert(handle != NULL_VID_HANDLE);
return _videoStreams[handle]->getCurFrame();
}
@@ -492,7 +495,7 @@ uint32 VideoManager::getTime(VideoHandle handle) {
uint32 VideoManager::getDuration(VideoHandle handle) {
assert(handle != NULL_VID_HANDLE);
- return _videoStreams[handle]->getDuration();
+ return _videoStreams[handle]->getDuration().msecs();
}
bool VideoManager::endOfVideo(VideoHandle handle) {
@@ -511,14 +514,13 @@ bool VideoManager::isVideoPlaying() {
void VideoManager::setVideoBounds(VideoHandle handle, Audio::Timestamp start, Audio::Timestamp end) {
assert(handle != NULL_VID_HANDLE);
_videoStreams[handle].start = start;
- _videoStreams[handle].end = end;
- _videoStreams[handle]->seekToTime(start);
+ _videoStreams[handle]->setEndTime(end);
+ _videoStreams[handle]->seek(start);
}
void VideoManager::drawVideoFrame(VideoHandle handle, Audio::Timestamp time) {
assert(handle != NULL_VID_HANDLE);
- _videoStreams[handle].end = Audio::Timestamp(0xffffffff, 1);
- _videoStreams[handle]->seekToTime(time);
+ _videoStreams[handle]->seek(time);
updateMovies();
delete _videoStreams[handle].video;
_videoStreams[handle].clear();
@@ -526,7 +528,7 @@ void VideoManager::drawVideoFrame(VideoHandle handle, Audio::Timestamp time) {
void VideoManager::seekToTime(VideoHandle handle, Audio::Timestamp time) {
assert(handle != NULL_VID_HANDLE);
- _videoStreams[handle]->seekToTime(time);
+ _videoStreams[handle]->seek(time);
}
void VideoManager::setVideoLooping(VideoHandle handle, bool loop) {
diff --git a/engines/mohawk/video.h b/engines/mohawk/video.h
index 98bcadfb53..6d2783936d 100644
--- a/engines/mohawk/video.h
+++ b/engines/mohawk/video.h
@@ -45,19 +45,19 @@ struct MLSTRecord {
struct VideoEntry {
// Playback variables
- Video::SeekableVideoDecoder *video;
+ Video::VideoDecoder *video;
uint16 x;
uint16 y;
bool loop;
bool enabled;
- Audio::Timestamp start, end;
+ Audio::Timestamp start;
// Identification
Common::String filename; // External video files
int id; // Internal Mohawk files
// Helper functions
- Video::SeekableVideoDecoder *operator->() const { assert(video); return video; } // TODO: Remove this eventually
+ Video::VideoDecoder *operator->() const { assert(video); return video; } // TODO: Remove this eventually
void clear();
bool endOfVideo();
};
@@ -98,7 +98,7 @@ public:
// Handle functions
VideoHandle findVideoHandle(uint16 id);
VideoHandle findVideoHandle(const Common::String &filename);
- int32 getCurFrame(VideoHandle handle);
+ int getCurFrame(VideoHandle handle);
uint32 getFrameCount(VideoHandle handle);
uint32 getTime(VideoHandle handle);
uint32 getDuration(VideoHandle videoHandle);