Commit Graph

3825 Commits

Author SHA1 Message Date
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
a172fc6cb8 Add IsBasic() and IsTick() extensions on HitResult 2022-03-08 18:19:12 +09:00
589a40ca2d Add EnumMember naming to HitResult to allow for correct json serialisation 2022-03-08 17:58:37 +09:00
464be6e64c Only call IUpdatableByPlayfield.Update if the playfield isn't nested 2022-03-03 14:37:39 +08:00
7215f3f66b Fix CalculateAverageHitError throwing if there are zero HitEvents 2022-03-01 18:44:15 +09:00
159db38f8a Add missing xmldoc 2022-02-28 19:14:43 +09:00
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
3a03833912 Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
d8fa443ea0 Extract default mod switch measurements to constants
For use later when specific sizes/scales of the mod switches are
desired.
2022-02-22 23:22:11 +01:00
cfc41a0a36 Implement small mod switch 2022-02-22 00:26:35 +01:00
5186693dad Implement tiny mod switch 2022-02-22 00:26:35 +01:00
c466d6df94 Ensure to not multiply by 0 2022-02-21 17:19:35 +09:00
c3b365cf6b Scale classic score by hitobject count 2022-02-21 13:31:03 +09:00
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
23933fc881 Update xmldoc to mention that multipliers are not applied anywhere 2022-02-16 17:32:22 +09:00
5ffd3ff82a Add xmldoc and allow constructing an AssemblyRulesetStore with a directory path 2022-02-16 17:25:16 +09:00
d0efecfc9c Add RulesetStore for use where realm is not present (ie. other projects) 2022-02-16 17:13:54 +09:00
7a69de0060 Split out realm portion of RulesetStore 2022-02-16 17:13:31 +09:00
4c1413e0c7 No longer require Mod implementation 2022-02-16 16:36:02 +09:00
5dd9771c5f Remove mod multipliers from being applied to scores 2022-02-16 16:27:27 +09:00
84e82ef5e4 Add XMLDocs to difficulty attribute properties 2022-02-16 14:09:19 +09:00
b9d9fc56af Move files to UI namespace 2022-02-14 17:51:39 +09:00
92e22c57a7 Introduce private APIRuleset for online ID equality comparison 2022-02-11 08:27:01 +03:00
26839f6ad8 Consider OnlineIDs during ruleset equality if available
Required for `APIBeatmap`s, which provide `Ruleset` instances with `OnlineID` available only.

Also consistent with the comparer implementation.
2022-02-11 04:26:58 +03:00
1b729e891d Update pointless CompareTo implementation once again 2022-02-11 04:17:30 +03:00
9574bc1382 Allow IRulesetInfos of same type to be comparable
At first I was planning on making `CompareTo` implemented at
`IRulesetInfo` itself and shared across classes, but turns out it only
implements it explicitly and not allow direct `IRulesetInfo.Equals`
calls.

It messed with my head enough that I decided to just let each class have
its own implementation and only allow same type.
2022-02-11 04:03:23 +03:00
ebd105422f Remove unused using 2022-02-10 14:22:08 +09:00
f7fb7825cc Simplify disposal 2022-02-10 14:21:51 +09:00
a3896a8ebd Remove allowance of null dependency 2022-02-10 14:21:50 +09:00
45b3f472ab Merge branch 'master' into spectator-state-rework 2022-02-08 19:51:50 +09:00
56c90a21ce Add a todo 2022-02-06 11:22:12 +08:00
f78c853bc7 Calculate max combo locally in PerformanceBreakdownCalculator 2022-02-06 10:59:53 +08:00
0b1fef38af Use the playable beatmap provided in CreateStatisticsForScore 2022-02-05 21:36:34 +08:00
f29301cd1e Merge branch 'master' into display-performance-attributes 2022-02-05 16:59:46 +08:00
483977d5c8 Merge branch 'master' into spectator-state-rework 2022-02-03 19:59:07 +09:00
82f9ad63f5 Fix flashlight size multiplier printing with too many decimal digits 2022-02-02 20:41:25 +01:00
074a691635 Set keyboard step to 0.1 for difficulty adjust sliders 2022-02-02 17:43:08 +03:00
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
0c5da9370a Fix rulesets potentially being marked Available even when methods are missing
Came up when running the game after the recent breaking changes
(https://github.com/ppy/osu/pull/16722), where two template rulesets I
had loaded were erroring on startup but still being marked as available,
allowing them to crash the game on attempting to initiate relpay logic.

These cases are already handled for first-time ruleset loading via the
`GetTypes()` enumeration in `RulesetStore.addRuleset`, but when
consistency checking already present rulesets the only runtime
validation being done was `ruleset.CreateInstance()`, which does not
handle missing types or methods.
2022-02-02 14:52:01 +09:00
b06128ffa5 Rename "Final PP" to "Achieved PP" 2022-02-01 22:26:55 +08:00
41007169f7 Give SpectatorState a user state 2022-02-01 21:51:05 +09:00
0f83f77d2b Add xmldoc for new ResetFromReplayFrame method 2022-02-01 16:52:53 +09:00
0641264a11 Merge branch 'master' into spectator-consistency-frames 2022-02-01 14:35:30 +09:00
c50577e25f Apply suggestion from review
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-01 10:48:41 +09:00
4fb565e15f Reset ScoreProcessor from statistics replay frames 2022-01-31 21:32:56 +09:00
39e1d65976 Make ScoreProcessor write all judgement types 2022-01-31 18:53:47 +09:00
0458d408bb Add replay statistics frames to FramedReplayInputHandler 2022-01-31 18:53:47 +09:00
4727aeda01 Give last bundled replay frame the frame header 2022-01-31 18:53:47 +09:00
0e764538e0 Retrieve KeyBindingContainer via DI rather than traversal lookup 2022-01-31 17:05:04 +09:00
a84fd2e20c Merge branch 'master' into master 2022-01-31 16:30:08 +09:00