1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 14:17:27 +08:00
Commit Graph

559 Commits

Author SHA1 Message Date
Dan Balasescu
6ed5613c22
Merge branch 'master' into mania-convert-song-select-keycount 2023-12-13 13:53:50 +09:00
Dan Balasescu
2930b53edd
Simplify implementation 2023-12-13 13:43:14 +09:00
Dan Balasescu
8c760e5110
Fix hitobject count when creating from an IBeatmap 2023-12-13 13:41:03 +09:00
Dan Balasescu
daaadf3fc3
Fix IgnoreMiss judgements not updating accuracy 2023-12-13 11:51:45 +09:00
Dan Balasescu
987fe9322e
Merge pull request #24166 from Zyfarok/scorev3
Modify osu! standardised scoring to introduce a combo exponent
2023-12-12 17:38:44 +09:00
Dan Balasescu
b36db3518c
Add keycount to song select details panel and carousel panels 2023-12-09 22:31:51 +09:00
Dan Balasescu
767d5c8018
Add object counts to IBeatmapDifficultyInfo 2023-12-09 22:31:51 +09:00
Dan Balasescu
295a1b01d6
Adjust catch score grade cutoffs 2023-11-29 19:05:31 +09:00
Dan Balasescu
8314f656a3
Encapsulate common HP logic from osu and catch HP calculations 2023-11-24 18:32:06 +09:00
Bartłomiej Dach
ca37e1afc2
Merge branch 'master' into scorev3 2023-11-24 10:37:10 +09:00
Bartłomiej Dach
d4519f74ab
Merge branch 'master' into hp-drain-fix-breaks 2023-11-23 10:31:42 +09:00
Dan Balasescu
30309cdf11
Merge pull request #25415 from Poyo-SSB-forks/unify-ur
Change unstable rate calculation to account for rate-change mods
2023-11-23 09:53:28 +09:00
Poyo
3a0586a8f5 Rewrite backwards assertion 2023-11-21 15:19:04 -08:00
Dan Balasescu
8302ebcf1a
Remove default DrainRate value 2023-11-21 19:18:02 +09:00
Clément Burgelin (Zyfarok)
1f88658bad Fix syntax 2023-11-20 03:05:46 +01:00
Zyf
432b88674b Scoring : change formula parameters to match survey results 2023-11-20 00:02:58 +01:00
Zyf
cadd9b4ace Merge remote-tracking branch 'upstream/master' into scorev3 2023-11-19 23:53:05 +01:00
Dean Herbert
6fa7b4f552
Merge branch 'master' into hp-drain-v1-2 2023-11-17 18:33:03 +09:00
Poyo
a73c870712 Allow GameplayRate to be nullable and assert before use 2023-11-15 17:00:35 -08:00
Dan Balasescu
e3137d575b
Fix osu! and base HP processor break time implementation 2023-11-14 01:11:17 +09:00
Dan Balasescu
98e6b7744b
Cleanup 2023-11-13 13:46:47 +09:00
Poyo
064857c40b Calculate unstable rate using rate-adjusted offsets 2023-11-10 19:57:44 -08:00
Dan Balasescu
fecc6f580b
Add legacy reference health processor 2023-11-10 18:40:21 +09:00
Dean Herbert
818432fab4
Fix non-classic osu! combo not matching expectations 2023-11-02 19:27:55 +09:00
Dean Herbert
3787348448
Change Perfect judgement to not give extra score 2023-10-13 16:29:02 +09:00
Bartłomiej Dach
063623b4e6
Merge branch 'master' into remove-hold-note-ticks 2023-10-11 19:47:51 +02:00
Dan Balasescu
a1a46e58fc
Move validation to DHO.ApplyResult() 2023-10-10 21:42:37 +09:00
Dan Balasescu
04ce223e66
Remove pairings that shouldn't be valid 2023-10-10 10:03:37 +09:00
Dan Balasescu
594bcc2ab5
Apply suggestion to condense method 2023-10-10 09:56:26 +09:00
Dan Balasescu
326702165f
Update HitResult helpers with new judgement 2023-10-09 11:50:17 +09:00
Dan Balasescu
65ac617be4
Actually validate judgements 2023-10-09 10:45:29 +09:00
Dan Balasescu
9415fe4446
Add mania hold note body + combo break judgement 2023-10-09 09:47:00 +09:00
Dan Balasescu
da2a4681d9 Add method to retrieve legacy score multiplier 2023-10-02 16:52:01 +09:00
Dan Balasescu
b4b7a7ea5e Add LegacyBeatmapConversionDifficultyInfo abstraction 2023-10-02 16:52:01 +09:00
Dean Herbert
04ab44bb7a
Reword xmldoc to read better
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-12 15:28:55 +09:00
Dan Balasescu
2334be1987 Split legacy scoring attributes into a separate object 2023-09-07 21:10:38 +09:00
Dean Herbert
5ddb10281b Move combo exponent to shared constant 2023-08-24 14:55:44 +09:00
Dean Herbert
4e9e084b2c Merge branch 'master' into scorev3 2023-08-22 15:52:22 +09:00
Zyf
b672b49e02 Scoring : Implement v1 to v3 conversion. 2023-07-15 23:20:49 +02:00
Zyf
175bd3b578 Scoring : Move some of the accuracy weight to ComboScore (edited) 2023-07-15 15:21:56 +02:00
Dan Balasescu
47a65f8890
Merge branch 'master' into fix-imperfect-simulation 2023-07-13 15:41:54 +09:00
Zyf
3c76cb2fb0 Scoring : Use square-root of combo 2023-07-12 00:32:42 +02:00
Dean Herbert
1629024111 ILegacyScoreProcessor -> ILegacyScoreSimulator 2023-07-04 17:32:54 +09:00
Dan Balasescu
09bc8e45de Refactoring 2023-06-28 16:14:32 +09:00
Dan Balasescu
a9c65d200a Initial conversion of scores 2023-06-26 22:19:01 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Bartłomiej Dach
e46b4209c3
Remove no-longer-needed local method 2023-06-14 21:50:19 +02:00
Bartłomiej Dach
462570801a
Introduce new method for enumeration of objects during autoplay simulation 2023-06-14 21:50:19 +02:00
Bartłomiej Dach
3295294cbc
Reorder autoplay-related virtual methods closer together 2023-06-14 21:50:19 +02:00
Bartłomiej Dach
04e812b5ab
Make JudgementProcessor.SimulateAutoplay() non-virtual
Nobody overrides this, and with the structure given, overriders would
have to rewrite half of this code anyway. The fact that the class has 2
other overridable members (`CreateResult()`, `GetSimulatedHitResult()`)
which cease to have any meaning if `SimulateAutoplay()` is overridden
also contributes to taking this decision.
2023-06-14 21:50:19 +02:00
Dean Herbert
3334323eb7 Run updateScore on Reset for good measure 2023-06-14 01:54:57 +09:00
Dean Herbert
0ab9a48f00 Fix score not updating when TrackHitEvents is set to false 2023-06-13 11:44:52 +09:00
Dean Herbert
e9fb1f8932 Avoid tracking hit events altogether during migration 2023-06-13 02:15:41 +09:00
Dean Herbert
e0ebb000d6 Avoid unnecessary operations during score processor simulation 2023-06-13 02:05:11 +09:00
Dean Herbert
b3ca409339 Rename a few remaining CountAccuracyJudgement variable 2023-05-29 20:08:22 +09:00
Dean Herbert
a789d1e49c Add xmldoc and change naming around ScoreProcessorStatistics a bit 2023-05-29 18:38:16 +09:00
Dan Balasescu
d45b54399b Add back minimum/maximum accuracy 2023-05-23 18:15:32 +09:00
Dan Balasescu
3598ca9125 Adjust xmldoc 2023-05-23 18:05:10 +09:00
Dan Balasescu
8570f825ed Consider all accuracy judgements in accuracy progress 2023-05-23 17:47:35 +09:00
Dan Balasescu
f8101fbbc7 Rename variables 2023-05-23 17:44:17 +09:00
Dan Balasescu
62d504af92 Fix base implementation of ComputeTotalScore 2023-05-23 15:59:24 +09:00
Dan Balasescu
e1feeded12 Change statistics type, remove overridability 2023-05-23 15:36:34 +09:00
Dan Balasescu
25d72d370e Always add non-bonus change to combo portion 2023-05-20 00:24:43 +09:00
Dan Balasescu
30a296bd09 Rename parameters 2023-05-19 17:27:02 +09:00
Dan Balasescu
6c6f8621c1 Add score processor statistics to replay header 2023-05-19 16:29:24 +09:00
Dan Balasescu
d74bf2a096 Refactor for safety 2023-05-19 14:37:26 +09:00
Dan Balasescu
2ae34530f7 Avoid NaN values during ApplyBeatmap processing() 2023-05-19 14:14:34 +09:00
Dan Balasescu
7cbf48ffcf Fix TestSceneScoring and incorrect combo calculations 2023-05-19 14:09:19 +09:00
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