diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index eef384ba6f..830cefc58c 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -267,7 +267,9 @@ namespace osu.Game return; } - if (scoreInfo.BeatmapInfo == null) + var databasedBeatmap = BeatmapManager.QueryBeatmap(b => b.ID == scoreInfo.BeatmapInfo.ID); + + if (databasedBeatmap == null) { notifications.Post(new SimpleNotification { @@ -279,7 +281,7 @@ namespace osu.Game ruleset.Value = scoreInfo.Ruleset; - Beatmap.Value = BeatmapManager.GetWorkingBeatmap(scoreInfo.BeatmapInfo); + Beatmap.Value = BeatmapManager.GetWorkingBeatmap(databasedBeatmap); Beatmap.Value.Mods.Value = scoreInfo.Mods; menu.Push(new PlayerLoader(new ReplayPlayer(ScoreManager.GetScore(scoreInfo).Replay))); diff --git a/osu.Game/Scoring/ScoreStore.cs b/osu.Game/Scoring/ScoreStore.cs index 0d32e2ebc7..eeef9894bf 100644 --- a/osu.Game/Scoring/ScoreStore.cs +++ b/osu.Game/Scoring/ScoreStore.cs @@ -16,6 +16,9 @@ namespace osu.Game.Scoring } protected override IQueryable AddIncludesForConsumption(IQueryable query) - => base.AddIncludesForConsumption(query).Include(s => s.Files).ThenInclude(f => f.FileInfo); + => base.AddIncludesForConsumption(query) + .Include(s => s.Files).ThenInclude(f => f.FileInfo) + .Include(s => s.BeatmapInfo) + .Include(s => s.Ruleset); } }