Dan Balasescu
928023fabb
Merge pull request #16362 from bdach/multiplayer-wrong-ruleset
...
Fix multiplayer starting gameplay using last picked item ruleset rather than actual current item ruleset
2022-01-10 15:10:27 +09:00
Dean Herbert
02d8a6359a
Update FilterMatchingTest
and filter code to use ruleset's OnlineID
...
The tests were relying on the `RulesetID` being set to 0 in the example
beatmap, even though the ruleset *instance* was set to ID 5.
This explicitly adds that 0 value to show intent, and also removes the
incorrect specification of 5 (which would cause the convert filter tests
to fail).
Also updates the filter code to use `OnlineID`, which is required in
realm changes.
2022-01-10 12:30:34 +09:00
Bartłomiej Dach
d76c674abc
Add tooltip with relative rotation in degrees to rotation handles
2022-01-08 20:24:15 +01:00
Bartłomiej Dach
24d377fddb
Move implementation of drag handle operations to concrete classes
2022-01-08 20:24:00 +01:00
Bartłomiej Dach
9370e84460
Fix effect point multiplier text box displaying too much decimal digits
2022-01-08 16:12:52 +01: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
0698ef6330
Fix one missed rename
2022-01-07 17:36:29 +09:00
Dean Herbert
2ef791069c
Fix typon on AdvancedStats
2022-01-07 17:33:38 +09:00
Dean Herbert
3cd996eb4a
Merge branch 'master' into async-deadlock-safety
2022-01-07 17:28:59 +09:00
Dan Balasescu
bf328dc9e0
Merge pull request #16291 from peppy/fix-mods-mutated-outside-lease
...
Fix `MultiplayerMatchSubScreen` mutating mods outside of bindable lease
2022-01-07 17:12:12 +09:00
Bartłomiej Dach
f5742d3d2a
Merge branch 'master' into editor-toolbox-expand
2022-01-06 19:01:02 +01:00
Dean Herbert
00177a3ae1
Update usages to new naming
2022-01-06 22:54:43 +09:00
Dean Herbert
3ea7588a91
Update continuation usages to use GetCompletedResult
2022-01-06 22:53:07 +09:00
Dean Herbert
5baaf356aa
Split out SettingsToolboxGroup
from PlayerSettingsGroup
2022-01-06 21:05:00 +09:00
Dean Herbert
df6a755c36
Update player loader screen mouse disable text to use localised version
2022-01-05 18:29:09 +09:00
Dean Herbert
6779503e57
Refactor logic to avoid TimelineSelectionHandler
having to block base calls
2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b
Add global flip hotkeys
2022-01-05 16:48:07 +09:00
Dean Herbert
13cce50fa7
Remove existing handling of flip hotkeys
2022-01-05 16:30:42 +09:00
Dean Herbert
73b40e6833
Replace usage of .Result
with .WaitSafelyForResult
2022-01-04 11:51:41 +09:00
Dean Herbert
031a40af6a
Replace usages of Wait
with WaitSafely
2022-01-04 11:51:41 +09: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
Joseph Madamba
98524d60a4
Fix clear identifier typos
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
5a591713ae
Fix legacy combo counter not fully hiding for rulesets that implement their own
2021-12-26 16:49:20 +01: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
Dan Balasescu
67e6b50c12
Merge pull request #16135 from stanriders/refactor-diffcalc
...
Slightly refactor difficulty and pp calculators
2021-12-22 19:44:02 +09:00
Dean Herbert
5b3a154431
Fix potential errors thrown during beatmap leaderboard display due to incorrect beatmap reference
...
Specifically, the global `BeatmapInfo` is referenced inside the web
request's success callback, and used to attempt population via methods
which expect non-null beatmap inputs.
Closes #16211 .
2021-12-22 17:24:48 +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
98f044881e
Merge branch 'master' into refactor-diffcalc
2021-12-22 12:31:28 +09:00
Bartłomiej Dach
7ab1c0c99d
Improve contrast of timeline blueprint foreground content for pastel combo colours
2021-12-21 12:54:17 +01:00
StanR
cca02a8016
Create PerformanceAttributes
2021-12-21 13:08:31 +03:00
Dean Herbert
0bda7892f7
Merge pull request #16197 from bdach/beatmap-card/renames
...
Rename beatmap card-related classes
2021-12-21 18:51:34 +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
Dan Balasescu
32fbaf47c0
Merge pull request #16192 from peppy/add-room-lost-logging
...
Add logging of `MultiplayerMatchSubScreen` exiting from room loss
2021-12-21 16:37:08 +09:00
Bartłomiej Dach
88d4e95ad8
Rename BeatmapCard{ => Normal}
2021-12-21 08:26:21 +01: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
Dean Herbert
edcbd4de6d
Fix incorrect event unbind logic
2021-12-21 13:05:26 +09:00
Dean Herbert
52db7b36fc
Move Schedule
call to base implementation of error meter for extra safety
2021-12-21 12:55:21 +09:00
Dean Herbert
28d6ff5d9c
Fix potential wrong thread mutation in ColourHitErrorMeter
2021-12-21 12:36:04 +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
Bartłomiej Dach
cbb65e1e07
Merge branch 'master' into beatmap-card-expanded-state-fix
2021-12-15 22:20:30 +01: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
Dean Herbert
ef4ab74565
Also only expose Expanded
state of BeatmapCard
as read-only
2021-12-15 16:26:19 +09:00
Dan Balasescu
9ade8069a1
Rename to AbortGameplay() and handle additional states
2021-12-15 06:40:28 +09:00
Dan Balasescu
4c81fd8b7c
Merge pull request #16068 from peppy/fix-fail-animation-background-dim
...
Improve appearance of player-wide background after failing with low background dim
2021-12-15 06:32:02 +09:00
Bartłomiej Dach
00154fe86d
Merge branch 'master' into fix-menu-background-desync
2021-12-14 21:31:10 +01:00
Dean Herbert
8c6f50ddb1
Fix BackgroundScreenDefault
incorrectly updating current background after being inactive
...
If the beatmap was changed but then reverted to the previously displayed
map, the background may have displayed incorrectly on resuming.
Closes #15804 .
2021-12-14 16:40:50 +09:00
Dean Herbert
b6a272e31a
Add failing test coverage of BackgroundScreeNDefault
's beatmap background tracking when active/non-active
2021-12-14 16:40:34 +09:00
Dean Herbert
7e576ae9d3
Add note about how the background colour is restored
2021-12-14 13:25:19 +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
cac684c044
Improve appearance of player-wide background after failing with low background dim
2021-12-13 14:53:11 +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
1aac978a7b
Merge pull request #16029 from peppy/editor-mod-reset
...
Fix editor not resetting mods when entering
2021-12-11 20:20:11 +09:00
Dan Balasescu
63a017bc8e
Use Array.Empty instead
2021-12-11 19:33:37 +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
Dean Herbert
c1b3ee6bb2
Fix editor not resetting mods when entering
...
Would leave the user potentially in a test mode that is in a weird
state (ie. if cinema mod was enabled). Eventually we'll add the ability
to choose mods for test play, but that will be done in a saner way.
Closes #15870 .
2021-12-10 18:57:45 +09:00
Dean Herbert
f7c5a3f506
Use similar method of consuming OnlineID
as done in beatmap classes
2021-12-10 18:34:31 +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
dbb08f7d46
Use OnlineID
for set operations
2021-12-10 16:11: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
4e6286920c
Merge pull request #16017 from peppy/fix-child-set-after-disposal
...
Fix potential crash due to children being mutated after disposal
2021-12-10 15:38:34 +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
50bf2f368d
Merge branch 'master' into host-enqueue-2
2021-12-10 14:09:19 +09:00
Dean Herbert
9ac8e6c81c
Add missing null check before attempting to populate bpm info
2021-12-10 13:53:48 +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
Dean Herbert
1952819db2
Merge pull request #16019 from smoogipoo/cleanup-playlist-item-buttons
...
Cleanup duplicated classes in DrawableRoomPlaylistItem
2021-12-10 12:01:26 +09:00
Dan Balasescu
35a208a478
Merge pull request #15999 from peppy/restore-user-volume-muted-notification
...
Fix the unmute notification potentially overwriting user's volume levels unnecessarily
2021-12-10 02:58:59 +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
a3b53ac2f6
Change comparison to match in all locations
2021-12-09 18:58:47 +09:00
Dean Herbert
b393f83028
Merge pull request #16009 from smoogipoo/cleanup-drawable-playlist
...
Cleanup DrawableRoomPlaylist and DrawableRoomPlaylistItem
2021-12-09 18:54:16 +09:00
Dean Herbert
e7e61cd9ab
Fix potential crash due to children being mutated after disposal
...
This is a bit of an unfortunate edge case where the unbind-on-disposal
doesn't help, since the binding is happening in BDL, and the usage is in
a nested `LoadComponentAsync` call. Combine those and you have a recipe
for disaster.
2021-12-09 18:52:00 +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
Dean Herbert
8d9c37a825
Merge branch 'master' into primary-key-consistency
2021-12-08 21:34:38 +09:00
Dan Balasescu
beb5d61a42
Separate playlist item deletion to Playlists-specific class
2021-12-08 20:50:25 +09:00
Dan Balasescu
65a09692da
Merge pull request #16001 from peppy/fix-own-rank-results-panel-in-multiplayer
...
Fix the local user's rank not showing on multiplayer/playlist results screen
2021-12-08 16:34:36 +09:00
Dean Herbert
872e0884c0
Fix the local user's rank not showing on multiplayer/playlist results screen
...
Applying the simple solution for now. Not sure how this will evolve over
time, but seems sane enough.
2021-12-08 15:22:10 +09:00
Dean Herbert
6ec3f41839
Fix LegacyComboCounter
not handling non-default anchor/origin specifications correctly
2021-12-08 15:07:15 +09:00
Dean Herbert
0775053a18
Fix the unmute notification potentially overwriting user's volume levels unnecessarily
...
I've also changed the cutoffs to 5% rather than zero, as this seems like
a saner method of showing this dialog. With levels 5% or less, the game
is basically inaudible.
Arguably, the cutoff can be increased to 10%.
2021-12-08 13:38:43 +09:00
Bartłomiej Dach
10dd64e07c
Fix being able to paste objects while composer is loading
...
Would lead to exceptions due to modification of `Beatmap.HitObjects`
during its enumeration by `DrawableRuleset`, which was happening as an
async load via `EditorScreenWithTimeline.CreateMainContent()`.
2021-12-07 21:00:25 +01:00
Dan Balasescu
86eacfdbd8
Merge pull request #15879 from peppy/multiplayer-delayed-playlist-load-broken
...
Load playlist panels on demand to reduce initial load time when joining a room
2021-12-08 00:42:20 +09:00
Dean Herbert
d6e68feadc
Merge pull request #15948 from bdach/beatmap-card/difficulty-dropdown
...
Add difficulty dropdown to beatmap card
2021-12-07 23:40:06 +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
Bartłomiej Dach
af35652b8b
Disable beatmap card expansion on solo spectator screen
2021-12-05 20:07:58 +01: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
Dan Balasescu
4145a16d5b
Merge pull request #15920 from peppy/clean-up-unused-resolves
...
Clean up unused resolved properties
2021-12-03 20:08:48 +09:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
2acf46154a
Remove many unused resolutions of RulesetStore
2021-12-03 18:16:29 +09:00
Dean Herbert
e75e209053
Cache and consume IRulesetStore
where feasible
2021-12-03 18:16:01 +09:00
Dean Herbert
6b73672403
Stop Player
from blocking volume adjust when Alt
it held
...
Similar case to what we already have in `OsuScrollContainer`, so there
is precedent for handling this locally in this fashion.
2021-12-03 17:18:07 +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
Dean Herbert
a7e4e7be3a
Remove the ability to specify a filename in ReplaceFile
2021-11-29 18:11:51 +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
Bartłomiej Dach
a188d6662f
Use beatmap card in solo spectator screen
2021-11-25 22:31:02 +01:00
Dan Balasescu
1f5d95666e
Add owner avatar to multiplayer items
2021-11-25 23:15:29 +09:00
Dean Herbert
7a3c69544b
Merge pull request #15799 from smoogipoo/fix-songselect-test-failures-2
...
Fix SongSelect-related test failures
2021-11-25 23:01:06 +09:00
Dan Balasescu
09dd054283
Fix SongSelect-related test failures
2021-11-25 21:11:13 +09:00
Dan Balasescu
f712aeee01
Merge pull request #15795 from peppy/realm-integration/separate-download-flow
...
Split out download logic from main manager classes
2021-11-25 20:59:23 +09:00
Dan Balasescu
d3a4890c31
Merge branch 'master' into realm-integration/stable-export-flow
2021-11-25 19:06:18 +09:00
Dean Herbert
e2ebcf7a26
Remove unnecessary manager parameter
...
Confused why I added this in the first place..
2021-11-25 18:36:03 +09:00
Dean Herbert
a2ab9f457d
Move score download logic out of ScoreManager
2021-11-25 17:33:04 +09:00
Dean Herbert
716543b5b3
Move beatmap download logic out of BeatmapManager
2021-11-25 17:29:41 +09:00
Dean Herbert
79459c1aeb
Fix typo in class and variable names
2021-11-25 17:12:15 +09:00
Dean Herbert
cc1b91e4bd
Split out legacy model export logic into LegacyModelExporter
classes
2021-11-25 16:41:12 +09:00
Dean Herbert
9dcb20a821
Rename Stable
to Legacy
and add xmldoc
2021-11-25 15:39:05 +09:00
Dan Balasescu
132bb59203
Update working beatmap when returning to match
2021-11-24 19:56:02 +09:00
Dean Herbert
183b95cbc2
Rename BeatmapSetOnlineStatus
to BeatmapOnlineStatus
...
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert
bbd3ea5b77
Update all actual usages of RulesetInfo.ID
to use OnlineID
instead
2021-11-24 15:50:26 +09:00
Dan Balasescu
6183d1cd46
Merge pull request #15769 from peppy/model-equality-consistency
...
Update cases where equality can be used instead of primary key equality
2021-11-24 13:45:57 +09:00
Dan Balasescu
6ffba8a546
Merge pull request #15768 from peppy/standardise-ruleset-create-instance
...
Remove nullability of `Ruleset.CreateInstance`
2021-11-24 13:43:23 +09:00
Dean Herbert
729f681938
Update cases where equality can be used instead of primary key equality
2021-11-24 12:49:57 +09:00
Dean Herbert
0eea026afb
Remove null checks on CreateInstance()
calls
2021-11-24 12:23:09 +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
Bartłomiej Dach
6100bf66a6
Clean up cancellation handling in WorkingBeatmap
...
After the recent changes introducing cancellation support to
`WorkingBeatmap`, it turned out that if the cancellation support was
used, `GetPlayableBeatmap()` would raise timeout exceptions rather than
the expected `OperationCanceledException`.
To that end, split off a separate overload for the typical usage, that
catches `OperationCanceledException` and converts them to beatmap load
timeout exceptions, and use normal `OperationCanceledException`s in the
overload that requires a cancellation token to work.
2021-11-20 17:23:55 +01:00
Bartłomiej Dach
15feb17da8
Change difficulty cache storage type to nullable
...
The recent changes related to adding support for working beatmap load
cancellation exposed a flaw in the beatmap difficulty cache. With the
way the difficulty computation logic was written, any error in the
calculation process (including beatmap load timeout, or cancellation)
would result in a 0.00 star rating being permanently cached in memory
for the given beatmap.
To resolve, change the difficulty cache's return type to nullable.
In failure scenarios, `null` is returned, rather than
`default(StarDifficulty)` as done previously.
2021-11-20 17:00:50 +01:00
Dean Herbert
83b4625bd5
Replace existing cases with new helper method
2021-11-19 22:15:41 +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
6ebe54b183
Merge pull request #15494 from Tollii/beatmap-cancellation-token
...
Add support for cancellation tokens for beatmap difficulty calculation
2021-11-19 10:54:32 +09:00
Joseph Madamba
a09589f833
Fix score panels sometimes jumping when toggling statistics fast
2021-11-17 23:15:51 -08: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
7599efac30
Update editor cases where repeat should not be handled
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
Bartłomiej Dach
8b134914cf
Merge branch 'master' into beatmap-cancellation-token
2021-11-17 21:52:30 +01:00
Dan Balasescu
e4aec3f519
Merge pull request #15648 from peppy/playlist-show-invalid-beatmaps
...
Highlight invalid playlist items during room creation
2021-11-17 22:24:22 +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
7c2e79f911
Update all simple cases of switching to IWorkingBeatmap
2021-11-17 20:56:57 +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
0715d40ea0
Merge branch 'master' into beatmap-cancellation-token
2021-11-17 11:16:10 +09:00
Dean Herbert
13f3e2eea9
Add back default timeout to GetPlayableBeatmap
2021-11-17 11:06:31 +09:00
Dan Balasescu
843b0f9641
Merge pull request #15649 from peppy/fix-leaderboard-cancellation-failure
...
Fix song select leaderboard potentially displaying outdated or incorrect content
2021-11-16 19:10:48 +09:00
Dan Balasescu
f9e3d9bb92
Merge branch 'master' into i-working-beatmap/difficulty-calculator
2021-11-16 17:46:38 +09:00
Dean Herbert
2dd721f760
Fix incorrect CancellationToken
being used for inner check during leaderboard updates
2021-11-16 17:41:16 +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
ddf2fade1a
Merge branch 'master' into playlist-item-iruleset
2021-11-16 16:19:10 +09:00
Dean Herbert
726a0cc091
Merge branch 'master' into beatmap-collection-inteface-types
2021-11-16 15:31:10 +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
Dean Herbert
6cca657a2d
Standardise naming of CancellationToken
parameters
2021-11-16 14:45:51 +09:00
Dean Herbert
53c0682a08
Merge branch 'master' into beatmap-cancellation-token
2021-11-16 14:43:13 +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