aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
diff options
context:
space:
mode:
authorTorbjörn Andersson2012-11-11 13:56:06 +0100
committerTorbjörn Andersson2012-11-11 13:56:06 +0100
commit8bb595453b7bce6e219acc94c105a1f76e5ff734 (patch)
treebbedbfa057dfeccda5af3061dc651b71bce93dcb /engines/scumm/scumm.cpp
parentda0490f9b296864e8826c63295e91515f8617839 (diff)
downloadscummvm-rg350-8bb595453b7bce6e219acc94c105a1f76e5ff734.tar.gz
scummvm-rg350-8bb595453b7bce6e219acc94c105a1f76e5ff734.tar.bz2
scummvm-rg350-8bb595453b7bce6e219acc94c105a1f76e5ff734.zip
SCUMM: Added support for Macintosh music in Monkey Island 1
This is based on the old Mac0-to-General MIDI conversion that we used to do (and which this patch removes), as well as the code for playing the Monkey Island 2 and Fate of Atlantis Macintosh music. I'm not sure how accurate it is, particularly in tempo and volume, but at this point it seems to work pretty well. Looping music is perhaps a bit off, but it was before as well. There is an annoying drawn out note in the music when you're following the shopkeeper, but that appears to have been there in the original as well.
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r--engines/scumm/scumm.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 2c79fb8de0..67ca071a76 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -62,6 +62,7 @@
#include "scumm/player_v2a.h"
#include "scumm/player_v3a.h"
#include "scumm/player_v4a.h"
+#include "scumm/player_v5m.h"
#include "scumm/resource.h"
#include "scumm/he/resource_he.h"
#include "scumm/scumm_v0.h"
@@ -1819,6 +1820,8 @@ void ScummEngine::setupMusic(int midi) {
#endif
} else if (_game.platform == Common::kPlatformAmiga && _game.version <= 4) {
_musicEngine = new Player_V4A(this, _mixer);
+ } else if (_game.platform == Common::kPlatformMacintosh && _game.id == GID_MONKEY) {
+ _musicEngine = new Player_V5M(this, _mixer);
} else if (_game.id == GID_MANIAC && _game.version == 1) {
_musicEngine = new Player_V1(this, _mixer, MidiDriver::getMusicType(dev) != MT_PCSPK);
} else if (_game.version <= 2) {