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
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
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
Dan Balasescu
c34c580ad4
Add client-side + interface implementation
2021-12-09 03:08:59 +09:00
Dan Balasescu
52230a6f00
Merge branch 'master' into multiplayer-delayed-playlist-load-broken
2021-12-07 22:45:05 +09:00
Dean Herbert
5ff452cc9a
Update success bool to access Exception
to stop exceptions from firing outwards
2021-12-06 12:29:11 +09:00
Dean Herbert
91aa38c4f6
Change playlist lookup to fail hard when failing
2021-12-06 12:28:48 +09:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store
2021-12-04 15:05:39 +01:00
Dan Balasescu
d5803e541b
Give playlist items a PlayedAt date
2021-12-03 20:25:51 +09:00
Dean Herbert
e75e209053
Cache and consume IRulesetStore
where feasible
2021-12-03 18:16:01 +09:00
Dan Balasescu
0a1304b92a
Remove gameplay_order, use existing playlist_order
2021-12-03 15:45:13 +09:00
Dan Balasescu
ba8af303cc
Add GameplayOrder to MultiplayerPlaylistItem
2021-12-02 22:33:14 +09:00
Dean Herbert
5976982b12
Add missing xmldoc for MultiplayerClient
events
2021-12-02 16:45:26 +09:00
Dean Herbert
624ec4580a
Ensure updateLocalRoomSettings
is only called after full population
2021-12-02 14:32:39 +09:00
Dean Herbert
a0ff86f5e8
Ensure all read and write operations on APIRoom
are done on the update thread
2021-12-01 22:43:03 +09:00
Dan Balasescu
89c47708a1
Merge branch 'master' into new-multiplayer-playlist
2021-12-01 21:35:23 +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
42ad726154
Merge branch 'master' into multiplayer-delayed-playlist-load-broken
2021-12-01 20:28:29 +09:00
Dan Balasescu
af704dfe5b
Merge pull request #15878 from peppy/beatmap-lookup-cache
...
Cache beatmap metadata lookups used by multiplayer
2021-12-01 20:13:21 +09:00
Dean Herbert
fe119da044
Add fetching of beatmap and user data when playlist panels come on screen
2021-11-30 19:52:36 +09:00
Bartłomiej Dach
23dd21339d
Delay online fetch of non-current playlist item on room join
2021-11-30 19:44:50 +09:00
Dean Herbert
01bc330d1c
Rename method to match new purpose
2021-11-30 19:42:46 +09:00
Dean Herbert
f58c5cd9c0
Update MultiplayerClient
to use BeatmapLookupCache
2021-11-30 19:36:25 +09:00
Dean Herbert
25b9575de0
Fix missing transfer of match type to settings
2021-11-30 17:09:40 +09:00
Dan Balasescu
8a941fa422
Add owner id to PlaylistItem
2021-11-25 21:41:03 +09:00
Dan Balasescu
79a8e60468
Resolve inspection
2021-11-23 17:55:04 +09:00
Dan Balasescu
7906ae2b1d
Update room immediately on join
2021-11-23 16:03:37 +09:00
Dan Balasescu
0633f3bcfe
Add owner id to playlist items
2021-11-22 16:35:58 +09:00
Dan Balasescu
f64d20ed71
Fix APIRoom queue mode not updated on change
2021-11-22 13:46:01 +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
f3f8ac2c43
Use single
2021-11-19 16:36:32 +09:00
Dan Balasescu
abb8b0de47
Also mutate multiplayer room playlist on callbacks
2021-11-19 16:35:45 +09:00
Dean Herbert
0c289bf8e5
Remove pointless namespace
2021-11-19 14:46:53 +09:00
Dan Balasescu
c8038df509
Fix CI inspections
2021-11-16 16:06:30 +09:00
Dan Balasescu
00f0321f25
Add nullable equality comparers
2021-11-16 15:44:47 +09:00
Dan Balasescu
29d0d5badf
Rename QueueModes -> QueueMode
2021-11-16 14:53:10 +09:00
Dan Balasescu
01f3649d75
Rename variables for readability
2021-11-16 14:44:47 +09:00
Dan Balasescu
9076519710
Give MultiplayerRoom a playlist, remove RequestAllPlaylistItems()
2021-11-16 14:13:43 +09:00
Dan Balasescu
f0593115b2
Remove RemovePlaylistItem() server method for the time being
2021-11-16 12:08:53 +09:00
Dan Balasescu
f743a3647f
Rename APIPlaylistItem -> MultiplayerPlaylistItem
2021-11-15 23:14:27 +09:00
Dan Balasescu
ce47f456ec
Change API for retrieving playlist items on join
2021-11-13 04:42:14 +09:00
Dan Balasescu
dbc23e224f
Fix further test failures
2021-11-13 03:34:45 +09:00
Dan Balasescu
07a7b4bcdc
Merge branch 'master' into multi-queueing-modes
2021-11-11 22:19:30 +09:00
Dean Herbert
16418ac2ab
Remove outdated comments
2021-11-11 14:02:12 +09:00
Dan Balasescu
1bc6a58528
Fix RoomUpdated() not invoked on item changes
2021-11-10 21:23:18 +09:00
Dan Balasescu
78793d8624
Update interface to remove items
2021-11-10 19:58:25 +09:00
smoogipoo
c716051530
Merge branch 'master' into multi-queueing-modes
2021-11-08 19:19:50 +09:00
Dean Herbert
0ecf5f201c
Rename User
to APIUser
and move to correct namespace
2021-11-07 11:26:01 +09:00
smoogipoo
7bbb2a7a67
Fix post-merge issues
2021-11-05 15:57:32 +09:00
smoogipoo
e6deb0c873
Merge branch 'master' into multi-queueing-modes
2021-11-05 15:57:25 +09:00
Dean Herbert
0ab50f1cc9
Add inline comment explaining why we are manually populating beatmap.BeatmapSet
2021-11-04 13:45:59 +09:00
Dean Herbert
3453160a8b
Change PlaylistItem.Beatmap
to be an IBeatmapInfo
2021-11-04 13:16:56 +09:00
Dean Herbert
135df0e190
Avoid adding null users to RecentParticipants
2021-11-02 17:13:37 +09:00
Dean Herbert
b0bd39fc49
Fix multiplayer room participants display not updating as new users join/leave
...
Can add tests on request, but not sure the code around this area is here
to stay permanently. Should be pretty low risk.
- Closes https://github.com/ppy/osu/issues/14788 .
2021-11-02 17:13:37 +09:00
smoogipoo
2408011c81
Don't replace identical playlist items
2021-10-29 16:44:51 +09:00
smoogipoo
42dfb341da
Fix PlaylistItemChanged() not updating current item
2021-10-29 15:44:42 +09:00
smoogipoo
7d910ebb57
Add SignalR binding for PlaylistItemChanged
2021-10-22 22:37:08 +09:00
smoogipoo
76eff7f6b1
Fix incorrect indexing
2021-10-22 21:57:29 +09:00
smoogipoo
6775151c30
Add Expired bool to APIPlaylistItem
2021-10-22 21:36:36 +09:00
smoogipoo
ec02e16c81
Add playlist item change event
2021-10-22 20:53:45 +09:00
smoogipoo
db87e42d47
Remove beatmap/ruleset/etc from MultiplayerRoomSettings
2021-10-22 16:48:28 +09:00
smoogipoo
a1c9b56083
Rename modes
2021-10-22 12:55:37 +09:00
smoogipoo
f41cf822b0
Rename request
2021-10-21 17:02:11 +09: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
0b8edb0812
Add english descriptions
2021-10-20 17:50:02 +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
smoogipoo
6f89e30f56
Add QueueingMode to MultiplayerRoomSettings
2021-10-15 20:17:19 +09:00
smoogipoo
80dfd11c90
Remove unnecessary extra task
...
Further testing shows continuations also run before the .Wait() returns.
2021-10-15 13:28:02 +09:00
smoogipoo
e6ee360511
Fix intermittent multiplayer tests
2021-10-15 00:10:39 +09:00
smoogipoo
2784ba1423
Add queueing modes
2021-10-14 16:34:23 +09:00
Dean Herbert
e1ab3434ed
Add ability to handle user join/leave/kick events in MultiplayerComposite
s
2021-08-25 14:37:14 +09:00
Dean Herbert
bc025efce5
Add commenting regarding workaround to avoid potential omission in the future
2021-08-19 17:42:44 +09:00
Dean Herbert
2b5a42e063
Add missing union specification for MatchUserRequest
2021-08-19 17:42:26 +09:00
Dean Herbert
f95c6f0de5
Switch multiplayer back to messagepack
2021-08-19 17:42:13 +09:00
Bartłomiej Dach
498462dfd0
Fix room null-check racing against async schedule
2021-08-14 17:44:41 +02:00
Dean Herbert
9b21ebd6d0
Add client side handling on incoming kick
2021-08-11 19:56:06 +09:00
Dean Herbert
d9a4f018e6
Add event flow for receiving kick commands
2021-08-11 19:56:06 +09:00
Dean Herbert
e8ad0fba75
Add required server methods for kicking users
2021-08-11 17:20:41 +09:00
Dean Herbert
2b9168157d
Fix CurrentMatchPlayingItem
not being reset on leaving a multiplayer room
2021-08-10 16:53:03 +09:00
Dean Herbert
ea6e441dec
Simplify method of marking players as playing in test scenes
2021-08-09 19:21:22 +09:00
Dean Herbert
8dc167ac9a
Set default MultiplayerRoomSettings
type to something that isn't playlists
2021-08-06 18:56:01 +09:00
Dean Herbert
666007b2f9
Merge branch 'master' into multiplayer-team-vs-team-selection
2021-08-04 13:54:11 +09:00
Dean Herbert
401835a3d8
Add missing event glue
2021-08-04 13:13:47 +09:00
Dean Herbert
75426f84f1
Fire initial match user states in TestMultiplayerClient
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
70da58323a
Drop MatchRuleset
terminology completely
2021-08-03 15:45:17 +09:00
Dean Herbert
66427127f0
Update naming in line with discussion
2021-08-03 15:09:03 +09:00
Dean Herbert
5ac3abac99
Add missing forceScheduled
parameter
2021-08-03 14:53:04 +09:00
Dean Herbert
d93421b9b8
Expose a default TeamVs
room state so it can be consumed by tests
2021-08-02 18:50:22 +09:00
Dean Herbert
c7274355a4
Remove abstract
definitions from multiplayer states for now
2021-08-02 18:50:22 +09:00
Dean Herbert
617ff40de7
Add the ability to not use MessagePack when creating a HubConnector
2021-08-02 18:50:22 +09:00
Dean Herbert
4cf2c6188d
Add union attributes for derived class deserialisation
2021-08-02 18:50:22 +09:00
Dean Herbert
ce92a47ec6
Add silly event handling hookups
2021-08-02 18:50:22 +09:00