diff options
-rw-r--r-- | src/language.h | 1 | ||||
-rw-r--r-- | src/strings.cpp | 14 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/language.h b/src/language.h index a8de8c0f7..5ba424c66 100644 --- a/src/language.h +++ b/src/language.h @@ -103,5 +103,6 @@ extern LanguageList _languages; extern const LanguageMetadata *_current_language; bool ReadLanguagePack(const LanguageMetadata *lang); +const LanguageMetadata *GetLanguage(byte newgrflangid); #endif /* LANGUAGE_H */ diff --git a/src/strings.cpp b/src/strings.cpp index a51fb84d4..8cb362a1f 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1443,17 +1443,17 @@ int CDECL StringIDSorter(const StringID *a, const StringID *b) } /** - * Checks whether the given language is already found. - * @param newgrflangid NewGRF languages ID to check - * @return true if and only if a language file with the same language ID has not been found + * Get the language with the given NewGRF language ID. + * @param newgrflangid NewGRF languages ID to check. + * @return The language's metadata, or NULL if it is not known. */ -static bool UniqueLanguageFile(byte newgrflangid) +const LanguageMetadata *GetLanguage(byte newgrflangid) { for (const LanguageMetadata *lang = _languages.Begin(); lang != _languages.End(); lang++) { - if (newgrflangid == lang->newgrflangid) return false; + if (newgrflangid == lang->newgrflangid) return lang; } - return true; + return NULL; } /** @@ -1499,7 +1499,7 @@ static void GetLanguageList(const char *path) /* Check whether the file is of the correct version */ if (!GetLanguageFileHeader(lmd.file, &lmd)) { DEBUG(misc, 3, "%s is not a valid language file", lmd.file); - } else if (!UniqueLanguageFile(lmd.newgrflangid)) { + } else if (GetLanguage(lmd.newgrflangid) != NULL) { DEBUG(misc, 3, "%s's language ID is already known", lmd.file); } else { *_languages.Append() = lmd; |