[Scummvm-git-logs] scummvm master -> 413b28682bc161db53b057a88564ed34742ea5f9

djsrv dservilla at gmail.com
Tue Jul 14 20:56:43 UTC 2020


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:
413b28682b DIRECTOR: LINGO: Remove unused script handling


Commit: 413b28682bc161db53b057a88564ed34742ea5f9
    https://github.com/scummvm/scummvm/commit/413b28682bc161db53b057a88564ed34742ea5f9
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-14T16:55:25-04:00

Commit Message:
DIRECTOR: LINGO: Remove unused script handling

This breaks a lot of movies, so it obviously isn't right.

Changed paths:
    engines/director/cast.cpp


diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index e2ded0b95f..60cc57911a 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -902,11 +902,10 @@ void Cast::loadLingoContext(Common::SeekableSubReadStreamEndian &stream) {
 		/* uint32 nameTableId = */ stream.readUint32();
 		/* int16 validCount = */ stream.readSint16();
 		/* uint16 flags = */ stream.readUint16();
-		int16 firstUnused = stream.readSint16();
+		/* int16 firstUnused = */ stream.readSint16();
 
 		Common::Array<int16> lscr;
 		stream.seek(itemsOffset);
-		int16 skip = firstUnused;
 		for (int16 i = 1; i <= itemCount; i++) {
 			if (debugChannelSet(5, kDebugLoading)) {
 				debugC(5, kDebugLoading, "Context entry %d:", i);
@@ -915,22 +914,9 @@ void Cast::loadLingoContext(Common::SeekableSubReadStreamEndian &stream) {
 
 			stream.readUint32();
 			int32 index = stream.readSint32();
-			uint16 entryFlags = stream.readUint16();
-			int16 nextUnused = stream.readSint16();
-
-			// There are 2 ways to identify unused scripts:
-			// 1) entryFlags & (1 << 2)
-			// 2) The entry is in a linked list of unused scripts
-			if (i == skip) {
-				debugC(1, kDebugCompile, "Cast::loadLingoContext: Script %d is in unused list", i);
-				skip = nextUnused;
-				lscr.push_back(-1);
-			} else if (entryFlags & (1 << 2)) {
-				debugC(1, kDebugCompile, "Cast::loadLingoContext: Script %d has unused flag", i);
-				lscr.push_back(-1);
-			} else {
-				lscr.push_back(index);
-			}
+			/* uint16 entryFlags = */ stream.readUint16();
+			/* int16 nextUnused = */ stream.readSint16();
+			lscr.push_back(index);
 		}
 
 		for (int16 i = 0; i < (int16)lscr.size(); i++) {




More information about the Scummvm-git-logs mailing list