From 9d8eb97840072ee2c55dabdaf07c05b4db086eea Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 2 Mar 2013 20:57:42 -0500 Subject: [PATCH] HOPKINS: Hooked up display code for refresh rects --- engines/hopkins/graphics.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp index 75280c48d77..c7b69043353 100644 --- a/engines/hopkins/graphics.cpp +++ b/engines/hopkins/graphics.cpp @@ -162,6 +162,8 @@ void GraphicsManager::unlockScreen() { void GraphicsManager::clearScreen() { assert(_videoPtr); Common::fill(_videoPtr, _videoPtr + WinScan * _screenHeight, 0); + if (!_isPhysicalPtr) + addRefreshRect(Common::Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)); } /** @@ -1179,15 +1181,14 @@ void GraphicsManager::displayDirtyRects() { } void GraphicsManager::displayRefreshRects() { - if (_refreshRects.size() == 0) - return; -/* + // Loop through copying over any specified rects to the screen for (uint idx = 0; idx < _refreshRects.size(); ++idx) { const Common::Rect &r = _refreshRects[idx]; - g_system->copyRectToScreen(_screenBuffer, WinScan,) + byte *srcP = _screenBuffer + WinScan * r.top + (r.left * 2); + g_system->copyRectToScreen(srcP, WinScan, r.left, r.top, r.width(), r.height()); } -*/ + resetRefreshRects(); }