diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 405c1e3639..bf5fa41401 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -761,7 +761,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. +WheelSections=ALWAYS means sections in group + ABC; NEVER means no sections;::ABC ONLY shows sections in just ABC sort [ScreenUnlock] SecondsToShow=10 diff --git a/stepmania/src/GameConstantsAndTypes.h b/stepmania/src/GameConstantsAndTypes.h index dd72922655..e304fb34ef 100644 --- a/stepmania/src/GameConstantsAndTypes.h +++ b/stepmania/src/GameConstantsAndTypes.h @@ -109,7 +109,6 @@ RageColor PlayerToColor( int p ); enum SongSortOrder { - SORT_GROUP_NOHEADER, SORT_GROUP, SORT_TITLE, SORT_BPM, diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index 5aa523e205..e29d11ab50 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -64,9 +64,7 @@ void GameState::Reset() m_sPreferredGroup = ""; for( p=0; pm_bMusicWheelUsesSections ? SORT_GROUP_NOHEADER : SORT_GROUP); + m_SongSortOrder = SORT_GROUP; m_PlayMode = PLAY_MODE_INVALID; m_bEditing = false; m_bDemonstration = false; diff --git a/stepmania/src/MusicSortDisplay.cpp b/stepmania/src/MusicSortDisplay.cpp index dc443b06b3..904d4ca648 100644 --- a/stepmania/src/MusicSortDisplay.cpp +++ b/stepmania/src/MusicSortDisplay.cpp @@ -21,7 +21,7 @@ MusicSortDisplay::MusicSortDisplay() { - Load( THEME->GetPathTo("Graphics","music sort icons 1x5") ); + Load( THEME->GetPathTo("Graphics","music sort icons 1x4") ); StopAnimating(); } @@ -29,7 +29,6 @@ void MusicSortDisplay::Set( SongSortOrder so ) { switch( so ) { - case SORT_GROUP_NOHEADER: case SORT_GROUP: case SORT_TITLE: case SORT_BPM: diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 3fea5fc2d8..e189f9f42b 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -526,7 +526,6 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelItemDatas // sort the songs switch( so ) { - case SORT_GROUP_NOHEADER: case SORT_GROUP: case SORT_ROULETTE: SortSongPointerArrayByGroup( arraySongs ); @@ -559,7 +558,7 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelItemDatas bool bUseSections = false; switch( so ) { - case SORT_GROUP_NOHEADER: bUseSections = false; break; +// case SORT_GROUP_NOHEADER: bUseSections = false; break; case SORT_MOST_PLAYED: bUseSections = false; break; case SORT_BPM: bUseSections = false; break; case SORT_GROUP: bUseSections = GAMESTATE->m_sPreferredGroup == "ALL MUSIC"; break; @@ -568,7 +567,7 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelItemDatas default: ASSERT( false ); } - if( !PREFSMAN->m_bMusicWheelUsesSections ) + if( PREFSMAN->m_MusicWheelUsesSections == PrefsManager::NEVER || (so != SORT_TITLE && PREFSMAN->m_MusicWheelUsesSections == PrefsManager::ABC_ONLY )) bUseSections = false; if( bUseSections ) @@ -834,10 +833,7 @@ void MusicWheel::Update( float fDeltaTime ) CString sPrevSelectedSection = m_CurWheelItemData[m_iSelection]->m_sSectionName; // change the sort order - if(!PREFSMAN->m_bMusicWheelUsesSections && ( SongSortOrder( (GAMESTATE->m_SongSortOrder+1) % NUM_SORT_ORDERS) == SongSortOrder(SORT_GROUP_NOHEADER) )) - GAMESTATE->m_SongSortOrder = SongSortOrder( (GAMESTATE->m_SongSortOrder+2) % NUM_SORT_ORDERS); - else - GAMESTATE->m_SongSortOrder = SongSortOrder( (GAMESTATE->m_SongSortOrder+1) % NUM_SORT_ORDERS ); + GAMESTATE->m_SongSortOrder = SongSortOrder( (GAMESTATE->m_SongSortOrder+1) % NUM_SORT_ORDERS ); SCREENMAN->SendMessageToTopScreen( SM_SortOrderChanged, 0 ); SetOpenGroup(GetSectionNameFromSongAndSort( pPrevSelectedSong, GAMESTATE->m_SongSortOrder )); diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index d6afd8af35..ba229e493d 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -70,7 +70,7 @@ PrefsManager::PrefsManager() m_bArcadeOptionsNavigation = false; m_iUnloadTextureDelaySeconds = 0; // disabled 60*30; // 30 mins m_bCoinOpMode = false; - m_bMusicWheelUsesSections = true; + m_MusicWheelUsesSections = ALWAYS; m_iMusicWheelSwitchSpeed = 10; m_bChangeBannersWhenFast = false; m_bEasterEggs = true; @@ -144,7 +144,7 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame ) 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.GetValueI( "Options", "MusicWheelUsesSections", (int&)m_MusicWheelUsesSections ); ini.GetValueI( "Options", "MusicWheelSwitchSpeed", m_iMusicWheelSwitchSpeed ); ini.GetValueB( "Options", "ChangeBannersWhenFast", m_bChangeBannersWhenFast ); ini.GetValue ( "Options", "SoundDrivers", m_sSoundDrivers ); @@ -212,7 +212,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.SetValueI( "Options", "MusicWheelUsesSections", m_MusicWheelUsesSections ); ini.SetValueI( "Options", "MusicWheelSwitchSpeed", m_iMusicWheelSwitchSpeed ); ini.SetValueB( "Options", "ChangeBannersWhenFast", m_bChangeBannersWhenFast ); ini.SetValueB( "Options", "EasterEggs", m_bEasterEggs ); diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h index d348a58051..d6514e13f9 100644 --- a/stepmania/src/PrefsManager.h +++ b/stepmania/src/PrefsManager.h @@ -54,7 +54,7 @@ public: bool m_bInstructions, m_bShowDontDie, m_bShowSelectGroup; bool m_bArcadeOptionsNavigation; bool m_bCoinOpMode; - bool m_bMusicWheelUsesSections; + enum { NEVER, ALWAYS, ABC_ONLY } m_MusicWheelUsesSections; int m_iMusicWheelSwitchSpeed; bool m_bChangeBannersWhenFast; bool m_bEasterEggs; diff --git a/stepmania/src/ScreenAppearanceOptions.cpp b/stepmania/src/ScreenAppearanceOptions.cpp index 2b3c7a3e24..1a1f81a129 100644 --- a/stepmania/src/ScreenAppearanceOptions.cpp +++ b/stepmania/src/ScreenAppearanceOptions.cpp @@ -44,7 +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"} }, + { "Wheel\nSections",3, {"NEVER","ALWAYS", "ABC_ONLY"} }, }; ScreenAppearanceOptions::ScreenAppearanceOptions() : @@ -157,7 +157,7 @@ void ScreenAppearanceOptions::ImportOptions() m_iSelectedOption[0][AO_INSTRUCTIONS] = PREFSMAN->m_bInstructions? 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; + m_iSelectedOption[0][AO_WHEEL_SECTIONS] = (int)PREFSMAN->m_MusicWheelUsesSections; } void ScreenAppearanceOptions::ExportOptions() @@ -182,7 +182,7 @@ void ScreenAppearanceOptions::ExportOptions() PREFSMAN->m_bInstructions = !!m_iSelectedOption[0][AO_INSTRUCTIONS]; 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]; + (int&)PREFSMAN->m_MusicWheelUsesSections = m_iSelectedOption[0][AO_WHEEL_SECTIONS]; PREFSMAN->SaveGamePrefsToDisk(); PREFSMAN->SaveGlobalPrefsToDisk();