[Scummvm-cvs-logs] CVS: scummvm/common util.cpp,1.23,1.24 util.h,1.29,1.30

Max Horn fingolfin at users.sourceforge.net
Tue Nov 4 16:59:03 CET 2003


Update of /cvsroot/scummvm/scummvm/common
In directory sc8-pr-cvs1:/tmp/cvs-serv31461

Modified Files:
	util.cpp util.h 
Log Message:
export language list (so that it can be used by the GUI); added methods to convert a Platform/Language ID into a canonical string

Index: util.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/util.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- util.cpp	17 Oct 2003 18:52:15 -0000	1.23
+++ util.cpp	5 Nov 2003 00:58:02 -0000	1.24
@@ -127,14 +127,8 @@
 #pragma mark -
 
 
-struct LanguageDescription {
-	const char *name;
-	const char *description;
-	Common::Language id;
-};
-
-static const struct LanguageDescription languages[] = {
-	{"en", "English", EN_USA},
+const LanguageDescription g_languages[] = {
+	{"en", "English (US)", EN_USA},
 	{"de", "German", DE_DEU},
 	{"fr", "French", FR_FRA},
 	{"it", "Italian", IT_ITA},
@@ -143,7 +137,7 @@
 	{"jp", "Japanese", JA_JPN},
 	{"zh", "Chinese (Taiwan)", ZH_TWN},
 	{"kr", "Korean", KO_KOR},
-	{"gb", "English", EN_GRB},
+	{"gb", "English (GB)", EN_GRB},
 	{"se", "Swedish", SE_SWE},
 	{"hb", "Hebrew", HB_HEB},
  	{"ru", "Russian", RU_RUS},
@@ -155,17 +149,26 @@
 		return UNK_LANG;
 
 	const char *s = str.c_str();
-	const LanguageDescription *l = languages;
-	while (l->name) {
+	const LanguageDescription *l = g_languages;
+	for (; l->name; ++l) {
 		if (!scumm_stricmp(l->name, s))
 			return l->id;
-		l++;
 	}
 
 	return UNK_LANG;
 }
 
 
+const char *getLanguageString(Language id) {
+	const LanguageDescription *l = g_languages;
+	for (; l->name; ++l) {
+		if (l->id == id)
+			return l->name;
+	}
+	return 0;
+}
+
+
 #pragma mark -
 
 
@@ -184,6 +187,17 @@
 		return kPlatformMacintosh;
 	else
 		return kPlatformUnknown;
+}
+
+
+const char *getPlatformString(Platform id) {
+	switch (id) {
+	case Common::kPlatformPC:			return "pc";
+	case Common::kPlatformAmiga:		return "amiga";
+	case Common::kPlatformAtariST:		return "atari";
+	case Common::kPlatformMacintosh:	return "macintosh";
+	default:							return 0;
+	}
 }
 
 

Index: util.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/util.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- util.h	1 Nov 2003 20:44:53 -0000	1.29
+++ util.h	5 Nov 2003 00:58:02 -0000	1.30
@@ -111,8 +111,18 @@
 	RU_RUS = 21
 };
 
+struct LanguageDescription {
+	const char *name;
+	const char *description;
+	Common::Language id;
+};
+
+extern const LanguageDescription g_languages[];
+
+
 /** Convert a string containing a language name into a Language enum value. */
 extern Language parseLanguage(const String &str);
+extern const char *getLanguageString(Language id);
 
 /**
  * List of game platforms. Specifying a platform for a target can be used to
@@ -136,6 +146,7 @@
 
 /** Convert a string containing a platform name into a Platform enum value. */
 extern Platform parsePlatform(const String &str);
+extern const char *getPlatformString(Platform id);
 
 }	// End of namespace Common
 





More information about the Scummvm-git-logs mailing list