From fcbf84455ea3ced2335fbcb4b6b44f99d4232f28 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 13 Sep 2015 16:46:22 -0400 Subject: SHERLOCK: 3DO: Fix refreshing scene after showing portrait video --- engines/sherlock/scalpel/scalpel.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'engines') diff --git a/engines/sherlock/scalpel/scalpel.cpp b/engines/sherlock/scalpel/scalpel.cpp index 9019dc0bcd..ebf4cdea2a 100644 --- a/engines/sherlock/scalpel/scalpel.cpp +++ b/engines/sherlock/scalpel/scalpel.cpp @@ -1264,6 +1264,7 @@ void ScalpelEngine::showScummVMRestoreDialog() { } bool ScalpelEngine::play3doMovie(const Common::String &filename, const Common::Point &pos, bool halfSize) { + Scalpel3DOScreen &screen = *(Scalpel3DOScreen *)_screen; Scalpel3DOMovieDecoder *videoDecoder = new Scalpel3DOMovieDecoder(); Graphics::Surface tempSurface; @@ -1277,8 +1278,6 @@ bool ScalpelEngine::play3doMovie(const Common::String &filename, const Common::P return false; } - _screen->_backBuffer1.blitFrom(*_screen); // save into backbuffer 1 - if (halfSize) { // only for portrait videos, not for EA intro logo and such if ((framePos.x >= 8) && (framePos.y >= 8)) { // safety check @@ -1413,7 +1412,10 @@ bool ScalpelEngine::play3doMovie(const Common::String &filename, const Common::P delete frameImage; } - _screen->blitFrom(_screen->_backBuffer1); + // Restore scene + screen._backBuffer1.blitFrom(screen._backBuffer2); + _scene->updateBackground(); + screen.slamArea(0, 0, screen.w(), CONTROLS_Y); return !skipVideo; } -- cgit v1.2.3