[Scummvm-git-logs] scummvm master -> 7e77b6c585ccf19ea11adc2d1ff81ed058e51b05
sev-
noreply at scummvm.org
Fri Jun 3 10:48:56 UTC 2022
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
699747bb14 COMMON: Added more debug output to XMLParser
36beb9cc28 GUI: Added new keys in games.xml
e9a110ef23 DIRECTOR: Added detection for mcluhan
7e77b6c585 DIRECTOR: LINGO: Fix crash when referencing non-existing/non-loaded DV cast
Commit: 699747bb14732d04b7f22a3d26a44146dab70844
https://github.com/scummvm/scummvm/commit/699747bb14732d04b7f22a3d26a44146dab70844
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-06-03T12:36:59+02:00
Commit Message:
COMMON: Added more debug output to XMLParser
Changed paths:
common/xmlparser.cpp
diff --git a/common/xmlparser.cpp b/common/xmlparser.cpp
index 8be6489e123..b50516df00a 100644
--- a/common/xmlparser.cpp
+++ b/common/xmlparser.cpp
@@ -168,18 +168,26 @@ bool XMLParser::parseActiveKey(bool closed) {
if (layout->children.contains(key->name)) {
key->layout = layout->children[key->name];
- const StringMap &localMap = key->values;
+ StringMap localMap = key->values;
int keyCount = localMap.size();
for (List<XMLKeyLayout::XMLKeyProperty>::const_iterator i = key->layout->properties.begin(); i != key->layout->properties.end(); ++i) {
if (i->required && !localMap.contains(i->name))
return parserError("Missing required property '" + i->name + "' inside key '" + key->name + "'");
- else if (localMap.contains(i->name))
+ else if (localMap.contains(i->name)) {
keyCount--;
+ localMap.erase(i->name);
+ }
}
- if (keyCount > 0)
- return parserError("Unhandled property inside key '" + key->name + "'.");
+ if (keyCount > 0) {
+ Common::String missingKeys;
+
+ for (auto i = localMap.begin(); i != localMap.end(); ++i)
+ missingKeys += i->_key + ' ';
+
+ return parserError(Common::String::format("Unhandled property inside key '%s' (%s, %d items).", key->name.c_str(), missingKeys.c_str(), keyCount));
+ }
} else {
return parserError("Unexpected key in the active scope ('" + key->name + "').");
Commit: 36beb9cc284d4baa2e4e983c5da9b0fdce6f9b71
https://github.com/scummvm/scummvm/commit/36beb9cc284d4baa2e4e983c5da9b0fdce6f9b71
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-06-03T12:39:04+02:00
Commit Message:
GUI: Added new keys in games.xml
Changed paths:
gui/MetadataParser.h
diff --git a/gui/MetadataParser.h b/gui/MetadataParser.h
index 819bd16e90a..4506b195102 100644
--- a/gui/MetadataParser.h
+++ b/gui/MetadataParser.h
@@ -93,6 +93,9 @@ protected:
XML_PROP(datafiles, true)
XML_PROP(wikipedia_page, true)
XML_PROP(series_id, true)
+ XML_PROP(steam_id, false)
+ XML_PROP(gog_id, false)
+ XML_PROP(additional_stores, false)
KEY_END() // game end
KEY_END() // games end
Commit: e9a110ef236a54cc90774841404fcce4f56635f2
https://github.com/scummvm/scummvm/commit/e9a110ef236a54cc90774841404fcce4f56635f2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-06-03T12:47:54+02:00
Commit Message:
DIRECTOR: Added detection for mcluhan
Changed paths:
engines/director/detection_tables.h
diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index 0774447c972..2446787a6cd 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -256,6 +256,7 @@ static const PlainGameDescriptor directorGames[] = {
{ "maze", "The Riddle of the Maze" },
{ "mckenzie", "McKenzie & Co." },
{ "mckenziemf", "McKenzie & Co.: More Friends" }, // Expansion for McKenzie & Co.
+ { "mcluhan", "Understanding McLuhan" },
{ "mcmillennium", "Mission Code: Millennium" },
{ "mediaband", "Meet MediaBand" },
{ "melements", "Masters of the Elements" },
@@ -3572,6 +3573,10 @@ static const DirectorGameDescription gameDescriptions[] = {
WINGAME1("mckenziemf", "", "MCKFRAME.EXE", "49c04e880f314a4965d21273df4f2dee", 4038355, 404),
+ WINGAME2t("mcluhan", "", "mcluhan/mcluhan.exe", "317d00bfea3c27688462f01bdd6ac2aa", 3587645,
+ "fg/sunmorn.mov", "baee2df57be48984fabb721ce996b224", 1331857, 404),
+ MACGAME1("mcluhan", "", "McLuhan.dxr", "ce91eb31b2fcebc26451e0cc1632a964", 44371496, 404),
+
WINDEMO1("mcmillennium", "Demo", "MILLDEMO.EXE", "b6027f900ae90ed59de3d22e68d2bfed", 3630918, 404),
// Full game is not Director
Commit: 7e77b6c585ccf19ea11adc2d1ff81ed058e51b05
https://github.com/scummvm/scummvm/commit/7e77b6c585ccf19ea11adc2d1ff81ed058e51b05
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-06-03T12:48:14+02:00
Commit Message:
DIRECTOR: LINGO: Fix crash when referencing non-existing/non-loaded DV cast
Changed paths:
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index d5743cfe535..56672ddef40 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -1567,7 +1567,7 @@ void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
break;
case kTheMovieRate:
channel->_movieRate = d.asFloat();
- if (sprite->_cast->_type == kCastDigitalVideo)
+ if (sprite->_cast && sprite->_cast->_type == kCastDigitalVideo)
((DigitalVideoCastMember *)sprite->_cast)->setMovieRate(channel->_movieRate);
else
warning("Setting movieTime for non-digital video");
More information about the Scummvm-git-logs
mailing list