mirror of
https://github.com/osukey/osukey.git
synced 2025-08-05 15:44:04 +09:00
Update hashing method in line with master
This commit is contained in:
@ -46,7 +46,9 @@ namespace osu.Game.Scoring.Legacy
|
||||
score.ScoreInfo.Beatmap = currentBeatmap.BeatmapInfo;
|
||||
|
||||
score.ScoreInfo.User = score.Replay.User = new User { Username = sr.ReadString() };
|
||||
score.ScoreInfo.MD5Hash = sr.ReadString();
|
||||
|
||||
// MD5Hash
|
||||
sr.ReadString();
|
||||
|
||||
var count300 = (int)sr.ReadUInt16();
|
||||
var count100 = (int)sr.ReadUInt16();
|
||||
|
@ -110,14 +110,10 @@ namespace osu.Game.Scoring
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// MD5 is kept for legacy support.
|
||||
/// </summary>
|
||||
[JsonProperty("file_md5")]
|
||||
public string MD5Hash { get; set; }
|
||||
|
||||
public List<ScoreFileInfo> Files { get; set; }
|
||||
|
||||
public string Hash { get; set; }
|
||||
|
||||
public bool DeletePending { get; set; }
|
||||
|
||||
[Serializable]
|
||||
|
@ -20,20 +20,18 @@ namespace osu.Game.Scoring
|
||||
{
|
||||
public override string[] HandledExtensions => new[] { ".osr" };
|
||||
|
||||
protected override string[] HashableFileTypes => new[] { ".osr" };
|
||||
|
||||
protected override string ImportFromStablePath => "Replays";
|
||||
|
||||
private readonly RulesetStore rulesets;
|
||||
private readonly BeatmapManager beatmaps;
|
||||
|
||||
private readonly ScoreStore scores;
|
||||
|
||||
public ScoreManager(RulesetStore rulesets, BeatmapManager beatmaps, Storage storage, IDatabaseContextFactory contextFactory, IIpcHost importHost = null)
|
||||
: base(storage, contextFactory, new ScoreStore(contextFactory, storage), importHost)
|
||||
{
|
||||
this.rulesets = rulesets;
|
||||
this.beatmaps = beatmaps;
|
||||
|
||||
scores = (ScoreStore)ModelStore;
|
||||
}
|
||||
|
||||
protected override ScoreInfo CreateModel(ArchiveReader archive)
|
||||
@ -55,18 +53,6 @@ namespace osu.Game.Scoring
|
||||
}
|
||||
}
|
||||
|
||||
protected override ScoreInfo CheckForExisting(ScoreInfo model)
|
||||
{
|
||||
var existingHashMatch = scores.ConsumableItems.FirstOrDefault(s => s.MD5Hash != null && s.MD5Hash == model.MD5Hash);
|
||||
if (existingHashMatch != null)
|
||||
{
|
||||
Undelete(existingHashMatch);
|
||||
return existingHashMatch;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public Score GetScore(ScoreInfo score) => new LegacyDatabasedScore(score, rulesets, beatmaps, Files.Store);
|
||||
|
||||
public List<ScoreInfo> GetAllUsableScores() => ModelStore.ConsumableItems.Where(s => !s.DeletePending).ToList();
|
||||
|
Reference in New Issue
Block a user