diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index c9a9ce30a0..de63d5f526 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -29,6 +29,14 @@ #include "InputEventPlus.h" #include "OptionsList.h" +static const char *SelectionStateNames[] = { + "SelectingSong", + "SelectingSteps", + "Finalized" +}; +XToString( SelectionState ); + + const int NUM_SCORE_DIGITS = 9; #define SHOW_OPTIONS_MESSAGE_SECONDS THEME->GetMetricF( m_sName, "ShowOptionsMessageSeconds" ) @@ -200,7 +208,7 @@ void ScreenSelectMusic::BeginScreen() m_MusicWheel.BeginScreen(); m_SelectionState = SelectionState_SelectingSong; - ZERO( m_bStepsSelected ); + ZERO( m_bStepsChosen ); m_bGoToOptions = false; m_bAllowOptionsMenu = m_bAllowOptionsMenuRepeat = false; ZERO( m_iSelection ); @@ -411,7 +419,7 @@ void ScreenSelectMusic::Input( const InputEventPlus &input ) return; // ignore if( m_SelectionState == SelectionState_Finalized || - m_bStepsSelected[input.pn] ) + m_bStepsChosen[input.pn] ) return; // ignore @@ -842,8 +850,6 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input ) return; } - MESSAGEMAN->Broadcast("SongChosen"); - break; case SelectionState_SelectingSteps: @@ -855,16 +861,16 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input ) { if( p == pn ) continue; - bAllOtherHumanPlayersDone &= m_bStepsSelected[p]; + bAllOtherHumanPlayersDone &= m_bStepsChosen[p]; } bool bAllPlayersDoneSelectingSteps = bInitiatedByMenuTimer || bAllOtherHumanPlayersDone; if( !bAllPlayersDoneSelectingSteps ) { - m_bStepsSelected[pn] = true; + m_bStepsChosen[pn] = true; m_soundStart.Play(); - Message msg("StepsSelected"); + Message msg("StepsChosen"); msg.SetParam( "Player", pn ); MESSAGEMAN->Broadcast( msg ); return; @@ -884,6 +890,9 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input ) } m_SelectionState = GetNextSelectionState(); + Message msg( "Start" + SelectionStateToString(m_SelectionState) ); + MESSAGEMAN->Broadcast( msg ); + m_soundStart.Play(); @@ -894,13 +903,13 @@ void ScreenSelectMusic::MenuStart( const InputEventPlus &input ) FOREACH_HumanPlayer( p ) { - if( !m_bStepsSelected[p] ) + if( !m_bStepsChosen[p] ) { - m_bStepsSelected[p] = true; + m_bStepsChosen[p] = true; /* Don't play start sound. We play it again below on finalized */ //m_soundStart.Play(); - Message msg("StepsSelected"); + Message msg("StepsChosen"); msg.SetParam( "Player", p ); MESSAGEMAN->Broadcast( msg ); } diff --git a/stepmania/src/ScreenSelectMusic.h b/stepmania/src/ScreenSelectMusic.h index 0b90e5050a..dffd4a40ad 100644 --- a/stepmania/src/ScreenSelectMusic.h +++ b/stepmania/src/ScreenSelectMusic.h @@ -16,6 +16,16 @@ #include "GameInput.h" #include "OptionsList.h" +enum SelectionState +{ + SelectionState_SelectingSong, + SelectionState_SelectingSteps, + SelectionState_Finalized, + NUM_SelectionState, +}; +const RString& SelectionStateToString( SelectionState ss ); + + class ScreenSelectMusic : public ScreenWithMenuElements { public: @@ -73,12 +83,6 @@ protected: ThemeMetric USE_OPTIONS_LIST; ThemeMetric TWO_PART_SELECTION; - enum SelectionState - { - SelectionState_SelectingSong, - SelectionState_SelectingSteps, - SelectionState_Finalized - }; bool CanChangeSong() const { return m_SelectionState == SelectionState_SelectingSong; } bool CanChangeSteps() const { return TWO_PART_SELECTION ? m_SelectionState == SelectionState_SelectingSteps : m_SelectionState == SelectionState_SelectingSong; } SelectionState GetNextSelectionState() const @@ -114,7 +118,7 @@ protected: void CloseOptionsList( PlayerNumber pn ); SelectionState m_SelectionState; - bool m_bStepsSelected[NUM_PLAYERS]; // only used in SelectionState_SelectingSteps + bool m_bStepsChosen[NUM_PLAYERS]; // only used in SelectionState_SelectingSteps bool m_bGoToOptions; RString m_sSampleMusicToPlay; TimingData *m_pSampleMusicTimingData;