Merge branch 'master' into catmull-sliders

This commit is contained in:
Dean Herbert
2018-02-01 20:58:33 +09:00
committed by GitHub
3 changed files with 11 additions and 7 deletions

View File

@ -102,8 +102,14 @@ namespace osu.Game.Rulesets.Replays
if (hasFrames)
{
//if we changed frames, we want to execute once *exactly* on the frame's time.
if (currentDirection == time.CompareTo(NextFrame.Time) && advanceFrame())
// check if the next frame is in the "future" for the current playback direction
if (currentDirection != time.CompareTo(NextFrame.Time))
{
// if we didn't change frames, we need to ensure we are allowed to run frames in between, else return null.
if (inImportantSection)
return null;
}
else if (advanceFrame())
{
// If going backwards, we need to execute once _before_ the frame time to reverse any judgements
// that would occur as a result of this frame in forward playback
@ -111,10 +117,6 @@ namespace osu.Game.Rulesets.Replays
return currentTime = CurrentFrame.Time - 1;
return currentTime = CurrentFrame.Time;
}
//if we didn't change frames, we need to ensure we are allowed to run frames in between, else return null.
if (inImportantSection)
return null;
}
return currentTime = time;

View File

@ -140,6 +140,8 @@ namespace osu.Game.Rulesets.UI
if (!base.UpdateSubTree())
return false;
UpdateSubTreeMasking(ScreenSpaceDrawQuad.AABBFloat);
if (isAttached)
{
// When handling replay input, we need to consider the possibility of fast-forwarding, which may cause the clock to be updated