[Scummvm-git-logs] scummvm master -> 3217fe286507fb8999c00a06ec66c560f3c27cd4

elasota noreply at scummvm.org
Wed Dec 20 05:43:57 UTC 2023


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
0a934e5c34 MTROPOLIS: Fix lists always comparing equal
3217fe2865 MTROPOLIS: Fix incorrect parsing of rev 4 AliasModifier


Commit: 0a934e5c34178c2405e0613448f188ce339d2999
    https://github.com/scummvm/scummvm/commit/0a934e5c34178c2405e0613448f188ce339d2999
Author: elasota (1137273+elasota at users.noreply.github.com)
Date: 2023-12-20T00:43:09-05:00

Commit Message:
MTROPOLIS: Fix lists always comparing equal

Changed paths:
    engines/mtropolis/runtime.cpp


diff --git a/engines/mtropolis/runtime.cpp b/engines/mtropolis/runtime.cpp
index 3663fd97cdf..61a46fd392f 100644
--- a/engines/mtropolis/runtime.cpp
+++ b/engines/mtropolis/runtime.cpp
@@ -1520,7 +1520,7 @@ bool DynamicValue::operator==(const DynamicValue &other) const {
 	case DynamicValueTypes::kBoolean:
 		return _value.asBool == other._value.asBool;
 	case DynamicValueTypes::kList:
-		return (*_value.asList.get()) == (*_value.asList.get());
+		return (*_value.asList.get()) == (*other._value.asList.get());
 	case DynamicValueTypes::kObject:
 		return _value.asObj == other._value.asObj;
 	default:


Commit: 3217fe286507fb8999c00a06ec66c560f3c27cd4
    https://github.com/scummvm/scummvm/commit/3217fe286507fb8999c00a06ec66c560f3c27cd4
Author: elasota (1137273+elasota at users.noreply.github.com)
Date: 2023-12-20T00:43:09-05:00

Commit Message:
MTROPOLIS: Fix incorrect parsing of rev 4 AliasModifier

Changed paths:
    engines/mtropolis/data.cpp
    engines/mtropolis/data.h


diff --git a/engines/mtropolis/data.cpp b/engines/mtropolis/data.cpp
index c859cc71dfc..df38225f6ad 100644
--- a/engines/mtropolis/data.cpp
+++ b/engines/mtropolis/data.cpp
@@ -1348,7 +1348,7 @@ DataReadErrorCode SetModifier::load(DataReader &reader) {
 }
 
 AliasModifier::AliasModifier()
-	: modifierFlags(0), sizeIncludingTag(0), aliasIndexPlusOne(0), unknown1(0), unknown2(0)
+	: modifierFlags(0), sizeIncludingTag(0), aliasIndexPlusOne(0), unknown1(0), unknown2(0), unknown3(0)
 	, lengthOfName(0), guid(0), haveGUID(false) {
 }
 
@@ -1384,12 +1384,16 @@ DataReadErrorCode AliasModifier::load(DataReader& reader) {
 	}
 
 	if (_revision >= 4) {
-		if (!reader.readU32(lengthOfName))
+		if (!reader.readU32(unknown3))
 			return kDataReadErrorReadFailed;
-	}
 
-	if (!reader.readTerminatedStr(name, lengthOfName))
-		return kDataReadErrorReadFailed;
+		lengthOfName = 0;
+	} else {
+		if (!reader.readTerminatedStr(name, lengthOfName))
+			return kDataReadErrorReadFailed;
+
+		unknown3 = 0;
+	}
 
 	return kDataReadErrorNone;
 }
diff --git a/engines/mtropolis/data.h b/engines/mtropolis/data.h
index 9d2307cb12b..569fbc873ac 100644
--- a/engines/mtropolis/data.h
+++ b/engines/mtropolis/data.h
@@ -1344,6 +1344,7 @@ struct AliasModifier : public DataObject {
 	uint16 aliasIndexPlusOne;
 	uint32 unknown1;
 	uint32 unknown2;
+	uint32 unknown3;
 	uint32 lengthOfName;
 	uint32 guid;
 	Point editorLayoutPosition;




More information about the Scummvm-git-logs mailing list