aboutsummaryrefslogtreecommitdiff
path: root/engines/director/director.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2012-11-14 14:04:44 -0500
committerEugene Sandulenko2016-08-03 23:40:36 +0200
commitf6399b7d13976d703590ba667b02c806c905209b (patch)
treea0211233d98ca1bfc2edd778c1614dcb9918c79b /engines/director/director.cpp
parent0f7fb5ad65780f7617f850ce5f9a3930c69a2929 (diff)
downloadscummvm-rg350-f6399b7d13976d703590ba667b02c806c905209b.tar.gz
scummvm-rg350-f6399b7d13976d703590ba667b02c806c905209b.tar.bz2
scummvm-rg350-f6399b7d13976d703590ba667b02c806c905209b.zip
DIRECTOR: Fix some v3 exe fields
Thanks, fuzzie
Diffstat (limited to 'engines/director/director.cpp')
-rw-r--r--engines/director/director.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index ea21986dcc..4df959d05d 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -79,10 +79,14 @@ void DirectorEngine::loadEXE() {
}
void DirectorEngine::loadEXEv3(Common::SeekableReadStream *stream) {
- stream->readUint32LE(); // unknown
- stream->readUint16LE(); // unknown
+ uint16 entryCount = stream->readUint16LE();
+
+ if (entryCount != 1)
+ error("Unhandled multiple entry v3 EXE");
+
+ stream->skip(5); // unknown
+
stream->readUint32LE(); // Main MMM size
- stream->readByte(); // zero
Common::String mmmFileName = readPascalString(*stream);
Common::String directoryName = readPascalString(*stream);