c35454081c
Add sound when players change ready state
2020-12-24 17:17:45 +09:00
43370d7021
Merge pull request #11273 from bdach/duplicate-user-in-mp-room
...
Improve reliability of handling user joined messages
2020-12-24 14:31:44 +09:00
b29a5e2073
Merge pull request #11270 from bdach/better-error-handling
...
Improve error handling at realtime room settings screen
2020-12-24 13:23:49 +09:00
15cef44351
Merge pull request #11275 from peppy/safer-user-ids
...
Send multiplayer user IDs via ctor for better thread safety
2020-12-24 12:20:48 +09:00
1ac93d4eeb
Merge pull request #11268 from bdach/fix-room-song-select-stuck
...
Fix realtime multiplayer song select getting stuck after selecting invalid beatmap
2020-12-24 11:26:07 +09:00
d6dadd12fa
Send multiplayer user IDs via ctor for better thread safety
2020-12-24 10:39:15 +09:00
414f886b02
Split timeshift & multiplayer "create" buttons
...
Multiplayer button gets new, different "Create match" text, and disable
logic in case of a dropped connection to the multiplayer server.
2020-12-23 22:03:57 +01:00
c13acb609a
Move out sizing logic to multiplayer screen
2020-12-23 22:03:30 +01:00
05d9f23762
Move out create room button to separate class
2020-12-23 22:03:30 +01:00
a71496bc4e
Sanity check received user joined messages
...
While test failures fixed in 9843da5
were a shortcoming of the test,
they exposed a potential vulnerable point of the multiplayer client
logic. In case of unreliable message delivery it is not unreasonable
that duplicate messages might arrive, in which case the same scenario
that failed in the tests could crash the game.
To ensure that is not the case, explicitly screen each new joined user
against the room user list, to ensure that duplicates do not show up.
`UserLeft` is already tolerant in that respect (if a user is requested
to be removed twice by the server, the second removal just won't do
anything).
2020-12-23 21:00:49 +01:00
47020c8887
Add failing test cases
2020-12-23 21:00:47 +01:00
152df2ad84
Merge branch 'master' into better-error-handling
2020-12-23 18:13:50 +01:00
e7a91b3dca
Merge branch 'master' into fix-room-song-select-stuck
2020-12-23 18:13:27 +01:00
b1fb906773
Merge branch 'master' into fix-hard-crash-on-signal-r-exceptions
2020-12-23 17:37:49 +01:00
e4959489b7
Improve user-facing error messages in room settings
2020-12-23 17:10:53 +01:00
3b0bf11366
Fix JoinRoom failing to return canceled token
...
As it turns out, `Task.FromCanceled` expects to receive an already
cancelled `CancellationToken`, which `CancellationToken.None` is not.
2020-12-23 17:01:01 +01:00
6c421b873d
Merge branch 'master' into fix-multiplayer-server-disconnection-flow
2020-12-23 16:55:22 +01:00
980e85ce25
Refactor player exit logic to convey intention better
2020-12-23 16:16:24 +01:00
4296f61d6c
Tidy up event flow of change settings call
2020-12-23 22:39:14 +09:00
60be1bedc9
Merge pull request #11254 from frenzibyte/fix-multi-songselect-looping
...
Fix beatmap track not looping on multiplayer song selects
2020-12-23 22:35:11 +09:00
c5692a5d6a
Re-enable carousel selection after error
2020-12-23 14:19:30 +01:00
582b0d2a74
Revert logic to be closer to original
...
Note the reversal of the order of operations in `endHandlingTrack()`
(done for extra safety, to ensure no more value changed events can be
fired at the point of cancelling looping).
2020-12-23 13:47:28 +01:00
74f0c50d82
Merge branch 'fix-multiplayer-server-disconnection-flow' into fix-hard-crash-on-signal-r-exceptions
2020-12-23 13:31:36 +01:00
c839892a4c
Merge branch 'master' into fix-multiplayer-server-disconnection-flow
2020-12-23 11:57:43 +01:00
94e4928c4b
Bring back accidentally-removed license header
2020-12-23 11:27:15 +01:00
64095307de
Merge branch 'master' into realtime-leaderboard
2020-12-23 09:56:47 +01:00
0ddcab574f
Rename method to avoid weird code analysis rule
2020-12-23 17:14:58 +09:00
7cc38f03d1
Use extension method in all call sites of fire-and-forget async usage
2020-12-23 17:10:34 +09:00
1864da00e6
Add extension method to handle cases of fire-and-forget async usage
2020-12-23 17:10:02 +09:00
c3c3364d39
Simplify error handling of JoinRoom call
2020-12-23 16:56:57 +09:00
d27b83d678
More correctly handle fire-and-forget async call
2020-12-23 16:51:11 +09:00
91021eb8c4
Remove unused using
2020-12-23 16:49:17 +09:00
d7279dab40
Merge pull request #11226 from peppy/fix-legacy-skin-texture-loader-store
...
Fix incorrectly provided texture loader store to skins
2020-12-23 16:41:01 +09:00
f5d27b40a8
Standardise flow for aborting realtime player exit to avoid double-exit call
2020-12-23 16:35:39 +09:00
569c4092ef
Move notification to stateful client so it is only shown to the user from one location
2020-12-23 16:35:39 +09:00
a1d42dc4a0
Don't allow creating or joining a room when not connected to server
2020-12-23 16:35:39 +09:00
12df3056e6
Ensure appropriate screens handle exiting when the server gets disconnected
...
I would have liked for this to be handled via the `OnRoomChanged` event
flow, but this isn't present in RealtimeMatchSubScreen due to
inheritence woes.
2020-12-23 16:35:39 +09:00
00d50150de
Ensure the current room is left at a mutliplayer client level on client disconnection
2020-12-23 16:35:39 +09:00
286884421d
Apply track looping and play on track change
2020-12-23 08:47:34 +03:00
b632e44bac
Merge pull request #11256 from frenzibyte/disallow-joining-ended-realtime-room
...
Disallow joining ended rooms in realtime multiplayer
2020-12-23 14:30:00 +09:00
be427a4ec0
Fix realtime leaderboard showing accuracy based on final base score, not rolling
2020-12-23 14:20:35 +09:00
45dcd3242d
Add comment explaining why things are done where they are
2020-12-23 13:57:48 +09:00
3aa2b22838
Add early check for room status before joining
2020-12-23 05:52:10 +03:00
7751ef4f3e
Revert previous logic of join guarding
2020-12-23 05:50:15 +03:00
08d87ccb1e
Merge branch 'master' into present-recommended
2020-12-22 23:36:13 +01:00
3272804704
Fix potential crash when no submission token
...
Can happen because `TimeshiftPlayer` will schedule a screen exit on
token retrieval failure, and `RealtimePlayer`'s BDL won't even attempt
to create a leaderboard in that case.
2020-12-22 22:34:26 +01:00
3ae9dd8491
Merge branch 'master' into show-all-participant-states
2020-12-22 21:50:36 +01:00
5efc3b9496
Start state display as hidden
...
Would otherwise flicker for a few frames when a new user was added to
the list of participants.
2020-12-22 21:49:42 +01:00
a64ffcd294
Refrain from joining room if not allowed
2020-12-22 16:38:10 +03:00
91d5c53643
Add method for checking room joinability
2020-12-22 16:36:17 +03:00