From ec809e5e3e9c5bc479b6cacd9516cc9c49ccecd7 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Fri, 27 Jan 2006 08:13:01 +0000 Subject: [PATCH] show native names for each language --- stepmania/src/ScreenOptionsMasterPrefs.cpp | 24 ++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/stepmania/src/ScreenOptionsMasterPrefs.cpp b/stepmania/src/ScreenOptionsMasterPrefs.cpp index a95d366c36..c3aeb00568 100644 --- a/stepmania/src/ScreenOptionsMasterPrefs.cpp +++ b/stepmania/src/ScreenOptionsMasterPrefs.cpp @@ -153,22 +153,34 @@ static void GameSel( int &sel, bool ToSel, const ConfOption *pConfOption ) static void LanguageChoices( vector &out ) { - THEME->GetLanguages( out ); + vector vs; + THEME->GetLanguages( vs ); + SortRStringArray( vs, true ); + + FOREACH_CONST( RString, vs, s ) + { + const LanguageInfo *pLI = GetLanguageInfo( *s ); + if( pLI ) + out.push_back( pLI->szNativeName ); + else + out.push_back( *s ); + } } static void Language( int &sel, bool ToSel, const ConfOption *pConfOption ) { - vector choices; - pConfOption->MakeOptionsList( choices ); + vector vs; + THEME->GetLanguages( vs ); + SortRStringArray( vs, true ); if( ToSel ) { sel = 0; - for( unsigned i=1; iGetCurLanguage()) ) + for( unsigned i=1; iGetCurLanguage()) ) sel = i; } else { - const RString sNewLanguage = choices[sel]; + const RString &sNewLanguage = vs[sel]; if( THEME->GetCurLanguage() != sNewLanguage ) THEME->SwitchThemeAndLanguage( THEME->GetCurThemeName(), sNewLanguage, PREFSMAN->m_bPseudoLocalize );