aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
diff options
context:
space:
mode:
authorathrxx2019-07-05 18:32:01 +0200
committerathrxx2019-07-14 21:45:43 +0200
commit01f99f1a0a39a5e09f9eafc9e03ece4a8470bf1c (patch)
treed3f0ff8e08e7e0f4078881d8a0b6f09537e08407 /engines/scumm/scumm.cpp
parentd1b64aab0cd1477f6d56c9ced8b84886d66de4d8 (diff)
downloadscummvm-rg350-01f99f1a0a39a5e09f9eafc9e03ece4a8470bf1c.tar.gz
scummvm-rg350-01f99f1a0a39a5e09f9eafc9e03ece4a8470bf1c.tar.bz2
scummvm-rg350-01f99f1a0a39a5e09f9eafc9e03ece4a8470bf1c.zip
SCUMM: imuse driver directory cleanup
- move mac, pc speaker and fm-towns ims sound drivers into separate directory (AdLib and MT32/GM drivers are still too entangled with common code to be moved so easily, especially MT32/GM. It would require lots of changes to the common code and possibly to all engines using the MidiDriver class. So I leave that for now.)
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r--engines/scumm/scumm.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 64f45c1b98..e3919eee05 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -76,9 +76,10 @@
#include "scumm/he/cup_player_he.h"
#include "scumm/util.h"
#include "scumm/verbs.h"
-#include "scumm/imuse/pcspk.h"
-#include "scumm/imuse/mac_m68k.h"
+#include "scumm/imuse/drivers/pcspk.h"
+#include "scumm/imuse/drivers/mac_m68k.h"
#include "scumm/imuse/drivers/amiga.h"
+#include "scumm/imuse/drivers/fmtowns.h"
#include "backends/audiocd/audiocd.h"
@@ -2001,7 +2002,9 @@ void ScummEngine::setupMusic(int midi) {
nativeMidiDriver->property(MidiDriver::PROP_CHANNEL_MASK, 0x03FE);
if (!useOnlyNative) {
- if (_sound->_musicType == MDT_ADLIB || _sound->_musicType == MDT_TOWNS || multi_midi) {
+ if (_sound->_musicType == MDT_TOWNS) {
+ adlibMidiDriver = new MidiDriver_TOWNS(_mixer);
+ } else if (_sound->_musicType == MDT_ADLIB || multi_midi) {
adlibMidiDriver = MidiDriver::createMidi(MidiDriver::detectDevice(_sound->_musicType == MDT_TOWNS ? MDT_TOWNS : MDT_ADLIB));
adlibMidiDriver->property(MidiDriver::PROP_OLD_ADLIB, (_game.features & GF_SMALL_HEADER) ? 1 : 0);
// Try to use OPL3 mode for Sam&Max when possible.