aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/parallaction/gui_ns.cpp5
-rw-r--r--engines/parallaction/parallaction_ns.cpp11
2 files changed, 10 insertions, 6 deletions
diff --git a/engines/parallaction/gui_ns.cpp b/engines/parallaction/gui_ns.cpp
index 942f2fd553..e6f86a1a0a 100644
--- a/engines/parallaction/gui_ns.cpp
+++ b/engines/parallaction/gui_ns.cpp
@@ -23,6 +23,7 @@
*
*/
+#include "common/config-manager.h"
#include "common/system.h"
#include "common/hashmap.h"
@@ -116,7 +117,9 @@ class ChooseLanguageInputState_NS : public MenuInputState {
public:
ChooseLanguageInputState_NS(Parallaction_ns *vm, MenuInputHelper *helper) : MenuInputState("chooselanguage", helper), _vm(vm) {
_allowChoice = false;
- _nextState = "selectgame";
+
+ if (ConfMan.getInt("save_slot") < 0 || ConfMan.getInt("save_slot") > 99)
+ _nextState = "selectgame";
if (_vm->getPlatform() == Common::kPlatformAmiga) {
if (!(_vm->getFeatures() & GF_LANG_MULT)) {
diff --git a/engines/parallaction/parallaction_ns.cpp b/engines/parallaction/parallaction_ns.cpp
index 076df92085..f3c2656001 100644
--- a/engines/parallaction/parallaction_ns.cpp
+++ b/engines/parallaction/parallaction_ns.cpp
@@ -29,6 +29,7 @@
#include "parallaction/parallaction.h"
#include "parallaction/gui.h"
+#include "parallaction/gui_ns.cpp"
#include "parallaction/input.h"
#include "parallaction/sound.h"
@@ -220,7 +221,7 @@ int Parallaction_ns::go() {
renameOldSavefiles();
_globalTable = _disk->loadTable("global");
-/*
+
// If requested, load a savegame instead of showing the intro
if (ConfMan.hasKey("save_slot")) {
_gameToLoad = ConfMan.getInt("save_slot");
@@ -234,13 +235,13 @@ int Parallaction_ns::go() {
_menuHelper = new MenuInputHelper;
assert(_menuHelper);
-
new ChooseLanguageInputState_NS(this, _menuHelper);
+ _menuHelper->setState("chooselanguage");
+
+ _input->_inputMode = Input::kInputModeMenu;
doLoadGame(_gameToLoad);
}
-*/
- startGui();
-
+
while (!quit()) {
runGame();
}