aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/screen.cpp
diff options
context:
space:
mode:
authorMartin Kiewitz2010-01-06 18:59:39 +0000
committerMartin Kiewitz2010-01-06 18:59:39 +0000
commitedc7fcf121bf56052858498d3168c344c00d7442 (patch)
tree4ea0519f9a717f8e371bff39da92a06f9d93f746 /engines/sci/graphics/screen.cpp
parent11d9f150106cbcc6be196902f3970badb8de70f5 (diff)
downloadscummvm-rg350-edc7fcf121bf56052858498d3168c344c00d7442.tar.gz
scummvm-rg350-edc7fcf121bf56052858498d3168c344c00d7442.tar.bz2
scummvm-rg350-edc7fcf121bf56052858498d3168c344c00d7442.zip
SCI: sync displayScreen with framebuffer after successful video playback (fixes background vanishing in mainmenu of gk1demo)
svn-id: r47089
Diffstat (limited to 'engines/sci/graphics/screen.cpp')
-rw-r--r--engines/sci/graphics/screen.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp
index fce6827d43..a78b049e5e 100644
--- a/engines/sci/graphics/screen.cpp
+++ b/engines/sci/graphics/screen.cpp
@@ -91,6 +91,13 @@ void Screen::copyFromScreen(byte *buffer) {
g_system->unlockScreen();
}
+void Screen::syncWithFramebuffer() {
+ Graphics::Surface *screen = g_system->lockScreen();
+
+ memcpy(_displayScreen, screen->pixels, _displayPixels);
+ g_system->unlockScreen();
+}
+
void Screen::copyRectToScreen(const Common::Rect &rect) {
if (!_upscaledHires) {
g_system->copyRectToScreen(_activeScreen + rect.top * _displayWidth + rect.left, _displayWidth, rect.left, rect.top, rect.width(), rect.height());