mirror of
https://github.com/ppy/osu.git
synced 2025-02-15 20:43:21 +08:00
Fixed Graph/seeking offset
This commit is contained in:
parent
531f2c410a
commit
c3a42ded36
@ -140,7 +140,7 @@ namespace osu.Game.Screens.Play
|
||||
return;
|
||||
|
||||
double currentTime = (AudioClock?.CurrentTime ?? Time.Current) - firstHitTime;
|
||||
double progress = currentTime / lastHitTime;
|
||||
double progress = currentTime / (lastHitTime-firstHitTime);
|
||||
|
||||
bar.UpdatePosition((float)progress);
|
||||
graph.Progress = (int)(graph.ColumnCount * progress);
|
||||
|
@ -20,12 +20,13 @@ namespace osu.Game.Screens.Play
|
||||
|
||||
const int granularity = 200;
|
||||
|
||||
var firstHit = objects.First().StartTime;
|
||||
var lastHit = (objects.Last() as IHasEndTime)?.EndTime ?? 0;
|
||||
|
||||
if (lastHit == 0)
|
||||
lastHit = objects.Last().StartTime;
|
||||
|
||||
var interval = (lastHit + 1) / granularity;
|
||||
var interval = (lastHit - firstHit + 1) / granularity;
|
||||
|
||||
var values = new int[granularity];
|
||||
|
||||
@ -33,8 +34,8 @@ namespace osu.Game.Screens.Play
|
||||
{
|
||||
IHasEndTime end = h as IHasEndTime;
|
||||
|
||||
int startRange = (int)(h.StartTime / interval);
|
||||
int endRange = (int)((end?.EndTime > 0 ? end.EndTime : h.StartTime) / interval);
|
||||
int startRange = (int)((h.StartTime - firstHit)/ interval);
|
||||
int endRange = (int)(((end?.EndTime > 0 ? end.EndTime : h.StartTime) - firstHit) / interval);
|
||||
for (int i = startRange; i <= endRange; i++)
|
||||
values[i]++;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user