aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/scalpel/3do/movie_decoder.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2015-06-08 21:01:07 +0200
committerMartin Kiewitz2015-06-08 21:01:07 +0200
commit4ed4dfadcaeef4db12be8fc0c3f70d7362a438bf (patch)
tree5e7b355b98885ace26e3c6467abda9d1902f6069 /engines/sherlock/scalpel/3do/movie_decoder.cpp
parent6260c33666a09db8ca4bb72419dc0560d584745f (diff)
downloadscummvm-rg350-4ed4dfadcaeef4db12be8fc0c3f70d7362a438bf.tar.gz
scummvm-rg350-4ed4dfadcaeef4db12be8fc0c3f70d7362a438bf.tar.bz2
scummvm-rg350-4ed4dfadcaeef4db12be8fc0c3f70d7362a438bf.zip
SHERLOCK: 3DO: play EA intro movie
Diffstat (limited to 'engines/sherlock/scalpel/3do/movie_decoder.cpp')
-rw-r--r--engines/sherlock/scalpel/3do/movie_decoder.cpp22
1 files changed, 5 insertions, 17 deletions
diff --git a/engines/sherlock/scalpel/3do/movie_decoder.cpp b/engines/sherlock/scalpel/3do/movie_decoder.cpp
index 9280bbab13..d1471c59dd 100644
--- a/engines/sherlock/scalpel/3do/movie_decoder.cpp
+++ b/engines/sherlock/scalpel/3do/movie_decoder.cpp
@@ -464,16 +464,12 @@ Audio::AudioStream *Scalpel3DOMovieDecoder::StreamAudioTrack::getAudioStream() c
// Test-code
// Code for showing a movie. Only meant for testing/debug purposes
-void Scalpel3DOMoviePlay(const char *filename) {
- // HACK
- initGraphics(320, 240, false, NULL);
-
+bool Scalpel3DOMoviePlay(const char *filename, Common::Point pos) {
Scalpel3DOMovieDecoder *videoDecoder = new Scalpel3DOMovieDecoder();
if (!videoDecoder->loadFile(filename)) {
- // HACK
- initGraphics(320, 200, false);
- return;
+ warning("Scalpel3DOMoviePlay: could not open '%s'", filename);
+ return false;
}
bool skipVideo = false;
@@ -489,13 +485,7 @@ void Scalpel3DOMoviePlay(const char *filename) {
const Graphics::Surface *frame = videoDecoder->decodeNextFrame();
if (frame) {
- g_system->copyRectToScreen(frame->getPixels(), frame->pitch, 0, 0, width, height);
-
- if (videoDecoder->hasDirtyPalette()) {
- const byte *palette = videoDecoder->getPalette();
- g_system->getPaletteManager()->setPalette(palette, 0, 255);
- }
-
+ g_system->copyRectToScreen(frame->getPixels(), frame->pitch, pos.x, pos.y, width, height);
g_system->updateScreen();
}
}
@@ -508,9 +498,7 @@ void Scalpel3DOMoviePlay(const char *filename) {
g_system->delayMillis(10);
}
-
- // HACK: switch back to 8bpp
- initGraphics(320, 200, false);
+ return !skipVideo;
}