Only restart the options the first time BeginScreen is called. If you want the options restarted, call it explicitly. This combined with grouping of options screens allows for a much more intuitive options interface. Hunting for the one option you need is already hard enough, being forced to keep scrolling down every time you back out of one of the option screens is beyond annoying.
This commit is contained in:
@@ -182,6 +182,7 @@ void ScreenOptions::Init()
|
||||
m_framePage.AddChild( m_sprMore );
|
||||
|
||||
m_OptionRowType.Load( m_sName );
|
||||
m_bFirstTime = true;
|
||||
}
|
||||
|
||||
void ScreenOptions::InitMenu( const vector<OptionRowHandler*> &vHands )
|
||||
@@ -300,7 +301,11 @@ void ScreenOptions::BeginScreen()
|
||||
{
|
||||
ScreenWithMenuElements::BeginScreen();
|
||||
|
||||
RestartOptions();
|
||||
if( m_bFirstTime )
|
||||
{
|
||||
RestartOptions();
|
||||
m_bFirstTime = false;
|
||||
}
|
||||
|
||||
FOREACH_PlayerNumber( p )
|
||||
m_bGotAtLeastOneStartPressed[p] = false;
|
||||
|
||||
Reference in New Issue
Block a user