diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 82a5e5a6fb..294b48d78e 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -714,6 +714,7 @@ NoteSkin=Choose from this list of installed note skins.::For more information ab HowToPlay=Toggle whether the How To Play screen is shown. Caution=Toggle whether the Caution screen is shown. SongGroup=Toggle whether the Select Group screen is shown. +WheelSections=If YES, songs are broken down into sections in the Select Music screen. [ScreenNetworkWaiting] ServerInfoX=320 diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 5c0ce54a74..32ab698be3 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -498,6 +498,8 @@ void MusicWheel::BuildWheelItemDatas( CArray &arr if( bRoulette ) bUseSections = false; + if( !PREFSMAN->m_bMusicWheelUsesSections ) + bUseSections = false; if( bUseSections ) { diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index 02f5a6296b..92945182f5 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -65,7 +65,8 @@ PrefsManager::PrefsManager() m_bArcadeOptionsNavigation = false; m_iUnloadTextureDelaySeconds = 0; // disabled 60*30; // 30 mins m_bCoinOpMode = false; - + m_bMusicWheelUsesSections = true; + /* I'd rather get occasional people asking for support for this even though it's * already here than lots of people asking why songs aren't being displayed. */ m_bHiddenSongs = false; @@ -120,6 +121,7 @@ PrefsManager::~PrefsManager() ini.GetValue ( "Options", "DWIPath", m_DWIPath ); ini.GetValueI( "Options", "UnloadTextureDelaySeconds", m_iUnloadTextureDelaySeconds ); ini.GetValueB( "Options", "CoinOpMode", m_bCoinOpMode ); + ini.GetValueB( "Options", "MusicWheelUsesSections", m_bMusicWheelUsesSections ); ini.GetValue ( "Options", "SoundDrivers", m_bSoundDrivers ); m_asAdditionalSongFolders.clear(); @@ -173,6 +175,7 @@ void PrefsManager::SaveGlobalPrefsToDisk() ini.SetValueB( "Options", "ArcadeOptionsNavigation", m_bArcadeOptionsNavigation ); ini.SetValue ( "Options", "DWIPath", m_DWIPath ); ini.SetValueI( "Options", "UnloadTextureDelaySeconds", m_iUnloadTextureDelaySeconds ); + ini.SetValueB( "Options", "MusicWheelUsesSections", m_bMusicWheelUsesSections ); ini.SetValueB( "Options", "CoinOpMode", m_bCoinOpMode ); /* Only write this if it's been changed. This ensures that we can change diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h index 7a2efee1a4..ade78f4f6c 100644 --- a/stepmania/src/PrefsManager.h +++ b/stepmania/src/PrefsManager.h @@ -52,7 +52,8 @@ public: bool m_bHowToPlay, m_bShowDontDie, m_bShowSelectGroup; bool m_bArcadeOptionsNavigation; bool m_bCoinOpMode; - + bool m_bMusicWheelUsesSections; + CStringArray m_asAdditionalSongFolders; CString m_DWIPath; diff --git a/stepmania/src/ScreenAppearanceOptions.cpp b/stepmania/src/ScreenAppearanceOptions.cpp index 68fe0b2dae..cbf2d53a21 100644 --- a/stepmania/src/ScreenAppearanceOptions.cpp +++ b/stepmania/src/ScreenAppearanceOptions.cpp @@ -33,6 +33,7 @@ enum { AO_HOWTOPLAY, AO_CAUTION, AO_SELECT_GROUP, + AO_WHEEL_SECTIONS, NUM_APPEARANCE_OPTIONS_LINES }; @@ -43,6 +44,7 @@ OptionRowData g_AppearanceOptionsLines[NUM_APPEARANCE_OPTIONS_LINES] = { { "How To\nPlay", 2, {"SKIP","SHOW"} }, { "Caution", 2, {"SKIP","SHOW"} }, { "Song\nGroup", 2, {"ALL MUSIC","CHOOSE"} }, + { "Wheel\nSections",2, {"NO","YES"} }, }; ScreenAppearanceOptions::ScreenAppearanceOptions() : @@ -155,6 +157,7 @@ void ScreenAppearanceOptions::ImportOptions() m_iSelectedOption[0][AO_HOWTOPLAY] = PREFSMAN->m_bHowToPlay? 1:0; m_iSelectedOption[0][AO_CAUTION] = PREFSMAN->m_bShowDontDie? 1:0; m_iSelectedOption[0][AO_SELECT_GROUP] = PREFSMAN->m_bShowSelectGroup? 1:0; + m_iSelectedOption[0][AO_WHEEL_SECTIONS] = PREFSMAN->m_bMusicWheelUsesSections? 1:0; } void ScreenAppearanceOptions::ExportOptions() @@ -179,6 +182,7 @@ void ScreenAppearanceOptions::ExportOptions() PREFSMAN->m_bHowToPlay = !!m_iSelectedOption[0][AO_HOWTOPLAY]; PREFSMAN->m_bShowDontDie = !!m_iSelectedOption[0][AO_CAUTION]; PREFSMAN->m_bShowSelectGroup = !!m_iSelectedOption[0][AO_SELECT_GROUP]; + PREFSMAN->m_bMusicWheelUsesSections = !!m_iSelectedOption[0][AO_WHEEL_SECTIONS]; PREFSMAN->SaveGamePrefsToDisk(); PREFSMAN->SaveGlobalPrefsToDisk();