From 3dac12a433ebf040736f904edbf57076e048cdc5 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sat, 26 Feb 2005 22:19:29 +0000 Subject: [PATCH] fix EditMenu next screen logic --- stepmania/src/OptionRowHandler.cpp | 27 +++++++++++++-------------- stepmania/src/ScreenOptionsMaster.cpp | 2 -- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/stepmania/src/OptionRowHandler.cpp b/stepmania/src/OptionRowHandler.cpp index a1ae1dac40..8a3b84052b 100644 --- a/stepmania/src/OptionRowHandler.cpp +++ b/stepmania/src/OptionRowHandler.cpp @@ -952,8 +952,11 @@ public: GAMESTATE->m_pCurSong->GetSteps( m_vSteps, *m_pst, DIFFICULTY_EDIT ); m_vDifficulties.resize( m_vSteps.size(), DIFFICULTY_EDIT ); - m_vSteps.push_back( NULL ); - m_vDifficulties.push_back( DIFFICULTY_EDIT ); + if( m_sName == "EditSteps" ) + { + m_vSteps.push_back( NULL ); + m_vDifficulties.push_back( DIFFICULTY_EDIT ); + } for( unsigned i=0; i &vbSelected ) const + { + return 0; + } + virtual CString GetAndEraseScreen( int iChoice ) { Song* pSong = GAMESTATE->m_pCurSong; Steps *pSteps = GAMESTATE->m_pCurSteps[0]; @@ -1107,13 +1114,13 @@ public: StepsType st = GAMESTATE->m_stEdit; Steps *pSourceNotes = GAMESTATE->m_pEditSourceSteps; - int iSel = GetOneSelection(vbSelected); - EditMenuAction ema = m_vEditMenuActions[ iSel ]; + EditMenuAction ema = m_vEditMenuActions[iChoice]; switch( ema ) { case EDIT_MENU_ACTION_EDIT: // Prepare prepare for ScreenEdit ASSERT( pSteps ); + return "ScreenEdit"; break; case EDIT_MENU_ACTION_DELETE: ASSERT( pSteps ); @@ -1172,17 +1179,9 @@ public: ASSERT(0); } - // refresh the list + // refresh the screen since we deleted or added steps MESSAGEMAN->Broadcast( MESSAGE_CURRENT_SONG_CHANGED ); - - return 0; - } - virtual CString GetAndEraseScreen( int iChoice ) - { - if( m_vEditMenuActions[iChoice] == EDIT_MENU_ACTION_EDIT ) - return "ScreenEdit"; - else - return ""; + return ""; } }; diff --git a/stepmania/src/ScreenOptionsMaster.cpp b/stepmania/src/ScreenOptionsMaster.cpp index 0748c3e0fb..68d4f288bd 100644 --- a/stepmania/src/ScreenOptionsMaster.cpp +++ b/stepmania/src/ScreenOptionsMaster.cpp @@ -259,8 +259,6 @@ void ScreenOptionsMaster::HandleScreenMessage( const ScreenMessage SM ) for( unsigned r = 0; r < OptionRowHandlers.size(); ++r ) { - const OptionRow &row = *m_Rows[r]; - CHECKPOINT_M( ssprintf("%i/%i", r, int(OptionRowHandlers.size())) ); ExportOptions( r );