From 20b3ba1d28889146a84300b7a1b4d4c264e45e8f Mon Sep 17 00:00:00 2001 From: Jonathan Gray Date: Thu, 19 Jun 2003 12:29:13 +0000 Subject: add id for segacd monkey island and don't attempt to play sbl sounds for now svn-id: r8555 --- scumm/scumm.h | 3 ++- scumm/scummvm.cpp | 4 +++- scumm/sound.cpp | 7 +++++++ 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 -- cgit v1.2.3