[Scummvm-cvs-logs] CVS: scummvm/backends/dc selector.cpp,1.3,1.4

Marcus Comstedt marcus_c at users.sourceforge.net
Thu Oct 17 18:46:03 CEST 2002


Update of /cvsroot/scummvm/scummvm/backends/dc
In directory usw-pr-cvs1:/tmp/cvs-serv561

Modified Files:
	selector.cpp 
Log Message:
Find game names directly from version_settings rather than using the detector.

Index: selector.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/dc/selector.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- selector.cpp	13 Sep 2002 14:27:03 -0000	1.3
+++ selector.cpp	18 Oct 2002 01:45:12 -0000	1.4
@@ -161,15 +161,17 @@
   return false;
 }
 
-static void checkName(GameDetector *d, Game &game)
+static void checkName(Game &game)
 {
-  d->_exe_name = game.filename_base;
-  if(d->detectGame()) {
-    const char *n = d->getGameName();
-    strcpy(game.text, n);
-  } else
-    strcpy(game.text, game.filename_base);
-  d->_exe_name = NULL;
+  const VersionSettings *gnl = version_settings;
+
+  do {
+    if (!scumm_stricmp(game.filename_base, gnl->filename)) {
+      strcpy(game.text, gnl->gamename);
+      return;
+    }
+  } while ((++gnl)->filename);
+  strcpy(game.text, game.filename_base);
 }
 
 static bool checkExe(const char *dir, const char *f)
@@ -214,7 +216,7 @@
   icon.load(NULL, 0);
 }
 
-static int findGames(GameDetector *d, Game *games, int max)
+static int findGames(Game *games, int max)
 {
   Dir *dirs = new Dir[MAX_DIR];
   int curr_game = 0, curr_dir = 0, num_dirs = 1;
@@ -257,7 +259,7 @@
 	      if(checkExe(games[curr_game].dir, "loom"))
 		strcpy(games[curr_game].filename_base, "loomcd");
 	    }
-	    checkName(d, games[curr_game]);
+	    checkName(games[curr_game]);
 #if 0
 	    printf("Registered game <%s> in <%s> <%s> because of <%s> <%s>\n",
 		   games[curr_game].text, games[curr_game].dir,
@@ -433,7 +435,7 @@
   }
 }
 
-bool selectGame(GameDetector *d, char *&ret, char *&dir_ret, Icon &icon)
+bool selectGame(char *&ret, char *&dir_ret, Icon &icon)
 {
   Game *games = new Game[MAX_GAMES];
   int selected, num_games;
@@ -442,7 +444,7 @@
   void *mark = ta_txmark();
 
   for(;;) {
-    num_games = findGames(d, games, MAX_GAMES);
+    num_games = findGames(games, MAX_GAMES);
 
     for(int i=0; i<num_games; i++) {
       games[i].icon.create_texture();





More information about the Scummvm-git-logs mailing list