diff options
Diffstat (limited to 'engines/tsage')
-rw-r--r-- | engines/tsage/ringworld_scenes2.cpp | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/engines/tsage/ringworld_scenes2.cpp b/engines/tsage/ringworld_scenes2.cpp index 9d941d3242..3e3686e2d5 100644 --- a/engines/tsage/ringworld_scenes2.cpp +++ b/engines/tsage/ringworld_scenes2.cpp @@ -112,28 +112,23 @@ void Scene1000::Action3::signal() { setDelay(240); break; case 5: { - // Intro.txt file presence is used to allow user option to skip the introduction - _globals->_player.enableControl(); - Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading("Intro.txt"); - if (!in) { - // File not present, so create it - Common::OutSaveFile *out = g_system->getSavefileManager()->openForSaving("Intro.txt"); - out->finalize(); - delete out; - setDelay(1); - } else { - delete in; + // WORKAROUND: At this point, the original used the presence of a file called 'Intro.txt' + // to determine whether the introduction has been played the first time the game was started. + // In ScummVM, we don't like creating any files that aren't explicitly savegames, so the + // game startup will always show the Start Play / Introduction buttons, even when the game + // is played for the first time - // Prompt user for whether to start play or watch introduction - if (MessageDialog::show2(WATCH_INTRO_MSG, START_PLAY_BTN_STRING, INTRODUCTION_BTN_STRING) == 0) { - _actionIndex = 20; - _globals->_soundHandler.proc1(this); - } else { - setDelay(1); - } + // Prompt user for whether to start play or watch introduction + _globals->_player.enableControl(); - _globals->_player.disableControl(); + if (MessageDialog::show2(WATCH_INTRO_MSG, START_PLAY_BTN_STRING, INTRODUCTION_BTN_STRING) == 0) { + _actionIndex = 20; + _globals->_soundHandler.proc1(this); + } else { + setDelay(1); } + + _globals->_player.disableControl(); break; } case 6: { |