aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2009-06-06 18:21:49 +0000
committerEugene Sandulenko2009-06-06 18:21:49 +0000
commitcda17beff56b0c503f03b5f75be0a5f589dbeedc (patch)
treea30bbfa93593ad4f07f9c5a29718eec85239e08c /engines/scumm/scumm.cpp
parent986a0b83b61146094cb748b7b291ed5e074a832b (diff)
downloadscummvm-rg350-cda17beff56b0c503f03b5f75be0a5f589dbeedc.tar.gz
scummvm-rg350-cda17beff56b0c503f03b5f75be0a5f589dbeedc.tar.bz2
scummvm-rg350-cda17beff56b0c503f03b5f75be0a5f589dbeedc.zip
Patch #1365914: "SCUMM: CMS support." Disabled by default. Still plenty to do.
svn-id: r41282
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r--engines/scumm/scumm.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 07660ab5bf..dcbf95ef4b 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1585,6 +1585,13 @@ void ScummEngine::setupMusic(int midi) {
case MD_PCJR:
_musicType = MDT_PCSPK;
break;
+ case MD_CMS:
+#if 1
+ _musicType = MDT_ADLIB;
+#else
+ _musicType = MDT_CMS; // Still has number of bugs, disable by default
+#endif
+ break;
case MD_TOWNS:
_musicType = MDT_TOWNS;
break;
@@ -1639,7 +1646,7 @@ void ScummEngine::setupMusic(int midi) {
* automatically when samples need to be generated */
if (!_mixer->isReady()) {
warning("Sound mixer initialization failed");
- if (_musicType == MDT_ADLIB || _musicType == MDT_PCSPK) {
+ if (_musicType == MDT_ADLIB || _musicType == MDT_PCSPK || _musicType == MDT_CMS) {
midiDriver = MD_NULL;
_musicType = MDT_NONE;
warning("MIDI driver depends on sound mixer, switching to null MIDI driver");
@@ -1669,6 +1676,8 @@ void ScummEngine::setupMusic(int midi) {
_musicEngine = new Player_V2(this, _mixer, midiDriver != MD_PCSPK);
} else if ((_musicType == MDT_PCSPK) && (_game.version > 2 && _game.version <= 4)) {
_musicEngine = new Player_V2(this, _mixer, midiDriver != MD_PCSPK);
+ } else if (_musicType == MDT_CMS) {
+ _musicEngine = new Player_V2CMS(this, _mixer);
} else if (_game.platform == Common::kPlatform3DO && _game.heversion == 61) {
// 3DO versions use digital music and sound samples.
} else if (_game.version >= 3 && _game.heversion <= 61) {