Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Salman Ahmed
e6236ba088
Update save score button to check availability after import
...
Previously was relying on whether `SaveReplay` returns null, but since
I've changed it to use the standard "prepare score for import" path, the
button has to check for local availability after import since that path
doesn't return null on fail.
2022-07-15 23:39:52 +03:00
Salman Ahmed
6285442b7d
Fix failed scores not prepared before import
2022-07-15 22:57:12 +03:00
Dean Herbert
2beed6d7b7
Allow failed scores to fail in replay playback
2022-07-15 20:45:48 +09:00
Dean Herbert
d325c534ab
Check whether score is already imported and show correct state for save button
2022-07-15 20:45:37 +09:00
Dean Herbert
0200ef1d48
Make delegate firing more safe to being set later than BDL
2022-07-15 19:06:44 +09:00
Dean Herbert
0e788ac714
Simplify bindable logic greatly
2022-07-15 19:02:12 +09:00
Dean Herbert
8a48cb701d
Tidy up implementation and remove unnecessary enum
2022-07-15 19:02:04 +09:00
Dean Herbert
ab6665d88c
Merge branch 'master' into Save-Score-Failed
2022-07-15 18:02:58 +09:00
Dean Herbert
937692604e
Remove mention of autoplay mod for now
2022-07-13 22:37:20 +09:00
Dean Herbert
ab3ec80159
Update LastPlayed
on gameplay starting in a SubmittingPlayer
2022-07-13 16:43:43 +09:00
Dean Herbert
b52ea16133
Show basic error message when score submission fails
2022-07-12 15:10:59 +09:00
cdwcgt
d2406242ae
rename updateTooltip to updateState
2022-07-09 00:38:17 +09:00
cdwcgt
91f471ebe0
disabled button instead of shake
...
removed `ShakeContainer`
2022-07-09 00:37:53 +09:00
cdwcgt
a38c6704c2
Use ContinueWith, Check is Task empty
2022-07-09 00:23:32 +09:00
Dean Herbert
e4ebab92c6
Rename lots of weird variables
2022-07-08 18:37:03 +09:00
Dean Herbert
f3a6e646a6
Merge branch 'master' into Save-Score-Failed
2022-07-08 18:32:13 +09:00
Dean Herbert
9d730f8440
Fix custom rulesets not importing scores at all
...
Replaces the error with the ability to import, minus replays.
Closes https://github.com/ppy/osu/issues/17350 (arguably, but let's go with it for now).
2022-07-07 14:49:23 +09:00
Dan Balasescu
1ccfd69690
Merge pull request #18978 from peppy/send-beatmap-hash-to-server
...
Send beatmap hash to server on solo score request
2022-07-03 13:18:17 +09:00
Salman Ahmed
19d300e311
Fix player loader not accepting star difficulty updates after display
2022-07-02 09:17:38 +03:00
Dean Herbert
634b6cdbbe
Send beatmap has to server on solo score request
...
Right now, the client does nothing to ensure a beatmap is in a valid
state before requesting to submit a score. There is further work to be
done client-side so it is more aware of this state (already handled for
playlists, but not for the solo gameplay loop), but the solution I have
in mind for that is a bit more involved.
This is not used server-side yet, but I want to get this sending so we
can start using it for some very basic validation.
Will resolve the basic portion of #11922 after implemented server-side.
2022-07-02 12:16:17 +09:00
cdwcgt
33209ecd25
remove useless value change
2022-06-30 19:51:58 +09:00
cdwcgt
fd0d8b1ce3
Add button state, fix async issues, watch replay method
...
Most borrowed from `ReplayDownloadButton`
2022-06-29 22:50:47 +09:00
Dean Herbert
6bfd351dec
Add logging of GameplayClockContainer
seeks
2022-06-28 15:23:29 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
cdwcgt
bff35cb348
Shake button when replay already save
2022-06-22 01:19:20 +09:00
cdwcgt
f2eb7e0551
Use better design and fix some problem
...
Let saveReplay async but still void
Make failed score's rank = F
2022-06-21 19:06:38 +08:00
Dan Balasescu
b3e5642dfd
Use WaitingOnFrames instead
2022-06-21 12:23:43 +09:00
cdwcgt
43ead5820a
deal with test
2022-06-21 00:54:50 +09:00
cdwcgt
9a6f4ef76d
Save score button on failed screen
2022-06-19 23:59:37 +09:00
Dan Balasescu
98d69c846c
Reset spectator speed at last frame
2022-06-19 17:12:20 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
be2b4e68b9
Don't play player exit sound when restarting
2022-06-15 17:49:18 +09:00
Dean Herbert
6136e4e27a
Don't play exit sound if screen is in a non-resumable state when exiting
2022-06-15 17:37:25 +09:00
Jamie Taylor
6b744a14b0
Move 'back' sample playback from OnResuming to OnExiting
2022-06-15 15:41:28 +09:00
Dean Herbert
6be4209458
Fix AlwaysPresent
specification in wrong container
2022-06-15 01:04:43 +09:00
Dean Herbert
a20e43c2ae
Ensure containers which are being used to hide HUD elements still update for now
...
I don't think this is necessarily a final solution (as this means all
HUD elements are adding overhead even when not visible), but this will
make the implementations much easier for the time being.
I've checked and can't notice any perceivable overhead in profiling so
we should be fine for now.
2022-06-14 18:22:25 +09:00
Dean Herbert
bd9ea9bd6f
Revert most unnecessary changes
...
Turns out `AlwaysPresent` at top level is actually enough.
This reverts commit 86163d2225
.
2022-06-13 23:58:14 +09:00
Dean Herbert
86163d2225
Fix hit error meters not updating visual state when hidden
...
It is an expectation of users that when the HUD is shown after a period
of being hidden, it will visually reflect the state based on recent
judgements.
To achieve this, I've added `AlwaysPresent` and moved the transform
application to the meter level, rather than at a child level. If this is
seen as a bad direction, `AlwaysPresent` can be applied to the drawable
children and the transforms can be moved back.
Also of note, `ColourHitErrorMeter` is pretty weird. The flow class
could potentially be removed and reduce `AlwaysPresent` usage by one.
Can do that refactor as part of this PR if preferred.
Closes #18624 .
2022-06-13 16:38:57 +09:00
Dean Herbert
17eaf7bb5c
Add failing test coverage showing hit meters don't update when not visible
2022-06-13 16:36:22 +09:00
Dan Balasescu
6e450b7350
Explicitly handle operation cancelled exceptions
2022-06-09 14:35:53 +09:00
Dan Balasescu
ec03dc16db
Don't trigger notification when user quit
2022-06-09 14:13:14 +09:00
Dan Balasescu
bfde334e77
Allow beatmaps to load endlessly when entering Player
2022-06-09 14:03:21 +09:00
Dan Balasescu
22d998dc2a
Use new score processor in MultiplayerGameplayLeaderboard
2022-05-30 19:26:26 +09:00
Dan Balasescu
a052e09ac3
Send ScoreProcessor statistics in SpectatorState
2022-05-30 19:26:26 +09:00
Dan Balasescu
c97b477485
Fix inverted operation order
2022-05-30 19:11:54 +09:00
Bartłomiej Dach
1641918c51
Revert "Avoid throwing unobserved exception when PerformancePointsCounter
requests timed attributes"
...
This reverts commit 19b655d75b
.
2022-05-28 15:23:28 +02:00
Dean Herbert
9c3d0dafbd
Remove implementation at Player
level
...
Turns out this isn't required in the end due to implementation at
`MasterGameplayClockContainer`.
2022-05-23 02:00:21 +09:00
Dean Herbert
007582afb9
Remove unused usings resulting from namespace move
2022-05-22 23:55:33 +09:00
Dean Herbert
eabf578282
Use interface to convey beat sync information
2022-05-22 22:44:54 +09:00
Dean Herbert
1c36995606
Expose HoldingForHUD
state from HUDOverlay
as bindable
2022-05-11 16:09:16 +09:00
Bartłomiej Dach
cbd1169495
Move cache declarations of ISamplePlaybackDisabler
to interface
2022-05-08 10:38:58 +02:00
Bartłomiej Dach
9ae019eb39
Move ISamplePlaybackDisabler
to more general namespace
2022-05-08 10:38:58 +02:00
Bartłomiej Dach
f5026bbbeb
Bind to button's activation delay directly
2022-05-06 10:04:36 +02:00
Bartłomiej Dach
f39fcee41b
Remove commented-out code
2022-05-06 10:04:00 +02:00
Dean Herbert
78959a6e05
Add animation to denote a dangerous player exit
2022-05-06 15:02:22 +09:00
Dean Herbert
1c4aa12585
Rename non-descript Button
nested class
2022-05-06 14:45:53 +09:00
Dean Herbert
a11771c11b
Better encapsulate exposed bindables of HoldToConfirmContainer
2022-05-06 14:45:53 +09:00
Dean Herbert
be960eb092
Move dangerous hold specification to base class
2022-05-06 14:34:31 +09:00
Dean Herbert
2896612c5c
Make exiting multiplayer a dangerous operation, requiring hold
2022-05-03 16:06:04 +09:00
Bartłomiej Dach
2b4a49e17f
Merge branch 'master' into move-difficulty-graph-toggle
2022-05-02 16:38:25 +02:00
Dean Herbert
1f1845d69b
Merge branch 'master' into multiplayer-force-start-2
2022-04-29 14:45:40 +09:00
Dean Herbert
c4495dafb6
Merge branch 'master' into move-difficulty-graph-toggle
2022-04-29 13:44:47 +09:00
Dean Herbert
6ccbdc85a3
Improve setting description text
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-29 11:56:46 +09:00
Dan Balasescu
1d8ac6917d
Send Loaded state from PlayerLoader on update thread
2022-04-28 20:10:47 +09:00
Salman Ahmed
691bec6f16
Use LocalisableString.Interpolate
instead of invalid TranslatableString
s
2022-04-28 11:38:40 +03:00
Dean Herbert
3c45746ba1
Add back schedule for safety
2022-04-28 14:29:57 +09:00
Dean Herbert
7c1b0b41ff
Fix migration not working correctly when applying on a default skin
2022-04-28 14:19:24 +09:00
Dean Herbert
7a23363d74
Add migration of song progress setting from config to component
2022-04-27 18:10:58 +09:00
Dean Herbert
e6bb5e84ec
Merge branch 'master' into move-difficulty-graph-toggle
2022-04-27 17:22:25 +09:00
Salman Ahmed
e646233722
Use correct translation for "Accuracy" label in break overlay
2022-04-26 19:16:36 +03:00
Dean Herbert
8ab3636f87
Change conditions for HUD being shown to include pause/fail states
...
As proposed in https://github.com/ppy/osu/discussions/17975 . Feels pretty good to me, and probably how it should have been implemented from the start.
2022-04-26 12:09:21 +09:00
Dan Balasescu
b293d3923c
Merge branch 'master' into multiplayer-force-start-2
2022-04-23 01:03:55 +09:00
Dean Herbert
832d37b2c2
Update screen transition events to use new event args
2022-04-22 00:52:44 +09:00
Dan Balasescu
41355384bd
Add support for gameplay abort/force start
2022-04-21 23:14:37 +09:00
Dean Herbert
848366416e
Revert string type changes in MetadataLineInfo
2022-04-21 14:10:58 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Salman Ahmed
94335c2938
Update further usages to cache/resolve via interface
2022-04-19 00:18:10 +03:00
Dean Herbert
043599081b
Split out INotificationOverlay
to allow for easier testing
2022-04-18 20:14:01 +09:00
Dan Balasescu
2abdbe53e7
Cleanup whitespace
2022-04-14 18:55:12 +09:00
Dan Balasescu
9de4d416e2
Merge branch 'master' into fix-spectator-seeks
2022-04-14 18:54:52 +09:00
Dan Balasescu
494955aff1
Resolve inspection issues
2022-04-14 13:11:11 +09:00
Dean Herbert
fbf0e5a45c
Remove startFromSkipTarget
parameter and update usages that required said behaviour
2022-04-13 14:25:43 +09:00
Dean Herbert
a59c6013c7
Rename latestGameplayStartTime
to skipTargetTime
2022-04-13 14:03:52 +09:00
Dean Herbert
d4286255a0
Expose and set GameplayStartTime
directly, rather than via Reset
parameter
2022-04-13 13:58:44 +09:00
Dean Herbert
017f3852c8
Replace incorrectly chosen ??=
with ??
2022-04-13 13:32:36 +09:00
Dean Herbert
9c68b3edc5
Merge branch 'master' into fix-spectator-seeks
2022-04-13 12:33:41 +09:00
Dean Herbert
282fccb4c8
Fix typo in xmldoc
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-13 12:24:47 +09:00
Dean Herbert
8b1cee75fa
Use BindableLong
instead of BindableInt
for user score tracking
2022-04-12 14:13:07 +09:00
Dean Herbert
0ba95a4483
Ensure all users are shown on leaderboard (even when API lookup fails)
2022-04-12 11:54:30 +09:00
Dean Herbert
ebee9e6888
Fix MultiplayerGameplayLeaderboard
not immediately updating totals on scoring mode change
2022-04-12 11:27:27 +09:00
Dean Herbert
cb6e557212
Fix MasterGameplayClockContainer
having incorrect rate-based offsets immediately after LoadComplete
...
I've attempted to explain why this is required using inline comments.
There's also further conversation at
https://github.com/ppy/osu/pull/17302#issuecomment-1091850927 .
2022-04-11 14:11:26 +09:00
Dean Herbert
808f0ecb74
Ensure running state is updated before performing Seek
in GameplayClockContainer.Reset
2022-04-11 14:10:50 +09:00
Dean Herbert
19b655d75b
Avoid throwing unobserved exception when PerformancePointsCounter
requests timed attributes
2022-04-11 13:30:21 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks
2022-04-06 12:58:43 +09:00
Dean Herbert
01829cf2d8
Move SkinnableInfo
error handling to lower level
...
Handling was recently added to handle the usage in
`Skin.GetDrawableCompoent`, but it turns out this is also required for
`DrawableExtensions.ApplySkinnableInfo` which can throw in a similar
fashion.
Found while working on sprite support for the editor, where this becomes
an actual issue (ie. switching to a branch where the new sprite support
is not present can cause unexpected crashes).
2022-04-01 14:30:04 +09:00
Joseph Madamba
d0873d67e1
Move difficulty graph toggle to individual skin settings
2022-03-31 18:56:57 -07:00
Salman Ahmed
9c19ae1df8
Remove no longer necessary ruleset field
2022-03-31 06:40:38 +03:00
Dan Balasescu
6e94a9780b
Remove ScoreInfo allocations in multi leaderboard
2022-03-31 12:23:00 +09:00