193 Commits

Author SHA1 Message Date
Salman Ahmed
7d32490198 Change score accuracy grading logic to be inclusive 2022-04-26 04:55:27 +03:00
Salman Ahmed
5ec2d86c09 Update ScoreProcessor to use new defined helper methods 2022-03-18 15:22:53 +03:00
Dan Balasescu
3a6d254d1f Add safeguards around incorrect ruleset sources 2022-03-15 09:20:32 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Dan Balasescu
9cc7f70872 Nullable annotate classes 2022-03-14 15:38:00 +09:00
Dan Balasescu
cf91353009 Merge branch 'master' into scoreprocessor-rework 2022-03-10 16:14:28 +09:00
Dan Balasescu
c36badab4b Add per-ruleset score multipliers for classic scoring 2022-03-10 10:26:09 +09:00
Dan Balasescu
6fd8b4d891 Safeguard method against invalid invocation 2022-03-08 22:30:44 +09:00
Dan Balasescu
f1c40bd9ed Rework GetScore() method signatures + implementations
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
a8e99f1a95 Calculate classic score using total basic hitobject count 2022-03-08 21:49:41 +09:00
Dan Balasescu
5b6b8d1fa9 Remove GetStandardisedScore() proxy method 2022-03-08 21:49:41 +09:00
Dan Balasescu
6654977a7b Add GetScore() overload with total hitobject count 2022-03-08 21:49:41 +09:00
Dan Balasescu
2c382bd1d9 Rename GetImmediateScore() as overload of GetScore() 2022-03-08 21:49:40 +09:00
Dan Balasescu
c466d6df94 Ensure to not multiply by 0 2022-02-21 17:19:35 +09:00
Dan Balasescu
c3b365cf6b Scale classic score by hitobject count 2022-02-21 13:31:03 +09:00
Dean Herbert
7307e68e9c Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
This reverts commit 252b945d3b0cd4e6f33ac334f23bcf119a119c2a, reversing
changes made to a1b39a96cfe3f4d0f02652ded5ebca09ba1d24e1.
2022-02-17 13:26:12 +09:00
Dan Balasescu
5dd9771c5f Remove mod multipliers from being applied to scores 2022-02-16 16:27:27 +09:00
Dan Balasescu
c50577e25f
Apply suggestion from review
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-01 10:48:41 +09:00
Dan Balasescu
4fb565e15f Reset ScoreProcessor from statistics replay frames 2022-01-31 21:32:56 +09:00
Dan Balasescu
39e1d65976 Make ScoreProcessor write all judgement types 2022-01-31 18:53:47 +09:00
Bartłomiej Dach
40cffd1682
Expose HitEvents publically from ScoreProcessor 2021-11-11 13:22:07 +01:00
smoogipoo
e2f7aaeb71 Fix 0 score with bonus-only maps 2021-09-02 17:00:13 +09:00
smoogipoo
31433c4b89 Apply @spaceman_atlas' quadratic factor 2021-09-02 16:26:17 +09:00
smoogipoo
bd0f385cdb Make classic scoring a constant multiple of standardised scoring 2021-09-01 14:53:11 +09:00
Dean Herbert
e32933eb54 Avoid Enum.GetValues in each score population pass 2021-08-26 13:37:53 +09:00
Dean Herbert
b3f60c8253 Fix date being updated on replays unexpectedly 2021-07-19 19:28:35 +09:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault() extension 2021-07-18 21:52:16 +02:00
smoogipoo
61b7dc1e06 Fix bonus-only maps having 700K base score 2021-04-28 03:42:29 +09:00
smoogipoo
1281993f1f Fix bonus score not calculated from the correct statistics 2021-04-27 22:42:58 +09:00
smoogipoo
8293b06c0a Remove obsolete code 2021-04-09 13:56:58 +09:00
Dean Herbert
701342e036 Remove accuracy rounding at a ScoreProcessor level 2021-03-25 17:43:51 +09:00
Dean Herbert
d66e218318 Source display accuracy from header and remove from ScoreProcessor function 2020-12-24 14:57:23 +09:00
Dean Herbert
be427a4ec0 Fix realtime leaderboard showing accuracy based on final base score, not rolling 2020-12-23 14:20:35 +09:00
Bartłomiej Dach
ee33c0be93 Extract combo & accuracy ratio calculation helpers 2020-12-19 19:08:29 +01:00
Dean Herbert
f13683dc90 Correctly account for max combo of the input, rather than the global 2020-12-17 16:05:41 +09:00
Dean Herbert
41d8b84bd7 Revert MaxBaseScore to being a private field (no longe required to be public) 2020-12-17 15:47:20 +09:00
Dean Herbert
2954218897 Add method to ScoreProcessor to calculate score and accuracy from statistics 2020-12-16 16:20:29 +09:00
Bartłomiej Dach
109abc0e29 Always store standardised score when populating ScoreInfo 2020-11-10 08:41:00 +01:00
Bartłomiej Dach
7109c3b6cd Rename variable as suggested 2020-10-07 21:06:24 +02:00
Endrik Tombak
2b6e4e575e Award max combo portion score if max achievable is 0 2020-10-07 17:04:55 +03:00
Endrik Tombak
74af7cc503 Rework ScoreProcessor 2020-10-07 17:00:00 +03:00
smoogipoo
31fae045fa Update judgement processors with new hit results 2020-09-29 16:33:38 +09:00
smoogipoo
447fd07b4e Fix maps with only bonus score having NaN scores 2020-09-11 01:13:55 +09:00
smoogipoo
37a659b2af Refactor/add xmldocs 2020-09-09 17:36:47 +09:00
smoogipoo
e271408fca Move max score calculation inside ScoreProcessor 2020-09-09 16:51:53 +09:00
smoogipoo
1e5e5cae0c Add support for standardised -> classic changes 2020-08-28 21:34:34 +09:00
smoogipoo
4d15f0fe52 Implement basic score recalculation 2020-08-28 19:16:46 +09:00
smoogipoo
a4ad0bd174 Ensure 0 score from miss judgements, add test 2020-08-18 19:51:26 +09:00
smoogipoo
6b2b3f4d4d Expose accuracy/combo portion adjustments 2020-07-16 14:10:44 +09:00
Dean Herbert
2bb0283a68 Clean up HitEvents after use to avoid near-permanent memory retention 2020-07-12 00:52:55 +09:00