diff options
author | Einar Johan Trøan Sømåen | 2012-08-13 03:54:34 +0200 |
---|---|---|
committer | Einar Johan Trøan Sømåen | 2012-08-13 03:54:34 +0200 |
commit | a3703506919a67173b3447115cdc85c0f1711ed6 (patch) | |
tree | 51eb819c6f81bad34e1cdf740526c1d332916e6b /engines/wintermute/base | |
parent | fed19cb66ae5b56dd7dc81b90edd5a0d15986678 (diff) | |
download | scummvm-rg350-a3703506919a67173b3447115cdc85c0f1711ed6.tar.gz scummvm-rg350-a3703506919a67173b3447115cdc85c0f1711ed6.tar.bz2 scummvm-rg350-a3703506919a67173b3447115cdc85c0f1711ed6.zip |
WINTERMUTE: Readd support for save/load-images.
Diffstat (limited to 'engines/wintermute/base')
-rw-r--r-- | engines/wintermute/base/gfx/base_renderer.cpp | 6 | ||||
-rw-r--r-- | engines/wintermute/base/gfx/base_renderer.h | 1 |
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;
|