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.cpp30
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;
}
}