diff --git a/stepmania/Themes/default/Languages/en.ini b/stepmania/Themes/default/Languages/en.ini index 6f6daf4598..1cf1673480 100644 --- a/stepmania/Themes/default/Languages/en.ini +++ b/stepmania/Themes/default/Languages/en.ini @@ -286,6 +286,7 @@ AutoMapOnJoyChange=&oq;ON&cq; will cause the game to automatically remap all the AutoPlay=This option is useful for those who would like to play without using a pad. However, you will not be able to set high scores or earn extra stages while this options is ON. AutogenGroupCourses=Show group Nonstop and Endless courses that were created by Autogen. AutogenSteps=Automatically generate steps from other game types. +OnlyPreferredDifficulties=Only display songs that have the preferred difficulty of the first player. BGBrightness=Controls how bright the background will appear. Turn this setting down if you have a hard time seeing the notes. Background=Change options that control the backgrounds that play during gameplay. BarDrain=BarDrain @@ -703,6 +704,7 @@ AutoMapOnJoyChange=Auto Map On Joy Change AutoPlay=AutoPlay AutogenGroupCourses=Autogen Group Courses AutogenSteps=Autogen Steps +OnlyPreferredDifficulties=Only Show Preferred Difficulties BGBrightness=Brightness Background=Background BarDrain=Bar Drain diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index a8fad0aced..95bc91abc7 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -2747,7 +2747,7 @@ IdleTimeoutSeconds=0 [ScreenOptionsAdvanced] Fallback="ScreenOptionsServiceChild" -LineNames="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30" +LineNames="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31" Line1="conf,MenuTimer" Line2="conf,ScoringType" Line3="conf,TimingWindowScale" @@ -2778,6 +2778,7 @@ Line27="conf,MusicWheelSwitchSpeed" Line28="conf,AutogenSteps" Line29="conf,AutogenGroupCourses" Line30="conf,FastLoad" +Line31="conf,OnlyPreferredDifficulties" [ScreenOptionsGraphicsSound] Fallback="ScreenOptionsServiceChild" diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 01b2e24957..bbd67b738e 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -363,9 +363,22 @@ void MusicWheel::GetSongList( vector &arraySongs, SortOrder so, const RSt if( (so!=SORT_ROULETTE || !RANDOM_PICKS_LOCKED_SONGS) && iLocked ) continue; - // If the song has at least one steps, add it. - if( pSong->HasStepsType(GAMESTATE->GetCurrentStyle()->m_StepsType) ) - arraySongs.push_back( pSong ); + + if(PREFSMAN->m_bOnlyPreferredDifficulties) + { + // if the song has steps that fit the preferred difficulty of the default player + if(pSong->HasStepsTypeAndDifficulty(GAMESTATE->GetCurrentStyle()->m_StepsType,GAMESTATE->m_PreferredDifficulty[GAMESTATE->GetFirstHumanPlayer()]) ) + arraySongs.push_back( pSong ); + } + else + { + // If the song has at least one steps, add it. + if( pSong->HasStepsType(GAMESTATE->GetCurrentStyle()->m_StepsType) ) + arraySongs.push_back( pSong ); + + } + + } /* Hack: Add extra stage item if it was eliminated for any reason (eg. it's a long diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index 3bf2a0b5fa..9de9fc5683 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -207,6 +207,7 @@ PrefsManager::PrefsManager() : m_bDisqualification ( "Disqualification", false ), m_bAutogenSteps ( "AutogenSteps", true ), m_bAutogenGroupCourses ( "AutogenGroupCourses", true ), + m_bOnlyPreferredDifficulties ( "OnlyPreferredDifficulties", false ), m_bBreakComboToGetItem ( "BreakComboToGetItem", false ), m_bLockCourseDifficulties ( "LockCourseDifficulties", true ), m_ShowDancingCharacters ( "ShowDancingCharacters", SDC_Random ), diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h index 71213f6e6b..3a2db89ec9 100644 --- a/stepmania/src/PrefsManager.h +++ b/stepmania/src/PrefsManager.h @@ -195,6 +195,7 @@ public: Preference m_bDisqualification; Preference m_bAutogenSteps; Preference m_bAutogenGroupCourses; + Preference m_bOnlyPreferredDifficulties; Preference m_bBreakComboToGetItem; Preference m_bLockCourseDifficulties; Preference m_ShowDancingCharacters; diff --git a/stepmania/src/ScreenOptionsMasterPrefs.cpp b/stepmania/src/ScreenOptionsMasterPrefs.cpp index b9e821814a..9897e4bd86 100644 --- a/stepmania/src/ScreenOptionsMasterPrefs.cpp +++ b/stepmania/src/ScreenOptionsMasterPrefs.cpp @@ -633,6 +633,7 @@ static void InitializeConfOptions() /* Misc options */ ADD( ConfOption( "AutogenSteps", MovePref, "Off","On" ) ); + ADD( ConfOption( "OnlyPreferredDifficulties", MovePref, "Off","On" ) ); g_ConfOptions.back().m_iEffects = OPT_APPLY_SONG; ADD( ConfOption( "AutogenGroupCourses", MovePref, "Off","On" ) );