[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