aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorTravis Howell2009-02-16 06:23:41 +0000
committerTravis Howell2009-02-16 06:23:41 +0000
commitf9705960820c1d8f8b29096cf0ad7a02ee9ee3b5 (patch)
tree439853c6a58a62fe656e6672730f6020f713744f /engines/scumm
parenta57e773a0ee200e7775ff04454990ae7539257ea (diff)
downloadscummvm-rg350-f9705960820c1d8f8b29096cf0ad7a02ee9ee3b5.tar.gz
scummvm-rg350-f9705960820c1d8f8b29096cf0ad7a02ee9ee3b5.tar.bz2
scummvm-rg350-f9705960820c1d8f8b29096cf0ad7a02ee9ee3b5.zip
Limit platforms to specific SCUMM versions, when selecting the music engine to be used. To help prevent issues, if user manually selects the incorrect platform.
svn-id: r38345
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/scumm.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 19aa7324e4..07c1116189 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1627,25 +1627,32 @@ void ScummEngine::setupMusic(int midi) {
// Init iMuse
if (_game.version >= 7) {
// Setup for digital iMuse is performed in another place
- } else if (_game.platform == Common::kPlatformApple2GS || _game.platform == Common::kPlatformC64 ||
- _game.platform == Common::kPlatformPCEngine) {
- // TODO
+ } else if (_game.platform == Common::kPlatformApple2GS && _game.version == 0){
+ // TODO: Add support for music format
_musicEngine = NULL;
- } else if (_game.platform == Common::kPlatformNES) {
+ } else if (_game.platform == Common::kPlatformC64 && _game.version <= 1) {
+ // TODO: Add support for music format
+ _musicEngine = NULL;
+ } else if (_game.platform == Common::kPlatformNES && _game.version == 1) {
_musicEngine = new Player_NES(this, _mixer);
- } else if ((_game.platform == Common::kPlatformAmiga) && (_game.version == 2)) {
+ } else if (_game.platform == Common::kPlatformAmiga && _game.version == 2) {
_musicEngine = new Player_V2A(this, _mixer);
- } else if ((_game.platform == Common::kPlatformAmiga) && (_game.version == 3)) {
+ } else if (_game.platform == Common::kPlatformAmiga && _game.version == 3) {
_musicEngine = new Player_V3A(this, _mixer);
- } else if ((_game.platform == Common::kPlatformAmiga) && (_game.version <= 4)) {
+ } else if (_game.platform == Common::kPlatformPCEngine && _game.version == 3) {
+ // TODO: Add support for music format
+ _musicEngine = NULL;
+ } else if (_game.platform == Common::kPlatformAmiga && _game.version <= 4) {
_musicEngine = NULL;
- } else if (_game.id == GID_MANIAC && (_game.version == 1)) {
+ } else if (_game.id == GID_MANIAC && _game.version == 1) {
_musicEngine = new Player_V1(this, _mixer, midiDriver != MD_PCSPK);
} else if (_game.version <= 2) {
_musicEngine = new Player_V2(this, _mixer, midiDriver != MD_PCSPK);
- } else if ((_musicType == MDT_PCSPK) && ((_game.version > 2) && (_game.version <= 4))) {
+ } else if ((_musicType == MDT_PCSPK) && (_game.version > 2 && _game.version <= 4)) {
_musicEngine = new Player_V2(this, _mixer, midiDriver != MD_PCSPK);
- } else if (_game.version >= 3 && _game.heversion <= 61 && _game.platform != Common::kPlatform3DO) {
+ } else if (_game.platform == Common::kPlatform3DO && _game.heversion == 61) {
+ // 3DO versions use digital music and sound samples.
+ } else if (_game.version >= 3 && _game.heversion <= 61) {
MidiDriver *nativeMidiDriver = 0;
MidiDriver *adlibMidiDriver = 0;