Salman Ahmed
4e6c1a3906
Update client beatmap availability in-line with tracker
2021-01-18 10:51:39 +03:00
Dean Herbert
1364de1166
Merge branch 'master' into beatmap-colour-setting
2021-01-18 16:07:46 +09:00
Salman Ahmed
585aa87c53
Fix playlist item download button never shown back after hiding
2021-01-17 19:17:14 +03:00
Dean Herbert
5fd644fc57
Unify variable names
2021-01-17 22:42:48 +09:00
Dean Herbert
edb6d3907b
Merge pull request #11472 from frenzibyte/explicit-beatmap-markers
...
Add explicit content markers to beatmap panels and overlay
2021-01-17 21:44:10 +09:00
Bartłomiej Dach
1d7be6a604
Merge branch 'master' into android-multiple-import-support-suppot
2021-01-16 23:13:11 +01:00
Salman Ahmed
59ae50b0e5
Clean up ready button logic into using MultiplayerBeatmapTracker
2021-01-17 01:11:03 +03:00
Salman Ahmed
cf23781036
Cache beatmap tracker and bind to selected item in RoomSubScreen
2021-01-17 00:01:11 +03:00
Dean Herbert
d6e6b4bbee
Revert forced cloning of ControlPointInfo
...
This reverts commit 3c3e860dbc
.
Closes https://github.com/ppy/osu/issues/11491 .
2021-01-15 17:34:59 +09:00
Dean Herbert
831c06a3c7
Expose and consume boolean covering whether an ongoing smooth seek is running
2021-01-15 16:14:38 +09:00
Dean Herbert
04fa32bc34
Rename and add xmldoc for smooth seeking method
2021-01-15 16:14:21 +09:00
Dean Herbert
ed78be825f
Fix editor timeline not snapping on non-precise wheel scroll
...
For wheel input with precision, we still prefer exact tracking for now.
May change this in the future based on feedback from mappers, but it
makes little sense to do non-snapped scrolling when input is coming from
a non-precise source.
2021-01-15 15:47:42 +09:00
Dan Balasescu
40f020c683
Merge pull request #11494 from peppy/fix-beatmap-carousel-incorrect-sample
...
Fix the beatmap carousel playing the difficulty change sample on beatmap change
2021-01-15 14:47:00 +09:00
smoogipoo
24e991a5ef
Actually return beat length and not BPM
2021-01-15 14:35:09 +09:00
smoogipoo
c6e9a6cd5a
Make most common BPM more accurate
2021-01-15 14:28:49 +09:00
Dean Herbert
0a65ae8f1e
Fix the beatmap carousel playing the difficulty change sample on beatmap change
2021-01-15 14:07:24 +09:00
Dan Balasescu
67b5ebadf5
Merge branch 'master' into fix-is-connected-thread-safety
2021-01-15 12:56:21 +09:00
Dan Balasescu
3e8732a59f
Merge branch 'master' into fix-participants-list
2021-01-14 21:30:53 +09:00
Salman Ahmed
1f12b2bd09
Rename download state Downloaded
to Importing
2021-01-13 18:04:53 +03:00
Salman Ahmed
1502b07ea8
Add explicit pill to playlist items
2021-01-13 12:27:15 +03:00
Mysfit
5f10bcce02
Added beatmap colour settings checkbox and associated tests.
2021-01-13 00:09:22 -05:00
Bartłomiej Dach
2d3cacca11
Fix non-hosts crashing on load requested
...
`onLoadRequested()` always released the `readyClickOperation` ongoing
operation, without checking whether it actually needs to/should (it
should only do so if the action initiating the operation was starting
the game by the host). This would crash all other consumers, who already
released the operation when their ready-up operation completed server
side.
To resolve, relax the constraint such that the operation can be ended
multiple times in any order. At the end of the day the thing that
matters is that the operation is done and the ready button is unblocked.
2021-01-13 00:58:53 +01:00
Dean Herbert
7298adc9d9
Fix non-threadsafe usage of MultiplayerClient.IsConnected
2021-01-12 19:04:16 +09:00
Dean Herbert
b51b07c3a9
Fix unstable multiplayer room ordering when selection is made
2021-01-12 18:05:29 +09:00
Dean Herbert
422260797b
Revert polling changes to fix participant list display
...
It turns out this polling was necessary to get extra data that isn't
included in the main listing request. It was removed deemed useless, and
in order to fix the order of rooms changing when selecting a room.
Weirdly, I can't reproduce this happening any more, and on close
inspection of the code can't see how it could happen in the first place.
For now, let's revert this change and iterate from there, if/when the
same issue arises again.
I've discussed avoiding this second poll by potentially including more
data (just `user_id`s?) in the main listing request, but not 100% sure
on this - even if the returned data is minimal it's an extra join
server-side, which could cause performance issues for large numbers of
rooms.
2021-01-12 17:26:00 +09:00
Dean Herbert
4e32b0d6de
Merge branch 'master' into ongoing-operation-tracker-safety
2021-01-10 23:05:03 +09:00
Dean Herbert
e81f9e358e
Merge pull request #11448 from bdach/fix-editor-enter-crash
...
Fix editor crashing on enter if login overlay was previously opened
2021-01-10 12:59:47 +09:00
Bartłomiej Dach
8c3955d341
Improve safety of ongoing operation tracker
...
Finishing an operation started via
`OngoingOperationTracker.BeginOperation()` was risky in cases where the
operation ended at a callback on another thread (which, in the case of
multiplayer, is *most* cases). In particular, if any consumer registered
a callback that mutates transforms when the operation ends, it would
result in crashes after the framework-side safety checks.
Rework `OngoingOperationTracker` into an always-present component
residing in the drawable hierarchy, and ensure that the
`operationInProgress` bindable is always updated on the update thread.
This way consumers don't have to add local schedules in multiple places.
2021-01-09 22:45:24 +01:00
Dean Herbert
b69fe8a274
Merge branch 'master' into disable-repeat-multi-actions
2021-01-09 10:15:20 +09:00
Bartłomiej Dach
c2eeb822b8
Rename {joiningRoom -> operationInProgress}
2021-01-08 22:23:38 +01:00
Bartłomiej Dach
dad5dd3667
Remove unnecessary permissiveness wrt null
2021-01-08 22:21:54 +01:00
Bartłomiej Dach
284d30d336
Move screen activity update to LoadComplete()
...
Fixes a potential crash when moving from main menu to editor after
having previously opened the login settings overlay. Setting the
activity in BDL as done before is unsafe, as that set can trigger value
change callbacks, which in turn can trigger adding transforms, which
should always be done on the update thread.
Semantically it also makes sense, as the user activity should change
once the screen they're moving to has actually loaded and displayed to
the user.
2021-01-08 21:18:15 +01:00
Dean Herbert
edd328c8fe
Move bindable closer to source class
2021-01-08 17:24:55 +09:00
Dean Herbert
22981a667c
Merge branch 'master' into fix-transform-mutation-mod-selection
2021-01-08 11:16:22 +09:00
Dean Herbert
4973e23003
Merge branch 'master' into fix-transform-mutation-mod-selection
2021-01-08 11:16:15 +09:00
Dean Herbert
2cfd1e8b47
Merge branch 'master' into fix-control-point-pollution
2021-01-08 00:02:45 +09:00
Dean Herbert
3c3e860dbc
Move ControlPointInfo copying to base Beatmap.Clone method (and remove setter)
2021-01-07 23:52:04 +09:00
Dean Herbert
77b55212a3
Change access of beatmap to use working for consistency in file
2021-01-07 19:11:51 +09:00
Dean Herbert
42643fbaf6
Use already resolved EditorBeatmap rather than resolving a second time locally
2021-01-07 19:10:19 +09:00
Bartłomiej Dach
4998aaaa98
Remove outdated warning disable
...
Does not trigger any more on Rider 2020.3.2.
2021-01-06 18:38:25 +01:00
Bartłomiej Dach
4c2caec72e
Merge branch 'master' into remove-osu-direct
2021-01-06 16:49:38 +01:00
Dean Herbert
35be7ec0e1
Add back button but rename to "browse"
2021-01-06 23:28:14 +09:00
Dean Herbert
cfbfb8d58b
Revert "Remove related events"
...
This reverts commit 59025e9d50
.
2021-01-06 23:21:46 +09:00
Dean Herbert
59025e9d50
Remove related events
2021-01-06 23:09:58 +09:00
Dean Herbert
32accc8eab
Remove "osu!direct" button
2021-01-06 22:56:10 +09:00
Bartłomiej Dach
7651d4554a
Merge branch 'master' into fix-transform-carousel
2021-01-06 13:49:05 +01:00
Bartłomiej Dach
43b9fde457
Add some nullability annotations for good measure
2021-01-06 13:15:15 +01:00
Dean Herbert
99701a6d9b
Add null check on beatmapContainer for safety
2021-01-06 21:06:33 +09:00
Dean Herbert
ffafdf2209
Merge branch 'master' into fix-transform-carousel
2021-01-06 21:03:22 +09:00
Bartłomiej Dach
25b4628672
Merge branch 'master' into fix-transform-mutation-from-background
2021-01-06 11:04:51 +01:00
Dean Herbert
07cff70387
Add specific messaging for when there's no background stack available
2021-01-06 18:19:03 +09:00
Dean Herbert
550ef3f133
Aggressively dispose ownedBackground if it was not used, because we can
2021-01-06 15:28:01 +09:00
Dean Herbert
e9d4e4d1d5
Add xmldoc and throw a local exception on null background
2021-01-06 15:26:44 +09:00
Dean Herbert
11a0c637bc
Mark background properties as nullable
2021-01-06 15:26:00 +09:00
Bartłomiej Dach
52687fc37c
Merge branch 'master' into fix-transform-mutation-loading-layer
2021-01-05 23:10:51 +01:00
Bartłomiej Dach
2b253f6d01
Remove now-unused fields & locals
2021-01-05 22:56:53 +01:00
Bartłomiej Dach
fbbc26d7d8
Merge branch 'master' into fix-carousel-centering-on-window-resize
2021-01-05 21:30:39 +01:00
Dean Herbert
4b539b01c1
Match code between updateSelectedBeatmap/Ruleset
2021-01-05 20:38:58 +09:00
Dean Herbert
83dbba3cbf
Fix carousel beatmap set panels applying transforms to difficulties while they are loading
2021-01-05 18:41:45 +09:00
Dean Herbert
54982dcdd7
Refactor LoadingLayer to avoid applying effects to external drawables
...
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.
This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.
The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).
I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00
Dean Herbert
9bac791a57
Fix deselection of autoplay mod failing
2021-01-05 16:17:58 +09:00
Dean Herbert
60fc60fa00
Merge pull request #11415 from frenzibyte/fix-ready-button-crash
...
Fix multiplayer ready button crashing when deleting selected beatmap set
2021-01-05 15:58:09 +09:00
Dean Herbert
b3f08b29ca
Ensure that all changes to screen backgrounds are on the correct thread
2021-01-05 15:22:50 +09:00
Dean Herbert
a3e4e2f6c3
Switch ResultsScreen and SongSelect inheritance and remove local implementation
2021-01-05 15:22:50 +09:00
Dean Herbert
ed6ffe2ef1
Remove hacky code
2021-01-05 14:54:59 +09:00
Dean Herbert
6b8e1913ee
Fix dependency not always available due to nested LoadComponentAsync call
2021-01-05 13:27:45 +09:00
Dean Herbert
deb1ad7bca
Merge branch 'master' into disable-repeat-multi-actions
2021-01-04 23:38:29 +09:00
Dean Herbert
b7dd54847f
Move resolved usage of WorkingBeatmap in editor components as local as possible to avoid misuse
2021-01-04 16:56:37 +09:00
Dean Herbert
7fdf876b4c
Fix editor timing screen mutating the WorkingBeatmap instead of EditorBeatmap
2021-01-04 16:38:15 +09:00
Dean Herbert
b4a779108e
Ensure working beatmap is reloaded on exiting the editor
2021-01-04 16:37:49 +09:00
Dean Herbert
ba4e411422
Clone and copy ControlPointInfo when retrieving a playable beatmap
2021-01-04 16:37:07 +09:00
Salman Ahmed
485a57776b
Fix hasBeatmap
potentially checking on outdated DeletePending
value
2021-01-04 10:28:41 +03:00
Salman Ahmed
ea38b00b29
Schedule all calls to updateBeatmapState()
2021-01-04 10:27:08 +03:00
Dean Herbert
20d04d6933
Fix Storyboard's FirstEventTime not finding the true earliest event
2021-01-04 15:16:01 +09:00
Salman Ahmed
445a4bd01c
Re-query beatmap info on database changes
2021-01-04 09:00:16 +03:00
Dean Herbert
53e6a349bb
Fix incorrect initial conditional
...
Turns out this wasn't actually required.
2021-01-03 22:44:32 +09:00
Dean Herbert
efb71713ef
Fix null condition inhibiting deselection events
2021-01-03 22:43:02 +09:00
Dean Herbert
a6d4992997
Ensure SelectionChanged events are only sent once when selection is null
2021-01-03 12:53:25 +09:00
Dean Herbert
caa5109e3a
Add precautionary null checks to update methods in SongSelect
2021-01-03 12:18:35 +09:00
Lucas A
324f80d994
Fix merge conflicts.
2021-01-02 19:14:10 +01:00
Dean Herbert
e2de5bb8f9
Fix the beatmap carousel not returning to centre correctly after resizing window
2021-01-02 22:05:41 +09:00
mcendu
17abe90c27
move SkinnableHealthDisplay
...
Similar components are in osu.Game.Screens.Play.HUD while this is not
2020-12-31 20:23:13 +08:00
Bartłomiej Dach
7d9a61fbc1
Handle unobserved exceptions from ready button properly
2020-12-31 11:57:13 +01:00
Bartłomiej Dach
f800448c87
Move game start logic to a higher level
2020-12-30 18:15:48 +01:00
Bartłomiej Dach
d34609b98e
Rename On{ToggleReady -> ReadyClick}
2020-12-30 16:29:36 +01:00
Bartłomiej Dach
59f2017a13
Move BindValueChanged subscriptions to LoadComplete
2020-12-30 16:22:11 +01:00
Bartłomiej Dach
05f212eb3c
Merge branch 'master' into remove-multiplayer-selection-poller
2020-12-29 12:51:33 +01:00
Bartłomiej Dach
361d215ab4
Reword notification messages to match new logic
2020-12-29 10:56:59 +01:00
Bartłomiej Dach
5d23199233
Trim redundant IsLoggedIn checks
2020-12-29 10:56:29 +01:00
Bartłomiej Dach
cafa241ef3
Fix ready-up button getting stuck if server operation fails
2020-12-29 09:44:30 +01:00
Bartłomiej Dach
e9b0652359
Move ready-up operation logic again to client
...
To salvage ready up button tests.
2020-12-29 09:16:02 +01:00
Dean Herbert
906a9b79b5
Show an error when forcefully exiting online play due to API failure
2020-12-29 16:47:36 +09:00
Dean Herbert
4d04e0dee7
Disallow entering the playlists/multiplayer screens if API is failing
2020-12-29 16:25:51 +09:00
Bartłomiej Dach
db52255bbe
Adjust tracker usages to match new API
2020-12-29 08:20:43 +01:00
Bartłomiej Dach
f59ba799d3
Adjust operation tracker implementation
2020-12-29 07:54:27 +01:00
Bartłomiej Dach
9ff2140232
Move ready-up logic to match sub-screen
2020-12-29 07:52:15 +01:00
Bartłomiej Dach
903dca875e
Make localUser a client property
2020-12-29 07:46:22 +01:00
Bartłomiej Dach
f68e4fc88f
Merge branch 'master' into disable-repeat-multi-actions
2020-12-29 07:42:20 +01:00
Dean Herbert
45c578b857
Remove selection polling from multiplayer
...
Looks like this was just copy-paste without any thought into whether it
should exist. It really shouldn't exist.
This is a thing for the playlists system because the *whole system*
there relies on polling the web API to get updated information. In the
case of mutliplayer, we hand off all communications to the realtime
server at the point of joining the rooms.
The argument that this was there to do faster polling on the selection
isn't valid since the polling times were the same for both cases.
Closes #11348 .
2020-12-29 15:10:09 +09:00
Dean Herbert
e3a41f6118
Rename variable to make more sense
...
It needs to be explicitly stated that the users in this list are related
to the *joined* room. Especially since it's sharing its variable name
with `SpectatorStreamingClient` where it has the opposite meaning (is a
list of *globally* playing players).
2020-12-29 14:27:35 +09:00
Bartłomiej Dach
540dec2e7c
Allow null tracker in lounge screen for tests
2020-12-28 22:54:52 +01:00
Bartłomiej Dach
6dc0f6af50
Disable setting apply button for duration of operation
2020-12-28 22:48:03 +01:00
Bartłomiej Dach
af66e45311
Disable create room button after triggering join
2020-12-28 22:48:03 +01:00
Bartłomiej Dach
47ab7c9fd6
Disable ready button after host click
2020-12-28 22:48:03 +01:00
Bartłomiej Dach
9e6994166c
Add helper to track ongoing operations in UI
2020-12-28 22:48:03 +01:00
Bartłomiej Dach
a014d0ec18
Use PlayingUsers when constructing player directly
2020-12-28 19:27:56 +01:00
Dean Herbert
9155671557
Merge pull request #11341 from peppy/fix-leaderboard-user-handling
...
Fix incorrect null handling in GameplayLeaderboard
2020-12-28 22:44:55 +09:00
Dean Herbert
2e88036f39
Merge pull request #11342 from bdach/fix-beatmap-not-reverting
...
Fix user changes in multi song select not reverting on exit without confirmation
2020-12-28 21:56:07 +09:00
Bartłomiej Dach
a376a23ed7
Merge branch 'master' into fix-leaderboard-user-handling
2020-12-28 13:43:53 +01:00
Bartłomiej Dach
a9822800fc
Add more null hinting in GameplayLeaderboard
2020-12-28 13:00:05 +01:00
Bartłomiej Dach
f16b516e58
Revert user changes if no selection was made
2020-12-28 12:35:17 +01:00
Dean Herbert
447a55ce11
Fix incorrect null handling in GameplayLeaderboard
2020-12-28 20:16:53 +09:00
Bartłomiej Dach
20ae84a466
Merge branch 'master' into fix-user-lookup-failure-crashes
2020-12-28 12:15:06 +01:00
Dean Herbert
046a76cb1d
Allow null users to still be displayed in the participant list
...
The fix here is correcting the access of `user.Country`. The deicision
to have null users display is because this is the best we can do (if
osu-web could not resolve the user). We still want the users in the
lobby to be aware of this user's presence, rather than hiding them from
view.
osu-stable does a similar thing, showing these users as `[Loading]`. I
decided to go with blank names instead because having *any* text there
causes confusion. We can iterate on this in future design updates.
2020-12-28 15:03:44 +09:00
Lucas A
7ae4979882
Fix merge conflicts.
2020-12-27 13:52:45 +01:00
Bartłomiej Dach
2ff49f4758
Merge branch 'master' into fix-quit-user-showing-in-leaderboard
2020-12-27 13:02:40 +01:00
Bartłomiej Dach
f75dccc9e4
Explicitly use discard in value changed callback
2020-12-27 13:00:27 +01:00
Bartłomiej Dach
6b6b1514e2
Rename method to be less misleading
...
As it doesn't only change colour, but also width.
2020-12-27 12:58:37 +01:00
Dean Herbert
1b34f2115f
Remove dignostics using
2020-12-27 16:57:23 +09:00
Dean Herbert
d14a8d24b5
Remove assert for now
2020-12-27 16:42:20 +09:00
Dean Herbert
fa0576f47f
Move quit colour change implementation to updateColour for better coverage
2020-12-27 13:40:02 +09:00
Bartłomiej Dach
15948de2f0
Fix gameplay leaderboard avatars being clickable
2020-12-26 14:35:14 +01:00
Dean Herbert
71dcbeaf7c
Mark user as quit visually on the leaderboard
2020-12-26 12:11:09 +09:00
Dean Herbert
116acc2b5e
Add flow for marking user as quit for further handling
2020-12-26 11:35:51 +09:00
Dean Herbert
ff57562956
Fix multiplayer leaderboard not unsubscribing from quit users
2020-12-26 11:35:31 +09:00
Dean Herbert
fe1bbb1cac
Don't fail if the local user is not present in room users when updating ready button state
2020-12-26 10:49:22 +09:00
Dean Herbert
f9900720d5
Rename OnRoomChanged to OnRoomUpdated to avoid confusion
2020-12-26 10:49:02 +09:00
Bartłomiej Dach
2e4b1b95c2
Rename {Multiplayer -> OnlinePlay}BackgroundSprite
2020-12-25 18:07:34 +01:00
Bartłomiej Dach
ed4b8482b6
Rename {Multiplayer -> OnlinePlay}Composite
2020-12-25 18:07:34 +01:00
Bartłomiej Dach
4c43a67b68
Rename I{Multiplayer -> OnlinePlay}SubScreen
2020-12-25 18:07:34 +01:00
Bartłomiej Dach
e5064ee930
Rename {Multiplayer -> OnlinePlay}SubScreen
2020-12-25 17:02:35 +01:00
Bartłomiej Dach
eb0f125fef
Rename {Multiplayer -> OnlinePlay}SubScreenStack
2020-12-25 17:00:31 +01:00
Bartłomiej Dach
4caf75850b
Rename {Multiplayer -> OnlinePlay}Screen
2020-12-25 17:00:00 +01:00
Bartłomiej Dach
83fb7c7a1a
Re-namespace all files in OnlinePlay directory
2020-12-25 16:50:09 +01:00
Bartłomiej Dach
e797e5ce7a
Rename Multi directory to OnlinePlay
2020-12-25 16:50:02 +01:00
Dean Herbert
9de1a67e03
Move PlaylistsResultsScreen to correct namespace
2020-12-25 23:47:32 +09:00
Dean Herbert
836d1491d0
PlaylistsMultiplayer -> Playlists
2020-12-25 23:47:18 +09:00
Dean Herbert
8a36eab060
Move missed file from Play namespace
2020-12-25 23:42:02 +09:00
Dean Herbert
e421b6d34e
Update some missed variables
2020-12-25 23:36:09 +09:00
Dean Herbert
e49dce2c86
Fix some missed renames
2020-12-25 15:34:13 +09:00
Dean Herbert
5d4b73baa5
RealtimeMultiplayer -> Multiplayer
2020-12-25 14:10:59 +09:00
Dean Herbert
a1384942b1
Timeshift -> Playlists at a code level
2020-12-25 13:11:21 +09:00
Dean Herbert
4e21bd0108
Merge pull request #11286 from peppy/rename-timeshift
...
Rename "timeshift" to "playlists"
2020-12-25 00:45:06 +09:00
Dean Herbert
60c7c8b63b
Pluralise playlists in tip
2020-12-25 00:44:42 +09:00
Bartłomiej Dach
6ec045f235
Distinguish primary multi screen titles in header
2020-12-24 16:18:35 +01:00
Bartłomiej Dach
db1c11073f
Rename back to "room" for "realtime" multiplayer
2020-12-24 16:10:29 +01:00
Bartłomiej Dach
7f0f6d86b0
Rename {room -> playlist} on playlist room screen
2020-12-24 16:08:45 +01:00
Dean Herbert
fa14438671
Merge pull request #11285 from peppy/resort-leaderboard-less
...
Re-sort the leaderboard order a maximum of once a second
2020-12-25 00:05:13 +09:00
Dean Herbert
61be6197e7
Merge pull request #11290 from bdach/looping-mp-at-end-of-game
...
Fix multiplayer gameplay potentially looping audio after reaching end
2020-12-25 00:04:56 +09:00
Bartłomiej Dach
a97681a5da
Proxy screen transition events to subscreens in multiplayer
2020-12-24 15:07:03 +01:00
Bartłomiej Dach
76a7aabfe8
Always create realtime-specific player elements regardless of token
2020-12-24 14:32:30 +01:00
Dean Herbert
3a46e210d4
Change low-hanging references of "room" to "playlist"
2020-12-24 21:59:10 +09:00
Dean Herbert
aec25e2d73
Rename "timeshift" to "playlists"
...
This only covers the user-facing instances. Code and class name changes
will happen once things have calmed down.
2020-12-24 21:53:20 +09:00
Dean Herbert
f991448a3e
Re-sort the leaderboard order a maximum of once a second
2020-12-24 21:49:38 +09:00
Dean Herbert
21a4e6a3f9
Merge pull request #11282 from peppy/disallow-skipping
...
Disallow skipping in multiplayer
2020-12-24 21:31:02 +09:00
Dean Herbert
647cb8310a
Merge pull request #11281 from peppy/fix-ruleset-pollution
...
Schedule UpdateFilter calls to avoid operations occuring while at a sub screen
2020-12-24 21:30:47 +09:00
Dean Herbert
9b654c741b
Merge pull request #11283 from peppy/add-match-start-sound
...
Play a sound when starting a timeshift or multiplayer room
2020-12-24 21:30:24 +09:00
Dean Herbert
25ff32cdf8
Merge pull request #11284 from peppy/add-ready-changed-sound
...
Add sound when players change ready state
2020-12-24 21:30:06 +09:00
Bartłomiej Dach
49103a4421
Merge branch 'master' into add-match-start-sound
2020-12-24 13:22:06 +01:00
Bartłomiej Dach
40b9d1bc5e
Invert if & early-return to reduce nesting
2020-12-24 12:45:01 +01:00
Bartłomiej Dach
d5fc517fab
Merge branch 'master' into disallow-skipping
2020-12-24 12:35:22 +01:00
Bartłomiej Dach
ee5a6ff9fa
Merge branch 'master' into improved-loading-experience
2020-12-24 11:59:46 +01:00
Bartłomiej Dach
261c250b46
Update outdated comment
2020-12-24 11:33:49 +01:00
Bartłomiej Dach
4fb2610c82
Merge branch 'master' into frame-bundle-accuracy
2020-12-24 11:20:06 +01:00
Dean Herbert
c35454081c
Add sound when players change ready state
2020-12-24 17:17:45 +09:00
Dean Herbert
3148c04fb8
Play a sound when starting a timeshift or multiplayer room
2020-12-24 16:53:25 +09:00
Dean Herbert
6bd6888a93
Disallow skipping in multiplayer for now
2020-12-24 16:29:51 +09:00
Dean Herbert
5457e4598b
Schedule UpdateFilter calls to avoid operations occuring while at a sub screen
2020-12-24 16:20:38 +09:00
Dean Herbert
e86e9bfae6
Don't begin gameplay until all users are in a completely prepared state
2020-12-24 15:32:55 +09:00
Dean Herbert
d66e218318
Source display accuracy from header and remove from ScoreProcessor function
2020-12-24 14:57:23 +09:00
Dean Herbert
61a5d3ef4a
Remove double handling of restart allowance on results screen (already handled locally)
2020-12-24 13:32:35 +09:00
Dean Herbert
76935b93b6
Merge branch 'master' into disallow-multiplayer-restart-retry
2020-12-24 13:31:54 +09:00
Dean Herbert
b29a5e2073
Merge pull request #11270 from bdach/better-error-handling
...
Improve error handling at realtime room settings screen
2020-12-24 13:23:49 +09:00
Dean Herbert
15cef44351
Merge pull request #11275 from peppy/safer-user-ids
...
Send multiplayer user IDs via ctor for better thread safety
2020-12-24 12:20:48 +09:00
Dean Herbert
1ac93d4eeb
Merge pull request #11268 from bdach/fix-room-song-select-stuck
...
Fix realtime multiplayer song select getting stuck after selecting invalid beatmap
2020-12-24 11:26:07 +09:00
Dean Herbert
d6dadd12fa
Send multiplayer user IDs via ctor for better thread safety
2020-12-24 10:39:15 +09:00
Bartłomiej Dach
414f886b02
Split timeshift & multiplayer "create" buttons
...
Multiplayer button gets new, different "Create match" text, and disable
logic in case of a dropped connection to the multiplayer server.
2020-12-23 22:03:57 +01:00
Bartłomiej Dach
c13acb609a
Move out sizing logic to multiplayer screen
2020-12-23 22:03:30 +01:00
Bartłomiej Dach
05d9f23762
Move out create room button to separate class
2020-12-23 22:03:30 +01:00
Bartłomiej Dach
152df2ad84
Merge branch 'master' into better-error-handling
2020-12-23 18:13:50 +01:00
Bartłomiej Dach
e7a91b3dca
Merge branch 'master' into fix-room-song-select-stuck
2020-12-23 18:13:27 +01:00
Bartłomiej Dach
b1fb906773
Merge branch 'master' into fix-hard-crash-on-signal-r-exceptions
2020-12-23 17:37:49 +01:00
Bartłomiej Dach
e4959489b7
Improve user-facing error messages in room settings
2020-12-23 17:10:53 +01:00
Bartłomiej Dach
6c421b873d
Merge branch 'master' into fix-multiplayer-server-disconnection-flow
2020-12-23 16:55:22 +01:00
Bartłomiej Dach
980e85ce25
Refactor player exit logic to convey intention better
2020-12-23 16:16:24 +01:00
Dean Herbert
60be1bedc9
Merge pull request #11254 from frenzibyte/fix-multi-songselect-looping
...
Fix beatmap track not looping on multiplayer song selects
2020-12-23 22:35:11 +09:00
Bartłomiej Dach
c5692a5d6a
Re-enable carousel selection after error
2020-12-23 14:19:30 +01:00
Bartłomiej Dach
582b0d2a74
Revert logic to be closer to original
...
Note the reversal of the order of operations in `endHandlingTrack()`
(done for extra safety, to ensure no more value changed events can be
fired at the point of cancelling looping).
2020-12-23 13:47:28 +01:00
Bartłomiej Dach
74f0c50d82
Merge branch 'fix-multiplayer-server-disconnection-flow' into fix-hard-crash-on-signal-r-exceptions
2020-12-23 13:31:36 +01:00
Bartłomiej Dach
c839892a4c
Merge branch 'master' into fix-multiplayer-server-disconnection-flow
2020-12-23 11:57:43 +01:00
Dean Herbert
f9fd909187
Fix missed inspections
2020-12-23 18:07:38 +09:00
Bartłomiej Dach
64095307de
Merge branch 'master' into realtime-leaderboard
2020-12-23 09:56:47 +01:00
Dean Herbert
3c8f871b28
Move player constructor configuration to dedicated class; add AllowRestart parameter
2020-12-23 17:47:46 +09:00
Dean Herbert
0ddcab574f
Rename method to avoid weird code analysis rule
2020-12-23 17:14:58 +09:00
Dean Herbert
7cc38f03d1
Use extension method in all call sites of fire-and-forget async usage
2020-12-23 17:10:34 +09:00
Dean Herbert
c3c3364d39
Simplify error handling of JoinRoom call
2020-12-23 16:56:57 +09:00
Dean Herbert
d27b83d678
More correctly handle fire-and-forget async call
2020-12-23 16:51:11 +09:00
Dean Herbert
91021eb8c4
Remove unused using
2020-12-23 16:49:17 +09:00
Dean Herbert
f5d27b40a8
Standardise flow for aborting realtime player exit to avoid double-exit call
2020-12-23 16:35:39 +09:00
Dean Herbert
569c4092ef
Move notification to stateful client so it is only shown to the user from one location
2020-12-23 16:35:39 +09:00
Dean Herbert
a1d42dc4a0
Don't allow creating or joining a room when not connected to server
2020-12-23 16:35:39 +09:00
Dean Herbert
12df3056e6
Ensure appropriate screens handle exiting when the server gets disconnected
...
I would have liked for this to be handled via the `OnRoomChanged` event
flow, but this isn't present in RealtimeMatchSubScreen due to
inheritence woes.
2020-12-23 16:35:39 +09:00
Salman Ahmed
286884421d
Apply track looping and play on track change
2020-12-23 08:47:34 +03:00
Dean Herbert
b632e44bac
Merge pull request #11256 from frenzibyte/disallow-joining-ended-realtime-room
...
Disallow joining ended rooms in realtime multiplayer
2020-12-23 14:30:00 +09:00
Dean Herbert
45dcd3242d
Add comment explaining why things are done where they are
2020-12-23 13:57:48 +09:00
Salman Ahmed
3aa2b22838
Add early check for room status before joining
2020-12-23 05:52:10 +03:00
Salman Ahmed
7751ef4f3e
Revert previous logic of join guarding
2020-12-23 05:50:15 +03:00
Bartłomiej Dach
08d87ccb1e
Merge branch 'master' into present-recommended
2020-12-22 23:36:13 +01:00
Bartłomiej Dach
3272804704
Fix potential crash when no submission token
...
Can happen because `TimeshiftPlayer` will schedule a screen exit on
token retrieval failure, and `RealtimePlayer`'s BDL won't even attempt
to create a leaderboard in that case.
2020-12-22 22:34:26 +01:00
Bartłomiej Dach
5efc3b9496
Start state display as hidden
...
Would otherwise flicker for a few frames when a new user was added to
the list of participants.
2020-12-22 21:49:42 +01:00
Endrik Tombak
78c14fd696
Refactor code into UserTrackingScrollContainer
2020-12-22 17:36:44 +02:00
Salman Ahmed
a64ffcd294
Refrain from joining room if not allowed
2020-12-22 16:38:10 +03:00
Salman Ahmed
91d5c53643
Add method for checking room joinability
2020-12-22 16:36:17 +03:00
Salman Ahmed
e3483147e2
Move track looping logic into subscreens
2020-12-22 13:55:46 +03:00
Dean Herbert
6517acc510
Add leaderboard display to realtime player
2020-12-22 19:10:08 +09:00
Dean Herbert
ce806dd880
Replace the ready mark display with a state display, showing all participant states
2020-12-22 18:25:45 +09:00
Dean Herbert
3c33ea7f1c
Merge pull request #11239 from smoogipoo/realtime-multiplayer-2
...
Implement realtime multiplayer
2020-12-22 18:23:03 +09:00
Dean Herbert
59734229ff
Remove unused using
2020-12-22 17:21:53 +09:00
Dean Herbert
30357a9447
Add loading layer to multi song select to show during settings confirmation
2020-12-22 17:08:04 +09:00
Dean Herbert
12876d7fb6
Add very basic error handling on ChangeSettings calls
2020-12-22 16:50:30 +09:00
smoogipoo
2d7174d99c
Add padding to song select
2020-12-22 16:23:06 +09:00
Dean Herbert
3cf889b7c5
Fix some errors being completely ignored
2020-12-22 16:19:19 +09:00
Dean Herbert
17d924c755
Move timeshift settings overlay to correct namespace
2020-12-22 15:52:47 +09:00
Dean Herbert
8201fa8e34
Split out common implementation and private classes in MatchSettingsOverlay
2020-12-22 15:51:24 +09:00
smoogipoo
27e64bdb34
Schedule callback continuations
2020-12-22 15:31:07 +09:00
smoogipoo
ab90db7c8d
Fix stuck lounge on join failure
2020-12-22 15:27:49 +09:00
Dean Herbert
85e93c5dde
Fix main menu multiplayer icons being back to front
2020-12-22 15:22:27 +09:00
smoogipoo
81e2edc73f
Use MRE with timeout to wait on match start
2020-12-22 14:59:11 +09:00
smoogipoo
dece41d050
Add todo
2020-12-22 14:58:47 +09:00
smoogipoo
3bf670510a
Split into two actions
2020-12-22 14:55:25 +09:00
Dean Herbert
df5e1d83bd
Allow recommender to potentially be null
2020-12-22 14:36:52 +09:00
Dean Herbert
8cc2ed3fae
Move from OsuGameBase to OsuGame
...
Also moves to a more suitable namespace.
2020-12-22 14:28:27 +09:00
Dean Herbert
626b7615ad
Move and rename some fields for better readability
2020-12-22 14:23:33 +09:00
Dean Herbert
dff865f335
Tidy up comments, code, and multiple linq enumeration
2020-12-22 14:12:02 +09:00
Dean Herbert
d229fbba6e
Merge branch 'master' into present-recommended
2020-12-22 13:52:29 +09:00
Dean Herbert
9de42f8646
Merge pull request #11238 from peppy/editor-timeline-selection-ux
...
Improve drag and selection UX on editor timeline
2020-12-22 12:58:24 +09:00
smoogipoo
0566ed1a9b
Add button to main menu
2020-12-21 18:38:44 +09:00
Dean Herbert
423c6158e1
Highlight timeline drag area when hovered for better visibility
2020-12-21 18:10:11 +09:00
Dean Herbert
d1be7c23d9
Increase height of timeline drag area
2020-12-21 18:09:56 +09:00
Dean Herbert
d11d754715
Increase size of circle display on timeline
2020-12-21 18:09:37 +09:00
Dean Herbert
83f1350d7d
Fix editor background not being correctly cleaned up on forced exit
...
Closes #11214 . Should be pretty obvious why.
2020-12-21 17:49:11 +09:00
smoogipoo
9fa1f60b7d
Fix incorrect footer being used
2020-12-21 17:31:15 +09:00
Dean Herbert
1dcee2fb39
Merge pull request #11228 from smoogipoo/nullable-endsat
...
Make room Duration/EndDate nullable
2020-12-21 17:24:40 +09:00
smoogipoo
14ea49a14d
Merge branch 'nullable-endsat' into realtime-multiplayer-2
2020-12-21 16:22:16 +09:00
smoogipoo
dbffe735de
Merge branch 'master' into realtime-multiplayer-2
2020-12-21 16:22:14 +09:00
smoogipoo
a59124dd93
Make room duration/endsat nullable
2020-12-21 16:18:39 +09:00
smoogipoo
82cf58353c
Fix incorrect joinedroom null checks
2020-12-21 15:38:20 +09:00
Dean Herbert
27623822c4
Merge branch 'master' into realtime-ready-button
2020-12-21 11:19:03 +09:00
Bartłomiej Dach
bcd140b8df
Merge branch 'master' into realtime-ready-button
2020-12-20 18:20:57 +01:00
Bartłomiej Dach
b76ec79a70
Merge branch 'master' into realtime-participants-list
2020-12-20 18:20:22 +01:00
Bartłomiej Dach
4e8e4f0343
Merge branch 'master' into realtime-room-composite
2020-12-20 17:46:10 +01:00
smoogipoo
b31f4e9e85
Merge branch 'stateful-multiplayer-client' into realtime-multiplayer-2
2020-12-21 00:41:42 +09:00
smoogipoo
d127494c2d
Fix thread-unsafe room removal
2020-12-21 00:39:31 +09:00
smoogipoo
3af702453f
Implement realtime match song select
2020-12-21 00:37:13 +09:00
smoogipoo
275efd12b8
Fix room manager reference
2020-12-21 00:21:48 +09:00
smoogipoo
15480c006b
Create the correct room subscreen
2020-12-21 00:21:30 +09:00
smoogipoo
5b4197a9ef
Disable watching replays from realtime results screen
2020-12-21 00:14:54 +09:00
smoogipoo
07077b8f4e
Add realtime player
2020-12-21 00:13:05 +09:00
smoogipoo
945ba59c8e
Make timeshift player able to not allow pause
2020-12-21 00:06:44 +09:00
smoogipoo
1fdc19ee0f
Add realtime match subscreen and related components
2020-12-21 00:05:38 +09:00
smoogipoo
55cdff5be7
Renamespace ready button
2020-12-20 23:54:04 +09:00
smoogipoo
a1ba4b6979
Split MatchSubScreen into abstract component + timeshift implementation
2020-12-20 23:40:19 +09:00
smoogipoo
b9e4a7196e
Add realtime lounge subscreen
2020-12-20 23:36:56 +09:00
smoogipoo
455a84c73f
Add realtime multiplayer screen
2020-12-20 23:32:57 +09:00
smoogipoo
fdfe3c2b36
Merge branch 'realtime-ready-button' into realtime-multiplayer-2
2020-12-20 23:11:06 +09:00
smoogipoo
a2ad0b0329
Merge branch 'realtime-participants-list' into realtime-multiplayer-2
2020-12-20 23:11:06 +09:00
smoogipoo
594db76cf3
Fix compilation errors
2020-12-20 23:10:45 +09:00
smoogipoo
4ada0e17c0
Merge branch 'abstract-room-manager' into stateful-multiplayer-client
2020-12-20 23:10:05 +09:00
smoogipoo
c33e693b8e
Refactor InitialRoomsReceived to avoid extra bindables
2020-12-20 23:05:17 +09:00
smoogipoo
f876a329b1
Fire-and-forget leave-room request
2020-12-20 22:51:33 +09:00
smoogipoo
b002c46666
Add number of ready users to button
2020-12-20 18:49:51 +09:00
smoogipoo
19db35501e
Fix incorrect end date usage in timeshift ready button
2020-12-20 18:44:36 +09:00
smoogipoo
ce2560b545
Extract value into const
2020-12-20 18:36:31 +09:00
smoogipoo
45107280a0
Make TimeBetweenPolls into a bindable
2020-12-20 18:34:54 +09:00
smoogipoo
fb61cdfd41
Remove unnecessary first-frame polling + address concerns
2020-12-20 18:20:45 +09:00
smoogipoo
812a1d2b4f
Fix onSuccess callback potentially being called on failure
2020-12-20 18:03:30 +09:00
smoogipoo
d74485704a
Reset intial rooms received on filter change
2020-12-20 17:46:45 +09:00
smoogipoo
7c7f15089a
Make CreateRoomManager return the drawable version
2020-12-20 17:42:23 +09:00
smoogipoo
d20eb368f5
Make return into IEnumerable
2020-12-20 17:36:23 +09:00
smoogipoo
3a4878558f
Merge branch 'master' into abstract-room-manager
2020-12-20 17:35:01 +09:00
Dean Herbert
8ac76bd524
Merge pull request #11199 from smoogipoo/refactor-player-score-creation
...
Asyncify player score creation and submission
2020-12-20 17:30:11 +09:00
Bartłomiej Dach
4e5064c4f6
Start accuracy at 1
2020-12-19 21:31:17 +01:00
Bartłomiej Dach
c738a57b39
Fix username overflow in new leaderboard design
2020-12-19 18:48:17 +01:00
Dean Herbert
b3bff281ce
Merge branch 'master' into spectator-driven-leaderboard
2020-12-20 01:13:59 +09:00
Bartłomiej Dach
3de03d279e
Merge branch 'master' into gameplay-leaderboard-update
2020-12-19 15:20:04 +01:00
Bartłomiej Dach
06a17a9d8c
Rename other constant to be distinguishable
2020-12-19 15:18:05 +01:00
Bartłomiej Dach
315a957a0c
Extract constant for text transition duration
2020-12-19 15:17:31 +01:00
Bartłomiej Dach
e2cc401c12
Move BDL above LoadComplete()
2020-12-19 15:05:59 +01:00
Bartłomiej Dach
d392e0f27e
Extract shared rank-formatting helper
2020-12-19 15:04:22 +01:00
Bartłomiej Dach
22a2c3efdf
Add back xmldoc of AddPlayer
2020-12-19 15:04:18 +01:00
Bartłomiej Dach
28ca21b432
Seal banned method & throw better exception
2020-12-19 14:50:09 +01:00
Dean Herbert
28674cedd6
Merge pull request #11196 from Grrum/alignSelectionBoxCirclesToCenterOfBorder
...
Align selection box circles to center of border
2020-12-19 21:22:26 +09:00
Lucas A
a397db4f15
Resolve merge conflicts
2020-12-19 10:55:18 +01:00
Dean Herbert
beaced3211
Remove unnecessary async state machine
2020-12-19 13:58:56 +09:00
Bartłomiej Dach
f1878eff63
Use yet another solution leveraging padding
2020-12-18 23:45:42 +01:00
smoogipoo
772dd0287e
Split submission and import into two methods
2020-12-19 03:32:05 +09:00
smoogipoo
cc22efaa6b
Use tcs instead of delay-wait
2020-12-19 03:17:04 +09:00
smoogipoo
6efe24695b
Add the realtime multiplayer ready button
2020-12-19 02:59:11 +09:00
smoogipoo
4e0113afbf
Abstractify ready button and add a timeshift implementation
2020-12-19 02:55:48 +09:00
smoogipoo
e4a54dc6cd
Renamespace ready button
2020-12-19 02:52:51 +09:00
smoogipoo
11a903a206
Add test for many users and disable scrollbar
2020-12-19 02:47:24 +09:00
smoogipoo
1e5c32410a
Add the realtime multiplayer participants list
2020-12-19 02:41:37 +09:00
smoogipoo
4d051818a1
Add base class for all realtime multiplayer classes
2020-12-19 02:41:23 +09:00
smoogipoo
0fb8615f95
Implement room parting
2020-12-19 02:02:04 +09:00
smoogipoo
9b0ca8fc3b
Make real time room manager not poll while inside a room
2020-12-19 01:57:30 +09:00
smoogipoo
a6520d3d44
Clear rooms and poll only when connected to multiplayer server
2020-12-19 01:01:09 +09:00
smoogipoo
cf2340cafb
Add a realtime room manager
2020-12-19 00:53:06 +09:00
smoogipoo
f4e9703deb
Fix incorrect comparison
2020-12-19 00:52:42 +09:00
smoogipoo
4494bb1eb5
Abstract RoomManager and Multiplayer
2020-12-19 00:52:27 +09:00
Graham Johnson
122250f454
replace drag cirle function with dictionary
2020-12-18 10:45:23 -05:00
Salman Ahmed
030dce5559
Increase leaderboard score width a bit
2020-12-18 13:09:50 +03:00
Salman Ahmed
c9e75e7908
Add user avatar to leaderboard scores
2020-12-18 13:09:05 +03:00
smoogipoo
eccfc8ccd2
Fix potential cross-reference access
2020-12-18 18:31:49 +09:00
smoogipoo
8826d01559
Create completion progress delegate immediately
2020-12-18 18:20:36 +09:00
smoogipoo
1369b75a86
Fix potential multiple submission
2020-12-18 17:48:42 +09:00
smoogipoo
2958cab239
Remove GotoRanking
2020-12-18 17:47:33 +09:00
Dean Herbert
75c5b99ac5
Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard
2020-12-18 17:33:25 +09:00
Dean Herbert
fdad5e86d3
Remove stray newline
2020-12-18 17:33:18 +09:00
Dean Herbert
470c68d6a5
Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard
2020-12-18 17:30:21 +09:00
Dean Herbert
615352c1e4
Fix shear offset not being included in GameplayLeaderboard's own size
2020-12-18 17:30:11 +09:00
Dean Herbert
668536ce56
Fix vertical size potentially changing during relayout
2020-12-18 17:25:48 +09:00
Dean Herbert
5cc2156801
Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard
2020-12-18 17:20:20 +09:00
Dean Herbert
e82986b763
Fix panel x positions getting weird duration relayouts
...
Also adjust the transitions a bit to feel better.
2020-12-18 17:19:55 +09:00
Dean Herbert
4cf013c005
Fix animation replacing itself even when score position hasn't changed
2020-12-18 17:19:55 +09:00
Dean Herbert
bca4d83af7
Revert previous player add flow via interface
2020-12-18 17:19:55 +09:00
Dean Herbert
cb3f89d0a5
Hook up with new leaderboard design
2020-12-18 17:13:51 +09:00
Dean Herbert
5e83605026
Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard
2020-12-18 17:07:43 +09:00
Dean Herbert
157a72ec5d
Revert previous player add flow via interface
2020-12-18 17:07:38 +09:00
smoogipoo
97ff500b0d
Make timeshift wait on score submission
2020-12-18 16:56:22 +09:00
Dean Herbert
96f23a1135
Merge branch 'master' into gameplay-leaderboard-update
2020-12-18 16:56:21 +09:00
Dean Herbert
70cda680c0
Update to match new implementation
2020-12-18 16:55:55 +09:00
Dean Herbert
869cac819d
Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard
2020-12-18 16:55:44 +09:00
smoogipoo
2db7433c0b
Refactor player score creation and submission process
2020-12-18 16:51:59 +09:00
Dean Herbert
9226a67f16
Merge branch 'master' into spectator-driven-leaderboard
2020-12-18 16:47:46 +09:00
Dean Herbert
99f2032fdf
Merge branch 'master' into gameplay-leaderboard-update
2020-12-18 16:44:52 +09:00
Dean Herbert
9618f512d7
Merge pull request #11190 from frenzibyte/api-friends-list
...
Add global friends list to API providers
2020-12-18 16:44:29 +09:00
Dean Herbert
c84807ed5c
Refactor implementation
2020-12-18 16:20:54 +09:00
smoogipoo
c80ecec0b4
Reorder methods
2020-12-18 15:36:24 +09:00
Dean Herbert
4af508235e
Rename long variable
2020-12-18 15:35:18 +09:00
Dean Herbert
20175a884a
Merge branch 'api-friends-list' into gameplay-leaderboard-update
2020-12-18 15:28:07 +09:00
Dean Herbert
206bf3713e
Make IAPIProvider read-only bindables into IBindables
2020-12-18 15:16:36 +09:00
Dean Herbert
fa524d64f8
Merge branch 'master' into spectator-driven-leaderboard
2020-12-18 13:34:03 +09:00
Dean Herbert
9079d33412
X before Y for sanity
2020-12-18 11:20:21 +09:00
Dean Herbert
44f4ed4fd3
Fix spacing
2020-12-18 11:19:40 +09:00
Graham Johnson
a0235a06e6
update comment
2020-12-17 19:40:21 -05:00
Salman Ahmed
92bf74ba29
localUser -> localOrReplayPlayer
2020-12-18 03:37:24 +03:00
Salman Ahmed
a8abefcd66
Make GameplayLeaderboardScore a model class
2020-12-18 03:34:33 +03:00
Graham Johnson
a01ed1827a
Align the drag circles on the selction box in the editor to be on the center of the border
2020-12-17 19:34:16 -05:00
Salman Ahmed
0faf3fdfd3
Update gameplay leaderboard scores with the new design
2020-12-17 15:19:10 +03:00
Dean Herbert
3ff70d331a
Mark recordingScore as nullable
2020-12-17 16:17:13 +09:00
Dean Herbert
81b0db0401
Remove double construction of empty replay object
2020-12-17 16:17:08 +09:00
Dean Herbert
de9c21e7d1
Tenatively mark leaderboard class as LongRunningLoad until final integration
2020-12-17 15:48:53 +09:00
Lucas A
5d7294451f
Refactor Import() overload to take a list of import tasks instead.
2020-12-16 14:28:16 +01:00
Dean Herbert
a01bb3d5a3
Better limit bindable exposure of data class
2020-12-16 16:20:29 +09:00
Dean Herbert
6bce587b59
Pass users in via constructor and correctly unbind on disposal
2020-12-16 16:20:29 +09:00
Dean Herbert
6e2131c164
Don't track local user score in any special way
2020-12-16 16:20:29 +09:00
Dean Herbert
09d0ceb766
Add testing setup to get a better visual idea of how scoreboard will work
...
fixup! Add method to ScoreProcessor to calculate score and accuracy from statistics
2020-12-16 16:20:29 +09:00
Dean Herbert
d009a0be51
Move class to final location
2020-12-16 16:20:29 +09:00
Dean Herbert
88b3bf06e8
Merge branch 'master' into add-bundle-header
2020-12-16 13:40:15 +09:00
Dean Herbert
ea6c196f81
Remove unused using statement
2020-12-15 16:03:18 +09:00
Dean Herbert
e37089af5e
Further code cleanup
2020-12-15 15:44:56 +09:00
Dean Herbert
8b68ccc0ff
Rename class and move inside HUD namespace
2020-12-15 15:34:11 +09:00
Dean Herbert
dd5572b20a
Remove unnecessary methods and event
2020-12-15 15:26:20 +09:00
Dean Herbert
8362ad37e3
Bring up-to-date with code changes
2020-12-15 15:22:14 +09:00
Dean Herbert
70e5d4495a
Merge branch 'master' into ingame-leaderboard-general-implementation
2020-12-15 15:14:56 +09:00
Dean Herbert
10ee8ed8e8
Reorder functions and simplify transform logic
2020-12-15 13:04:11 +09:00
Dean Herbert
0d4ac2f748
Refresh view after import completes
2020-12-15 12:57:28 +09:00
Dean Herbert
db4f2d5ffb
Refresh view after import succeeds
2020-12-15 12:52:45 +09:00
Dean Herbert
cafe81ab97
Further refactoring and bindable simplification
2020-12-15 12:52:38 +09:00
Dean Herbert
33f77f81f2
Disable the import button when no file is selected, rather than weird flash logic
2020-12-15 12:43:48 +09:00
Dean Herbert
cba4657021
Get handled file extensions from game itself, rather than duplicating locally
2020-12-15 12:37:41 +09:00
Dean Herbert
26fa010fed
Merge branch 'master' into import-screen
2020-12-15 12:37:27 +09:00
Dean Herbert
29f3e8e486
Merge branch 'master' into fix-load-too-fast
2020-12-14 17:52:35 +09:00
Dean Herbert
ae22f75406
Bind replay recording score to judgement changes
2020-12-14 17:33:33 +09:00
Dean Herbert
1793385e96
Pass a score to the replay recorder to allow reading more general scoring data
2020-12-14 16:52:14 +09:00
Dean Herbert
0d7f53b0b9
Fix gameplay loading too fast the first time entering a beatmap
2020-12-14 14:21:21 +09:00
Grrum
635608ee3d
Merge branch 'master' into selectionRotation
2020-12-13 08:01:44 -05:00
Graham Johnson
7d2b77cdbd
improve selection box rotation UX
2020-12-13 07:58:58 -05:00
Bartłomiej Dach
d457926523
Merge branch 'master' into fix-player-load-stuck-at-empty-screen
2020-12-11 20:49:27 +01:00
Bartłomiej Dach
01833e8c9b
Merge branch 'master' into fix-single-threaded-seeking
2020-12-11 20:14:28 +01:00
Dean Herbert
2dd5911256
Rename method to better match purpose
2020-12-11 14:44:01 +09:00
Dean Herbert
01bd765384
Simplify pause handling by moving transform logic to bindable change event
2020-12-10 17:42:47 +09:00
Dean Herbert
679a550d83
Fix single threaded seeking not working due to unnecessary seek call
2020-12-10 17:42:28 +09:00
Dean Herbert
437c0506ce
Refactor to allow for special disposal handling to still work
2020-12-10 16:56:56 +09:00
Dean Herbert
67dd7be71a
Move cancelLoad call to OnResuming
...
This has no real effect; it just feels more readable to me.
2020-12-10 16:34:59 +09:00
Dean Herbert
491ab74059
Schedule pushWhenLoaded once ever
...
Previously it was being scheduled another time each OnResume, resulting
in more and more calls as a user retries the same beatmap multiple
times.
To simplify things I've decided to just schedule once ever. This means
that on resuming there's no 400ms delay any more, but in testing this
isn't really an issue (load time is still high enough that it will never
really be below that anyway). Even if gameplay was to load faster, the
animation should gracefully proceed.
2020-12-10 16:33:30 +09:00
Dean Herbert
cc996ec7fc
Ensure player is consumed at the point of scheduled push running the first time
2020-12-10 16:32:14 +09:00
Dan Balasescu
f9afb7f335
Merge branch 'master' into archive-model-manager-stream-import-support
2020-12-08 16:11:11 +09:00
smoogipoo
10c1823534
Remove now unused files
2020-12-07 22:07:11 +09:00
smoogipoo
34f3672750
Make ctor protected
2020-12-07 22:04:41 +09:00
smoogipoo
f599427080
Implement TimeshiftFilterControl
2020-12-07 22:04:35 +09:00
smoogipoo
1b3836aeef
Re-implement multiplayer FilterControl
2020-12-07 21:59:26 +09:00
smoogipoo
5be0672fe9
Split out enums
2020-12-07 21:54:42 +09:00
smoogipoo
fa65874763
Limit room name to 100 characters
2020-12-07 21:09:38 +09:00
Dean Herbert
eb38bc4b4c
Add the ability to import into ArchiveModelManagers from a stream
2020-12-07 18:09:18 +09:00
PercyDan
60d8102a77
Merge branch 'master' into import-screen
2020-12-04 21:20:14 +08:00
MATRIX-feather
7104230ae3
Add "onCurrentDirectoryChanged"
2020-12-04 19:52:25 +08:00
Endrik Tombak
c25e2c3dd5
Select recommended beatmap if last selection is filtered
2020-12-03 23:13:14 +02:00
MATRIX-feather
fb080284d2
Simplify UI implementation
2020-12-04 04:10:08 +08:00
MATRIX-feather
85de1a1d20
Animation changes
2020-12-04 03:19:20 +08:00
MATRIX-feather
abe5a67bc5
Simplify implementation
2020-12-04 03:14:31 +08:00
Endrik Tombak
49be4978bd
Avoid calling ToList twice
2020-12-03 19:53:41 +02:00
Endrik Tombak
4cd2e207ac
Document getBestRulesetOrder
2020-12-03 19:53:06 +02:00
Endrik Tombak
48dad61a46
Apply review suggestions
2020-12-03 19:44:12 +02:00
Endrik Tombak
cbbcf36eaa
Merge branch 'master' of https://github.com/ppy/osu into present-recommended
2020-12-03 19:38:32 +02:00
Dan Balasescu
1d92800761
Merge pull request #11068 from peppy/fix-carousel-edge-masking
...
Fix beatmap carousel panels getting masked away when out of scroll bounds
2020-12-03 20:40:44 +09:00
Dean Herbert
37d550f42a
Merge pull request #11035 from smoogipoo/add-playlist-length
2020-12-03 18:39:54 +09:00
smoogipoo
8245bb85dc
Invoke on initial bind
2020-12-03 18:06:55 +09:00
smoogipoo
3e62da119e
Add to inspector also
2020-12-03 17:59:39 +09:00
Dean Herbert
3550e5b30f
Add length display to room screen as well
2020-12-03 16:42:06 +09:00
smoogipoo
31f7f7072d
Fix song select panels not loading if partially offscreen
2020-12-03 15:13:20 +09:00
Dean Herbert
897f593b37
Fix beatmap carousel panels getting masked away when out of scroll bounds
...
Regressed in https://github.com/ppy/osu/pull/10973 due to removed masking specification.
Closes #11067 .
2020-12-03 13:26:28 +09:00
Dan Balasescu
297283491a
Merge pull request #11031 from peppy/editor-fix-beat-snapping-new-beatmap
...
Fix editor beat snapping not working correctly when starting with a new beatmap
2020-12-02 15:17:09 +09:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
...
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Dean Herbert
d6e0dc2216
Merge branch 'master' into editor-fix-beat-snapping-new-beatmap
2020-12-02 14:37:00 +09:00
Dean Herbert
e84dab8589
Move new beatmap construction above beat divisor binding
2020-12-02 14:36:52 +09:00
Dan Balasescu
878ded4dd6
Merge pull request #11032 from peppy/editor-fix-ticks-updating-after-timing-change
...
Fix timeline not updating ticks correctly after arbitrary timing control point changes
2020-12-02 10:58:44 +09:00
Dan Balasescu
9d71095a2b
Merge pull request #11004 from Yoyolick/master
...
Add ability to customise key binding for in-game overlay toggle
2020-12-02 10:34:24 +09:00
Pennek
477de1bab0
change min/max values
2020-12-02 01:11:24 +01:00
Bartłomiej Dach
94a8784e04
Allow editor change handler to be null
2020-12-01 20:08:31 +01:00
smoogipoo
598572195c
Add playlist length to match settings overlay
2020-12-01 19:57:25 +09:00
Dan Balasescu
1cea39ed55
Merge pull request #11017 from peppy/fix-song-select-temporary-selection-loss
...
Fix current beatmap temporarily becoming empty during ruleset change
2020-12-01 17:55:08 +09:00
Dean Herbert
190c6ef45e
Fix timeline not updating ticks correctly after arbitrary timing control point changes
2020-12-01 16:44:08 +09:00
Dean Herbert
2b268ee012
Fix editor beat snapping not working correctly when starting with a new beatmap
2020-12-01 16:16:26 +09:00
smoogipoo
5760e1c1fc
Make HitSampleInfo immutable
2020-12-01 15:37:51 +09:00
Dean Herbert
a147b7186d
Remove unnecessary call to updateVisibility
2020-12-01 14:01:34 +09:00
Dean Herbert
63ff722963
Fix code formatting
2020-12-01 14:00:54 +09:00
Ryan Zmuda
8f6607ffec
Merge branch 'master' into master
2020-11-30 21:42:15 -05:00
Ryan Zmuda
e102f2e8fa
Moved enum to bottom, change defualt bind to Shift-Tab, Fixed Notification
2020-11-30 21:38:16 -05:00
Dean Herbert
a852a27dfb
Fix current beatmap temporarily becoming empty during ruleset change
...
When changing the ruleset at song select, there was a scenario where it
would be set to default (empty) for one debounce length where this was
not actually required. This occurs when the currently selected beatmap
set has other difficulties which match the target ruleset, specifically.
2020-11-30 19:36:30 +09:00
Dean Herbert
c17d67bc7d
Merge branch 'master' into editor-beat-snap-always
2020-11-30 18:34:38 +09:00
Dan Balasescu
b0637cebd1
Merge branch 'master' into song-select-track-selected-better-2
2020-11-30 17:26:15 +09:00
Dan Balasescu
5a276f8577
Merge branch 'master' into fix-editor-reapply-same-state-change
2020-11-30 13:34:03 +09:00
Ryan Zmuda
9145557522
Revert "Revert "forgot to remove something... sorry""
...
This reverts commit 6478bed431
.
2020-11-29 23:15:12 -05:00
Ryan Zmuda
6478bed431
Revert "forgot to remove something... sorry"
...
This reverts commit a780a8bbd8
.
2020-11-29 23:14:43 -05:00
Ryan Zmuda
a780a8bbd8
forgot to remove something... sorry
2020-11-29 21:52:58 -05:00
Ryan Zmuda
3994cf082d
add keybind for in game overlay
2020-11-29 20:59:02 -05:00
Dean Herbert
7e34c5e239
Fix state application always checking newest state for early abort, rather than current
2020-11-27 16:57:11 +09:00
Dean Herbert
7edbba58f7
Avoid updating hitobjects unnecessarily for start time changes
...
This was firing regardless of whether the start time was changed, such
as where beat snap provided the same time the object already has.
The case where a change actually occurs is already handled by
EditorBeatmap (see `startTimeBindables`), so it turns out this local
handling is not required at all.
2020-11-27 16:31:06 +09:00
Dean Herbert
792934f2c4
Allow scroll type to be specified
...
This brings back the ability for the carousel to scroll in a classic
way. It turns out this is generally what we want for "seek" operations
like "random", else it's quite hard to get the expected animation.
I did experiment with applying the animation after the pooled panels are
retrieved, but in a best-case scenario there is still a gap where no
panels are displayed during the random seek operation.
2020-11-27 13:54:38 +09:00
Dean Herbert
018957c244
Merge branch 'master' into song-select-track-selected-better-2
2020-11-27 12:54:40 +09:00
Dan Balasescu
220657c2cc
Merge branch 'master' into replay-pausing-support
2020-11-27 00:09:40 +09:00
Dean Herbert
3346c06aca
Rename variable/text to be more verbose as to toggle purpose
2020-11-26 20:04:44 +09:00
Dean Herbert
741902f1b3
Merge pull request #10971 from smoogipoo/fix-timeline-combo-colour
...
Fix timeline blueprints sometimes not receiving combo colours
2020-11-26 19:47:21 +09:00
Dean Herbert
da6bccc812
Apply beat snap if positional snap doesn't give a time result
2020-11-26 19:20:51 +09:00
Dean Herbert
91592cf32d
Expose EditorClock for consumption
2020-11-26 19:20:39 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
Dean Herbert
0a48dd8f76
Delegate scroll animation to panels themselves
2020-11-26 18:42:51 +09:00
Dean Herbert
ad258e2e52
Update scroll position before applying any panel animations
...
In the case of automatic scroll requirements (ie. scroll to selected) we
are delegating the animation logic to the panels themselves. In order to
make this work correctly, the scroll operation needs to take effect
before any animation updates are run.
2020-11-26 18:33:41 +09:00
Dean Herbert
6058c66edb
Move drawable carousel set movement logic into panels themselves
2020-11-26 18:32:43 +09:00