[Scummvm-cvs-logs] CVS: scummvm/scumm scumm.cpp,1.583,1.584

Eugene Sandulenko sev at users.sourceforge.net
Mon Sep 19 17:53:35 CEST 2005


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

Modified Files:
	scumm.cpp 
Log Message:
Implement Feature request #1286150 "Third-party translations". Just
use target_md5=234672e54b4534ac6775 which will be used to pick up 
alternative target parameters.


Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.583
retrieving revision 1.584
diff -u -d -r1.583 -r1.584
--- scumm.cpp	17 Sep 2005 00:24:51 -0000	1.583
+++ scumm.cpp	20 Sep 2005 00:52:32 -0000	1.584
@@ -3087,11 +3087,13 @@
 		}
 	}
 
-	// Use MD5 to determine specific game version, if required.
-	if (game.features & GF_MULTIPLE_VERSIONS) {
+	// Check if MD5 was overwritten
+	if (ConfMan.hasKey("target_md5")) {
+		const char *md5 = ConfMan.get("target_md5").c_str();
+
 		g = multiple_versions_md5_settings;
 		while (g->name) {
-			if (!scumm_stricmp(gameMD5, g->name))
+			if (!scumm_stricmp(md5, g->name))
 				break;
 			g++;
 		}
@@ -3101,6 +3103,22 @@
 			if (game.description)
 				g_system->setWindowCaption(game.description);
 		}
+	} else {
+		// Use MD5 to determine specific game version, if required.
+		if (game.features & GF_MULTIPLE_VERSIONS) {
+			g = multiple_versions_md5_settings;
+			while (g->name) {
+				if (!scumm_stricmp(gameMD5, g->name))
+					break;
+				g++;
+			}
+			if (g->name) {
+				game = *g;
+				game.name = name;
+				if (game.description)
+					g_system->setWindowCaption(game.description);
+			}
+		}
 	}
 	// Starting from version 7.1, HE games use 640x480. We check this here since multiple
 	// versions _could_ use different resolutions (I haven't verified this, though).





More information about the Scummvm-git-logs mailing list