aboutsummaryrefslogtreecommitdiff
path: root/engines/cryomni3d/fixed_image.cpp
diff options
context:
space:
mode:
authorLe Philousophe2019-06-08 12:22:11 +0200
committerLe Philousophe2019-06-08 12:43:22 +0200
commit3915be8ff1cbb0a5aa9a63cb443829578d97e745 (patch)
tree890e8e152b28332a7b115979eb428a260dad0050 /engines/cryomni3d/fixed_image.cpp
parent70c7133e4b23adff5d630d4d2a37ac81ef070566 (diff)
downloadscummvm-rg350-3915be8ff1cbb0a5aa9a63cb443829578d97e745.tar.gz
scummvm-rg350-3915be8ff1cbb0a5aa9a63cb443829578d97e745.tar.bz2
scummvm-rg350-3915be8ff1cbb0a5aa9a63cb443829578d97e745.zip
CRYOMNI3D: Implement load/save in-game with GMM
Diffstat (limited to 'engines/cryomni3d/fixed_image.cpp')
-rw-r--r--engines/cryomni3d/fixed_image.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/cryomni3d/fixed_image.cpp b/engines/cryomni3d/fixed_image.cpp
index 3e8428ab44..16a35f8f1a 100644
--- a/engines/cryomni3d/fixed_image.cpp
+++ b/engines/cryomni3d/fixed_image.cpp
@@ -188,10 +188,15 @@ void ZonFixedImage::manage() {
_usedObject = nullptr;
_key.reset();
+ // As the game lets load/save from main menu displayed by cliking from the toolbar,
+ // it's safe to enable GMM Load/Save there
+ _engine.setCanLoadSave(true);
+
// Force poll events even when we must refresh the cursor
if (!_engine.pollEvents() && !_refreshCursor) {
g_system->updateScreen();
g_system->delayMillis(10);
+ _engine.setCanLoadSave(false);
return;
}
_refreshCursor = false;
@@ -202,9 +207,11 @@ void ZonFixedImage::manage() {
if (_key == Common::KEYCODE_ESCAPE) {
_exit = true;
+ _engine.setCanLoadSave(false);
return;
} else if (_engine.shouldAbort()) {
_exit = true;
+ _engine.setCanLoadSave(false);
return;
}
@@ -221,6 +228,7 @@ void ZonFixedImage::manage() {
}
// Return without any event to redo the loop and force refresh
_refreshCursor = true;
+ _engine.setCanLoadSave(false);
return;
}
@@ -268,6 +276,8 @@ void ZonFixedImage::manage() {
g_system->updateScreen();
g_system->delayMillis(10);
+
+ _engine.setCanLoadSave(false);
}
void ZonFixedImage::handleMouseZones(const Common::Array<Zone>::const_iterator &currentZone) {