diff options
-rw-r--r-- | engines/voyeur/events.cpp | 7 | ||||
-rw-r--r-- | engines/voyeur/graphics.cpp | 4 | ||||
-rw-r--r-- | engines/voyeur/voyeur.cpp | 1 |
3 files changed, 10 insertions, 2 deletions
diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index 3202cb3b1f..7a9bd5aa55 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -81,6 +81,11 @@ void EventsManager::checkForNextFrameCounter() { ++_gameCounter; _priorFrameTime = milli; + // Display the frame + g_system->copyRectToScreen((byte *)_vm->_graphicsManager._screenSurface.pixels, + SCREEN_WIDTH, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); + g_system->updateScreen(); + // Signal the ScummVM debugger _vm->_debugger.onFrame(); } @@ -91,6 +96,8 @@ void EventsManager::delay(int totalMilli) { while (!_vm->shouldQuit() && g_system->getMillis() < delayEnd) { g_system->delayMillis(10); + + pollEvents(); } } diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index da077941ff..fb32e75b91 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -37,7 +37,7 @@ GraphicsManager::GraphicsManager() { _sImageShift = 3; _palFlag = false; _MCGAMode = false; - _saveBack = false; + _saveBack = true; _clipPtr = NULL; _viewPortListPtr = NULL; _vPort = NULL; @@ -396,7 +396,7 @@ void GraphicsManager::restoreBack(Common::Array<Common::Rect> &rectList, int rec if (rectListCount == -1) { sDrawPic(srcPic, destPic, Common::Point()); } else { - for (int i = rectListCount; i >= 0; --i) { + for (int i = rectListCount - 1; i >= 0; --i) { _clipPtr = &rectList[i]; sDrawPic(srcPic, destPic, Common::Point()); } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index ea3e3ceb9a..79fb2fb0ca 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -151,6 +151,7 @@ void VoyeurEngine::doHeadTitle() { _eventsManager.sWaitFlip(); // TODO: + _eventsManager.delay(1000); } } |