diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 4267bfe208..2c5192464e 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1231,7 +1231,7 @@ Enter a new Time Signature denominator value.=Enter the note value that represen Enter a new Tickcount value.=Enter a new Tickcount value. Enter a new Combo value.=Enter a new Combo value. Enter a new Label value.=Enter a name for this section of the chart. -Enter a new Warp value.=Enter the beat you will warp to when you reach this point. +Enter a new Warp value.=Enter the number of beats you will warp over. Enter a new Speed percent value.=Enter the ratio for speed scrolling.\n\n1 is the default scroll. Enter a new Speed wait value.=Enter how long in seconds/beats it takes to change.\n\n0 is instant. Enter a new Speed mode value.=Enter how this segment is handled.\n\nType "0" for beats, "1" for seconds. diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 95e51299b0..680a9598af 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -2763,8 +2763,11 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM ) else if ( SM == SM_BackFromWarpChange ) { float fWarp = StringToFloat( ScreenTextEntry::s_sLastAnswer ); - GetAppropriateTiming().SetWarpAtBeat( GetBeat(), fWarp ); - SetDirty( true ); + if( fWarp >= 0 ) // allow 0 to kill a warp. + { + GetAppropriateTiming().SetWarpAtBeat( GetBeat(), fWarp ); + SetDirty( true ); + } } else if( SM == SM_BackFromSpeedPercentChange ) { diff --git a/src/TimingData.h b/src/TimingData.h index a44f566041..9b8889b207 100644 --- a/src/TimingData.h +++ b/src/TimingData.h @@ -328,8 +328,8 @@ struct WarpSegment * @param s the starting row of this segment. * @param r the number of rows to jump ahead. */ - WarpSegment( int s, int r ): m_iStartRow(max(0, (s < r ? s : r))), - m_fLengthBeats(max(0, NoteRowToBeat((r > s ? r : s)))) {} + WarpSegment( int s, int r ): m_iStartRow(s), + m_fLengthBeats(NoteRowToBeat(r)) {} /** * @brief Creates a Warp Segment with the specified starting row and beat to warp to. * @param s the starting row of this segment. @@ -351,8 +351,8 @@ struct WarpSegment * @param b the number of beats to jump ahead. */ WarpSegment( float s, float b ): - m_iStartRow(max(0, BeatToNoteRow((s < b ? s : b)))), - m_fLengthBeats(max(0, (b > s ? b : s))) {} + m_iStartRow(BeatToNoteRow(s)), + m_fLengthBeats(b) {} /** * @brief The row in which the WarpSegment activates. */ @@ -801,8 +801,8 @@ struct FakeSegment * @param s the starting row of this segment. * @param r the number of rows this segment lasts. */ - FakeSegment( int s, int r ): m_iStartRow(max(0, (s < r ? s : r))), - m_fLengthBeats(max(0, NoteRowToBeat((r > s ? r : s)))) {} + FakeSegment( int s, int r ): m_iStartRow(s), + m_fLengthBeats(NoteRowToBeat(r)) {} /** * @brief Creates a Fake Segment with the specified values. * @param s the starting row of this segment. @@ -824,8 +824,8 @@ struct FakeSegment * @param b the number of beats this segment lasts. */ FakeSegment( float s, float b ): - m_iStartRow(max(0, BeatToNoteRow((s < b ? s : b)))), - m_fLengthBeats(max(0, (b > s ? b : s))) {} + m_iStartRow(BeatToNoteRow(s)), + m_fLengthBeats(b) {} /** * @brief The row in which the FakeSegment activates. */