aboutsummaryrefslogtreecommitdiff
path: root/engines/director/score.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2016-10-26 10:46:59 +0200
committerEugene Sandulenko2016-10-26 10:48:37 +0200
commitf6dda6b7fbbba28d8aa1d396f9812471ed0e059d (patch)
tree4dcb5d3d4bd81adeeb1953d745ba3b1c2359569a /engines/director/score.cpp
parent814db5fd38ae87a23674f07461ca35358bd77eb5 (diff)
downloadscummvm-rg350-f6dda6b7fbbba28d8aa1d396f9812471ed0e059d.tar.gz
scummvm-rg350-f6dda6b7fbbba28d8aa1d396f9812471ed0e059d.tar.bz2
scummvm-rg350-f6dda6b7fbbba28d8aa1d396f9812471ed0e059d.zip
DIRECTOR: Skip header in VWLB resource for D4+
For some reason the pointer in D4 movies points to the header instead of data. Perhaps there is a flag which indicates that. In the meanwhile, adding a hack to skip it so we could proceed with development.
Diffstat (limited to 'engines/director/score.cpp')
-rw-r--r--engines/director/score.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 7b03ca1a7d..1345f4b912 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -365,6 +365,11 @@ void Score::loadCastData(Common::SeekableSubReadStreamEndian &stream) {
}
void Score::loadLabels(Common::SeekableSubReadStreamEndian &stream) {
+ if (_vm->getVersion() >= 4) { // HACK: Skip the header. Why it is there?
+ stream.readUint32LE();
+ stream.readUint32LE();
+ }
+
_labels = new Common::SortedArray<Label *>(compareLabels);
uint16 count = stream.readUint16() + 1;
uint16 offset = count * 4 + 2;