Dan Balasescu
25b274c323
Fix starting gameplay too early after import
2021-12-11 22:47:50 +09:00
Dan Balasescu
6057037e35
Move playlist item beatmap population to MatchSubScreen
2021-12-10 20:08:59 +09:00
Dan Balasescu
de0f37b08d
Separate editing and adding playlist items
2021-12-10 15:26:48 +09:00
Dean Herbert
88670c3b01
Document OpenSongSelection
and mark null param
2021-12-10 14:14:22 +09:00
Dan Balasescu
671582a925
Allow host to enqeue items and items to be edited
2021-12-10 01:15:19 +09:00
Dan Balasescu
1a0945daba
Siplify condition, allow host to always remove items
2021-12-09 14:33:50 +09:00
Dan Balasescu
8398f86440
Don't consider expired items in visibility check
2021-12-09 04:02:16 +09:00
Dan Balasescu
c34c580ad4
Add client-side + interface implementation
2021-12-09 03:08:59 +09:00
Dan Balasescu
273042aa16
Add virtual method for creating different DrawablePlaylistItem types
2021-12-09 01:49:34 +09:00
Dan Balasescu
3be4d8b68d
Remove ctor params from DrawableRoomPlaylist/DrawablePlaylistItem
2021-12-09 01:04:56 +09:00
Dean Herbert
dea7f2308c
Fix participant panels potentially keeping a reference to an old user
...
If a user leave and then rejoins a multiplayer match while another user
is not at the lobby screen, there is a potential the `ParticipantPanel`
tracking the user will not correctly be recreated to reference the new
instance of the `MultiplayerUser`.
This happens because the `OnRoomUpdated` call is scheduled, which means
it is not running in the background, coupled with the local logic that
relies on `IEquatable(MultiplayerRoomUser)` (which in turn falls back to
a UserID comparison).
Changing this to a reference comparison is the easiest way to resolve
this. Whether we change the `IEquatable` implementation is up for
discussion.
Closes https://github.com/ppy/osu/issues/15970 .
2021-12-07 17:24:04 +09:00
Dean Herbert
a76cfbea21
Add test coverage of incorrect beatmap being used in multiplayer when match started from song select
2021-12-06 14:03:33 +09:00
Dean Herbert
e1897f9998
Don't debounce MultiplayerRoomComposite
events
...
This avoids accidental usage which could result in data being lost or
ignored (as only the last `user` in a single frame would arrive).
This was added specifically to debounce sample playback, but given that
it's only debouncing on a single frame (hardly noticeable) I'm not going
to add back support for that yet. It should be handled by sample
playback concurrency or something more local to the usage.
2021-12-05 01:38:39 +09:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store
2021-12-04 15:05:39 +01:00
Bartłomiej Dach
53a6ef22ce
Add null check to resolve inspection
2021-12-04 14:55:35 +01:00
Dean Herbert
517a344bcc
Merge branch 'master' into new-multiplayer-playlist
2021-12-04 13:16:09 +09:00
Dan Balasescu
d5803e541b
Give playlist items a PlayedAt date
2021-12-03 20:25:51 +09:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
e75e209053
Cache and consume IRulesetStore
where feasible
2021-12-03 18:16:01 +09:00
Dan Balasescu
487a71312e
Split out code so base methods aren't called
2021-12-03 16:40:20 +09:00
Dan Balasescu
0a1304b92a
Remove gameplay_order, use existing playlist_order
2021-12-03 15:45:13 +09:00
Dan Balasescu
b75a5b778e
Update history list to also sort by gameplay order
2021-12-03 15:05:56 +09:00
Dan Balasescu
933fd49cff
Fix missed callbacks due to AddOnce() schedules
2021-12-02 22:33:14 +09:00
Dan Balasescu
9760a2b087
Update MultiplayerQueueList to take advantage of GameplayOrder
2021-12-02 22:33:14 +09:00
Dean Herbert
512818648f
Add some more breathing room between tab control and queue content
2021-12-02 16:56:30 +09:00
Dan Balasescu
e87b0003fb
Fix queue mode not being bound to in all cases
2021-12-01 21:35:23 +09:00
Dan Balasescu
ad35f3434b
Fix queue list not considering expired items
2021-12-01 21:35:23 +09:00
Dan Balasescu
e2f289eeff
Xmldocs
2021-12-01 21:35:23 +09:00
Dan Balasescu
93a7726f4a
Remove now-unused parameter
2021-12-01 21:35:23 +09:00
Dan Balasescu
d70355237d
Fix selected item not bound
2021-12-01 21:35:23 +09:00
Dan Balasescu
c3dfe10a8a
Add new list to match subscreen
2021-12-01 21:35:22 +09:00
Dan Balasescu
1152c4e8e9
Fix tests
2021-12-01 21:35:22 +09:00
Dan Balasescu
7847ce6253
Redesign with tab control
2021-12-01 21:35:22 +09:00
Dan Balasescu
95050d6597
Extract class to file
2021-12-01 21:35:22 +09:00
Dan Balasescu
fc8c8685b8
Add playlist queue tests
2021-12-01 21:35:22 +09:00
Dan Balasescu
e0ca1af9b8
Remove ctor params
2021-12-01 21:35:22 +09:00
Dan Balasescu
bfd2dc28c8
Rename QueueList -> MultiplayerQueueList
2021-12-01 21:35:22 +09:00
Dan Balasescu
6b198ce112
Document simulation
2021-12-01 21:35:22 +09:00
Dan Balasescu
9806c75743
Implement better round robin algorithm
2021-12-01 21:35:12 +09:00
Dan Balasescu
68bb49fc1e
Add QueueList tests
2021-12-01 21:33:48 +09:00
Dan Balasescu
0cb35e8b18
Separate out QueueList
2021-12-01 21:33:48 +09:00
Dan Balasescu
17bc0b51aa
Merge branch 'playlist-item-add-owner' into new-multiplayer-playlist
2021-12-01 21:33:48 +09:00
Dan Balasescu
942e48ffbd
Merge branch 'master' into new-multiplayer-playlist
2021-12-01 21:33:11 +09:00
Dan Balasescu
c38537a51a
Initial implementation of MultiplayerPlaylist
2021-12-01 21:32:56 +09:00
Dan Balasescu
e1445dcb05
Only show owner in match subscreen
2021-11-26 17:40:45 +09:00
Dan Balasescu
1f13669636
Don't poll while in room
...
Fixes timeout in `TestJoinRoomWithoutPassword`, because the 'server' returns
out-of-date data while the `MatchSubScreen` has possible not been entered
yet (and thus hasn't disabled polling itself yet).
Can be tested by adding a `Task.Delay(3000);` at the end of
the `MultiplayerClient.JoinRoom()` task.
2021-11-23 16:14:01 +09:00
Dan Balasescu
4b498c7bd6
Merge branch 'master' into multi-queueing-modes
2021-11-22 07:46:45 +09:00
Dan Balasescu
d397524878
Merge pull request #15676 from peppy/multiplayer-incorrect-beatmap-error
...
Show better error message when selecting an unavailable beatmap during multiplayer room creation
2021-11-19 18:59:46 +09:00
Dan Balasescu
de0e8ad822
Merge branch 'master' into multi-queueing-modes
2021-11-19 18:58:15 +09:00
Dan Balasescu
4c8c34b43f
Use full name for round robin
2021-11-19 18:42:34 +09:00
Dan Balasescu
4e625b78e2
Update queue mode names
2021-11-19 18:28:43 +09:00
Dan Balasescu
12e1142b07
Rename settings section
2021-11-19 15:47:40 +09:00
Dean Herbert
0c289bf8e5
Remove pointless namespace
2021-11-19 14:46:53 +09:00
Dean Herbert
284e554cbf
Only show user displayable portion of server errors when seleting a song in multiplayer
2021-11-19 13:58:03 +09:00
Dean Herbert
c901a4fd7e
Show better error message when selecting an unavailable beatmap during multiplayer room creation
2021-11-19 13:28:42 +09:00
Dan Balasescu
29d0d5badf
Rename QueueModes -> QueueMode
2021-11-16 14:53:10 +09:00
Dan Balasescu
459e819a5d
Update todo
2021-11-16 00:50:23 +09:00
Dan Balasescu
d27edb3a25
Fix another potential crash from async load
2021-11-16 00:31:46 +09:00
Dan Balasescu
8e014ca17a
Reverse in-match playlist
2021-11-16 00:31:46 +09:00
Dan Balasescu
eb983ed548
Fix potential crash from playlist updating during async load
2021-11-16 00:02:38 +09:00
Dan Balasescu
f743a3647f
Rename APIPlaylistItem -> MultiplayerPlaylistItem
2021-11-15 23:14:27 +09:00
Dan Balasescu
07a7b4bcdc
Merge branch 'master' into multi-queueing-modes
2021-11-11 22:19:30 +09:00
Bartłomiej Dach
9664b9a97c
Fix being able to switch own team by clicking other players' team indicators
2021-11-11 09:01:50 +01:00
Dan Balasescu
aad4b8ff80
Fix ready button remaining enabled for expired items
2021-11-10 18:42:46 +09:00
Dan Balasescu
02efe24e39
Fix checksum not passed to AddPlaylistItem
2021-11-10 18:36:55 +09:00
Dan Balasescu
c7381b4df0
Fix host check
...
Although the underlying issue is that the host user is not populated.
Not sure whether this should be fixed at all.
2021-11-10 18:36:22 +09:00
Dean Herbert
328c72c358
Fix TeamDisplay
not showing after changing to team versus
2021-11-10 13:44:31 +09:00
Dean Herbert
52c740b377
Add failing test showing team display display failure
2021-11-10 13:44:31 +09:00
smoogipoo
3db199292f
Fix queue mode not passed from room to settings overlay
2021-11-01 18:52:57 +09:00
smoogipoo
e667ef4eea
Add basic tests
2021-10-29 15:44:48 +09:00
smoogipoo
f076b72fbe
Merge branch 'master' into multi-queueing-modes
2021-10-29 10:48:16 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
ea55ba7ba9
Remove unused using statement
2021-10-26 16:08:21 +09:00
Dean Herbert
6c38028d06
Fix gameplay chat display not losing focus on escape key press
...
Closes #15293 .
2021-10-26 13:55:08 +09:00
smoogipoo
04b0529a7f
Fix list overflowing subscreen background
2021-10-22 22:17:26 +09:00
smoogipoo
95ab82fb58
Remove BeatmapSelectionControl and inline at usage sites
2021-10-22 19:41:36 +09:00
smoogipoo
db87e42d47
Remove beatmap/ruleset/etc from MultiplayerRoomSettings
2021-10-22 16:48:28 +09:00
smoogipoo
f41cf822b0
Rename request
2021-10-21 17:02:11 +09:00
Bartłomiej Dach
9ad9465020
Remove online-screen-local textbox recolours
2021-10-20 22:49:25 +02:00
smoogipoo
691e414acb
Add request to add a new playlist item
2021-10-20 21:08:58 +09:00
smoogipoo
67090fc598
Re-namespace enum
2021-10-20 20:52:16 +09:00
smoogipoo
599867a3b1
Add implementation to settings overlay
2021-10-20 20:29:06 +09:00
smoogipoo
0e446105fb
Rename to "picking mode" as simpler english
2021-10-20 17:52:51 +09:00
smoogipoo
bc57190fb4
Make dropdown not move the selection control
2021-10-20 17:52:05 +09:00
smoogipoo
116ce09e49
Merge branch 'master' into multi-queueing-modes
2021-10-20 17:27:25 +09:00
smoogipoo
ea9c070e59
Add setting for queue mode
2021-10-20 14:51:59 +09:00
5ln
3529f34c98
Multi: Hide mods when spectating or Beatmap isn't Locally Available.
...
Signed-off-by: 5ln <xnafumie@gmail.com>
2021-10-18 02:01:50 +08:00
smoogipoo
2fd101ad50
Reorder elements to follow designs
2021-10-15 20:25:32 +09:00
smoogipoo
a70d7e4feb
Remove unnecessary extra GridContainer
2021-10-15 20:18:25 +09:00
Dean Herbert
9d54285b2e
Merge branch 'master' into fix-multiplayer-sounds-during-gameplay
2021-10-14 21:34:04 +09:00
Dean Herbert
06249c4ab2
Fix incorrect usages of Scheduler.AddOnce
2021-10-14 17:52:19 +09:00
Dean Herbert
0d86dab80a
Fix multiplayer components updating when not alive
...
Should close https://github.com/ppy/osu/issues/15092 .
- [ ] Depends on https://github.com/ppy/osu-framework/pull/4826 .
2021-10-14 17:37:10 +09:00
Bartłomiej Dach
f3647eb94e
Recolour room settings screens to match dropdown theming
2021-10-13 22:50:19 +02:00
Dean Herbert
853cf6feaa
Rename last remaining BeatmapInfo Beatmap
usage
2021-10-04 17:35:53 +09:00
Dean Herbert
05ca3aec4f
Rename GameplayState
to SpectatorGameplayState
2021-10-02 02:10:11 +09:00
smoogipoo
c83dd7d2b6
Merge OnlinePlayComposite and RoomSubScreenComposite
2021-09-29 20:55:20 +09:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
fa693bb8a8
Move MusicController
adjustment set to inside OsuScreen
itself (and result nullable
)
2021-09-16 16:08:09 +09:00
AbstractQbit
318f0941ca
Move all the "inherit previous AllowTrackAdjustments
" logic into OsuScreen
2021-09-15 21:25:39 +03:00
AbstractQbit
b9193aae6d
Make IOsuScreen.AllowTrackAdjustments nullable
...
Allows for inheriting value from the previous screen if undefined
2021-09-14 17:37:57 +03:00
Dean Herbert
7fe0eefb78
Add inline comment regarding team switch sample logic
...
Feels a bit convoluted without this. Don't really have a better
suggestion for now so a comment will do.
2021-09-13 14:12:19 +09:00
Jamie Taylor
217ca754ae
Add sound for team swaps
2021-09-08 13:45:05 +09:00
Dan Balasescu
7be825f470
Merge pull request #14488 from frenzibyte/multi-spectator-player-leaving
...
Gray out and stop player instances who quit during multi-spectator sessions
2021-08-30 12:04:19 +09:00
Dean Herbert
2b06dacd0e
Change debounce back to using scheduler
...
Should better allow for adjusting in the future, as well.
2021-08-27 18:57:19 +09:00
Jamie Taylor
e341f471b0
Add lobby sfx for join/leave/kick/ready/unready events
2021-08-26 15:29:22 +09:00
Salman Ahmed
196c74fce8
Gray out and remove player clock when users stop playing
2021-08-25 11:31:02 +03:00
Salman Ahmed
599145b46a
Stop clocks when removing them from sync manager
2021-08-25 11:31:02 +03:00
Dean Herbert
e1ab3434ed
Add ability to handle user join/leave/kick events in MultiplayerComposite
s
2021-08-25 14:37:14 +09:00
Bartłomiej Dach
e503182a8d
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 18:50:55 +02:00
smoogipoo
16ddbcd208
Don't bind to RoomId where it's expected to be constant
2021-08-24 14:25:40 +09:00
smoogipoo
de0de451fe
Refactor to remove resolved dependency
2021-08-24 13:29:19 +09:00
smoogipoo
df170afbc4
Fix multiplayer crashing when entering gameplay
2021-08-24 13:22:06 +09:00
smoogipoo
956c1cc216
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 12:33:34 +09:00
Dean Herbert
eaa4d479ac
Merge pull request #14408 from smoogipoo/remove-current-room
...
Remove the global "selected room" from online screens
2021-08-23 17:29:31 +09:00
Nathan Alo
2877b43824
split multiplayer and playlist activity
2021-08-22 09:54:07 +08:00
Dean Herbert
15d443f6b7
Use the UI mouse cursor when hovering gameplay chat in an interactive state
2021-08-21 14:44:54 +09:00
smoogipoo
f85d3665d8
Cleanups
2021-08-20 21:45:24 +09:00
smoogipoo
610a162271
Merge branch 'master' into remove-current-room
2021-08-20 16:23:36 +09:00
Dan Balasescu
c95bf735fe
Merge branch 'master' into multiplayer-chat
2021-08-20 11:54:42 +09:00
Dean Herbert
b09105e5a7
Merge pull request #14381 from smoogipoo/match-subscreen-redesign
...
Update layout of multiplayer room screens
2021-08-19 19:36:21 +09:00
Dean Herbert
8fce5911a9
Adjust spacing and padding of footer buttons
2021-08-19 19:08:46 +09:00
Dean Herbert
16aecfe934
Start free mod selection area hidden on screen display
2021-08-19 19:02:54 +09:00
Dean Herbert
be77498044
Move chat to right column in multiplayer match screen
2021-08-19 19:02:31 +09:00
Dean Herbert
675e2e34ba
Add padding between beatmap panel and edit button
2021-08-19 19:02:05 +09:00
smoogipoo
493f47787b
Disable condition for the time being
2021-08-19 18:18:42 +09:00
smoogipoo
c31af96f1d
Pass room into RoomSettingsOverlay
2021-08-19 16:41:21 +09:00
smoogipoo
1fd746524d
Remove realtime room category, fix end-date showing for realtime
2021-08-19 16:09:28 +09:00
Dean Herbert
6d00ea3375
Allow toggling focus via binding
2021-08-19 14:19:59 +09:00
Bartłomiej Dach
07951fe18c
Merge branch 'master' into limit-match-settings-textbox
2021-08-18 21:17:16 +02:00
Davran Dilshat
43cbd10a38
change limit to be on actual usage site
2021-08-18 18:30:50 +01:00
smoogipoo
63af67f61b
Cleanup around footers
2021-08-18 20:25:48 +09:00
Dean Herbert
1faf789f0e
Allow expanding chat using key binding even when it is hidden
2021-08-18 18:25:21 +09:00
Dean Herbert
365c1bccc6
Fix multiplayer channel being unintentionally left after gameplay session
2021-08-18 18:24:20 +09:00
Dean Herbert
2099298444
Disallow clicking on chat textbox during gameplay
2021-08-18 17:30:50 +09:00
smoogipoo
568f1fd345
Fix initial RoomId state not being handled correctly
2021-08-18 16:09:00 +09:00
smoogipoo
90a1be2e61
Move paddings up one level
2021-08-18 15:54:33 +09:00
smoogipoo
f3bc9c3e45
Merge branch 'master' into match-subscreen-redesign
2021-08-18 15:19:29 +09:00
smoogipoo
c5268c9a99
Simplify by reusing same room panel
2021-08-18 15:19:24 +09:00
smoogipoo
704af94d39
Add edit button to room panel
2021-08-18 15:13:10 +09:00
smoogipoo
c66abf85f7
Remove match header
2021-08-18 14:04:44 +09:00
Dan Balasescu
eaf7bd72fc
Merge branch 'master' into multiplayer-chat
2021-08-17 20:08:01 +09:00
smoogipoo
47d4a2e97f
Make SettingsOverlay protected
2021-08-17 20:05:26 +09:00
smoogipoo
590d814881
Move RoomSettingsOverlay to RoomSubScreen
2021-08-17 18:24:04 +09:00
Dean Herbert
9eb16fa61d
Move poll allowance logic based on signalr connection inside polling component
2021-08-17 17:16:21 +09:00
smoogipoo
5d72c5911a
Rename MatchSettingsOverlay and related classes
...
Because "match" is a multiplayer-only concept.
2021-08-17 17:14:28 +09:00
smoogipoo
6416e64e06
Adjust sizings and paddings
2021-08-17 17:13:25 +09:00
smoogipoo
4b198d14eb
Initial refactor of RoomSubScreen
2021-08-17 17:05:20 +09:00
Dean Herbert
a901fca54a
Merge branch 'master' into multi-polling-request-refactor
2021-08-17 16:23:46 +09:00
Dean Herbert
124f149cb5
Add key binding to focus chat input
2021-08-17 16:17:31 +09:00
Dean Herbert
30eee363dc
Add chat display during multiplayer gameplay
2021-08-17 16:17:31 +09:00