1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-25 02:42:54 +08:00
Commit Graph

151 Commits

Author SHA1 Message Date
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 MultiplayerRoomUsers instead of ints to avoid re-retrieval 2021-08-10 18:39:20 +09:00
Dan Balasescu
0557761e51
Merge pull request 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 .

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 () 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 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