diff --git a/stepmania/src/ScreenSelectMaster.cpp b/stepmania/src/ScreenSelectMaster.cpp index 440c66d5f7..2ff2db8c16 100644 --- a/stepmania/src/ScreenSelectMaster.cpp +++ b/stepmania/src/ScreenSelectMaster.cpp @@ -695,6 +695,9 @@ void ScreenSelectMaster::MenuStart( PlayerNumber pn ) if( m_bChosen[pn] ) return; + if( !ProcessMenuStart( pn ) ) + return; + GameCommand &mc = m_aGameCommands[m_iChoice[pn]]; /* If no options are playable, then we're just waiting for one to become available. diff --git a/stepmania/src/ScreenSelectMaster.h b/stepmania/src/ScreenSelectMaster.h index ec572761d8..51981c6c2f 100644 --- a/stepmania/src/ScreenSelectMaster.h +++ b/stepmania/src/ScreenSelectMaster.h @@ -70,6 +70,7 @@ protected: bool ChangePage( int iNewChoice ); bool ChangeSelection( PlayerNumber pn, MenuDir dir, int iNewChoice ); float DoMenuStart( PlayerNumber pn ); + virtual bool ProcessMenuStart( PlayerNumber pn ) { return true; } float GetCursorX( PlayerNumber pn, int iPartIndex ); float GetCursorY( PlayerNumber pn, int iPartIndex );