aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2003-08-14 09:27:33 +0000
committerTravis Howell2003-08-14 09:27:33 +0000
commit7faa06aecd43c38da6e72388c6124708de16de94 (patch)
treeb261d74be8792ab48480310440abbb363d3bbea1 /scumm
parent6d1272289901a8384f8abe3a53385a12a7812590 (diff)
downloadscummvm-rg350-7faa06aecd43c38da6e72388c6124708de16de94.tar.gz
scummvm-rg350-7faa06aecd43c38da6e72388c6124708de16de94.tar.bz2
scummvm-rg350-7faa06aecd43c38da6e72388c6124708de16de94.zip
Revert bad change
svn-id: r9687
Diffstat (limited to 'scumm')
-rw-r--r--scumm/resource.cpp8
-rw-r--r--scumm/sound.cpp17
2 files changed, 17 insertions, 8 deletions
diff --git a/scumm/resource.cpp b/scumm/resource.cpp
index 5f0289c6e0..b4c20dea3f 100644
--- a/scumm/resource.cpp
+++ b/scumm/resource.cpp
@@ -1053,14 +1053,6 @@ int Scumm::convertADResource(int type, int idx, byte * src_ptr, int size) {
if (*src_ptr == 0x80) {
// 0x80: is music; otherwise not.
- if (_gameId == GID_MONKEY_VGA || _gameId == GID_MONKEY_EGA) {
- // FIXME: This evil hack works around the fact that in some
- // places in MonkeyVGA, the music is never explicitly stopped.
- // Rather it seems that starting a new music is supposed to
- // automatically stop the old song.
- _imuse->stop_all_sounds();
- }
-
// The "speed" of the song
ticks = *(src_ptr + 1);
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index aab2320051..280ce0e5eb 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -453,6 +453,23 @@ void Sound::playSound(int soundID) {
return;
}
+ if (_scumm->_gameId == GID_MONKEY_VGA || _scumm->_gameId == GID_MONKEY_EGA) {
+ // Sound is currently not supported at all in the amiga versions of these games
+ if (_scumm->_features & GF_AMIGA)
+ return;
+
+ // FIXME: This evil hack works around the fact that in some
+ // places in MonkeyVGA, the music is never explicitly stopped.
+ // Rather it seems that starting a new music is supposed to
+ // automatically stop the old song.
+ // This hack relays on the fact that we currently don't support SFX
+ // in these games, only music. Once we add SFX support, we'll have to
+ // revise it / replace it by a proper fix.
+ if (ptr) {
+ _scumm->_imuse->stop_all_sounds();
+ }
+ }
+
if (_scumm->_playerV2)
_scumm->_playerV2->startSound (soundID, ptr);