aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2009-07-19 09:09:56 +0000
committerTravis Howell2009-07-19 09:09:56 +0000
commit29cd90ec1baf3b4fa6b20673dc957884ec6bf910 (patch)
tree42c3ad5808c6c855fc168b7fcaf1639b78602124
parent8cb1cbfa7ab261054815bf768f34b62ebbf3bd8a (diff)
downloadscummvm-rg350-29cd90ec1baf3b4fa6b20673dc957884ec6bf910.tar.gz
scummvm-rg350-29cd90ec1baf3b4fa6b20673dc957884ec6bf910.tar.bz2
scummvm-rg350-29cd90ec1baf3b4fa6b20673dc957884ec6bf910.zip
Add patch #2823590 - Fix music crashes in Waxworks (PC).
svn-id: r42606
-rw-r--r--engines/agos/midiparser_s1d.cpp4
-rw-r--r--engines/agos/res_snd.cpp4
2 files changed, 4 insertions, 4 deletions
diff --git a/engines/agos/midiparser_s1d.cpp b/engines/agos/midiparser_s1d.cpp
index d77621cc7b..568135ef8c 100644
--- a/engines/agos/midiparser_s1d.cpp
+++ b/engines/agos/midiparser_s1d.cpp
@@ -126,6 +126,10 @@ void MidiParser_S1D::parseNextEvent(EventInfo &info) {
switch (info.event & 0x0F) {
case 0x0:
// Trigged by MOD2/MOD6/MOD15 in Waxworks
+ // Pure guesswork
+ info.ext.type = *(_position._play_pos++);
+ info.length = readVLQ(_position._play_pos);
+ info.ext.data = _position._play_pos;
break;
case 0x3: // Not sure, Song Select?
diff --git a/engines/agos/res_snd.cpp b/engines/agos/res_snd.cpp
index e85440d8e1..4f3582b55d 100644
--- a/engines/agos/res_snd.cpp
+++ b/engines/agos/res_snd.cpp
@@ -285,10 +285,6 @@ void AGOSEngine_Simon1::playMusic(uint16 music, uint16 track) {
void AGOSEngine::playMusic(uint16 music, uint16 track) {
stopMusic();
- // FIXME: Music too unstable, when switching locations.
- if (getPlatform() == Common::kPlatformPC && getGameType() == GType_WW)
- return;
-
if (getPlatform() == Common::kPlatformAmiga) {
playModule(music);
} else if (getPlatform() == Common::kPlatformAtariST) {