diff options
author | Matthew Hoops | 2012-11-14 14:04:44 -0500 |
---|---|---|
committer | Eugene Sandulenko | 2016-08-03 23:40:36 +0200 |
commit | f6399b7d13976d703590ba667b02c806c905209b (patch) | |
tree | a0211233d98ca1bfc2edd778c1614dcb9918c79b /engines/director/director.cpp | |
parent | 0f7fb5ad65780f7617f850ce5f9a3930c69a2929 (diff) | |
download | scummvm-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.cpp | 10 |
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); |