diff options
author | Max Horn | 2003-11-05 00:58:02 +0000 |
---|---|---|
committer | Max Horn | 2003-11-05 00:58:02 +0000 |
commit | 583ae6145350d798f3dd626229f362a1e58b4944 (patch) | |
tree | 81f321cb58eb408492a363df02489da55dbcdf7b /common/util.cpp | |
parent | d45b475b4800651fb334dd20a9c028925d825096 (diff) | |
download | scummvm-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.cpp | 38 |
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 |