From 7da077b93aff92f25eb41009891ac806de263ef4 Mon Sep 17 00:00:00 2001 From: Simei Yin Date: Tue, 1 Aug 2017 09:29:34 +0200 Subject: SLUDGE: Clear screen before every display --- engines/sludge/graphics.cpp | 5 +++++ engines/sludge/graphics.h | 1 + engines/sludge/sludger.cpp | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/engines/sludge/graphics.cpp b/engines/sludge/graphics.cpp index d0333bac8f..eecf52231f 100644 --- a/engines/sludge/graphics.cpp +++ b/engines/sludge/graphics.cpp @@ -144,6 +144,11 @@ void GraphicsManager::display() { g_system->updateScreen(); } +void GraphicsManager::clear() { + _renderSurface.fillRect(Common::Rect(0, 0, _backdropSurface.w, _backdropSurface.h), + _renderSurface.format.RGBToColor(0, 0, 0)); +} + bool GraphicsManager::loadParallax(uint16 v, uint16 fracX, uint16 fracY) { if (!_parallaxStuff) _parallaxStuff = new Parallax; diff --git a/engines/sludge/graphics.h b/engines/sludge/graphics.h index ecc2bbc21c..bb84b0b1fb 100644 --- a/engines/sludge/graphics.h +++ b/engines/sludge/graphics.h @@ -61,6 +61,7 @@ public: void setWindowSize(uint winWidth, uint winHeight) { _winWidth = winWidth; _winHeight = winHeight; } bool init(); void display(); + void clear(); // Parallax bool loadParallax(uint16 v, uint16 fracX, uint16 fracY); diff --git a/engines/sludge/sludger.cpp b/engines/sludge/sludger.cpp index 880c808a96..418ec31166 100644 --- a/engines/sludge/sludger.cpp +++ b/engines/sludge/sludger.cpp @@ -267,7 +267,8 @@ bool initSludge(const Common::String &filename) { } void displayBase() { - g_sludge->_gfxMan->drawBackDrop();// Draw the room + g_sludge->_gfxMan->clear(); // Clear screen + g_sludge->_gfxMan->drawBackDrop();// Draw Backdrop g_sludge->_gfxMan->drawZBuffer(g_sludge->_gfxMan->getCamX(), g_sludge->_gfxMan->getCamY(), false); drawPeople();// Then add any moving characters... g_sludge->_gfxMan->displaySpriteLayers(); -- cgit v1.2.3