[Scummvm-git-logs] scummvm master -> 9b9a27ea8ce6e60fcdfe7467a60b30d0e2647cda

dreammaster paulfgilbert at gmail.com
Mon Jun 22 04:05:01 UTC 2020


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

Summary:
9b9a27ea8c GLK: ADRIFT: Separate out ADRIFT 5 games, mark as unstable


Commit: 9b9a27ea8ce6e60fcdfe7467a60b30d0e2647cda
    https://github.com/scummvm/scummvm/commit/9b9a27ea8ce6e60fcdfe7467a60b30d0e2647cda
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-06-21T21:02:41-07:00

Commit Message:
GLK: ADRIFT: Separate out ADRIFT 5 games, mark as unstable

ADRIFT 5 was a completely new engine, which hasn't yet been
ported to C++. So, a completely absent support for these
games counts as unstable

Changed paths:
    engines/glk/adrift/detection.cpp
    engines/glk/adrift/detection_tables.h


diff --git a/engines/glk/adrift/detection.cpp b/engines/glk/adrift/detection.cpp
index 002085e965..1c828e7e6c 100644
--- a/engines/glk/adrift/detection.cpp
+++ b/engines/glk/adrift/detection.cpp
@@ -58,6 +58,10 @@ void AdriftMetaEngine::getSupportedGames(PlainGameList &games) {
 	for (const PlainGameDescriptor *pd = ADRIFT_GAME_LIST; pd->gameId; ++pd) {
 		games.push_back(*pd);
 	}
+
+	for (const PlainGameDescriptor *pd = ADRIFT5_GAME_LIST; pd->gameId; ++pd) {
+		games.push_back(*pd);
+	}
 }
 
 GameDescriptor AdriftMetaEngine::findGame(const char *gameId) {
@@ -66,6 +70,14 @@ GameDescriptor AdriftMetaEngine::findGame(const char *gameId) {
 			return *pd;
 	}
 
+	for (const PlainGameDescriptor *pd = ADRIFT5_GAME_LIST; pd->gameId; ++pd) {
+		if (!strcmp(gameId, pd->gameId)) {
+			GameDescriptor gd = *pd;
+			gd._supportLevel = kUnstableGame;
+			return gd;
+		}
+	}
+
 	return PlainGameDescriptor();
 }
 
@@ -128,6 +140,12 @@ void AdriftMetaEngine::detectClashes(Common::StringMap &map) {
 			error("Duplicate game Id found - %s", pd->gameId);
 		map[pd->gameId] = "";
 	}
+
+	for (const PlainGameDescriptor *pd = ADRIFT5_GAME_LIST; pd->gameId; ++pd) {
+		if (map.contains(pd->gameId))
+			error("Duplicate game Id found - %s", pd->gameId);
+		map[pd->gameId] = "";
+	}
 }
 
 int AdriftMetaEngine::detectGameVersion(const byte *header) {
diff --git a/engines/glk/adrift/detection_tables.h b/engines/glk/adrift/detection_tables.h
index 04e861641b..a0f1498d61 100644
--- a/engines/glk/adrift/detection_tables.h
+++ b/engines/glk/adrift/detection_tables.h
@@ -142,17 +142,6 @@ const PlainGameDescriptor ADRIFT_GAME_LIST[] = {
 	{ "noblecrook4", "Noble Crook, episode 4" },
 	{ "sonofcamelot", "Son of Camelot" },
 
-#ifndef RELEASE_BUILD
-	// Unsupported English ADRIFT 5 games
-	{ "axeofkolt", "The Axe of Kolt" },
-	{ "castlecoris", "The Spectre of Castle Coris" },
-	{ "fistoffire", "Die Feuerfaust - The Fist of Fire" },
-	{ "magneticmoon", "Magnetic Moon" },
-	{ "starshipquest", "Starship Quest" },
-	{ "sixsilverbullets", "Six Silver Bullets" },
-	{ "tingalan", "Tingalan" },
-#endif
-
 	// Italian Games
 	{ "ilgolem", "Il Golem" },
 
@@ -262,6 +251,19 @@ const PlainGameDescriptor ADRIFT_GAME_LIST[] = {
 	{ nullptr, nullptr }
 };
 
+const PlainGameDescriptor ADRIFT5_GAME_LIST[] = {
+	{ "axeofkolt", "The Axe of Kolt" },
+	{ "castlecoris", "The Spectre of Castle Coris" },
+	{ "fistoffire", "Die Feuerfaust - The Fist of Fire" },
+	{ "magneticmoon", "Magnetic Moon" },
+	{ "starshipquest", "Starship Quest" },
+	{ "sixsilverbullets", "Six Silver Bullets" },
+	{ "tingalan", "Tingalan" },
+
+	{ nullptr, nullptr }
+};
+
+
 const GlkDetectionEntry ADRIFT_GAMES[] = {
 	// English Games
 	DT_ENTRY0("3monkeys", "dec34c282511b1eadfe231dbbb49f625", 79286),




More information about the Scummvm-git-logs mailing list