aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/platform/dc/dc.h2
-rw-r--r--common/gui_options.h2
-rw-r--r--common/language.cpp107
-rw-r--r--common/language.h80
-rw-r--r--common/localization.h2
-rw-r--r--common/module.mk2
-rw-r--r--common/platform.cpp107
-rw-r--r--common/platform.h80
-rw-r--r--common/util.cpp168
-rw-r--r--common/util.h96
-rw-r--r--engines/engine.h2
-rw-r--r--engines/game.h3
-rw-r--r--engines/gob/databases.h2
-rw-r--r--engines/queen/input.h2
-rw-r--r--engines/queen/resource.h3
-rw-r--r--engines/scumm/detection.h3
-rw-r--r--engines/scumm/help.h1
-rw-r--r--engines/sword25/util/lua/scummvm_file.cpp2
-rw-r--r--engines/touche/graphics.h2
-rw-r--r--graphics/sjis.h2
20 files changed, 394 insertions, 274 deletions
diff --git a/backends/platform/dc/dc.h b/backends/platform/dc/dc.h
index 2e32ff3eb4..8ca48bf19e 100644
--- a/backends/platform/dc/dc.h
+++ b/backends/platform/dc/dc.h
@@ -29,6 +29,8 @@
#include "backends/audiocd/default/default-audiocd.h"
#include "backends/fs/fs-factory.h"
#include "audio/mixer_intern.h"
+#include "common/language.h"
+#include "common/platform.h"
#ifdef DYNAMIC_MODULES
#include "backends/plugins/dynamic-plugin.h"
#endif
diff --git a/common/gui_options.h b/common/gui_options.h
index 0c2b8e7fce..5649f1103d 100644
--- a/common/gui_options.h
+++ b/common/gui_options.h
@@ -23,7 +23,7 @@
#ifndef COMMON_GUI_OPTIONS_H
#define COMMON_GUI_OPTIONS_H
-#include "common/util.h" // for Common::Language
+#include "common/language.h"
#define GUIO_NONE "\000"
#define GUIO_NOSUBTITLES "\001"
diff --git a/common/language.cpp b/common/language.cpp
new file mode 100644
index 0000000000..1de01b0207
--- /dev/null
+++ b/common/language.cpp
@@ -0,0 +1,107 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "common/language.h"
+#include "common/str.h"
+
+namespace Common {
+
+const LanguageDescription g_languages[] = {
+ { "zh-cn", "zh_CN", "Chinese (China)", ZH_CNA },
+ { "zh", "zh_TW", "Chinese (Taiwan)", ZH_TWN },
+ { "cz", "cs_CZ", "Czech", CZ_CZE },
+ { "nl", "nl_NL", "Dutch", NL_NLD },
+ { "en", "en", "English", EN_ANY }, // Generic English (when only one game version exist)
+ { "gb", "en_GB", "English (GB)", EN_GRB },
+ { "us", "en_US", "English (US)", EN_USA },
+ { "fr", "fr_FR", "French", FR_FRA },
+ { "de", "de_DE", "German", DE_DEU },
+ { "gr", "el_GR", "Greek", GR_GRE },
+ { "he", "he_IL", "Hebrew", HE_ISR },
+ { "hb", "he_IL", "Hebrew", HE_ISR }, // Deprecated
+ { "hr", "hr_HR", "Croatian", HR_HRV },
+ { "hu", "hu_HU", "Hungarian", HU_HUN },
+ { "it", "it_IT", "Italian", IT_ITA },
+ { "jp", "ja_JP", "Japanese", JA_JPN },
+ { "kr", "ko_KR", "Korean", KO_KOR },
+ { "nb", "nb_NO", "Norwegian Bokm\xE5l", NB_NOR }, // TODO Someone should verify the unix locale
+ { "pl", "pl_PL", "Polish", PL_POL },
+ { "br", "pt_BR", "Portuguese", PT_BRA },
+ { "ru", "ru_RU", "Russian", RU_RUS },
+ { "es", "es_ES", "Spanish", ES_ESP },
+ { "se", "sv_SE", "Swedish", SE_SWE },
+ { 0, 0, 0, UNK_LANG }
+};
+
+Language parseLanguage(const String &str) {
+ if (str.empty())
+ return UNK_LANG;
+
+ const LanguageDescription *l = g_languages;
+ for (; l->code; ++l) {
+ if (str.equalsIgnoreCase(l->code))
+ return l->id;
+ }
+
+ return UNK_LANG;
+}
+
+Language parseLanguageFromLocale(const char *locale) {
+ if (!locale || !*locale)
+ return UNK_LANG;
+
+ const LanguageDescription *l = g_languages;
+ for (; l->code; ++l) {
+ if (!strcmp(l->unixLocale, locale))
+ return l->id;
+ }
+
+ return UNK_LANG;
+}
+
+const char *getLanguageCode(Language id) {
+ const LanguageDescription *l = g_languages;
+ for (; l->code; ++l) {
+ if (l->id == id)
+ return l->code;
+ }
+ return 0;
+}
+
+const char *getLanguageLocale(Language id) {
+ const LanguageDescription *l = g_languages;
+ for (; l->code; ++l) {
+ if (l->id == id)
+ return l->unixLocale;
+ }
+ return 0;
+}
+
+const char *getLanguageDescription(Language id) {
+ const LanguageDescription *l = g_languages;
+ for (; l->code; ++l) {
+ if (l->id == id)
+ return l->description;
+ }
+ return 0;
+}
+
+} // End of namespace Common
diff --git a/common/language.h b/common/language.h
new file mode 100644
index 0000000000..b83f0d34fd
--- /dev/null
+++ b/common/language.h
@@ -0,0 +1,80 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef COMMON_LANGUAGE_H
+#define COMMON_LANGUAGE_H
+
+#include "common/scummsys.h"
+
+namespace Common {
+
+class String;
+
+/**
+ * List of game language.
+ */
+enum Language {
+ ZH_CNA,
+ ZH_TWN,
+ CZ_CZE,
+ NL_NLD,
+ EN_ANY, // Generic English (when only one game version exist)
+ EN_GRB,
+ EN_USA,
+ FR_FRA,
+ DE_DEU,
+ GR_GRE,
+ HE_ISR,
+ HR_HRV,
+ HU_HUN,
+ IT_ITA,
+ JA_JPN,
+ KO_KOR,
+ NB_NOR,
+ PL_POL,
+ PT_BRA,
+ RU_RUS,
+ ES_ESP,
+ SE_SWE,
+
+ UNK_LANG = -1 // Use default language (i.e. none specified)
+};
+
+struct LanguageDescription {
+ const char *code;
+ const char *unixLocale;
+ const char *description;
+ 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 Language parseLanguageFromLocale(const char *locale);
+extern const char *getLanguageCode(Language id);
+extern const char *getLanguageLocale(Language id);
+extern const char *getLanguageDescription(Language id);
+
+} // End of namespace Common
+
+#endif
diff --git a/common/localization.h b/common/localization.h
index 3945cf5fab..e908485b99 100644
--- a/common/localization.h
+++ b/common/localization.h
@@ -22,7 +22,7 @@
#ifndef COMMON_LOCALIZATION_H
#define COMMON_LOCALIZATION_H
-#include "common/util.h"
+#include "common/language.h"
#include "common/keyboard.h"
namespace Common {
diff --git a/common/module.mk b/common/module.mk
index bd17413540..b4928fabda 100644
--- a/common/module.mk
+++ b/common/module.mk
@@ -15,11 +15,13 @@ MODULE_OBJS := \
gui_options.o \
hashmap.o \
iff_container.o \
+ language.o \
localization.o \
macresman.o \
memorypool.o \
md5.o \
mutex.o \
+ platform.o \
quicktime.o \
random.o \
rational.o \
diff --git a/common/platform.cpp b/common/platform.cpp
new file mode 100644
index 0000000000..9986048b48
--- /dev/null
+++ b/common/platform.cpp
@@ -0,0 +1,107 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "common/platform.h"
+#include "common/str.h"
+
+namespace Common {
+
+const PlatformDescription g_platforms[] = {
+ { "2gs", "2gs", "2gs", "Apple IIgs", kPlatformApple2GS },
+ { "3do", "3do", "3do", "3DO", kPlatform3DO },
+ { "acorn", "acorn", "acorn", "Acorn", kPlatformAcorn },
+ { "amiga", "ami", "amiga", "Amiga", kPlatformAmiga },
+ { "atari", "atari-st", "st", "Atari ST", kPlatformAtariST },
+ { "c64", "c64", "c64", "Commodore 64", kPlatformC64 },
+ { "pc", "dos", "ibm", "DOS", kPlatformPC },
+ { "pc98", "pc98", "pc98", "PC-98", kPlatformPC98 },
+ { "wii", "wii", "wii", "Nintendo Wii", kPlatformWii },
+ { "coco3", "coco3", "coco3", "CoCo3", kPlatformCoCo3 },
+
+ // The 'official' spelling seems to be "FM-TOWNS" (e.g. in the Indy4 demo).
+ // However, on the net many variations can be seen, like "FMTOWNS",
+ // "FM TOWNS", "FmTowns", etc.
+ { "fmtowns", "towns", "fm", "FM-TOWNS", kPlatformFMTowns },
+
+ { "linux", "linux", "linux", "Linux", kPlatformLinux },
+ { "macintosh", "mac", "mac", "Macintosh", kPlatformMacintosh },
+ { "pce", "pce", "pce", "PC-Engine", kPlatformPCEngine },
+ { "nes", "nes", "nes", "NES", kPlatformNES },
+ { "segacd", "segacd", "sega", "SegaCD", kPlatformSegaCD },
+ { "windows", "win", "win", "Windows", kPlatformWindows },
+ { "playstation", "psx", "psx", "Sony PlayStation", kPlatformPSX },
+ { "cdi", "cdi", "cdi", "Philips CD-i", kPlatformCDi },
+ { "ios", "ios", "ios", "Apple iOS", kPlatformIOS },
+
+ { 0, 0, 0, "Default", kPlatformUnknown }
+};
+
+Platform parsePlatform(const String &str) {
+ if (str.empty())
+ return kPlatformUnknown;
+
+ // Handle some special case separately, for compatibility with old config
+ // files.
+ if (str == "1")
+ return kPlatformAmiga;
+ else if (str == "2")
+ return kPlatformAtariST;
+ else if (str == "3")
+ return kPlatformMacintosh;
+
+ const PlatformDescription *l = g_platforms;
+ for (; l->code; ++l) {
+ if (str.equalsIgnoreCase(l->code) || str.equalsIgnoreCase(l->code2) || str.equalsIgnoreCase(l->abbrev))
+ return l->id;
+ }
+
+ return kPlatformUnknown;
+}
+
+
+const char *getPlatformCode(Platform id) {
+ const PlatformDescription *l = g_platforms;
+ for (; l->code; ++l) {
+ if (l->id == id)
+ return l->code;
+ }
+ return 0;
+}
+
+const char *getPlatformAbbrev(Platform id) {
+ const PlatformDescription *l = g_platforms;
+ for (; l->code; ++l) {
+ if (l->id == id)
+ return l->abbrev;
+ }
+ return 0;
+}
+
+const char *getPlatformDescription(Platform id) {
+ const PlatformDescription *l = g_platforms;
+ for (; l->code; ++l) {
+ if (l->id == id)
+ return l->description;
+ }
+ return l->description;
+}
+
+} // End of namespace Common
diff --git a/common/platform.h b/common/platform.h
new file mode 100644
index 0000000000..1891c7096d
--- /dev/null
+++ b/common/platform.h
@@ -0,0 +1,80 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef COMMON_PLATFORM_H
+#define COMMON_PLATFORM_H
+
+#include "common/scummsys.h"
+
+namespace Common {
+
+class String;
+
+/**
+ * List of game platforms. Specifying a platform for a target can be used to
+ * give the game engines a hint for which platform the game data file are.
+ * This may be optional or required, depending on the game engine and the
+ * game in question.
+ */
+enum Platform {
+ kPlatformPC,
+ kPlatformAmiga,
+ kPlatformAtariST,
+ kPlatformMacintosh,
+ kPlatformFMTowns,
+ kPlatformWindows,
+ kPlatformNES,
+ kPlatformC64,
+ kPlatformCoCo3,
+ kPlatformLinux,
+ kPlatformAcorn,
+ kPlatformSegaCD,
+ kPlatform3DO,
+ kPlatformPCEngine,
+ kPlatformApple2GS,
+ kPlatformPC98,
+ kPlatformWii,
+ kPlatformPSX,
+ kPlatformCDi,
+ kPlatformIOS,
+
+ kPlatformUnknown = -1
+};
+
+struct PlatformDescription {
+ const char *code;
+ const char *code2;
+ const char *abbrev;
+ const char *description;
+ Platform id;
+};
+
+extern const PlatformDescription g_platforms[];
+
+/** Convert a string containing a platform name into a Platform enum value. */
+extern Platform parsePlatform(const String &str);
+extern const char *getPlatformCode(Platform id);
+extern const char *getPlatformAbbrev(Platform id);
+extern const char *getPlatformDescription(Platform id);
+
+} // End of namespace Common
+
+#endif
diff --git a/common/util.cpp b/common/util.cpp
index 371673d9f4..4d9ff11c5c 100644
--- a/common/util.cpp
+++ b/common/util.cpp
@@ -110,174 +110,6 @@ bool parseBool(const String &val, bool &valAsBool) {
#pragma mark -
-const LanguageDescription g_languages[] = {
- { "zh-cn", "zh_CN", "Chinese (China)", ZH_CNA },
- { "zh", "zh_TW", "Chinese (Taiwan)", ZH_TWN },
- { "cz", "cs_CZ", "Czech", CZ_CZE },
- { "nl", "nl_NL", "Dutch", NL_NLD },
- { "en", "en", "English", EN_ANY }, // Generic English (when only one game version exist)
- { "gb", "en_GB", "English (GB)", EN_GRB },
- { "us", "en_US", "English (US)", EN_USA },
- { "fr", "fr_FR", "French", FR_FRA },
- { "de", "de_DE", "German", DE_DEU },
- { "gr", "el_GR", "Greek", GR_GRE },
- { "he", "he_IL", "Hebrew", HE_ISR },
- { "hb", "he_IL", "Hebrew", HE_ISR }, // Deprecated
- { "hr", "hr_HR", "Croatian", HR_HRV },
- { "hu", "hu_HU", "Hungarian", HU_HUN },
- { "it", "it_IT", "Italian", IT_ITA },
- { "jp", "ja_JP", "Japanese", JA_JPN },
- { "kr", "ko_KR", "Korean", KO_KOR },
- { "nb", "nb_NO", "Norwegian Bokm\xE5l", NB_NOR }, // TODO Someone should verify the unix locale
- { "pl", "pl_PL", "Polish", PL_POL },
- { "br", "pt_BR", "Portuguese", PT_BRA },
- { "ru", "ru_RU", "Russian", RU_RUS },
- { "es", "es_ES", "Spanish", ES_ESP },
- { "se", "sv_SE", "Swedish", SE_SWE },
- { 0, 0, 0, UNK_LANG }
-};
-
-Language parseLanguage(const String &str) {
- if (str.empty())
- return UNK_LANG;
-
- const LanguageDescription *l = g_languages;
- for (; l->code; ++l) {
- if (str.equalsIgnoreCase(l->code))
- return l->id;
- }
-
- return UNK_LANG;
-}
-
-Language parseLanguageFromLocale(const char *locale) {
- if (!locale || !*locale)
- return UNK_LANG;
-
- const LanguageDescription *l = g_languages;
- for (; l->code; ++l) {
- if (!strcmp(l->unixLocale, locale))
- return l->id;
- }
-
- return UNK_LANG;
-}
-
-const char *getLanguageCode(Language id) {
- const LanguageDescription *l = g_languages;
- for (; l->code; ++l) {
- if (l->id == id)
- return l->code;
- }
- return 0;
-}
-
-const char *getLanguageLocale(Language id) {
- const LanguageDescription *l = g_languages;
- for (; l->code; ++l) {
- if (l->id == id)
- return l->unixLocale;
- }
- return 0;
-}
-
-const char *getLanguageDescription(Language id) {
- const LanguageDescription *l = g_languages;
- for (; l->code; ++l) {
- if (l->id == id)
- return l->description;
- }
- return 0;
-}
-
-
-#pragma mark -
-
-
-const PlatformDescription g_platforms[] = {
- { "2gs", "2gs", "2gs", "Apple IIgs", kPlatformApple2GS },
- { "3do", "3do", "3do", "3DO", kPlatform3DO },
- { "acorn", "acorn", "acorn", "Acorn", kPlatformAcorn },
- { "amiga", "ami", "amiga", "Amiga", kPlatformAmiga },
- { "atari", "atari-st", "st", "Atari ST", kPlatformAtariST },
- { "c64", "c64", "c64", "Commodore 64", kPlatformC64 },
- { "pc", "dos", "ibm", "DOS", kPlatformPC },
- { "pc98", "pc98", "pc98", "PC-98", kPlatformPC98 },
- { "wii", "wii", "wii", "Nintendo Wii", kPlatformWii },
- { "coco3", "coco3", "coco3", "CoCo3", kPlatformCoCo3 },
-
- // The 'official' spelling seems to be "FM-TOWNS" (e.g. in the Indy4 demo).
- // However, on the net many variations can be seen, like "FMTOWNS",
- // "FM TOWNS", "FmTowns", etc.
- { "fmtowns", "towns", "fm", "FM-TOWNS", kPlatformFMTowns },
-
- { "linux", "linux", "linux", "Linux", kPlatformLinux },
- { "macintosh", "mac", "mac", "Macintosh", kPlatformMacintosh },
- { "pce", "pce", "pce", "PC-Engine", kPlatformPCEngine },
- { "nes", "nes", "nes", "NES", kPlatformNES },
- { "segacd", "segacd", "sega", "SegaCD", kPlatformSegaCD },
- { "windows", "win", "win", "Windows", kPlatformWindows },
- { "playstation", "psx", "psx", "Sony PlayStation", kPlatformPSX },
- { "cdi", "cdi", "cdi", "Philips CD-i", kPlatformCDi },
- { "ios", "ios", "ios", "Apple iOS", kPlatformIOS },
-
- { 0, 0, 0, "Default", kPlatformUnknown }
-};
-
-Platform parsePlatform(const String &str) {
- if (str.empty())
- return kPlatformUnknown;
-
- // Handle some special case separately, for compatibility with old config
- // files.
- if (str == "1")
- return kPlatformAmiga;
- else if (str == "2")
- return kPlatformAtariST;
- else if (str == "3")
- return kPlatformMacintosh;
-
- const PlatformDescription *l = g_platforms;
- for (; l->code; ++l) {
- if (str.equalsIgnoreCase(l->code) || str.equalsIgnoreCase(l->code2) || str.equalsIgnoreCase(l->abbrev))
- return l->id;
- }
-
- return kPlatformUnknown;
-}
-
-
-const char *getPlatformCode(Platform id) {
- const PlatformDescription *l = g_platforms;
- for (; l->code; ++l) {
- if (l->id == id)
- return l->code;
- }
- return 0;
-}
-
-const char *getPlatformAbbrev(Platform id) {
- const PlatformDescription *l = g_platforms;
- for (; l->code; ++l) {
- if (l->id == id)
- return l->abbrev;
- }
- return 0;
-}
-
-const char *getPlatformDescription(Platform id) {
- const PlatformDescription *l = g_platforms;
- for (; l->code; ++l) {
- if (l->id == id)
- return l->description;
- }
- return l->description;
-}
-
-
-#pragma mark -
-
-
#define ENSURE_ASCII_CHAR(c) \
if (c < 0 || c > 127) \
return false
diff --git a/common/util.h b/common/util.h
index 4274dc4e07..b90be0675b 100644
--- a/common/util.h
+++ b/common/util.h
@@ -165,102 +165,6 @@ bool isSpace(int c);
*/
bool isUpper(int c);
-
-/**
- * List of game language.
- */
-enum Language {
- ZH_CNA,
- ZH_TWN,
- CZ_CZE,
- NL_NLD,
- EN_ANY, // Generic English (when only one game version exist)
- EN_GRB,
- EN_USA,
- FR_FRA,
- DE_DEU,
- GR_GRE,
- HE_ISR,
- HR_HRV,
- HU_HUN,
- IT_ITA,
- JA_JPN,
- KO_KOR,
- NB_NOR,
- PL_POL,
- PT_BRA,
- RU_RUS,
- ES_ESP,
- SE_SWE,
-
- UNK_LANG = -1 // Use default language (i.e. none specified)
-};
-
-struct LanguageDescription {
- const char *code;
- const char *unixLocale;
- const char *description;
- 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 Language parseLanguageFromLocale(const char *locale);
-extern const char *getLanguageCode(Language id);
-extern const char *getLanguageLocale(Language id);
-extern const char *getLanguageDescription(Language id);
-
-/**
- * List of game platforms. Specifying a platform for a target can be used to
- * give the game engines a hint for which platform the game data file are.
- * This may be optional or required, depending on the game engine and the
- * game in question.
- */
-enum Platform {
- kPlatformPC,
- kPlatformAmiga,
- kPlatformAtariST,
- kPlatformMacintosh,
- kPlatformFMTowns,
- kPlatformWindows,
- kPlatformNES,
- kPlatformC64,
- kPlatformCoCo3,
- kPlatformLinux,
- kPlatformAcorn,
- kPlatformSegaCD,
- kPlatform3DO,
- kPlatformPCEngine,
- kPlatformApple2GS,
- kPlatformPC98,
- kPlatformWii,
- kPlatformPSX,
- kPlatformCDi,
- kPlatformIOS,
-
- kPlatformUnknown = -1
-};
-
-struct PlatformDescription {
- const char *code;
- const char *code2;
- const char *abbrev;
- const char *description;
- Platform id;
-};
-
-extern const PlatformDescription g_platforms[];
-
-/** Convert a string containing a platform name into a Platform enum value. */
-extern Platform parsePlatform(const String &str);
-extern const char *getPlatformCode(Platform id);
-extern const char *getPlatformAbbrev(Platform id);
-extern const char *getPlatformDescription(Platform id);
-
} // End of namespace Common
-
#endif
diff --git a/engines/engine.h b/engines/engine.h
index a020dc4951..4f4223384a 100644
--- a/engines/engine.h
+++ b/engines/engine.h
@@ -24,6 +24,8 @@
#include "common/scummsys.h"
#include "common/str.h"
+#include "common/language.h"
+#include "common/platform.h"
class OSystem;
diff --git a/engines/game.h b/engines/game.h
index d5136936bc..3417203ea7 100644
--- a/engines/game.h
+++ b/engines/game.h
@@ -26,7 +26,8 @@
#include "common/array.h"
#include "common/hash-str.h"
#include "common/str.h"
-#include "common/util.h"
+#include "common/language.h"
+#include "common/platform.h"
/**
* A simple structure used to map gameids (like "monkey", "sword1", ...) to
diff --git a/engines/gob/databases.h b/engines/gob/databases.h
index fb65d8cf96..cde123e6a8 100644
--- a/engines/gob/databases.h
+++ b/engines/gob/databases.h
@@ -26,7 +26,7 @@
#include "common/str.h"
#include "common/hashmap.h"
#include "common/hash-str.h"
-#include "common/util.h"
+#include "common/language.h"
#include "gob/dbase.h"
diff --git a/engines/queen/input.h b/engines/queen/input.h
index 0aa04dd026..b3bf811cd1 100644
--- a/engines/queen/input.h
+++ b/engines/queen/input.h
@@ -23,7 +23,7 @@
#ifndef QUEEN_INPUT_H
#define QUEEN_INPUT_H
-#include "common/util.h"
+#include "common/language.h"
#include "common/rect.h"
#include "common/events.h"
#include "queen/defs.h"
diff --git a/engines/queen/resource.h b/engines/queen/resource.h
index ef8e463631..7317ec5134 100644
--- a/engines/queen/resource.h
+++ b/engines/queen/resource.h
@@ -25,7 +25,8 @@
#include "common/file.h"
#include "common/str-array.h"
-#include "common/util.h"
+#include "common/language.h"
+#include "common/platform.h"
#include "queen/defs.h"
namespace Queen {
diff --git a/engines/scumm/detection.h b/engines/scumm/detection.h
index ad8b3cec12..b6dfa757bb 100644
--- a/engines/scumm/detection.h
+++ b/engines/scumm/detection.h
@@ -23,7 +23,8 @@
#ifndef SCUMM_DETECTION_H
#define SCUMM_DETECTION_H
-#include "common/util.h"
+#include "common/language.h"
+#include "common/platform.h"
namespace Scumm {
diff --git a/engines/scumm/help.h b/engines/scumm/help.h
index 5ba6bdc65c..a3948566c4 100644
--- a/engines/scumm/help.h
+++ b/engines/scumm/help.h
@@ -24,6 +24,7 @@
#define SCUMM_HELP_H
#include "common/str.h"
+#include "common/platform.h"
namespace Scumm {
diff --git a/engines/sword25/util/lua/scummvm_file.cpp b/engines/sword25/util/lua/scummvm_file.cpp
index 33053a71cb..b5f1388129 100644
--- a/engines/sword25/util/lua/scummvm_file.cpp
+++ b/engines/sword25/util/lua/scummvm_file.cpp
@@ -22,7 +22,7 @@
#include "sword25/util/lua/scummvm_file.h"
#include "common/config-manager.h"
-#include "common/util.h"
+#include "common/language.h"
namespace Sword25 {
diff --git a/engines/touche/graphics.h b/engines/touche/graphics.h
index 4b769b0a66..5b2ea39a24 100644
--- a/engines/touche/graphics.h
+++ b/engines/touche/graphics.h
@@ -23,7 +23,7 @@
#ifndef TOUCHE_GRAPHICS_H
#define TOUCHE_GRAPHICS_H
-#include "common/util.h"
+#include "common/language.h"
namespace Touche {
diff --git a/graphics/sjis.h b/graphics/sjis.h
index f96eef6ad1..2d05005fc3 100644
--- a/graphics/sjis.h
+++ b/graphics/sjis.h
@@ -43,7 +43,7 @@
#endif
#include "common/scummsys.h"
-#include "common/util.h"
+#include "common/platform.h"
namespace Graphics {