aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/tsage/ringworld_scenes2.cpp33
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: {