1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 16:37:26 +08:00
Commit Graph

35783 Commits

Author SHA1 Message Date
Dean Herbert
3148c04fb8 Play a sound when starting a timeshift or multiplayer room 2020-12-24 16:53:25 +09:00
Dean Herbert
6bd6888a93 Disallow skipping in multiplayer for now 2020-12-24 16:29:51 +09:00
Dean Herbert
5457e4598b Schedule UpdateFilter calls to avoid operations occuring while at a sub screen 2020-12-24 16:20:38 +09:00
Dean Herbert
e86e9bfae6 Don't begin gameplay until all users are in a completely prepared state 2020-12-24 15:32:55 +09:00
Dean Herbert
d66e218318 Source display accuracy from header and remove from ScoreProcessor function 2020-12-24 14:57:23 +09:00
Dean Herbert
1f80f01b53 Add accuracy to frame bundle header 2020-12-24 14:46:52 +09:00
Dean Herbert
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
Dean Herbert
61a5d3ef4a Remove double handling of restart allowance on results screen (already handled locally) 2020-12-24 13:32:35 +09:00
Dean Herbert
76935b93b6 Merge branch 'master' into disallow-multiplayer-restart-retry 2020-12-24 13:31:54 +09:00
Dean Herbert
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
Dean Herbert
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
Dean Herbert
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
Dean Herbert
547c71bdaf
Merge pull request #11274 from bdach/create-match-button
Split create game buttons for timeshift and realtime multiplayer
2020-12-24 11:07:36 +09:00
Dean Herbert
a411b26a09
Remove unnecessary clamp
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2020-12-24 10:51:24 +09:00
Dean Herbert
d6dadd12fa Send multiplayer user IDs via ctor for better thread safety 2020-12-24 10:39:15 +09:00
Lucas A
06bc3cd54d Apply review suggestions. 2020-12-24 00:17:26 +01:00
Bartłomiej Dach
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
Bartłomiej Dach
c13acb609a Move out sizing logic to multiplayer screen 2020-12-23 22:03:30 +01:00
Bartłomiej Dach
05d9f23762 Move out create room button to separate class 2020-12-23 22:03:30 +01:00
Bartłomiej Dach
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
Bartłomiej Dach
47020c8887 Add failing test cases 2020-12-23 21:00:47 +01:00
Bartłomiej Dach
9843da59f4 Fix intermittent test fail due to duplicate user
`TestSceneRealtimeReadyButton` was manually adding `API.LocalUser`,
which wasn't actually needed. The base `RealtimeMultiplayerTestScene` by
default creates a new room as `API.LocalUser`, therefore automatically
adding that user to the room - and as such there is no need to add them
manually unless the `joinRoom` ctor param is specified as `false`.
2020-12-23 20:29:17 +01:00
Bartłomiej Dach
152df2ad84
Merge branch 'master' into better-error-handling 2020-12-23 18:13:50 +01:00
Bartłomiej Dach
e7a91b3dca
Merge branch 'master' into fix-room-song-select-stuck 2020-12-23 18:13:27 +01:00
Bartłomiej Dach
3087aba5bc
Merge pull request #11266 from peppy/fix-hard-crash-on-signal-r-exceptions 2020-12-23 18:12:43 +01:00
Bartłomiej Dach
b1fb906773 Merge branch 'master' into fix-hard-crash-on-signal-r-exceptions 2020-12-23 17:37:49 +01:00
Bartłomiej Dach
2549039362
Merge pull request #11265 from peppy/fix-multiplayer-server-disconnection-flow 2020-12-23 17:35:53 +01:00
Dean Herbert
e89583d732 Prefer connecting to dev server when running in DEBUG 2020-12-24 01:33:19 +09:00
Bartłomiej Dach
e4959489b7 Improve user-facing error messages in room settings 2020-12-23 17:10:53 +01:00
Bartłomiej Dach
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
Bartłomiej Dach
6c421b873d
Merge branch 'master' into fix-multiplayer-server-disconnection-flow 2020-12-23 16:55:22 +01:00
Bartłomiej Dach
980e85ce25 Refactor player exit logic to convey intention better 2020-12-23 16:16:24 +01:00
Dean Herbert
4296f61d6c Tidy up event flow of change settings call 2020-12-23 22:39:14 +09:00
Dean Herbert
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
Bartłomiej Dach
c5692a5d6a Re-enable carousel selection after error 2020-12-23 14:19:30 +01:00
Bartłomiej Dach
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
Lucas A
78b8c60f19 Opt for SingleInstance launch mode 2020-12-23 13:38:33 +01:00
Bartłomiej Dach
74f0c50d82 Merge branch 'fix-multiplayer-server-disconnection-flow' into fix-hard-crash-on-signal-r-exceptions 2020-12-23 13:31:36 +01:00
Lucas A
ea5da53597 Handle URL links with the osu scheme. 2020-12-23 13:31:27 +01:00
Bartłomiej Dach
c839892a4c Merge branch 'master' into fix-multiplayer-server-disconnection-flow 2020-12-23 11:57:43 +01:00
Bartłomiej Dach
94e4928c4b Bring back accidentally-removed license header 2020-12-23 11:27:15 +01:00
Bartłomiej Dach
2b818f149d
Merge pull request #11253 from peppy/realtime-leaderboard 2020-12-23 10:31:44 +01:00
Dean Herbert
f9fd909187 Fix missed inspections 2020-12-23 18:07:38 +09:00
Bartłomiej Dach
64095307de
Merge branch 'master' into realtime-leaderboard 2020-12-23 09:56:47 +01:00
Dean Herbert
3c8f871b28 Move player constructor configuration to dedicated class; add AllowRestart parameter 2020-12-23 17:47:46 +09:00
Dean Herbert
0ddcab574f Rename method to avoid weird code analysis rule 2020-12-23 17:14:58 +09:00
Dean Herbert
7cc38f03d1 Use extension method in all call sites of fire-and-forget async usage 2020-12-23 17:10:34 +09:00
Dean Herbert
1864da00e6 Add extension method to handle cases of fire-and-forget async usage 2020-12-23 17:10:02 +09:00
Dean Herbert
c3c3364d39 Simplify error handling of JoinRoom call 2020-12-23 16:56:57 +09:00
Dean Herbert
d27b83d678 More correctly handle fire-and-forget async call 2020-12-23 16:51:11 +09:00