diff --git a/stepmania/src/ScreenCourseManager.cpp b/stepmania/src/ScreenCourseManager.cpp index a6d789ff29..0fe4493753 100644 --- a/stepmania/src/ScreenCourseManager.cpp +++ b/stepmania/src/ScreenCourseManager.cpp @@ -78,7 +78,7 @@ void ScreenCourseManager::Init() vDefs.push_back( def ); vHands.push_back( NULL ); - ScreenOptions::InitMenu( INPUTMODE_SHARE_CURSOR, vDefs, vHands ); + ScreenOptions::InitMenu( vDefs, vHands ); AfterChangeValueInRow( GAMESTATE->m_MasterPlayerNumber ); diff --git a/stepmania/src/ScreenEditCourse.cpp b/stepmania/src/ScreenEditCourse.cpp index f8e386ad3c..2ee37480b0 100644 --- a/stepmania/src/ScreenEditCourse.cpp +++ b/stepmania/src/ScreenEditCourse.cpp @@ -139,7 +139,7 @@ void ScreenEditCourse::Init() vDefs.push_back( def ); vHands.push_back( NULL ); - ScreenOptions::InitMenu( INPUTMODE_SHARE_CURSOR, vDefs, vHands ); + ScreenOptions::InitMenu( vDefs, vHands ); AfterChangeValueInRow( GAMESTATE->m_MasterPlayerNumber ); } diff --git a/stepmania/src/ScreenEditCourseEntry.cpp b/stepmania/src/ScreenEditCourseEntry.cpp index 6ffe6a702e..8bc313fcad 100644 --- a/stepmania/src/ScreenEditCourseEntry.cpp +++ b/stepmania/src/ScreenEditCourseEntry.cpp @@ -105,7 +105,7 @@ void ScreenEditCourseEntry::Init() vDefs.push_back( def ); vHands.push_back( NULL ); - ScreenOptions::InitMenu( INPUTMODE_SHARE_CURSOR, vDefs, vHands ); + ScreenOptions::InitMenu( vDefs, vHands ); ImportAllOptions(); } diff --git a/stepmania/src/ScreenNetworkOptions.cpp b/stepmania/src/ScreenNetworkOptions.cpp index 705685aaad..c8cae78ed6 100644 --- a/stepmania/src/ScreenNetworkOptions.cpp +++ b/stepmania/src/ScreenNetworkOptions.cpp @@ -63,7 +63,7 @@ void ScreenNetworkOptions::Init() vector vDefs( &g_NetworkOptionsLines[0], &g_NetworkOptionsLines[ARRAYSIZE(g_NetworkOptionsLines)] ); vector vHands( vDefs.size(), NULL ); - InitMenu( INPUTMODE_SHARE_CURSOR, vDefs, vHands ); + InitMenu( vDefs, vHands ); SOUND->PlayMusic( THEME->GetPathS("ScreenMachineOptions","music") ); } diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 4701b1eb62..3efb391ffa 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -96,8 +96,9 @@ ScreenOptions::ScreenOptions( CString sClassName ) : ScreenWithMenuElements(sCla { m_fLockInputSecs = 0.0001f; // always lock for a tiny amount of time so that we throw away any queued inputs during the load. - // This can be overridden in a derived Init(). + // These can be overridden in a derived Init(). m_OptionsNavigation = PREFSMAN->m_bArcadeOptionsNavigation? NAV_THREE_KEY:NAV_FIVE_KEY; + m_InputMode = INPUTMODE_SHARE_CURSOR; LOG->Trace( "ScreenOptions::ScreenOptions()" ); } @@ -184,14 +185,12 @@ void ScreenOptions::LoadOptionIcon( PlayerNumber pn, int iRow, CString sText ) m_pRows[iRow]->LoadOptionIcon( pn, sText ); } -void ScreenOptions::InitMenu( InputMode im, const vector &vDefs, const vector &vHands ) +void ScreenOptions::InitMenu( const vector &vDefs, const vector &vHands ) { LOG->Trace( "ScreenOptions::Set()" ); ASSERT( vDefs.size() == vHands.size() ); - m_InputMode = im; - for( unsigned r=0; r &vDefs, const vector &vHands ); + void InitMenu( const vector &vDefs, const vector &vHands ); virtual ~ScreenOptions(); virtual void Update( float fDeltaTime ); virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); @@ -84,6 +84,7 @@ protected: // derived classes need access to these void LoadOptionIcon( PlayerNumber pn, int iRow, CString sText ); enum Navigation { NAV_THREE_KEY, NAV_THREE_KEY_MENU, NAV_FIVE_KEY, NAV_TOGGLE_THREE_KEY, NAV_TOGGLE_FIVE_KEY }; void SetNavigation( Navigation nav ) { m_OptionsNavigation = nav; } + void SetInputMode( InputMode im ) { m_InputMode = im; } protected: /* Map menu lines to m_OptionRow entries. */ diff --git a/stepmania/src/ScreenOptionsMaster.cpp b/stepmania/src/ScreenOptionsMaster.cpp index ce9667121b..9f3ffed908 100644 --- a/stepmania/src/ScreenOptionsMaster.cpp +++ b/stepmania/src/ScreenOptionsMaster.cpp @@ -67,6 +67,8 @@ void ScreenOptionsMaster::Init() RageException::Throw( "Unknown flag \"%s\"", sFlag.c_str() ); } + SetInputMode( im ); + // Call this after enabling players, if any. ScreenOptions::Init(); @@ -94,7 +96,7 @@ void ScreenOptionsMaster::Init() ASSERT( OptionRowHandlers.size() == asLineNames.size() ); - InitMenu( im, OptionRowDefs, OptionRowHandlers ); + InitMenu( OptionRowDefs, OptionRowHandlers ); } ScreenOptionsMaster::~ScreenOptionsMaster() diff --git a/stepmania/src/ScreenProfileOptions.cpp b/stepmania/src/ScreenProfileOptions.cpp index 8e326cf9c9..06b4d9af3f 100644 --- a/stepmania/src/ScreenProfileOptions.cpp +++ b/stepmania/src/ScreenProfileOptions.cpp @@ -80,7 +80,7 @@ void ScreenProfileOptions::Init() vector vDefs( &g_ProfileOptionsLines[0], &g_ProfileOptionsLines[ARRAYSIZE(g_ProfileOptionsLines)] ); vector vHands( vDefs.size(), NULL ); - InitMenu( INPUTMODE_SHARE_CURSOR, vDefs, vHands ); + InitMenu( vDefs, vHands ); SOUND->PlayMusic( THEME->GetPathS("ScreenMachineOptions","music") ); }