diff --git a/src/ScreenSelectMusic.cpp b/src/ScreenSelectMusic.cpp index 971d714635..7af22df0d7 100644 --- a/src/ScreenSelectMusic.cpp +++ b/src/ScreenSelectMusic.cpp @@ -619,7 +619,7 @@ void ScreenSelectMusic::Input( const InputEventPlus &input ) // mainline sm4 then -aj if(TWO_PART_CONFIRMS_ONLY) { - if( m_SelectionState == SelectionState_SelectingSteps) + if( m_SelectionState == SelectionState_SelectingSteps ) { if( input.MenuI == m_GameButtonPreviousSong ) { @@ -1307,6 +1307,13 @@ void ScreenSelectMusic::MenuBack( const InputEventPlus &input ) void ScreenSelectMusic::AfterStepsOrTrailChange( const vector &vpns ) { + if(TWO_PART_CONFIRMS_ONLY && m_SelectionState == SelectionState_SelectingSteps) + { + // if TWO_PART_CONFIRMS_ONLY, changing difficulties unsets the song. -aj + m_SelectionState = SelectionState_SelectingSong; + MESSAGEMAN->Broadcast("TwoPartConfirmCanceled"); + } + FOREACH_CONST( PlayerNumber, vpns, p ) { PlayerNumber pn = *p; @@ -1350,6 +1357,11 @@ void ScreenSelectMusic::AfterStepsOrTrailChange( const vector &vpn m_textHighScore[pn].SetText( ssprintf("%*i", NUM_SCORE_DIGITS, iScore) ); } + else + { + // I don't like how numbers just stay up there if the current + // selection is NULL. -aj + } } }