Commit Graph

327 Commits

Author SHA1 Message Date
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
4bbff2ebf7 Merge branch 'master' into new-interfaces 2021-10-06 11:38:17 +09:00
676df55a0e Fade display out during rewind (as the value displayed is no longer valid) 2021-10-05 15:39:29 +09:00
05996cc2e9 Add changes that got forgotted in branch surgery 2021-10-01 17:04:53 +09:00
8595eb2d11 Switch BeatmapDifficulty usages to use interface type 2021-10-01 16:55:50 +09:00
e2f7aaeb71 Fix 0 score with bonus-only maps 2021-09-02 17:00:13 +09:00
31433c4b89 Apply @spaceman_atlas' quadratic factor 2021-09-02 16:26:17 +09:00
bd0f385cdb Make classic scoring a constant multiple of standardised scoring 2021-09-01 14:53:11 +09:00
e32933eb54 Avoid Enum.GetValues in each score population pass 2021-08-26 13:37:53 +09:00
b3f60c8253 Fix date being updated on replays unexpectedly 2021-07-19 19:28:35 +09:00
fb5d25405e Replace calls to obsoleted GetOrDefault() extension 2021-07-18 21:52:16 +02:00
61b7dc1e06 Fix bonus-only maps having 700K base score 2021-04-28 03:42:29 +09:00
1281993f1f Fix bonus score not calculated from the correct statistics 2021-04-27 22:42:58 +09:00
d0f30b7b42 Delay map completion one frame after the last judgment
This is a workaround of a timing issue.
KeyCounter is disabled while break time (`HasCompleted == true`).
When the last keypress is exactly at the same time the map ends, the last frame was considered in a break time while forward play but considered not in a break time while rewinding. This inconsistency made the last keypress not decremented in the key counter when a replay is rewound.
The situation regularly happens in osu!standard because the map ends right after the player hits the last hit circle. It was caught by `TestSceneGameplayRewinding`.

This commit makes the update of the map completion delayed one frame. The problematic keypress frame is now processed strictly before the map completion, and the map completion status is correctly rewound before the keypress frame.
2021-04-13 14:29:47 +09:00
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
8293b06c0a Remove obsolete code 2021-04-09 13:56:58 +09:00
701342e036 Remove accuracy rounding at a ScoreProcessor level 2021-03-25 17:43:51 +09:00
2c08ce05fa Remove game-local enum [Order] attribute
In favour of the newly-added framework one.
2021-01-27 22:29:52 +01:00
d66e218318 Source display accuracy from header and remove from ScoreProcessor function 2020-12-24 14:57:23 +09:00
be427a4ec0 Fix realtime leaderboard showing accuracy based on final base score, not rolling 2020-12-23 14:20:35 +09:00
ee33c0be93 Extract combo & accuracy ratio calculation helpers 2020-12-19 19:08:29 +01:00
f13683dc90 Correctly account for max combo of the input, rather than the global 2020-12-17 16:05:41 +09:00
41d8b84bd7 Revert MaxBaseScore to being a private field (no longe required to be public) 2020-12-17 15:47:20 +09:00
2954218897 Add method to ScoreProcessor to calculate score and accuracy from statistics 2020-12-16 16:20:29 +09:00
109abc0e29 Always store standardised score when populating ScoreInfo 2020-11-10 08:41:00 +01:00
7109c3b6cd Rename variable as suggested 2020-10-07 21:06:24 +02:00
2b6e4e575e Award max combo portion score if max achievable is 0 2020-10-07 17:04:55 +03:00
74af7cc503 Rework ScoreProcessor 2020-10-07 17:00:00 +03:00
7890319802 Merge branch 'master' into adjust-hit-result-types 2020-10-01 16:19:07 +09:00
cb6b35116a Merge branch 'master' into scoring-standardisation 2020-10-01 12:28:51 +09:00
9d07dce5e4 Merge pull request #10251 from smoogipoo/additional-hit-results 2020-10-01 12:19:48 +09:00
77651be2ca Remove padding from HitResult 2020-09-30 21:32:50 +09:00
91262620d3 Remove XMLDocs from Ok/Perfect hit results 2020-09-29 17:17:06 +09:00
bad48d6d44 Merge branch 'master' into scoring-standardisation 2020-09-29 16:33:38 +09:00
31fae045fa Update judgement processors with new hit results 2020-09-29 16:33:38 +09:00
6264a01ecc Add guard against using the wrong hit result 2020-09-29 16:33:38 +09:00
07226c79b6 Add xmldocs 2020-09-29 16:33:23 +09:00
cee58e89a3 Pad hit results 2020-09-29 16:32:02 +09:00
1a70002cdd Split ignore into hit/miss 2020-09-29 14:41:50 +09:00
9a24346a00 Fix HP drain edgecase potentially causing insta-fails 2020-09-25 23:29:40 +09:00
4bcc3ca828 Add AffectsAccuracy extension 2020-09-25 22:16:14 +09:00
1c4baa4e2a Add bonus hit results and orderings 2020-09-25 20:11:27 +09:00
447fd07b4e Fix maps with only bonus score having NaN scores 2020-09-11 01:13:55 +09:00
37a659b2af Refactor/add xmldocs 2020-09-09 17:36:47 +09:00
e271408fca Move max score calculation inside ScoreProcessor 2020-09-09 16:51:53 +09:00
1e5e5cae0c Add support for standardised -> classic changes 2020-08-28 21:34:34 +09:00
4d15f0fe52 Implement basic score recalculation 2020-08-28 19:16:46 +09:00
a4ad0bd174 Ensure 0 score from miss judgements, add test 2020-08-18 19:51:26 +09:00
6b2b3f4d4d Expose accuracy/combo portion adjustments 2020-07-16 14:10:44 +09:00
fda45997db Merge pull request #9530 from peppy/fix-memory-retention
Clean up HitEvents after use to avoid near-permanent memory retention
2020-07-12 01:27:38 +09:00