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 StatisticItem
s rather than StatisticRow
s 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 RankBadge
s 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 RankNotch
es
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 LocalisableString
s 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