From fa74b9fdcc8e2d12145daa2591439eb077984895 Mon Sep 17 00:00:00 2001 From: John Bauer Date: Tue, 5 Dec 2006 20:58:26 +0000 Subject: [PATCH] A new set of preferences has a screwed up Theme setting. SM acts as if the theme were set to "default", which is correct, but when you enter the Appearances menu, it changes the theme to "beat" instead. This change fixes the bug by making SM use the same string constant everywhere the default theme is set. --- stepmania/src/PrefsManager.cpp | 22 ++++++++++++---------- stepmania/src/PrefsManager.h | 6 +++++- stepmania/src/ScreenOptionsMasterPrefs.cpp | 1 - 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index 02e52b848b..859862b627 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -1,15 +1,15 @@ #include "global.h" #include "PrefsManager.h" -#include "IniFile.h" -#include "RageDisplay.h" -#include "RageUtil.h" -#include "RageFile.h" -#include "ProductInfo.h" #include "Foreach.h" +#include "IniFile.h" +#include "LuaManager.h" #include "Preference.h" +#include "ProductInfo.h" +#include "RageDisplay.h" +#include "RageFile.h" +#include "RageUtil.h" #include "RageLog.h" #include "SpecialFiles.h" -#include "LuaManager.h" //DEFAULTS_INI_PATH = "Data/Defaults.ini"; // these can be overridden //PREFERENCES_INI_PATH // overlay on Defaults.ini, contains the user's choices @@ -136,7 +136,7 @@ PrefsManager::PrefsManager() : m_sCurrentGame ( "CurrentGame", "" ), m_sAnnouncer ( "Announcer", "" ), - m_sTheme ( "Theme", "" ), + m_sTheme ( "Theme", SpecialFiles::BASE_THEME_NAME ), m_sDefaultModifiers ( "DefaultModifiers", "" ), m_bWindowed ( "Windowed", TRUE_IF_DEBUG ), @@ -322,9 +322,9 @@ void PrefsManager::StoreGamePrefs() // save off old values GamePrefs &gp = m_mapGameNameToGamePrefs[m_sCurrentGame]; - gp.m_sAnnouncer = m_sAnnouncer; - gp.m_sTheme = m_sTheme; - gp.m_sDefaultModifiers = m_sDefaultModifiers; + gp.m_sAnnouncer = m_sAnnouncer; + gp.m_sTheme = m_sTheme; + gp.m_sDefaultModifiers = m_sDefaultModifiers; } void PrefsManager::RestoreGamePrefs() @@ -345,6 +345,8 @@ void PrefsManager::RestoreGamePrefs() ReadPrefsFromFile( SpecialFiles::STATIC_INI_PATH, GetPreferencesSection(), true ); } +PrefsManager::GamePrefs::GamePrefs() : m_sAnnouncer(""), m_sTheme(SpecialFiles::BASE_THEME_NAME), m_sDefaultModifiers("") {} + void PrefsManager::ReadPrefsFromDisk() { ReadDefaultsFromFile( SpecialFiles::DEFAULTS_INI_PATH, GetPreferencesSection() ); diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h index f0a7113270..486eb698bb 100644 --- a/stepmania/src/PrefsManager.h +++ b/stepmania/src/PrefsManager.h @@ -3,9 +3,10 @@ #ifndef PREFSMANAGER_H #define PREFSMANAGER_H -#include "PlayerNumber.h" #include "GameConstantsAndTypes.h" +#include "PlayerNumber.h" #include "Preference.h" + class IniFile; const int MAX_SONGS_PER_PLAY = 7; @@ -92,6 +93,9 @@ protected: void RestoreGamePrefs(); struct GamePrefs { + // See GamePrefs::GamePrefs in PrefsManager.cpp for some default settings + GamePrefs(); + RString m_sAnnouncer; RString m_sTheme; RString m_sDefaultModifiers; diff --git a/stepmania/src/ScreenOptionsMasterPrefs.cpp b/stepmania/src/ScreenOptionsMasterPrefs.cpp index d40ed7c0db..f546184618 100644 --- a/stepmania/src/ScreenOptionsMasterPrefs.cpp +++ b/stepmania/src/ScreenOptionsMasterPrefs.cpp @@ -253,7 +253,6 @@ static void DisplayResolutionChoices( vector &out ) static void Theme( int &sel, bool ToSel, const ConfOption *pConfOption ) { - // TODO FIXME: The default theme is not correctly set to "default". It is set to "". Where do we change that? vector choices; pConfOption->MakeOptionsList( choices );