aboutsummaryrefslogtreecommitdiff
path: root/saga
diff options
context:
space:
mode:
Diffstat (limited to 'saga')
-rw-r--r--saga/resnames.h1
-rw-r--r--saga/saga.cpp8
2 files changed, 6 insertions, 3 deletions
diff --git a/saga/resnames.h b/saga/resnames.h
index affb9d7ca4..809ff2917d 100644
--- a/saga/resnames.h
+++ b/saga/resnames.h
@@ -42,6 +42,7 @@ namespace Saga {
//obj names
#define ITE_OBJ_MAP 14
+#define ITE_MAGIC_HAT 0
//actor names
#define ITE_ACTOR_PUZZLE 176
diff --git a/saga/saga.cpp b/saga/saga.cpp
index 8c85f22830..eae240377b 100644
--- a/saga/saga.cpp
+++ b/saga/saga.cpp
@@ -298,9 +298,11 @@ int SagaEngine::go() {
if (ConfMan.hasKey("start_scene")) {
_scene->changeScene(ConfMan.getInt("start_scene"), 0, kTransitionNoFade);
- }
- else
- if (ConfMan.hasKey("save_slot")) {
+ } else if (ConfMan.hasKey("boot_param")) {
+ if (getGameType() == GType_ITE)
+ _interface->addToInventory(_actor->objIndexToId(ITE_MAGIC_HAT));
+ _scene->changeScene(ConfMan.getInt("boot_param"), 0, kTransitionNoFade);
+ } else if (ConfMan.hasKey("save_slot")) {
// First scene sets up palette
_scene->changeScene(getStartSceneNumber(), 0, kTransitionNoFade);
_events->handleEvents(0); // Process immediate events