aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Snover2016-12-02 15:16:32 -0600
committerColin Snover2016-12-03 12:21:56 -0600
commit1337e82b0bdaa76a7c78554cd8316e0aa9628dac (patch)
tree50f26c1ef350d6fde538ce3b29bb286da67f7cc8
parent770bd66cbc71e0702418ba40d94402a1572f3290 (diff)
downloadscummvm-rg350-1337e82b0bdaa76a7c78554cd8316e0aa9628dac.tar.gz
scummvm-rg350-1337e82b0bdaa76a7c78554cd8316e0aa9628dac.tar.bz2
scummvm-rg350-1337e82b0bdaa76a7c78554cd8316e0aa9628dac.zip
SCI: Fix invalid read of LB2 audio map 448
-rw-r--r--engines/sci/resource_audio.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/sci/resource_audio.cpp b/engines/sci/resource_audio.cpp
index 72096ff14d..7757445bc1 100644
--- a/engines/sci/resource_audio.cpp
+++ b/engines/sci/resource_audio.cpp
@@ -405,7 +405,9 @@ int ResourceManager::readAudioMapSCI11(IntMapResourceSource *map) {
addResource(ResourceId(kResourceTypeSync36, map->_mapNumber, n & 0xffffff3f), src, offset, syncSize);
}
- if (n & 0x40) {
+ // Checking for this 0x40 flag breaks at least Laura Bow 2 CD 1.1
+ // map 448
+ if (g_sci->getGameId() == GID_KQ6 && (n & 0x40)) {
// This seems to define the size of raw lipsync data (at least
// in KQ6 CD Windows).
int kq6HiresSyncSize = READ_LE_UINT16(ptr);