From e335f5a90ab4052467fc64f23fe30b9c10123371 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 13 Apr 2004 22:23:37 +0000 Subject: [PATCH] provide reasonable OptionOrder defaults --- stepmania/src/ScreenSelectMaster.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/stepmania/src/ScreenSelectMaster.cpp b/stepmania/src/ScreenSelectMaster.cpp index 7a1b20360a..cf2f267f14 100644 --- a/stepmania/src/ScreenSelectMaster.cpp +++ b/stepmania/src/ScreenSelectMaster.cpp @@ -206,6 +206,21 @@ ScreenSelectMaster::ScreenSelectMaster( CString sClassName ) : ScreenSelect( sCl // init m_Next order info for( int dir = 0; dir < NUM_DIRS; ++dir ) { + /* Reasonable defaults: */ + for( unsigned c = 0; c < m_aModeChoices.size(); ++c ) + { + int add; + switch( dir ) + { + case DIR_UP: + case DIR_LEFT: add = -1; break; + default: add = +1; break; + } + + m_Next[dir][c] = c + add; + wrap( m_Next[dir][c], m_aModeChoices.size() ); + } + const CString dirname = dirs[dir]; const CString order = OPTION_ORDER( dirname ); vector parts; @@ -213,8 +228,6 @@ ScreenSelectMaster::ScreenSelectMaster( CString sClassName ) : ScreenSelect( sCl if( parts.size() == 0 ) continue; - for( unsigned c = 0; c < m_aModeChoices.size(); ++c ) - m_Next[dir][c] = -1; for( unsigned part = 0; part < parts.size(); ++part ) {