Salman Ahmed
35c3f5e250
Merge branch 'master' into fix-results-f-rank
2024-02-01 15:29:07 +03:00
Dean Herbert
fb24c66342
Mark ResultsScreen.Score
as nullable
...
Is nullable in playlist results at very least.
2024-01-29 16:43:26 +09:00
Dean Herbert
eb90ee5415
Add safety in ResultsScreen.Exit
to ensure HitEvents
are not holding references
...
This is a catch-all safety disconnecting `ScoreInfo` from `HitObject`s.
2024-01-29 16:16:17 +09:00
Dean Herbert
76832a1495
Remove ScorePerformanceCache
...
This class was only used in two places, both on the results screen, but
was holding references to `OsuPlayfield` game-wide (due to unrelated
issues, but still).
Because I can't really think of future use cases for this, and running
the calculation twice at results screen isn't a huge overhead, let's
just do that for now to keep things simple.
2024-01-29 15:28:20 +09:00
Andrei Zavatski
0c0ba7abef
Adjust values to visually match previous
2024-01-29 06:28:38 +03:00
Andrei Zavatski
3987faa21c
Rework GradedCircles to not use BufferedContainer
2024-01-29 06:13:52 +03:00
Andrei Zavatski
809ca81b9c
Add TestSceneGradedCircles
2024-01-29 05:29:29 +03:00
Andrei Zavatski
9c411ad48d
Simplify notch math
2024-01-29 05:19:28 +03:00
Andrei Zavatski
5783838b07
Move graded circles into a separate class
2024-01-29 05:14:24 +03:00
Andrei Zavatski
32b0e0b738
Remove RankNotch
2024-01-29 05:05:18 +03:00
Andrei Zavatski
5d456c8d68
Rework drawing of graded circles
2024-01-29 04:55:21 +03:00
Salman Ahmed
d25262944e
Force results screen to play default D rank applause sound on fail (regardless of skin)
2024-01-27 01:46:43 +03:00
Salman Ahmed
47f0b86018
Fix results screen showing other rank badges on F rank
2024-01-27 01:46:12 +03:00
Dean Herbert
37e370e654
Fix crash at results screen when hidden is enabled and S rank becomes A due to miss
...
Closes https://github.com/ppy/osu/issues/26692 .
2024-01-25 15:02:44 +09:00
Dean Herbert
0cf90677e6
Apply more correct visual offset adjustment
...
Co-authored-by: Walavouchey <36758269+Walavouchey@users.noreply.github.com>
2024-01-23 19:16:55 +09:00
Bartłomiej Dach
45dc9de1e0
Remove remnant of old implementation of showing "A due to misses"
2024-01-22 19:58:11 +01:00
Dean Herbert
83f9118b22
Adjust results screen to handle S->A rank adjustment when misses are present
2024-01-22 21:43:32 +09:00
Dean Herbert
a66ddc7813
Change rolling counters to use quicker easing types
2024-01-17 18:18:53 +09:00
Bartłomiej Dach
a41108057f
Merge pull request #26287 from wooster0/no-scores-yet
...
Don't leave scores screen empty if no scores are present yet
2024-01-15 19:49:20 +01:00
Bartłomiej Dach
9d2c82452c
Revert "simplify the code even more"
...
This reverts commit 9bc9db9138
.
2024-01-15 18:47:49 +01:00
wooster0
9bc9db9138
simplify the code even more
2024-01-15 20:58:43 +09:00
wooster0
8ad697ff4c
apply some suggestions/corrections
2024-01-09 21:28:46 +09:00
Dean Herbert
14a43375a7
Fix overall ranking text overlapping at some aspect ratios
...
Can't confirm on the actual ranking screen due to stuff not working.
Maybe it'll work tomorrow.
Closes https://github.com/ppy/osu/issues/26341 .
2024-01-06 20:25:07 +09:00
wooster0
2c64db0628
Use already existing message placeholder + localized string
2024-01-04 12:15:48 +09:00
wooster0
0c85fd496f
Don't leave scores screen empty if no scores are present yet
...
Addresses https://github.com/ppy/osu/discussions/23787
I originally wanted to set `allowShowingResults` to false if there are
no results but because this involves an API request to fetch the scores
that would mean all the scores would have to be fetched all at once so
that it knows whether to hide or show the "View results" button on a
beatmap.
Because that would slow things down and be very inefficient, this still
allows the user to view the scores screen but if there aren't any
scores, it shows a text, which I think is at least for now better than
nothing.
As for the testing of this, I wasn't sure how to not generate scores
only for one specific test so I opted into not using `SetUpSteps` and
doing it that way.
2023-12-31 22:42:32 +09:00
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