on SPO, ignore MenuStart repeats until we get one FirstPressed

This commit is contained in:
Chris Danford
2004-02-23 08:33:54 +00:00
parent 9d954465f2
commit 699dcc36a1
2 changed files with 18 additions and 2 deletions
+13 -2
View File
@@ -115,6 +115,7 @@ ScreenOptions::ScreenOptions( CString sClassName ) : Screen(sClassName)
{
m_iCurrentRow[p] = 0;
m_bWasOnExit[p] = false;
m_bGotAtLeastOneStartPressed[p] = false;
}
m_framePage.Command( FRAME_ON_COMMAND );
@@ -1091,8 +1092,18 @@ void ScreenOptions::StartGoToNextState()
void ScreenOptions::MenuStart( PlayerNumber pn, const InputEventType type )
{
if( type == IET_RELEASE )
return;
switch( type )
{
case IET_FIRST_PRESS:
m_bGotAtLeastOneStartPressed[pn] = true;
break;
case IET_RELEASE:
return; // ignore
default: // repeat type
if( !m_bGotAtLeastOneStartPressed[pn] )
return; // don't allow repeat
break;
}
Row &row = *m_Rows[m_iCurrentRow[pn]];
OptionRowData &data = row.m_RowDef;