aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r--engines/scumm/scumm.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 9a093891d2..d3cc218cd3 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1256,6 +1256,16 @@ void ScummEngine::setupScumm() {
// Load game from specified slot, if any
if (ConfMan.hasKey("save_slot")) {
requestLoad(ConfMan.getInt("save_slot"));
+ } else if (!ConfMan.hasKey("boot_param") && _game.id == GID_LOOM && _game.platform == Common::kPlatformFMTowns) {
+ // In case we run the Loom FM-Towns version and have no boot parameter
+ // nor start save game supplied we will show our own custom difficulty
+ // selection dialog, since the original does not have any.
+ LoomTownsDifficultyDialog difficultyDialog;
+ runDialog(difficultyDialog);
+
+ int difficulty = difficultyDialog.getSelectedDifficulty();
+ if (difficulty != -1)
+ _bootParam = difficulty;
}
_res->allocResTypeData(rtBuffer, 0, 10, kDynamicResTypeMode);