Make it better: don't duplicate code.

This commit is contained in:
Jason Felds
2011-08-15 19:23:43 -04:00
parent e26973d71d
commit 52d7f6c68b
+2 -28
View File
@@ -972,6 +972,7 @@ void TimingData::GetBeatAndBPSFromElapsedTimeNoOffset( float fElapsedTime, float
itBPMS ++; itBPMS ++;
break; break;
case FOUND_DELAY: case FOUND_DELAY:
case FOUND_STOP_DELAY:
{ {
const DelaySegment *ss = static_cast<DelaySegment *>(*itDS); const DelaySegment *ss = static_cast<DelaySegment *>(*itDS);
fTimeToNextEvent = ss->GetPause(); fTimeToNextEvent = ss->GetPause();
@@ -986,6 +987,7 @@ void TimingData::GetBeatAndBPSFromElapsedTimeNoOffset( float fElapsedTime, float
} }
fLastTime = fNextEventTime; fLastTime = fNextEventTime;
itDS ++; itDS ++;
if (iEventType == FOUND_DELAY)
break; break;
} }
case FOUND_STOP: case FOUND_STOP:
@@ -1005,34 +1007,6 @@ void TimingData::GetBeatAndBPSFromElapsedTimeNoOffset( float fElapsedTime, float
itSS ++; itSS ++;
break; break;
} }
case FOUND_STOP_DELAY:
{
const DelaySegment *ds = static_cast<DelaySegment *>(*itDS);
const StopSegment *ss = static_cast<StopSegment *>(*itSS);
fNextEventTime = fLastTime + ds->GetPause();
if ( fElapsedTime < fNextEventTime )
{
bFreezeOut = false;
bDelayOut = true;
fBeatOut = ds->GetBeat();
fBPSOut = fBPS;
return;
}
itDS++;
fNextEventTime += ss->GetPause();
if ( fElapsedTime < fNextEventTime )
{
bFreezeOut = true;
bDelayOut = false;
fBeatOut = ss->GetBeat();
fBPSOut = fBPS;
return;
}
fLastTime = fNextEventTime;
itSS++;
break;
}
case FOUND_WARP: case FOUND_WARP:
{ {
bIsWarping = true; bIsWarping = true;