Dean Herbert
ca93fdc94b
Add visualisation of when a spectated player fails
...
Create a new stack each time for isolation and safety
2023-11-24 14:44:57 +09:00
Dean Herbert
b024065857
Remove implicit schedule of abstract
methods in SpectatorScreen
...
This allows each implementation to have control over scheduling. Without
this, the solo implementation would not be able to handle quit events
while watching a player, as it would push a child (gameplay) screen to
the stack where the `SpectatorScreen` would usually be.
2023-11-24 14:26:09 +09:00
Dean Herbert
5341a335a6
Bypass Parent
nullability checks for now
2023-10-17 17:48:45 +09: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
9fe9ea2c90
Fix potential crash on multiple StartGameplay
calls in multiplayer spectator
2023-08-01 19:22:41 +09: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
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
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03: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
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
20da1051d9
Apply NRT to GameplayLeaderboard
hierarchy
...
Just some cleanup work that I wanted to do as part of my last changes.
2022-09-26 16:21:24 +09:00
Dean Herbert
ac034bffeb
Fix potential crash if multiplayer spectator load is aborted early
2022-09-13 14:21:54 +09:00
Dan Balasescu
76eae73fa4
Revert unintended change
2022-09-08 17:41:23 +09:00
Dan Balasescu
c61c596c1f
Expose as readonly IAggregateAudioAdjustment
2022-09-08 17:37:02 +09:00
Dan Balasescu
b559d4ecdf
Rename GameplayAdjustments -> AdjustmentsFromMods
2022-09-08 17:14:06 +09:00
Dan Balasescu
b0b4da533a
Expose gameplay adjustments via MultiSpectatorPlayer instead
2022-09-08 16:59:20 +09:00
Dean Herbert
1be3b74ff3
Fix multiplayer spectator not getting gameplay adjustments applied
2022-09-07 19:12:34 +09:00
Dean Herbert
b9d9bf3004
Merge pull request #19938 from frenzibyte/fix-multi-spectator-results-screen
...
Fix multi-spectator potentially getting stuck for passed players
2022-08-26 21:53:17 +09:00
Dean Herbert
a546aa2673
Clamp SpectatorPlayerClock
's elapsed calculation to avoid player clocks getting too far ahead
2022-08-25 21:33:33 +09:00
Dean Herbert
27b57947e4
Rename PlayerArea.GameplayClock
to SpectatorPlayerClock
for clarity
2022-08-24 17:13:14 +09:00
Dean Herbert
5f01f461b3
Ensure elapsed time is always non-zero when advancing SpectatorPlayerClock
2022-08-24 17:13:14 +09:00
Dean Herbert
af56cd0126
Fix merge breakage
2022-08-24 16:52:36 +09:00
Dean Herbert
5079e0d83d
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-24 16:52:10 +09:00
Salman Ahmed
8f4a2b4936
Separate passed/failed states from calling EndGameplay
2022-08-24 10:36:13 +03:00
Dean Herbert
7f9246637a
Simplify MultiSpectatorScreen
hierarchy construction
2022-08-24 16:08:48 +09:00
Dean Herbert
7c1fc4814e
Remove unused CreateMasterGameplayClockContainer
method
2022-08-24 16:03:38 +09:00
Dean Herbert
871365bbb0
Inline ReadyToStart
action binding for added safety
2022-08-24 16:03:38 +09:00
Dean Herbert
6c50f618a3
Don't use bindable flow for masterState
2022-08-24 16:03:38 +09:00
Dean Herbert
683d49c608
Move MasterClockState
handling in to SpectatorSyncManager
2022-08-24 16:03:38 +09:00
Dean Herbert
d33d705684
Make WaitingOnFrames
non-bindable
2022-08-24 16:03:38 +09:00