CString -> RString
make GetDefaultLanguage static for smtools
This commit is contained in:
@@ -19,7 +19,7 @@ public:
|
|||||||
* Get the 2-letter RFC-639 code of the user's preferred language
|
* Get the 2-letter RFC-639 code of the user's preferred language
|
||||||
* for localized messages, in uppercase.
|
* for localized messages, in uppercase.
|
||||||
*/
|
*/
|
||||||
virtual CString GetPreferredLanguage() { return "EN"; }
|
static RString GetPreferredLanguage();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If this is a second instance, return true. Optionally, give focus to the existing
|
* If this is a second instance, return true. Optionally, give focus to the existing
|
||||||
@@ -88,7 +88,7 @@ public:
|
|||||||
/*
|
/*
|
||||||
* Add file search paths, higher priority first.
|
* Add file search paths, higher priority first.
|
||||||
*/
|
*/
|
||||||
static void MountInitialFilesystems( const CString &sDirOfExecutable );
|
static void MountInitialFilesystems( const RString &sDirOfExecutable );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/* This are helpers for GetMicrosecondsSinceStart on systems with a timer
|
/* This are helpers for GetMicrosecondsSinceStart on systems with a timer
|
||||||
|
|||||||
@@ -190,99 +190,6 @@ void ArchHooks_Win32::RestartProgram()
|
|||||||
Win32RestartProgram();
|
Win32RestartProgram();
|
||||||
}
|
}
|
||||||
|
|
||||||
static CString LangIdToString( LANGID l )
|
|
||||||
{
|
|
||||||
switch( PRIMARYLANGID(l) )
|
|
||||||
{
|
|
||||||
case LANG_ARABIC: return "AR";
|
|
||||||
case LANG_BULGARIAN: return "BG";
|
|
||||||
case LANG_CATALAN: return "CA";
|
|
||||||
case LANG_CHINESE: return "ZH";
|
|
||||||
case LANG_CZECH: return "CS";
|
|
||||||
case LANG_DANISH: return "DA";
|
|
||||||
case LANG_GERMAN: return "DE";
|
|
||||||
case LANG_GREEK: return "EL";
|
|
||||||
case LANG_SPANISH: return "ES";
|
|
||||||
case LANG_FINNISH: return "FI";
|
|
||||||
case LANG_FRENCH: return "FR";
|
|
||||||
case LANG_HEBREW: return "IW";
|
|
||||||
case LANG_HUNGARIAN: return "HU";
|
|
||||||
case LANG_ICELANDIC: return "IS";
|
|
||||||
case LANG_ITALIAN: return "IT";
|
|
||||||
case LANG_JAPANESE: return "JA";
|
|
||||||
case LANG_KOREAN: return "KO";
|
|
||||||
case LANG_DUTCH: return "NL";
|
|
||||||
case LANG_NORWEGIAN: return "NO";
|
|
||||||
case LANG_POLISH: return "PL";
|
|
||||||
case LANG_PORTUGUESE: return "PT";
|
|
||||||
case LANG_ROMANIAN: return "RO";
|
|
||||||
case LANG_RUSSIAN: return "RU";
|
|
||||||
case LANG_CROATIAN: return "HR";
|
|
||||||
// case LANG_SERBIAN: return "SR"; // same as LANG_CROATIAN?
|
|
||||||
case LANG_SLOVAK: return "SK";
|
|
||||||
case LANG_ALBANIAN: return "SQ";
|
|
||||||
case LANG_SWEDISH: return "SV";
|
|
||||||
case LANG_THAI: return "TH";
|
|
||||||
case LANG_TURKISH: return "TR";
|
|
||||||
case LANG_URDU: return "UR";
|
|
||||||
case LANG_INDONESIAN: return "IN";
|
|
||||||
case LANG_UKRAINIAN: return "UK";
|
|
||||||
case LANG_SLOVENIAN: return "SL";
|
|
||||||
case LANG_ESTONIAN: return "ET";
|
|
||||||
case LANG_LATVIAN: return "LV";
|
|
||||||
case LANG_LITHUANIAN: return "LT";
|
|
||||||
case LANG_VIETNAMESE: return "VI";
|
|
||||||
case LANG_ARMENIAN: return "HY";
|
|
||||||
case LANG_BASQUE: return "EU";
|
|
||||||
case LANG_MACEDONIAN: return "MK";
|
|
||||||
case LANG_AFRIKAANS: return "AF";
|
|
||||||
case LANG_GEORGIAN: return "KA";
|
|
||||||
case LANG_FAEROESE: return "FO";
|
|
||||||
case LANG_HINDI: return "HI";
|
|
||||||
case LANG_MALAY: return "MS";
|
|
||||||
case LANG_KAZAK: return "KK";
|
|
||||||
case LANG_SWAHILI: return "SW";
|
|
||||||
case LANG_UZBEK: return "UZ";
|
|
||||||
case LANG_TATAR: return "TT";
|
|
||||||
case LANG_PUNJABI: return "PA";
|
|
||||||
case LANG_GUJARATI: return "GU";
|
|
||||||
case LANG_TAMIL: return "TA";
|
|
||||||
case LANG_KANNADA: return "KN";
|
|
||||||
case LANG_MARATHI: return "MR";
|
|
||||||
case LANG_SANSKRIT: return "SA";
|
|
||||||
// These aren't present in the VC6 headers. We'll never have translations to these languages anyway. -C
|
|
||||||
//case LANG_MONGOLIAN: return "MN";
|
|
||||||
//case LANG_GALICIAN: return "GL";
|
|
||||||
default:
|
|
||||||
case LANG_ENGLISH: return "EN";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static LANGID GetLanguageID()
|
|
||||||
{
|
|
||||||
HINSTANCE hDLL = LoadLibrary( "kernel32.dll" );
|
|
||||||
if( hDLL )
|
|
||||||
{
|
|
||||||
typedef LANGID(GET_USER_DEFAULT_UI_LANGUAGE)(void);
|
|
||||||
|
|
||||||
GET_USER_DEFAULT_UI_LANGUAGE *pGetUserDefaultUILanguage = (GET_USER_DEFAULT_UI_LANGUAGE*) GetProcAddress( hDLL, "GetUserDefaultUILanguage" );
|
|
||||||
if( pGetUserDefaultUILanguage )
|
|
||||||
{
|
|
||||||
LANGID ret = pGetUserDefaultUILanguage();
|
|
||||||
FreeLibrary( hDLL );
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
FreeLibrary( hDLL );
|
|
||||||
}
|
|
||||||
|
|
||||||
return GetUserDefaultLangID();
|
|
||||||
}
|
|
||||||
|
|
||||||
CString ArchHooks_Win32::GetPreferredLanguage()
|
|
||||||
{
|
|
||||||
return LangIdToString( GetLanguageID() );
|
|
||||||
}
|
|
||||||
|
|
||||||
void ArchHooks_Win32::EnterTimeCriticalSection()
|
void ArchHooks_Win32::EnterTimeCriticalSection()
|
||||||
{
|
{
|
||||||
TimeCritMutex->Lock();
|
TimeCritMutex->Lock();
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ public:
|
|||||||
~ArchHooks_Win32();
|
~ArchHooks_Win32();
|
||||||
void DumpDebugInfo();
|
void DumpDebugInfo();
|
||||||
void RestartProgram();
|
void RestartProgram();
|
||||||
CString GetPreferredLanguage();
|
|
||||||
bool CheckForMultipleInstances();
|
bool CheckForMultipleInstances();
|
||||||
|
|
||||||
int OldThreadPriority;
|
int OldThreadPriority;
|
||||||
|
|||||||
@@ -39,19 +39,19 @@ int64_t ArchHooks::GetMicrosecondsSinceStart( bool bAccurate )
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ArchHooks::MountInitialFilesystems( const CString &sDirOfExecutable )
|
void ArchHooks::MountInitialFilesystems( const RString &sDirOfExecutable )
|
||||||
{
|
{
|
||||||
/* All Windows data goes in the directory one level above the executable. */
|
/* All Windows data goes in the directory one level above the executable. */
|
||||||
CHECKPOINT_M( ssprintf( "DOE \"%s\"", sDirOfExecutable.c_str()) );
|
CHECKPOINT_M( ssprintf( "DOE \"%s\"", sDirOfExecutable.c_str()) );
|
||||||
vector<CString> parts;
|
vector<RString> parts;
|
||||||
split( sDirOfExecutable, "/", parts );
|
split( sDirOfExecutable, "/", parts );
|
||||||
CHECKPOINT_M( ssprintf( "... %i parts", parts.size()) );
|
CHECKPOINT_M( ssprintf( "... %i parts", parts.size()) );
|
||||||
ASSERT_M( parts.size() > 1, ssprintf("Strange sDirOfExecutable: %s", sDirOfExecutable.c_str()) );
|
ASSERT_M( parts.size() > 1, ssprintf("Strange sDirOfExecutable: %s", sDirOfExecutable.c_str()) );
|
||||||
CString Dir = join( "/", parts.begin(), parts.end()-1 );
|
RString Dir = join( "/", parts.begin(), parts.end()-1 );
|
||||||
FILEMAN->Mount( "dir", Dir, "/" );
|
FILEMAN->Mount( "dir", Dir, "/" );
|
||||||
|
|
||||||
CString sMyDocumentsDir = GetMyDocumentsDir();
|
RString sMyDocumentsDir = GetMyDocumentsDir();
|
||||||
CString sApplicationDataDir = GetApplicationDataDir();
|
RString sApplicationDataDir = GetApplicationDataDir();
|
||||||
|
|
||||||
// Mount everything game-writable (not counting the editor) to the user's directory.
|
// Mount everything game-writable (not counting the editor) to the user's directory.
|
||||||
FILEMAN->Mount( "dir", sApplicationDataDir + PRODUCT_ID + "/Cache", "/Cache" );
|
FILEMAN->Mount( "dir", sApplicationDataDir + PRODUCT_ID + "/Cache", "/Cache" );
|
||||||
@@ -59,6 +59,99 @@ void ArchHooks::MountInitialFilesystems( const CString &sDirOfExecutable )
|
|||||||
FILEMAN->Mount( "dir", sMyDocumentsDir + PRODUCT_ID + "/Screenshots", "/Screenshots" );
|
FILEMAN->Mount( "dir", sMyDocumentsDir + PRODUCT_ID + "/Screenshots", "/Screenshots" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static CString LangIdToString( LANGID l )
|
||||||
|
{
|
||||||
|
switch( PRIMARYLANGID(l) )
|
||||||
|
{
|
||||||
|
case LANG_ARABIC: return "AR";
|
||||||
|
case LANG_BULGARIAN: return "BG";
|
||||||
|
case LANG_CATALAN: return "CA";
|
||||||
|
case LANG_CHINESE: return "ZH";
|
||||||
|
case LANG_CZECH: return "CS";
|
||||||
|
case LANG_DANISH: return "DA";
|
||||||
|
case LANG_GERMAN: return "DE";
|
||||||
|
case LANG_GREEK: return "EL";
|
||||||
|
case LANG_SPANISH: return "ES";
|
||||||
|
case LANG_FINNISH: return "FI";
|
||||||
|
case LANG_FRENCH: return "FR";
|
||||||
|
case LANG_HEBREW: return "IW";
|
||||||
|
case LANG_HUNGARIAN: return "HU";
|
||||||
|
case LANG_ICELANDIC: return "IS";
|
||||||
|
case LANG_ITALIAN: return "IT";
|
||||||
|
case LANG_JAPANESE: return "JA";
|
||||||
|
case LANG_KOREAN: return "KO";
|
||||||
|
case LANG_DUTCH: return "NL";
|
||||||
|
case LANG_NORWEGIAN: return "NO";
|
||||||
|
case LANG_POLISH: return "PL";
|
||||||
|
case LANG_PORTUGUESE: return "PT";
|
||||||
|
case LANG_ROMANIAN: return "RO";
|
||||||
|
case LANG_RUSSIAN: return "RU";
|
||||||
|
case LANG_CROATIAN: return "HR";
|
||||||
|
// case LANG_SERBIAN: return "SR"; // same as LANG_CROATIAN?
|
||||||
|
case LANG_SLOVAK: return "SK";
|
||||||
|
case LANG_ALBANIAN: return "SQ";
|
||||||
|
case LANG_SWEDISH: return "SV";
|
||||||
|
case LANG_THAI: return "TH";
|
||||||
|
case LANG_TURKISH: return "TR";
|
||||||
|
case LANG_URDU: return "UR";
|
||||||
|
case LANG_INDONESIAN: return "IN";
|
||||||
|
case LANG_UKRAINIAN: return "UK";
|
||||||
|
case LANG_SLOVENIAN: return "SL";
|
||||||
|
case LANG_ESTONIAN: return "ET";
|
||||||
|
case LANG_LATVIAN: return "LV";
|
||||||
|
case LANG_LITHUANIAN: return "LT";
|
||||||
|
case LANG_VIETNAMESE: return "VI";
|
||||||
|
case LANG_ARMENIAN: return "HY";
|
||||||
|
case LANG_BASQUE: return "EU";
|
||||||
|
case LANG_MACEDONIAN: return "MK";
|
||||||
|
case LANG_AFRIKAANS: return "AF";
|
||||||
|
case LANG_GEORGIAN: return "KA";
|
||||||
|
case LANG_FAEROESE: return "FO";
|
||||||
|
case LANG_HINDI: return "HI";
|
||||||
|
case LANG_MALAY: return "MS";
|
||||||
|
case LANG_KAZAK: return "KK";
|
||||||
|
case LANG_SWAHILI: return "SW";
|
||||||
|
case LANG_UZBEK: return "UZ";
|
||||||
|
case LANG_TATAR: return "TT";
|
||||||
|
case LANG_PUNJABI: return "PA";
|
||||||
|
case LANG_GUJARATI: return "GU";
|
||||||
|
case LANG_TAMIL: return "TA";
|
||||||
|
case LANG_KANNADA: return "KN";
|
||||||
|
case LANG_MARATHI: return "MR";
|
||||||
|
case LANG_SANSKRIT: return "SA";
|
||||||
|
// These aren't present in the VC6 headers. We'll never have translations to these languages anyway. -C
|
||||||
|
//case LANG_MONGOLIAN: return "MN";
|
||||||
|
//case LANG_GALICIAN: return "GL";
|
||||||
|
default:
|
||||||
|
case LANG_ENGLISH: return "EN";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static LANGID GetLanguageID()
|
||||||
|
{
|
||||||
|
HINSTANCE hDLL = LoadLibrary( "kernel32.dll" );
|
||||||
|
if( hDLL )
|
||||||
|
{
|
||||||
|
typedef LANGID(GET_USER_DEFAULT_UI_LANGUAGE)(void);
|
||||||
|
|
||||||
|
GET_USER_DEFAULT_UI_LANGUAGE *pGetUserDefaultUILanguage = (GET_USER_DEFAULT_UI_LANGUAGE*) GetProcAddress( hDLL, "GetUserDefaultUILanguage" );
|
||||||
|
if( pGetUserDefaultUILanguage )
|
||||||
|
{
|
||||||
|
LANGID ret = pGetUserDefaultUILanguage();
|
||||||
|
FreeLibrary( hDLL );
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
FreeLibrary( hDLL );
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetUserDefaultLangID();
|
||||||
|
}
|
||||||
|
|
||||||
|
RString ArchHooks::GetPreferredLanguage()
|
||||||
|
{
|
||||||
|
return LangIdToString( GetLanguageID() );
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (c) 2003-2004 Chris Danford
|
* (c) 2003-2004 Chris Danford
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ extern "C"
|
|||||||
extern char *GetPreferredLanguage();
|
extern char *GetPreferredLanguage();
|
||||||
}
|
}
|
||||||
|
|
||||||
CString ArchHooks_darwin::GetPreferredLanguage()
|
RString ArchHooks::GetPreferredLanguage()
|
||||||
{
|
{
|
||||||
char *lang = ::GetPreferredLanguage();
|
char *lang = ::GetPreferredLanguage();
|
||||||
CString ret = lang;
|
CString ret = lang;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ public:
|
|||||||
ArchHooks_darwin();
|
ArchHooks_darwin();
|
||||||
~ArchHooks_darwin();
|
~ArchHooks_darwin();
|
||||||
void DumpDebugInfo();
|
void DumpDebugInfo();
|
||||||
CString GetPreferredLanguage();
|
RString GetPreferredLanguage();
|
||||||
void EnterTimeCriticalSection();
|
void EnterTimeCriticalSection();
|
||||||
void ExitTimeCriticalSection();
|
void ExitTimeCriticalSection();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user