mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 14:16:50 +00:00
engine: fix audio language setting
This commit is contained in:
parent
09924b7998
commit
5912845f29
@ -2738,6 +2738,7 @@ static ConCommand startupmenu( "startupmenu", &CL_CheckToDisplayStartupMenus, "O
|
||||
ConVar cl_language( "cl_language", "english", FCVAR_USERINFO, "Language (from HKCU\\Software\\Valve\\Steam\\Language)" );
|
||||
void CL_InitLanguageCvar()
|
||||
{
|
||||
Msg("CL_InitLanguageCvar\n");
|
||||
if ( Steam3Client().SteamApps() )
|
||||
{
|
||||
cl_language.SetValue( Steam3Client().SteamApps()->GetCurrentGameLanguage() );
|
||||
@ -2747,15 +2748,22 @@ void CL_InitLanguageCvar()
|
||||
char *szLang = getenv("LANG");
|
||||
|
||||
if ( CommandLine()->CheckParm( "-language" ) )
|
||||
{
|
||||
cl_language.SetValue( CommandLine()->ParmValue( "-language", "english") );
|
||||
return;
|
||||
}
|
||||
else if( szLang )
|
||||
{
|
||||
ELanguage lang = PchLanguageICUCodeToELanguage(szLang, k_Lang_English);
|
||||
const char *szShortLang = GetLanguageShortName(lang);
|
||||
cl_language.SetValue( szShortLang );
|
||||
if( Q_strncmp(szShortLang, "none", 4) != 0 )
|
||||
{
|
||||
cl_language.SetValue( szShortLang );
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
cl_language.SetValue( "english" );
|
||||
|
||||
cl_language.SetValue( "english" );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -900,11 +900,20 @@ void COM_InitFilesystem( const char *pFullModPath )
|
||||
}
|
||||
else
|
||||
{
|
||||
char *szLang = getenv("LANG");
|
||||
|
||||
// still allow command line override even when not running steam
|
||||
if (CommandLine()->CheckParm("-audiolanguage"))
|
||||
{
|
||||
Q_strncpy(language, CommandLine()->ParmValue("-audiolanguage", "english"), sizeof( language ) - 1);
|
||||
}
|
||||
else if( szLang )
|
||||
{
|
||||
ELanguage lang = PchLanguageICUCodeToELanguage(szLang, k_Lang_English);
|
||||
const char *szShortLang = GetLanguageShortName(lang);
|
||||
if( Q_strncmp(szShortLang, "none", 4) != 0 )
|
||||
Q_strncpy(language, szShortLang, sizeof( language ) - 1);
|
||||
}
|
||||
}
|
||||
|
||||
if ( ( Q_strlen(language) > 0 ) && ( Q_stricmp(language, "english") ) )
|
||||
|
Loading…
Reference in New Issue
Block a user