From 5deed76e37fabc82197e187c933f1572b7a73a79 Mon Sep 17 00:00:00 2001 From: Thai Pangsakulyanont Date: Tue, 17 May 2011 00:02:15 +0700 Subject: [PATCH] [splittiming] add a special case for lengthed speed change at beat 0. --- src/ArrowEffects.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ArrowEffects.cpp b/src/ArrowEffects.cpp index 318bd75e01..a12ff397af 100644 --- a/src/ArrowEffects.cpp +++ b/src/ArrowEffects.cpp @@ -233,7 +233,11 @@ float GetSpeedMultiplier( float fSongBeat, float fMusicSeconds, const TimingData fEndTime = tim.GetElapsedTimeFromBeat( fStartBeat + seg.m_fWait ) - tim.GetDelayAtBeat( fStartBeat + seg.m_fWait ); } - if( fEndTime >= fCurTime && ( index > 0 || tim.m_SpeedSegments[0].m_fWait > 0.0 ) ) + if( ( index == 0 && tim.m_SpeedSegments[0].m_fWait > 0.0 ) && fCurTime < fStartTime ) + { + return 1.0; + } + else if( fEndTime >= fCurTime && ( index > 0 || tim.m_SpeedSegments[0].m_fWait > 0.0 ) ) { const float fPriorSpeed = ( index == 0 ? 1 : tim.m_SpeedSegments[index - 1].m_fPercent ); float fTimeUsed = fCurTime - fStartTime;