diff options
Diffstat (limited to 'engines/sci/engine/kvideo.cpp')
-rw-r--r-- | engines/sci/engine/kvideo.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/sci/engine/kvideo.cpp b/engines/sci/engine/kvideo.cpp index 3ad2d95f58..ac6cfb6835 100644 --- a/engines/sci/engine/kvideo.cpp +++ b/engines/sci/engine/kvideo.cpp @@ -34,7 +34,7 @@ #include "graphics/video/qt_decoder.h" #include "sci/video/seq_decoder.h" #ifdef ENABLE_SCI32 -#include "sci/video/vmd_decoder.h" +#include "graphics/video/coktel_decoder.h" #endif namespace Sci { @@ -60,6 +60,9 @@ void playVideo(Graphics::VideoDecoder *videoDecoder) { uint16 y = (screenHeight - height) / 2; bool skipVideo = false; + if (videoDecoder->hasDirtyPalette()) + videoDecoder->setSystemPalette(); + while (!g_engine->shouldQuit() && !videoDecoder->endOfVideo() && !skipVideo) { if (videoDecoder->needsUpdate()) { Graphics::Surface *frame = videoDecoder->decodeNextFrame(); @@ -203,7 +206,7 @@ reg_t kPlayVMD(EngineState *s, int argc, reg_t *argv) { if (argv[2] != NULL_REG) warning("kPlayVMD: third parameter isn't 0 (it's %04x:%04x - %s)", PRINT_REG(argv[2]), s->_segMan->getObjectName(argv[2])); - videoDecoder = new VMDDecoder(g_system->getMixer()); + videoDecoder = new Graphics::VMDDecoder(g_system->getMixer()); if (!videoDecoder->loadFile(fileName)) { warning("Could not open VMD %s", fileName.c_str()); |