aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2013-03-06 09:46:05 -0500
committerPaul Gilbert2013-03-06 09:46:05 -0500
commit83480c5784dd4193fa6b5dd3bb2f7a75ac67715d (patch)
tree645152d9aec7a6cc5a85b395671a3eba2517d257
parent188f7efd0584c975e9e5d2ae38752c7217083cb0 (diff)
downloadscummvm-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.cpp9
-rw-r--r--engines/hopkins/graphics.h2
-rw-r--r--engines/hopkins/hopkins.cpp3
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;
}