diff options
author | Paul Gilbert | 2013-03-06 09:46:05 -0500 |
---|---|---|
committer | Paul Gilbert | 2013-03-06 09:46:05 -0500 |
commit | 83480c5784dd4193fa6b5dd3bb2f7a75ac67715d (patch) | |
tree | 645152d9aec7a6cc5a85b395671a3eba2517d257 | |
parent | 188f7efd0584c975e9e5d2ae38752c7217083cb0 (diff) | |
download | scummvm-rg350-83480c5784dd4193fa6b5dd3bb2f7a75ac67715d.tar.gz scummvm-rg350-83480c5784dd4193fa6b5dd3bb2f7a75ac67715d.tar.bz2 scummvm-rg350-83480c5784dd4193fa6b5dd3bb2f7a75ac67715d.zip |
HOPKINS: Fix transition between initial version display to intro animation
-rw-r--r-- | engines/hopkins/graphics.cpp | 9 | ||||
-rw-r--r-- | engines/hopkins/graphics.h | 2 | ||||
-rw-r--r-- | engines/hopkins/hopkins.cpp | 3 |
3 files changed, 13 insertions, 1 deletions
diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp index d4e1a25e9e..f3116930a0 100644 --- a/engines/hopkins/graphics.cpp +++ b/engines/hopkins/graphics.cpp @@ -150,11 +150,18 @@ void GraphicsManager::unlockScreen() { */ void GraphicsManager::clearScreen() { assert(_videoPtr); - Common::fill(_videoPtr, _videoPtr + WinScan * _screenHeight, 0); + Common::fill(_screenBuffer, _screenBuffer + WinScan * _screenHeight, 0); addRefreshRect(Common::Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)); } +void GraphicsManager::clearVesaScreen() { + warning("clearVesa"); + Common::fill(_vesaScreen, _vesaScreen + WinScan * _screenHeight, 0); + Common::fill(_vesaBuffer, _vesaBuffer + WinScan * _screenHeight, 0); + addDirtyRect(Common::Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)); +} + /** * Load Image */ diff --git a/engines/hopkins/graphics.h b/engines/hopkins/graphics.h index bbc3b87c0a..33edc6f86c 100644 --- a/engines/hopkins/graphics.h +++ b/engines/hopkins/graphics.h @@ -124,9 +124,11 @@ public: void unlockScreen(); void clearPalette(); void clearScreen(); + void clearVesaScreen(); void resetDirtyRects(); void resetRefreshRects(); void addDirtyRect(int x1, int y1, int x2, int y2); + void addDirtyRect(const Common::Rect &r) { addDirtyRect(r.left, r.top, r.right, r.bottom); } void addRefreshRect(const Common::Rect &r); void displayDirtyRects(); void displayRefreshRects(); diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp index 5e55c281cc..ff82d4130d 100644 --- a/engines/hopkins/hopkins.cpp +++ b/engines/hopkins/hopkins.cpp @@ -757,6 +757,7 @@ bool HopkinsEngine::runFull() { _graphicsManager.fadeInLong(); _eventsManager.delay(500); _graphicsManager.fadeOutLong(); + _graphicsManager.clearVesaScreen(); } else { // This piece of code, though named "display_version" in the original, // displays a "loading please wait" screen. @@ -764,6 +765,8 @@ bool HopkinsEngine::runFull() { _graphicsManager.fadeInLong(); _eventsManager.delay(500); _graphicsManager.fadeOutLong(); + _graphicsManager.clearVesaScreen(); + _globals.iRegul = 1; } |