From 49e87f0f646b587244e8115bc2a284f3adaa1d6e Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Thu, 6 Nov 2003 09:54:40 +0000 Subject: [PATCH] fix ScreenPlayerOptions explanation text --- stepmania/Themes/default/metrics.ini | 4 +- stepmania/src/ScreenOptions.cpp | 83 ++++++++++++++-------------- stepmania/src/ScreenOptions.h | 2 +- stepmania/src/ThemeManager.cpp | 8 ++- 4 files changed, 50 insertions(+), 47 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index c47cf0ca85..365d43a9b6 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -1741,8 +1741,8 @@ ExplanationTogetherX=70 ExplanationTogetherY=412 ExplanationTogetherOnCommand=wrapwidthpixels,1000;horizalign,left;cropright,1;linear,0.5;cropright,0 ExplanationZoom=0.5 -ExplanationP1OnCommand=wrapwidthpixels,600;horizalign,left -ExplanationP2OnCommand=wrapwidthpixels,600;horizalign,right +ExplanationP1OnCommand=wrapwidthpixels,600;horizalign,left;cropright,1;linear,0.5;cropright,0 +ExplanationP2OnCommand=wrapwidthpixels,600;horizalign,right;cropright,1;linear,0.5;cropright,0 ColorSelected=1,1,1,1 // normal ColorNotSelected=0.5,0.5,0.5,1 // grayed NumShownItems=10 diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index da12635b42..b6e9bf0449 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -35,7 +35,7 @@ const float ITEM_X[NUM_PLAYERS] = { 260, 420 }; #define ITEMS_SPACING_Y THEME->GetMetricF("ScreenOptions","ItemsSpacingY") #define EXPLANATION_X(p) THEME->GetMetricF("ScreenOptions",ssprintf("ExplanationP%dX",p+1)) #define EXPLANATION_Y(p) THEME->GetMetricF("ScreenOptions",ssprintf("ExplanationP%dY",p+1)) -#define EXPLANATION_ON_COMMAND(p) THEME->GetMetric ("ScreenOptions",ssprintf("ExplanationOnCommandP%dY",p+1)) +#define EXPLANATION_ON_COMMAND(p) THEME->GetMetric ("ScreenOptions",ssprintf("ExplanationP%dOnCommand",p+1)) #define EXPLANATION_TOGETHER_X THEME->GetMetricF("ScreenOptions","ExplanationTogetherX") #define EXPLANATION_TOGETHER_Y THEME->GetMetricF("ScreenOptions","ExplanationTogetherY") #define EXPLANATION_TOGETHER_ON_COMMAND THEME->GetMetric ("ScreenOptions","ExplanationTogetherOnCommand") @@ -258,7 +258,8 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRows[], int iNumOptionLi CHECKPOINT; UpdateEnabledDisabled(); CHECKPOINT; - OnChange(); + for( p=0; pIsHumanPlayer(pn) ) + return; + /* Update m_fRowY[] and m_bRowIsHidden[]. */ PositionItems(); @@ -762,43 +766,40 @@ void ScreenOptions::OnChange() PositionIcons(); UpdateEnabledDisabled(); - for( int p=0; pFinishTweening(); + pText->Command( EXPLANATION_ON_COMMAND(pn) ); + break; + case INPUTMODE_TOGETHER: + pText = &m_textExplanation[pn]; + pText->FinishTweening(); + pText->Command( EXPLANATION_TOGETHER_ON_COMMAND ); + break; + } - int iCurRow = m_iCurrentRow[p]; - - bool bIsExitRow = iCurRow == m_iNumOptionRows; - - BitmapText *pText = NULL; - switch( m_InputMode ) - { - case INPUTMODE_INDIVIDUAL: - pText = &m_textExplanation[p]; - pText->FinishTweening(); - pText->Command( EXPLANATION_ON_COMMAND(p) ); - break; - case INPUTMODE_TOGETHER: - pText = &m_textExplanation[0]; - pText->FinishTweening(); - pText->Command( EXPLANATION_TOGETHER_ON_COMMAND ); - break; - } - - if( bIsExitRow ) - { - pText->SetText( "" ); - } - else - { - CString sLineName = m_OptionRow[iCurRow].name; - if( sLineName=="" ) - sLineName = m_OptionRow[iCurRow].choices[0]; - sLineName.Replace("\n-",""); - sLineName.Replace("\n",""); - sLineName.Replace(" ",""); - pText->SetText( THEME->GetMetric(m_sName,sLineName) ); - } + if( bIsExitRow ) + { + pText->SetText( "" ); + } + else + { + CString sLineName = m_OptionRow[iCurRow].name; + if( sLineName=="" ) + sLineName = m_OptionRow[iCurRow].choices[0]; + sLineName.Replace("\n-",""); + sLineName.Replace("\n",""); + sLineName.Replace(" ",""); + pText->SetText( THEME->GetMetric(m_sName,sLineName) ); } } @@ -888,9 +889,9 @@ void ScreenOptions::ChangeValue( PlayerNumber pn, int iDelta ) m_iSelectedOption[p][iCurRow] = iNewSel; UpdateText( (PlayerNumber)p, iCurRow ); } + OnChange( pn ); } m_SoundChangeCol.Play(); - OnChange(); } @@ -905,9 +906,9 @@ void ScreenOptions::MenuUp( PlayerNumber pn ) m_iCurrentRow[p] = m_iNumOptionRows; // on exit else m_iCurrentRow[p]--; + OnChange( pn ); } m_SoundPrevRow.Play(); - OnChange(); } @@ -922,7 +923,7 @@ void ScreenOptions::MenuDown( PlayerNumber pn ) m_iCurrentRow[p] = 0; // on first row else m_iCurrentRow[p]++; + OnChange( pn ); } m_SoundNextRow.Play(); - OnChange(); } diff --git a/stepmania/src/ScreenOptions.h b/stepmania/src/ScreenOptions.h index b1000ea16c..b880404e52 100644 --- a/stepmania/src/ScreenOptions.h +++ b/stepmania/src/ScreenOptions.h @@ -74,7 +74,7 @@ protected: void TweenCursor( PlayerNumber player_no ); void UpdateText( PlayerNumber player_no, int row ); void UpdateEnabledDisabled(); - virtual void OnChange(); + virtual void OnChange( PlayerNumber pn ); virtual void MenuBack( PlayerNumber pn ); virtual void MenuStart( PlayerNumber pn ); diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index 439ab97822..f86775b486 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -419,14 +419,16 @@ try_metric_again: if( DISPLAY->IsWindowed() ) { CString sMessage = ssprintf( "The theme metric '%s-%s' is missing. Correct this and click Retry, or Cancel to break.",sClassName.c_str(),sValueName.c_str() ); - switch( HOOKS->MessageBoxRetryCancel(sMessage) ) + switch( HOOKS->MessageBoxAbortRetryIgnore(sMessage) ) { + case ArchHooks::abort: + break; // fall through case ArchHooks::retry: FlushDirCache(); ReloadMetricsIfNecessary(); goto try_metric_again; - case ArchHooks::cancel: - break; // fall through + case ArchHooks::ignore: + return ""; default: ASSERT(0); }