aboutsummaryrefslogtreecommitdiff
path: root/engines/access/amazon
diff options
context:
space:
mode:
Diffstat (limited to 'engines/access/amazon')
-rw-r--r--engines/access/amazon/amazon_game.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/engines/access/amazon/amazon_game.cpp b/engines/access/amazon/amazon_game.cpp
index 0ccaae85dc..ecd9922f78 100644
--- a/engines/access/amazon/amazon_game.cpp
+++ b/engines/access/amazon/amazon_game.cpp
@@ -64,10 +64,16 @@ AmazonEngine::~AmazonEngine() {
}
void AmazonEngine::playGame() {
- // Do introduction
- doIntroduction();
- if (shouldQuit())
- return;
+ // Initialise Amazon game-specific objects
+ _room = new AmazonRoom(this);
+ _scripts = new AmazonScripts(this);
+
+ if (_loadSaveSlot != -1) {
+ // Do introduction
+ doIntroduction();
+ if (shouldQuit())
+ return;
+ }
// Setup the game
setupGame();
@@ -75,12 +81,13 @@ void AmazonEngine::playGame() {
_screen->clearScreen();
_screen->setPanel(0);
_screen->forceFadeOut();
-
_events->showCursor();
- // Setup and execute the room
- _room = new AmazonRoom(this);
- _scripts = new AmazonScripts(this);
+ // If there's a pending savegame to load, load it
+ if (_loadSaveSlot != -1)
+ loadGameState(_loadSaveSlot);
+
+ // Execute the room
_room->doRoom();
}