1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-19 04:13:22 +08:00
Commit Graph

491 Commits

Author SHA1 Message Date
Dan Balasescu
8b56a3f87d Remove ClassicScoreMultiplier and DefaultScoreProcessor 2023-05-19 12:24:52 +09:00
Dan Balasescu
ef86be6d21 Fix base score added for non-accuracy-affecting objects 2023-05-18 20:32:50 +09:00
Dan Balasescu
510b8e4c78 Remove ScoreManager.Mode, handle per-use 2023-05-18 20:08:49 +09:00
Dan Balasescu
829e47d30b Add MaxTotalScore for performance breakdown calculator 2023-05-18 17:47:25 +09:00
Dan Balasescu
f2483a1cf8 Add some helper methods, fix precision differences
Introduces some error at all times, but if we're to store scores everywhere as
`long`, then the same precision should be applied to the "during
gameplay" path as well.
2023-05-18 17:44:31 +09:00
Dan Balasescu
a7b623f52a Reimplement classic scoring mode 2023-05-09 20:21:38 +09:00
Dan Balasescu
3c3c812ed6 Initial implementation of ScoreV2 2023-05-09 19:33:33 +09:00
Dean Herbert
210c5e7c53 Merge branch 'master' into decouple-mod-fails 2023-04-26 15:26:20 +09:00
Dean Herbert
1df6fc6311 Use if statements rather than conditional case 2023-02-10 17:03:27 +09:00
Bartłomiej Dach
96c1832af4
Fix grammar in xmldoc
Co-authored-by: Walavouchey <36758269+Walavouchey@users.noreply.github.com>
2023-02-10 00:07:24 +01:00
Dean Herbert
cf009432cc Centralise accuracy cutoff constants and add lookup helper methods 2023-02-09 15:41:58 +09:00
Gabe Livengood
e0f3fa1af6 remove this in ruleset assignment 2023-01-18 12:22:27 -05:00
Dean Herbert
522bb8bcca Use ComputeAccuracy to get imminent accuracy 2023-01-18 18:08:58 +09:00
Dan Balasescu
bbec42c00e Fix incorrect max combo after watching imported legacy replays 2023-01-12 14:18:21 +09:00
Dan Balasescu
d9a6e4b862 Ensure drain lenience of 1.0 completly removes drain 2023-01-11 13:01:11 +09:00
Bartłomiej Dach
6ed474d4fb
Rearrange formula for maximum accuracy
Feels like it's easier to understand this way. The difference of the
maximum scoring values for the entire beatmap and the max values for the
part of the beatmap that has already been played represents the act of
filling the rest of the unjudged objects with maximum results.
2022-12-30 20:56:54 +01:00
Bartłomiej Dach
8ace635249
Adjust minimum values 2022-12-30 20:55:51 +01:00
Bartłomiej Dach
bb2822a175
xmldoc pass 2022-12-30 20:55:48 +01:00
Bartłomiej Dach
6d42cc5a36
Naming pass 2022-12-30 20:30:58 +01:00
cdwcgt
3c32a50c12
add new accuracy counter display 2022-12-30 21:19:46 +09:00
Berkan Diler
c7ca4bbba5 Use generic Enum methods 2022-12-26 20:36:39 +01:00
Dean Herbert
4a7d7c6ed9 Use MaxBy in all locations that can and update inspection level to match dotnet-build 2022-12-19 16:47:10 +09:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
Dean Herbert
df94af4495 Inline ScoringValues and make some more methods private inside ScoreProcessor 2022-12-12 19:22:09 +09:00
Dan Balasescu
7a54bcac57 Remove unused using 2022-12-12 11:41:07 +09:00
Dan Balasescu
6e41efede8 Simplify dictionary construction 2022-12-12 11:40:47 +09:00
Dan Balasescu
5e8d75bbbf Remove unused overload 2022-12-12 11:39:03 +09:00
Dan Balasescu
e9998f1690 Store maximum statistics to spectator state 2022-12-09 20:15:07 +09:00
Dan Balasescu
9e64f8dab1 Fix loss of precision when computing accuracy 2022-12-05 19:08:50 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dan Balasescu
d47c46d144 Compute raw score in-line
Saves on an allocation (though it seems to only be a ValueType so it
shouldn't be a big deal) and a tail-call.
2022-11-18 14:22:28 +09:00
maromalo
83a3f1b82e Add computeRawScore() 2022-11-10 14:15:20 -03:00
maromalo
64e6276397 Fix score rounding issue 2022-11-08 01:10:21 -03:00
maromalo
b7ef9b176d Make score type consistent 2022-11-06 19:59:27 -03:00
Dan Balasescu
27d4016ccb Add ScoreProcessor.ComputeAccuracy() 2022-09-12 18:37:55 +09:00
Dean Herbert
c6521e4c72 Rename ordering helper method 2022-09-08 17:50:27 +09:00
Acid Chicken (硫酸鶏)
54f0bb797e
refactor(osu.Game): remove nullable optouts in HitResult.cs 2022-09-07 23:32:45 +09:00
Acid Chicken (硫酸鶏)
074d2a7a3a
chore(osu.Game): provide ordering index for HitResult 2022-09-05 02:01:44 +09:00
Dean Herbert
9b830d063f
Merge pull request #20010 from smoogipoo/scoreprocessor-no-rewrite-statistics
Don't include misses in failed score statistics
2022-08-29 17:07:13 +09:00
Dan Balasescu
81ac0daba8 Update xmldoc 2022-08-29 15:51:12 +09:00
Dan Balasescu
b2e80ca7f0 Don't include misses in failed score statistics 2022-08-29 15:27:19 +09:00
Dan Balasescu
c0b13c7e1f Refactor ScoreProcessor ComputeScore() methods 2022-08-29 13:51:10 +09:00
Dan Balasescu
9bca7223f6 Adjust xmldoc to better explain score contribution 2022-08-25 17:16:30 +09:00
Dan Balasescu
e2e10a8f26 Add some explanatory comments to conditions 2022-08-25 17:14:53 +09:00
Salman Ahmed
eb57ea76ab
Merge branch 'master' into legacy-combo-increase 2022-08-25 09:46:12 +03:00
Dan Balasescu
e7cbb6c63d Fix test failures/nullability 2022-08-24 19:53:16 +09:00
Dan Balasescu
c9ff39f8c3 Add HitResult.LegacyComboIncrease 2022-08-24 19:46:41 +09:00
Dan Balasescu
5ec95c9269 Update ScoreProcessor to make use of MaximumStatistics 2022-08-24 19:46:41 +09:00
Dan Balasescu
f70af779a4 Add maximum statistics to ScoreInfo/SoloScoreInfo 2022-08-24 17:28:41 +09:00
its5Q
abca3d1b2a Prefix common strings for context 2022-08-10 00:35:19 +10:00
its5Q
5080d62e77 Add missing localisation for settings enums 2022-08-08 21:51:23 +10:00
Salman Ahmed
a97170a272 Keep Rank bindable enabled on score fail 2022-07-21 08:16:17 +03:00
Salman Ahmed
9df49db45f Include bonus/ignore judgements in statistics fill logic 2022-07-21 08:13:09 +03:00
Salman Ahmed
ad09e728fd Move Passed assignment inside FailScore 2022-07-21 08:12:06 +03:00
Salman Ahmed
c1bcbd9c8a Fix fail score not handling bonus/tick-only beatmaps 2022-07-21 07:20:59 +03:00
Salman Ahmed
0f0b19da4a Populate score with remaining "miss" statistics on fail/exit 2022-07-21 06:01:36 +03:00
Salman Ahmed
c4089b71bd Store maximum score results from simulated autoplay 2022-07-21 06:00:41 +03:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Gabe Livengood
dc75d55f72
allow modfailcondition to arbitrarily trigger fail 2022-06-08 14:02:15 -04:00
Dan Balasescu
6351f652a2 Fix combo starting at 0 when spectating 2022-06-06 17:56:25 +09:00
Dan Balasescu
a638392e81 Rename member 2022-06-02 16:35:50 +09:00
Dan Balasescu
055845d4f5 Throw exception on access before ApplyBeatmap() 2022-06-02 16:34:45 +09:00
Dan Balasescu
e551e48697 Use ScoreInfo overload in more places 2022-06-02 11:01:46 +09:00
Dan Balasescu
425390e13b Refactor to reduce nested conditions 2022-06-01 09:54:47 +09:00
Dan Balasescu
50c3dfca31 Apply code reviews 2022-06-01 09:54:47 +09:00
Dan Balasescu
1e0ee1b214 Expose MaximumScoringValues for user consumption 2022-05-31 19:49:37 +09:00
Dan Balasescu
93240073a6 Rename field + rewrite xmldoc a bit 2022-05-31 19:40:07 +09:00
Dan Balasescu
28d8799e11 Add overloads to + document + expose ExtractScoringValues 2022-05-31 19:40:07 +09:00
Dan Balasescu
d6d56ee22d Fix unintentional truncation 2022-05-31 19:40:07 +09:00
Dan Balasescu
44ca350822 Reset minimal scoring values from frames 2022-05-31 19:40:07 +09:00
Dan Balasescu
20988be6bb Fix incorrect value 2022-05-31 19:40:07 +09:00
Dan Balasescu
6ccdb61853 Use new ComputeScore() overload in more cases 2022-05-31 19:40:02 +09:00
Dan Balasescu
2289812801 Add method to compute score from ScoringValues 2022-05-31 19:39:53 +09:00
Dan Balasescu
a809a19eec Remove getBonusScore() 2022-05-31 19:39:42 +09:00
Dan Balasescu
d0e3e50ca7 Extract score statistics directly into ScoringValues 2022-05-31 19:39:42 +09:00
Dan Balasescu
af0f934e1a Move raw ScoreProcessor values into ScoringValues struct 2022-05-31 19:39:38 +09:00
Dan Balasescu
132c94c1b5 Remove Ruleset parameter from ResetFromReplayFrame() 2022-05-31 17:16:23 +09:00
Dan Balasescu
5ad9692467 Adjust minimum health targets to match osu-stable 2022-05-17 19:24:51 +09:00
Salman Ahmed
cccc9d7d39 Rename method to better reflect what it's doing 2022-04-27 00:03:48 +03:00
Salman Ahmed
31f64b1381 Fix HealthProcessor fail conditions not handling multiple invocations 2022-04-26 23:27:03 +03:00
Salman Ahmed
7d32490198 Change score accuracy grading logic to be inclusive 2022-04-26 04:55:27 +03:00
Salman Ahmed
8078a8c1f8 Simplify IncreasesCombo/BreaksCombo helper method implementation 2022-03-18 17:18:42 +03:00
Salman Ahmed
5ec2d86c09 Update ScoreProcessor to use new defined helper methods 2022-03-18 15:22:53 +03:00
Salman Ahmed
fc576b1369 Separate increase/break combo helper methods from AffectsCombo 2022-03-18 15:22:01 +03:00
Dan Balasescu
3a6d254d1f Add safeguards around incorrect ruleset sources 2022-03-15 09:20:32 +09:00
Dan Balasescu
028750936c Apply review suggestions 2022-03-14 17:10:37 +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
a352a140bc
Merge pull request #17157 from peppy/fix-statistics-json-serialisation
Fix incorrect serialisation of submitted scores
2022-03-08 20:20:31 +09:00
Dan Balasescu
a172fc6cb8 Add IsBasic() and IsTick() extensions on HitResult 2022-03-08 18:19:12 +09:00
Dean Herbert
589a40ca2d Add EnumMember naming to HitResult to allow for correct json serialisation 2022-03-08 17:58:37 +09:00
Dean Herbert
7215f3f66b Fix CalculateAverageHitError throwing if there are zero HitEvents 2022-03-01 18:44:15 +09:00