diff options
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r-- | engines/scumm/scumm.cpp | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 2f25aeefba..e6110ee976 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -34,7 +34,7 @@ #include "engines/util.h" #include "gui/message.h" -#include "gui/GuiManager.h" +#include "gui/gui-manager.h" #include "graphics/cursorman.h" @@ -61,6 +61,7 @@ #include "scumm/player_pce.h" #include "scumm/player_v1.h" #include "scumm/player_v2.h" +#include "scumm/player_v2cms.h" #include "scumm/player_v2a.h" #include "scumm/player_v3a.h" #include "scumm/player_v4a.h" @@ -74,6 +75,8 @@ #include "scumm/util.h" #include "scumm/verbs.h" +#include "backends/audiocd/audiocd.h" + #include "sound/mixer.h" using Common::File; @@ -136,7 +139,8 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr) uint tmpVal; tmpStr[0] = dr.md5[2*i]; tmpStr[1] = dr.md5[2*i+1]; - sscanf(tmpStr, "%x", &tmpVal); + int res = sscanf(tmpStr, "%x", &tmpVal); + assert(res == 1); _gameMD5[i] = (byte)tmpVal; } @@ -145,6 +149,7 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr) // Init all vars _v0ObjectIndex = false; _v0ObjectInInventory = false; + _v0ObjectFlag = 0; _imuse = NULL; _imuseDigital = NULL; _musicEngine = NULL; @@ -209,7 +214,6 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr) _saveLoadSlot = 0; _lastSaveTime = 0; _saveTemporaryState = false; - memset(_saveLoadFileName, 0, sizeof(_saveLoadFileName)); memset(_saveLoadName, 0, sizeof(_saveLoadName)); memset(_localScriptOffsets, 0, sizeof(_localScriptOffsets)); _scriptPointer = NULL; @@ -281,6 +285,8 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr) #ifndef DISABLE_TOWNS_DUAL_LAYER_MODE _townsScreen = 0; #endif + _cjkFont = 0; + _cjkChar = 0; _shadowPalette = NULL; _shadowPaletteSize = 0; memset(_currentPalette, 0, sizeof(_currentPalette)); @@ -481,7 +487,8 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr) if (ConfMan.getBool("demo_mode")) _game.features |= GF_DEMO; if (ConfMan.hasKey("nosubtitles")) { - printf("Configuration key 'nosubtitles' is deprecated. Use 'subtitles' instead\n"); + // We replaced nosubtitles *ages* ago. Just convert it silently + debug("Configuration key 'nosubtitles' is deprecated. Converting to 'subtitles'"); if (!ConfMan.hasKey("subtitles")) ConfMan.setBool("subtitles", !ConfMan.getBool("nosubtitles")); } @@ -631,6 +638,7 @@ ScummEngine::~ScummEngine() { #ifndef DISABLE_TOWNS_DUAL_LAYER_MODE delete _townsScreen; #endif + delete _cjkFont; delete _debugger; @@ -1642,6 +1650,10 @@ void ScummEngine_v90he::resetScumm() { _logicHE = new LogicHEsoccer(this); break; + case GID_BASEBALL2001: + _logicHE = new LogicHEbaseball2001(this); + break; + case GID_BASKETBALL: _logicHE = new LogicHEbasketball(this); break; @@ -1918,7 +1930,7 @@ int ScummEngine::getTalkSpeed() { #pragma mark - Common::Error ScummEngine::go() { - _engineStartTime = _system->getMillis() / 1000; + setTotalPlayTime(); // If requested, load a save game instead of running the boot script if (_saveLoadFlag != 2 || !loadState(_saveLoadSlot, _saveTemporaryState)) { @@ -2496,10 +2508,6 @@ void ScummEngine::startManiac() { void ScummEngine::pauseEngineIntern(bool pause) { if (pause) { - // Record start of the pause, so that we can later - // adjust _engineStartTime accordingly. - _pauseStartTime = _system->getMillis(); - // Pause sound & video _oldSoundsPaused = _sound->_soundsPaused; _sound->pauseSounds(true); @@ -2517,10 +2525,6 @@ void ScummEngine::pauseEngineIntern(bool pause) { // Resume sound & video _sound->pauseSounds(_oldSoundsPaused); - - // Adjust engine start time - _engineStartTime += (_system->getMillis() - _pauseStartTime) / 1000; - _pauseStartTime = 0; } } |