Dan Balasescu
c2644a5d5e
Correctly implement button enabled state
2023-12-04 10:18:37 +09:00
Dan Balasescu
1b0fc8ca9d
Refactor
2023-12-01 20:41:41 +09:00
Dan Balasescu
15c9416244
Rename method
2023-12-01 18:47:40 +09:00
Dan Balasescu
a94180c8c6
Rename LoadAborted -> GameplayAborted, AbortGameplayReal -> AbortMatch
2023-12-01 18:26:59 +09:00
Dan Balasescu
894c31753b
Add initial support for aborting multiplayer games
2023-12-01 15:31:06 +09:00
Dean Herbert
537c9e031d
Merge pull request #25522 from bdach/no-concurrent-connections
...
Implement flow allowing disconnection from online services when another client instance for same user is detected
2023-11-28 19:09:38 +09:00
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
Bartłomiej Dach
aa3ff151c0
Fix RoomManager
attempting to part room when not online
2023-11-21 15:15:46 +09:00
Bartłomiej Dach
42fada578e
Centralise and improve messaging around online state
...
When the server requests a disconnect due to a user connecting
via a second device, the client will now log the user out on the first
device and show a notification informing them of the cause of
disconnection.
2023-11-21 15:15:46 +09:00
Dean Herbert
7fc2050f72
Rename variables and mak seconary tooltip type work again
2023-11-10 11:52:34 +09:00
Joshua Hegedus
ccb9ff826a
fixed tests
2023-11-09 13:09:59 +01:00
Joshua Hegedus
4a70f2435c
fixed showUsernameTooltip
2023-11-06 09:22:50 +01:00
Bartłomiej Dach
ca4b09f8ef
Merge branch 'master' into score-encoding-cleanup
2023-10-26 09:04:05 +02:00
Dean Herbert
5341a335a6
Bypass Parent
nullability checks for now
2023-10-17 17:48:45 +09:00
Bartłomiej Dach
fb2293821a
Allow watching replay from multi/playlist results screens
2023-10-16 11:20:02 +02:00
Dean Herbert
7139592e43
Fix collections not being sorted correctly in context menus
2023-10-16 16:03:12 +09:00
Jamie Taylor
d97b618d02
Use new generic-error
sample in appropriate places
2023-10-13 21:06:50 +09:00
Bartłomiej Dach
79cec7707d
Privatise setter
2023-10-13 09:56:46 +02:00
Bartłomiej Dach
6c8490bc7e
Revert changes to LoungeSubScreen.Join()
...
- `virtual` modifier was used in mocking.
- The spacing change revert is just mostly to keep it out of the final
diff.
2023-10-12 20:39:40 +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
Bartłomiej Dach
ca217094d6
Merge pull request #25063 from peppy/move-download-button
...
Move playlist item download button to left
2023-10-09 10:01:15 +02:00
Dean Herbert
142c61ab9b
Move playlist item download button to left
2023-10-09 12:21:56 +09:00
Bartłomiej Dach
cfcdbe1c30
Merge pull request #25028 from peppy/bindable-fixes
...
Fix some incorrect bindable-related code
2023-10-06 22:31:30 +02:00
Dean Herbert
8e5b2e78e5
Fix variable clash
2023-10-06 21:01:23 +09:00
Dean Herbert
1d7b8ea21a
Fix incorrect implementation of IHasCurrentValue
in FooterButtonFreeMods
2023-10-06 16:51:40 +09:00
Dean Herbert
5a17a86d1d
Merge branch 'master' into clock-fix-attempt-2
2023-10-04 16:57:49 +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
Joseph Madamba
9e90374a90
Flash discard changes dialog popup when force quitting room/playlist creation with changes
2023-09-28 17:09:50 -07:00
Dean Herbert
a639e51ddb
Fix value not updating after missing beatmap is imported
2023-09-27 18:17:25 +09:00
Dean Herbert
175cf68bd6
Avoid re-fetching WorkingBeatmap
2023-09-27 18:13:07 +09:00
Fabian van Oeffelt
2040dcabe0
Improve Code Quality
2023-09-25 17:51:39 +02:00
Fabian van Oeffelt
2a3391d83b
Remove unused namepace
2023-09-25 16:56:34 +02:00
Fabian van Oeffelt
59d3143645
Fix SR/BPM Display in Playlist rooms
2023-09-25 16:53:40 +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
Bartłomiej Dach
76bf82d900
Do not show mod effects on free mod select
2023-09-11 09:55:45 +02:00
Dean Herbert
081fb308e1
Merge branch 'master' into new-overlay-sfx
2023-08-24 18:29:00 +09:00
Jamie Taylor
2e27a476bb
Re-enable sample playback for PasswordEntryPopover
and remove sampleJoin
playback instead
2023-08-24 18:04:47 +09:00
Dean Herbert
4915b2563c
Merge pull request #24366 from Joehuu/supporter-playlist-duration
...
Always show supporter-only playlist durations
2023-08-21 17:46:26 +09:00
Dean Herbert
75750957c7
Add note about why pop in samples are disabled for PasswordEntryPopover
2023-08-18 17:11:30 +09:00
Jamie Taylor
3d7ba0e18c
Add pop-in/pop-out sfx to more overlays
2023-08-17 18:36:37 +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
Joseph Madamba
9d87ff2986
Improve supporter-only duration notice and fix max duration of non-supporter
...
See 3c54229256/.env.example (L230)
. Might have more duration options in the future.
2023-07-26 01:37:55 -07:00
Joseph Madamba
30e0e00c52
Rename selectedAvailableDuration
to hasValidDuration
2023-07-25 22:57:01 -07:00
Joseph Madamba
0bd34a4f13
Always show supporter-only playlist durations
2023-07-25 21:14:21 -07:00
Dean Herbert
157b1f301b
Rename AllowTrackAdjustments
to more understandable ApplyModTrackAdjustments
2023-07-25 20:20:53 +09:00
Dean Herbert
c93d6a4008
Invert text colour when freemods is enabled for better contrast
2023-07-20 13:04:26 +09:00
Dean Herbert
18c5fc689f
Don't expose such specific information from ModSelectOverlay
2023-07-20 12:58:13 +09:00
Dean Herbert
4057fcd70e
Merge branch 'master' into toggle-all-freemods
2023-07-20 12:56:46 +09:00
Bartłomiej Dach
764029bde1
Fix nullability inspection
2023-07-19 19:23:08 +02:00
Dean Herbert
e47722565a
Clarify guard condition in RoomSubScreen
2023-07-19 19:39:10 +09: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
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