[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