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
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
Dan Balasescu
47a65f8890
Merge branch 'master' into fix-imperfect-simulation
2023-07-13 15:41:54 +09: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