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
d6dadd12fa
Send multiplayer user IDs via ctor for better thread safety
2020-12-24 10:39:15 +09: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
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
b1fb906773
Merge branch 'master' into fix-hard-crash-on-signal-r-exceptions
2020-12-23 17:37:49 +01:00
Bartłomiej Dach
e4959489b7
Improve user-facing error messages in room settings
2020-12-23 17:10:53 +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
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
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
Bartłomiej Dach
c839892a4c
Merge branch 'master' into fix-multiplayer-server-disconnection-flow
2020-12-23 11:57:43 +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
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
Dean Herbert
91021eb8c4
Remove unused using
2020-12-23 16:49:17 +09:00
Dean Herbert
f5d27b40a8
Standardise flow for aborting realtime player exit to avoid double-exit call
2020-12-23 16:35:39 +09:00
Dean Herbert
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
Dean Herbert
a1d42dc4a0
Don't allow creating or joining a room when not connected to server
2020-12-23 16:35:39 +09:00
Dean Herbert
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
Salman Ahmed
286884421d
Apply track looping and play on track change
2020-12-23 08:47:34 +03:00
Dean Herbert
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
Dean Herbert
45dcd3242d
Add comment explaining why things are done where they are
2020-12-23 13:57:48 +09:00
Salman Ahmed
3aa2b22838
Add early check for room status before joining
2020-12-23 05:52:10 +03:00
Salman Ahmed
7751ef4f3e
Revert previous logic of join guarding
2020-12-23 05:50:15 +03:00
Bartłomiej Dach
08d87ccb1e
Merge branch 'master' into present-recommended
2020-12-22 23:36:13 +01:00
Bartłomiej Dach
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
Bartłomiej Dach
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
Salman Ahmed
a64ffcd294
Refrain from joining room if not allowed
2020-12-22 16:38:10 +03:00
Salman Ahmed
91d5c53643
Add method for checking room joinability
2020-12-22 16:36:17 +03:00
Salman Ahmed
e3483147e2
Move track looping logic into subscreens
2020-12-22 13:55:46 +03:00
Dean Herbert
6517acc510
Add leaderboard display to realtime player
2020-12-22 19:10:08 +09:00
Dean Herbert
ce806dd880
Replace the ready mark display with a state display, showing all participant states
2020-12-22 18:25:45 +09:00
Dean Herbert
3c33ea7f1c
Merge pull request #11239 from smoogipoo/realtime-multiplayer-2
...
Implement realtime multiplayer
2020-12-22 18:23:03 +09:00
Dean Herbert
59734229ff
Remove unused using
2020-12-22 17:21:53 +09:00
Dean Herbert
30357a9447
Add loading layer to multi song select to show during settings confirmation
2020-12-22 17:08:04 +09:00
Dean Herbert
12876d7fb6
Add very basic error handling on ChangeSettings calls
2020-12-22 16:50:30 +09:00
smoogipoo
2d7174d99c
Add padding to song select
2020-12-22 16:23:06 +09:00
Dean Herbert
3cf889b7c5
Fix some errors being completely ignored
2020-12-22 16:19:19 +09:00
Dean Herbert
17d924c755
Move timeshift settings overlay to correct namespace
2020-12-22 15:52:47 +09:00
Dean Herbert
8201fa8e34
Split out common implementation and private classes in MatchSettingsOverlay
2020-12-22 15:51:24 +09:00
smoogipoo
27e64bdb34
Schedule callback continuations
2020-12-22 15:31:07 +09:00
smoogipoo
ab90db7c8d
Fix stuck lounge on join failure
2020-12-22 15:27:49 +09:00
Dean Herbert
85e93c5dde
Fix main menu multiplayer icons being back to front
2020-12-22 15:22:27 +09:00
smoogipoo
81e2edc73f
Use MRE with timeout to wait on match start
2020-12-22 14:59:11 +09:00
smoogipoo
dece41d050
Add todo
2020-12-22 14:58:47 +09:00
smoogipoo
3bf670510a
Split into two actions
2020-12-22 14:55:25 +09:00
Dean Herbert
df5e1d83bd
Allow recommender to potentially be null
2020-12-22 14:36:52 +09:00
Dean Herbert
8cc2ed3fae
Move from OsuGameBase to OsuGame
...
Also moves to a more suitable namespace.
2020-12-22 14:28:27 +09:00
Dean Herbert
626b7615ad
Move and rename some fields for better readability
2020-12-22 14:23:33 +09:00
Dean Herbert
dff865f335
Tidy up comments, code, and multiple linq enumeration
2020-12-22 14:12:02 +09:00
Dean Herbert
d229fbba6e
Merge branch 'master' into present-recommended
2020-12-22 13:52:29 +09:00
Dean Herbert
9de42f8646
Merge pull request #11238 from peppy/editor-timeline-selection-ux
...
Improve drag and selection UX on editor timeline
2020-12-22 12:58:24 +09:00
smoogipoo
0566ed1a9b
Add button to main menu
2020-12-21 18:38:44 +09:00
Dean Herbert
423c6158e1
Highlight timeline drag area when hovered for better visibility
2020-12-21 18:10:11 +09:00
Dean Herbert
d1be7c23d9
Increase height of timeline drag area
2020-12-21 18:09:56 +09:00
Dean Herbert
d11d754715
Increase size of circle display on timeline
2020-12-21 18:09:37 +09:00
Dean Herbert
83f1350d7d
Fix editor background not being correctly cleaned up on forced exit
...
Closes #11214 . Should be pretty obvious why.
2020-12-21 17:49:11 +09:00
smoogipoo
9fa1f60b7d
Fix incorrect footer being used
2020-12-21 17:31:15 +09:00
Dean Herbert
1dcee2fb39
Merge pull request #11228 from smoogipoo/nullable-endsat
...
Make room Duration/EndDate nullable
2020-12-21 17:24:40 +09:00
smoogipoo
14ea49a14d
Merge branch 'nullable-endsat' into realtime-multiplayer-2
2020-12-21 16:22:16 +09:00
smoogipoo
dbffe735de
Merge branch 'master' into realtime-multiplayer-2
2020-12-21 16:22:14 +09:00
smoogipoo
a59124dd93
Make room duration/endsat nullable
2020-12-21 16:18:39 +09:00
smoogipoo
82cf58353c
Fix incorrect joinedroom null checks
2020-12-21 15:38:20 +09:00
Dean Herbert
27623822c4
Merge branch 'master' into realtime-ready-button
2020-12-21 11:19:03 +09:00
Bartłomiej Dach
bcd140b8df
Merge branch 'master' into realtime-ready-button
2020-12-20 18:20:57 +01:00
Bartłomiej Dach
b76ec79a70
Merge branch 'master' into realtime-participants-list
2020-12-20 18:20:22 +01:00
Bartłomiej Dach
4e8e4f0343
Merge branch 'master' into realtime-room-composite
2020-12-20 17:46:10 +01:00
smoogipoo
b31f4e9e85
Merge branch 'stateful-multiplayer-client' into realtime-multiplayer-2
2020-12-21 00:41:42 +09:00
smoogipoo
d127494c2d
Fix thread-unsafe room removal
2020-12-21 00:39:31 +09:00
smoogipoo
3af702453f
Implement realtime match song select
2020-12-21 00:37:13 +09:00
smoogipoo
275efd12b8
Fix room manager reference
2020-12-21 00:21:48 +09:00
smoogipoo
15480c006b
Create the correct room subscreen
2020-12-21 00:21:30 +09:00
smoogipoo
5b4197a9ef
Disable watching replays from realtime results screen
2020-12-21 00:14:54 +09:00
smoogipoo
07077b8f4e
Add realtime player
2020-12-21 00:13:05 +09:00
smoogipoo
945ba59c8e
Make timeshift player able to not allow pause
2020-12-21 00:06:44 +09:00
smoogipoo
1fdc19ee0f
Add realtime match subscreen and related components
2020-12-21 00:05:38 +09:00
smoogipoo
55cdff5be7
Renamespace ready button
2020-12-20 23:54:04 +09:00
smoogipoo
a1ba4b6979
Split MatchSubScreen into abstract component + timeshift implementation
2020-12-20 23:40:19 +09:00
smoogipoo
b9e4a7196e
Add realtime lounge subscreen
2020-12-20 23:36:56 +09:00
smoogipoo
455a84c73f
Add realtime multiplayer screen
2020-12-20 23:32:57 +09:00
smoogipoo
fdfe3c2b36
Merge branch 'realtime-ready-button' into realtime-multiplayer-2
2020-12-20 23:11:06 +09:00
smoogipoo
a2ad0b0329
Merge branch 'realtime-participants-list' into realtime-multiplayer-2
2020-12-20 23:11:06 +09:00
smoogipoo
594db76cf3
Fix compilation errors
2020-12-20 23:10:45 +09:00
smoogipoo
4ada0e17c0
Merge branch 'abstract-room-manager' into stateful-multiplayer-client
2020-12-20 23:10:05 +09:00
smoogipoo
c33e693b8e
Refactor InitialRoomsReceived to avoid extra bindables
2020-12-20 23:05:17 +09:00
smoogipoo
f876a329b1
Fire-and-forget leave-room request
2020-12-20 22:51:33 +09:00
smoogipoo
b002c46666
Add number of ready users to button
2020-12-20 18:49:51 +09:00
smoogipoo
19db35501e
Fix incorrect end date usage in timeshift ready button
2020-12-20 18:44:36 +09:00
smoogipoo
ce2560b545
Extract value into const
2020-12-20 18:36:31 +09:00
smoogipoo
45107280a0
Make TimeBetweenPolls into a bindable
2020-12-20 18:34:54 +09:00