aboutsummaryrefslogtreecommitdiff
path: root/common/util.cpp
diff options
context:
space:
mode:
authorMax Horn2003-11-05 00:58:02 +0000
committerMax Horn2003-11-05 00:58:02 +0000
commit583ae6145350d798f3dd626229f362a1e58b4944 (patch)
tree81f321cb58eb408492a363df02489da55dbcdf7b /common/util.cpp
parentd45b475b4800651fb334dd20a9c028925d825096 (diff)
downloadscummvm-rg350-583ae6145350d798f3dd626229f362a1e58b4944.tar.gz
scummvm-rg350-583ae6145350d798f3dd626229f362a1e58b4944.tar.bz2
scummvm-rg350-583ae6145350d798f3dd626229f362a1e58b4944.zip
export language list (so that it can be used by the GUI); added methods to convert a Platform/Language ID into a canonical string
svn-id: r11141
Diffstat (limited to 'common/util.cpp')
-rw-r--r--common/util.cpp38
1 files changed, 26 insertions, 12 deletions
diff --git a/common/util.cpp b/common/util.cpp
index 4f16fe5a1d..d7d3c4dd01 100644
--- a/common/util.cpp
+++ b/common/util.cpp
@@ -127,14 +127,8 @@ void StackLock::unlock() {
#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 @@ static const struct LanguageDescription languages[] = {
{"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 @@ Language parseLanguage(const String &str) {
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 -
@@ -187,4 +190,15 @@ Platform parsePlatform(const String &str) {
}
+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;
+ }
+}
+
+
} // End of namespace Common