Dan Balasescu
a49a9ed0a0
Fix incorrect invoke
2022-01-31 17:19:04 +09:00
Salman Ahmed
3ec193d47e
Fix spectator clock container incorrectly starting catch-up clock
2022-01-30 01:46:10 +03:00
Salman Ahmed
4f4f60248f
Add failing test case
2022-01-30 01:46:10 +03:00
Jamie Taylor
493a970ed5
Remove unused AudioManager
2022-01-19 14:08:21 +09:00
Dean Herbert
671a3d47b8
Move bindable binding to LoadComplete
and remove unnecessary unbind
2022-01-15 21:20:27 +09:00
Dean Herbert
ea8e49c543
Reorder private/protected methods
2022-01-15 21:19:02 +09:00
Jamie Taylor
7e9b5dd150
Add audio feedback for host change in multiplayer
2022-01-14 18:11:00 +09:00
Dean Herbert
675bdd3213
Fix MultiplayerMatchSubScreen
mutating mods outside of bindable lease
...
As seen at https://github.com/peppy/osu/runs/4674501626?check_suite_focus=true .
2022-01-01 12:13:59 +09:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Dan Balasescu
a43cc20ae2
Apply changes to GameplayCompleted from reviews
2021-12-24 21:58:20 +09:00
Dan Balasescu
c6854b37c8
Unbind event on disposal
2021-12-24 21:58:09 +09:00
Dan Balasescu
727335dcad
Improve reliability of exiting gameplay
2021-12-24 14:23:09 +09:00
Dan Balasescu
4ce61d4260
Directly bind to room updates
...
Currently doesn't really cause any difference, however it may in the
future if we decide the queueing algorithm shouldn't update PlaylistOrder
when an item has been played.
2021-12-21 18:40:29 +09:00
Dan Balasescu
a34d24fb20
Disallow expired items from showing delete button
...
This isn't possible in practice since expired items are removed from the
queue list, but this helps out in tests.
2021-12-21 18:37:42 +09:00
Dan Balasescu
51b7e920c0
Fix delete button being able to show on current item
2021-12-21 16:57:58 +09:00
Dean Herbert
d08b66a5ff
Also add logging to OnlinePlayScreen
2021-12-21 15:07:06 +09:00
Dean Herbert
ddadf3c4b5
Add logging of MultiplayerMatchSubScreen
exiting from room loss
2021-12-21 14:53:24 +09:00
Dean Herbert
6907a9a3cc
Name some screen stacks for better logging context
2021-12-20 18:24:14 +09:00
Dean Herbert
cd8dfac625
Merge pull request #16097 from smoogipoo/forego-resetting-spectate-state
...
Don't reset spectating state if spectator exited after gameplay finishes
2021-12-15 22:30:41 +09:00
Dean Herbert
33cf4ba7f6
Merge pull request #16075 from smoogipoo/prevent-idle-transition-during-load
...
Add AbortGameplay() to fix state transition race conditions during multiplayer load
2021-12-15 19:59:19 +09:00
Dean Herbert
9e82a3e79a
Merge branch 'master' into forego-resetting-spectate-state
2021-12-15 18:05:06 +09:00
Dan Balasescu
18d7b79207
Don't reset spectating state if gameplay is finished
2021-12-15 17:40:30 +09:00
Dan Balasescu
740a6f16c7
Fix exception when updating the room's visual playlist
2021-12-15 16:53:25 +09:00
Dan Balasescu
9ade8069a1
Rename to AbortGameplay() and handle additional states
2021-12-15 06:40:28 +09:00
Dan Balasescu
2f1dc91211
Add AbortLoad() method to abort gameplay loads
2021-12-14 11:30:42 +09:00
Dan Balasescu
70045494ba
Re-simplify code by removing BeatmapManager event instead
2021-12-13 16:09:54 +09:00
Dan Balasescu
a6e77f172d
Add some comments
2021-12-12 16:30:37 +09:00
Dan Balasescu
d6c08fae48
Fix incorrect global beatmap with availability changes
2021-12-11 23:08:21 +09:00
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
smoogipoo
f4b7ee5c7f
Merge branch 'master' into hide-player-settings-overlay
2021-08-17 13:44:33 +09:00
smoogipoo
1e282432c9
Fix password in a better way
2021-08-17 09:40:25 +09:00
smoogipoo
97d5b80834
Fix joining with incorrect password
2021-08-17 09:18:21 +09:00
smoogipoo
6320768a67
Merge branch 'master' into multi-polling-request-refactor
2021-08-17 08:44:56 +09:00
Dean Herbert
8d45f86bd3
Rename variable to better reflect its purpose
2021-08-16 16:48:40 +09:00
Dean Herbert
81480ac4fc
Use PlayerConfiguration
to convey no-seek state
2021-08-16 16:16:02 +09:00
Salman Ahmed
7fe6f6dd14
Fix kick button action asserting and using User.User.ID
rather than User.UserID
2021-08-16 09:47:23 +03:00
Salman Ahmed
79cd062784
Let TeamDisplay
take the full MultiplayerRoomUser
rather than the underlying User
2021-08-16 09:47:23 +03:00
smoogipoo
08d347f10b
Merge branch 'master' into multi-polling-request-refactor
2021-08-16 13:12:08 +09:00
smoogipoo
b6a2020c59
General refactorings from PR review
2021-08-16 13:09:04 +09:00
Nathan Alo
2cc096101e
trim whitespace
2021-08-15 18:56:24 +08:00
Salman Ahmed
2ddf28346a
PlayerSettingsGroups -> PlayerSettings
2021-08-14 19:58:20 +03:00
Nathan Alo
4ed06a1021
apply suggestions
2021-08-14 22:39:12 +08:00
Nathan Alo
a553942a7f
update InitialActivity
on multiplayer Player
and SongSelect
2021-08-14 13:20:36 +08:00
Dean Herbert
b8c63eb1cb
Merge branch 'master' into multiplayer-kick-support-events
2021-08-14 14:08:34 +09:00
Bartłomiej Dach
8f3fedade3
Merge branch 'master' into multiplayer-team-vs-results
2021-08-13 21:30:44 +02:00
smoogipoo
155e9e16a5
Refactorings
2021-08-13 22:09:47 +09:00
smoogipoo
c71a581106
Fix exception when leaving match
2021-08-13 18:24:19 +09:00
smoogipoo
1bae7173d3
Fix initial multiplayer poll
2021-08-13 18:14:02 +09:00
smoogipoo
7cbf4c48ed
Fix multiplayer polling when not connected
2021-08-13 17:59:18 +09:00
smoogipoo
8910781bcd
Move listing polling component to LoungeSubScreen
2021-08-13 17:39:09 +09:00
Dean Herbert
df24f7a81e
Merge pull request #14256 from smoogipoo/multiplayer-header-redesign
...
Update multiplayer header to the latest designs
2021-08-13 16:16:25 +09:00
Dean Herbert
f9f3339885
Fix vertical offset not being handled correctly during score panel detach process
2021-08-13 16:14:23 +09:00
Dean Herbert
732dcd30c7
Merge branch 'master' into multiplayer-team-vs-results
2021-08-13 16:03:10 +09:00
Dean Herbert
b9721f5261
Centralise screen exit logic and guard against non-current screen
2021-08-13 14:39:03 +09:00
smoogipoo
755b6460b6
Fix multiplayer navigation test failure
2021-08-13 14:05:44 +09:00
Salman Ahmed
34c2b317e2
Hide song progress bar on multi-spectator player
2021-08-13 07:30:09 +03:00
Salman Ahmed
e7cf6b2d23
Expire hold-to-quit button on multi-spectator player
2021-08-13 07:29:55 +03:00
Salman Ahmed
8dc7a925e7
Expire instead of hiding and disabling visibility state
...
Since it's a temporary change until the spectator interface gets
improved, no need to add further logic.
2021-08-13 07:28:59 +03:00
smoogipoo
e913c8f92f
Change strings to verbatim
2021-08-13 13:07:02 +09:00
Salman Ahmed
c10320f239
Hide and disable player settings overlay on multi-spectator player
2021-08-13 06:35:16 +03:00
Salman Ahmed
2b86416cb2
Hide player settings overlay on multi-spectator player loader
2021-08-13 06:35:16 +03:00
Bartłomiej Dach
70005cb39d
Merge branch 'master' into multiplayer-team-vs-results
2021-08-12 20:39:48 +02:00
Bartłomiej Dach
53b4cdfb02
Handle ties in team vs. results screen
2021-08-12 20:38:24 +02:00
Bartłomiej Dach
f06f13215b
Split off multiplayer team results screen to separate class
...
The previous version tried to keep both normal multiplayer and team
multiplayer results as one screen, but didn't check that team-specific
components aren't null in `LoadComplete()`.
To decrease number of conditional, split off the team results screen to
a separate implementation, and choose one or the other at push time in
`MultiplayerPlayer`, depending on team count.
2021-08-12 20:01:31 +02:00
Bartłomiej Dach
828268ad4d
Add winner text background to increase contrast
2021-08-12 19:34:25 +02:00
Bartłomiej Dach
4d26bb6714
Scale score panel to remove overlap with team score display
2021-08-12 19:27:32 +02:00
Dean Herbert
8249ce7988
Merge branch 'master' into multiplayer-header-redesign
2021-08-12 21:00:46 +09:00
smoogipoo
047b37788b
Merge online play filter control with the lounge subscreen
2021-08-12 19:48:15 +09:00
Dean Herbert
5f3ceaf0ad
Merge branch 'master' into lounge-redesign
2021-08-12 16:31:14 +09:00
Dan Balasescu
88f70e7f29
Merge branch 'master' into multiplayer-kick-support-events
2021-08-12 12:12:06 +09:00
Dan Balasescu
60e988aac3
Merge branch 'master' into multiplayer-kick-support
2021-08-12 11:46:56 +09:00
smoogipoo
543482111b
Remove outdated todo
2021-08-12 10:40:14 +09:00
Dean Herbert
31608a1bc6
Leave the match screen when kicked
2021-08-11 19:57:10 +09:00
Dean Herbert
d6352637d6
Also add tooltip and context menu item
2021-08-11 17:45:34 +09:00
Dean Herbert
bb51ebd0ef
Don't show button on self
2021-08-11 17:42:46 +09:00
Dean Herbert
7aab8c32ec
Add kick button and hook up logic
2021-08-11 17:31:54 +09:00
Dean Herbert
a223f111cb
Move text to avoid overlapping the results panel
2021-08-11 15:50:01 +09:00
Dean Herbert
430a0e496c
Add winner text
2021-08-11 15:32:14 +09:00
Dean Herbert
c376e652a4
Convey and show team scores at the multiplayer results screen
2021-08-11 15:32:14 +09:00
Dean Herbert
cf82bca09c
Change logic to only handle the case of exactly two teams
2021-08-11 14:44:13 +09:00
Dean Herbert
a503274e1d
Pass through MultiplayerRoomUser
s instead of int
s to avoid re-retrieval
2021-08-10 18:39:20 +09:00
Dean Herbert
5f3d087101
Also add team score display to multiplayer spectator screen
2021-08-09 19:17:51 +09:00
Dean Herbert
121648b593
Add gameplay-specific team score display which can expand and contract
2021-08-09 19:17:51 +09:00
Dean Herbert
0fa1f085df
Store MultiplayerRoomUser
as part of tracked data
2021-08-09 16:31:18 +09:00
Dean Herbert
fcec714b4f
Add safeties to avoid MultiplayerPlayer
crashing when beatmap can't be loaded
2021-08-09 16:31:18 +09:00
Dean Herbert
0b76460043
Merge branch 'master' into lounge-redesign
2021-08-09 16:28:28 +09:00
Dean Herbert
7cb743a734
Move font sizing to base class
2021-08-09 16:17:51 +09:00
Dean Herbert
724edcbecd
Toggle the expanded state of the multiplayer leaderboard with the user's HUD
...
Resolves https://github.com/ppy/osu/discussions/14140 .
---
Until now, the multiplayer leaderboard would expand during break time.
Now, it respects the user's HUD visibility status (which can be toggled
using Shift+Tab).
2021-08-06 19:23:44 +09:00
smoogipoo
0246e6f850
Merge branch 'master' into lounge-redesign
2021-08-05 19:55:15 +09:00
Dan Balasescu
0211521a97
Merge branch 'master' into multiplayer-create-with-enter
2021-08-05 17:07:03 +09:00
Dean Herbert
bf720f7e06
Ensure operations are not performed during loading
2021-08-05 14:14:07 +09:00
Dean Herbert
22bd6c7556
Move keyboard progress flow handling to MatchSettingsOverlay
2021-08-05 14:06:58 +09:00
Dean Herbert
fd54487186
Add safety against pushing to non-current screen
2021-08-05 14:06:58 +09:00
Dean Herbert
c84bd2c74d
Update new obsolete usages
2021-08-05 13:22:59 +09:00
smoogipoo
fbf89493ad
Merge branch 'master' into lounge-redesign
2021-08-04 19:53:55 +09:00
Dean Herbert
476442d1a3
Merge branch 'master' into multiplayer-create-with-enter
2021-08-04 19:37:41 +09:00
Dean Herbert
aa320c70a7
Improve show/hide animation and add more padding around the crown
2021-08-03 23:42:37 +09:00
Dean Herbert
b8e878ccc9
Add the ability to change team by clicking current team colour
...
Definitely not the final UX, but it's what people are used to and easy
to implement, so it'll do for now.
2021-08-03 23:42:37 +09:00
Dean Herbert
5e59b1325c
Add team display to participant list
2021-08-03 23:42:37 +09:00
Dean Herbert
b956d32587
Add the ability to change multiplayer game type
2021-08-03 23:42:37 +09:00
Dean Herbert
c856611f65
Merge branch 'master' into multiplayer-match-rulesets
2021-08-03 23:40:24 +09:00
smoogipoo
1b6b7ce343
Merge branch 'master' into lounge-redesign
2021-08-03 20:02:31 +09:00
Dean Herbert
063868713e
Add ability to create a room using only keyboard input
2021-08-03 19:11:10 +09:00
Dean Herbert
01f15bd6fc
Rename picker class to match new naming
2021-08-03 17:47:53 +09:00
Dean Herbert
a42762e351
Merge branch 'multiplayer-rename-game-type' into multiplayer-match-rulesets
2021-08-03 14:55:51 +09:00
Dean Herbert
2564c0c3df
Rename GameType
to MatchType
and make enum
instead of class
2021-08-03 14:46:31 +09:00
Dean Herbert
867426441e
Fix weird access to room via Client
2021-08-02 18:50:22 +09:00
Henry Lin
89e8296eb1
Reset all types of adjustments in MusicController
; Rename AllowRateAdjustments
to AllowTrackAdjustments
2021-07-29 15:39:26 +08:00
Dean Herbert
a5736085a9
Ensure externally run operations on LoungeSubScreen
are run after load is completed
2021-07-23 02:23:37 +09:00
smoogipoo
6a55cb9df0
Revert unintended change
...
It's a deeper issue with ScreenStack (see:
https://github.com/ppy/osu-framework/issues/4619 ).
2021-07-19 22:52:07 +09:00
smoogipoo
3168a927dc
Fix possible exception
2021-07-19 20:50:30 +09:00
smoogipoo
2515785f93
Use room password to fill settings textbox
2021-07-19 20:03:32 +09:00
Dean Herbert
b5dd9403b1
Merge branch 'master' into add-password-support
2021-07-14 23:53:03 +09:00
smoogipoo
dfe7cc40a9
Move create room button into the lounge
2021-07-14 18:55:01 +09:00
Dan Balasescu
4ce96109b7
Merge branch 'master' into fix-match-screen-buttons-no-user
2021-07-13 18:20:23 +09:00
Dan Balasescu
0557761e51
Merge pull request #13862 from peppy/fix-multiplayer-create-game-failure-crash
...
Fix crash when multiplayer server join fails during game creation
2021-07-13 18:00:47 +09:00
Dean Herbert
e791669c40
Fix multiplayer screen buttons showing no text when local user not available
2021-07-13 17:59:58 +09:00
Dean Herbert
60e17fc2b7
Fix disconnected-from-server multiplayer exit sequence being blocked by confirmation dialog
2021-07-13 17:12:35 +09:00
Dean Herbert
5cffaf4d3b
Add extra explanatory comment to avoid any confusion
2021-07-13 14:34:56 +09:00
Dean Herbert
c6bd58ea4b
Exit match sub screen when a room goes away
...
Closes #13847 .
I think we can probably get some test coverage of this if required, but
needs a bit of thought (basically an error needs to be thrown during the
multiplayer client portion of the join procedure, after `CurrentRoom` is
non-null but before the join completes).
Manual testing on password branch (#13861 ) is possible since it
currently errors due to missing method on the live/dev servers.
- Create game, which will fail with `MethodNotExists`.
- Note the fields on the settings screen are emptied.
- Fill fields again and press create game (crash).
2021-07-12 19:20:41 +09:00
Dean Herbert
9f9d7f9125
Add remaining pieces of password flow (for osu-web join request)
2021-07-12 18:22:52 +09:00
Dean Herbert
08c40938db
Add support for updating a room's password
2021-07-12 15:49:19 +09:00
Dean Herbert
4fd6f2101c
Add password textbox input
2021-07-12 15:49:19 +09:00
Dean Herbert
24f330e5c1
Avoid MatchSettingsOverlay
base class potentially accessing an uninitialised field
2021-07-12 15:49:19 +09:00
Dan Balasescu
32e6c9c5d3
Merge pull request #13786 from peppy/multiplayer-test-fixes
...
Fix multiplayer test failures due to leaderboard load process
2021-07-06 16:33:41 +09:00
Dean Herbert
0658cfb986
Throw exceptions rather than silently failing if attempting to add a clock for a non-tracked user
2021-07-06 14:56:00 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments
2021-07-05 23:52:39 +08:00
Dean Herbert
77adf687c6
Consume ability to lookup multiple users in MultiplayerGameplayLeaderboard
...
Avoids syncrhonously blocking on asynchronous operations (which was
leading to LCA starvation in tests).
2021-07-05 19:56:37 +09:00
Dean Herbert
229bba14e6
Fix master clock becoming incorrectly paused when all spectator players are too far ahead
2021-07-05 17:45:08 +09:00
smoogipoo
6dd3c6fe93
Make MultiSpectatorScreen and tests more resillient to timing
2021-06-29 22:45:51 +09:00
smoogipoo
bfdbe3c3fe
Fix clocks getting added a second time
2021-06-29 17:29:25 +09:00
smoogipoo
bcdf36e77b
Merge branch 'master' into spectator-start-at-end-2
2021-06-29 15:53:58 +09:00
Joseph Madamba
db86098062
Fix dialog not closing after spamming OS window close
2021-06-21 20:23:11 -07:00
Joseph Madamba
9bcd1e6922
Move confirm dialog logic to OnExiting
2021-06-21 20:22:18 -07:00
smoogipoo
9f163f7f20
Use switch statement to be more explicit about state
2021-06-11 19:23:25 +09:00
smoogipoo
0a8daab4f7
Pause master clock when too far ahead
2021-06-11 19:15:53 +09:00
smoogipoo
59eda70c12
Seek to the least most-recent frame instead
2021-06-11 18:40:56 +09:00
smoogipoo
263b8ff097
Wait for full player load
2021-06-11 18:14:37 +09:00
smoogipoo
a99cb79738
Seek master clock on multi-spectator start
2021-06-11 16:25:45 +09:00
smoogipoo
75d825c85c
Dont control master clock from sync manager
2021-06-11 16:24:52 +09:00
smoogipoo
1c67ef7c91
Make catchup clock support seeking
2021-06-11 16:23:59 +09:00
Dean Herbert
7774344f0e
Remove "Unranked" text from ModDisplay
2021-06-09 13:45:09 +09:00
smoogipoo
c3ea1b26e1
Fix DT being doubled in multiplayer spectator
2021-06-08 22:51:42 +09:00
Dean Herbert
a15cac6f53
Change the way Score
is initialised in Player
to better lend to population of metadata
2021-06-02 15:44:04 +09:00
Dean Herbert
6ef9b346e1
Fix newly found inspections from 2021.1EAP1
2021-06-01 14:33:21 +09:00
smoogipoo
a74405d0ed
Merge branch 'master' into restructure-spectator-client
2021-05-20 18:53:42 +09:00
smoogipoo
6beeb7f7c4
Rename SpectatorStreamingClient -> SpectatorClient
2021-05-20 15:55:07 +09:00
smoogipoo
d197a7f6f5
Rename multiplayer client classes
2021-05-20 15:39:45 +09:00
Salman Ahmed
9e8c0a7e70
Fix online play subscreens not pushing player loaders when starting gameplay
2021-05-14 04:25:29 +03:00
smoogipoo
9ad1e5067e
Fix spectate being entered while not having the beatmap
2021-05-11 19:22:09 +09:00
smoogipoo
10a4a5decb
Merge branch 'master' into multiplayer-spectator-screen
2021-05-11 17:33:09 +09:00
Dean Herbert
54abf8f6f6
Vertically centre leaderboard for now
2021-05-03 14:48:04 +09:00
Dean Herbert
b1a19b6dd6
Add xmldoc for PlayerIsolationContainer
2021-05-03 14:41:55 +09:00
Dean Herbert
2aa21e2aff
Adjust documentation in CatchUpSyncManager
2021-05-03 14:37:11 +09:00
Dean Herbert
c065092e72
Fix weird access to userIds in MultiplayerSpectatorScreen
2021-05-03 14:25:52 +09:00
Dean Herbert
dc5ee31d94
Use switch for screen construction
2021-05-03 14:04:20 +09:00
Dean Herbert
66ae6e58d1
Reword comment regarding LoadRequested special case to be easier to understand context
2021-05-03 14:01:10 +09:00
Dean Herbert
6da4105da6
Remove Sync namespace (feels unnecessary)
2021-05-03 13:38:53 +09:00
smoogipoo
630a6dc46a
Fix missing dependency
2021-04-26 22:23:44 +09:00
smoogipoo
ed93e26e52
Use single method for starting/restarting spectator screen
2021-04-26 21:56:15 +09:00
smoogipoo
7e11d520d5
Remove finished players from multi spectator screen
2021-04-26 21:25:46 +09:00
smoogipoo
94d0b06493
Expose mute adjustment instead
2021-04-26 19:01:30 +09:00
smoogipoo
d7618b63fa
Fix test failure
2021-04-26 17:35:13 +09:00
smoogipoo
6626e70c95
Pass in master clock instead of slave clock
2021-04-26 17:30:27 +09:00
smoogipoo
5b4cb71cc7
Change terminology from "slave" to "player clock"
2021-04-26 17:19:44 +09:00
Dean Herbert
aa99c192d0
Fix type in inline comment
2021-04-26 16:21:12 +09:00
smoogipoo
63a9484255
Expose WaitingOnFrames as mutable bindable
2021-04-23 19:11:47 +09:00
smoogipoo
575ec7c528
Document + refactor max player limitation
2021-04-23 19:11:35 +09:00
smoogipoo
90ecda91af
Fix exception
2021-04-23 00:06:54 +09:00
smoogipoo
4f0857f946
Xmldocs and general refactorings
2021-04-22 23:52:22 +09:00
smoogipoo
ee25949751
Rename classes
2021-04-22 23:39:02 +09:00
smoogipoo
8a0ba3a055
Merge GameplayIsolationContainer into PlayerInstance, remove track
2021-04-22 23:38:51 +09:00
smoogipoo
4aceb75eb2
Disable spectate button on closed rooms
...
Doesn't have an effect normally - only for safety purposes in case we
allow entering the match subscreen after a match has finished in the
future.
2021-04-22 23:37:45 +09:00
smoogipoo
fd0b030cf4
Refactor gameplay screen creation
2021-04-22 23:37:33 +09:00
smoogipoo
64579d50ac
Use only single PlayerInstance for hit sample playback
2021-04-22 22:59:47 +09:00
smoogipoo
6588859c32
Remove loggings
2021-04-22 22:29:18 +09:00
smoogipoo
1ca2152e61
Privatise + rename to SlaveGameplayClockContainer
2021-04-21 23:22:36 +09:00
smoogipoo
2bea625613
Fix initial playback states not being correct
2021-04-21 23:22:11 +09:00
smoogipoo
f32d00c0d9
Fix post-merge errors
2021-04-21 17:13:01 +09:00
smoogipoo
724fe3d378
Remove unnecessary method
2021-04-16 22:57:34 +09:00
smoogipoo
72ebcb157f
Dispose track on dispose
2021-04-16 22:57:27 +09:00
smoogipoo
4c5d4752b1
Rename classes to reduce redundant naming
2021-04-16 22:47:52 +09:00
smoogipoo
7d5d7088cd
Remove now unnecessary override
2021-04-16 20:51:07 +09:00
Christine Chen
b15838b220
Move storyboard outro logic to DrawableStoryboard
2021-04-16 00:59:10 -04:00
smoogipoo
1c086d99de
Add loading spinner
2021-04-16 13:28:32 +09:00
smoogipoo
5ac0eb02cd
Always add player instances at first, populate later
2021-04-16 12:25:29 +09:00
Christine Chen
45c2b72a25
Merge branch 'master' into play-storyboard-outro
2021-04-15 15:11:35 -04:00
Christine Chen
25b8c2f257
Allow skipping storyboard outro
...
Reuses SkipOverlay by calculating the endtime of the storyboard and using that as a "start point". Upon skipping the outro the score is instantly shown.
When the end of the storyboard is reached the score screen automatically shows up. If the player holds ESC (pause) during the outro, the score is displayed
The storyboard endtime is calculated by getting the latest endtime of the storyboard's elements, or simply returning 0 if there is no storyboard.
Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-15 13:20:40 -04:00
smoogipoo
b391a8f94e
Properly bind WaitingOnFrames
2021-04-15 19:37:45 +09:00
smoogipoo
33cc5c5cb3
A few more xmldocs
2021-04-15 19:35:57 +09:00
smoogipoo
82fcabb8f0
More refactorings/renamespacings/xmldocs
2021-04-15 19:32:55 +09:00
smoogipoo
df4fce2c57
Rename classes
2021-04-15 19:16:00 +09:00
smoogipoo
1705d472b5
Reimplement multiplayer syncing using new master/slave clocks
2021-04-15 19:12:52 +09:00
smoogipoo
33ad7850cb
Remove LastFrameTime
2021-04-15 16:45:59 +09:00
smoogipoo
6fc7488a67
Reimplement syncing logic as a new component
2021-04-15 16:33:59 +09:00
smoogipoo
774cca38c4
Make spectating instances use custom GCC
2021-04-14 20:39:14 +09:00
smoogipoo
69b01e7270
Add some debugging
2021-04-14 00:58:03 +09:00
smoogipoo
77830527e7
Fix spectate button being disabled during play
2021-04-13 23:57:16 +09:00
smoogipoo
d49b90877e
Fix operation remaining in progress
2021-04-13 23:21:48 +09:00
smoogipoo
3039b7b0f9
Make tests a bit more resilient
2021-04-13 22:40:24 +09:00
smoogipoo
20823abb30
Make resyncing a bit more resilient
2021-04-13 22:10:35 +09:00