diff options
author | Johannes Schickel | 2011-07-08 04:43:45 +0200 |
---|---|---|
committer | Johannes Schickel | 2011-07-08 04:45:01 +0200 |
commit | ed993e6350bd4926b4b9c94a014aa0f96a628ce7 (patch) | |
tree | b6f0b19a5d7d8da8b61b98376e85b36867a13acd /engines/scumm/scumm.cpp | |
parent | 3f04ad72a998dead1b6b43a8facd4d7a62d2119a (diff) | |
download | scummvm-rg350-ed993e6350bd4926b4b9c94a014aa0f96a628ce7.tar.gz scummvm-rg350-ed993e6350bd4926b4b9c94a014aa0f96a628ce7.tar.bz2 scummvm-rg350-ed993e6350bd4926b4b9c94a014aa0f96a628ce7.zip |
SCUMM: Initial PC Speaker output implementation for SCUMM v5.
This is *not* complete yet.
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r-- | engines/scumm/scumm.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 7b136dc36d..ed1c90145d 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -71,6 +71,7 @@ #include "scumm/he/cup_player_he.h" #include "scumm/util.h" #include "scumm/verbs.h" +#include "scumm/imuse/pcspk.h" #include "backends/audiocd/audiocd.h" @@ -1857,7 +1858,7 @@ void ScummEngine::setupMusic(int midi) { MidiDriver *nativeMidiDriver = 0; MidiDriver *adlibMidiDriver = 0; - if (_musicType != MDT_ADLIB && _musicType != MDT_TOWNS) + if (_musicType != MDT_ADLIB && _musicType != MDT_TOWNS && _musicType != MDT_PCSPK) nativeMidiDriver = MidiDriver::createMidi(dev); if (nativeMidiDriver != NULL && _native_mt32) nativeMidiDriver->property(MidiDriver::PROP_CHANNEL_MASK, 0x03FE); @@ -1865,6 +1866,9 @@ void ScummEngine::setupMusic(int midi) { if (_musicType == MDT_ADLIB || _musicType == MDT_TOWNS || multi_midi) { adlibMidiDriver = MidiDriver::createMidi(MidiDriver::detectDevice(_musicType == MDT_TOWNS ? MDT_TOWNS : MDT_ADLIB)); adlibMidiDriver->property(MidiDriver::PROP_OLD_ADLIB, (_game.features & GF_SMALL_HEADER) ? 1 : 0); + } else if (_musicType == MDT_PCSPK) { + // HACK + adlibMidiDriver = new PcSpkDriver(_mixer); } _imuse = IMuse::create(_system, nativeMidiDriver, adlibMidiDriver); |