[Scummvm-git-logs] scummvm master -> 2a25231035597be454acc07c6e340bf9a1e3da6e

sev- sev at scummvm.org
Wed Jul 8 09:43:17 UTC 2020


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:
bcd1d3c688 COMMON: Add 'vers' resource parser to MacResMan
2a25231035 DIRECTOR: Use MacResMan's vers parser


Commit: bcd1d3c68843f1f3232d51d0606c7920a1b1b907
    https://github.com/scummvm/scummvm/commit/bcd1d3c68843f1f3232d51d0606c7920a1b1b907
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-08T11:42:59+02:00

Commit Message:
COMMON: Add 'vers' resource parser to MacResMan

Changed paths:
    common/macresman.cpp
    common/macresman.h


diff --git a/common/macresman.cpp b/common/macresman.cpp
index f6a4f9f370..c45495d22e 100644
--- a/common/macresman.cpp
+++ b/common/macresman.cpp
@@ -750,4 +750,28 @@ void MacResManager::dumpRaw() {
 	}
 }
 
+MacResManager::MacVers *MacResManager::parseVers(SeekableReadStream *vvers) {
+	MacVers *v = new MacVers;
+
+	v->majorVer = vvers->readByte();
+	v->minorVer = vvers->readByte();
+	byte devStage = vvers->readByte();
+	const char *s;
+	switch (devStage) {
+	case 0x20: s = "Prealpha"; break;
+	case 0x40: s = "Alpha";    break;
+	case 0x60: s = "Beta";     break;
+	case 0x80: s = "Final";    break;
+	default:   s = "";
+	}
+	v->devStr = s;
+
+	v->preReleaseVer = vvers->readByte();
+	v->region = vvers->readUint16BE();
+	v->str = vvers->readPascalString();
+	v->msg = vvers->readPascalString();
+
+	return v;
+}
+
 } // End of namespace Common
diff --git a/common/macresman.h b/common/macresman.h
index f2bec46d94..6ae3fd36dc 100644
--- a/common/macresman.h
+++ b/common/macresman.h
@@ -198,6 +198,18 @@ public:
 	 */
 	static bool isMacBinary(SeekableReadStream &stream);
 
+	struct MacVers {
+		byte majorVer;
+		byte minorVer;
+		byte devStage;
+		String devStr;
+		byte preReleaseVer;
+		uint16 region;
+		String str;
+		String msg;
+	};
+	static MacVers *parseVers(SeekableReadStream *vvers);
+
 private:
 	SeekableReadStream *_stream;
 	String _baseFileName;


Commit: 2a25231035597be454acc07c6e340bf9a1e3da6e
    https://github.com/scummvm/scummvm/commit/2a25231035597be454acc07c6e340bf9a1e3da6e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-08T11:42:59+02:00

Commit Message:
DIRECTOR: Use MacResMan's vers parser

Changed paths:
    engines/director/resource.cpp


diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp
index ccee3abf9f..48e859cf60 100644
--- a/engines/director/resource.cpp
+++ b/engines/director/resource.cpp
@@ -77,25 +77,12 @@ Common::Error Stage::loadInitialMovie() {
 			Common::Array<uint16> vers = _mainArchive->getResourceIDList(MKTAG('v', 'e', 'r', 's'));
 			for (Common::Array<uint16>::iterator iterator = vers.begin(); iterator != vers.end(); ++iterator) {
 				Common::SeekableSubReadStreamEndian *vvers = _mainArchive->getResource(MKTAG('v', 'e', 'r', 's'), *iterator);
-				byte majorVer = vvers->readByte();
-				byte minorVer = vvers->readByte();
-				byte devStage = vvers->readByte();
-				const char *devStr;
-				switch (devStage) {
-				case 0x20: devStr = "Prealpha"; break;
-				case 0x40: devStr = "Alpha";    break;
-				case 0x60: devStr = "Beta";     break;
-				case 0x80: devStr = "Final";    break;
-				default:   devStr = "";
-				}
-
-				byte preReleaseVer = vvers->readByte();
-				uint16 region = vvers->readUint16BE();
-				Common::String str = vvers->readPascalString();
-				Common::String msg = vvers->readPascalString();
-
-				debug(0, "Detected vers %d.%d %s.%d region %d '%s' '%s'", majorVer, minorVer, devStr,
-					preReleaseVer, region, str.c_str(), msg.c_str());
+				Common::MacResManager::MacVers *v = Common::MacResManager::parseVers(vvers);
+
+				debug(0, "Detected vers %d.%d %s.%d region %d '%s' '%s'", v->majorVer, v->minorVer, v->devStr.c_str(),
+					v->preReleaseVer, v->region, v->str.c_str(), v->msg.c_str());
+
+				delete v;
 			}
 		}
 




More information about the Scummvm-git-logs mailing list