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

764 Commits

Author SHA1 Message Date
Dean Herbert
1cfcaee121
Reorder badges so that SS shows above others
This isn't perfect and probably needs much more consideration, but let's
at least give the "better" ranks more visibility by bringing them to the
front.

Of note, this is only important due to the changes to osu!catch
accuracy-grade cutoffs, which brings things closer in proximity than
ever before.
2023-11-29 20:29:52 +09:00
Dan Balasescu
295a1b01d6
Adjust catch score grade cutoffs 2023-11-29 19:05:31 +09:00
Dean Herbert
537b0ae870
Add silly annotation for now (more new r# rules) 2023-11-24 12:47:42 +09:00
Bartłomiej Dach
96d784e06b
Delete ScoreInfo.HasReplay as no longer needed 2023-10-27 12:39:54 +02:00
Bartłomiej Dach
cbb2a0dd70
Use both score ID types to deduplicate score on solo results screen 2023-10-26 15:09:59 +02:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Nabile Rahmani
b658b0e346 Fix and use score user's IsBot property in results screen animation
While a mod-created replay did flag itself as performed by a bot, the extension method converting it into a Score did not copy all the generated properties.

As noted, it might be preferable for ModCreatedUser to inherit APIUser and forward it as-is to the Score instance.

Related to PR #24675
2023-08-29 23:28:50 +02:00
Bartłomiej Dach
f7d5ac9f92
Privatise setter 2023-08-01 18:09:48 +02:00
Dean Herbert
df504e1fc2 Show extended statistics in multiplayer spectator automatically 2023-08-01 20:02:36 +09:00
Bartłomiej Dach
1f7f336fd5
Merge branch 'master' into fix-replay-export-queued-op 2023-07-30 14:58:14 +02:00
Bartłomiej Dach
e208f38bcb
Merge pull request #24361 from peppy/fix-editor-global-music-hotkey-conflicts
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
6d5b3617b3 Remove pending export operation if active score is changed 2023-07-30 16:41:45 +09:00
Dean Herbert
35ec55c1f6 Don't queue export replay operations if button is disabled 2023-07-30 16:41:33 +09:00
Dean Herbert
e26afc2b89 Fix ReplayDownloadButton handling key repeat 2023-07-26 15:21:43 +09:00
Dean Herbert
3485b72eaa Disallow interacting with the global track state in Player and Editor 2023-07-25 20:20:53 +09:00
Bartłomiej Dach
20bde40ce2
Fix differing anchor specs on statistics panel flow items 2023-07-13 20:00:29 +02:00
Dean Herbert
2c27b17c85 Disable masking on inner scroll container 2023-07-13 19:01:59 +09:00
Dean Herbert
e34839c891 Rename StatisticContainer to StatisticItemContainer and add a background 2023-07-13 18:59:11 +09:00
Dean Herbert
b333945cde Change OverallRanking to use a two-column layout similar to statistics table 2023-07-13 18:45:32 +09:00
Dean Herbert
0881f4772c Adjust metrics of HitEventTimingDistributionGraph 2023-07-13 18:45:32 +09:00
Dean Herbert
947b40149f Adjust metrics of SimpleStatisticTable 2023-07-13 18:45:32 +09:00
Dean Herbert
d54cf63983 Centralise font size specification for statistic items (and reduce slightly) 2023-07-13 18:31:40 +09:00
Dean Herbert
f223fd7c3b Adjust metrics of PerformanceBreakdown 2023-07-13 18:30:57 +09:00
Dean Herbert
7637a9e603 Adjust metrics of OverallRanking 2023-07-13 18:30:57 +09:00
Dean Herbert
98bf15182e Remove more GridContainer nonsense 2023-07-13 18:30:57 +09:00
Dean Herbert
1d62a041cc Fix animation restarting unexpectedly 2023-07-13 15:07:26 +09:00
Dean Herbert
21f26f98da Fix graph breaking when resized vertically 2023-07-13 14:57:01 +09:00
Dean Herbert
e2b5abd4e8 Split bar drawable creation into own method 2023-07-13 14:43:41 +09:00
Dean Herbert
4f4c481a67 Fix timing distribution graph sometimes not displaying correctly
Weird "basal" height logic just didn't make any sense (was getting stuck at 1 when `DrawHeight` was 0)
2023-07-12 19:21:39 +09:00
Dean Herbert
82babbf8fa Adjust results screen transition tweens to feel better 2023-07-07 17:39:54 +09:00
Bartłomiej Dach
e2ddcb2349
Silence a few remaining nullability warnings 2023-07-04 22:39:26 +02:00
Dean Herbert
d74b1e148d Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
655491ae2d Fix potential null ref in ResultsScreen 2023-06-21 17:50:06 +09:00
Dean Herbert
9ca772421d Improve and combine logic that exists in two classes 2023-06-21 17:48:12 +09:00
Dean Herbert
4bd121d3b8 Also add hotkey to export replays 2023-06-20 16:54:37 +09:00
Dean Herbert
1e0e29847f Apply NRT and hotkey support to save replay button at results screen 2023-06-20 16:29:15 +09:00
Dean Herbert
362aa4b376 Also move GetMaxAchievableCombo 2023-06-16 15:26:13 +09:00
Joseph Madamba
85fedbd025
Add tooltips to truncated text 2023-06-08 19:44:07 -07:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Bartłomiej Dach
602d5db3bb
Simplify column dimensions code
`dimensions` would always receive exactly one item, so might as well
inline it.

And yes, at this point the grid container is mostly a glorified
`FillFlowContainer { Direction = FlowDirection.Vertical }`, but I am not
touching that in this pull pending further decisions with respect to
direction.
2023-06-03 19:40:01 +02:00
Dean Herbert
985604fab5 Return StatisticItems rather than StatisticRows from ruleset
There were no usages of more than one column being provided per row, so
it seemed like unnecessarily complexity. I'm currently trying to reduce
complexity so we can improve the layout of the results screen, which
currently has up to three levels of nested `GridContainer`s.

Of note, I can't add backwards compatibility because the method
signature has not changed in `Ruleset` (only the return type). If we do
want to keep compatibility with other rulesets, we could designate a new
name for the updated method.
2023-06-01 14:35:15 +09:00
Dean Herbert
dc595b83f1 Remove unused Dimension specification from StatisticItem 2023-06-01 14:25:18 +09:00
Dan Balasescu
7658536b5a Fix CI issues 2023-05-23 19:32:19 +09:00
Dan Balasescu
f3591f83a2 Remove ScoreManager.GetTotalScore() 2023-05-18 20:08:49 +09:00
Dean Herbert
cf009432cc Centralise accuracy cutoff constants and add lookup helper methods 2023-02-09 15:41:58 +09:00
Walavouchey
57312279f0 adjust RankNotch gap size to match original value 2023-02-09 02:20:05 +01:00
Walavouchey
fd93bd3f50 move rank accuracy requirements to class-local constants 2023-02-09 00:46:24 +01:00
Walavouchey
ee40444fd3 use Precision.AlmostEquals for bounds check 2023-02-08 23:59:19 +01:00
Walavouchey
0531c010eb display RankBadges on on their sector centres
the D `RankBadge` does this anyway. the A and S badges are slightly off
centre to prevent overlap with the SS badge
2023-02-08 14:01:40 +01:00
Walavouchey
6ace6bfee1 ensure AccuracyCircle doesn't land in gaps created by RankNotches 2023-02-08 13:20:53 +01:00
Bartłomiej Dach
3c0b8af8f1
Allow unsubscribing from solo statistics updates
This is more of a safety item. To avoid potential duplicate key in
dictionary errors (and also avoid being slightly memory-leaky), allow
`SoloStatisticsWatcher` consumers to dispose of the subscriptions they
take out.
2022-12-28 08:07:48 +01:00
Bartłomiej Dach
04f9a354c3
Convert SoloResultsScreen to NRT 2022-12-28 07:54:36 +01:00
Bartłomiej Dach
e90619244d
Fix incorrect accuracy display on overall ranking view 2022-12-27 19:51:51 +01:00
Bartłomiej Dach
01cf96e240
Only show global rankings on results screen when progressing from gameplay 2022-12-26 23:35:45 +01:00
Bartłomiej Dach
36a6f3685e
Don't show global rankings display when not logged in 2022-12-24 14:35:11 +01:00
Bartłomiej Dach
da519acb20
Add overall ranking display to solo results 2022-12-24 14:35:04 +01:00
Bartłomiej Dach
3abdf557ea
Add protected method for customising statistics panel rows 2022-12-24 14:35:00 +01:00
Bartłomiej Dach
600ada46be
Add protected method for customising statistics panel 2022-12-24 14:34:54 +01:00
Bartłomiej Dach
83a50816b6
Remove unused constructor param 2022-12-24 10:44:38 +01:00
Bartłomiej Dach
4e5109a649
Use plain bindable flow instead of binding to watcher directly 2022-12-24 10:27:28 +01:00
Bartłomiej Dach
c7f248e13c
Implement overall ranking display for solo results screen 2022-12-24 00:30:38 +01:00
Jamie Taylor
d5b2c7dfe9
Clamp SFX panning on results screen 2022-12-16 17:19:07 +09:00
Susko3
0f34d908c7 Use LocalisableStrings for date and time formats 2022-12-16 00:05:47 +01:00
Andrei Zavatski
41f7dad8e9 Delete SmoothCircularProgress.cs 2022-12-03 16:40:41 +03:00
Andrei Zavatski
97b6d88f00 Remove SmoothCircularProgress usage in AccuracyCircle 2022-12-03 16:39:44 +03:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dean Herbert
42eafe318c Remove various simple obsoletions 2022-10-28 13:20:58 +09:00
Dan Balasescu
d9499abc33 Refactor to avoid passing around bindables 2022-09-16 13:14:25 +09:00
Drison64
4f208416be Fixed irresponsiveness of score panel timestamp to time format 2022-09-16 13:50:18 +14:00
Acid Chicken (硫酸鶏)
4f298db066
fix(osu.Game): reset Y axis of the bars in hit distribution graph at the first drawing 2022-09-12 16:25:29 +09:00
Acid Chicken (硫酸鶏)
0d0e2e7bcc
fix(osu.Game): bars in hit distribution graph stretching in the opposite direction when DrawHeight is less than DrawWidth 2022-09-12 16:20:33 +09:00
Dean Herbert
96951057df Avoid using bindables 2022-09-12 15:56:06 +09:00
Dean Herbert
bcd2445d9b Move helper functions down in file 2022-09-12 15:50:10 +09:00
Dean Herbert
0755289ec3 Apply NRT to HitEventTimingDistributionGraph 2022-09-12 15:48:50 +09:00
Acid Chicken (硫酸鶏)
ac324c63e2
fix(osu.Game): handle size changes in timing distribution graph 2022-09-12 04:46:32 +09:00
Dean Herbert
c6521e4c72 Rename ordering helper method 2022-09-08 17:50:27 +09:00
Acid Chicken (硫酸鶏)
267465df18
chore(osu.Game): combine Osu.Colour.{Draw,Text}ForHitResult into OsuColour.ForHitResult 2022-09-07 23:34:46 +09:00
Acid Chicken (硫酸鶏)
b560b6f745
refactor(osu.Game): arrange the code for the timing distribution graph 2022-09-07 23:29:10 +09:00
Dean Herbert
99ef0c95fe Simplify children assignment 2022-09-07 16:51:51 +09:00
Acid Chicken (硫酸鶏)
3003fc1061
refactor(osu.Game): improve code quality 2022-09-07 02:29:15 +09:00
Acid Chicken (硫酸鶏)
b109e5de6c
chore(osu.Game): align height of bars on timing distribution graph to basalHeight first and combine their transitions into each one 2022-09-06 00:04:10 +09:00
Acid Chicken (硫酸鶏)
7e77c9e8b4
chore(osu.Game): only the first result should be white at zero position on HitEventTimingDistributionGraph 2022-09-05 04:44:27 +09:00
Acid Chicken (硫酸鶏)
b67fd3d880
chore(osu.Game): split transform duration of bars on HitTimingDistributionGraph 2022-09-05 03:45:51 +09:00
Acid Chicken (硫酸鶏)
0af6b3dc0f
chore(osu.Game): colorize bars by OD on HitEventTimingDistributionGraph 2022-09-05 02:02:38 +09:00
Acid Chicken (硫酸鶏)
5f0832ead7
refactor(osu.Game): separate OsuColour.ForHitResult by usage 2022-09-05 01:58:57 +09:00
Dean Herbert
6a35b233e5 Merge branch 'master' into remove-dispose-updates 2022-09-01 23:03:19 +09:00
Dean Herbert
5d41fdfc89 Remove unnecessary usage of DrawableAudioMixer in ScorePanel 2022-08-30 15:05:21 +09:00
Dean Herbert
105aa01e7d Update usages of RemoveInternal 2022-08-29 15:57:40 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Dan Balasescu
423f6f90f2 Remove async calls from ScoreManager 2022-08-29 15:34:08 +09:00
naoei
29ef1c8db8 Check if StatisticItem.Name is null or empty 2022-08-20 21:48:53 -04:00
naoei
9386d352b8 Make StatisticItem.Name not nullable 2022-08-20 21:48:35 -04:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization 2022-08-20 21:39:10 -04:00
Bartłomiej Dach
d06959e1dd
Update incorrect xmldoc 2022-08-17 22:03:35 +02:00
Dean Herbert
6761f869f9 Modify flow to avoid weird bindable and value resetting 2022-08-16 14:17:35 +09:00
naoei
18ce784ae0 Allow StatisticItem's name param to be nullable 2022-08-14 14:51:35 -04:00
naoei
6e13cf82e8 Don't render statistic header if display string is null 2022-08-10 16:05:34 -04:00
naoei
8cb2e11766 Change most ruleset-accessible string types to Localisable strings 2022-08-10 15:51:11 -04:00
Dean Herbert
99bdf41717 Avoid potential realm fetch after disposal in StatisticsPanel
As seen at https://github.com/ppy/osu/runs/7513799859?check_suite_focus=true.
2022-07-26 15:12:23 +09:00
Dean Herbert
db632c0d6e Inline rolling duration 2022-07-23 02:38:00 +09:00
Dean Herbert
475679ca66 Fix DI failure 2022-07-23 02:27:47 +09:00
Dean Herbert
bb46ba66e0 Simplify TotalScoreCounter tick playback logic 2022-07-23 02:27:17 +09:00
Dean Herbert
9f045209b9 Simplify score panel balance adjustment 2022-07-23 02:09:08 +09:00
Jamie Taylor
62d4d4b055
Add dynamic panning fun to score panel sfx 2022-07-22 21:03:47 +09:00
Jamie Taylor
89da21b6de
Add total score counter sfx 2022-07-22 21:03:47 +09:00
Jamie Taylor
6ce8e74e6b
Add panel appearance sounds 2022-07-22 21:03:46 +09:00
Dean Herbert
b8c90266de
Merge pull request #19209 from 3stantedja/make-contracted-stats-titlecase
Make sure stats name are title-cased when score panel is contracted
2022-07-18 16:26:20 +09:00
Fyra Tedja
6ad7723d60 Make sure stats name are title-cased when score panel is contracted 2022-07-17 22:13:08 -06:00
tsunyoku
bbb2398a8b change retry button icon from ArrowCircleLeft to Redo 2022-07-17 00:46:29 +01:00
Dean Herbert
c8c79d2185 Standardise HasReplay implementation (and remove from persisting to realm) 2022-07-15 16:14:21 +09:00
Dean Herbert
f956955d4d Combine ScoreInfo construction helper methods 2022-07-12 18:00:25 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Henry Lin
ef5d601f67 Fix difficulty name overflow in score panel 2022-06-07 12:05:03 +08:00
Salman Ahmed
2f3ac61b47 Revert "Replace vertical scrolling in results screen with size-preserving container"
This reverts commit 298c2a1828.
2022-05-09 10:35:14 +03:00
Salman Ahmed
422531d8ec Revert "Remove no longer required constant"
This reverts commit 6f4cdccf6c.
2022-05-09 10:35:13 +03:00
Salman Ahmed
3407a299ef Revert "Revert scale locking changes for now"
This reverts commit e4521b1fff.
2022-05-09 10:35:12 +03:00
Salman Ahmed
e4521b1fff Revert scale locking changes for now 2022-05-09 10:16:57 +03:00
Salman Ahmed
6f4cdccf6c Remove no longer required constant 2022-05-08 16:20:26 +03:00
Salman Ahmed
7f1ad149d5 Remove no longer necessary horizontal scroll blocker 2022-05-08 16:04:24 +03:00
Salman Ahmed
298c2a1828 Replace vertical scrolling in results screen with size-preserving container 2022-05-08 16:03:57 +03:00
Salman Ahmed
f958010d29 Fix AccuracyCircle storing accuracy values in float 2022-04-26 04:52:48 +03:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Joseph Madamba
358931842f Move enabled setting to each case 2022-04-06 21:22:56 -07:00
Joseph Madamba
4432a93d09 Fix replay button being disabled when available locally but not online 2022-04-06 20:43:56 -07:00
Salman Ahmed
2a78042038 GetBeatmapMaximumComboAsync -> GetMaximumAchievableComboAsync 2022-03-20 16:18:53 +03:00
Salman Ahmed
eca7975864 Compute the beatmap maximum achievable combo instead of Beatmap.MaxCombo 2022-03-20 05:38:14 +03:00
Salman Ahmed
fa8eb1feec Update score panel to check for all combo-breaking statistics 2022-03-18 15:23:14 +03:00
Salman Ahmed
af22e67e15 Fix perfect combo check not accounting for LargeTickMiss
`LargeTickMiss` can affect combo, see
a352a140bc/osu.Game/Rulesets/Scoring/HitResult.cs (L124-L144).
2022-03-18 13:11:41 +03:00
Salman Ahmed
9215384229 Display beatmap maximum combo in score panel 2022-03-18 13:11:41 +03:00
Dean Herbert
06512e8bd9
Use const for minimum height specification in final usage location
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-06 01:01:22 +09:00
Dean Herbert
f8ef352306
Don't consider judgements beneath the minimum height as being applicable
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-06 01:00:47 +09:00
Dean Herbert
5a164e4520 Hide adjustment when no adjustment is applied 2022-03-04 15:19:55 +09:00
Dean Herbert
8c7b1e0aa8 Only construct the adjustment portion of bars when required 2022-03-04 15:01:54 +09:00
Dean Herbert
2785218b79 Only apply animation if the bar is going to be larger than the minimum height 2022-03-04 14:59:53 +09:00
Dean Herbert
540d7d0e2c Add the ability to set and show an offset value on timing distribution graph 2022-03-04 14:36:15 +09:00
Dean Herbert
d3e04fe594 Colour centre bin in distribution graph differently 2022-03-04 14:09:27 +09:00
Dean Herbert
c063a73742 Fix autosize weirdness by specifying a constant size for the x axis 2022-03-04 14:05:42 +09:00
Dean Herbert
010fa7ed01 Allow an offset to be shown on the timing distribution graph 2022-03-04 14:05:42 +09:00
Dean Herbert
835cb09537 Merge branch 'master' into fix-hit-distribution-rounding 2022-03-04 12:43:57 +09:00
Dean Herbert
8b504bb5ac Ensure rounding is still applied in non-midpoint cases 2022-03-04 12:42:07 +09:00
Dean Herbert
a06d806fb9 Fix hit distribution graph midpoint rounding not looking great around zero
Not sure this will be accepted and it's likely only ever going to show
in tests, but seems to be a better approach to midpoint rounding for
this case?
2022-03-03 15:43:02 +09:00
Dean Herbert
ab0ee26540 Remove padding from distribution graph bars to fix some bars becoming invisible at low sizes 2022-03-03 15:13:42 +09:00
Salman Ahmed
97c54de3bf Fix performance statistic not handling rulesets with unimplemented calculator 2022-03-01 20:43:20 +03: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
Henry Lin
10bdb7240f Pre-check for divisor zero and add explanation 2022-02-08 14:36:29 +08:00
Henry Lin
0b1fef38af Use the playable beatmap provided in CreateStatisticsForScore 2022-02-05 21:36:34 +08:00