This commit is contained in:
Glenn Maynard
2004-01-10 03:36:14 +00:00
parent 304b03efa7
commit 16a7f84c6c
4 changed files with 41 additions and 0 deletions
@@ -0,0 +1 @@
_blank
+9
View File
@@ -2830,6 +2830,15 @@ ShowBpmInSpeedTitle=0
FrameOnCommand=addx,-640;decelerate,0.3;addx,+640
FrameOffCommand=accelerate,0.3;addx,+640
SeparateExitRow=0
MoreX=0
MoreY=0
MoreOnCommand=
MoreShowMoreCommand=
MoreHideMoreCommand=
MoreExitSelectedP1Command=
MoreExitSelectedP2Command=
MoreExitUnselectedP1Command=
MoreExitUnselectedP2Command=
[ScreenMapControllers]
EvenLineIn=addx,-640;decelerate,0.5;addx,640;
+28
View File
@@ -100,9 +100,11 @@ ScreenOptions::ScreenOptions( CString sClassName ) : Screen(sClassName)
// add everything to m_framePage so we can animate everything at once
this->AddChild( &m_framePage );
m_bMoreShown = false;
for( int p=0; p<NUM_PLAYERS; p++ )
{
m_iCurrentRow[p] = 0;
m_bWasOnExit[p] = false;
for( unsigned l=0; l<MAX_OPTION_LINES; l++ )
m_iSelectedOption[p][l] = 0;
@@ -305,6 +307,11 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRows[], int iNumOptionLi
m_framePage.AddChild( &m_ScrollBar );
}
m_sprMore.Load( THEME->GetPathToG( "ScreenOptions more") );
m_sprMore->SetName( "ScreenOptions", "More" );
UtilSetXYAndOnCommand( m_sprMore, "ScreenOptions" );
m_framePage.AddChild( m_sprMore );
switch( m_InputMode )
{
case INPUTMODE_INDIVIDUAL:
@@ -360,6 +367,7 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRows[], int iNumOptionLi
row.m_OptionIcons[p].FinishTweening();
}
}
m_sprMore->FinishTweening();
}
ScreenOptions::~ScreenOptions()
@@ -911,8 +919,28 @@ void ScreenOptions::OnChange( PlayerNumber pn )
/* Update all players, since changing one player can move both cursors. */
for( int p=0; p<NUM_PLAYERS; p++ )
{
TweenCursor( (PlayerNumber) p );
/* If the last row is EXIT, and is hidden, then show MORE. */
const bool ShowMore = m_Rows.back()->Type == Row::ROW_EXIT && m_Rows.back()->m_bHidden;
if( m_bMoreShown != ShowMore )
{
m_bMoreShown = ShowMore;
UtilCommand( m_sprMore, "ScreenOptions", ShowMore? "ShowMore":"HideMore" );
}
const bool ExitSelected = m_Rows[m_iCurrentRow[pn]]->Type == Row::ROW_EXIT;
if( p == pn || GAMESTATE->GetNumSidesJoined() == 1 )
{
if( m_bWasOnExit[p] != ExitSelected )
{
m_bWasOnExit[p] = ExitSelected;
UtilCommand( m_sprMore, "ScreenOptions", ssprintf("Exit%sP%i", ExitSelected? "Selected":"Unselected", p+1) );
}
}
}
const int iCurRow = m_iCurrentRow[pn];
const CString text = GetExplanationText( iCurRow );
+3
View File
@@ -144,6 +144,9 @@ private:
BitmapText m_textExplanation[NUM_PLAYERS];
DualScrollBar m_ScrollBar;
AutoActor m_sprMore;
bool m_bMoreShown, m_bWasOnExit[NUM_PLAYERS];
RageSound m_SoundChangeCol;
RageSound m_SoundNextRow;
RageSound m_SoundPrevRow;