[UI] Listed extended languages
This commit is contained in:
@@ -26,8 +26,10 @@ static const std::map<uint32_t, std::string> kLanguageMap = {
|
||||
{3, "German"}, {4, "French"},
|
||||
{5, "Spanish"}, {6, "Italian"},
|
||||
{7, "Korean"}, {8, "Traditional Chinese"},
|
||||
{9, "Portuguese"}, {10, "Simplified Chinese"},
|
||||
{11, "Polish"}, {12, "Russian"}};
|
||||
{9, "Portuguese"}, {11, "Polish"},
|
||||
{12, "Russian"}, {13, "Swedish"},
|
||||
{14, "Turkish"}, {15, "Norwegian"},
|
||||
{16, "Dutch"}, {17, "Simplified Chinese"}};
|
||||
|
||||
static const std::map<uint8_t, std::string> kCountryMap = {
|
||||
{1, "AE"}, {2, "AL"}, {3, "AM"}, {4, "AR"}, {5, "AT"},
|
||||
|
||||
@@ -540,8 +540,9 @@ XLanguage xeGetLanguage(bool extended_languages_support) {
|
||||
XCONFIG_USER_CATEGORY_ENTRIES::XCONFIG_USER_LANGUAGE));
|
||||
|
||||
uint32_t region = xeXGetGameRegion();
|
||||
auto max_languages = extended_languages_support ? XLanguage::kMaxLanguages
|
||||
: XLanguage::kSChinese;
|
||||
auto max_languages = extended_languages_support
|
||||
? XLanguage::kMaxLanguages
|
||||
: XLanguage::kMaxBaseLanguages;
|
||||
if (desired_language < max_languages) {
|
||||
return desired_language;
|
||||
}
|
||||
@@ -570,7 +571,7 @@ dword_result_t XamGetLanguage_entry() {
|
||||
DECLARE_XAM_EXPORT1(XamGetLanguage, kNone, kImplemented);
|
||||
|
||||
pointer_result_t XamGetLanguageLocaleFallbackString_entry(dword_t language) {
|
||||
assert_false(language > 17);
|
||||
assert_false(language >= static_cast<uint32_t>(XLanguage::kMaxLanguages));
|
||||
return kernel_state()->xam_state()->GetLanguageFallbackAddress(language);
|
||||
}
|
||||
DECLARE_XAM_EXPORT1(XamGetLanguageLocaleFallbackString, kNone, kImplemented);
|
||||
@@ -580,9 +581,9 @@ dword_result_t XamGetLanguageTypeface_entry(dword_t language,
|
||||
dword_t buffer) {
|
||||
std::u16string path{};
|
||||
|
||||
if (language == 0x11) {
|
||||
if (language == static_cast<uint32_t>(XLanguage::kSChinese)) {
|
||||
path = u"file://media:/XenonSCLatin.xtt";
|
||||
} else if (language == 8) {
|
||||
} else if (language == static_cast<uint32_t>(XLanguage::kTChinese)) {
|
||||
path = u"file://media:/XenonCLatin.xtt";
|
||||
} else {
|
||||
path = u"file://media:/XenonJKLatin.xtt";
|
||||
|
||||
@@ -311,11 +311,16 @@ enum class XLanguage : uint32_t {
|
||||
kKorean = 7,
|
||||
kTChinese = 8,
|
||||
kPortuguese = 9,
|
||||
kSChinese = 10,
|
||||
kMaxBaseLanguages = 10,
|
||||
kPolish = 11,
|
||||
kRussian = 12,
|
||||
kSwedish = 13,
|
||||
kTurkish = 14,
|
||||
kNorwegian = 15,
|
||||
kDutch = 16,
|
||||
kSChinese = 17,
|
||||
// STFS headers can't support any more languages than these
|
||||
kMaxLanguages = 13
|
||||
kMaxLanguages = 18
|
||||
};
|
||||
|
||||
enum class XOnlineCountry : uint32_t {
|
||||
|
||||
Reference in New Issue
Block a user