diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index e325442475..6cdf010370 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -677,6 +677,7 @@ AlignMusicBeat=0 Codes= OptionsMenuAvailable=OptionsMenuAvailable() SelectMenuAvailable=false +ModeMenuAvailable=ModeMenuAvailable() [ScreenSelectCourse] Class=ScreenSelectMusic diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index a7dd8d3c92..3ced949bba 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -69,7 +69,8 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : ScreenWithMenuEleme CODES( m_sName, "Codes" ), MUSIC_WHEEL_TYPE( m_sName, "MusicWheelType" ), OPTIONS_MENU_AVAILABLE( m_sName, "OptionsMenuAvailable" ), - SELECT_MENU_AVAILABLE( m_sName, "SelectMenuAvailable" ) + SELECT_MENU_AVAILABLE( m_sName, "SelectMenuAvailable" ), + MODE_MENU_AVAILABLE( m_sName, "ModeMenuAvailable" ) { LOG->Trace( "ScreenSelectMusic::ScreenSelectMusic()" ); @@ -851,7 +852,10 @@ void ScreenSelectMusic::Input( const DeviceInput& DeviceI, InputEventType type, ChangeDifficulty( pn, +1 ); break; case MENU_BUTTON_START: - m_MusicWheel.ChangeSort( SORT_MODE_MENU ); + if( MODE_MENU_AVAILABLE ) + m_MusicWheel.ChangeSort( SORT_MODE_MENU ); + else + m_soundLocked.Play(); break; } } @@ -947,10 +951,10 @@ void ScreenSelectMusic::Input( const DeviceInput& DeviceI, InputEventType type, } if( CodeDetector::EnteredModeMenu(GameI.controller) ) { - if( ( GAMESTATE->IsExtraStage() && !PREFSMAN->m_bPickExtraStage ) || GAMESTATE->IsExtraStage2() ) - m_soundLocked.Play(); - else + if( MODE_MENU_AVAILABLE ) m_MusicWheel.ChangeSort( SORT_MODE_MENU ); + else + m_soundLocked.Play(); return; } if( CodeDetector::EnteredNextSort(GameI.controller) ) diff --git a/stepmania/src/ScreenSelectMusic.h b/stepmania/src/ScreenSelectMusic.h index e14ad64e62..1e847e128c 100644 --- a/stepmania/src/ScreenSelectMusic.h +++ b/stepmania/src/ScreenSelectMusic.h @@ -89,6 +89,7 @@ protected: ThemeMetric MUSIC_WHEEL_TYPE; ThemeMetric OPTIONS_MENU_AVAILABLE; DynamicThemeMetric SELECT_MENU_AVAILABLE; + DynamicThemeMetric MODE_MENU_AVAILABLE; CString m_sSectionMusicPath; CString m_sSortMusicPath;