1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 15:53:00 +08:00
Commit Graph

432 Commits

Author SHA1 Message Date
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
Dean Herbert
159db38f8a Add missing xmldoc 2022-02-28 19:14:43 +09:00
Dean Herbert
a41e1c80f1 Show hit error on results screen
Leading up to implementation of "local offset", this feels like a good
thing to have visible first and foremost.
2022-02-28 19:11:06 +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 252b945d3b, reversing
changes made to a1b39a96cf.
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
Dean Herbert
0f83f77d2b Add xmldoc for new ResetFromReplayFrame method 2022-02-01 16:52:53 +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
Dan Balasescu
4106ebf881 Fix mania requiring PERFECTs to maintain HP 2022-01-12 18:29:23 +09:00
Bartłomiej Dach
69809390d3
Fix HUD unstable rate counter not including judgements before load complete
Also unifies UR calculation logic with the results screen statistic item
to reduce duplication.
2021-11-11 13:36:05 +01:00
Bartłomiej Dach
40cffd1682
Expose HitEvents publically from ScoreProcessor 2021-11-11 13:22:07 +01:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dan Balasescu
4bbff2ebf7
Merge branch 'master' into new-interfaces 2021-10-06 11:38:17 +09:00
Dean Herbert
676df55a0e Fade display out during rewind (as the value displayed is no longer valid) 2021-10-05 15:39:29 +09:00
Dean Herbert
05996cc2e9 Add changes that got forgotted in branch surgery 2021-10-01 17:04:53 +09:00
Dean Herbert
8595eb2d11 Switch BeatmapDifficulty usages to use interface type 2021-10-01 16:55:50 +09: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
ekrctb
d0f30b7b42 Delay map completion one frame after the last judgment
This is a workaround of a timing issue.
KeyCounter is disabled while break time (`HasCompleted == true`).
When the last keypress is exactly at the same time the map ends, the last frame was considered in a break time while forward play but considered not in a break time while rewinding. This inconsistency made the last keypress not decremented in the key counter when a replay is rewound.
The situation regularly happens in osu!standard because the map ends right after the player hits the last hit circle. It was caught by `TestSceneGameplayRewinding`.

This commit makes the update of the map completion delayed one frame. The problematic keypress frame is now processed strictly before the map completion, and the map completion status is correctly rewound before the keypress frame.
2021-04-13 14:29:47 +09:00
Dean Herbert
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +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
Bartłomiej Dach
2c08ce05fa Remove game-local enum [Order] attribute
In favour of the newly-added framework one.
2021-01-27 22:29:52 +01: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
7890319802 Merge branch 'master' into adjust-hit-result-types 2020-10-01 16:19:07 +09:00
smoogipoo
cb6b35116a Merge branch 'master' into scoring-standardisation 2020-10-01 12:28:51 +09:00
Dean Herbert
9d07dce5e4
Merge pull request #10251 from smoogipoo/additional-hit-results 2020-10-01 12:19:48 +09:00
smoogipoo
77651be2ca Remove padding from HitResult 2020-09-30 21:32:50 +09:00
smoogipoo
91262620d3 Remove XMLDocs from Ok/Perfect hit results 2020-09-29 17:17:06 +09:00
smoogipoo
bad48d6d44 Merge branch 'master' into scoring-standardisation 2020-09-29 16:33:38 +09:00
smoogipoo
31fae045fa Update judgement processors with new hit results 2020-09-29 16:33:38 +09:00
smoogipoo
6264a01ecc Add guard against using the wrong hit result 2020-09-29 16:33:38 +09:00
smoogipoo
07226c79b6 Add xmldocs 2020-09-29 16:33:23 +09:00
smoogipoo
cee58e89a3 Pad hit results 2020-09-29 16:32:02 +09:00
smoogipoo
1a70002cdd Split ignore into hit/miss 2020-09-29 14:41:50 +09:00
smoogipoo
9a24346a00 Fix HP drain edgecase potentially causing insta-fails 2020-09-25 23:29:40 +09:00
smoogipoo
4bcc3ca828 Add AffectsAccuracy extension 2020-09-25 22:16:14 +09:00
smoogipoo
1c4baa4e2a Add bonus hit results and orderings 2020-09-25 20:11:27 +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