Skip to content

Commit 380bd77

Browse files
Require isLnRelease and isMine parameter to be explicitly given in CalculateScore();
1 parent d65ee56 commit 380bd77

File tree

3 files changed

+19
-16
lines changed

3 files changed

+19
-16
lines changed

Quaver.API/Maps/Processors/Scoring/ScoreProcessor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ public ScoreProcessor(Replay replay, JudgementWindows windows = null)
223223
/// <summary>
224224
/// Adds a judgement to the score and recalculates the score.
225225
/// </summary>
226-
public abstract void CalculateScore(Judgement judgement, bool isLongNoteRelease = false, bool isMine = false);
226+
public abstract void CalculateScore(Judgement judgement, bool isLongNoteRelease, bool isMine);
227227

228228
/// <summary>
229229
/// Calculates the accuracy of the current play session.

Quaver.API/Maps/Processors/Scoring/ScoreProcessorKeys.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ public Judgement CalculateScore(int hitDifference, KeyPressType keyPressType, bo
216216
return judgement;
217217

218218
if (calculateAllStats)
219-
CalculateScore(judgement, keyPressType == KeyPressType.Release);
219+
CalculateScore(judgement, keyPressType == KeyPressType.Release, isMine);
220220

221221
return judgement;
222222
}
@@ -234,7 +234,7 @@ public void CalculateScore(HitStat hitStat)
234234
/// <param name="judgement"></param>
235235
/// <param name="isLongNoteRelease"></param>
236236
/// <param name="isMine"></param>
237-
public override void CalculateScore(Judgement judgement, bool isLongNoteRelease = false, bool isMine = false)
237+
public override void CalculateScore(Judgement judgement, bool isLongNoteRelease, bool isMine)
238238
{
239239
// Update Judgement count
240240
CurrentJudgements[judgement]++;

Quaver.API/Replays/Virtual/VirtualReplayPlayer.cs

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,12 @@ public void PlayNextFrame()
174174
{
175175
var obj = Map.GetHitObjectAtJudgementIndex(i);
176176

177-
ScoreProcessor.CalculateScore(Judgement.Miss);
177+
var hitStat = new HitStat(HitStatType.Miss, KeyPressType.None, obj, obj.StartTime,
178+
Judgement.Miss, int.MinValue, ScoreProcessor.Accuracy, ScoreProcessor.Health);
178179

179-
ScoreProcessor.Stats.Add(new HitStat(HitStatType.Miss, KeyPressType.None, obj, obj.StartTime,
180-
Judgement.Miss, int.MinValue, ScoreProcessor.Accuracy, ScoreProcessor.Health));
180+
ScoreProcessor.CalculateScore(hitStat);
181+
182+
ScoreProcessor.Stats.Add(hitStat);
181183

182184
if (!ScoreProcessor.Failed)
183185
continue;
@@ -310,7 +312,7 @@ private void HandleKeyPressesInFrame()
310312
// Add another miss for an LN (head and tail)
311313
if (hitObject.IsLongNote)
312314
{
313-
ScoreProcessor.CalculateScore(Judgement.Miss, true);
315+
ScoreProcessor.CalculateScore(Judgement.Miss, true, false);
314316

315317
ScoreProcessor.Stats.Add(new HitStat(HitStatType.Miss, KeyPressType.Press, hitObject, Time, Judgement.Miss, int.MinValue,
316318
ScoreProcessor.Accuracy, ScoreProcessor.Health));
@@ -361,7 +363,7 @@ private void HandleKeyPressesInFrame()
361363
// The LN was released too early (miss)
362364
else
363365
{
364-
ScoreProcessor.CalculateScore(Judgement.Miss, true);
366+
ScoreProcessor.CalculateScore(Judgement.Miss, true, false);
365367

366368
// Add a new stat to ScoreProcessor.
367369
var stat = new HitStat(HitStatType.Hit, KeyPressType.Release, hitObject, Time, Judgement.Miss, hitDifference,
@@ -399,7 +401,7 @@ private void HandleMissedLongNoteReleases()
399401
// Judgement when a user doesn't release an LN.
400402
var missedReleaseJudgement = Judgement.Good;
401403

402-
ScoreProcessor.CalculateScore(missedReleaseJudgement, true);
404+
ScoreProcessor.CalculateScore(missedReleaseJudgement, true, false);
403405

404406
// Add new miss stat.
405407
var stat = new HitStat(HitStatType.Miss, KeyPressType.None, hitObject, hitObject.EndTime, missedReleaseJudgement, int.MinValue,
@@ -424,19 +426,20 @@ private void HandleMissedHitObjects()
424426
{
425427
if (Time > hitObject.StartTime + ScoreProcessor.JudgementWindow[Judgement.Okay])
426428
{
427-
// Add a miss to the score.
428-
ScoreProcessor.CalculateScore(Judgement.Miss);
429-
430429
// Create a new HitStat to add to the ScoreProcessor.
431430
var stat = new HitStat(HitStatType.Miss, KeyPressType.None, hitObject, hitObject.StartTime, Judgement.Miss, int.MinValue,
432431
ScoreProcessor.Accuracy, ScoreProcessor.Health);
433432

433+
// Add a miss to the score.
434+
ScoreProcessor.CalculateScore(stat);
435+
436+
434437
ScoreProcessor.Stats.Add(stat);
435438

436439
// Long notes count as two misses, so add another one if the object is one.
437440
if (hitObject.IsLongNote)
438441
{
439-
ScoreProcessor.CalculateScore(Judgement.Miss, true);
442+
ScoreProcessor.CalculateScore(Judgement.Miss, true, false);
440443
ScoreProcessor.Stats.Add(stat);
441444
}
442445

@@ -453,13 +456,13 @@ private void HandleMissedHitObjects()
453456
var endTime = hitObject.IsLongNote ? hitObject.EndTime : hitObject.StartTime;
454457
if (Time > endTime + ScoreProcessor.JudgementWindow[Judgement.Marv])
455458
{
456-
// Add a miss to the score.
457-
ScoreProcessor.CalculateScore(Judgement.Marv);
458-
459459
// Create a new HitStat to add to the ScoreProcessor.
460460
var stat = new HitStat(HitStatType.Hit, KeyPressType.None, hitObject, hitObject.StartTime, Judgement.Marv, 0,
461461
ScoreProcessor.Accuracy, ScoreProcessor.Health);
462462

463+
// Add a miss to the score.
464+
ScoreProcessor.CalculateScore(stat);
465+
463466
ScoreProcessor.Stats.Add(stat);
464467
ActiveMinesToRemove.Add(hitObject);
465468
}

0 commit comments

Comments
 (0)