aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorBendegúz Nagy2016-08-18 19:51:36 +0200
committerBendegúz Nagy2016-08-26 23:02:22 +0200
commitc01293162cfd47e553fc8aad864abec56a3b463e (patch)
tree56aef1efa62133d88ff7d5fb4701aed4b1aaae08 /engines
parentfb14fea01419f43ac56c11d443f98216fc3bd2ae (diff)
downloadscummvm-rg350-c01293162cfd47e553fc8aad864abec56a3b463e.tar.gz
scummvm-rg350-c01293162cfd47e553fc8aad864abec56a3b463e.tar.bz2
scummvm-rg350-c01293162cfd47e553fc8aad864abec56a3b463e.zip
DM: Make resume button load up ScummVM's global load dialog
Diffstat (limited to 'engines')
-rw-r--r--engines/dm/dm.cpp12
-rw-r--r--engines/dm/loadsave.cpp3
2 files changed, 13 insertions, 2 deletions
diff --git a/engines/dm/dm.cpp b/engines/dm/dm.cpp
index 08bfb5869d..dc0655bf8f 100644
--- a/engines/dm/dm.cpp
+++ b/engines/dm/dm.cpp
@@ -60,6 +60,8 @@
#include <advancedDetector.h>
#include "sounds.h"
#include <graphics/surface.h>
+#include <common/translation.h>
+#include <gui/saveload.h>
namespace DM {
void warning(bool repeat, const char* s, ...) {
@@ -178,7 +180,7 @@ DMEngine::DMEngine(OSystem *syst, const ADGameDescription *desc) : Engine(syst),
_g527_platform = 0;
_g526_dungeonId = 0;
- _g298_newGame = false;
+ _g298_newGame = 0;
_g523_restartGameRequest = false;
_g321_stopWaitingForPlayerInput = true;
_g301_gameTimeTicking = false;
@@ -269,13 +271,19 @@ void DMEngine::f463_initializeGame() {
int16 saveSlot = 1;
do {
+ // if loading from the launcher
if (ConfMan.hasKey("save_slot")) {
saveSlot = ConfMan.getInt("save_slot");
- } else {
+ } else { // else show the entrance
f441_processEntrance();
if (_engineShouldQuit)
return;
}
+ if (_g298_newGame == k0_modeLoadSavedGame) { // if resume was clicked, bring up ScummVM load screen
+ GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Restore game:"), _("Restore"), false);
+ saveSlot = dialog->runModalWithCurrentTarget();
+ delete dialog;
+ }
} while (f435_loadgame(saveSlot) != k1_LoadgameSuccess);
_displayMan->f466_loadIntoBitmap(k11_MenuSpellAreLinesIndice, _menuMan->_gK73_bitmapSpellAreaLines); // @ F0396_MENUS_LoadSpellAreaLinesBitmap
diff --git a/engines/dm/loadsave.cpp b/engines/dm/loadsave.cpp
index 3bef55fcc9..c5082d273c 100644
--- a/engines/dm/loadsave.cpp
+++ b/engines/dm/loadsave.cpp
@@ -45,6 +45,9 @@ namespace DM {
#define C10_DUNGEON_DM 10
LoadgameResponse DMEngine::f435_loadgame(int16 slot) {
+ if (slot == -1)
+ return kM1_LoadgameFailure;
+
bool L1366_B_FadePalette = true;
Common::String fileName;
Common::SaveFileManager *saveFileManager = nullptr;