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

1716 Commits

Author SHA1 Message Date
Dean Herbert
eb149942e5 Add ability to toggle all free mods quickly at multiplayer song select 2023-07-19 19:08:32 +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
Bartłomiej Dach
21f758947d
Merge branch 'master' into availability-fixes 2023-07-02 20:38:37 +02:00
Dean Herbert
5f880397a9 Increase the minimum size of the scroll bar
Allows easier targetting when there is a lot of content in the scroll view

As discussed in https://github.com/ppy/osu/discussions/24095#discussioncomment-6332398.
2023-07-02 00:04:56 +09: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
Bartłomiej Dach
e273c223a8
Fix some more missed CI inspections 2023-06-24 17:11:38 +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
Dean Herbert
425d3c23f5 Fix some code layout and NRT some classes 2023-06-19 01:03:43 +09:00
Bartłomiej Dach
9ba4bf5fb7
Merge branch 'master' into add-mod-search-option 2023-06-18 15:06:21 +02:00
Dean Herbert
eb31fdecee Apply osu! side changes in line with FocusedOverlayContainer.PopIn abstract change
See https://github.com/ppy/osu-framework/pull/5834
2023-06-18 20:57:32 +09:00
Dean Herbert
ce41ef6e5d Move OrderByTotalScore() to an extension method 2023-06-16 15:24:30 +09:00
Salman Ahmed
24d8e336e2 Remove width limit on room status text in favour of cell distribution 2023-06-14 07:55:09 +03:00
Joseph Madamba
05bdc92426 Add right padding according to right detail shear 2023-06-13 14:00:56 -07:00
Joseph Madamba
2a3f2ff122 Truncate room name text 2023-06-13 13:56:29 -07:00
Joseph Madamba
df49a48d4d Put left and right details inside GridContainer 2023-06-13 13:48:47 -07:00
Joseph Madamba
0adb399ea8
Use anchor instead of FillFlowContainer 2023-06-13 00:09:58 -07:00
Joseph Madamba
a5c3c9a93f
Use FillFlowContainer instead of GridContainer for drawable room background gradient 2023-06-12 23:30:08 -07:00
Cootz
036479dd9d
Merge branch 'master' into add-mod-search-option 2023-06-09 16:27:18 +03:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Cootz
3ebc801484 Move (de)select all mods hotkeys handling to ModSelectOverlay 2023-06-05 13:49:07 +03:00
Bartłomiej Dach
a9d4556647
Merge branch 'master' into update-multiplayer-room-diff-range 2023-06-03 16:50:09 +02:00
Dean Herbert
812def124f
Merge pull request #23661 from peppy/fix-multiplayer-present-crash
Fix `OnResume` / `OnSuspending` potentially getting called before `OnEntering` on a sub screen
2023-05-31 19:43:30 +09:00
Bartłomiej Dach
62d1774407
Apply same comment & reworded condition to suspend too 2023-05-30 21:54:56 +02:00
Dean Herbert
741ee84ed6
Add comment and use full conditional similar to extension method
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-05-30 18:38:28 +09:00
Dean Herbert
1558723420 Merge branch 'master' into scorev2 2023-05-29 20:06:32 +09:00
Dean Herbert
b3c2d120bf Fix OnResume / OnSuspending potentially getting called before OnEntering on a sub screen 2023-05-25 20:39:11 +09:00
Dean Herbert
609c7227ee Fix changes to font weight in a couple of combined implementations 2023-05-25 19:55:11 +09:00
Dan Balasescu
c33e4fe75e Remove unnecessary override 2023-05-18 20:10:28 +09:00
Dean Herbert
730bc3a961 Apply NRT and simplify some remaining code 2023-05-17 16:18:13 +09:00
Dean Herbert
e97d027230 Make OnlinePlayPill class abstract 2023-05-17 16:13:03 +09:00
timiimit
cc6e4df93e Remove wrongly added back namepspace 2023-05-16 10:27:46 +02:00
timiimit
4ef74eb3f9 Fix RoomStatusPill text colour 2023-05-16 10:22:52 +02:00
timiimit
81b7737660 Fix text colour of RoomSpecialCategoryPill 2023-05-16 10:20:16 +02:00
timiimit
a9991d9dd4 Remove another unused namespace 2023-05-16 10:14:14 +02:00
timiimit
40daa41a52 Fix naming & namespaces 2023-05-16 10:06:48 +02:00
timiimit
04893064f0 Make used pills inherit from a common one 2023-05-16 09:53:11 +02:00
timiimit
10d6f9ea5a Create common online play pill 2023-05-16 09:52:26 +02:00
timiimit
fd80ffd52b Fix display update condition 2023-05-14 12:09:15 +02:00
Dan Balasescu
3c3c812ed6 Initial implementation of ScoreV2 2023-05-09 19:33:33 +09: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
mk56-spn
a6b6fb864e Make carousel non nullable and ensure pre load usages of methods that reference it are protected against failure 2023-01-13 13:10:29 +01:00
mk56-spn
403ca05e5e Enable nullability for song select 2023-01-13 00:52:14 +01:00
Dean Herbert
54b2fe9df3
Merge branch 'master' into fix-op-non-current-onexiting 2023-01-09 19:12:42 +09:00
Joseph Madamba
5fb6f220e6 Fix playlist items not animating when rearranging 2023-01-03 11:10:02 -08:00
Joseph Madamba
5dfd4180c8 Fix playlist selecting random item when not allowed after deleting 2023-01-03 11:10:02 -08:00
Joseph Madamba
0dba25e0ab Refactor to just exit sub screens until lounge sub screen
Co-Authored-By: Salman Ahmed <frenzibyte@gmail.com>
2022-12-25 21:56:22 -08:00
Joseph Madamba
5232588a1f Use PerformFromScreen to exit sub screens instead 2022-12-24 20:04:45 -08:00
Joseph Madamba
00ed5d6f92 Merge remote-tracking branch 'upstream/master' into fix-op-non-current-onexiting 2022-12-24 14:01:11 -08: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
Bartłomiej Dach
bbbc1d0428
Darken colour of playlists create button
To match d0c4637683.
2022-11-25 18:23:28 +01: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
Dean Herbert
53b03df93d Combine TriangleButton and RoundedButton classes 2022-11-24 16:26:57 +09:00
Dean Herbert
bea2acc60e Remove local specifications of triangle colouring 2022-11-24 16:18:15 +09:00
Dean Herbert
06ce8130c2 Apply changes in line with framework NRT updates 2022-11-18 18:13:15 +09:00
maromalo
b7ef9b176d Make score type consistent 2022-11-06 19:59:27 -03:00
Dan Balasescu
dcb6357964 Add ability to remove the current item in multiplayer 2022-10-14 20:23:55 +09:00
Dan Balasescu
525f98c158 Fix max combo missing from playlists results screen 2022-10-14 18:01:54 +09:00
Dan Balasescu
da8d94c4b4 Fix test failures due to scheduled operations 2022-09-27 20:24:44 +09:00
Dean Herbert
3ece7205ed Fix potential crash when losing network connectivity at online play screen
Addresses #20448.
2022-09-27 17:52:34 +09:00
Dan Balasescu
c969afcb71
Merge branch 'master' into leaderboard-nrt 2022-09-26 17:12:19 +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
5fc836d1f0 Apply NRT to BeatmapLeaderboard / MatchLeaderboard 2022-09-26 16:17:28 +09:00
Dean Herbert
a65a76f7de Fix off-thread drawable mutation in multiplayer settings overlay when an error occurs
Closes #20413.
2022-09-23 20:05:32 +09:00
Dean Herbert
29c4d06d36 Merge branch 'fix-gameplay-leaderboard-layout' into gameplay-leaderboards 2022-09-21 14:58:58 +09:00
Dean Herbert
0ac28cbecc Fix potential crash from missing DownloadProgress 2022-09-18 23:42:16 +09:00
Dan Balasescu
2dcaf7cfd8 Fix memory leak due to missing event unbind 2022-09-18 14:25:31 +09:00
Dean Herbert
678eec1c67 Move LeaderboardFlow to HUDOverlay to share positioning logic 2022-09-13 18:45:11 +09:00
Dean Herbert
5894d2f0bc Ensure gameplay leaderboard hides with rest of HUD when it should 2022-09-13 18:45:11 +09:00
Dean Herbert
d251c0b2ac Move leaderboard implementation to Player itself 2022-09-13 18:00:21 +09:00
Dean Herbert
ac034bffeb Fix potential crash if multiplayer spectator load is aborted early 2022-09-13 14:21:54 +09:00
Dean Herbert
6945c43e0d
Merge pull request #20178 from smoogipoo/fix-match-creation-beatmap-select
Fix several weird scenarios with online play song selection
2022-09-08 23:07:09 +09:00
Dan Balasescu
9aab502adc
Merge pull request #20157 from peppy/true-gameplay-rate
Refactor `TrueGameplayRate` to account for only gameplay adjustments, no matter what
2022-09-08 19:54:32 +09:00
Dan Balasescu
4fc03998a1
Merge pull request #20189 from peppy/fix-playlist-item-download-button-visibility
Fix playlist items showing download button briefly during initial display
2022-09-08 19:47:35 +09:00
Dean Herbert
13d9b2188b
Merge pull request #20145 from smoogipoo/multiple-countdowns
Implement support for multiple active countdowns in multiplayer
2022-09-08 19:15:30 +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
Dean Herbert
ed81297611 Fix playlist items showing download button briefly during initial local presence checks 2022-09-08 17:10:45 +09:00
Dan Balasescu
b0b4da533a Expose gameplay adjustments via MultiSpectatorPlayer instead 2022-09-08 16:59:20 +09:00
Dan Balasescu
83c0cb1acc Fix beatmap set to null after exiting song select 2022-09-07 21:34:29 +09:00
Dan Balasescu
fcea244537 Remove initial selection from OnlinePlaySongSelect
This stuff never really worked anyway - every case except with an
already created multiplayer room was broken anyway.
2022-09-07 21:34:29 +09:00
Dan Balasescu
208bd0f391 Give OnlinePlaySongSelect a reference PlaylistItem 2022-09-07 21:34:29 +09:00
Dan Balasescu
cb9bae1f5c Enable NRT 2022-09-07 19:54:55 +09:00
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
Dan Balasescu
07d4a025b0
Merge pull request #20109 from frenzibyte/online-play-room-status-inconsistency
Fix room status dropdown placement inconsistent between multiplayer and playlists
2022-09-05 11:19:56 +09:00
Salman Ahmed
e8fa872f61 Fix room status dropdown position inconsistent on online-play screens 2022-09-03 16:14:21 +03:00
Dean Herbert
6a35b233e5 Merge branch 'master' into remove-dispose-updates 2022-09-01 23:03:19 +09: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
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Dan Balasescu
423f6f90f2 Remove async calls from ScoreManager 2022-08-29 15:34:08 +09:00
Dan Balasescu
c0b13c7e1f Refactor ScoreProcessor ComputeScore() methods 2022-08-29 13:51:10 +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
37799e3b31 Allow preparing preview point without looping 2022-08-17 13:20:24 +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
Dan Balasescu
41af03dec5
Merge pull request #19597 from frenzibyte/hotfix-multi-spectator-results-screen
Fix multi-spectator potentially getting stuck for passed players (hotfix)
2022-08-09 21:11:10 +09:00
Dean Herbert
f1691882e2 Fix incorrect argument passing to ToMod 2022-08-08 12:56:18 +09:00
Salman Ahmed
84ef24c341 Fix multi-spectator potentially getting stuck for passed players 2022-08-06 05:41:26 +03:00
Salman Ahmed
7e9d11ee24 Enable NRT on playlists settings overlay 2022-08-01 20:15:08 +03:00
Salman Ahmed
c851e3d8f3 Fix playlist settings reference leak due to unsafe callback binding 2022-08-01 20:08:18 +03:00
Joseph Madamba
1dbb2a4d37 Fix online play screen only accounting for current sub screen onexiting blocks 2022-08-01 07:57:30 -07:00
notmyname
fa3b9ee32f remove unneded guard 2022-07-31 23:42:20 +02:00
notmyname
57b43e0065 Stop capturing arrow keys on Playlist 2022-07-31 19:12:29 +02:00
Salman Ahmed
8ca8484f0e Fix failing tests 2022-07-30 11:49:33 +03:00
Salman Ahmed
369ab10212 Fix exit confirmation dialog not blocking all exit cases 2022-07-30 11:00:31 +03:00
Dean Herbert
9d457535c6 Add confirmation dialog when about to discard a playlist
The confirmation will only show if items have been added to the
playlist.

Closes https://github.com/ppy/osu/issues/19444.
2022-07-29 17:11:37 +09:00
Dean Herbert
525e4a2019 Fix crash in DrawableRoomPlaylistItem context menu creation due to incorrect enumeration casting 2022-07-28 15:51:18 +09:00
Dean Herbert
438067a18b Convert realm data propagation to more correctly use Live<T>
wip
2022-07-27 19:35:09 +09:00
Dean Herbert
41393616d8 Replace BeatmapCollection with RealmBeatmapCollection 2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48 Remove CollectionManager 2022-07-27 18:45:33 +09: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
7e80a71020 Replace download tracker with local querying 2022-07-15 08:16:36 +03:00
Salman Ahmed
a85a70c472 Fix potential nullref in ContextMenuItems 2022-07-14 05:04:28 +03:00
Salman Ahmed
036e64382f Add beatmap details menu item to playlist items 2022-07-14 03:41:47 +03:00
Salman Ahmed
102d0415f1 Merge branch 'master' into drawable-playlist-item-collection 2022-07-14 00:10:49 +03:00
Dan Balasescu
d82d50e308
Merge pull request #19065 from Ludio235/master
Fix playlist room creation screen pushing content on opening dropdowns
2022-07-12 13:22:38 +09:00
Dean Herbert
0434c10914 Use global WorkingBeatmap in PlayerArea for the time being 2022-07-11 02:57:44 +09:00
Dean Herbert
8116a4b6f6 Fix multiplayer spectator crash due to track potentially not being loaded in time 2022-07-11 02:51:40 +09:00
Ludio235
52aef09cd6
Update PlaylistsRoomSettingsOverlay.cs 2022-07-10 02:05:40 +00: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
Salman Ahmed
1d0f2e359a Add collection context menu to room playlist items 2022-07-08 01:40:53 +03:00
Dean Herbert
6baccad058
Merge pull request #18821 from ggliv/locked-room-filter
Add room access type filter to multiplayer lounge screen
2022-07-01 19:37:43 +09: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
Dan Balasescu
58c9bb031f Apply PR reviews/fixes 2022-07-01 16:51:15 +09:00
Dan Balasescu
c22e77e481 Fix test sometimes referencing old ModSelect object 2022-07-01 16:46:27 +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
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Bartłomiej Dach
04d69010b5
Split overlong conditional to local function 2022-06-23 18:03:07 +02:00
Bartłomiej Dach
bea70988bc
Remove unnecessary #nullable disable 2022-06-23 17:57:22 +02: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
Gabe Livengood
9a15adbfff
add an all option to publicity filter 2022-06-23 11:24:28 -04:00
Gabe Livengood
2def6d809b
refactor to use enum dropdown 2022-06-23 11:02:27 -04:00
Dean Herbert
7dec530ca5 Split out simple DifficultyIcon with no calculation overhead and update usages 2022-06-23 19:27:35 +09:00
Dean Herbert
4a2ca4394b Remove unused ModeTypeInfo class 2022-06-23 19:27:35 +09:00
Gabe Livengood
bf5a7e3f2a
add locked room filter 2022-06-22 17:01:28 -04:00
Bartłomiej Dach
73124d2b1f
Encapsulate mod hotkey selection logic in strategy pattern 2022-06-21 12:49:01 +02: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
Dean Herbert
1520ccf865 Fix double back sound due to sub screen presence in multiplayer/playlists 2022-06-15 18:44:16 +09:00
Dean Herbert
cd649f7d97
Merge branch 'master' into multiplayer-leaderboard-user-mods-2 2022-06-08 13:39:42 +09:00
Jamie Taylor
365819865e
Remove 'submit' sample usages 2022-06-03 22:31:35 +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
Dean Herbert
03d9ca0d8d
Merge pull request #18437 from peppy/fa-playlist-category
Add featured artist playlist category
2022-05-28 01:28:21 +09:00
Bartłomiej Dach
a94432f3bd
Fix drawable room border colour not matching badge 2022-05-27 16:40:15 +02:00
Dean Herbert
883c6f1eb3 Update colour of spotlights playlist to match new specs 2022-05-27 20:26:35 +09:00
Dean Herbert
ef47b380c6 Add featured artist playlist category 2022-05-27 20:18:46 +09:00
Dean Herbert
d94315ee3f Fix potential crash from unsafe drawable mutation in scoreboard update code 2022-05-27 20:03:30 +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
Bartłomiej Dach
f0303d76e8
Split off "select all mods" button to separate class 2022-05-25 22:18:30 +02:00
Dan Balasescu
7d0470794b
Merge pull request #18353 from frenzibyte/spectator-catch-up-work-alt
Disallow multi-spectator player clocks from being started/stopped externally
2022-05-23 13:59:54 +09:00
maromalo
fc25d248ad Test coverage + no virtual 2022-05-21 18:16:29 -03:00
Salman Ahmed
27da293b40 Make catch-up spectator clocks running state immutable externally 2022-05-21 17:12:04 +03:00
maromalo
2bd4c126d3 Blank line
Forgot to save.
2022-05-21 05:07:24 -03:00
maromalo
a7aa36a825 Add OnPressed to button 2022-05-21 04:55:42 -03:00
Dan Balasescu
a633501687 Change FilterTerms to use LocalisableString 2022-05-16 14:09:37 +09:00
Dean Herbert
328561f5c8
Merge pull request #18263 from frenzibyte/spotlight-beatmap-badge
Add support for "spotlight" label in beatmap overlay/listing
2022-05-15 12:32:20 +09:00
Dean Herbert
b6575c216b Allow selecting all mods at free mod select using ctrl+a 2022-05-15 03:25:14 +09:00
Dean Herbert
8a01050168 Refactor mod select button initialisation to allow shared usage of deselect button 2022-05-15 03:16:43 +09:00
Salman Ahmed
88ba84ac9c Replace Pill with Badge everywhere 2022-05-14 20:52:38 +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
Bartłomiej Dach
76c63f1d0a
Rename ModSelect{Screen -> Overlay} in place of removed old design 2022-05-10 22:56:50 +02:00
Bartłomiej Dach
4a3447f59f
Remove old free mod select overlay 2022-05-10 21:45:57 +02:00
Dan Balasescu
a16f2349aa Fix next queued item not selecting after gameplay 2022-05-09 17:55:42 +09:00
Dean Herbert
ab1d46b71c
Merge pull request #17270 from frenzibyte/multiplayer-disable-adaptive-speed
Disable mod "Adaptive Speed" in multiplayer
2022-05-09 17:31:47 +09:00
Dean Herbert
0d32bf91eb Hardcode hide key handling in ModSelectScreen 2022-05-08 01:35:11 +09:00
Bartłomiej Dach
9a56f6db44
Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 13:15:13 +02:00
Salman Ahmed
d4c9de8596 Move button width in mod select to constant 2022-05-07 13:23:48 +03:00
Bartłomiej Dach
e7e7486a8e
Merge branch 'mod-overlay/back-button' into mod-overlay/integration 2022-05-07 10:59:30 +02:00
Bartłomiej Dach
6ad990dfc3
Add basic localisation strings for new mod select 2022-05-07 10:17:24 +02:00
Bartłomiej Dach
4ff96f82be
Dim other buttons if customisation panel is open 2022-05-07 09:50:09 +02:00
Bartłomiej Dach
852e4a9766
Add select/deselect all buttons to free mod select screen 2022-05-07 09:29:33 +02:00
Dean Herbert
dd63657dfb
Merge pull request #18065 from huoyaoyuan/code-style
Enforce code style analysis shipped with .NET SDK
2022-05-07 14:58:19 +09:00
Dean Herbert
641584a049
Merge branch 'master' into multiplayer-disable-adaptive-speed 2022-05-06 14:00:44 +09:00
Bartłomiej Dach
34cf4c6a38
Fix mod overlay not closing on toggle hotkey 2022-05-05 22:16:56 +02:00
Bartłomiej Dach
0caea77176
Fix mod selects not hiding when their owner screens exit 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
a56eab2c47
Extract interface for overlay management 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
66473972da
Use new user mod select design in multiplayer lobby 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
4eefbd5bc2
Use new free mod select design in room creation flow 2022-05-05 22:16:54 +02:00
Bartłomiej Dach
ac08498f35
Use plum colour scheme in multiplayer to match rest of multiplayer screens 2022-05-05 22:16:54 +02:00
Bartłomiej Dach
407db7ff9d
Replace old mod select overlay with new design 2022-05-05 22:16:54 +02:00
Bartłomiej Dach
a859ca0b89
Merge branch 'master' into playlist-keyboard-traversal 2022-05-05 14:45:58 +02:00
Salman Ahmed
8501a41619 Bring back separate bool properties as non-cascading 2022-05-05 14:37:38 +03:00
Salman Ahmed
ac6342ff8d Add workaround for item scrolling issue 2022-05-05 10:16:16 +03:00
Salman Ahmed
f28978b856 Handle against playlists which disallow selection
`SelectedItem.Disabled` is also not checked against in the select-via-click flow inside `DrawableRoomPlaylistItem` (only `AllowSelection` is checked).
2022-05-05 05:48:35 +03:00
Salman Ahmed
464b3af5f3 Rename local correctly 2022-05-05 05:42:20 +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
Bartłomiej Dach
e6fdef2d7a
Fix test failures due to selection/item collection desyncs 2022-05-04 13:51:47 +02:00
Bartłomiej Dach
0405c1c34a
Ensure selected playlist item is always scrolled into view 2022-05-04 13:15:26 +02:00
Bartłomiej Dach
3b04daddaa
Fix self-reference in region name 2022-05-04 12:36:43 +02:00
Dean Herbert
df1f4aecdc Add support for traversing playlist items using next/previous bindings
Addresses https://github.com/ppy/osu/discussions/18061.
2022-05-04 19:09:44 +09:00
Bartłomiej Dach
e3641213e1
Always hide unimplemented mods on mod select screen 2022-05-03 21:45:40 +02:00
Huo Yaoyuan
5513710b2e Fix IDE0055 2022-05-03 13:09:19 +08:00
Ganendra Afrasya
81be69e72e Update search textbox implementation to use BasicSearchTextBox instead 2022-05-03 06:18:42 +07: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
Dean Herbert
5c0e5eb6f4
Merge pull request #17899 from Joehuu/localise-most-strings
Use existing web localisation for most hardcoded strings
2022-04-21 14:48:12 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Dean Herbert
4466e15bfc Rename AllowConfiguration to AllowCustomisation and simplify drawable addition 2022-04-20 23:17:29 +09:00
Dean Herbert
b722ff8dc5 Merge branch 'master' into mod-overlay/extension-points 2022-04-20 23:17:04 +09:00
Dean Herbert
e315313266 Split out IDialogOverlay to allow for easier testing 2022-04-18 18:36:26 +09:00
Bartłomiej Dach
7eebc20124
Add replacements for mod overlays used by game 2022-04-17 23:28:51 +02: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
2b74dbca28 Fix potential crash in DrawableRoom due to lack of null check on post-lookup beatmap 2022-04-11 13:44:34 +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