1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-31 06:52:55 +08:00
Commit Graph

11240 Commits

Author SHA1 Message Date
Salman Ahmed
173a6188eb Add back float cast to distance spacing computation 2022-04-29 08:41:37 +03:00
Salman Ahmed
fef94d49f4 Revert "Convert data type of DistanceSpacing to float"
This reverts commit 7aaa88cac2.
2022-04-29 08:02:07 +03:00
Salman Ahmed
7e3d1511c6 Hide "Rank Achieved" sorting mode until it's supported 2022-04-29 07:47:10 +03:00
Dean Herbert
c4495dafb6 Merge branch 'master' into move-difficulty-graph-toggle 2022-04-29 13:44:47 +09:00
Dan Balasescu
22e9620211 Don't block clicks when dragging osu! logo 2022-04-29 12:09:11 +09:00
Dean Herbert
6ccbdc85a3
Improve setting description text
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-29 11:56:46 +09:00
Salman Ahmed
fa5c05120c Allow rewinding random in song select with Shift + Left Click 2022-04-28 20:06:27 +03:00
Dean Herbert
32ad216669 Allow dragging the osu! logo
Logic borrowed from `NowPlayingOverlay`.
2022-04-28 22:58:34 +09:00
Dan Balasescu
1d8ac6917d Send Loaded state from PlayerLoader on update thread 2022-04-28 20:10:47 +09:00
Salman Ahmed
691bec6f16 Use LocalisableString.Interpolate instead of invalid TranslatableStrings 2022-04-28 11:38:40 +03:00
Salman Ahmed
abb88b0907 Move distance spacing application to DistanceSnapGrid 2022-04-28 10:54:38 +03:00
Salman Ahmed
7aaa88cac2 Convert data type of DistanceSpacing to float 2022-04-28 10:24:36 +03:00
Dean Herbert
3c45746ba1 Add back schedule for safety 2022-04-28 14:29:57 +09:00
Dean Herbert
7c1b0b41ff Fix migration not working correctly when applying on a default skin 2022-04-28 14:19:24 +09:00
Salman Ahmed
2e8372fe90 Minor cleanup
Just from reading diff.
2022-04-28 07:14:43 +03:00
Salman Ahmed
59cf3ff50f Move distancing methods from IPositionSnapProvider to IDistanceSnapProvider 2022-04-28 05:48:45 +03:00
Dean Herbert
7a23363d74 Add migration of song progress setting from config to component 2022-04-27 18:10:58 +09:00
Dean Herbert
e6bb5e84ec Merge branch 'master' into move-difficulty-graph-toggle 2022-04-27 17:22:25 +09:00
Salman Ahmed
e646233722 Use correct translation for "Accuracy" label in break overlay 2022-04-26 19:16:36 +03:00
Dan Balasescu
9911584fe1
Merge pull request #17977 from peppy/show-during-gameplay-improvement
Change conditions for HUD being shown to include pause/fail states
2022-04-26 12:55:31 +09:00
Dean Herbert
8ab3636f87 Change conditions for HUD being shown to include pause/fail states
As proposed in https://github.com/ppy/osu/discussions/17975. Feels pretty good to me, and probably how it should have been implemented from the start.
2022-04-26 12:09:21 +09:00
Salman Ahmed
f958010d29 Fix AccuracyCircle storing accuracy values in float 2022-04-26 04:52:48 +03:00
Dean Herbert
07462384e8
Merge pull request #17930 from peppy/fix-song-select-music-control
Fix nested song select in first-run dialog fiddling with global audio
2022-04-24 19:18:27 +09:00
Dean Herbert
c5e8f1d4ab
Merge pull request #17958 from peppy/fix-hide-case
Remove localisation of "hide" string to fix incorrect case
2022-04-24 17:38:49 +09:00
Dean Herbert
999b4505d1 Remove localisation of "hide" string to fix incorrect case 2022-04-24 16:37:11 +09:00
Salman Ahmed
70a93c0e7e Move DistanceSpacingMultiplier bindable to its own IDistanceSnapProvider interface 2022-04-24 08:33:00 +03:00
Salman Ahmed
4f8f27a58b Merge branch 'master' into osu-distance-spacing 2022-04-24 05:23:30 +03:00
Susko3
e89441951c Allow any key to trigger the initial osu! cookie 2022-04-23 18:33:43 +02:00
Dan Balasescu
b293d3923c Merge branch 'master' into multiplayer-force-start-2 2022-04-23 01:03:55 +09:00
Dean Herbert
bcdd1fb183 Fix nested song select in first-run dialog fiddling with global audio 2022-04-22 18:37:40 +09:00
Bartłomiej Dach
8c6864727e
Merge branch 'master' into first-run-setup 2022-04-21 22:14:57 +02:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Dan Balasescu
ef1955d8ab Make buttons only respond to MatchStartCountdown 2022-04-21 23:14:37 +09:00
Dan Balasescu
41355384bd Add support for gameplay abort/force start 2022-04-21 23:14:37 +09:00
Dan Balasescu
08d250fe58 Rename MatchStarted() -> GameplayStarted() 2022-04-21 22:39:24 +09:00
Dan Balasescu
8c3b541312 Add state for when user is ready for gameplay 2022-04-21 22:35:52 +09:00
Dean Herbert
7d8cf1bbb6 Merge branch 'master' into first-run-setup 2022-04-21 15:49:39 +09:00
Dean Herbert
5c0e5eb6f4
Merge pull request #17899 from Joehuu/localise-most-strings
Use existing web localisation for most hardcoded strings
2022-04-21 14:48:12 +09:00
Dean Herbert
848366416e Revert string type changes in MetadataLineInfo 2022-04-21 14:10:58 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Dean Herbert
4466e15bfc Rename AllowConfiguration to AllowCustomisation and simplify drawable addition 2022-04-20 23:17:29 +09:00
Dean Herbert
b722ff8dc5 Merge branch 'master' into mod-overlay/extension-points 2022-04-20 23:17:04 +09:00
Dean Herbert
d46329f55a Remove unused dependency 2022-04-20 12:51:55 +09:00
chickensalt
f5863c2030 remove unused import 2022-04-20 13:40:02 +10:00
chickensalt
4f80651606 implement 2a3a0c1 for playlists as well 2022-04-20 10:33:06 +10:00
chickensalt
2a3a0c1cd3 remove notification on trying to multi when logged out
fixes #17877
2022-04-19 18:44:20 +10:00
Dean Herbert
17eaa44af1 Ensure notifications don't interrupt the first run setup process 2022-04-19 17:40:35 +09:00
Dean Herbert
c4bade0995 Expose MainMenu buttons 2022-04-19 16:36:39 +09:00
Salman Ahmed
94335c2938 Update further usages to cache/resolve via interface 2022-04-19 00:18:10 +03:00
Dan Balasescu
bb8b94f8ad
Merge branch 'master' into i-notification-overlay 2022-04-19 06:03:56 +09:00
Dan Balasescu
94e892df1c
Merge pull request #17862 from peppy/i-dialog-overlay
Split out `IDialogOverlay` to allow for easier testing
2022-04-19 05:24:05 +09:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dean Herbert
e315313266 Split out IDialogOverlay to allow for easier testing 2022-04-18 18:36:26 +09:00
Dean Herbert
2202863e1a Split out IPerformFromScreenRunner to allow for easier testing 2022-04-18 17:49:28 +09:00
Dean Herbert
90093c1d9d Combine private skin variable into exposed one 2022-04-18 13:32:37 +09:00
Salman Ahmed
2cb217e06c Fix editor legacy beatmap skins not receiving transformer 2022-04-18 06:59:58 +03:00
Salman Ahmed
338d94626e Expose underlying skin of EditorBeatmapSkin 2022-04-18 06:44:39 +03:00
Bartłomiej Dach
7eebc20124
Add replacements for mod overlays used by game 2022-04-17 23:28:51 +02:00
Jamie Taylor
ef5ed262ca
Add pitch randomisation to the OsuLogo hover sample 2022-04-15 20:38:47 +09:00
Jamie Taylor
8e6c015856
Use a fallback sample when a MainMenuButton doesn't provide a click sample 2022-04-15 20:38:30 +09:00
Dan Balasescu
2abdbe53e7 Cleanup whitespace 2022-04-14 18:55:12 +09:00
Dan Balasescu
9de4d416e2 Merge branch 'master' into fix-spectator-seeks 2022-04-14 18:54:52 +09:00
Dan Balasescu
494955aff1 Resolve inspection issues 2022-04-14 13:11:11 +09:00
Dean Herbert
fbf0e5a45c Remove startFromSkipTarget parameter and update usages that required said behaviour 2022-04-13 14:25:43 +09:00
Dean Herbert
a59c6013c7 Rename latestGameplayStartTime to skipTargetTime 2022-04-13 14:03:52 +09:00
Dean Herbert
d4286255a0 Expose and set GameplayStartTime directly, rather than via Reset parameter 2022-04-13 13:58:44 +09:00
Dean Herbert
017f3852c8 Replace incorrectly chosen ??= with ?? 2022-04-13 13:32:36 +09:00
Dean Herbert
9c68b3edc5 Merge branch 'master' into fix-spectator-seeks 2022-04-13 12:33:41 +09:00
Dean Herbert
282fccb4c8
Fix typo in xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-04-13 12:24:47 +09:00
Dean Herbert
8b1cee75fa Use BindableLong instead of BindableInt for user score tracking 2022-04-12 14:13:07 +09:00
Dean Herbert
0ba95a4483 Ensure all users are shown on leaderboard (even when API lookup fails) 2022-04-12 11:54:30 +09:00
Dean Herbert
ebee9e6888 Fix MultiplayerGameplayLeaderboard not immediately updating totals on scoring mode change 2022-04-12 11:27:27 +09:00
Dan Balasescu
37976c569a
Merge pull request #17762 from peppy/fix-unobserved-exceptions
Avoid throwing unobserved exception when `PerformancePointsCounter` requests timed attributes
2022-04-11 14:50:12 +09:00
Dean Herbert
cb6e557212 Fix MasterGameplayClockContainer having incorrect rate-based offsets immediately after LoadComplete
I've attempted to explain why this is required using inline comments.
There's also further conversation at
https://github.com/ppy/osu/pull/17302#issuecomment-1091850927.
2022-04-11 14:11:26 +09:00
Dean Herbert
808f0ecb74 Ensure running state is updated before performing Seek in GameplayClockContainer.Reset 2022-04-11 14:10:50 +09:00
Dean Herbert
2b74dbca28 Fix potential crash in DrawableRoom due to lack of null check on post-lookup beatmap 2022-04-11 13:44:34 +09:00
Dean Herbert
19b655d75b Avoid throwing unobserved exception when PerformancePointsCounter requests timed attributes 2022-04-11 13:30:21 +09:00
Dean Herbert
24c2d465a9 Move null assert in MultiplayerPlayer on to update thread 2022-04-08 14:53:14 +09:00
Dean Herbert
eb0653fa7b
Merge pull request #17698 from Joehuu/fix-replay-button-local-being-disabled
Fix replay button being disabled when available locally but not online
2022-04-07 14:18:02 +09:00
Joseph Madamba
358931842f Move enabled setting to each case 2022-04-06 21:22:56 -07:00
Jamie Taylor
8a73831115
Add MP lobby 'warning' SFX for the final seconds of countdown 2022-04-07 13:12:33 +09:00
Joseph Madamba
4432a93d09 Fix replay button being disabled when available locally but not online 2022-04-06 20:43:56 -07:00
Dan Balasescu
4b3569ea79
Merge pull request #17576 from peppy/fix-multiplayer-unobserved
Centralise exception handling of `MultiplayerClient` calls
2022-04-07 09:09:55 +09:00
Dean Herbert
c42ef43faa Ensure intro beatmap has protected flag set
In cases this isn't set, the beatmap has likely entered a bad state.

Closes https://github.com/ppy/osu/issues/17659.
2022-04-06 16:46:53 +09:00
Dean Herbert
2b8a5833dd Fix back-to-front conditional check 2022-04-06 15:13:02 +09:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks 2022-04-06 12:58:43 +09:00
Dean Herbert
c540810943
Merge branch 'master' into fix-multiplayer-unobserved 2022-04-06 11:33:10 +09:00
Dean Herbert
01da3924cc Simplify IsCurrentScreen check to only apply to relevant call 2022-04-06 11:32:35 +09:00
Dan Balasescu
c973d33bfd
Merge pull request #17604 from nekodex/mp-countdown-sfx
Add SFX for multiplayer lobby countdown timer
2022-04-05 16:40:26 +09:00
Dean Herbert
3d8ae0465f Reword comment slightly 2022-04-05 15:51:04 +09:00
Dean Herbert
8e543204cd Remove debounce logic (not required after switching to Update clock time) 2022-04-05 15:49:47 +09:00
Dean Herbert
5f415cbe53 Full potential null reference and add better commentary on countdown scheduling 2022-04-05 15:48:18 +09:00
Dean Herbert
d0f83885ce Appease the CI 2022-04-05 13:20:34 +09:00
Dean Herbert
31bf0c4a9b Disable "final" sample in countdown for the time being 2022-04-05 13:16:06 +09:00
Dean Herbert
174dc1641c Fix multiple issues with timekeeping
- Using realtime (`DateTimeOffset.Now`) meant that values would be
  changing in the same frame, causing misfirings or incorrect displays
- No debounce on sample playback meant that scheduling edge cases could
  potentially cause samples to be played more than once.
2022-04-05 11:49:58 +09:00
Dean Herbert
3ca365ad7f
Merge branch 'master' into dangerous-delete-actions 2022-04-05 10:55:01 +09:00
Ame
32c89f8643 Handle repeated OnPressed() on FooterButton (without FooterButtonRandom) 2022-04-05 00:33:41 +02:00
CenTdemeern1
9a07a95d39 Make several delete confirmation buttons dangerous buttons
Includes:
- Mass deletion
- Beatmap deletion
- Local score deletion
2022-04-04 19:22:53 +02:00
Dean Herbert
64ba24c4f7 Merge branch 'master' into mp-countdown-sfx 2022-04-05 01:04:57 +09:00
Dan Balasescu
cbcbcd1a4a
Merge pull request #17643 from peppy/stable-countdown
Stabilise countdown updates to be based on when whole seconds change
2022-04-04 22:19:06 +09:00
Dean Herbert
0abebe4d23 Stabilise countdown updates to be based on when whole seconds change 2022-04-04 14:41:32 +09:00
Jamie Taylor
0f4b75ab15
Add multiplayer lobby countdown SFX 2022-04-01 21:33:57 +09:00
Dan Balasescu
16d4544ff9 Prevent reloads when playlist item order changes 2022-04-01 17:06:37 +09:00
Dean Herbert
01829cf2d8 Move SkinnableInfo error handling to lower level
Handling was recently added to handle the usage in
`Skin.GetDrawableCompoent`, but it turns out this is also required for
`DrawableExtensions.ApplySkinnableInfo` which can throw in a similar
fashion.

Found while working on sprite support for the editor, where this becomes
an actual issue (ie. switching to a branch where the new sprite support
is not present can cause unexpected crashes).
2022-04-01 14:30:04 +09:00
Joseph Madamba
d0873d67e1 Move difficulty graph toggle to individual skin settings 2022-03-31 18:56:57 -07:00
Bartłomiej Dach
e14d5b8adb
Remove unused using directives 2022-03-31 21:20:30 +02:00
CenTdemeern1
a6875383fc Rebind SaveState() to bpmTextEntry 2022-03-31 21:06:05 +02:00
CenTdemeern1
52d723aaa6 Remove BPM slider 2022-03-31 20:11:07 +02:00
Dean Herbert
0b6db31511 Guard other multiplayer client calls with exception handling 2022-03-31 19:45:38 +09:00
Dean Herbert
e0c125a628 Replace existing usage with helper method 2022-03-31 19:27:45 +09:00
Dean Herbert
ef5e37c47a Fix multiplayer sounds playing too much after gameplay
Regressed in https://github.com/ppy/osu/pull/15936.

Closes #17295.
2022-03-31 16:18:28 +09:00
Dean Herbert
ad14b7cac5
Merge pull request #17565 from smoogipoo/fix-gameplay-leaderboard-allocations
Remove ScoreInfo allocations in multiplayer leaderboard
2022-03-31 15:48:14 +09:00
Joseph Madamba
36c02573a8 Fix osu! logo being clicked when exiting via cmd-q on initial state 2022-03-30 21:26:30 -07:00
Salman Ahmed
9c19ae1df8 Remove no longer necessary ruleset field 2022-03-31 06:40:38 +03:00
Dan Balasescu
6e94a9780b Remove ScoreInfo allocations in multi leaderboard 2022-03-31 12:23:00 +09:00
Bartłomiej Dach
436dec68c9
Use provided extension method instead of reimplementing locally 2022-03-30 22:04:54 +02:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
Salman Ahmed
0f144f6801
Merge branch 'master' into fix-countdown-refresh 2022-03-30 16:26:12 +03:00
Dan Balasescu
b60c253831
Merge pull request #17556 from peppy/fix-multiplayer-unobserved
Fix `MultiplayerMatchSongSelect` potentially attempting to exit when not the current screen
2022-03-30 21:10:11 +09:00
Dean Herbert
671386ba6c Fix MultiplayerMatchSongSelect potentially attempting to exit when not the current screen 2022-03-30 20:36:12 +09:00
Dan Balasescu
cb1ee05539
Merge pull request #17555 from peppy/remove-source-from-wedge
Remove song source from main wedge display
2022-03-30 18:57:25 +09:00
Dean Herbert
f9f6248101 Simplify string bindings 2022-03-30 17:59:45 +09:00
Dean Herbert
bc0b982102 Remove song source from main wedge display
This was definitely added at someone's request, since I wouldn't have
put it here. But it's displayed below in the details section already and
also not displayed in the updated "wedge" in the new design.

See https://github.com/ppy/osu/discussions/17537 for discussion.
2022-03-30 17:59:40 +09:00
Dean Herbert
99f141d396
Merge pull request #17546 from frenzibyte/autoplay-cinema-incompatibility
Mark both "Autoplay" and "Cinema" mods as mutually exclusive
2022-03-30 16:41:07 +09:00
Sebastian Krajewski
cb62d3d4b9 Remove skin dependency as component is reinitialized on skin change 2022-03-30 01:09:05 +02:00
Sebastian Krajewski
7582c943a4 Use In/Out instead of {In/Out}Quad 2022-03-30 00:48:59 +02:00
Salman Ahmed
cef1b93471 Improve behaviour of "Autoplay" shortcut during gameplay start
This also opens up the way to adding shortcut for "Cinema" mod
(Ctrl+Shift+Enter), but will leave adding that until there's a demand
for it.
2022-03-30 01:07:48 +03:00
Dean Herbert
ea9495eb74 Update all existing calls to extension method with correct fallback handling 2022-03-29 16:51:30 +09:00
Dean Herbert
8948bcce19 Restructure transforms slightly 2022-03-29 13:18:31 +09:00
Dan Balasescu
375a752e24 Fix countdown timer not refreshing on new countdown 2022-03-29 11:27:26 +09:00
Sebastian Krajewski
caf641e1ab Remove redundant ClearTransforms 2022-03-28 23:50:35 +02:00
Sebastian Krajewski
981ef735cf Always start small pop out from its initial size 2022-03-28 19:57:59 +02:00
Sebastian Krajewski
e3289bb080 Don't scale big pop out as much 2022-03-28 19:33:00 +02:00
Sebastian Krajewski
265b2111ef Remove comment 2022-03-28 18:08:51 +02:00
Sebastian Krajewski
001a98e069 Fix LegacyComboCounter not unsubscribing from skin 2022-03-28 18:08:35 +02:00
Sebastian Krajewski
05a978ce8c Update LegacyComboCounter layout and scaling 2022-03-28 16:36:37 +02:00
Dean Herbert
01980effe2
Merge pull request #17449 from smoogipoo/countdown-button-ux
Improve multiplayer ready button/countdown button UX
2022-03-27 13:42:10 +09:00
Dean Herbert
1edf1d8f40
Merge pull request #17464 from smoogipoo/fix-logo-thread-safety
Fix LogoVisualisation draw thread safety
2022-03-27 09:50:42 +09:00
Bartłomiej Dach
f400249f32
Fix multiplayer match settings overlay dropdown Z-ordering 2022-03-26 18:28:38 +01:00
Dan Balasescu
6384531317 Fix LogoVisualisation draw thread safety 2022-03-27 01:43:47 +09:00
Dean Herbert
5725cc36ff Add animation to countdown button when countdown is active 2022-03-26 14:29:53 +09:00
Dean Herbert
03f24c8b58
Merge branch 'master' into countdown-button-ux 2022-03-26 10:34:51 +09:00
Dean Herbert
a30d6256f4
Merge pull request #17447 from peppy/countdown-button-icon
Use more appropriate icon on countdown button (and give tooltip)
2022-03-26 10:20:07 +09:00
Dean Herbert
f92a31cd39
Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
Dan Balasescu
11ee78b395
Merge branch 'master' into countdown-button-icon 2022-03-25 19:40:25 +09:00
Dan Balasescu
3986dfd160
Merge pull request #17444 from peppy/fix-countdown-counting
Update multiplayer countdown button text more often
2022-03-25 19:40:04 +09:00
Dean Herbert
f989158a31 Add back playlist availability control (because it's hooked up half way?) 2022-03-25 19:20:16 +09:00
Dan Balasescu
9963efce51 Improve ready/countdown button UX 2022-03-25 18:40:32 +09:00
Dean Herbert
320110f179 Remove "room visibility" from playlists settings to match 2022-03-25 18:37:46 +09:00
Dean Herbert
b13408aed0 Add back "room visibility" control commented out for now 2022-03-25 18:37:20 +09:00
Dan Balasescu
3ad092d808 Always show the countdown button when host 2022-03-25 18:29:00 +09:00
Dean Herbert
463091bde2 Use more appropriate icon on countdown button (and give tooltip) 2022-03-25 18:25:48 +09:00
Dean Herbert
aa9e642e40
Merge branch 'master' into pin-multiplayer-host 2022-03-25 16:49:35 +09:00
Dean Herbert
4a30b6ef56 Update multiplayer countdown button text more often
At once a second, it regularly skips whole seconds (because scheduler
isn't guaranteed to run exactly as often as specified). 10 updates a
second seems amicable and less noticeable to my eye.
2022-03-25 16:25:20 +09:00
Dean Herbert
b1f0f89fdd Simplify AutoStart and Host checks 2022-03-25 15:41:01 +09:00
Dean Herbert
416b57ea69 Fix main menu buttons handling keys when super (cmd) is held 2022-03-25 15:13:22 +09:00
Dean Herbert
816fcae3a1 Rename Button to MainMenuButton to differentiate better 2022-03-25 15:12:39 +09:00
Bartłomiej Dach
878e8d21a3
Remove assertion to fix "expression always true" inspection 2022-03-24 21:51:10 +01:00
Dan Balasescu
1abf3f7bf4 Fix cancel tooltip showing for autostart countdowns 2022-03-24 20:25:17 +09:00
Dan Balasescu
40eca0fbe2 Merge branch 'master' into multiplayer-auto-countdown 2022-03-24 18:11:51 +09:00
Dean Herbert
2d58feebb1 Guard against potential null CurrentItem in ParticipantPanel 2022-03-24 17:54:21 +09:00
Dean Herbert
e3f8bc0588 Revert Availability to private 2022-03-24 17:15:17 +09:00
Dan Balasescu
528ffea38d Fix incorrect event binding 2022-03-24 17:11:08 +09:00
Dean Herbert
8ca9cbc866 Set a more correct initial value for pauseFreqAdjust
As the `GameplayClock` now starts paused, this value needs to match to
ensure things work correctly.

For a better explanation of how we got here, see discussion at
https://github.com/ppy/osu/pull/17302#discussion_r830017735.
2022-03-24 14:50:00 +09:00
Dan Balasescu
96a447f68b Rename Multiplayer prefix to button classes 2022-03-24 14:28:38 +09:00
Dan Balasescu
90c7945bca Re-remove PopoverButton class with better test fix 2022-03-24 14:26:31 +09:00
Dean Herbert
6f529cf7a4 Merge branch 'master' into fix-spectator-seeks 2022-03-24 14:24:20 +09:00
Dan Balasescu
547418e47e Revert "Remove PopoverButton class"
This reverts commit 6b712be97d.
2022-03-24 11:15:51 +09:00
Dan Balasescu
34a367b369 Merge branch 'master' into multiplayer-countdown-timers-2 2022-03-23 15:40:50 +09:00
Dan Balasescu
a83a90e675 Rename countdown Delay -> Duration 2022-03-23 15:21:16 +09:00
Dan Balasescu
f7c0047206 Send time remaining in countdowns instead 2022-03-23 15:19:43 +09:00
Dan Balasescu
d4ad4ac9db Limit countdown updates to once per second 2022-03-23 10:50:05 +09:00
Dan Balasescu
6b712be97d Remove PopoverButton class 2022-03-23 10:40:38 +09:00
Dan Balasescu
9138aaf780 Split MultiplayerReadyButton 2022-03-23 10:38:56 +09:00
Dan Balasescu
1ffa1e1219
Merge pull request #17400 from nagilson/screen-mod-retention
Fix mods from single player carrying over to multiplayer
2022-03-23 08:36:15 +09:00
Dan Balasescu
8591630e5c
Merge branch 'master' into editor-exit-harsh-blocking 2022-03-23 07:06:25 +09:00
Bartłomiej Dach
f3aad77239
Remove unused local variable 2022-03-22 22:00:24 +01:00
Bartłomiej Dach
a38bafab91
Remove unused using directive 2022-03-22 22:00:05 +01:00
Bartłomiej Dach
8647bebdca
Merge branch 'master' into hold-to-discard-changes 2022-03-22 20:37:43 +01:00
Dean Herbert
ff8352b749
Merge branch 'master' into screen-mod-retention 2022-03-22 17:27:26 +09:00
Dean Herbert
61ddf1e6cf Disallow exiting the editor without saving (unless explicitly confirming) 2022-03-22 15:42:56 +09:00
Dean Herbert
f95bd89166 Revert editor exit behaviour to exit without changes for now 2022-03-22 14:46:57 +09:00
Dan Balasescu
23be0f1be9 Remove availability picker for now 2022-03-22 14:34:06 +09:00
Dan Balasescu
d0fee53e1f Implement auto countdown timers
Change to using TimeSpan
2022-03-22 14:34:06 +09:00
Dan Balasescu
4630aa15cc Apply refactorings according to reviews 2022-03-22 12:54:19 +09:00
NAGILSON
17b639b404 Implement suggested change to wipe mods on multiplayer screen 2022-03-21 22:42:17 -04:00
Dan Balasescu
aea03ca21d
Merge pull request #17359 from frenzibyte/fix-score-panel-max-combo
Improve method of retrieving beatmap maximum combo for results score panels
2022-03-22 06:28:30 +09:00
Dean Herbert
d811a70f4b Change button types on editor exit dialog to match purpose
Addresses https://github.com/ppy/osu/discussions/17363.
2022-03-21 16:06:59 +09:00
Salman Ahmed
5c1e11c153
Merge branch 'master' into queue-list-counter 2022-03-21 05:01:09 +03:00
Salman Ahmed
2a78042038 GetBeatmapMaximumComboAsync -> GetMaximumAchievableComboAsync 2022-03-20 16:18:53 +03:00
Salman Ahmed
add9f3ec91 Rename multiplayer mod usages to make more sense 2022-03-20 13:12:24 +03:00
Salman Ahmed
70e943fbcc ModUsage.Solo -> ModUsage.User 2022-03-20 06:36:51 +03:00
Salman Ahmed
e1d22e58bf Simplify queue count text logic 2022-03-20 06:25:14 +03:00
Salman Ahmed
7529d6fc00 Bind queue items during playlist initialization
Along with where the other bindables are bound together (only bind, not
listening).
2022-03-20 06:23:44 +03:00
Salman Ahmed
eca7975864 Compute the beatmap maximum achievable combo instead of Beatmap.MaxCombo 2022-03-20 05:38:14 +03:00
hwabis
ef823d58a7 address frenzibyte review (refactor bindable flow, clean up CI stuff) 2022-03-19 13:05:35 -04:00
Salman Ahmed
9afe82a0d5 Fix potentially null drawable call to SetLayoutPosition 2022-03-19 14:54:58 +03:00
Bartłomiej Dach
b7d5a628bc
Merge branch 'master' into fix-spectator-seeks-hot 2022-03-19 11:39:01 +01:00
Dean Herbert
a903aee17e Use schedule to workaround seek issue instead 2022-03-19 18:00:14 +09:00
Dean Herbert
cf2212e794 Revert "Fix spectator not starting from correct seek point (hotfix)"
This reverts commit 2b59eff465.
2022-03-19 17:20:54 +09:00
Dean Herbert
2b59eff465 Fix spectator not starting from correct seek point (hotfix) 2022-03-19 15:14:25 +09:00
Dean Herbert
dae5569e36 Use nullable in PlayerLoader 2022-03-19 15:06:22 +09:00
Dean Herbert
da76358ee0 Expose the loading player in PlayerLoader 2022-03-19 15:06:22 +09:00
Salman Ahmed
b99541fb5e Revert "Swap placements of "hold for menu" and key counter"
This reverts commit 5bcb7c167c.
2022-03-19 08:08:07 +03:00
hwabis
5d16519a82 make code prettier 2022-03-18 23:41:55 -04:00
Salman Ahmed
ad9b119e3d Reduce "hold for menu" radius of visibility 2022-03-19 05:04:54 +03:00
Salman Ahmed
486be83177 Calculate position adjustment distance in local parent space 2022-03-19 05:04:13 +03:00
Salman Ahmed
5bcb7c167c Swap placements of "hold for menu" and key counter 2022-03-19 05:02:22 +03:00
Salman Ahmed
0adad3a599 Handle potential null room hosts 2022-03-19 04:01:35 +03:00
hwabis
5a5629eb5a (works now) use BindValueChanged to set the Queue text 2022-03-18 20:47:45 -04:00
hwabis
5e5fbc496e (still not working) try bindables instead of int 2022-03-18 20:32:37 -04:00
hwabis
d9b2a29c6d (not working yet) add MultiplayerPlaylistTabControl, "Queue ({count})" 2022-03-18 20:02:26 -04:00
hwabis
faa36c78e5 put count and tabs into new fillflowcontainer 2022-03-18 12:55:00 -04:00
Dean Herbert
fc75aa0807
Merge pull request #17324 from frenzibyte/score-panel-max-combo
Display beatmap maximum combo next to score combo in results panel
2022-03-18 22:59:38 +09:00
Salman Ahmed
fa8eb1feec Update score panel to check for all combo-breaking statistics 2022-03-18 15:23:14 +03:00
Dan Balasescu
04f4e81852 Rename start countdown request 2022-03-18 21:05:19 +09:00
Dean Herbert
ed90dc6d6b Fix centering of labels using Height instead of location to better handle rotations 2022-03-18 20:17:04 +09:00
Dean Herbert
bd488d139d Better centre text labels for hit error meter 2022-03-18 20:11:05 +09:00
Salman Ahmed
af22e67e15 Fix perfect combo check not accounting for LargeTickMiss
`LargeTickMiss` can affect combo, see
a352a140bc/osu.Game/Rulesets/Scoring/HitResult.cs (L124-L144).
2022-03-18 13:11:41 +03:00
Salman Ahmed
9215384229 Display beatmap maximum combo in score panel 2022-03-18 13:11:41 +03:00
Dean Herbert
7c9fe4036c Add setting to change the style of the early/late markers 2022-03-18 17:50:37 +09:00
Dean Herbert
919583137e Add line style for centre marker 2022-03-18 17:50:37 +09:00
Dean Herbert
cdeab1b14e Add setting to change the style of the centre marker 2022-03-18 17:50:37 +09:00
Dean Herbert
331cb2aa80 Add setting to show or hide the moving average arrow 2022-03-18 17:50:37 +09:00
Dean Herbert
3f92bef9df Add setting for judgement line thickness 2022-03-18 17:50:37 +09:00
Dean Herbert
611562c650 Add more comments around catch up logic 2022-03-18 16:21:14 +09:00
Dean Herbert
f09a946722 Start GameplayClockContainer paused for better state control 2022-03-18 15:28:22 +09:00
Dean Herbert
59aef88504 Simplify clock reset/start flow in MultiSpectatorScreen 2022-03-18 15:07:57 +09:00
hwabis
c2e7ff7e3e display count of listQueue 2022-03-18 01:37:53 -04:00
Dan Balasescu
72843a6797 Add support for starting/stopping countdowns 2022-03-18 14:33:09 +09:00
Dan Balasescu
efce471f0b Add countdown button + popover 2022-03-18 14:31:57 +09:00
Dan Balasescu
b76a87e6f8 Split ready button visual logic into button itself 2022-03-18 14:31:57 +09:00
Salman Ahmed
1bd08b4a4b Remove kick button fading as well to not look jarring 2022-03-18 08:09:15 +03:00
Salman Ahmed
98b420ee6f Remove no longer correct crown fade animation
Since the host is pinned to the top without any animation, it would look
jarring for the crown to fade away from the old panel (and at a 50ms
duration).
2022-03-18 07:25:12 +03:00
Salman Ahmed
1c899d00b9 Pin multiplayer host panel to the top of the list 2022-03-18 07:25:03 +03:00
Dan Balasescu
af6d53ad64
Merge pull request #17279 from peppy/skin-editor-borrowed-dependencies
Only show components in skin editor which are usable on the current screen
2022-03-18 11:29:12 +09:00
Salman Ahmed
f2248ecc08 Update usages to use IsPlayable instead 2022-03-18 02:11:18 +03:00
Dean Herbert
c6be26eb01 Rename start time calculation method and add more commenting to explain purpose better 2022-03-18 01:35:50 +09:00
Dean Herbert
e3ab5de8cd Tidy up constructor logic overlap with gameplayStartTime 2022-03-18 01:35:50 +09:00
Dean Herbert
a4a0241800 Use a more explicit flow to set and reset GameplayClockContainer start time 2022-03-17 20:57:30 +09:00
Dean Herbert
5164b4d640 Use nullable in PlayerLoader 2022-03-17 20:57:30 +09:00
Dean Herbert
e3a5299b1a Expose the loading player in PlayerLoader 2022-03-17 19:32:01 +09:00
Dean Herbert
4650c197a3 Make SongProgress.DrawableRuleset nullable to allow test scene to work 2022-03-17 18:45:37 +09:00
Dan Balasescu
da0ffab14e Integrate ready button implementation 2022-03-17 18:43:04 +09:00
Dan Balasescu
461d41529b Integrate spectate button implementation 2022-03-17 18:36:33 +09:00
Dean Herbert
fd71aa4a4d Change SongProgress resolution requirements to be required 2022-03-17 15:05:54 +09:00
Dean Herbert
ac739c9dae Change PerformancePointsCounter resolution requirements to be required
All other similar UI components have required dependencies, so this is
mainly to bring things in line with expectations. I am using this fact
in the skin editor to only show components which can be used in the
current editor context (by `try-catch`ing their
`Activator.CreateInstance`).
2022-03-17 14:56:35 +09:00
Salman Ahmed
187059a37f Replace hardcoded overrides with the newly introduced Mod properties 2022-03-17 03:51:27 +03:00
Dean Herbert
c6aa32a003 Add basic song select setup for skinnability 2022-03-16 19:12:06 +09:00
Dan Balasescu
7e8aa77b2b
Merge pull request #17260 from peppy/editor-sidebar
Add `EditorSidebar` component
2022-03-16 18:20:18 +09:00
Salman Ahmed
1025e1939b Disable "Adaptive Speed" mod in multiplayer 2022-03-16 11:54:18 +03:00
Dean Herbert
ba1642a680 Allow section headers to wrap 2022-03-16 17:19:08 +09:00
Dan Balasescu
d80830b415
Merge pull request #17226 from peppy/skin-component-settings
Allow skin components to have settings
2022-03-16 17:12:11 +09:00
Dean Herbert
a0a033520f Rider no add licence headers 2022-03-15 16:48:14 +09:00
Dean Herbert
4ab5d6e3f0 Remove unnecessary FillFlowContainer from section 2022-03-15 16:47:08 +09:00
Dean Herbert
9e476ced63 Add EditorSidebar component 2022-03-15 16:38:00 +09:00
Dean Herbert
1814a325d8 Move GetSettingUnderlyingValue to a SettingSource extension method 2022-03-15 14:54:00 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +09:00
Dan Balasescu
4ff6879b85 Fix incorrect copied room end dates 2022-03-15 11:30:57 +09:00
Dean Herbert
e047413329
Merge pull request #17196 from frenzibyte/skinnable-welcome-intro
Add skinning support for "Welcome" intro sequence
2022-03-14 22:54:19 +09:00
Dean Herbert
163cd48bf6 Further metrics tweaking 2022-03-14 19:27:53 +09:00
Dean Herbert
e91b3ae5f1 Move constants closer to usages 2022-03-14 19:18:47 +09:00
Dean Herbert
6eed2c35a4 Adjust visual appearance of BarHitErrorMeter for easier reading 2022-03-14 19:16:38 +09:00
Dan Balasescu
028750936c Apply review suggestions 2022-03-14 17:10:37 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Dan Balasescu
926827207a Reduce calculator allocations in counter 2022-03-14 14:44:06 +09:00
Dan Balasescu
4a3e3aba65 Restructure PerformanceCalculator to not require ScoreInfo argument 2022-03-14 14:25:28 +09:00
Dean Herbert
c99397f75a Add the ability to add settings to skinnable elements 2022-03-13 17:03:25 +09:00
Bartłomiej Dach
398af246a5
Merge branch 'master' into blueprint-container-selected-items-bind 2022-03-11 00:37:45 +01:00
Salman Ahmed
8cbc8b944f Rescope scheduling and improve comment 2022-03-10 17:25:13 +03:00
Dean Herbert
68aedd63a7 Move SelectionHandler's SelectedItems binding to the base implementation
Until now it was up to each implementation to connect
`BlueprintContainer` to its `SelectionHandler`, which didn't make much
sense at all.
2022-03-10 23:22:19 +09:00
Dean Herbert
e31b174cc2
Merge pull request #17198 from smoogipoo/fix-beatmap-wedge-async-mutation
Fix beatmap wedge possibly applying transforms incorrectly and crashing
2022-03-10 23:12:58 +09:00
Dean Herbert
cee6a12d0b
Merge pull request #17199 from smoogipoo/fix-multiplayer-test-failures
Fix potential multiplayer crash with async disposal
2022-03-10 23:07:05 +09:00
Dan Balasescu
885cb3ce5b Add current screen checks for added safety 2022-03-10 20:03:02 +09:00
Dan Balasescu
2de7795844
Fix always rolling up from zero
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-03-10 19:59:05 +09:00
Dean Herbert
2d135e5be6 Explain purpose of Schedule call in MultiplayerPlayer.onResultsReady 2022-03-10 19:56:13 +09:00
Dan Balasescu
dfe98c6536
Merge pull request #17162 from peppy/realm-offset-feedback-fix-2
Fix feedback from realm writes causing offset slider to jump around
2022-03-10 18:53:08 +09:00
Dan Balasescu
45d537ef72 Fix potential multiplayer crash with async disposal 2022-03-10 18:50:53 +09:00
Dan Balasescu
671d614c92 Fix beatmap wedge mutating transforms incorrectly 2022-03-10 17:54:33 +09:00
Dean Herbert
db5c2c15dc
Merge pull request #17164 from smoogipoo/scoreprocessor-rework
Rework ScoreProcessor score calculation methods to fix various issues
2022-03-10 16:48:58 +09:00
Dan Balasescu
13a4058efd
Merge pull request #17191 from peppy/fix-mod-conversion-exceptions
Change `ToMod` to return an `UnknownMod` rather than throw if a mod isn't available
2022-03-10 16:20:50 +09:00
Salman Ahmed
2c1589e068 Add skinning support for "seeya" sample 2022-03-10 05:52:45 +03:00
Salman Ahmed
b8ee786d77 Add skinning support for "welcome" sample 2022-03-10 05:52:45 +03:00
Salman Ahmed
b38de6e580 Add skinning support for welcome sprite text 2022-03-10 05:52:43 +03:00
Dean Herbert
94ff6a338f
Merge branch 'master' into scoreprocessor-rework 2022-03-09 23:04:18 +09:00
Dean Herbert
df500dec04
Merge pull request #17187 from smoogipoo/fix-playlist-copy
Fix unable to copy playlist rooms without first opening
2022-03-09 23:03:43 +09:00
Dean Herbert
02f44d7061 Merge branch 'master' into fix-mod-conversion-exceptions 2022-03-09 18:07:42 +09:00
Dean Herbert
2eb3365f46 Fix regressing issues when attempting to exit Player after an unsuccessful beatmap load 2022-03-09 17:57:58 +09:00
Dean Herbert
1ee0be5e39 Ensure gameplay can't start when an UnknownMod is present 2022-03-09 17:57:58 +09:00
Dan Balasescu
4839bd8044
Notify if copying room fails
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-03-09 16:47:47 +09:00
Dean Herbert
520d2d6cfa Fix beatmap carousel panels accepting input while marked as not-visible
This is an issue as carousel panels manage their own animated state. If
they are marked as not-visible (done at a higher level, from filtering
or update pathways) but clicked while fading out, they will animate back
to a visible state but not be marked as visible.

No tests for this one as it's probably not worthwhile to test (and hard
to do so). Manual testing can be done with the following patch:

```diff
diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs
b/osu.Game/Screens/Select/BeatmapCarousel.cs
index c3d340ac61..3372242acc 100644
--- a/osu.Game/Screens/Select/BeatmapCarousel.cs
+++ b/osu.Game/Screens/Select/BeatmapCarousel.cs
@@ -255,7 +255,7 @@ private void
beatmapSetsChanged(IRealmCollection<BeatmapSetInfo> sender, ChangeS
             }

             foreach (int i in changes.NewModifiedIndices)
-                UpdateBeatmapSet(sender[i].Detach());
+                Scheduler.AddDelayed(() =>
                 UpdateBeatmapSet(sender[i].Detach()), 100, true);

             foreach (int i in changes.InsertedIndices)
                 UpdateBeatmapSet(sender[i].Detach());

```

- Enter gameplay and adjust beatmap offset then return to song select
  and click the flashing panel.
OR
- Enter editor and save then return to song select and click the
  flashing panel.

Closes https://github.com/ppy/osu/discussions/17171.
2022-03-09 16:08:52 +09:00
Dan Balasescu
b07a1e8d09 Fix unable to copy playlist rooms without first opening 2022-03-09 15:38:00 +09:00
Dean Herbert
6bf436cd62 Only null the realm write task if it actually completed 2022-03-09 13:52:58 +09:00
Dan Balasescu
f1c40bd9ed Rework GetScore() method signatures + implementations
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
5b6b8d1fa9 Remove GetStandardisedScore() proxy method 2022-03-08 21:49:41 +09:00
Dan Balasescu
2c382bd1d9 Rename GetImmediateScore() as overload of GetScore() 2022-03-08 21:49:40 +09:00
Dean Herbert
960b6528ca Ensure the value used during realm async write is the same as whe compared for equality 2022-03-08 19:36:23 +09:00
Dean Herbert
daa42584f4 Fix feedback from realm writes causing offset slider to jump around 2022-03-08 19:36:08 +09:00
Dean Herbert
622ec53130 Fix BeatmapLeaderboard refreshing on unrelated changes to a beatmap 2022-03-08 14:50:47 +09:00