aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r--engines/scumm/scumm.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index fc95060b6f..dcbe4e6c0a 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -108,7 +108,7 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
_language(dr.language),
_debugger(0),
_currentScript(0xFF), // Let debug() work on init stage
- _messageDialog(0), _pauseDialog(0), _versionDialog(0) {
+ _messageDialog(0), _pauseDialog(0), _scummMenuDialog(0), _versionDialog(0) {
if (_game.platform == Common::kPlatformNES) {
_gdi = new GdiNES(this);
@@ -140,6 +140,7 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
_fileHandle = 0;
+
// Init all vars
_v0ObjectIndex = false;
_v0ObjectInInventory = false;
@@ -151,6 +152,7 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
_sound = NULL;
memset(&vm, 0, sizeof(vm));
_pauseDialog = NULL;
+ _scummMenuDialog = NULL;
_versionDialog = NULL;
_fastMode = 0;
_actors = NULL;
@@ -550,12 +552,6 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
for (int i = 0; i < ARRAYSIZE(debugChannels); ++i)
DebugMan.addDebugChannel(debugChannels[i].flag, debugChannels[i].channel, debugChannels[i].desc);
-#ifndef DISABLE_HELP
- // Create custom GMM dialog providing a help subdialog
- assert(!_mainMenuDialog);
- _mainMenuDialog = new ScummMenuDialog(this);
-#endif
-
g_eventRec.registerRandomSource(_rnd, "scumm");
}
@@ -576,6 +572,7 @@ ScummEngine::~ScummEngine() {
delete _charset;
delete _messageDialog;
delete _pauseDialog;
+ delete _scummMenuDialog;
delete _versionDialog;
delete _fileHandle;
@@ -2447,6 +2444,13 @@ void ScummEngine::versionDialog() {
runDialog(*_versionDialog);
}
+void ScummEngine::scummMenuDialog() {
+ if (!_scummMenuDialog)
+ _scummMenuDialog = new ScummMenuDialog(this);
+ runDialog(*_scummMenuDialog);
+ syncSoundSettings();
+}
+
void ScummEngine::confirmExitDialog() {
ConfirmDialog d(this, 6);