diff --git a/osu.Game.Rulesets.Catch/Scoring/CatchScoreProcessor.cs b/osu.Game.Rulesets.Catch/Scoring/CatchScoreProcessor.cs
index 5e33dd59b1..e1fda1a7b3 100644
--- a/osu.Game.Rulesets.Catch/Scoring/CatchScoreProcessor.cs
+++ b/osu.Game.Rulesets.Catch/Scoring/CatchScoreProcessor.cs
@@ -43,6 +43,6 @@ namespace osu.Game.Rulesets.Catch.Scoring
Health.Value += Math.Max(result.Judgement.HealthIncreaseFor(result) - hpDrainRate, 0) * harshness;
}
- protected override HitWindows CreateHitWindows() => new CatchHitWindows();
+ public override HitWindows CreateHitWindows() => new CatchHitWindows();
}
}
diff --git a/osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs b/osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
index b94b64fa36..cf3d0734fb 100644
--- a/osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
+++ b/osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
@@ -159,6 +159,6 @@ namespace osu.Game.Rulesets.Mania.Scoring
}
}
- protected override HitWindows CreateHitWindows() => new ManiaHitWindows();
+ public override HitWindows CreateHitWindows() => new ManiaHitWindows();
}
}
diff --git a/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs b/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs
index 4e9ac26dc5..1ec12adb3b 100644
--- a/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs
+++ b/osu.Game.Rulesets.Osu/Difficulty/Preprocessing/OsuDifficultyHitObject.cs
@@ -143,7 +143,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty.Preprocessing
var scoringTimes = slider.NestedHitObjects.Skip(1).Select(t => t.StartTime);
foreach (var time in scoringTimes)
computeVertex(time);
- computeVertex(slider.EndTime);
}
private Vector2 getEndCursorPosition(OsuHitObject hitObject)
diff --git a/osu.Game.Rulesets.Osu/Scoring/OsuScoreProcessor.cs b/osu.Game.Rulesets.Osu/Scoring/OsuScoreProcessor.cs
index 777588d6d7..4f97cc0da5 100644
--- a/osu.Game.Rulesets.Osu/Scoring/OsuScoreProcessor.cs
+++ b/osu.Game.Rulesets.Osu/Scoring/OsuScoreProcessor.cs
@@ -74,6 +74,6 @@ namespace osu.Game.Rulesets.Osu.Scoring
protected override JudgementResult CreateResult(Judgement judgement) => new OsuJudgementResult(judgement);
- protected override HitWindows CreateHitWindows() => new OsuHitWindows();
+ public override HitWindows CreateHitWindows() => new OsuHitWindows();
}
}
diff --git a/osu.Game.Rulesets.Taiko/Scoring/TaikoScoreProcessor.cs b/osu.Game.Rulesets.Taiko/Scoring/TaikoScoreProcessor.cs
index f7638a8122..73cd9ba821 100644
--- a/osu.Game.Rulesets.Taiko/Scoring/TaikoScoreProcessor.cs
+++ b/osu.Game.Rulesets.Taiko/Scoring/TaikoScoreProcessor.cs
@@ -67,6 +67,6 @@ namespace osu.Game.Rulesets.Taiko.Scoring
Health.Value = 0;
}
- protected override HitWindows CreateHitWindows() => new TaikoHitWindows();
+ public override HitWindows CreateHitWindows() => new TaikoHitWindows();
}
}
diff --git a/osu.Game/Overlays/Music/PlaylistItem.cs b/osu.Game/Overlays/Music/PlaylistItem.cs
index 910f7698c0..7c7b78afc7 100644
--- a/osu.Game/Overlays/Music/PlaylistItem.cs
+++ b/osu.Game/Overlays/Music/PlaylistItem.cs
@@ -169,6 +169,8 @@ namespace osu.Game.Overlays.Music
Alpha = 0f;
Margin = new MarginPadding { Left = 5, Top = 2 };
}
+
+ public override bool HandlePositionalInput => IsPresent;
}
}
diff --git a/osu.Game/Rulesets/Scoring/ScoreProcessor.cs b/osu.Game/Rulesets/Scoring/ScoreProcessor.cs
index 53c4d6fa70..45f2cbd7c8 100644
--- a/osu.Game/Rulesets/Scoring/ScoreProcessor.cs
+++ b/osu.Game/Rulesets/Scoring/ScoreProcessor.cs
@@ -63,7 +63,7 @@ namespace osu.Game.Rulesets.Scoring
///
/// Create a for this processor.
///
- protected virtual HitWindows CreateHitWindows() => new HitWindows();
+ public virtual HitWindows CreateHitWindows() => new HitWindows();
///
/// The current rank.
diff --git a/osu.Game/Scoring/Legacy/LegacyScoreParser.cs b/osu.Game/Scoring/Legacy/LegacyScoreParser.cs
index e43be257c4..f89f8e80bf 100644
--- a/osu.Game/Scoring/Legacy/LegacyScoreParser.cs
+++ b/osu.Game/Scoring/Legacy/LegacyScoreParser.cs
@@ -57,12 +57,32 @@ namespace osu.Game.Scoring.Legacy
var countKatu = (int)sr.ReadUInt16();
var countMiss = (int)sr.ReadUInt16();
- score.ScoreInfo.Statistics[HitResult.Great] = count300;
- score.ScoreInfo.Statistics[HitResult.Good] = count100;
- score.ScoreInfo.Statistics[HitResult.Meh] = count50;
- score.ScoreInfo.Statistics[HitResult.Perfect] = countGeki;
- score.ScoreInfo.Statistics[HitResult.Ok] = countKatu;
- score.ScoreInfo.Statistics[HitResult.Miss] = countMiss;
+ switch (currentRuleset.LegacyID)
+ {
+ case 0:
+ score.ScoreInfo.Statistics[HitResult.Great] = count300;
+ score.ScoreInfo.Statistics[HitResult.Good] = count100;
+ score.ScoreInfo.Statistics[HitResult.Meh] = count50;
+ score.ScoreInfo.Statistics[HitResult.Miss] = countMiss;
+ break;
+ case 1:
+ score.ScoreInfo.Statistics[HitResult.Great] = count300;
+ score.ScoreInfo.Statistics[HitResult.Good] = count100;
+ score.ScoreInfo.Statistics[HitResult.Miss] = countMiss;
+ break;
+ case 2:
+ score.ScoreInfo.Statistics[HitResult.Perfect] = count300;
+ score.ScoreInfo.Statistics[HitResult.Miss] = countMiss;
+ break;
+ case 3:
+ score.ScoreInfo.Statistics[HitResult.Perfect] = countGeki;
+ score.ScoreInfo.Statistics[HitResult.Great] = count300;
+ score.ScoreInfo.Statistics[HitResult.Good] = countKatu;
+ score.ScoreInfo.Statistics[HitResult.Ok] = count100;
+ score.ScoreInfo.Statistics[HitResult.Meh] = count50;
+ score.ScoreInfo.Statistics[HitResult.Miss] = countMiss;
+ break;
+ }
score.ScoreInfo.TotalScore = sr.ReadInt32();
score.ScoreInfo.MaxCombo = sr.ReadUInt16();
@@ -116,12 +136,12 @@ namespace osu.Game.Scoring.Legacy
protected void CalculateAccuracy(ScoreInfo score)
{
- int countMiss = score.Statistics[HitResult.Miss];
- int count50 = score.Statistics[HitResult.Meh];
- int count100 = score.Statistics[HitResult.Good];
- int count300 = score.Statistics[HitResult.Great];
- int countGeki = score.Statistics[HitResult.Perfect];
- int countKatu = score.Statistics[HitResult.Ok];
+ score.Statistics.TryGetValue(HitResult.Miss, out int countMiss);
+ score.Statistics.TryGetValue(HitResult.Meh, out int count50);
+ score.Statistics.TryGetValue(HitResult.Good, out int count100);
+ score.Statistics.TryGetValue(HitResult.Great, out int count300);
+ score.Statistics.TryGetValue(HitResult.Perfect, out int countGeki);
+ score.Statistics.TryGetValue(HitResult.Ok, out int countKatu);
switch (score.Ruleset.ID)
{
diff --git a/osu.Game/Screens/Select/SongSelect.cs b/osu.Game/Screens/Select/SongSelect.cs
index d800cea736..f3091f7d4e 100644
--- a/osu.Game/Screens/Select/SongSelect.cs
+++ b/osu.Game/Screens/Select/SongSelect.cs
@@ -31,6 +31,7 @@ using osu.Game.Screens.Menu;
using osu.Game.Screens.Play;
using osu.Game.Screens.Select.Options;
using osu.Game.Skinning;
+using osuTK.Graphics;
namespace osu.Game.Screens.Select
{
@@ -564,7 +565,7 @@ namespace osu.Game.Screens.Select
{
backgroundModeBeatmap.Beatmap = beatmap;
backgroundModeBeatmap.BlurTo(background_blur, 750, Easing.OutQuint);
- backgroundModeBeatmap.FadeTo(1, 250);
+ backgroundModeBeatmap.FadeColour(Color4.White, 250);
}
beatmapInfoWedge.Beatmap = beatmap;