diff --git a/osu.Game/Database/ScoreDatabase.cs b/osu.Game/Database/ScoreDatabase.cs
index 665ae8649e..096c0dcc29 100644
--- a/osu.Game/Database/ScoreDatabase.cs
+++ b/osu.Game/Database/ScoreDatabase.cs
@@ -101,7 +101,7 @@ namespace osu.Game.Database
using (var lzma = new LzmaStream(properties, replayInStream, compressedSize, outSize))
using (var reader = new StreamReader(lzma))
- score.Replay = new LegacyReplay(reader);
+ score.Replay = score.CreateLegacyReplayFrom(reader);
}
}
diff --git a/osu.Game/Modes/Scoring/Score.cs b/osu.Game/Modes/Scoring/Score.cs
index fa74fba279..75c243278d 100644
--- a/osu.Game/Modes/Scoring/Score.cs
+++ b/osu.Game/Modes/Scoring/Score.cs
@@ -6,6 +6,7 @@ using Newtonsoft.Json;
using osu.Game.Database;
using osu.Game.Modes.Mods;
using osu.Game.Users;
+using System.IO;
namespace osu.Game.Modes.Scoring
{
@@ -43,6 +44,13 @@ namespace osu.Game.Modes.Scoring
[JsonProperty(@"date")]
public DateTime Date;
+ ///
+ /// Creates a legacy replay which is read from a stream.
+ ///
+ /// The stream reader.
+ /// The replay.
+ public virtual Replay CreateLegacyReplayFrom(StreamReader reader) => new LegacyReplay(reader);
+
// [JsonProperty(@"count50")] 0,
//[JsonProperty(@"count100")] 0,
//[JsonProperty(@"count300")] 100,