aboutsummaryrefslogtreecommitdiff
path: root/engines/agos
diff options
context:
space:
mode:
authorMartin Kiewitz2015-07-01 20:39:00 +0200
committerMartin Kiewitz2015-07-01 20:39:00 +0200
commit710aeb380b5becc71228800a047ea47a50132309 (patch)
tree7d95c78d235bc1e9bf35c4753d41ebf0c57cfa3a /engines/agos
parentb38c161c18f223c4c9c7495a77682c4435d42121 (diff)
downloadscummvm-rg350-710aeb380b5becc71228800a047ea47a50132309.tar.gz
scummvm-rg350-710aeb380b5becc71228800a047ea47a50132309.tar.bz2
scummvm-rg350-710aeb380b5becc71228800a047ea47a50132309.zip
AGOS: SIMON2: set nativeMT32, so mt32 tracks get
set _nativeMT32, so that the MT32 XMIDI track set is getting used and not the general MIDI one for MT32 Miles Audio playback. This should solve the MT32 music issues, although this needs to get verified in detail.
Diffstat (limited to 'engines/agos')
-rw-r--r--engines/agos/midi.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/agos/midi.cpp b/engines/agos/midi.cpp
index fb6faef1dd..fdc2227c6e 100644
--- a/engines/agos/midi.cpp
+++ b/engines/agos/midi.cpp
@@ -109,6 +109,10 @@ int MidiPlayer::open(int gameType, bool isDemo) {
case GType_SIMON2:
//_musicMode = kMusicModeMilesAudio;
// currently disabled, because there are a few issues
+ // MT32 seems to work fine now, AdLib seems to use bad instruments and is also outputting music on
+ // the right speaker only. The original driver did initialize the panning to 0 and the Simon2 XMIDI
+ // tracks don't set panning at all. We can reset panning to be centered, which would solve this
+ // issue, but we still don't know who's setting it in the original interpreter.
break;
default:
break;
@@ -370,15 +374,19 @@ int MidiPlayer::open(int gameType, bool isDemo) {
switch (milesAudioMusicType) {
case MT_ADLIB: {
_driver = Audio::MidiDriver_Miles_AdLib_create("MIDPAK.AD", "MIDPAK.AD");
+ // TODO: not sure what's going wrong with AdLib
+ // it doesn't seem to matter if we use the regular XMIDI tracks or the 2nd set meant for MT32
break;
}
case MT_MT32:
_driver = Audio::MidiDriver_Miles_MT32_create("");
+ _nativeMT32 = true; // use 2nd set of XMIDI tracks
break;
case MT_GM:
if (ConfMan.getBool("native_mt32")) {
_driver = Audio::MidiDriver_Miles_MT32_create("");
milesAudioMusicType = MT_MT32;
+ _nativeMT32 = true; // use 2nd set of XMIDI tracks
}
break;