[Scummvm-cvs-logs] CVS: scummvm/gob gob.cpp,1.4,1.5

Nicolas Bacca arisme at users.sourceforge.net
Sun Apr 10 14:10:20 CEST 2005


Update of /cvsroot/scummvm/scummvm/gob
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18482

Modified Files:
	gob.cpp 
Log Message:
Add autodetection for WinCE (to be modified)

Index: gob.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/gob.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- gob.cpp	9 Apr 2005 19:19:53 -0000	1.4
+++ gob.cpp	10 Apr 2005 21:10:01 -0000	1.5
@@ -31,17 +31,28 @@
 #include "gob/sound.h"
 #include "gob/init.h"
 
-static const GameSettings gob_games[] = {
-	{"gob1", "Gobliiins", 0},
-	{0, 0, 0}
+struct GobGameSettings {
+	const char *name;
+	const char *description;
+	uint32 features;
+	const char *detectname;
+	GameSettings toGameSettings() const {
+		GameSettings dummy = { name, description, features };
+		return dummy;
+	}
+};
+
+static const GobGameSettings gob_games[] = {
+	{"gob1", "Gobliiins", 0, "all.ask"},
+	{0, 0, 0, 0}
 };
 
 GameList Engine_GOB_gameList() {
 	GameList games;
-	const GameSettings *g = gob_games;
+	const GobGameSettings *g = gob_games;
 
 	while (g->name) {
-		games.push_back(*g);
+		games.push_back(g->toGameSettings());
 		g++;
 	}
 
@@ -50,7 +61,22 @@
 
 DetectedGameList Engine_GOB_detectGames(const FSList &fslist) {
 	DetectedGameList detectedGames;
+	const GobGameSettings *g;
+
+	for (g = gob_games; g->name; ++g) {
+		// Iterate over all files in the given directory
+		for (FSList::const_iterator file = fslist.begin(); file != fslist.end(); ++file) {
+			if (!file->isDirectory()) {
+				const char *gameName = file->displayName().c_str();
 
+				if (0 == scumm_stricmp(g->detectname, gameName)) {
+					// Match found, add to list of candidates, then abort inner loop.
+					detectedGames.push_back(g->toGameSettings());
+					break;
+				}
+			}
+		}
+	}
 	return detectedGames;
 }
 





More information about the Scummvm-git-logs mailing list