diff options
author | Eugene Sandulenko | 2009-06-06 18:21:49 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2009-06-06 18:21:49 +0000 |
commit | cda17beff56b0c503f03b5f75be0a5f589dbeedc (patch) | |
tree | a30bbfa93593ad4f07f9c5a29718eec85239e08c /engines/scumm/scumm.cpp | |
parent | 986a0b83b61146094cb748b7b291ed5e074a832b (diff) | |
download | scummvm-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.cpp | 11 |
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) { |