diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index c9622c5688..65cbe14767 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,13 @@ ________________________________________________________________________________ StepMania 5.0 $NEXT | 20110xyy -------------------------------------------------------------------------------- +2011/05/27 +---------- +* [ScreenEdit] Added the LoopOnChartEnd metric. Once you get to the end of + the chart while playing it in the editor, this controls whether it loops and + plays again, or simply stops. By default, this is true, replicating current + behavior. Set to false to replicate older StepMania behavior. [Wolfman2000] + 2011/05/26 ---------- * [ScoreKeeperNormal] Added the MissComboIsPerRow metric. Similar to the diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 9822b7a899..3ee9cb794e 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -3626,6 +3626,8 @@ PlayRecordHelpX=SCREEN_LEFT+20 PlayRecordHelpY=SCREEN_BOTTOM-20 PlayRecordHelpOnCommand=halign,0;valign,0;shadowlength,1 +LoopOnChartEnd=true + CurrentBeatFormat="%s:\n %.5f\n" CurrentSecondFormat="%s:\n %.5f\n" SnapToFormat="%s:\n %s\n" diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 642c3ef788..766d53a47c 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -701,6 +701,8 @@ static Preference1D EDITOR_NOTE_SKINS( SetDefaultEditorNoteSkin, NUM_PL static ThemeMetric EDIT_MODIFIERS ("ScreenEdit","EditModifiers"); +static ThemeMetric LOOP_ON_CHART_END ("ScreenEdit","LoopOnChartEnd"); + REGISTER_SCREEN_CLASS( ScreenEdit ); void ScreenEdit::Init() @@ -1017,8 +1019,7 @@ void ScreenEdit::Update( float fDeltaTime ) float fStopAtSeconds = m_pSteps->m_Timing.GetElapsedTimeFromBeat( NoteRowToBeat(m_iStopPlayingAt) ) + 1; if( GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position.m_fMusicSeconds > fStopAtSeconds ) { - // loop - TransitionEditState( STATE_PLAYING ); + TransitionEditState( ( LOOP_ON_CHART_END ? STATE_PLAYING : STATE_EDITING ) ); } }