From 0fd7734c93d19609c748cb3bd15b61955dfd92d8 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Mon, 10 Nov 2003 21:18:26 +0000 Subject: [PATCH] Add EnabledCommand, DisabledCommand. Const fix, simplify. --- stepmania/src/ScreenSelectMaster.cpp | 24 +++++++----------------- stepmania/src/ScreenSelectMaster.h | 4 ++-- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/stepmania/src/ScreenSelectMaster.cpp b/stepmania/src/ScreenSelectMaster.cpp index a2869b514e..023dacc822 100644 --- a/stepmania/src/ScreenSelectMaster.cpp +++ b/stepmania/src/ScreenSelectMaster.cpp @@ -29,7 +29,6 @@ #define NUM_CHOICES_ON_PAGE_1 THEME->GetMetricI(m_sName,"NumChoicesOnPage1") #define CURSOR_OFFSET_X_FROM_ICON( p, part ) THEME->GetMetricF(m_sName,ssprintf("CursorPart%dP%dOffsetXFromIcon",part+1,p+1)) #define CURSOR_OFFSET_Y_FROM_ICON( p, part ) THEME->GetMetricF(m_sName,ssprintf("CursorPart%dP%dOffsetYFromIcon",part+1,p+1)) -#define DISABLED_COLOR THEME->GetMetricC(m_sName,"DisabledColor") #define PRE_SWITCH_PAGE_SECONDS THEME->GetMetricF(m_sName,"PreSwitchPageSeconds") #define POST_SWITCH_PAGE_SECONDS THEME->GetMetricF(m_sName,"PostSwitchPageSeconds") @@ -203,17 +202,9 @@ int ScreenSelectMaster::GetSelectionIndex( PlayerNumber pn ) void ScreenSelectMaster::UpdateSelectableChoices() { - /* XXX: If a player joins during the tween-in, this diffuse change - * will be undone by the tween. Hmm. */ for( unsigned c=0; cSetDiffuse( RageColor(1,1,1,1) ); - else - for( int i=0; iSetDiffuse( DISABLED_COLOR ); - } + for( int i=0; im_MasterPlayerNumber] ); @@ -431,6 +419,8 @@ void ScreenSelectMaster::MenuStart( PlayerNumber pn ) { if( m_fLockInputSecs > 0 ) return; + if( m_bChosen[pn] == true ) + return; SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo(ssprintf("%s comment %s",m_sName.c_str(), m_aModeChoices[m_iChoice[pn]].m_sName.c_str())) ); m_soundSelect.Play(); diff --git a/stepmania/src/ScreenSelectMaster.h b/stepmania/src/ScreenSelectMaster.h index 24ed6ca56d..dd8490e1cf 100644 --- a/stepmania/src/ScreenSelectMaster.h +++ b/stepmania/src/ScreenSelectMaster.h @@ -39,8 +39,8 @@ public: protected: enum Page { PAGE_1, PAGE_2, NUM_PAGES }; // on PAGE_2, cursors are locked together - Page GetPage( int iChoiceIndex ); - Page GetCurrentPage(); + Page GetPage( int iChoiceIndex ) const; + Page GetCurrentPage() const; virtual int GetSelectionIndex( PlayerNumber pn ); virtual void UpdateSelectableChoices();