aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2011-04-30 14:58:11 +1000
committerPaul Gilbert2011-04-30 14:58:11 +1000
commit410367ced003c53c2df5ebc7b2eee7b63c7f453b (patch)
treed661dc719d053be4aab012800184b959efab1f32
parent67c83ffffa55a11be076fea0ea11ae28b044600e (diff)
downloadscummvm-rg350-410367ced003c53c2df5ebc7b2eee7b63c7f453b.tar.gz
scummvm-rg350-410367ced003c53c2df5ebc7b2eee7b63c7f453b.tar.bz2
scummvm-rg350-410367ced003c53c2df5ebc7b2eee7b63c7f453b.zip
TSAGE: Reintroduced the show introduction code using a ConfMan flag
-rw-r--r--engines/tsage/ringworld_scenes2.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/engines/tsage/ringworld_scenes2.cpp b/engines/tsage/ringworld_scenes2.cpp
index 3e3686e2d5..8d7121ee60 100644
--- a/engines/tsage/ringworld_scenes2.cpp
+++ b/engines/tsage/ringworld_scenes2.cpp
@@ -23,6 +23,7 @@
*
*/
+#include "common/config-manager.h"
#include "tsage/ringworld_scenes2.h"
#include "tsage/scenes.h"
#include "tsage/tsage.h"
@@ -112,20 +113,22 @@ void Scene1000::Action3::signal() {
setDelay(240);
break;
case 5: {
- // 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
- _globals->_player.enableControl();
-
- if (MessageDialog::show2(WATCH_INTRO_MSG, START_PLAY_BTN_STRING, INTRODUCTION_BTN_STRING) == 0) {
- _actionIndex = 20;
- _globals->_soundHandler.proc1(this);
- } else {
+ const char *SEEN_INTRO = "seen_intro";
+ if (!ConfMan.hasKey(SEEN_INTRO) || !ConfMan.getBool(SEEN_INTRO)) {
+ // First time being played, so show the introduction
+ ConfMan.setBool(SEEN_INTRO, true);
+ ConfMan.flushToDisk();
setDelay(1);
+ } else {
+ // Prompt user for whether to start play or watch introduction
+ _globals->_player.enableControl();
+
+ 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();