aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEinar Johan Trøan Sømåen2012-08-13 03:54:34 +0200
committerEinar Johan Trøan Sømåen2012-08-13 03:54:34 +0200
commita3703506919a67173b3447115cdc85c0f1711ed6 (patch)
tree51eb819c6f81bad34e1cdf740526c1d332916e6b /engines
parentfed19cb66ae5b56dd7dc81b90edd5a0d15986678 (diff)
downloadscummvm-rg350-a3703506919a67173b3447115cdc85c0f1711ed6.tar.gz
scummvm-rg350-a3703506919a67173b3447115cdc85c0f1711ed6.tar.bz2
scummvm-rg350-a3703506919a67173b3447115cdc85c0f1711ed6.zip
WINTERMUTE: Readd support for save/load-images.
Diffstat (limited to 'engines')
-rw-r--r--engines/wintermute/base/gfx/base_renderer.cpp6
-rw-r--r--engines/wintermute/base/gfx/base_renderer.h1
2 files changed, 6 insertions, 1 deletions
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;