Dean Herbert
1be3b74ff3
Fix multiplayer spectator not getting gameplay adjustments applied
2022-09-07 19:12:34 +09:00
Dan Balasescu
2923c10cd8
Rewrite rooms to store multiple active countdowns
...
Update test to the new structure
2022-09-05 19:03:26 +09:00
Salman Ahmed
e8fa872f61
Fix room status dropdown position inconsistent on online-play screens
2022-09-03 16:14:21 +03:00
Dan Balasescu
c852c54055
Consume auto skip setting during play
2022-08-31 20:24:15 +09:00
Dan Balasescu
b5ec7d06dd
Add auto-skip setting
...
Default to auto skip
2022-08-31 20:24:06 +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
Dean Herbert
d05d8aeb22
Simplify interface implementations
2022-08-24 16:03:38 +09:00
Dean Herbert
2f5be6efca
Tidy up ProcessFrame
and privatise const
2022-08-24 16:03:38 +09:00
Dean Herbert
b564c34dbc
Don't process master clock (is a noop)
2022-08-24 16:03:38 +09:00
Dean Herbert
b4eede61fb
Use readonly
instead of get-only
2022-08-24 15:28:18 +09:00
Dean Herbert
0b271fe4b3
Fix incorrect IsRunning
value
2022-08-24 15:27:31 +09:00
Dean Herbert
b6254a1f25
Remove unnecessary casting
2022-08-24 15:23:31 +09:00
Dean Herbert
a86fc6f248
Change running state of SpectatorPlayerClock
using IsRunning
2022-08-24 15:17:56 +09:00
Dean Herbert
0c9a4ec13c
Don't expose MasterClock
in SpectatorClockSyncManager
2022-08-24 15:13:08 +09:00
Dean Herbert
995e6664b6
Rename spectator clock sync classes
2022-08-24 15:13:08 +09:00
Dean Herbert
31f657fe01
Remove ISpectatorPlayerClock
interface
...
Too many levels of redirection.
One interface with one implementation is not useful, IMO.
2022-08-24 15:12:57 +09:00
Dean Herbert
882dd93942
Remove ISyncManager
interface
...
Too many levels of redirection.
One interface with one implementation is not useful, IMO.
2022-08-24 15:12:57 +09:00
Dean Herbert
22963ab951
Fix multiplayer spectator getting stuck
2022-08-24 15:12:57 +09:00
Dean Herbert
ec31f37ff7
Accept MasterGameplayClockContainer
rather than generic clock
2022-08-24 14:51:14 +09:00
Dean Herbert
85fbe7abca
Fix multiplayer spectator getting stuck
2022-08-24 13:11:53 +09:00
Dean Herbert
ec61a94dc9
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-23 17:36:06 +09:00
Dean Herbert
553897f2f0
Remove AddClock
method to CreateManagedClock
2022-08-23 13:52:43 +09:00
Dean Herbert
1191b6c080
Remove unused Source_Set
implementation on ISpectatorPlayerClock
2022-08-23 13:44:41 +09:00
Dan Balasescu
c59298f0ce
Enable NRT
2022-08-22 21:55:04 +09:00
Dan Balasescu
5d3d8681d4
Invert creation of clocks in multi spectator
2022-08-22 19:14:06 +09:00
Dean Herbert
af2e82d7d5
Move operation of setting GameplayClockContainer.StartTime
to Reset
call
2022-08-22 14:11:06 +09:00
Dean Herbert
0e228791c0
Remove unnecessary Reset
call in MultiSpectatorScreen
2022-08-19 01:39:01 +09:00
Dean Herbert
6d78218142
Update usages of GameplayClockContainer.GameplayClock
to access properties directly
2022-08-15 18:08:49 +09:00
Dean Herbert
224f3eaa84
Make GameplayClockContainer
non-abstract
and use in MultiSpectatorPlayer
2022-08-15 18:08:49 +09:00
Salman Ahmed
84ef24c341
Fix multi-spectator potentially getting stuck for passed players
2022-08-06 05:41:26 +03:00
Adam Baker
cecf654a7b
Update osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerMatchSubScreen.cs
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-19 18:58:59 -05:00
Salman Ahmed
ae6aab2555
Merge branch 'master' into edit-map-carousel
2022-07-20 02:43:47 +03:00
Adam Baker
4164f260b3
Fix code quality errors
2022-07-19 08:12:12 -05:00
Adam Baker
5008a73774
Make add item button open to the last beatmap in queue
2022-07-19 02:04:19 -05:00
Dan Balasescu
c07f78409e
Merge pull request #19189 from peppy/peform-actions-after-reconnect
...
Fix creating multiplayer game during server migration not joining new room correctly
2022-07-19 14:46:29 +09:00
Adam Baker
59018ab5ba
Fix multiplayer queue edit button opening to the wrong beatmap
2022-07-18 23:21:16 -05:00
Salman Ahmed
2befcfedbb
Merge branch 'master' into fix-multiplayer-participant-panel-null-ruleset
2022-07-18 12:24:47 +03:00
Dean Herbert
a036632c8b
Fix potential crash when attempting to create mod display using null ruleset
2022-07-18 15:30:21 +09:00
Dean Herbert
21bf7ee448
Turn on nullability in ParticipantPanel
2022-07-18 15:27:55 +09:00
Salman Ahmed
100c53f9ef
Country
-> CountryCode
2022-07-18 08:40:34 +03:00
Dean Herbert
55a8a3563b
Change MultiplayerMatchSubScreen
to not immediately leave the room on connection loss
...
Instead, we can rely on `MultiplayerClient.Room` going `null`.
2022-07-17 21:19:10 +09:00
Salman Ahmed
e62049f4a9
Update various usages of Country
inline with new enum
2022-07-16 05:04:24 +03:00
Salman Ahmed
102d0415f1
Merge branch 'master' into drawable-playlist-item-collection
2022-07-14 00:10:49 +03:00
Dean Herbert
0434c10914
Use global WorkingBeatmap
in PlayerArea
for the time being
2022-07-11 02:57:44 +09:00
Salman Ahmed
67fa15f231
Remove no longer required context menu container in ParticipantsList
2022-07-08 01:42:55 +03:00
Salman Ahmed
7b08501eaf
Cover online-play room screens with context menu containers
2022-07-08 01:42:11 +03:00
Dean Herbert
e213c1a4ef
Rename enum to explicitly mention it is a filter
2022-07-01 17:27:03 +09:00
Dean Herbert
9911c6cbf0
Merge branch 'master' into locked-room-filter
2022-07-01 17:17:01 +09:00
Dean Herbert
aa7d54f8b6
Add logging for various cases of SongSelect.FinaliseSelection
being aborted
2022-06-27 20:10:17 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Gabe Livengood
454eff43c5
publicity -> accesstype
2022-06-23 11:40:25 -04:00
Gabe Livengood
d67c482c48
move publicity filter to multi exclusively
2022-06-23 11:36:08 -04:00
Dan Balasescu
77e7e4ecb2
Fix selection being blocked after early return
2022-06-18 14:28:30 +09:00
Dan Balasescu
e04df371d1
Merge branch 'master' into multi-song-select-operation
2022-06-18 08:51:24 +09:00
Dan Balasescu
869db52540
Tie loading layer to ongoing operation state
2022-06-17 17:05:23 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Bartłomiej Dach
f88c568c8d
Update flag sizes after switch to twemoji assets
...
The old flags used a size of 150x100, while the new assets based on
twemoji use a size of 150x108. Update existing usages to match this new
aspect ratio better.
2022-06-15 21:45:47 +02:00
Dean Herbert
7a2919975a
Fix sound clash when exiting a multiplayer room with confirmation
2022-06-15 18:48:22 +09:00
Dan Balasescu
d89c80ace2
Block operations during beatmap selection in match
2022-06-15 18:44:16 +09:00
Dan Balasescu
4d9a77bdc0
Stop using Drawable.Clock altogether
2022-06-02 15:02:50 +09:00
Dan Balasescu
2209a009f9
Don't process clock
2022-06-02 14:48:55 +09:00
Dan Balasescu
eaeb66547e
Revert comment removal
2022-05-31 19:58:45 +09:00
Dan Balasescu
22d998dc2a
Use new score processor in MultiplayerGameplayLeaderboard
2022-05-30 19:26:26 +09:00
Dan Balasescu
0224947de0
Add comment about how starting gameplay works
2022-05-26 20:09:47 +09:00
Dan Balasescu
3915b8e414
Fix multiplayer race condition when starting gameplay
2022-05-26 20:01:33 +09:00
Salman Ahmed
27da293b40
Make catch-up spectator clocks running state immutable externally
2022-05-21 17:12:04 +03:00
Dean Herbert
d05cd69087
Change multiplayer leaderboard to always hide during gameplay unless holding-for-HUD
2022-05-11 16:12:54 +09:00
Salman Ahmed
8501a41619
Bring back separate bool properties as non-cascading
2022-05-05 14:37:38 +03:00
Salman Ahmed
20e277d2e5
Apply proposed naming changes
2022-05-04 17:12:17 +03:00
Salman Ahmed
e9ecf26b6a
Merge branch 'master' into multiplayer-disable-adaptive-speed
2022-05-04 17:12:03 +03:00
Dean Herbert
c4c62ff4e7
Fix countdown sounds playing every minute, rather than only on the last minute
2022-05-02 22:46:14 +09:00
Dan Balasescu
1d8ac6917d
Send Loaded state from PlayerLoader on update thread
2022-04-28 20:10:47 +09:00
Dan Balasescu
b293d3923c
Merge branch 'master' into multiplayer-force-start-2
2022-04-23 01:03:55 +09:00
Dean Herbert
832d37b2c2
Update screen transition events to use new event args
2022-04-22 00:52:44 +09:00
Dan Balasescu
ef1955d8ab
Make buttons only respond to MatchStartCountdown
2022-04-21 23:14:37 +09:00
Dan Balasescu
41355384bd
Add support for gameplay abort/force start
2022-04-21 23:14:37 +09:00
Dan Balasescu
08d250fe58
Rename MatchStarted() -> GameplayStarted()
2022-04-21 22:39:24 +09:00
Dan Balasescu
8c3b541312
Add state for when user is ready for gameplay
2022-04-21 22:35:52 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Dean Herbert
e315313266
Split out IDialogOverlay
to allow for easier testing
2022-04-18 18:36:26 +09:00
Dan Balasescu
9de4d416e2
Merge branch 'master' into fix-spectator-seeks
2022-04-14 18:54:52 +09:00
Dean Herbert
d4286255a0
Expose and set GameplayStartTime
directly, rather than via Reset
parameter
2022-04-13 13:58:44 +09:00
Dean Herbert
9c68b3edc5
Merge branch 'master' into fix-spectator-seeks
2022-04-13 12:33:41 +09:00
Dean Herbert
8b1cee75fa
Use BindableLong
instead of BindableInt
for user score tracking
2022-04-12 14:13:07 +09:00
Dean Herbert
24c2d465a9
Move null assert in MultiplayerPlayer
on to update thread
2022-04-08 14:53:14 +09:00
Jamie Taylor
8a73831115
Add MP lobby 'warning' SFX for the final seconds of countdown
2022-04-07 13:12:33 +09:00
Dean Herbert
2b8a5833dd
Fix back-to-front conditional check
2022-04-06 15:13:02 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks
2022-04-06 12:58:43 +09:00
Dean Herbert
c540810943
Merge branch 'master' into fix-multiplayer-unobserved
2022-04-06 11:33:10 +09:00
Dean Herbert
01da3924cc
Simplify IsCurrentScreen
check to only apply to relevant call
2022-04-06 11:32:35 +09:00
Dean Herbert
3d8ae0465f
Reword comment slightly
2022-04-05 15:51:04 +09:00
Dean Herbert
8e543204cd
Remove debounce logic (not required after switching to Update
clock time)
2022-04-05 15:49:47 +09:00
Dean Herbert
5f415cbe53
Full potential null reference and add better commentary on countdown scheduling
2022-04-05 15:48:18 +09:00
Dean Herbert
d0f83885ce
Appease the CI
2022-04-05 13:20:34 +09:00
Dean Herbert
31bf0c4a9b
Disable "final" sample in countdown for the time being
2022-04-05 13:16:06 +09:00
Dean Herbert
174dc1641c
Fix multiple issues with timekeeping
...
- Using realtime (`DateTimeOffset.Now`) meant that values would be
changing in the same frame, causing misfirings or incorrect displays
- No debounce on sample playback meant that scheduling edge cases could
potentially cause samples to be played more than once.
2022-04-05 11:49:58 +09:00
Dean Herbert
64ba24c4f7
Merge branch 'master' into mp-countdown-sfx
2022-04-05 01:04:57 +09:00
Dan Balasescu
cbcbcd1a4a
Merge pull request #17643 from peppy/stable-countdown
...
Stabilise countdown updates to be based on when whole seconds change
2022-04-04 22:19:06 +09:00
Dean Herbert
0abebe4d23
Stabilise countdown updates to be based on when whole seconds change
2022-04-04 14:41:32 +09:00
Jamie Taylor
0f4b75ab15
Add multiplayer lobby countdown SFX
2022-04-01 21:33:57 +09:00
Dan Balasescu
16d4544ff9
Prevent reloads when playlist item order changes
2022-04-01 17:06:37 +09:00
Dean Herbert
0b6db31511
Guard other multiplayer client calls with exception handling
2022-03-31 19:45:38 +09:00
Dean Herbert
e0c125a628
Replace existing usage with helper method
2022-03-31 19:27:45 +09:00
Dean Herbert
ef5e37c47a
Fix multiplayer sounds playing too much after gameplay
...
Regressed in https://github.com/ppy/osu/pull/15936 .
Closes #17295 .
2022-03-31 16:18:28 +09:00
Salman Ahmed
0f144f6801
Merge branch 'master' into fix-countdown-refresh
2022-03-30 16:26:12 +03:00
Dean Herbert
671386ba6c
Fix MultiplayerMatchSongSelect
potentially attempting to exit when not the current screen
2022-03-30 20:36:12 +09:00
Dan Balasescu
375a752e24
Fix countdown timer not refreshing on new countdown
2022-03-29 11:27:26 +09:00
Dean Herbert
5725cc36ff
Add animation to countdown button when countdown is active
2022-03-26 14:29:53 +09:00
Dean Herbert
03f24c8b58
Merge branch 'master' into countdown-button-ux
2022-03-26 10:34:51 +09:00
Dean Herbert
a30d6256f4
Merge pull request #17447 from peppy/countdown-button-icon
...
Use more appropriate icon on countdown button (and give tooltip)
2022-03-26 10:20:07 +09:00
Dean Herbert
f92a31cd39
Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
...
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
Dan Balasescu
11ee78b395
Merge branch 'master' into countdown-button-icon
2022-03-25 19:40:25 +09:00
Dan Balasescu
3986dfd160
Merge pull request #17444 from peppy/fix-countdown-counting
...
Update multiplayer countdown button text more often
2022-03-25 19:40:04 +09:00
Dan Balasescu
9963efce51
Improve ready/countdown button UX
2022-03-25 18:40:32 +09:00
Dean Herbert
b13408aed0
Add back "room visibility" control commented out for now
2022-03-25 18:37:20 +09:00
Dan Balasescu
3ad092d808
Always show the countdown button when host
2022-03-25 18:29:00 +09:00
Dean Herbert
463091bde2
Use more appropriate icon on countdown button (and give tooltip)
2022-03-25 18:25:48 +09:00
Dean Herbert
aa9e642e40
Merge branch 'master' into pin-multiplayer-host
2022-03-25 16:49:35 +09:00
Dean Herbert
4a30b6ef56
Update multiplayer countdown button text more often
...
At once a second, it regularly skips whole seconds (because scheduler
isn't guaranteed to run exactly as often as specified). 10 updates a
second seems amicable and less noticeable to my eye.
2022-03-25 16:25:20 +09:00
Dean Herbert
b1f0f89fdd
Simplify AutoStart
and Host
checks
2022-03-25 15:41:01 +09:00
Bartłomiej Dach
878e8d21a3
Remove assertion to fix "expression always true" inspection
2022-03-24 21:51:10 +01:00
Dan Balasescu
1abf3f7bf4
Fix cancel tooltip showing for autostart countdowns
2022-03-24 20:25:17 +09:00
Dan Balasescu
40eca0fbe2
Merge branch 'master' into multiplayer-auto-countdown
2022-03-24 18:11:51 +09:00
Dean Herbert
2d58feebb1
Guard against potential null CurrentItem
in ParticipantPanel
2022-03-24 17:54:21 +09:00
Dan Balasescu
528ffea38d
Fix incorrect event binding
2022-03-24 17:11:08 +09:00
Dan Balasescu
96a447f68b
Rename Multiplayer prefix to button classes
2022-03-24 14:28:38 +09:00
Dan Balasescu
90c7945bca
Re-remove PopoverButton class with better test fix
2022-03-24 14:26:31 +09:00
Dean Herbert
6f529cf7a4
Merge branch 'master' into fix-spectator-seeks
2022-03-24 14:24:20 +09:00
Dan Balasescu
547418e47e
Revert "Remove PopoverButton class"
...
This reverts commit 6b712be97d
.
2022-03-24 11:15:51 +09:00
Dan Balasescu
34a367b369
Merge branch 'master' into multiplayer-countdown-timers-2
2022-03-23 15:40:50 +09:00
Dan Balasescu
a83a90e675
Rename countdown Delay -> Duration
2022-03-23 15:21:16 +09:00
Dan Balasescu
f7c0047206
Send time remaining in countdowns instead
2022-03-23 15:19:43 +09:00
Dan Balasescu
d4ad4ac9db
Limit countdown updates to once per second
2022-03-23 10:50:05 +09:00
Dan Balasescu
6b712be97d
Remove PopoverButton class
2022-03-23 10:40:38 +09:00
Dan Balasescu
9138aaf780
Split MultiplayerReadyButton
2022-03-23 10:38:56 +09:00
Dan Balasescu
23be0f1be9
Remove availability picker for now
2022-03-22 14:34:06 +09:00
Dan Balasescu
d0fee53e1f
Implement auto countdown timers
...
Change to using TimeSpan
2022-03-22 14:34:06 +09:00
Dan Balasescu
4630aa15cc
Apply refactorings according to reviews
2022-03-22 12:54:19 +09:00