1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 16:47:24 +08:00
Commit Graph

10297 Commits

Author SHA1 Message Date
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