aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorJonathan Gray2003-06-19 12:29:13 +0000
committerJonathan Gray2003-06-19 12:29:13 +0000
commit20b3ba1d28889146a84300b7a1b4d4c264e45e8f (patch)
treeb2fb8555efa34428232651b9f950c0058a4c337f /scumm
parent773ee445d0bc27e820ebbf7e0f0baabfe1d04ce4 (diff)
downloadscummvm-rg350-20b3ba1d28889146a84300b7a1b4d4c264e45e8f.tar.gz
scummvm-rg350-20b3ba1d28889146a84300b7a1b4d4c264e45e8f.tar.bz2
scummvm-rg350-20b3ba1d28889146a84300b7a1b4d4c264e45e8f.zip
add id for segacd monkey island and don't attempt to play sbl sounds for now
svn-id: r8555
Diffstat (limited to 'scumm')
-rw-r--r--scumm/scumm.h3
-rw-r--r--scumm/scummvm.cpp4
-rw-r--r--scumm/sound.cpp7
3 files changed, 12 insertions, 2 deletions
diff --git a/scumm/scumm.h b/scumm/scumm.h
index 1262f78f5e..ec9f28ec5d 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -208,7 +208,8 @@ enum ScummGameId {
GID_CMI,
GID_MANIAC,
GID_ZAK,
- GID_PUTTDEMO
+ GID_PUTTDEMO,
+ GID_MONKEY_SEGA
};
#define _maxRooms res.num[rtRoom]
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index a05b05a363..d204121060 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -112,6 +112,8 @@ static const VersionSettings scumm_settings[] = {
GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT, 0},
{"monkey1", "Monkey Island 1 (alt)", GID_MONKEY, 5, VersionSettings::ADLIB_PREFERRED,
GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT, 0},
+ {"game", "Monkey Island 1 (SegaCD version)", GID_MONKEY_SEGA, 5, VersionSettings::ADLIB_PREFERRED,
+ GF_USE_KEY | GF_AUDIOTRACKS | GF_ADLIB_DEFAULT, 0},
{"monkey2", "Monkey Island 2: LeChuck's revenge", GID_MONKEY2, 5, VersionSettings::ADLIB_PREFERRED,
GF_USE_KEY | GF_ADLIB_DEFAULT, 0},
{"mi2demo", "Monkey Island 2: LeChuck's revenge (Demo)", GID_MONKEY2, 5, VersionSettings::ADLIB_PREFERRED,
@@ -2500,7 +2502,7 @@ void Scumm::launch() {
VAR(VAR_DEBUGMODE) = _debugMode;
}
- if (_gameId == GID_MONKEY)
+ if (_gameId == GID_MONKEY || _gameId == GID_MONKEY_SEGA)
_scummVars[74] = 1225;
_sound->setupSound();
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index 62d3bd1242..ae9331a6a3 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -282,6 +282,13 @@ void Sound::playSound(int soundID) {
// I'm going to assume that the sample frequency is
// the only important difference between the two.
+ // FIXME: SBL resources are apparently horribly
+ // distorted on segacd even though it shares the same
+ // header etc. So don't try to play them for now.
+ if (_scumm->_gameId == GID_MONKEY_SEGA) {
+ return;
+ }
+
if (READ_UINT32(ptr + 8) == MKID('WVhd'))
rate = 11025;
else