Commit Graph

173 Commits

Author SHA1 Message Date
ee92ec0a5c Disallow local user mod customisation 2021-02-01 18:54:47 +09:00
89a42d60fb General cleanup 2021-02-01 18:50:32 +09:00
3a906a89fc Pin mod position in participant panels 2021-02-01 18:27:15 +09:00
51cb288717 Reduce mod selection height 2021-02-01 18:18:59 +09:00
e134af82f5 Stack freemods for the local user 2021-02-01 18:16:38 +09:00
3e74f8fd9e Disable customisation of freemods, move stacking to property 2021-02-01 18:11:20 +09:00
3cd30d284e Renamespace 2021-02-01 18:08:49 +09:00
f538963607 Extra mods -> user mods 2021-02-01 17:57:32 +09:00
ac2a995041 Add user and panel states 2021-02-01 17:54:56 +09:00
0909c73ead Once again disallow DT/etc as allowable mods 2021-02-01 15:07:56 +09:00
b43e529964 Fix allowed mods being copied into required mods 2021-02-01 15:07:43 +09:00
426569c2a9 Move common song select implementation for online play 2021-02-01 14:57:39 +09:00
4ae10b1e1c Add initial UI for selecting extra mods 2021-02-01 13:40:59 +09:00
e02e3cf19a Disallow selecting DT/HT/WU/WD as allowable freemods 2021-02-01 13:35:48 +09:00
797a810287 Allow unstacking mods 2021-02-01 13:24:56 +09:00
230b347c1e Move ModSelectOverlay.IsValidMod to a property 2021-02-01 12:18:11 +09:00
90ba8ae234 Don't part room if join task was cancelled 2021-01-30 23:39:01 +01:00
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
b79d1c7b81 Add mods to footer 2021-01-27 22:33:03 +09:00
ff8ee379fb Fix possible nullref 2021-01-27 22:27:31 +09:00
4c256f1fb3 Actually populate the playlist item 2021-01-27 22:23:38 +09:00
45e41aaeac Initial implementation of freemod selection overlay 2021-01-27 22:15:53 +09:00
7da7079ef2 Merge pull request #11537 from Mysfit/mp-initial-creation-screen-fix
Fix match/playlist room screen showing briefly behind initial room settings window on creation.
2021-01-20 22:05:14 +09:00
34612ae233 Forward internal management to a container alongside tracker 2021-01-19 20:01:22 +03:00
052e9eef02 Added inline comments 2021-01-19 09:16:39 -05:00
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
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
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
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
3a7608275d Use fades instead of event listening. Fixed same issue in the playlist room creation. 2021-01-19 00:35:56 -05:00
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
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
e6ceaad732 Revert user state back to idle upon availability change 2021-01-18 17:23:51 +03:00
0b165dce4b Fix multiplayer mod select showing autoplay as a choice 2021-01-18 17:50:32 +09:00
6deb10e075 Add UI state display for each client's beatmap availability 2021-01-18 11:10:02 +03:00
4e6c1a3906 Update client beatmap availability in-line with tracker 2021-01-18 10:51:39 +03:00
59ae50b0e5 Clean up ready button logic into using MultiplayerBeatmapTracker 2021-01-17 01:11:03 +03:00
67b5ebadf5 Merge branch 'master' into fix-is-connected-thread-safety 2021-01-15 12:56:21 +09:00
3e8732a59f Merge branch 'master' into fix-participants-list 2021-01-14 21:30:53 +09:00
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
7298adc9d9 Fix non-threadsafe usage of MultiplayerClient.IsConnected 2021-01-12 19:04:16 +09:00
422260797b Revert polling changes to fix participant list display
It turns out this polling was necessary to get extra data that isn't
included in the main listing request. It was removed deemed useless, and
in order to fix the order of rooms changing when selecting a room.
Weirdly, I can't reproduce this happening any more, and on close
inspection of the code can't see how it could happen in the first place.

For now, let's revert this change and iterate from there, if/when the
same issue arises again.

I've discussed avoiding this second poll by potentially including more
data (just `user_id`s?) in the main listing request, but not 100% sure
on this - even if the returned data is minimal it's an extra join
server-side, which could cause performance issues for large numbers of
rooms.
2021-01-12 17:26:00 +09:00
b69fe8a274 Merge branch 'master' into disable-repeat-multi-actions 2021-01-09 10:15:20 +09:00
dad5dd3667 Remove unnecessary permissiveness wrt null 2021-01-08 22:21:54 +01:00
edd328c8fe Move bindable closer to source class 2021-01-08 17:24:55 +09:00
54982dcdd7 Refactor LoadingLayer to avoid applying effects to external drawables
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.

This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.

The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).

I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00
deb1ad7bca Merge branch 'master' into disable-repeat-multi-actions 2021-01-04 23:38:29 +09:00
7d9a61fbc1 Handle unobserved exceptions from ready button properly 2020-12-31 11:57:13 +01:00
f800448c87 Move game start logic to a higher level 2020-12-30 18:15:48 +01:00
d34609b98e Rename On{ToggleReady -> ReadyClick} 2020-12-30 16:29:36 +01:00