smoogipoo
08d347f10b
Merge branch 'master' into multi-polling-request-refactor
2021-08-16 13:12:08 +09:00
Dean Herbert
b8c63eb1cb
Merge branch 'master' into multiplayer-kick-support-events
2021-08-14 14:08:34 +09:00
smoogipoo
c71a581106
Fix exception when leaving match
2021-08-13 18:24:19 +09:00
smoogipoo
8910781bcd
Move listing polling component to LoungeSubScreen
2021-08-13 17:39:09 +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
Dan Balasescu
88f70e7f29
Merge branch 'master' into multiplayer-kick-support-events
2021-08-12 12:12:06 +09:00
Dean Herbert
31608a1bc6
Leave the match screen when kicked
2021-08-11 19:57:10 +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
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
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
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
Dean Herbert
7774344f0e
Remove "Unranked" text from ModDisplay
2021-06-09 13:45:09 +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
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
smoogipoo
ed93e26e52
Use single method for starting/restarting spectator screen
2021-04-26 21:56:15 +09:00
Dean Herbert
aa99c192d0
Fix type in inline comment
2021-04-26 16:21:12 +09:00
smoogipoo
90ecda91af
Fix exception
2021-04-23 00:06:54 +09:00
smoogipoo
fd0b030cf4
Refactor gameplay screen creation
2021-04-22 23:37:33 +09:00
smoogipoo
d49b90877e
Fix operation remaining in progress
2021-04-13 23:21:48 +09:00
smoogipoo
6eddc6c59e
Enable spectating multiplayer matches
2021-04-09 21:03:50 +09:00
smoogipoo
93c5935ebc
Add match subscreen support + test
2021-04-07 20:46:30 +09:00
Dean Herbert
23a46819dc
Merge branch 'master' into multiplayer-confirm-on-exit
2021-03-03 20:35:31 +09:00
Dean Herbert
0f5bce70ad
Split confirmation dialog classes apart
2021-03-03 20:34:37 +09:00
Dean Herbert
0ede28da2f
Fix test failures due to missing dependency
2021-03-03 15:24:55 +09:00
Dean Herbert
cb4c3503a0
Confirm exiting a multiplayer match
2021-03-03 14:54:18 +09:00
Dean Herbert
d332fd2414
Handle case where local user tries to change beatmap while not the host
2021-03-03 14:53:47 +09:00
Dean Herbert
36e1fb6da8
Add flow to allow MatchSubScreen to handle beatmap presentation locally
2021-03-03 14:13:51 +09:00
Dean Herbert
4504023a23
Merge branch 'master' into playlists-freemod-support
2021-02-19 14:43:59 +09:00
Dean Herbert
df05c57f44
Merge branch 'master' into playlists-freemod-support
2021-02-19 14:35:20 +09:00
smoogipoo
bc10fcafae
Remove now unnecessary schedule
2021-02-19 13:23:51 +09:00
smoogipoo
2a1bb2f578
Fix selected item potentially changing during gameplay
2021-02-17 21:40:21 +09:00
smoogipoo
8930ff4465
Merge branch 'master' into multiplayer-no-playlist-mangling
2021-02-17 19:29:01 +09:00
Bartłomiej Dach
8f72631c31
Fix typo in comment
2021-02-16 21:48:19 +01:00
smoogipoo
3ff9e14e35
Make StatefulMultiplayerClient control current playlist item
2021-02-16 18:56:13 +09:00
smoogipoo
f25b5147ef
Select last playlist item in match subscreen
2021-02-16 15:37:45 +09:00
Dean Herbert
97a7572cb8
Move UserModSelectOverlay to RoomSubScreen for Playlists consumption
2021-02-16 15:14:48 +09:00
Dean Herbert
52e544aa67
Revert "Remove redundant double call to ValueChanged on UserMods change"
...
This reverts commit 9ed45ce1ca
.
2021-02-16 14:42:31 +09:00
Dean Herbert
9ed45ce1ca
Remove redundant double call to ValueChanged on UserMods change
2021-02-16 14:31:00 +09:00
Dean Herbert
0ca747b39f
Merge branch 'master' into fix-multiplayer-mod-propagation-race
2021-02-16 14:25:27 +09:00
Joehu
b28a906197
Fix extra mod settings overflowing from screen
2021-02-12 10:29:29 -08:00
Joehu
52975c5185
Remove hardcoded padding from main content
2021-02-12 10:23:33 -08:00
Dean Herbert
549e7520c5
Move scheduler logic to client callback rather than inside the update method
2021-02-11 16:00:52 +09:00
Dean Herbert
21f66a19fd
Make server authoritative in which mods the client should be using when gameplay starts
2021-02-11 15:55:18 +09:00
smoogipoo
86682cdb34
Add client/room null check
2021-02-10 20:16:26 +09:00
smoogipoo
6fff7c39da
Ensure tracker is disposed
2021-02-10 20:09:45 +09:00
smoogipoo
822c66033f
Add local-user freemod configuration
2021-02-10 19:56:59 +09:00
Dean Herbert
f338fa114b
Merge branch 'master' into user-beatmap-downloading-states-2
2021-02-05 18:02:40 +09:00
Dean Herbert
791cbb7f03
Don't reset ready state if the map is locally available
2021-02-05 17:17:29 +09:00
Dean Herbert
3e750feaa4
Subclass LocalPlayerModSelectOverlay to correctly deselect incompatible mods on free mod selection
2021-02-05 16:42:35 +09:00
Dean Herbert
be91f54349
Add back edge case with comment
2021-02-05 16:19:45 +09:00
Dean Herbert
9ba5ae3db7
Remove lots of unnecessary client side logic
2021-02-05 16:17:02 +09:00
Dean Herbert
9e9e382bee
Merge branch 'master' into user-beatmap-downloading-states-2
2021-02-05 15:27:17 +09:00
Dean Herbert
2fc3a97f56
Merge pull request #11516 from frenzibyte/ready-button-clean-up
...
Replace ready button beatmap logic with using `MultiplayerBeatmapTracker` instead
2021-02-05 15:09:25 +09:00
Dean Herbert
de8724b1f6
Use AddRangeInternal for simplicity, but disallow ClearInternal for safety
2021-02-05 14:39:25 +09:00
Salman Ahmed
78ea2d50bb
Merge branch 'master' into ready-button-clean-up
2021-02-05 07:23:11 +03:00
smoogipoo
df2da5950f
Add back vertical spacer
2021-02-05 13:09:13 +09:00
smoogipoo
21d5f842fc
Re-layout to reduce movement
2021-02-03 14:53:55 +09:00
smoogipoo
6453367a9c
Merge branch 'freemod-select-overlay' into freemods
2021-02-02 21:43:35 +09:00
smoogipoo
e5ca9b1e50
Remove usage of removed method
2021-02-01 19:28:33 +09:00
smoogipoo
9c4c47599f
Merge branch 'master' into freemods
2021-02-01 19:28:10 +09:00
smoogipoo
ee92ec0a5c
Disallow local user mod customisation
2021-02-01 18:54:47 +09:00
smoogipoo
51cb288717
Reduce mod selection height
2021-02-01 18:18:59 +09:00
smoogipoo
e134af82f5
Stack freemods for the local user
2021-02-01 18:16:38 +09:00
smoogipoo
3e74f8fd9e
Disable customisation of freemods, move stacking to property
2021-02-01 18:11:20 +09:00
smoogipoo
f538963607
Extra mods -> user mods
2021-02-01 17:57:32 +09:00
smoogipoo
ac2a995041
Add user and panel states
2021-02-01 17:54:56 +09:00
smoogipoo
4ae10b1e1c
Add initial UI for selecting extra mods
2021-02-01 13:40:59 +09:00
Dean Herbert
a61444690e
Remove all usage of CatchUnobservedExceptions
...
This should no longer be required with the recent framework side change
that stops a game from crashing on unobserved exceptions
(https://github.com/ppy/osu-framework/pull/4171 ).
2021-01-29 16:32:29 +09:00
Salman Ahmed
34612ae233
Forward internal management to a container alongside tracker
2021-01-19 20:01:22 +03:00
Mysfit
052e9eef02
Added inline comments
2021-01-19 09:16:39 -05:00
Mysfit
33677f5770
Use BindValueChanged to show main content for new multiplayer and playlist rooms when the settings overlay is hidden.
2021-01-19 08:52:43 -05:00
Mysfit
6d1d488831
Revert "Use the client.RoomUpdated action instead of binding the value of the settings overlay visibility and creating an event from it based on its ValueChanged action."
...
This reverts commit cbfb999c28
.
2021-01-19 08:24:14 -05:00
Mysfit
9b7187e3c8
Revert "Use fades instead of event listening. Fixed same issue in the playlist room creation."
...
This reverts commit 3a7608275d
.
2021-01-19 08:23:31 -05:00
Mysfit
3a7608275d
Use fades instead of event listening. Fixed same issue in the playlist room creation.
2021-01-19 00:35:56 -05:00
Mysfit
cbfb999c28
Use the client.RoomUpdated action instead of binding the value of the settings overlay visibility and creating an event from it based on its ValueChanged action.
2021-01-18 17:13:24 -05:00
Mysfit
5233a0449a
Hide main room subscreen on initial mp room creation. Toggle mp room subscreen visibility based on settings overlay visibility before room is created.
2021-01-18 16:08:06 -05:00
Salman Ahmed
e6ceaad732
Revert user state back to idle upon availability change
2021-01-18 17:23:51 +03:00
Salman Ahmed
4e6c1a3906
Update client beatmap availability in-line with tracker
2021-01-18 10:51:39 +03:00
Salman Ahmed
59ae50b0e5
Clean up ready button logic into using MultiplayerBeatmapTracker
2021-01-17 01:11:03 +03: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
Bartłomiej Dach
dad5dd3667
Remove unnecessary permissiveness wrt null
2021-01-08 22:21:54 +01: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
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
Bartłomiej Dach
db52255bbe
Adjust tracker usages to match new API
2020-12-29 08:20:43 +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
f68e4fc88f
Merge branch 'master' into disable-repeat-multi-actions
2020-12-29 07:42:20 +01: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
47ab7c9fd6
Disable ready button after host click
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
Bartłomiej Dach
83fb7c7a1a
Re-namespace all files in OnlinePlay directory
2020-12-25 16:50:09 +01:00