[Scummvm-git-logs] scummvm master -> 25a20fb28d88747c16bfeacbbbb7e32ba3b9e193

djsrv dservilla at gmail.com
Thu Jun 25 16:02:49 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:
25a20fb28d DIRECTOR: LINGO: Treat scriptType as a bitmask


Commit: 25a20fb28d88747c16bfeacbbbb7e32ba3b9e193
    https://github.com/scummvm/scummvm/commit/25a20fb28d88747c16bfeacbbbb7e32ba3b9e193
Author: djsrv (dservilla at gmail.com)
Date: 2020-06-25T12:02:27-04:00

Commit Message:
DIRECTOR: LINGO: Treat scriptType as a bitmask

Changed paths:
    engines/director/lingo/lingo-bytecode.cpp


diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index f6b57dfc23..78fd6d1b6e 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -812,7 +812,7 @@ void Lingo::addCodeV4(Common::SeekableSubReadStreamEndian &stream, int archiveIn
 
 	// offset 36
 	/* uint16 unk3 = */ stream.readUint16();
-	uint32 scriptTypeId = stream.readUint32();
+	uint32 scriptTypeMask = stream.readUint32();
 	// unk4
 	for (uint32 i = 0; i < 0x4; i++) {
 		stream.readByte();
@@ -842,10 +842,11 @@ void Lingo::addCodeV4(Common::SeekableSubReadStreamEndian &stream, int archiveIn
 	Cast *member = g_director->getCastMember(castId);
 	if (member) {
 		if (member->_type == kCastLingoScript) {
-			if (scriptTypeId == kScoreScript || scriptTypeId == kMovieScript)
-				scriptType = (ScriptType)scriptTypeId;
+			// TODO: Determine what the other bits in the mask mean
+			if (scriptTypeMask & (1 << 1))
+				scriptType = kMovieScript;
 			else
-				warning("Unknown script type: %d", scriptTypeId);
+				scriptType = kScoreScript;
 		}
 		CastInfo *info = member->_score->_castsInfo[castId];
 		if (info)




More information about the Scummvm-git-logs mailing list