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
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