Bartłomiej Dach
fb2293821a
Allow watching replay from multi/playlist results screens
2023-10-16 11:20:02 +02:00
Dean Herbert
56e27f1c27
Merge branch 'master' into multiplayer-invites
2023-10-12 18:17:15 +09:00
Dean Herbert
94d7a65e40
Schedule Join
operations rather than using OnLoadComplete
for added safety
2023-10-12 17:42:02 +09:00
Dean Herbert
100c0cf533
Fix MultiplayerPlayer
never calling Reset
on GameplayClockContainer
...
This call is responsible for ensuring the clock is in a stopped state.
2023-10-10 17:58:37 +09:00
Marvin Schürz
6d97f89399
Rename OnlinePlayScreen.LoungeSubScreen
to Lounge
2023-10-04 08:37:22 +02:00
Marvin Schürz
a171fa7649
Join multiplayer match when clicking the invite notification
2023-10-03 01:31:30 +02:00
Dean Herbert
8367bb6bee
Don't apply decoupling to SpectatorPlayerClock
s
...
See inline comment for reasoning. It's a bit complicated.
2023-09-22 16:22:35 +09:00
Dean Herbert
586311d508
Fix souce clock not always being transferred to FramedBeatmapClock
in time
2023-09-22 16:22:35 +09:00
Dean Herbert
184eabb902
Merge branch 'master' into multi-spectator-fix-startup-delay
2023-08-16 16:27:49 +09:00
Dean Herbert
71f6e5731d
Fix potential null reference if no frames found
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:58:19 +09:00
Dean Herbert
f38b21110f
Add missing parenthesis to comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:57:43 +09:00
Dean Herbert
87fee001c7
Fix multiplayer spectator potentially taking too long to start
...
When watching from the middle of gameplay, due to a series of failures,
`SpectatorClock` would not get seeked to the current time, causing all
clients to look like they were out of sync.
This is a hotfix for the issue. A better fix will require framework
changes or considerable restructuring.
I'd recommend testing this works in practice and agreeing that while it
is a hack, it's likely not going to cause issues and is something we
want to see fixed sooner rather than later.
2023-08-02 19:05:43 +09:00
Dean Herbert
14d87e49c7
Improve choice of where to start playback of multiplayer spectator
2023-08-02 18:46:35 +09:00
Bartłomiej Dach
5b6c3321cf
Merge branch 'master' into multi-spectator-flow-fixes
2023-08-01 19:03:48 +02:00
Bartłomiej Dach
a75f42f5a9
Merge branch 'master' into multi-spectator-extended-results
2023-08-01 18:25:41 +02:00
Dean Herbert
70bd1d3cf4
Fix centred player not animating correctly
2023-08-01 20:18:21 +09:00
Dean Herbert
df504e1fc2
Show extended statistics in multiplayer spectator automatically
2023-08-01 20:02:36 +09:00
Dean Herbert
fe47dc291b
Fix onLoadRequested
getting early-exited too early in spectator scenarios
...
In some scenarios, multiplayer spectator would not tick over to the next
beatmap.
Here's an example:
- Room has two items queued
- Local user starts download of both
- First beatmap starts and download is complete
- First beatmap ends (spectating is active)
- Second beatmap starts but download is not complete
In this scenario, the local client will get stuck at the spectator
screen due to the `onLoadRequested`-invoked screen change being early
exited.
It would require manual recovery (clicking back button) to return to a
sane state.
2023-08-01 19:22:41 +09:00
Dean Herbert
9fe9ea2c90
Fix potential crash on multiple StartGameplay
calls in multiplayer spectator
2023-08-01 19:22:41 +09:00
Bartłomiej Dach
d3435483eb
Fix multiplayer match screen being exited from when not current
...
This was supposed to be fixed by #24255 , but has popped up as a
regression on Sentry since:
https://sentry.ppy.sh/organizations/ppy/issues/22749/?project=2&referrer=regression_activity-email
On a fifteen-minute check I cannot figure out how to reproduce, so
rather than spending further brain cycles on this, just apply the same
explicit guard that like fifteen other places do.
2023-07-30 15:50:10 +02:00
Bartłomiej Dach
898913f32a
Merge pull request #24415 from peppy/multi-spectator-improvements
...
General visual improvements to mutliplayer spectatator screen
2023-07-30 12:43:26 +02:00
Dean Herbert
45ceaba00d
Disable multiplayer spectator zoom when there's only one player's screen visible
2023-07-30 14:40:58 +09:00
Dean Herbert
75625f089e
Hide toolbar when entering multiplayer spectator
2023-07-30 02:29:14 +09:00
Dean Herbert
38244c081f
Further refactorings along with shadow implementation
2023-07-30 02:29:14 +09:00
Dean Herbert
84bc14c1dd
Improve animation and sizing of maximised screen display
2023-07-30 02:29:14 +09:00
Dean Herbert
1826819663
Move Facade
to nested class
2023-07-30 02:29:14 +09:00
Dean Herbert
5fa0a21b56
Add corner radius around player areas
2023-07-30 02:29:14 +09:00
Dean Herbert
157b1f301b
Rename AllowTrackAdjustments
to more understandable ApplyModTrackAdjustments
2023-07-25 20:20:53 +09:00
Bartłomiej Dach
764029bde1
Fix nullability inspection
2023-07-19 19:23:08 +02:00
Dean Herbert
18aace177a
Fix deadlock when logging out while at the create match screen
...
Closes https://github.com/ppy/osu/issues/24275 .
2023-07-19 19:37:38 +09:00
Bartłomiej Dach
7fbd47e9ee
Fix MultiplayerMatchSubScreen
erroneously pushing exit dialog on API failure
...
If `IAPIProvider.State` changes from `Online` at any point when being on
an `OnlinePlayScreen`, it will be forcefully exited from. However,
`MultiplayerMatchSubScreen` had local logic that suppressed the exit in
order to show a confirmation dialog.
The problem is, that in the suppression logic,
`MultiplayerMatchSubScreen` was checking
`MultiplayerClient.IsConnected`, which is a SignalR flag, and was not
checking `IAPIAccess.State`, which is maintained separately. Due to
differing timeouts and failure thresholds, it is not impossible to have
`MultiplayerClient.IsConnected == true` but `IAPIAccess.State !=
APIState.Online`.
In such a case, the match subscreen would wrongly consider itself to be
still online and due to that, push useless confirmation dialogs, while
being in the process of being forcefully exited. This then caused the
dialog to cause a crash, as it was calling `.Exit()` on the screen which
would already have been exited by that point, by the force-exit flow.
2023-07-16 19:56:22 +02:00
Dean Herbert
3883c28b15
Add visual display in participants list when availability is still being established
2023-06-28 16:02:46 +09:00
Dean Herbert
91354b1570
Avoid performing any actions when BeatmapAvailability
is updated to Unknown
2023-06-28 16:01:54 +09:00
Dean Herbert
b240ce295b
Rename class and key to better match expectations
2023-06-26 13:38:34 +09:00
Bastian Pedersen
a7153478d6
Use newly create localised strings for buttons
2023-06-25 21:03:07 +02:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Dean Herbert
07a00e8afd
Fix typo in comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-22 00:02:02 +09:00
Dean Herbert
7b4cbea362
Allow nullable to fix test usages
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-22 00:01:48 +09:00
Dean Herbert
10ed3787a0
Don't show song select screen when local user doesn't have permission to add an item
2023-06-20 18:27:19 +09:00
Dean Herbert
dc1b4a39aa
Fix presenting beatmaps while in a multiplayer room not working
2023-06-20 18:23:59 +09:00
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03:00
Joseph Madamba
3e0bbb2432
Fix select beatmap button not highlighting when creating a multiplayer room using keyboard
2023-03-26 16:03:21 -07:00
Dean Herbert
4a7d7c6ed9
Use MaxBy
in all locations that can and update inspection level to match dotnet-build
2022-12-19 16:47:10 +09:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
Dan Balasescu
7b48c91fe2
Only show local results in multi-spectator results screen
2022-12-12 18:56:43 +09:00
Bartłomiej Dach
894ef15e79
Merge branch 'master' into update-framework
2022-11-26 16:19:36 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
d0c4637683
Lighten colour of multiplayer create game button
2022-11-25 20:18:21 +09:00
Dean Herbert
6ad432b311
Use RoundedButton
in more places
2022-11-24 16:33:01 +09:00