diff --git a/stepmania/src/ScreenSelectDifficulty.cpp b/stepmania/src/ScreenSelectDifficulty.cpp index d77bb49ebc..c95e995729 100644 --- a/stepmania/src/ScreenSelectDifficulty.cpp +++ b/stepmania/src/ScreenSelectDifficulty.cpp @@ -325,6 +325,14 @@ void ScreenSelectDifficulty::ChangeTo( PlayerNumber pn, int iSelectionWas, int i bool bSelectedSomethingOnPage1 = iSelectionIs < 3; bool bSelectedSomethingOnPage2 = iSelectionIs >= 3; + bool bSomeoneMadeAChoice = false; + for( int p=0; pIsPlayerEnabled(p) && m_bChosen[p] ) + bSomeoneMadeAChoice = true; + + if( bSomeoneMadeAChoice && (bChangedPagesFrom1To2 || bChangedPagesFrom2To1) ) + return; // don't allow changing pages after one player has chosen + if( bSelectedSomethingOnPage2 ) { // change both players @@ -358,7 +366,7 @@ void ScreenSelectDifficulty::ChangeTo( PlayerNumber pn, int iSelectionWas, int i m_framePages.SetTweenX( bSelectedSomethingOnPage1 ? 0.0f : -SCREEN_WIDTH ); } - for( int p=0; p