[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