From a3703506919a67173b3447115cdc85c0f1711ed6 Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Mon, 13 Aug 2012 03:54:34 +0200 Subject: WINTERMUTE: Readd support for save/load-images. --- engines/wintermute/base/gfx/base_renderer.cpp | 6 +++++- engines/wintermute/base/gfx/base_renderer.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'engines/wintermute/base') diff --git a/engines/wintermute/base/gfx/base_renderer.cpp b/engines/wintermute/base/gfx/base_renderer.cpp index 47a5462452..9e271fc32d 100644 --- a/engines/wintermute/base/gfx/base_renderer.cpp +++ b/engines/wintermute/base/gfx/base_renderer.cpp @@ -58,6 +58,7 @@ BaseRenderer::BaseRenderer(BaseGame *inGame) : BaseClass(inGame) { _saveImageName = ""; _saveLoadImage = NULL; _loadInProgress = false; + _hasDrawnSaveLoadImage = false; _saveImageX = _saveImageY = 0; _loadImageX = _loadImageY = 0; @@ -127,6 +128,7 @@ void BaseRenderer::setSaveImage(const char *filename, int x, int y) { void BaseRenderer::initSaveLoad(bool isSaving, bool quickSave) { _indicatorDisplay = true; _indicatorProgress = 0; + _hasDrawnSaveLoadImage = false; if (isSaving && !quickSave) { delete _saveLoadImage; @@ -346,7 +348,7 @@ bool BaseRenderer::displayIndicator() { if (!_indicatorDisplay || !_indicatorProgress) { return STATUS_OK; } - if (_saveLoadImage) { + if (_saveLoadImage && !_hasDrawnSaveLoadImage) { Rect32 rc; BasePlatform::setRect(&rc, 0, 0, _saveLoadImage->getWidth(), _saveLoadImage->getHeight()); if (_loadInProgress) { @@ -354,6 +356,8 @@ bool BaseRenderer::displayIndicator() { } else { _saveLoadImage->displayTrans(_saveImageX, _saveImageY, rc); } + flip(); + _hasDrawnSaveLoadImage = true; } if ((!_indicatorDisplay && _indicatorWidth <= 0) || _indicatorHeight <= 0) { diff --git a/engines/wintermute/base/gfx/base_renderer.h b/engines/wintermute/base/gfx/base_renderer.h index aa8812254d..1b284b044d 100644 --- a/engines/wintermute/base/gfx/base_renderer.h +++ b/engines/wintermute/base/gfx/base_renderer.h @@ -192,6 +192,7 @@ protected: int _loadImageX; int _loadImageY; BaseSurface *_saveLoadImage; + bool _hasDrawnSaveLoadImage; int _indicatorWidthDrawn; uint32 _indicatorColor; -- cgit v1.2.3