From 6225285a59f11df5acbe3ac1e64f1592a8a441e1 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Tue, 20 Jul 2004 11:30:15 +0000 Subject: Add support for version key in The Dig svn-id: r14285 --- scumm/scumm.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'scumm/scumm.cpp') 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); -- cgit v1.2.3