[Scummvm-git-logs] scummvm master -> 9528d5482818d791a1371c2d356bc61fc3e10ffb
sev-
sev at scummvm.org
Sun Mar 19 23:29:12 CET 2017
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
9528d54828 DIRECTOR: Initial code for parsing D2 win executables
Commit: 9528d5482818d791a1371c2d356bc61fc3e10ffb
https://github.com/scummvm/scummvm/commit/9528d5482818d791a1371c2d356bc61fc3e10ffb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-03-19T23:28:41+01:00
Commit Message:
DIRECTOR: Initial code for parsing D2 win executables
Changed paths:
engines/director/resource.cpp
diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp
index 10e7d93..7dbd5a7 100644
--- a/engines/director/resource.cpp
+++ b/engines/director/resource.cpp
@@ -76,6 +76,7 @@ void DirectorEngine::loadEXE(const Common::String movie) {
exeStream->seek(exeStream->readUint32LE());
switch (getVersion()) {
+ case 2:
case 3:
loadEXEv3(exeStream);
break;
@@ -100,12 +101,23 @@ void DirectorEngine::loadEXEv3(Common::SeekableReadStream *stream) {
stream->skip(5); // unknown
- stream->readUint32LE(); // Main MMM size
+ uint32 mmmSize = stream->readUint32LE(); // Main MMM size
+
Common::String mmmFileName = stream->readPascalString();
Common::String directoryName = stream->readPascalString();
debugC(1, kDebugLoading, "Main MMM: '%s'", mmmFileName.c_str());
debugC(1, kDebugLoading, "Directory Name: '%s'", directoryName.c_str());
+ debugC(1, kDebugLoading, "Main mmmSize: %d (0x%x)", mmmSize, mmmSize);
+
+ if (mmmSize) {
+ uint32 riffOffset = stream->pos();
+
+ _mainArchive = new RIFFArchive();
+
+ if (!_mainArchive->openStream(stream, riffOffset))
+ error("Failed to load RIFF from EXE");
+ }
openMainArchive(mmmFileName);
More information about the Scummvm-git-logs
mailing list