aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMatthew Hoops2012-11-14 13:54:30 -0500
committerEugene Sandulenko2016-08-03 23:40:36 +0200
commit60ba99ac4182366cef3dcbf0e56719f538920084 (patch)
tree0db6228cbb011c8f42608ccf446a22505f565be9 /engines
parent45a387c48144d98cfaf3aba3f9245bc79564d1c3 (diff)
downloadscummvm-rg350-60ba99ac4182366cef3dcbf0e56719f538920084.tar.gz
scummvm-rg350-60ba99ac4182366cef3dcbf0e56719f538920084.tar.bz2
scummvm-rg350-60ba99ac4182366cef3dcbf0e56719f538920084.zip
DIRECTOR: Fix RIFF offsets
Diffstat (limited to 'engines')
-rw-r--r--engines/director/resource.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp
index d348d12e39..b9e6b1de8a 100644
--- a/engines/director/resource.cpp
+++ b/engines/director/resource.cpp
@@ -225,16 +225,19 @@ bool RIFFArchive::openStream(Common::SeekableReadStream *stream) {
uint32 cftcSize = stream->readUint32LE();
uint32 startPos = stream->pos();
+ stream->readUint32LE(); // unknown (always 0?)
while ((uint32)stream->pos() < startPos + cftcSize) {
- uint32 offset = stream->readUint32LE();
uint32 tag = stream->readUint32BE();
uint32 size = stream->readUint32LE();
uint32 id = stream->readUint32LE();
+ uint32 offset = stream->readUint32LE();
if (tag == 0)
break;
+ debug(0, "Found RIFF resource '%s' %d: %d @ 0x%08x", tag2str(tag), id, size, offset);
+
ResourceMap &resMap = _types[tag];
Resource &res = resMap[id];
res.offset = offset;