Dean Herbert
ffa5291b74
Add fallback handling for item count to support different request types
2022-02-21 19:37:36 +09:00
Dean Herbert
b5348e0407
Update ruleset filtering to use newly provided array return
2022-02-21 19:05:32 +09:00
Dean Herbert
b43008b9f6
Add cover and count handling from newer response version
2022-02-21 19:05:22 +09:00
Dean Herbert
39d64e779c
Handle API returned difficulty range for rooms
2022-02-21 19:05:19 +09:00
Dean Herbert
02a8500500
Ensure spotlights always show at the top of the lounge listing
...
As proposed at https://github.com/ppy/osu/discussions/16936 . Spotlights
are intended to have focus, so let's make sure they are the first thing
the user sees for the time being.
2022-02-21 18:01:46 +09:00
Dean Herbert
2a1edcdf73
Merge branch 'master' into remove-playlistitem-beatmap
2022-02-17 17:19:26 +09:00
Stedoss
aac1c53b06
Remove creator name from playlist item panel beatmap text
2022-02-17 03:04:16 +00:00
Dan Balasescu
edd31bf3aa
Revert styling change
2022-02-16 15:51:18 +09:00
Dean Herbert
7e24b36f26
Merge branch 'master' into remove-playlistitem-beatmap
2022-02-16 14:24:57 +09:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6
2022-02-16 00:40:04 +09:00
Dan Balasescu
b1dbd4abfe
Fix incorrect playlist item <-> availability tracker logic
...
Results in revert to some prior logic for the tracker implementation.
2022-02-15 23:50:12 +09:00
Dan Balasescu
bdc3b76df0
Remove beatmap bindable from PlaylistItem
2022-02-15 23:50:08 +09:00
Dan Balasescu
afcb7a4630
Make DrawableRoomPlaylistItem look up the online beatmap
2022-02-15 23:41:50 +09:00
Dan Balasescu
73ce1b324e
Make DrawableRoom look up the online beatmap
2022-02-15 23:41:50 +09:00
Dan Balasescu
5b765581d8
Fix free mod selection not showing allowed mods
2022-02-15 16:28:15 +09:00
Dan Balasescu
efeba30b9f
Remove ruleset and mod bindables from PlaylistItem
2022-02-15 16:28:15 +09:00
Dean Herbert
8da0800d7f
Update ChangeFocus
usage in line with framework changes
2022-02-15 02:47:35 +09:00
Dan Balasescu
18251c9285
Clean up SpectatorScreen based on suggestions
2022-02-09 12:20:07 +09:00
Dan Balasescu
ffc4c64f7e
Unify namings across the board
2022-02-09 12:10:07 +09:00
Dan Balasescu
886d1d2df6
Refactorings
2022-02-08 21:29:43 +09:00
Dan Balasescu
4c76027178
Rename completed state to passed
2022-02-08 20:29:49 +09:00
Dan Balasescu
45b3f472ab
Merge branch 'master' into spectator-state-rework
2022-02-08 19:51:50 +09:00
Dan Balasescu
c2416c490e
Fix crash on disconnection during multi-spectate
2022-02-08 11:29:39 +09:00
Dan Balasescu
d5269ba05b
Merge branch 'fix-spectator-restart-crash' into spectator-state-rework
2022-02-04 17:59:18 +09:00
Dan Balasescu
0473c6c52f
Also handle null SelectedItem for safety
2022-02-04 17:53:51 +09:00
Dan Balasescu
b41655d5b9
Fix crash when gameplay starts while in multi-spectator screen
2022-02-04 17:47:41 +09:00
Dan Balasescu
f285060148
Fix MultiSpectatorScreen not continuing to results
2022-02-03 21:50:19 +09:00
Dan Balasescu
483977d5c8
Merge branch 'master' into spectator-state-rework
2022-02-03 19:59:07 +09:00
Dan Balasescu
6d3bc005ea
Merge branch 'master' into spectator-state-rework
2022-02-02 18:57:04 +09:00
Dan Balasescu
b5fb3b7dae
Fix crash when selecting swap mod as freemod
2022-02-02 18:42:22 +09:00
Dean Herbert
d065e32ca1
Fix crash due to MatchLeaderboardScore
s not having populated rulesets
2022-02-02 13:23:49 +09:00
Dan Balasescu
781cb9f18d
Move HasPassed/HasFailed into GameplayState
2022-02-01 14:46:24 +09:00
Dan Balasescu
f3d4756c7f
Merge pull request #16713 from frenzibyte/fix-spectator-gcc-state-2
...
Fix multiplayer spectator occasionally rewinding time unexpectedly
2022-01-31 18:33:08 +09:00
Dan Balasescu
a49a9ed0a0
Fix incorrect invoke
2022-01-31 17:19:04 +09:00
Dean Herbert
acc1199add
Consolidate flows of Set
operations, either result or error
2022-01-30 16:16:00 +09:00
Salman Ahmed
3ec193d47e
Fix spectator clock container incorrectly starting catch-up clock
2022-01-30 01:46:10 +03:00
Salman Ahmed
4f4f60248f
Add failing test case
2022-01-30 01:46:10 +03:00
Dean Herbert
daea13f491
Simplify flow of cancellation token
2022-01-29 23:58:57 +09:00
Dean Herbert
3d59bab7c6
Remove fetch callback logic completely
2022-01-29 23:58:57 +09:00
Dean Herbert
aee93934d5
Rename methods to make more sense (and always run through AddOnce
)
2022-01-29 23:58:57 +09:00
Dean Herbert
c44af4853d
Add thread safety to PollingComponent.Poll
implementations
2022-01-28 13:43:53 +09:00
Jamie Taylor
493a970ed5
Remove unused AudioManager
2022-01-19 14:08:21 +09:00
Dean Herbert
5601f6f1fe
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-17 12:29:02 +09:00
Dean Herbert
671a3d47b8
Move bindable binding to LoadComplete
and remove unnecessary unbind
2022-01-15 21:20:27 +09:00
Dean Herbert
ea8e49c543
Reorder private/protected methods
2022-01-15 21:19:02 +09:00
Jamie Taylor
7e9b5dd150
Add audio feedback for host change in multiplayer
2022-01-14 18:11:00 +09:00
Dean Herbert
f4a1fa85a1
Fix incorrect conditional for deciding whether scores can be deleted from UI
2022-01-12 17:49:10 +09:00
Bartłomiej Dach
c5ac996e3f
Restore ruleset using current playlist item on resuming room sub screen
...
Ensures that the ruleset selected at the multiplayer song selection
screen does not overwrite the current playlist item's ruleset.
2022-01-08 14:56:01 +01:00
Dean Herbert
675bdd3213
Fix MultiplayerMatchSubScreen
mutating mods outside of bindable lease
...
As seen at https://github.com/peppy/osu/runs/4674501626?check_suite_focus=true .
2022-01-01 12:13:59 +09:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Dan Balasescu
a43cc20ae2
Apply changes to GameplayCompleted from reviews
2021-12-24 21:58:20 +09:00
Dan Balasescu
c6854b37c8
Unbind event on disposal
2021-12-24 21:58:09 +09:00
Dan Balasescu
727335dcad
Improve reliability of exiting gameplay
2021-12-24 14:23:09 +09:00
Dean Herbert
a88800c99a
Merge pull request #16198 from smoogipoo/fix-current-item-before-population
...
Fix delete button showing on current item before beatmap retrieval
2021-12-22 13:15:07 +09:00
Dan Balasescu
4ce61d4260
Directly bind to room updates
...
Currently doesn't really cause any difference, however it may in the
future if we decide the queueing algorithm shouldn't update PlaylistOrder
when an item has been played.
2021-12-21 18:40:29 +09:00
Dan Balasescu
a34d24fb20
Disallow expired items from showing delete button
...
This isn't possible in practice since expired items are removed from the
queue list, but this helps out in tests.
2021-12-21 18:37:42 +09:00
Dan Balasescu
4ba5a939db
Merge pull request #16178 from bdach/lounge-background-screen-correct
...
Fix lounge screen showing information sourced from wrong playlist item
2021-12-21 17:36:23 +09:00
Dan Balasescu
51b7e920c0
Fix delete button being able to show on current item
2021-12-21 16:57:58 +09:00
Dean Herbert
d08b66a5ff
Also add logging to OnlinePlayScreen
2021-12-21 15:07:06 +09:00
Dean Herbert
ddadf3c4b5
Add logging of MultiplayerMatchSubScreen
exiting from room loss
2021-12-21 14:53:24 +09:00
Bartłomiej Dach
a5a9922f81
Fix lounge screen content not matching current room playlist item
2021-12-20 13:32:42 +01:00
Dean Herbert
6907a9a3cc
Name some screen stacks for better logging context
2021-12-20 18:24:14 +09:00
Dean Herbert
cd8dfac625
Merge pull request #16097 from smoogipoo/forego-resetting-spectate-state
...
Don't reset spectating state if spectator exited after gameplay finishes
2021-12-15 22:30:41 +09:00
Dean Herbert
33cf4ba7f6
Merge pull request #16075 from smoogipoo/prevent-idle-transition-during-load
...
Add AbortGameplay() to fix state transition race conditions during multiplayer load
2021-12-15 19:59:19 +09:00
Dean Herbert
9e82a3e79a
Merge branch 'master' into forego-resetting-spectate-state
2021-12-15 18:05:06 +09:00
Dan Balasescu
18d7b79207
Don't reset spectating state if gameplay is finished
2021-12-15 17:40:30 +09:00
Dan Balasescu
740a6f16c7
Fix exception when updating the room's visual playlist
2021-12-15 16:53:25 +09:00
Dan Balasescu
9ade8069a1
Rename to AbortGameplay() and handle additional states
2021-12-15 06:40:28 +09:00
Dan Balasescu
2f1dc91211
Add AbortLoad() method to abort gameplay loads
2021-12-14 11:30:42 +09:00
Dan Balasescu
70045494ba
Re-simplify code by removing BeatmapManager event instead
2021-12-13 16:09:54 +09:00
Dean Herbert
c097dc8048
Add note about reasoning behind MultiplayerClient.GetAPIBeatmap
call
2021-12-13 13:39:32 +09:00
Dean Herbert
3ea07b426b
Merge branch 'master' into multiplayer-local-beatmap-query
2021-12-13 13:27:34 +09:00
Dan Balasescu
2cd2b10ce1
Fix results sometimes showing incorrect score position
2021-12-13 06:54:57 +09:00
Dan Balasescu
bf3abb2455
Merge branch 'master' into multiplayer-local-beatmap-query
2021-12-12 16:37:41 +09:00
Dan Balasescu
a6e77f172d
Add some comments
2021-12-12 16:30:37 +09:00
Dan Balasescu
d6c08fae48
Fix incorrect global beatmap with availability changes
2021-12-11 23:08:21 +09:00
Dan Balasescu
ece2cddb7f
Fix DrawableRoomPlaylistItem lookup interfering with tests
2021-12-11 22:51:20 +09:00
Dan Balasescu
25b274c323
Fix starting gameplay too early after import
2021-12-11 22:47:50 +09:00
Dan Balasescu
cdb8237a4b
Merge branch 'master' into pre-realm-score-tidy
2021-12-11 19:25:39 +09:00
Dan Balasescu
6057037e35
Move playlist item beatmap population to MatchSubScreen
2021-12-10 20:08:59 +09:00
Dan Balasescu
e98060ac37
Remove unused using
2021-12-10 17:55:18 +09:00
Dean Herbert
970a9ae074
Add update thread asserts to RoomManager
methods
2021-12-10 17:22:24 +09:00
Dean Herbert
3633494509
Merge pull request #16020 from smoogipoo/host-enqueue-2
...
Add support for enqueueing items in host-only mode, and changing arbitrary playlist items
2021-12-10 16:23:48 +09:00
Dean Herbert
bf1418bafc
Use OnlineID
instead of legacy IDs for equality and lookups
2021-12-10 16:11:48 +09:00
Dan Balasescu
de0f37b08d
Separate editing and adding playlist items
2021-12-10 15:26:48 +09:00
Dean Herbert
88670c3b01
Document OpenSongSelection
and mark null param
2021-12-10 14:14:22 +09:00
Dean Herbert
612f47bb9f
Add the ability to create playlists of 2 weeks ~ 3 months in duration
2021-12-10 13:45:29 +09:00
Dan Balasescu
671582a925
Allow host to enqeue items and items to be edited
2021-12-10 01:15:19 +09:00
Dan Balasescu
048a495115
Add edit button to DrawableRoomPlaylistItem
2021-12-10 01:08:54 +09:00
Dan Balasescu
05aa9635a8
Privatise button again
2021-12-10 00:38:18 +09:00
Dan Balasescu
f9af239ed9
Cleanup duplicated classes in DrawableRoomPlaylistItem
2021-12-09 23:56:49 +09:00
Dean Herbert
538a822760
Merge branch 'master' into multiplayer-playlist-deletion
2021-12-09 19:04:06 +09:00
Dean Herbert
dfe19f3509
Minor code reformatting
2021-12-09 17:53:40 +09:00
Dan Balasescu
0963b00453
Disallow item selection in playlists song select
2021-12-09 17:33:59 +09:00
Dan Balasescu
17d676200b
Xmldoc fixes from code review
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-12-09 17:33:36 +09:00
Dan Balasescu
1a0945daba
Siplify condition, allow host to always remove items
2021-12-09 14:33:50 +09:00
Dan Balasescu
8398f86440
Don't consider expired items in visibility check
2021-12-09 04:02:16 +09:00
Dan Balasescu
c34c580ad4
Add client-side + interface implementation
2021-12-09 03:08:59 +09:00
Dan Balasescu
23332995d1
Invert naming of exposed actions
2021-12-09 01:52:59 +09:00
Dan Balasescu
273042aa16
Add virtual method for creating different DrawablePlaylistItem types
2021-12-09 01:49:34 +09:00
Dan Balasescu
3b4833ca8e
A bit of cleanup + xmldocs on classes/members
2021-12-09 01:40:16 +09:00
Dan Balasescu
be2dbf42c3
Flatten DrawableRoomPlaylistWithResults into base class
2021-12-09 01:40:16 +09:00
Dan Balasescu
26f6c5e5a5
Remove ctor params from PlaylistsRoomPlaylist
2021-12-09 01:16:37 +09:00
Dan Balasescu
3be4d8b68d
Remove ctor params from DrawableRoomPlaylist/DrawablePlaylistItem
2021-12-09 01:04:56 +09:00
Dan Balasescu
beb5d61a42
Separate playlist item deletion to Playlists-specific class
2021-12-08 20:50:25 +09:00
Dan Balasescu
7e236c3a41
Remove unused dependency
2021-12-07 23:36:48 +09:00
Dan Balasescu
52230a6f00
Merge branch 'master' into multiplayer-delayed-playlist-load-broken
2021-12-07 22:45:05 +09:00
Dean Herbert
a8c20368c0
Merge pull request #15976 from smoogipoo/add-modes-to-room-panels
...
Add match type and queue mode to multiplayer room panels
2021-12-07 22:08:30 +09:00
Dan Balasescu
4683193f09
Move implementation to base class
2021-12-07 20:36:39 +09:00
Dan Balasescu
5ffe702dd6
Add match type and queue mode to multiplayer room panels
2021-12-07 18:57:13 +09:00
Dean Herbert
dea7f2308c
Fix participant panels potentially keeping a reference to an old user
...
If a user leave and then rejoins a multiplayer match while another user
is not at the lobby screen, there is a potential the `ParticipantPanel`
tracking the user will not correctly be recreated to reference the new
instance of the `MultiplayerUser`.
This happens because the `OnRoomUpdated` call is scheduled, which means
it is not running in the background, coupled with the local logic that
relies on `IEquatable(MultiplayerRoomUser)` (which in turn falls back to
a UserID comparison).
Changing this to a reference comparison is the easiest way to resolve
this. Whether we change the `IEquatable` implementation is up for
discussion.
Closes https://github.com/ppy/osu/issues/15970 .
2021-12-07 17:24:04 +09:00
Dean Herbert
0ea7a69084
Ensure user is returned to the RoomSubScreen
before gameplay is started
...
This covers the scenario where a user may be at the song select screen
while another user (the room host) starts the match. This was only made
possible with the new queue modes, so is quite a recent regression.
2021-12-06 14:03:52 +09:00
Dean Herbert
a76cfbea21
Add test coverage of incorrect beatmap being used in multiplayer when match started from song select
2021-12-06 14:03:33 +09:00
Dean Herbert
e1897f9998
Don't debounce MultiplayerRoomComposite
events
...
This avoids accidental usage which could result in data being lost or
ignored (as only the last `user` in a single frame would arrive).
This was added specifically to debounce sample playback, but given that
it's only debouncing on a single frame (hardly noticeable) I'm not going
to add back support for that yet. It should be handled by sample
playback concurrency or something more local to the usage.
2021-12-05 01:38:39 +09:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store
2021-12-04 15:05:39 +01:00
Bartłomiej Dach
53a6ef22ce
Add null check to resolve inspection
2021-12-04 14:55:35 +01:00
Bartłomiej Dach
b3b239c9a1
Fix test failures due to beatmap lookup logic being active even when model is populated
2021-12-04 13:59:01 +01:00
Dean Herbert
517a344bcc
Merge branch 'master' into new-multiplayer-playlist
2021-12-04 13:16:09 +09:00
Dan Balasescu
d5803e541b
Give playlist items a PlayedAt date
2021-12-03 20:25:51 +09:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
e75e209053
Cache and consume IRulesetStore
where feasible
2021-12-03 18:16:01 +09:00
Dan Balasescu
487a71312e
Split out code so base methods aren't called
2021-12-03 16:40:20 +09:00
Dan Balasescu
0a1304b92a
Remove gameplay_order, use existing playlist_order
2021-12-03 15:45:13 +09:00
Dan Balasescu
b75a5b778e
Update history list to also sort by gameplay order
2021-12-03 15:05:56 +09:00
Dan Balasescu
933fd49cff
Fix missed callbacks due to AddOnce() schedules
2021-12-02 22:33:14 +09:00
Dan Balasescu
9760a2b087
Update MultiplayerQueueList to take advantage of GameplayOrder
2021-12-02 22:33:14 +09:00
Dean Herbert
512818648f
Add some more breathing room between tab control and queue content
2021-12-02 16:56:30 +09:00
Dean Herbert
a8e17cb3a5
Add relative size specs so partially on-screen panels still start loading
...
Without this, panels at the top of the list but not fully on-screen
wouldn't begin their metadata loading process.
2021-12-01 22:46:38 +09:00
Dean Herbert
d262baefad
Only query for the owner user metadata in the case it is actually required
2021-12-01 22:43:32 +09:00
Dean Herbert
a0ff86f5e8
Ensure all read and write operations on APIRoom
are done on the update thread
2021-12-01 22:43:03 +09:00
Dan Balasescu
e5e2ae8ab4
Fix dangling line post-rebase
2021-12-01 21:36:25 +09:00
Dan Balasescu
e87b0003fb
Fix queue mode not being bound to in all cases
2021-12-01 21:35:23 +09:00
Dan Balasescu
ad35f3434b
Fix queue list not considering expired items
2021-12-01 21:35:23 +09:00
Dan Balasescu
e2f289eeff
Xmldocs
2021-12-01 21:35:23 +09:00
Dan Balasescu
93a7726f4a
Remove now-unused parameter
2021-12-01 21:35:23 +09:00
Dan Balasescu
d70355237d
Fix selected item not bound
2021-12-01 21:35:23 +09:00
Dan Balasescu
c3dfe10a8a
Add new list to match subscreen
2021-12-01 21:35:22 +09:00
Dan Balasescu
1152c4e8e9
Fix tests
2021-12-01 21:35:22 +09:00
Dan Balasescu
7847ce6253
Redesign with tab control
2021-12-01 21:35:22 +09:00
Dan Balasescu
95050d6597
Extract class to file
2021-12-01 21:35:22 +09:00
Dan Balasescu
fc8c8685b8
Add playlist queue tests
2021-12-01 21:35:22 +09:00
Dan Balasescu
e0ca1af9b8
Remove ctor params
2021-12-01 21:35:22 +09:00
Dan Balasescu
bfd2dc28c8
Rename QueueList -> MultiplayerQueueList
2021-12-01 21:35:22 +09:00
Dan Balasescu
6b198ce112
Document simulation
2021-12-01 21:35:22 +09:00
Dan Balasescu
ef170471f0
Merge branch 'master' into new-multiplayer-playlist
2021-12-01 21:35:22 +09:00
Dan Balasescu
9806c75743
Implement better round robin algorithm
2021-12-01 21:35:12 +09:00
Dan Balasescu
68bb49fc1e
Add QueueList tests
2021-12-01 21:33:48 +09:00
Dan Balasescu
0cb35e8b18
Separate out QueueList
2021-12-01 21:33:48 +09:00
Dan Balasescu
17bc0b51aa
Merge branch 'playlist-item-add-owner' into new-multiplayer-playlist
2021-12-01 21:33:48 +09:00
Dan Balasescu
942e48ffbd
Merge branch 'master' into new-multiplayer-playlist
2021-12-01 21:33:11 +09:00
Dan Balasescu
c38537a51a
Initial implementation of MultiplayerPlaylist
2021-12-01 21:32:56 +09:00
Dean Herbert
e4ba66877d
Improve transitions when loading new data into a playlist panel
2021-11-30 19:54:26 +09:00
Dean Herbert
fe119da044
Add fetching of beatmap and user data when playlist panels come on screen
2021-11-30 19:52:36 +09:00
Bartłomiej Dach
95373649a4
Skip null items in star rating range display
2021-11-30 19:44:50 +09:00
Bartłomiej Dach
695167a749
Add support for null item display in DrawableRoomPlaylistItem
2021-11-30 19:44:50 +09:00
Bartłomiej Dach
05f7ea6b6d
Remove mentions of "panel" and "direct" from names of old download buttons
2021-11-27 15:08:03 +01:00
Bartłomiej Dach
a043d1e427
Move old beatmap download button to more general namespace
2021-11-27 15:06:57 +01:00
Dean Herbert
b8a47755fa
Don't show loading tooltip for now
...
Should probably be replaced with a loading spinner in the future, don't
really like "loading" tooltips.
2021-11-26 22:54:11 +09:00
Dan Balasescu
e1445dcb05
Only show owner in match subscreen
2021-11-26 17:40:45 +09:00
Dan Balasescu
8be2defd09
Right-align avatar
2021-11-26 17:17:06 +09:00
Dan Balasescu
8541db1e85
Merge branch 'master' into playlist-item-add-owner
2021-11-26 17:13:23 +09:00
Dan Balasescu
1f5d95666e
Add owner avatar to multiplayer items
2021-11-25 23:15:29 +09:00
Dan Balasescu
132bb59203
Update working beatmap when returning to match
2021-11-24 19:56:02 +09:00
Dan Balasescu
6363833fb3
Revert unnecessary changes
2021-11-23 16:17:09 +09:00
Dan Balasescu
1f13669636
Don't poll while in room
...
Fixes timeout in `TestJoinRoomWithoutPassword`, because the 'server' returns
out-of-date data while the `MatchSubScreen` has possible not been entered
yet (and thus hasn't disabled polling itself yet).
Can be tested by adding a `Task.Delay(3000);` at the end of
the `MultiplayerClient.JoinRoom()` task.
2021-11-23 16:14:01 +09:00
Dan Balasescu
69a9fc9732
Fix a few more multiplayer test timeouts
...
These can be tested by adding a `Task.Delay(3000);` at the end of the
`MultiplayerClient.JoinRoom` task. The reason is typically that
`Client.Room` becomes not-null but the join task still hasn't completed
yet, so e.g. the ready button is still disabled.
2021-11-23 16:07:03 +09:00
Dan Balasescu
4b498c7bd6
Merge branch 'master' into multi-queueing-modes
2021-11-22 07:46:45 +09:00
Dan Balasescu
d397524878
Merge pull request #15676 from peppy/multiplayer-incorrect-beatmap-error
...
Show better error message when selecting an unavailable beatmap during multiplayer room creation
2021-11-19 18:59:46 +09:00
Dan Balasescu
de0e8ad822
Merge branch 'master' into multi-queueing-modes
2021-11-19 18:58:15 +09:00
Dan Balasescu
4c8c34b43f
Use full name for round robin
2021-11-19 18:42:34 +09:00
Dan Balasescu
4e625b78e2
Update queue mode names
2021-11-19 18:28:43 +09:00
Dan Balasescu
12e1142b07
Rename settings section
2021-11-19 15:47:40 +09:00
Dan Balasescu
a922ce2fd9
Remove unnecessary nameofs
2021-11-19 15:45:45 +09:00
Dean Herbert
0c289bf8e5
Remove pointless namespace
2021-11-19 14:46:53 +09:00
Dean Herbert
284e554cbf
Only show user displayable portion of server errors when seleting a song in multiplayer
2021-11-19 13:58:03 +09:00
Dean Herbert
c901a4fd7e
Show better error message when selecting an unavailable beatmap during multiplayer room creation
2021-11-19 13:28:42 +09:00
Dean Herbert
cb2547a6be
Merge branch 'master' into multi-queueing-modes
2021-11-19 13:20:57 +09:00
Dan Balasescu
1dacc50ecb
Merge branch 'master' into multi-queueing-modes
2021-11-18 15:16:27 +09:00
Dean Herbert
66c307e0ee
Remove usage of key repeat helper method
2021-11-18 13:13:36 +09:00
Dean Herbert
3de8125eac
Update UI cases where repeat should not be handled
2021-11-18 13:13:36 +09:00
Dean Herbert
214705f1e5
Adjust error message, take 2
2021-11-17 21:11:37 +09:00
Dan Balasescu
5fb5baa4c9
Adjust error message
2021-11-17 21:06:33 +09:00
Dean Herbert
96e983bbad
Disallow playlist item selection at playlist room creation screen
...
Wasn't being used for anything, confusing that it's even possible.
2021-11-17 14:40:07 +09:00
Dean Herbert
8e9b55ef6d
Disallow selection of invalid items
2021-11-17 11:28:43 +09:00
Dean Herbert
6dd684588a
Merge branch 'master' into playlist-show-invalid-beatmaps
2021-11-16 17:25:33 +09:00
Dean Herbert
2d125893fc
Add tests and disable selection on invalid items
2021-11-16 17:23:52 +09:00
Dean Herbert
6f82e6351f
Parse osu-web error text to present invalid items to the user in a more approachable format
2021-11-16 17:14:15 +09:00
Dean Herbert
e78c5d0858
Show loadingLayer
before calling CreateRoom
...
This fixes `TestScenePlaylistsMatchSettingsOverlay` incorrectly leaving
the loading layer visible.
2021-11-16 17:14:15 +09:00
Dean Herbert
aa188d5a52
Add ability for playlist items to be marked as invalid
2021-11-16 17:01:24 +09:00
Dean Herbert
49cdcffa30
Simplify schedule logic in DrawableRoomPlaylistItem
2021-11-16 16:58:44 +09:00
Dan Balasescu
29d0d5badf
Rename QueueModes -> QueueMode
2021-11-16 14:53:10 +09:00
Dan Balasescu
5c3141d16a
Fix ready button tooltip showing when locally available
2021-11-16 14:48:52 +09:00
Dan Balasescu
459e819a5d
Update todo
2021-11-16 00:50:23 +09:00
Dan Balasescu
d27edb3a25
Fix another potential crash from async load
2021-11-16 00:31:46 +09:00
Dan Balasescu
b9e38269e3
Prevent playlist mangling selection if not allowed
2021-11-16 00:31:46 +09:00
Dan Balasescu
8e014ca17a
Reverse in-match playlist
2021-11-16 00:31:46 +09:00
Dan Balasescu
eb983ed548
Fix potential crash from playlist updating during async load
2021-11-16 00:02:38 +09:00
Dan Balasescu
f743a3647f
Rename APIPlaylistItem -> MultiplayerPlaylistItem
2021-11-15 23:14:27 +09:00
Dean Herbert
5489b19c57
Update PlaylistItem
to use IRulesetInfo
2021-11-15 16:13:03 +09:00
Dean Herbert
1988b263c6
One more missed usage..
2021-11-15 16:02:08 +09:00
Dean Herbert
73cb80d8a4
Update one more missed usage
2021-11-15 16:00:45 +09:00
Dean Herbert
285b161da7
Update other usages of online ID comparisons to use new extension method
2021-11-15 14:44:08 +09:00
Dan Balasescu
3b24ec3643
Merge branch 'master' into multi-queueing-modes
2021-11-12 22:16:04 +09:00
Dean Herbert
6a098a8634
Rename BeatmapInfo.OnlineBeatmapID
to OnlineID
to match interface
2021-11-12 17:46:24 +09:00
Dan Balasescu
07a7b4bcdc
Merge branch 'master' into multi-queueing-modes
2021-11-11 22:19:30 +09:00
Bartłomiej Dach
9664b9a97c
Fix being able to switch own team by clicking other players' team indicators
2021-11-11 09:01:50 +01:00
Dan Balasescu
aad4b8ff80
Fix ready button remaining enabled for expired items
2021-11-10 18:42:46 +09:00
Dan Balasescu
02efe24e39
Fix checksum not passed to AddPlaylistItem
2021-11-10 18:36:55 +09:00
Dan Balasescu
c7381b4df0
Fix host check
...
Although the underlying issue is that the host user is not populated.
Not sure whether this should be fixed at all.
2021-11-10 18:36:22 +09:00
Dean Herbert
328c72c358
Fix TeamDisplay
not showing after changing to team versus
2021-11-10 13:44:31 +09:00
Dean Herbert
52c740b377
Add failing test showing team display display failure
2021-11-10 13:44:31 +09:00
smoogipoo
c716051530
Merge branch 'master' into multi-queueing-modes
2021-11-08 19:19:50 +09:00
Dean Herbert
78aef9ce86
Merge branch 'master' into remove-stupid-weak-reference-bindable-events
2021-11-08 13:35:49 +09:00
Dean Herbert
54f72d68ca
Revert weird event flow in model manager/importers
2021-11-05 19:12:49 +09:00
smoogipoo
e6deb0c873
Merge branch 'master' into multi-queueing-modes
2021-11-05 15:57:25 +09:00
Dean Herbert
86540d1fb6
Update existing usages of Author
as string
to access Username
directly
2021-11-04 18:57:54 +09:00
Dean Herbert
b9983add15
Rename User
to APIUser
and move to correct namespace
2021-11-04 18:21:31 +09:00
Dean Herbert
df3c3a32ce
Fix unintentionally broken background update logic
2021-11-04 18:07:39 +09:00
Dean Herbert
a5a7181915
Fix unintentionally broken background update logic
2021-11-04 15:35:32 +09:00
Dean Herbert
a49366ff84
Remove nullability from IBeatmapInfo.Metadata
2021-11-04 14:28:39 +09:00
Dean Herbert
9f9c960fe3
Revert PlaylistItem.APIBeatmap
to be private
2021-11-04 13:36:32 +09:00
Dean Herbert
05f1fd4bc9
Remove unnecessary properties and parameters
2021-11-04 13:33:54 +09:00
Dean Herbert
3453160a8b
Change PlaylistItem.Beatmap
to be an IBeatmapInfo
2021-11-04 13:16:56 +09:00
Dean Herbert
6fdeb66dc1
Use APIBeatmap
instead of BeatmapInfo
in playlist display classes where feasible
2021-11-04 11:55:50 +09:00
Bartłomiej Dach
098fa181b4
Fix text flow wrapping incorrectly in multiplayer usages
2021-11-03 18:36:43 +01:00
Bartłomiej Dach
ed00cd9fc5
Remove simple localisable .ToString()
calls
2021-11-02 21:42:02 +01:00
Bartłomiej Dach
ad98ab0a26
Fix drawable room playlist item assuming single sprite text
2021-11-02 21:42:02 +01:00
Bartłomiej Dach
b95c95527e
Accept LocalisableString
s in LinkFlowContainer
2021-11-02 21:42:01 +01:00
Dean Herbert
6efd3d3115
Don't perform background difficulty calculation for multiplayer panels
...
There are cases these are shown in a long list. They shouldn't be
running calculations.
2021-11-03 03:12:52 +09:00
smoogipoo
3db199292f
Fix queue mode not passed from room to settings overlay
2021-11-01 18:52:57 +09:00
smoogipoo
65b920e4c1
Merge branch 'master' into multi-queueing-modes
2021-11-01 18:37:16 +09:00
Dean Herbert
123b10f647
Fix playlist item download button being clickable when it shouldn't
2021-11-01 15:10:32 +09:00
smoogipoo
e667ef4eea
Add basic tests
2021-10-29 15:44:48 +09:00
Dean Herbert
414d920ca2
Revert to previous exposure of RoomSubScreen.BeatmapAvailability
2021-10-29 12:02:10 +09:00
Dean Herbert
b252b176d4
Seal implementation and add comment about LoadComplete
execution order
2021-10-29 11:59:07 +09:00
Dean Herbert
3b095e1626
Merge branch 'master' into beatmap-refactor/download-tracker
2021-10-29 11:50:54 +09:00
smoogipoo
f076b72fbe
Merge branch 'master' into multi-queueing-modes
2021-10-29 10:48:16 +09:00
Dean Herbert
6f5040722a
Merge branch 'master' into beatmap-refactor/uncontested
2021-10-28 16:37:26 +09:00
Dean Herbert
a9208838a9
Merge pull request #15307 from peppy/playlist-remaining-attempt-display
...
Show remaining attempts again on playlist screen
2021-10-28 05:28:20 +09:00
Dean Herbert
746d6a4c16
Fix some oversights and test failures
2021-10-27 23:42:27 +09:00
Dean Herbert
f014ceaead
Update remaining usages of download tracking
2021-10-27 21:00:46 +09:00
Dean Herbert
f268363924
Update UpdateableBeatmapBackgroundSprite
to accept IBeatmapInfo
2021-10-27 16:38:48 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
c15bfb2cf4
Handle bindable changes to fix new playlist creation not showing correct details
2021-10-26 18:19:05 +09:00
Dean Herbert
42d8d4fd38
Add tooltips to start button to explain why it's not clickable
2021-10-26 18:06:08 +09:00
Dean Herbert
1c578f285a
Disable playlist start button when attempts have been exhausted
2021-10-26 18:06:08 +09:00
Dean Herbert
bffd9162ba
Tint attempt count red when no attempts remain
2021-10-26 18:06:08 +09:00
Dean Herbert
708d40931b
Add back remaining attempt display on playlist room screen
2021-10-26 18:06:08 +09:00
Dean Herbert
ea55ba7ba9
Remove unused using statement
2021-10-26 16:08:21 +09:00
Dean Herbert
6c38028d06
Fix gameplay chat display not losing focus on escape key press
...
Closes #15293 .
2021-10-26 13:55:08 +09:00
Dan Balasescu
c6ca0e5895
Merge branch 'master' into fix-password-popover-focus
2021-10-22 22:52:46 +09:00
smoogipoo
04b0529a7f
Fix list overflowing subscreen background
2021-10-22 22:17:26 +09:00
smoogipoo
d7a98097a1
Make DrawableRoomPlaylist handle expired items
2021-10-22 21:04:52 +09:00
smoogipoo
95ab82fb58
Remove BeatmapSelectionControl and inline at usage sites
2021-10-22 19:41:36 +09:00
Dean Herbert
90477e3788
Remove unused BeatmapTypeInfo
class
...
Helps reduce the scope of upcoming changes.
2021-10-22 19:13:50 +09:00
smoogipoo
db87e42d47
Remove beatmap/ruleset/etc from MultiplayerRoomSettings
2021-10-22 16:48:28 +09:00
Dean Herbert
c580ec865f
APIBeatmapSet.Covers
is never null
2021-10-21 19:34:01 +09:00
Dean Herbert
69e7810dad
Enable nullable
and switch classes to structs
2021-10-21 18:54:36 +09:00
smoogipoo
f41cf822b0
Rename request
2021-10-21 17:02:11 +09:00
Dean Herbert
0706ad70fb
Move BeatmapSetOnlineInfo
to an interface type
2021-10-21 16:58:42 +09:00
Bartłomiej Dach
9ad9465020
Remove online-screen-local textbox recolours
2021-10-20 22:49:25 +02:00
smoogipoo
691e414acb
Add request to add a new playlist item
2021-10-20 21:08:58 +09:00
smoogipoo
67090fc598
Re-namespace enum
2021-10-20 20:52:16 +09:00
smoogipoo
599867a3b1
Add implementation to settings overlay
2021-10-20 20:29:06 +09:00
smoogipoo
0e446105fb
Rename to "picking mode" as simpler english
2021-10-20 17:52:51 +09:00
smoogipoo
bc57190fb4
Make dropdown not move the selection control
2021-10-20 17:52:05 +09:00
smoogipoo
116ce09e49
Merge branch 'master' into multi-queueing-modes
2021-10-20 17:27:25 +09:00
smoogipoo
ea9c070e59
Add setting for queue mode
2021-10-20 14:51:59 +09:00
Dean Herbert
480dc57102
Schedule joinFailed
callback for added safety
2021-10-19 15:54:12 +09:00
Dean Herbert
da524261c0
Fix focus potentially being transferred too far up when password is being verified
2021-10-19 15:53:29 +09:00
Dean Herbert
a589964dc7
Centralise join logic
2021-10-19 15:53:29 +09:00
Dean Herbert
8944b1dd78
Add basic test coverage of DrawableLoungeRoom
2021-10-19 15:36:27 +09:00
Dean Herbert
473459d191
Add layout duration to PasswordEntryPopover
to make error text look a bit smoother
2021-10-19 15:36:27 +09:00
Dean Herbert
d35fe5493a
Change default value of DrawableLoungeRoom.matchingFilter
so they display by default
2021-10-19 15:36:27 +09:00
5ln
3529f34c98
Multi: Hide mods when spectating or Beatmap isn't Locally Available.
...
Signed-off-by: 5ln <xnafumie@gmail.com>
2021-10-18 02:01:50 +08:00
smoogipoo
2fd101ad50
Reorder elements to follow designs
2021-10-15 20:25:32 +09:00
smoogipoo
a70d7e4feb
Remove unnecessary extra GridContainer
2021-10-15 20:18:25 +09:00
Dean Herbert
9d54285b2e
Merge branch 'master' into fix-multiplayer-sounds-during-gameplay
2021-10-14 21:34:04 +09:00
Dean Herbert
06249c4ab2
Fix incorrect usages of Scheduler.AddOnce
2021-10-14 17:52:19 +09:00
Dean Herbert
0d86dab80a
Fix multiplayer components updating when not alive
...
Should close https://github.com/ppy/osu/issues/15092 .
- [ ] Depends on https://github.com/ppy/osu-framework/pull/4826 .
2021-10-14 17:37:10 +09:00
Bartłomiej Dach
d2115824fa
Merge branch 'master' into dropdown-refresh
2021-10-13 23:53:14 +02:00
Bartłomiej Dach
f3647eb94e
Recolour room settings screens to match dropdown theming
2021-10-13 22:50:19 +02:00
smoogipoo
fdf7142711
Remove Room.Position
2021-10-13 21:24:54 +09:00
Dan Balasescu
4bbff2ebf7
Merge branch 'master' into new-interfaces
2021-10-06 11:38:17 +09:00
Dean Herbert
d3b9660148
Move common interface implementations to extension methods
2021-10-05 14:41:14 +09:00
Dean Herbert
b41fa41c85
Rename APIRequest.Result
to Response
2021-10-05 14:28:56 +09:00
Dean Herbert
853cf6feaa
Rename last remaining BeatmapInfo Beatmap
usage
2021-10-04 17:35:53 +09:00
Dan Balasescu
aa1bfc16d2
Merge pull request #14929 from peppy/gameplay-state
...
Replace `GameplayBeatmap` with `GameplayState`
2021-10-04 15:56:44 +09:00
Bartłomiej Dach
017756cbca
Use Torus alternates on online play screens as per design
2021-10-04 00:26:41 +02:00
Dean Herbert
05ca3aec4f
Rename GameplayState
to SpectatorGameplayState
2021-10-02 02:10:11 +09:00
smoogipoo
816018edb7
Move hosted by text into nullcheck
2021-09-30 12:04:30 +09:00
smoogipoo
202a602d2f
Change default status to "ready to play"
2021-09-30 12:03:44 +09:00
smoogipoo
ea30445efc
Remove verbatim string
2021-09-30 12:03:34 +09:00
smoogipoo
619a907c47
Fix zero height grid
2021-09-30 12:01:26 +09:00
smoogipoo
56b3c8aa9a
Remove forgotten text
2021-09-30 11:52:14 +09:00
smoogipoo
c83dd7d2b6
Merge OnlinePlayComposite and RoomSubScreenComposite
2021-09-29 20:55:20 +09:00
smoogipoo
c9c2d20544
Limit max size
2021-09-29 20:44:38 +09:00
smoogipoo
67d847fbd3
Add room status text to DrawableRoom
2021-09-29 20:24:49 +09:00
smoogipoo
5f921c7836
Change SelectedItem to show the last item by default
2021-09-29 20:24:32 +09:00
smoogipoo
d89577b2e7
Add host to DrawableRoomParticipantsList
2021-09-29 19:34:40 +09:00
smoogipoo
73ee82ee2b
Rename RecentParticipantsList -> DrawableRoomParticipantsList
2021-09-29 19:15:58 +09:00
Jamie Taylor
f868feae44
Remove unnecessary Schedule
2021-09-17 21:12:39 +09:00
Jamie Taylor
9485323a13
Add audio feedback for incorrect MP room password
2021-09-17 20:52:13 +09:00
Dean Herbert
027912d4f6
Refocus the multiplayer password entry textbox on failed join
2021-09-17 18:25:25 +09:00
Dean Herbert
f524e913e1
Move AllowTrackAdjustments
specification to RoomSubScreen
2021-09-17 13:24:01 +09:00
Dean Herbert
cd4ba71a6b
Revert "Merge pull request #14772 from Joehuu/lounge-disallow-track-adj"
...
This reverts commit 06ff4838fb
, reversing
changes made to 5453ea0ce9
.
2021-09-17 13:22:39 +09:00
Joseph Madamba
55feb47e61
Disallow track adjustments on playlists / multi lounge
2021-09-16 20:17:21 -07:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
fa693bb8a8
Move MusicController
adjustment set to inside OsuScreen
itself (and result nullable
)
2021-09-16 16:08:09 +09:00
AbstractQbit
318f0941ca
Move all the "inherit previous AllowTrackAdjustments
" logic into OsuScreen
2021-09-15 21:25:39 +03:00
Dean Herbert
931e873a7e
Merge branch 'master' into inheritable-allow-track-adjust
2021-09-15 22:26:13 +09:00
AbstractQbit
f0439ef50b
Remove unnecessary AllowTrackAdjustments
overrides, add true to SongSelect
2021-09-15 13:12:57 +03:00
Dean Herbert
8acfefed1b
Merge pull request #14741 from smoogipoo/fix-lounge-beatmaps-counter
...
Fix incorrect beatmap count and SR range in multi lounge
2021-09-15 18:51:52 +09:00
smoogipoo
f54d554d30
Extract removal to method
2021-09-15 17:03:28 +09:00
Bartłomiej Dach
7b9e501fa0
Merge branch 'master' into 14421-multi-password-error-handling
2021-09-14 22:58:20 +02:00
AbstractQbit
b9193aae6d
Make IOsuScreen.AllowTrackAdjustments nullable
...
Allows for inheriting value from the previous screen if undefined
2021-09-14 17:37:57 +03:00
smoogipoo
a775915338
Fix incorrect beatmap count and SR range in multi lounge
2021-09-14 18:20:28 +09:00
Dean Herbert
5058f28504
Remove breaking padding
2021-09-14 14:52:50 +09:00
Dean Herbert
8865e3cab8
Add back shake and tweak transform of text
2021-09-14 14:44:32 +09:00
Dean Herbert
7bd749d0eb
Remove weird shaking
2021-09-14 14:19:55 +09:00
Dean Herbert
e3c56f9ebd
Show error message in popover
2021-09-14 14:14:06 +09:00
Dean Herbert
eaac2bad3d
Fix incorrect child margin specifications
2021-09-14 13:49:02 +09:00
Dan Balasescu
f6c4bbe2c9
Merge pull request #14730 from peppy/add-missing-track-adjustment-defaults
...
Add missing screen level mod application settings for some screens
2021-09-13 15:22:22 +09:00
Dean Herbert
f9c82a9098
Merge pull request #14676 from nekodex/lobby-team-swap
...
Add sound for multiplayer team swaps
2021-09-13 15:01:58 +09:00
Dean Herbert
caf7ef6519
Add missing screen level mod application settings for some screens
...
Closes #7480 . But based on discussion in there this solution may change.
2021-09-13 15:00:34 +09:00
Dean Herbert
7fe0eefb78
Add inline comment regarding team switch sample logic
...
Feels a bit convoluted without this. Don't really have a better
suggestion for now so a comment will do.
2021-09-13 14:12:19 +09:00
sh0ckR6
447001931c
Resolve LoungeSubScreen from PasswordEntryPopover
...
This is preferred over passing down the already-resolved LoungeSubScreen
2021-09-12 14:36:11 -04:00
sh0ckR6
e018071be4
Remove OnShakeFinish event
2021-09-11 19:50:41 -04:00
sh0ckR6
6cdc842452
Remove placeholder text response
...
Weird UX, doesn't feel right compared to the rest of lazer
2021-09-11 17:42:49 -04:00
sh0ckR6
b8a6925175
Use already-resolved LoungeSubScreen instead of nested delegates
2021-09-11 17:41:07 -04:00
Dean Herbert
6fc46792d3
Fix test regressions
2021-09-09 00:39:54 +09:00
Dean Herbert
136573982c
Add fade in and fix incorrect wrapper bounds
2021-09-08 20:52:14 +09:00
Dean Herbert
7941240a00
Revert "Load DrawableLoungRoom
s asynchronously"
...
This reverts commit 0b55bb6913fbf05ebb8ecadfe711084d6797efe0.
2021-09-08 20:52:14 +09:00
Dean Herbert
3e41d8b32e
Reduce initial fade transforms
2021-09-08 20:52:14 +09:00
Dean Herbert
bebb9d7e67
Wrap main content of DrawableRoom
2021-09-08 20:52:14 +09:00
Dean Herbert
037b9cfb59
Load DrawableLoungRoom
s asynchronously
2021-09-08 20:52:14 +09:00
Jamie Taylor
217ca754ae
Add sound for team swaps
2021-09-08 13:45:05 +09:00
sh0ckR6
b1f91596a7
Give user feedback on password attempt fail
...
Shake the popover
Set the input box's color to red and set the placeholder text to "incorrect password"
2021-09-07 20:05:24 -04:00
sh0ckR6
b8a1ebb786
Hide Popover after failed password attempt
...
Instead of throwing an error, just close the popover and let the user continue
2021-09-07 16:54:21 -04:00
smoogipoo
4658577b1d
Factor in total score calculation time in results screen load
2021-09-07 15:19:09 +09:00
Dean Herbert
9e21f5a59c
Rename LocalPlayer
to User
in mod select prefixes
2021-09-01 17:22:52 +09:00
Salman Ahmed
6154642075
Merge branch 'master' into local-popover-containers
2021-08-30 15:44:29 +03:00
Dan Balasescu
7be825f470
Merge pull request #14488 from frenzibyte/multi-spectator-player-leaving
...
Gray out and stop player instances who quit during multi-spectator sessions
2021-08-30 12:04:19 +09:00
Bartłomiej Dach
7457480b50
Add local popover container to lounge subscreen
2021-08-28 20:05:58 +02:00
Dean Herbert
2b06dacd0e
Change debounce back to using scheduler
...
Should better allow for adjusting in the future, as well.
2021-08-27 18:57:19 +09:00
Jamie Taylor
56baecdde4
Add missing interaction sfx to MatchTypePicker
2021-08-26 15:30:20 +09:00
Jamie Taylor
e341f471b0
Add lobby sfx for join/leave/kick/ready/unready events
2021-08-26 15:29:22 +09:00
Salman Ahmed
196c74fce8
Gray out and remove player clock when users stop playing
2021-08-25 11:31:02 +03:00
Salman Ahmed
599145b46a
Stop clocks when removing them from sync manager
2021-08-25 11:31:02 +03:00
Dean Herbert
e1ab3434ed
Add ability to handle user join/leave/kick events in MultiplayerComposite
s
2021-08-25 14:37:14 +09:00