aboutsummaryrefslogtreecommitdiff
path: root/scumm/scumm.cpp
diff options
context:
space:
mode:
authorTravis Howell2004-07-20 11:30:15 +0000
committerTravis Howell2004-07-20 11:30:15 +0000
commit6225285a59f11df5acbe3ac1e64f1592a8a441e1 (patch)
tree41fc2c67a715617164c8c555e1f12af40d801bd9 /scumm/scumm.cpp
parent8ad464b49863c8842426a6fe839faf2ddd54d926 (diff)
downloadscummvm-rg350-6225285a59f11df5acbe3ac1e64f1592a8a441e1.tar.gz
scummvm-rg350-6225285a59f11df5acbe3ac1e64f1592a8a441e1.tar.bz2
scummvm-rg350-6225285a59f11df5acbe3ac1e64f1592a8a441e1.zip
Add support for version key in The Dig
svn-id: r14285
Diffstat (limited to 'scumm/scumm.cpp')
-rw-r--r--scumm/scumm.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index 90475c65c6..525896872d 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -372,7 +372,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
_version(gs.version),
_heversion(gs.heversion),
_features(gs.features),
- gdi(this), _pauseDialog(0), _optionsDialog(0), _mainMenuDialog(0),
+ gdi(this), _pauseDialog(0), _optionsDialog(0), _mainMenuDialog(0), _versionDialog(0),
_targetName(detector->_targetName) {
// Add default file directories.
@@ -437,6 +437,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
_pauseDialog = NULL;
_optionsDialog = NULL;
_mainMenuDialog = NULL;
+ _versionDialog = NULL;
_fastMode = 0;
_actors = NULL;
_inventory = NULL;
@@ -946,6 +947,7 @@ ScummEngine::~ScummEngine() {
delete _pauseDialog;
delete _optionsDialog;
delete _mainMenuDialog;
+ delete _versionDialog;
delete _sound;
free(_languageBuffer);
@@ -2009,6 +2011,13 @@ void ScummEngine::processKbd(bool smushMode) {
return;
}
+ // COMI version string is hard coded
+ // FT version strings are partly hard coded too
+ if (_gameId == GID_DIG && _lastKeyHit == VAR(VAR_VERSION)) {
+ versionDialog();
+ return;
+ }
+
if ((_version <= 2) || (_features & GF_FMTOWNS))
saveloadkey = 5; // F5
else if ((_version <= 3) || (_gameId == GID_SAMNMAX) || (_gameId == GID_CMI))
@@ -2694,10 +2703,16 @@ int ScummEngine::runDialog(Dialog &dialog) {
void ScummEngine::pauseDialog() {
if (!_pauseDialog)
- _pauseDialog = new PauseDialog(this);
+ _pauseDialog = new PauseDialog(this, 10);
runDialog(*_pauseDialog);
}
+void ScummEngine::versionDialog() {
+ if (!_versionDialog)
+ _versionDialog = new PauseDialog(this, 11);
+ runDialog(*_versionDialog);
+}
+
void ScummEngine::mainMenuDialog() {
if (!_mainMenuDialog)
_mainMenuDialog = new MainMenuDialog(this);