aboutsummaryrefslogtreecommitdiff
path: root/saga/music.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'saga/music.cpp')
-rw-r--r--saga/music.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/saga/music.cpp b/saga/music.cpp
index bb44ca9916..881bfc68a2 100644
--- a/saga/music.cpp
+++ b/saga/music.cpp
@@ -296,7 +296,7 @@ void MusicPlayer::stopMusic() {
}
}
-Music::Music(SoundMixer *mixer, MidiDriver *driver, int enabled) : _mixer(mixer), _enabled(enabled) {
+Music::Music(SoundMixer *mixer, MidiDriver *driver, int enabled) : _mixer(mixer), _enabled(enabled), _adlib(false) {
_player = new MusicPlayer(driver);
_musicInitialized = 1;
_mixer->setMusicVolume(ConfMan.getInt("music_volume"));
@@ -454,20 +454,18 @@ int Music::play(uint32 music_rn, uint16 flags) {
} else {
// Load MIDI/XMI resource data
- bool isGM = false;
-
if (GAME_GetGameType() == GID_ITE) {
rsc_ctxt = GAME_GetFileContext(GAME_RESOURCEFILE, 0);
} else {
- // TODO: Someone else will have to verify that the "FM"
- // music is really the appropriate choice for MT-32. Is
- // either of them the best choice for Adlib, or will
- // they both sound equally wimpy?
- if (!hasNativeMT32()) {
- isGM = true;
- rsc_ctxt = GAME_GetFileContext(GAME_MUSICFILE_GM, 0);
- } else {
+ // TODO: I'm not sure if this is right, but the FM file
+ // sounds better with Adlib than the AM file does. On
+ // the other hand, it doesn't sound like quite the same
+ // music, which is strange.
+
+ if (hasAdlib()) {
rsc_ctxt = GAME_GetFileContext(GAME_MUSICFILE_FM, 0);
+ } else {
+ rsc_ctxt = GAME_GetFileContext(GAME_MUSICFILE_GM, 0);
}
}
@@ -477,7 +475,7 @@ int Music::play(uint32 music_rn, uint16 flags) {
return FAILURE;
}
- _player->setGM(isGM);
+ _player->setGM(true);
parser = MidiParser::createParser_XMIDI();
}