[Scummvm-git-logs] scummvm master -> 2bb5ef5aeb8decd36d33004b60d9c12de930ca0b
waltervn
walter at vanniftrik-it.nl
Sat Jul 20 00:38:05 CEST 2019
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
a721160982 ADL: Correct a variable name
85efc49e0e ADL: Add another hires6 detection entry
2bb5ef5aeb ADL: Fix double listing in detector
Commit: a72116098220d782ceee7dea987ee1829a63fad5
https://github.com/scummvm/scummvm/commit/a72116098220d782ceee7dea987ee1829a63fad5
Author: Walter van Niftrik (walter at scummvm.org)
Date: 2019-07-19T14:44:19+02:00
Commit Message:
ADL: Correct a variable name
Changed paths:
engines/adl/disk.cpp
diff --git a/engines/adl/disk.cpp b/engines/adl/disk.cpp
index 2e8e762..7361387 100644
--- a/engines/adl/disk.cpp
+++ b/engines/adl/disk.cpp
@@ -610,9 +610,9 @@ int32 computeMD5(const Common::FSNode &node, Common::String &md5, uint32 md5Byte
int version = getVersion_WOZ(f);
if (version > 0) {
- StreamPtr bitStream(readTrack_WOZ(f, 0, version == 2));
- if (bitStream) {
- bool isDOS33 = detectDOS33(*bitStream, bitStream->size());
+ StreamPtr nibbles(readTrack_WOZ(f, 0, version == 2));
+ if (nibbles) {
+ bool isDOS33 = detectDOS33(*nibbles, nibbles->size());
StreamPtr stream(readImage_WOZ(f, isDOS33, tracks));
if (stream) {
md5 = Common::computeStreamMD5AsString(*stream, md5Bytes);
Commit: 85efc49e0e0b7e18ae7b3dab8172a4b200b8b690
https://github.com/scummvm/scummvm/commit/85efc49e0e0b7e18ae7b3dab8172a4b200b8b690
Author: Walter van Niftrik (walter at scummvm.org)
Date: 2019-07-19T22:42:00+02:00
Commit Message:
ADL: Add another hires6 detection entry
Changed paths:
engines/adl/detection.cpp
diff --git a/engines/adl/detection.cpp b/engines/adl/detection.cpp
index 4f898b5..ed3c114 100644
--- a/engines/adl/detection.cpp
+++ b/engines/adl/detection.cpp
@@ -149,7 +149,7 @@ static const AdlGameDescription gameFileDescriptions[] = {
static const AdlGameDescription gameDiskDescriptions[] = {
{ // Hi-Res Adventure #1: Mystery House - Apple II - Contains Coarsegold address
{
- "hires1", 0,
+ "hires1", "",
{
{ "mysthous", 0, "8df0b3b3e609a2e40237e2419c1cb767", 116480 },
AD_LISTEND
@@ -164,7 +164,7 @@ static const AdlGameDescription gameDiskDescriptions[] = {
},
{ // Hi-Res Adventure #1: Mystery House - Apple II - Roberta Williams Anthology
{
- "hires1", 0,
+ "hires1", "",
{
{ "mysthous", 0, "54d20eb1ef0084ac3c2d16c31c5b7eb7", 143360 },
AD_LISTEND
@@ -179,7 +179,7 @@ static const AdlGameDescription gameDiskDescriptions[] = {
},
{ // Hi-Res Adventure #2: Wizard and the Princess - Apple II - Roberta Williams Anthology
{
- "hires2", 0,
+ "hires2", "",
{
{ "wizard", 0, "72b114bf8f94fafe5672daac2a70c765", 143360 },
AD_LISTEND
@@ -194,7 +194,7 @@ static const AdlGameDescription gameDiskDescriptions[] = {
},
{ // Hi-Res Adventure #0: Mission Asteroid - Apple II - Roberta Williams Anthology
{
- "hires0", 0,
+ "hires0", "",
{
{ "mission", 0, "6bc53f51a3c8ee65c020af55fb8bd875", 116480 },
AD_LISTEND
@@ -209,7 +209,7 @@ static const AdlGameDescription gameDiskDescriptions[] = {
},
{ // Hi-Res Adventure #3: Cranston Manor - Apple II
{
- "hires3", 0,
+ "hires3", "",
{
{ "cranston", 0, "e4d35440791a36e55299c7be1ccd2b04", 116480 },
AD_LISTEND
@@ -224,7 +224,7 @@ static const AdlGameDescription gameDiskDescriptions[] = {
},
{ // Hi-Res Adventure #4: Ulysses and the Golden Fleece - Apple II - Load 'N' Go
{
- "hires4", 0,
+ "hires4", "",
{
{ "ulyssesa", 0, "1eaeb2f1a773ce2d1cb9f16b2ef09049", 143360 },
{ "ulyssesb", 1, "9fa8552255ae651b252844168b8b6617", 143360 },
@@ -240,7 +240,7 @@ static const AdlGameDescription gameDiskDescriptions[] = {
},
{ // Hi-Res Adventure #4: Ulysses and the Golden Fleece - Atari 8-bit - Re-release
{
- "hires4", 0,
+ "hires4", "",
{
{ "ulys1b", 0, "bb6aab9a35b41d160b6eefa088165f56", 92160 },
{ "ulys1a", 0, "c227eeee34d0bacd62b2d6231c409204", 92160 },
@@ -258,7 +258,7 @@ static const AdlGameDescription gameDiskDescriptions[] = {
},
{ // Hi-Res Adventure #5: Time Zone - Apple II - Version 1.1 - Roberta Williams Anthology
{
- "hires5", 0,
+ "hires5", "",
{
{ "tzone1a", 2, "731844b1d19c2801e3a5bc61d109af54", 143360 },
{ "tzone1b", 3, "4eaf8d790e3f93097cca9ddbe863df50", 143360 },
@@ -284,7 +284,7 @@ static const AdlGameDescription gameDiskDescriptions[] = {
},
{ // Hi-Res Adventure #6: The Dark Crystal - Apple II - Roberta Williams Anthology / SierraVenture
{
- "hires6", 0,
+ "hires6", "SierraVenture [version A]",
{
{ "dark1a", 0, "9a5968a8f378c84454d88f4cd4e143a9", 143360 },
{ "dark1b", 3, "1271ff9c3e1bdb4942301dd37dd0ef87", 143360 },
@@ -300,6 +300,24 @@ static const AdlGameDescription gameDiskDescriptions[] = {
GAME_TYPE_HIRES6,
GAME_VER_NONE
},
+ { // Hi-Res Adventure #6: The Dark Crystal - Apple II - SierraVenture
+ {
+ "hires6", "SierraVenture [version B]",
+ {
+ { "dark1a", 0, "d0b8e808b02564b6ce58b5ea5cc61ead", 143360 },
+ { "dark1b", 3, "1271ff9c3e1bdb4942301dd37dd0ef87", 143360 },
+ { "dark2a", 4, "090e77563add7b4c9ab25f444d727316", 143360 },
+ { "dark2b", 5, "f2db96af0955324900b800505af4d91f", 143360 },
+ AD_LISTEND
+ },
+ Common::EN_ANY,
+ Common::kPlatformApple2,
+ ADGF_NO_FLAGS,
+ GUIO2(GAMEOPTION_COLOR_DEFAULT_ON, GAMEOPTION_SCANLINES)
+ },
+ GAME_TYPE_HIRES6,
+ GAME_VER_NONE
+ },
{ AD_TABLE_END_MARKER, GAME_TYPE_NONE, GAME_VER_NONE }
};
Commit: 2bb5ef5aeb8decd36d33004b60d9c12de930ca0b
https://github.com/scummvm/scummvm/commit/2bb5ef5aeb8decd36d33004b60d9c12de930ca0b
Author: Walter van Niftrik (walter at scummvm.org)
Date: 2019-07-20T00:20:44+02:00
Commit Message:
ADL: Fix double listing in detector
Changed paths:
engines/adl/detection.cpp
diff --git a/engines/adl/detection.cpp b/engines/adl/detection.cpp
index ed3c114..52807ca 100644
--- a/engines/adl/detection.cpp
+++ b/engines/adl/detection.cpp
@@ -532,13 +532,15 @@ bool AdlMetaEngine::addFileProps(const FileMap &allFiles, Common::String fname,
// Based on AdvancedMetaEngine::detectGame
ADDetectedGames AdlMetaEngine::detectGame(const Common::FSNode &parent, const FileMap &allFiles, Common::Language language, Common::Platform platform, const Common::String &extra) const {
- // We run the file-based detector first and then add to the returned list
+ // We run the file-based detector first, if it finds a match we do not search for disk images
ADDetectedGames matched = AdvancedMetaEngine::detectGame(parent, allFiles, language, platform, extra);
+ if (!matched.empty())
+ return matched;
+
debug(3, "Starting disk image detection in dir '%s'", parent.getPath().c_str());
FilePropertiesMap filesProps;
- bool gotAnyMatchesWithAllFiles = false;
for (uint g = 0; gameDiskDescriptions[g].desc.gameId != 0; ++g) {
ADDetectedGame game(&gameDiskDescriptions[g].desc);
@@ -604,17 +606,20 @@ ADDetectedGames AdlMetaEngine::detectGame(const Common::FSNode &parent, const Fi
debug(3, "Matched file: %s", fileName.c_str());
}
- if (allFilesPresent && !game.hasUnknownFiles) {
- debug(2, "Found game: %s (%s/%s) (%d)", game.desc->gameId, getPlatformDescription(game.desc->platform), getLanguageDescription(game.desc->language), g);
- gotAnyMatchesWithAllFiles = true;
- matched.push_back(game);
- } else {
- if (allFilesPresent && !gotAnyMatchesWithAllFiles) {
- if (matched.empty() || strcmp(matched.back().desc->gameId, game.desc->gameId) != 0)
+ // This assumes that the detection table groups together games that have the same gameId and platform
+ if (allFilesPresent) {
+ if (!game.hasUnknownFiles) {
+ debug(2, "Found game: %s (%s/%s) (%d)", game.desc->gameId, getPlatformDescription(game.desc->platform), getLanguageDescription(game.desc->language), g);
+ // If we just added an unknown variant for this game and platform, remove it
+ if (!matched.empty() && strcmp(matched.back().desc->gameId, game.desc->gameId) == 0 && matched.back().desc->platform == game.desc->platform)
+ matched.pop_back();
+ matched.push_back(game);
+ } else {
+ debug(5, "Skipping game: %s (%s/%s) (%d)", game.desc->gameId, getPlatformDescription(game.desc->platform), getLanguageDescription(game.desc->language), g);
+ // If we already added a known or unknown variant for this game and platform, don't add another
+ if (matched.empty() || strcmp(matched.back().desc->gameId, game.desc->gameId) != 0 || matched.back().desc->platform != game.desc->platform)
matched.push_back(game);
}
-
- debug(5, "Skipping game: %s (%s/%s) (%d)", game.desc->gameId, getPlatformDescription(game.desc->platform), getLanguageDescription(game.desc->language), g);
}
}
More information about the Scummvm-git-logs
mailing list