fix ScreenPlayerOptions explanation text

This commit is contained in:
Chris Danford
2003-11-06 09:54:40 +00:00
parent 28e00326cf
commit 49e87f0f64
4 changed files with 50 additions and 47 deletions
+2 -2
View File
@@ -1741,8 +1741,8 @@ ExplanationTogetherX=70
ExplanationTogetherY=412 ExplanationTogetherY=412
ExplanationTogetherOnCommand=wrapwidthpixels,1000;horizalign,left;cropright,1;linear,0.5;cropright,0 ExplanationTogetherOnCommand=wrapwidthpixels,1000;horizalign,left;cropright,1;linear,0.5;cropright,0
ExplanationZoom=0.5 ExplanationZoom=0.5
ExplanationP1OnCommand=wrapwidthpixels,600;horizalign,left ExplanationP1OnCommand=wrapwidthpixels,600;horizalign,left;cropright,1;linear,0.5;cropright,0
ExplanationP2OnCommand=wrapwidthpixels,600;horizalign,right ExplanationP2OnCommand=wrapwidthpixels,600;horizalign,right;cropright,1;linear,0.5;cropright,0
ColorSelected=1,1,1,1 // normal ColorSelected=1,1,1,1 // normal
ColorNotSelected=0.5,0.5,0.5,1 // grayed ColorNotSelected=0.5,0.5,0.5,1 // grayed
NumShownItems=10 NumShownItems=10
+15 -14
View File
@@ -35,7 +35,7 @@ const float ITEM_X[NUM_PLAYERS] = { 260, 420 };
#define ITEMS_SPACING_Y THEME->GetMetricF("ScreenOptions","ItemsSpacingY") #define ITEMS_SPACING_Y THEME->GetMetricF("ScreenOptions","ItemsSpacingY")
#define EXPLANATION_X(p) THEME->GetMetricF("ScreenOptions",ssprintf("ExplanationP%dX",p+1)) #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_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_X THEME->GetMetricF("ScreenOptions","ExplanationTogetherX")
#define EXPLANATION_TOGETHER_Y THEME->GetMetricF("ScreenOptions","ExplanationTogetherY") #define EXPLANATION_TOGETHER_Y THEME->GetMetricF("ScreenOptions","ExplanationTogetherY")
#define EXPLANATION_TOGETHER_ON_COMMAND THEME->GetMetric ("ScreenOptions","ExplanationTogetherOnCommand") #define EXPLANATION_TOGETHER_ON_COMMAND THEME->GetMetric ("ScreenOptions","ExplanationTogetherOnCommand")
@@ -258,7 +258,8 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRows[], int iNumOptionLi
CHECKPOINT; CHECKPOINT;
UpdateEnabledDisabled(); UpdateEnabledDisabled();
CHECKPOINT; CHECKPOINT;
OnChange(); for( p=0; p<NUM_PLAYERS; p++ )
OnChange( (PlayerNumber)p );
CHECKPOINT; CHECKPOINT;
/* It's tweening into position, but on the initial tween-in we only want to /* It's tweening into position, but on the initial tween-in we only want to
@@ -751,8 +752,11 @@ void ScreenOptions::PositionItems()
} }
void ScreenOptions::OnChange() void ScreenOptions::OnChange( PlayerNumber pn )
{ {
if( !GAMESTATE->IsHumanPlayer(pn) )
return;
/* Update m_fRowY[] and m_bRowIsHidden[]. */ /* Update m_fRowY[] and m_bRowIsHidden[]. */
PositionItems(); PositionItems();
@@ -762,11 +766,9 @@ void ScreenOptions::OnChange()
PositionIcons(); PositionIcons();
UpdateEnabledDisabled(); UpdateEnabledDisabled();
for( int p=0; p<NUM_PLAYERS; p++ ) TweenCursor( pn );
{
TweenCursor( (PlayerNumber)p );
int iCurRow = m_iCurrentRow[p]; int iCurRow = m_iCurrentRow[pn];
bool bIsExitRow = iCurRow == m_iNumOptionRows; bool bIsExitRow = iCurRow == m_iNumOptionRows;
@@ -774,12 +776,12 @@ void ScreenOptions::OnChange()
switch( m_InputMode ) switch( m_InputMode )
{ {
case INPUTMODE_INDIVIDUAL: case INPUTMODE_INDIVIDUAL:
pText = &m_textExplanation[p]; pText = &m_textExplanation[pn];
pText->FinishTweening(); pText->FinishTweening();
pText->Command( EXPLANATION_ON_COMMAND(p) ); pText->Command( EXPLANATION_ON_COMMAND(pn) );
break; break;
case INPUTMODE_TOGETHER: case INPUTMODE_TOGETHER:
pText = &m_textExplanation[0]; pText = &m_textExplanation[pn];
pText->FinishTweening(); pText->FinishTweening();
pText->Command( EXPLANATION_TOGETHER_ON_COMMAND ); pText->Command( EXPLANATION_TOGETHER_ON_COMMAND );
break; break;
@@ -800,7 +802,6 @@ void ScreenOptions::OnChange()
pText->SetText( THEME->GetMetric(m_sName,sLineName) ); pText->SetText( THEME->GetMetric(m_sName,sLineName) );
} }
} }
}
void ScreenOptions::MenuBack( PlayerNumber pn ) void ScreenOptions::MenuBack( PlayerNumber pn )
@@ -888,9 +889,9 @@ void ScreenOptions::ChangeValue( PlayerNumber pn, int iDelta )
m_iSelectedOption[p][iCurRow] = iNewSel; m_iSelectedOption[p][iCurRow] = iNewSel;
UpdateText( (PlayerNumber)p, iCurRow ); UpdateText( (PlayerNumber)p, iCurRow );
} }
OnChange( pn );
} }
m_SoundChangeCol.Play(); m_SoundChangeCol.Play();
OnChange();
} }
@@ -905,9 +906,9 @@ void ScreenOptions::MenuUp( PlayerNumber pn )
m_iCurrentRow[p] = m_iNumOptionRows; // on exit m_iCurrentRow[p] = m_iNumOptionRows; // on exit
else else
m_iCurrentRow[p]--; m_iCurrentRow[p]--;
OnChange( pn );
} }
m_SoundPrevRow.Play(); m_SoundPrevRow.Play();
OnChange();
} }
@@ -922,7 +923,7 @@ void ScreenOptions::MenuDown( PlayerNumber pn )
m_iCurrentRow[p] = 0; // on first row m_iCurrentRow[p] = 0; // on first row
else else
m_iCurrentRow[p]++; m_iCurrentRow[p]++;
OnChange( pn );
} }
m_SoundNextRow.Play(); m_SoundNextRow.Play();
OnChange();
} }
+1 -1
View File
@@ -74,7 +74,7 @@ protected:
void TweenCursor( PlayerNumber player_no ); void TweenCursor( PlayerNumber player_no );
void UpdateText( PlayerNumber player_no, int row ); void UpdateText( PlayerNumber player_no, int row );
void UpdateEnabledDisabled(); void UpdateEnabledDisabled();
virtual void OnChange(); virtual void OnChange( PlayerNumber pn );
virtual void MenuBack( PlayerNumber pn ); virtual void MenuBack( PlayerNumber pn );
virtual void MenuStart( PlayerNumber pn ); virtual void MenuStart( PlayerNumber pn );
+5 -3
View File
@@ -419,14 +419,16 @@ try_metric_again:
if( DISPLAY->IsWindowed() ) 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() ); 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: case ArchHooks::retry:
FlushDirCache(); FlushDirCache();
ReloadMetricsIfNecessary(); ReloadMetricsIfNecessary();
goto try_metric_again; goto try_metric_again;
case ArchHooks::cancel: case ArchHooks::ignore:
break; // fall through return "";
default: default:
ASSERT(0); ASSERT(0);
} }