diff --git a/stepmania/Installer/Languages/de.ini b/stepmania/Installer/Languages/de.ini deleted file mode 100644 index 37ac968c42..0000000000 --- a/stepmania/Installer/Languages/de.ini +++ /dev/null @@ -1,34 +0,0 @@ -[Installer Sections] -TEXT_IO_CHECK_FOR_UPDATES=Updates zu überprüfen -TEXT_IO_RUN=${PRODUCT_DISPLAY} -TEXT_IO_OPEN_PROGRAM_FOLDER=${PRODUCT_ID} Programmordner öffnen -TEXT_IO_MANUAL=${PRODUCT_ID} Dokumentation -TEXT_IO_TOOLS=${PRODUCT_ID} Werkzeug -TEXT_IO_WEB_SITE=${PRODUCT_ID} Webseite -TEXT_IO_UNINSTALL=Deinstallation von ${PRODUCT_DISPLAY} -TEXT_IO_VIEW_STATISTICS=Statistiken anschauen -TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (Nur entfernen) -TEXT_IO_SMZIP_PACKAGE=SMZIP Paket -TEXT_IO_FATAL_ERROR_COPYING_PCK=Fatal error copying pck files. -TEXT_IO_FATAL_ERROR_INSTALL=Fatal error during install. - -[Installer Functions] -TEXT_IO_TITLE=${PRODUCT_DISPLAY} -TEXT_IO_SUBTITLE= -TEXT_IO_INSTALL=Installieren -TEXT_IO_PLAY=Spielen -TEXT_IO_REINSTALL=Noch mal installieren - -[Leave Autorun] -TEXT_IO_COULD_NOT_EXECUTE=Konnte $INSTDIR\Program\${PRODUCT_FAMILY}.exe nicht ausführen - -[PreInstall] -TEXT_IO_UNINSTALL_PREVIOUS=Die letzte Version von ${PRODUCT_ID} muss deinstalliert werden, bevor Sie weiter machen.\nWollen Sie fortfahren? -TEXT_IO_DIRECTX_VISIT_MICROSOFT=Die letzte Version von DirectX (8.1 oder höher) ist dringend zu empfehlen.\nWollen Sie die Webseite von Microsoft jetzt besuchen? -TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Deinstallation fehlgeschlagen. Trotzdem installieren? -TEXT_IO_INSTALL_DIRECTX=Die letzte Version von DirectX (8.1 oder höher) ist dringend zu empfehlen.\nWollen Sie es jetzt installieren? -TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} scheint nicht installiert zu sein.\nWollen Sie fortfahren? - -[Uninstall] -TEXT_IO_FATAL_ERROR_UNINSTALL=Fatal error during uninstall. - diff --git a/stepmania/Installer/Languages/en.ini b/stepmania/Installer/Languages/en.ini deleted file mode 100644 index e9d6d3206e..0000000000 --- a/stepmania/Installer/Languages/en.ini +++ /dev/null @@ -1,33 +0,0 @@ -[Installer Sections] -TEXT_IO_CHECK_FOR_UPDATES=Check for Updates -TEXT_IO_RUN=${PRODUCT_DISPLAY} -TEXT_IO_OPEN_PROGRAM_FOLDER=Open ${PRODUCT_ID} Program Folder -TEXT_IO_MANUAL=${PRODUCT_ID} Manual -TEXT_IO_TOOLS=${PRODUCT_ID} Tools -TEXT_IO_WEB_SITE=${PRODUCT_ID} Web Site -TEXT_IO_UNINSTALL=Uninstall ${PRODUCT_DISPLAY} -TEXT_IO_VIEW_STATISTICS=View Statistics -TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (remove only) -TEXT_IO_SMZIP_PACKAGE=SMZIP package -TEXT_IO_FATAL_ERROR_COPYING_PCK =Fatal error copying pck files. -TEXT_IO_FATAL_ERROR_INSTALL=Fatal error during install. - -[Installer Functions] -TEXT_IO_TITLE=${PRODUCT_DISPLAY} -TEXT_IO_SUBTITLE= -TEXT_IO_INSTALL=Install -TEXT_IO_PLAY=Play -TEXT_IO_REINSTALL=Reinstall - -[Leave Autorun] -TEXT_IO_COULD_NOT_EXECUTE=Could not execute $INSTDIR\Program\${PRODUCT_FAMILY}.exe - -[PreInstall] -TEXT_IO_UNINSTALL_PREVIOUS=The previous version of ${PRODUCT_ID} must be uninstalled before continuing.\nDo you wish to continue? -TEXT_IO_DIRECTX_VISIT_MICROSOFT=The latest version of DirectX (8.1 or higher) is strongly recommended.\nDo you wish to visit Microsoft's site now? -TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Uninstallation failed. Install anyway? -TEXT_IO_INSTALL_DIRECTX=The latest version of DirectX (8.1 or higher) is required.\nDo you wish to install DirectX 8.1 now? -TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} does not appear to be installed.\nDo you wish to continue? - -[Uninstall] -TEXT_IO_FATAL_ERROR_UNINSTALL=Fatal error during uninstall. diff --git a/stepmania/Installer/Languages/es.ini b/stepmania/Installer/Languages/es.ini deleted file mode 100644 index 344a16aad1..0000000000 --- a/stepmania/Installer/Languages/es.ini +++ /dev/null @@ -1,34 +0,0 @@ -[Installer Sections] -TEXT_IO_CHECK_FOR_UPDATES=Compruebe para actualizaciones -TEXT_IO_RUN=${PRODUCT_DISPLAY} -TEXT_IO_OPEN_PROGRAM_FOLDER=Abrir la carpeta de programa de ${PRODUCT_ID} -TEXT_IO_MANUAL=${PRODUCT_ID} Documentacion -TEXT_IO_TOOLS=${PRODUCT_ID} Herramientas -TEXT_IO_WEB_SITE=${PRODUCT_ID} Sitio -TEXT_IO_UNINSTALL=Desinstalando ${PRODUCT_DISPLAY} -TEXT_IO_VIEW_STATISTICS=Ver estadisticas -TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (Remover solamente) -TEXT_IO_SMZIP_PACKAGE=SMZIP paquete -TEXT_IO_FATAL_ERROR_COPYING_PCK=Fatal error copying pck files. -TEXT_IO_FATAL_ERROR_INSTALL=Fatal error during install. - -[Installer Functions] -TEXT_IO_TITLE=${PRODUCT_DISPLAY} -TEXT_IO_SUBTITLE= -TEXT_IO_INSTALL=Instalar -TEXT_IO_PLAY=Jugar -TEXT_IO_REINSTALL=Reinstalar - -[Leave Autorun] -TEXT_IO_COULD_NOT_EXECUTE=No se pudo ejecutar $INSTDIR\Program\${PRODUCT_FAMILY}.exe - -[PreInstall] -TEXT_IO_UNINSTALL_PREVIOUS=La version anterior de ${PRODUCT_ID} debe ser desinstalada antes de continuar. ¿Desea continuar? -TEXT_IO_DIRECTX_VISIT_MICROSOFT=La ultima version de DirectX (8.1 o mayor) es fuertemente recomendada. ¿Desea visitar el sitio web de Mircosoft ahora? -TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Fallo desinstalacion. ¿Instalar de todas maneras? -TEXT_IO_INSTALL_DIRECTX=La ultima version de DirectX (8.1 o mayor) es fuertemente recomendada. ¿Desea instalarlo ahora? -TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} no parece hace sido instalado.\n¿Desea continuar? - -[Uninstall] -TEXT_IO_FATAL_ERROR_UNINSTALL=Fatal error during uninstall. - diff --git a/stepmania/Installer/Languages/fr.ini b/stepmania/Installer/Languages/fr.ini deleted file mode 100644 index 082d66b2e0..0000000000 --- a/stepmania/Installer/Languages/fr.ini +++ /dev/null @@ -1,34 +0,0 @@ -[Installer Sections] -TEXT_IO_CHECK_FOR_UPDATES=Vérifier les mises à jour -TEXT_IO_RUN=${PRODUCT_DISPLAY} -TEXT_IO_OPEN_PROGRAM_FOLDER=Ouvrir le dossier programme de ${PRODUCT_ID} -TEXT_IO_MANUAL=Documentation de ${PRODUCT_ID} -TEXT_IO_TOOLS=Outils de ${PRODUCT_ID} -TEXT_IO_WEB_SITE=Le site web de ${PRODUCT_ID} -TEXT_IO_UNINSTALL=Désinstaller ${PRODUCT_DISPLAY} -TEXT_IO_VIEW_STATISTICS=Voir les statistiques -TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (Supprimer uniquement) -TEXT_IO_SMZIP_PACKAGE=SMZIP package -TEXT_IO_FATAL_ERROR_COPYING_PCK=Fatal error copying pck files. -TEXT_IO_FATAL_ERROR_INSTALL=Fatal error during install. - -[Installer Functions] -TEXT_IO_TITLE=${PRODUCT_DISPLAY} -TEXT_IO_SUBTITLE= -TEXT_IO_INSTALL=Installer -TEXT_IO_PLAY=Jouer -TEXT_IO_REINSTALL=Réinstaller - -[Leave Autorun] -TEXT_IO_COULD_NOT_EXECUTE=N'a pas pu exécuter $INSTDIR\Program\${PRODUCT_FAMILY}.exe - -[PreInstall] -TEXT_IO_UNINSTALL_PREVIOUS=La version précédente de ${PRODUCT_ID} doit être déinstallée pour pouvoir continuer. Voulez-vous continuer ? -TEXT_IO_DIRECTX_VISIT_MICROSOFT=La dernière version de DirectX (8.1 ou supérieure) est hautement recommandée. Voulez-vous visiter le site de Microsoft maintenant ? -TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Echec de la déinstallation. Voulez-vous tout de même lancer l'installation ? -TEXT_IO_INSTALL_DIRECTX=La dernière version de DirectX (8.1 ou supérieure) est hautement recommandée. Désirez-vous l'installer maintenant ? -TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} ne semble pas installé.$\nVoulez-vous continuer? - -[Uninstall] -TEXT_IO_FATAL_ERROR_UNINSTALL=Fatal error during uninstall. - diff --git a/stepmania/Installer/Languages/it.ini b/stepmania/Installer/Languages/it.ini deleted file mode 100644 index 0d8a1b9af6..0000000000 --- a/stepmania/Installer/Languages/it.ini +++ /dev/null @@ -1,34 +0,0 @@ -[Installer Sections] -TEXT_IO_CHECK_FOR_UPDATES=Per cercare aggiornamenti -TEXT_IO_RUN=${PRODUCT_DISPLAY} -TEXT_IO_OPEN_PROGRAM_FOLDER=Apri ${PRODUCT_ID} Cartella Programmi -TEXT_IO_MANUAL=${PRODUCT_ID} Documentazione -TEXT_IO_TOOLS=${PRODUCT_ID} Strumenti -TEXT_IO_WEB_SITE=${PRODUCT_ID} Sito Web -TEXT_IO_UNINSTALL=Disinstalla ${PRODUCT_DISPLAY} -TEXT_IO_VIEW_STATISTICS=Mostra Statistiche -TEXT_IO_REMOVE_ONLY=${PRODUCT_DISPLAY} (Elimina soltanto) -TEXT_IO_SMZIP_PACKAGE=SMZIP pacchetto -TEXT_IO_FATAL_ERROR_COPYING_PCK=Fatal error copying pck files. -TEXT_IO_FATAL_ERROR_INSTALL=Fatal error during install. - -[Installer Functions] -TEXT_IO_TITLE=${PRODUCT_DISPLAY} -TEXT_IO_SUBTITLE= -TEXT_IO_INSTALL=Installa -TEXT_IO_PLAY=Gioca -TEXT_IO_REINSTALL=Re-installa - -[Leave Autorun] -TEXT_IO_COULD_NOT_EXECUTE=Impossibile eseguire $INSTDIR\Program\${PRODUCT_FAMILY}.exe - -[PreInstall] -TEXT_IO_UNINSTALL_PREVIOUS=Prima di continuare va installata la versione precendente di ${PRODUCT_ID}. Vuoi continuare? -TEXT_IO_DIRECTX_VISIT_MICROSOFT=Si consiglia vivamente di installare la versione più recente di DirectX (8.1 o superiore). Vuoi visitare il sito Microsoft adesso? -TEXT_IO_UNINSTALL_FAILED_INSTALL_ANYWAY=Disinstallazione non riuscita. Vuoi installare comunque? -TEXT_IO_INSTALL_DIRECTX=Si consiglia vivamente di installare la versione più recente di DirectX (8.1 o superiore). Vuoi installarla adesso? -TEXT_IO_FULL_INSTALL_NOT_FOUND=${PRODUCT_ID} non sembra installato.\nVuoi continuare? - -[Uninstall] -TEXT_IO_FATAL_ERROR_UNINSTALL=Fatal error during uninstall. - diff --git a/stepmania/src/ExportNsisStrings.cpp b/stepmania/src/ExportNsisStrings.cpp index 2a21e88b97..62ce70af98 100644 --- a/stepmania/src/ExportNsisStrings.cpp +++ b/stepmania/src/ExportNsisStrings.cpp @@ -4,7 +4,7 @@ #include "RageUtil.h" #include "IniFile.h" -const RString INSTALLER_LANGUAGES_DIR = "Installer/Languages/"; +const RString INSTALLER_LANGUAGES_DIR = "Themes/Installer/Languages/"; void ExportNsisStrings::Do() { diff --git a/stepmania/src/ScreenOptionsMasterPrefs.cpp b/stepmania/src/ScreenOptionsMasterPrefs.cpp index ddb3e7b91b..210756db4b 100644 --- a/stepmania/src/ScreenOptionsMasterPrefs.cpp +++ b/stepmania/src/ScreenOptionsMasterPrefs.cpp @@ -190,7 +190,9 @@ static void Language( int &sel, bool ToSel, const ConfOption *pConfOption ) static void ThemeChoices( vector &out ) { - THEME->GetThemeNames( out ); + THEME->GetSelectableThemeNames( out ); + FOREACH( RString, out, s ) + *s = THEME->GetThemeDisplayName( *s ); } static void DisplayResolutionChoices( vector &out ) @@ -210,14 +212,17 @@ static void Theme( int &sel, bool ToSel, const ConfOption *pConfOption ) vector choices; pConfOption->MakeOptionsList( choices ); + vector vsThemeNames; + THEME->GetSelectableThemeNames( vsThemeNames ); + if( ToSel ) { sel = 0; - for( unsigned i=1; iGetCurThemeName()) ) + for( unsigned i=1; iGetCurThemeName()) ) sel = i; } else { - const RString sNewTheme = choices[sel]; + const RString sNewTheme = vsThemeNames[sel]; if( THEME->GetCurThemeName() != sNewTheme ) THEME->SwitchThemeAndLanguage( sNewTheme, THEME->GetCurLanguage(), PREFSMAN->m_bPseudoLocalize ); } diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index 3bcaad3fea..ac58d4c5f6 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -25,6 +25,8 @@ ThemeManager* THEME = NULL; // global object accessable from anywhere in the program +static const RString THEME_INFO_INI = "ThemeInfo.ini"; + static const char *ElementCategoryNames[] = { "BGAnimations", "Fonts", @@ -154,6 +156,23 @@ void ThemeManager::GetThemeNames( vector& AddTo ) StripCvs( AddTo ); } +void ThemeManager::GetSelectableThemeNames( vector& AddTo ) +{ + GetThemeNames( AddTo ); + for( int i=AddTo.size()-1; i>=0; i-- ) + { + if( !IsThemeSelectable(AddTo[i]) ) + AddTo.erase( AddTo.begin()+i ); + } +} + +int ThemeManager::GetNumSelectableThemes() +{ + vector vs; + GetSelectableThemeNames( vs ); + return vs.size(); +} + bool ThemeManager::DoesThemeExist( const RString &sThemeName ) { vector asThemeNames; @@ -166,6 +185,32 @@ bool ThemeManager::DoesThemeExist( const RString &sThemeName ) return false; } +bool ThemeManager::IsThemeSelectable( const RString &sThemeName ) +{ + RString sDir = GetThemeDirFromName(sThemeName); + IniFile ini; + ini.ReadFile( sDir + THEME_INFO_INI ); + + bool b; + if( ini.GetValue("ThemeInfo","Selectable",b) && !b ) + return false; + + return true; +} + +RString ThemeManager::GetThemeDisplayName( const RString &sThemeName ) +{ + RString sDir = GetThemeDirFromName(sThemeName); + IniFile ini; + ini.ReadFile( sDir + THEME_INFO_INI ); + + RString s; + if( ini.GetValue("ThemeInfo","DisplayName",s) ) + return s; + + return sThemeName; +} + void ThemeManager::GetLanguages( vector& AddTo ) { AddTo.clear(); @@ -1070,6 +1115,7 @@ public: static int GetPathG( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathG(SArg(1),SArg(2)) ); return 1; } static int GetPathB( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathB(SArg(1),SArg(2)) ); return 1; } static int GetPathS( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathS(SArg(1),SArg(2)) ); return 1; } + static int GetNumSelectableThemes( T* p, lua_State *L ) { lua_pushnumber(L, p->GetNumSelectableThemes() ); return 1; } static void Register(lua_State *L) { @@ -1078,6 +1124,7 @@ public: ADD_METHOD( GetPathG ); ADD_METHOD( GetPathB ); ADD_METHOD( GetPathS ); + ADD_METHOD( GetNumSelectableThemes ); Luna::Register( L ); diff --git a/stepmania/src/ThemeManager.h b/stepmania/src/ThemeManager.h index 25cc47c6b9..0449bea54d 100644 --- a/stepmania/src/ThemeManager.h +++ b/stepmania/src/ThemeManager.h @@ -38,7 +38,11 @@ public: ~ThemeManager(); void GetThemeNames( vector& AddTo ); + void GetSelectableThemeNames( vector& AddTo ); + int GetNumSelectableThemes(); bool DoesThemeExist( const RString &sThemeName ); + bool ThemeIsSelectable( const RString &sThemeName ); + RString GetThemeDisplayName( const RString &sThemeName ); void GetLanguages( vector& AddTo ); bool DoesLanguageExist( const RString &sLanguage ); void SwitchThemeAndLanguage( const RString &sThemeName, const RString &sLanguage, bool bPseudoLocalize );