From fbf03e066c7c89d93572b50f8bf938f2c7c647df Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Mon, 29 Sep 2003 00:43:25 +0000 Subject: [PATCH] add smnavigation --- stepmania/src/ScreenOptionsMaster.cpp | 15 +++++++++++++++ stepmania/src/ScreenOptionsMaster.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/stepmania/src/ScreenOptionsMaster.cpp b/stepmania/src/ScreenOptionsMaster.cpp index 9af00ac85d..4135a45671 100644 --- a/stepmania/src/ScreenOptionsMaster.cpp +++ b/stepmania/src/ScreenOptionsMaster.cpp @@ -181,6 +181,8 @@ ScreenOptionsMaster::ScreenOptionsMaster( CString sClassName ): SOUND->PlayMusic( THEME->GetPathToS( ssprintf("%s music", m_sName.c_str()) ) ); + m_ForceSMOptionsNavigation = false; + CStringArray Flags; split( OPTION_MENU_FLAGS, ";", Flags, true ); InputMode im = INPUTMODE_INDIVIDUAL; @@ -204,6 +206,8 @@ ScreenOptionsMaster::ScreenOptionsMaster( CString sClassName ): GAMESTATE->m_bSideIsJoined[pn] = true; GAMESTATE->m_MasterPlayerNumber = PlayerNumber(0); } + if( Flags[i] == "smnavigation" ) + m_ForceSMOptionsNavigation = true; } if( NumRows == -1 ) @@ -487,6 +491,17 @@ void ScreenOptionsMaster::ExportOptions() } } +void ScreenOptionsMaster::MenuStart( PlayerNumber pn ) +{ + if( m_ForceSMOptionsNavigation ) + { + StartGoToNextState(); + return; + } + + ScreenOptions::MenuStart( pn ); +} + void ScreenOptionsMaster::GoToNextState() { if( GAMESTATE->m_bEditing ) diff --git a/stepmania/src/ScreenOptionsMaster.h b/stepmania/src/ScreenOptionsMaster.h index cd219db569..b16110105b 100644 --- a/stepmania/src/ScreenOptionsMaster.h +++ b/stepmania/src/ScreenOptionsMaster.h @@ -36,6 +36,7 @@ private: }; CString m_NextScreen; + bool m_ForceSMOptionsNavigation; vector OptionRowHandlers; OptionRow *m_OptionRowAlloc; @@ -49,6 +50,7 @@ private: void SetCharacter( OptionRow &row, OptionRowHandler &hand ); protected: + virtual void MenuStart( PlayerNumber pn ); virtual void ImportOptions(); virtual void ExportOptions();