Dean Herbert
06c7483347
Merge branch 'master' into update-framework
2024-03-06 12:36:05 +08:00
Dean Herbert
85364d25dc
Merge pull request #27276 from bdach/medals
...
Add flow for displaying achieved medals
2024-03-06 12:31:55 +08:00
Dean Herbert
6455c0583b
Update usage of CircularProgress.Current
2024-03-06 12:13:10 +08:00
Berkan Diler
a891303484
Use ArgumentOutOfRangeException throw helper methods
2024-03-05 10:20:30 +01:00
Salman Ahmed
8f97f0503f
Move away from Solo
namespace
2024-02-29 01:21:17 +03:00
Salman Ahmed
de48c51715
Apply renaming in remaining usages
2024-02-29 01:11:08 +03:00
Dean Herbert
fe59a3b9be
Merge branch 'master' into medals
2024-02-26 22:49:55 +08:00
Bartłomiej Dach
eac4c5f69d
Rename {Solo -> User}StatisticsWatcher
et al.
...
The "solo" prefix is a bit unbecoming now. The updates are not only
for solo.
2024-02-22 20:36:24 +01:00
Bartłomiej Dach
1e53503608
Show user statistics after completing a playlists / multiplayer score
2024-02-22 20:35:50 +01:00
Bartłomiej Dach
0074bdc5a1
Change ResultsScreen
constructor boolean params to init-only properties
2024-02-22 20:15:03 +01:00
Bartłomiej Dach
82b2edd4b7
Merge pull request #26769 from EVAST9919/results-clean
...
Rework `AccuracyCircle` to not use `BufferedContainer`s
2024-02-22 13:46:28 +01:00
Andrei Zavatski
2543a48ac8
Apply padding to GridContainers directly
2024-02-20 23:18:37 +03:00
Bartłomiej Dach
611e3fe76b
Delay medal display when wanting to show results animation
2024-02-20 16:31:31 +01:00
Bartłomiej Dach
eae43f5fd9
Consume SoloStatisticsWatcher
updates in toolbar button
2024-02-13 14:28:24 +01:00
Bartłomiej Dach
21b9fb95e2
Move SoloStatisticsWatcher
to OsuGame
...
Doesn't feel like it needs to be in base, and it being in base was
causing problems elsewhere before.
2024-02-13 14:28:24 +01:00
Bartłomiej Dach
da4ebd0681
Refactor SoloStatisticsWatcher
to no longer require explicit subscription callbacks
2024-02-13 13:49:01 +01:00
Andrei Zavatski
ff7cd67909
Move all the circles into their own container
2024-02-06 21:14:36 +03:00
Andrei Zavatski
fc4234214e
Merge branch 'master' into results-clean
2024-02-06 08:03:10 +03:00
Salman Ahmed
44a594ba05
Simplify playback logic
2024-02-05 01:03:04 +03:00
Andrei Zavatski
4e5c9ddbfe
Rename notch const to spacing
2024-02-04 03:02:39 +03:00
Andrei Zavatski
397def9ceb
Move layout specification outside the GradedCircles class
2024-02-04 02:58:15 +03:00
Andrei Zavatski
7b2adc857a
Merge branch 'master' into results-clean
2024-02-04 02:41:12 +03:00
Salman Ahmed
4dbcb41dd1
Remove unused parameter
2024-02-02 00:44:51 +03:00
Salman Ahmed
5bbaeb6836
Play legacy applause sound only when rank is B or higher
2024-02-01 16:08:36 +03:00
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