From a15ba1322d59c0d59c212869c4baa87064268e3a Mon Sep 17 00:00:00 2001 From: The Dax Date: Wed, 25 Sep 2013 21:05:44 -0400 Subject: [PATCH] Move GetLangValuesMapping out of MiscScreens.cpp so it can be used globally. --- Core/HLE/sceUtility.cpp | 41 +++++++++++++++++++++++++++++++++++++++ Core/HLE/sceUtility.h | 1 + UI/MiscScreens.cpp | 39 ------------------------------------- Windows/WndMainWindow.cpp | 2 -- 4 files changed, 42 insertions(+), 41 deletions(-) diff --git a/Core/HLE/sceUtility.cpp b/Core/HLE/sceUtility.cpp index efdb6aeb86..53f61ab3dd 100644 --- a/Core/HLE/sceUtility.cpp +++ b/Core/HLE/sceUtility.cpp @@ -33,6 +33,8 @@ #include "../Dialog/PSPOskDialog.h" #include "../Dialog/PSPGamedataInstallDialog.h" +#include "../native/file/ini_file.h" + const int SCE_ERROR_MODULE_BAD_ID = 0x80111101; const int SCE_ERROR_MODULE_ALREADY_LOADED = 0x80111102; const int SCE_ERROR_MODULE_NOT_LOADED = 0x80111103; @@ -812,3 +814,42 @@ void Register_sceUtility() { RegisterModule("sceUtility", ARRAY_SIZE(sceUtility), sceUtility); } + +std::map> GetLangValuesMapping() { + std::map> langValuesMapping; + IniFile mapping; + mapping.LoadFromVFS("langregion.ini"); + std::vector keys; + mapping.GetKeys("LangRegionNames", keys); + + + std::map langCodeMapping; + langCodeMapping["JAPANESE"] = PSP_SYSTEMPARAM_LANGUAGE_JAPANESE; + langCodeMapping["ENGLISH"] = PSP_SYSTEMPARAM_LANGUAGE_ENGLISH; + langCodeMapping["FRENCH"] = PSP_SYSTEMPARAM_LANGUAGE_FRENCH; + langCodeMapping["SPANISH"] = PSP_SYSTEMPARAM_LANGUAGE_SPANISH; + langCodeMapping["GERMAN"] = PSP_SYSTEMPARAM_LANGUAGE_GERMAN; + langCodeMapping["ITALIAN"] = PSP_SYSTEMPARAM_LANGUAGE_ITALIAN; + langCodeMapping["DUTCH"] = PSP_SYSTEMPARAM_LANGUAGE_DUTCH; + langCodeMapping["PORTUGUESE"] = PSP_SYSTEMPARAM_LANGUAGE_PORTUGUESE; + langCodeMapping["RUSSIAN"] = PSP_SYSTEMPARAM_LANGUAGE_RUSSIAN; + langCodeMapping["KOREAN"] = PSP_SYSTEMPARAM_LANGUAGE_KOREAN; + langCodeMapping["CHINESE_TRADITIONAL"] = PSP_SYSTEMPARAM_LANGUAGE_CHINESE_TRADITIONAL; + langCodeMapping["CHINESE_SIMPLIFIED"] = PSP_SYSTEMPARAM_LANGUAGE_CHINESE_SIMPLIFIED; + + IniFile::Section *langRegionNames = mapping.GetOrCreateSection("LangRegionNames"); + IniFile::Section *systemLanguage = mapping.GetOrCreateSection("SystemLanguage"); + + for (size_t i = 0; i < keys.size(); i++) { + std::string langName; + langRegionNames->Get(keys[i].c_str(), &langName, "ERROR"); + std::string langCode; + systemLanguage->Get(keys[i].c_str(), &langCode, "ENGLISH"); + int iLangCode = PSP_SYSTEMPARAM_LANGUAGE_ENGLISH; + if (langCodeMapping.find(langCode) != langCodeMapping.end()) + iLangCode = langCodeMapping[langCode]; + langValuesMapping[keys[i]] = std::make_pair(langName, iLangCode); + } + return langValuesMapping; +} + diff --git a/Core/HLE/sceUtility.h b/Core/HLE/sceUtility.h index 39cb4527cc..b519a0030d 100644 --- a/Core/HLE/sceUtility.h +++ b/Core/HLE/sceUtility.h @@ -81,3 +81,4 @@ void __UtilityDoState(PointerWrap &p); void __UtilityShutdown(); void Register_sceUtility(); +std::map> GetLangValuesMapping(); diff --git a/UI/MiscScreens.cpp b/UI/MiscScreens.cpp index 366ff81584..b73423c21f 100644 --- a/UI/MiscScreens.cpp +++ b/UI/MiscScreens.cpp @@ -42,7 +42,6 @@ #pragma execution_character_set("utf-8") #endif - #include "base/timeutil.h" #include "base/colorutil.h" #include "gfx_es2/draw_buffer.h" @@ -95,44 +94,6 @@ void DrawBackground(float alpha) { } } -std::map> GetLangValuesMapping() { - std::map> langValuesMapping; - IniFile mapping; - mapping.LoadFromVFS("langregion.ini"); - std::vector keys; - mapping.GetKeys("LangRegionNames", keys); - - - std::map langCodeMapping; - langCodeMapping["JAPANESE"] = PSP_SYSTEMPARAM_LANGUAGE_JAPANESE; - langCodeMapping["ENGLISH"] = PSP_SYSTEMPARAM_LANGUAGE_ENGLISH; - langCodeMapping["FRENCH"] = PSP_SYSTEMPARAM_LANGUAGE_FRENCH; - langCodeMapping["SPANISH"] = PSP_SYSTEMPARAM_LANGUAGE_SPANISH; - langCodeMapping["GERMAN"] = PSP_SYSTEMPARAM_LANGUAGE_GERMAN; - langCodeMapping["ITALIAN"] = PSP_SYSTEMPARAM_LANGUAGE_ITALIAN; - langCodeMapping["DUTCH"] = PSP_SYSTEMPARAM_LANGUAGE_DUTCH; - langCodeMapping["PORTUGUESE"] = PSP_SYSTEMPARAM_LANGUAGE_PORTUGUESE; - langCodeMapping["RUSSIAN"] = PSP_SYSTEMPARAM_LANGUAGE_RUSSIAN; - langCodeMapping["KOREAN"] = PSP_SYSTEMPARAM_LANGUAGE_KOREAN; - langCodeMapping["CHINESE_TRADITIONAL"] = PSP_SYSTEMPARAM_LANGUAGE_CHINESE_TRADITIONAL; - langCodeMapping["CHINESE_SIMPLIFIED"] = PSP_SYSTEMPARAM_LANGUAGE_CHINESE_SIMPLIFIED; - - IniFile::Section *langRegionNames = mapping.GetOrCreateSection("LangRegionNames"); - IniFile::Section *systemLanguage = mapping.GetOrCreateSection("SystemLanguage"); - - for (size_t i = 0; i < keys.size(); i++) { - std::string langName; - langRegionNames->Get(keys[i].c_str(), &langName, "ERROR"); - std::string langCode; - systemLanguage->Get(keys[i].c_str(), &langCode, "ENGLISH"); - int iLangCode = PSP_SYSTEMPARAM_LANGUAGE_ENGLISH; - if (langCodeMapping.find(langCode) != langCodeMapping.end()) - iLangCode = langCodeMapping[langCode]; - langValuesMapping[keys[i]] = std::make_pair(langName, iLangCode); - } - return langValuesMapping; -} - void UIScreenWithBackground::DrawBackground(UIContext &dc) { ::DrawBackground(1.0f); dc.Flush(); diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index 5d3afc108c..2990f6e2d3 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -91,8 +91,6 @@ extern InputState input_state; #define HID_USAGE_GENERIC_MOUSE ((USHORT) 0x02) #endif -extern std::map> GetLangValuesMapping(); - namespace MainWindow { HWND hwndMain;