cleanup; always commit recorded data when exiting record, not just when entering edit (though we only go from record -> edit currently)

This commit is contained in:
Glenn Maynard
2005-07-21 06:50:39 +00:00
parent 951c6074b0
commit 079926c6c3
+11 -11
View File
@@ -1771,6 +1771,17 @@ void ScreenEdit::TransitionEditState( EditState em )
if( GAMESTATE->IsSyncDataChanged() ) if( GAMESTATE->IsSyncDataChanged() )
SCREENMAN->AddNewScreenToTop( "ScreenSaveSync" ); SCREENMAN->AddNewScreenToTop( "ScreenSaveSync" );
break; break;
case STATE_RECORDING:
SaveUndo();
// delete old TapNotes in the range
m_NoteDataEdit.ClearRange( m_iStartPlayingAt, m_iStopPlayingAt );
m_NoteDataEdit.CopyRange( m_NoteDataRecord, m_iStartPlayingAt, m_iStopPlayingAt, m_iStartPlayingAt );
m_NoteDataRecord.ClearAll();
CheckNumberOfNotesAndUndo();
break;
} }
switch( em ) switch( em )
@@ -1792,17 +1803,6 @@ void ScreenEdit::TransitionEditState( EditState em )
* make sure we don't stay there if we escaped out early. */ * make sure we don't stay there if we escaped out early. */
GAMESTATE->m_fSongBeat = max( GAMESTATE->m_fSongBeat, 0 ); GAMESTATE->m_fSongBeat = max( GAMESTATE->m_fSongBeat, 0 );
if( old == STATE_RECORDING )
{
SaveUndo();
// delete old TapNotes in the range
m_NoteDataEdit.ClearRange( m_iStartPlayingAt, m_iStopPlayingAt );
m_NoteDataEdit.CopyRange( m_NoteDataRecord, m_iStartPlayingAt, m_iStopPlayingAt, m_iStartPlayingAt );
m_NoteDataRecord.ClearAll();
CheckNumberOfNotesAndUndo();
}
break; break;
case STATE_RECORDING: case STATE_RECORDING:
break; break;