Merge branch 'master' into fix-taiko-change-handling

This commit is contained in:
Dan Balasescu 2020-09-23 19:47:29 +09:00 committed by GitHub
commit 37af9e767f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 3 deletions

View File

@ -46,7 +46,20 @@ public void AddFollowPoints(DrawableOsuHitObject hitObject)
private void addConnection(FollowPointConnection connection)
{
// Groups are sorted by their start time when added such that the index can be used to post-process other surrounding connections
int index = connections.AddInPlace(connection, Comparer<FollowPointConnection>.Create((g1, g2) => g1.StartTime.Value.CompareTo(g2.StartTime.Value)));
int index = connections.AddInPlace(connection, Comparer<FollowPointConnection>.Create((g1, g2) =>
{
int comp = g1.StartTime.Value.CompareTo(g2.StartTime.Value);
if (comp != 0)
return comp;
// we always want to insert the new item after equal ones.
// this is important for beatmaps with multiple hitobjects at the same point in time.
// if we use standard comparison insert order, there will be a churn of connections getting re-updated to
// the next object at the point-in-time, adding a construction/disposal overhead (see FollowPointConnection.End implementation's ClearInternal).
// this is easily visible on https://osu.ppy.sh/beatmapsets/150945#osu/372245
return -1;
}));
if (index < connections.Count - 1)
{

View File

@ -78,7 +78,7 @@ private void load()
}
catch (Exception e)
{
Logger.Error(e, "Could not load beatmap sucessfully!");
Logger.Error(e, "Could not load beatmap successfully!");
return;
}

View File

@ -399,7 +399,7 @@ private IBeatmap loadPlayableBeatmap()
}
catch (Exception e)
{
Logger.Error(e, "Could not load beatmap sucessfully!");
Logger.Error(e, "Could not load beatmap successfully!");
//couldn't load, hard abort!
return null;
}