fix EditMenu next screen logic

This commit is contained in:
Chris Danford
2005-02-26 22:19:29 +00:00
parent b48a19dd2f
commit 3dac12a433
2 changed files with 13 additions and 16 deletions
+13 -14
View File
@@ -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<m_vSteps.size(); i++ )
{
@@ -1100,6 +1103,10 @@ public:
vbSelectedOut[0] = true;
}
virtual int ExportOption( const OptionRowDefinition &def, PlayerNumber pn, const vector<bool> &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 "";
}
};
-2
View File
@@ -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 );