Commit Graph

2241 Commits

Author SHA1 Message Date
a6516e3be5 Merge branch 'master' into scroll-to-20 2021-01-21 14:28:17 +09:00
7c4a072568 Merge branch 'master' into scroll-to-20 2021-01-21 13:48:26 +09:00
eb85efcea2 Add check to playlists too 2021-01-20 20:59:28 +09:00
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
0b165dce4b Fix multiplayer mod select showing autoplay as a choice 2021-01-18 17:50:32 +09:00
24e991a5ef Actually return beat length and not BPM 2021-01-15 14:35:09 +09:00
c6e9a6cd5a Make most common BPM more accurate 2021-01-15 14:28:49 +09:00
0a65ae8f1e Fix the beatmap carousel playing the difficulty change sample on beatmap change 2021-01-15 14:07:24 +09:00
4973e23003 Merge branch 'master' into fix-transform-mutation-mod-selection 2021-01-08 11:16:15 +09:00
4998aaaa98 Remove outdated warning disable
Does not trigger any more on Rider 2020.3.2.
2021-01-06 18:38:25 +01:00
7651d4554a Merge branch 'master' into fix-transform-carousel 2021-01-06 13:49:05 +01:00
43b9fde457 Add some nullability annotations for good measure 2021-01-06 13:15:15 +01:00
99701a6d9b Add null check on beatmapContainer for safety 2021-01-06 21:06:33 +09:00
ffafdf2209 Merge branch 'master' into fix-transform-carousel 2021-01-06 21:03:22 +09:00
25b4628672 Merge branch 'master' into fix-transform-mutation-from-background 2021-01-06 11:04:51 +01:00
52687fc37c Merge branch 'master' into fix-transform-mutation-loading-layer 2021-01-05 23:10:51 +01:00
4b539b01c1 Match code between updateSelectedBeatmap/Ruleset 2021-01-05 20:38:58 +09:00
83dbba3cbf Fix carousel beatmap set panels applying transforms to difficulties while they are loading 2021-01-05 18:41:45 +09:00
54982dcdd7 Refactor LoadingLayer to avoid applying effects to external drawables
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.

This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.

The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).

I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00
9bac791a57 Fix deselection of autoplay mod failing 2021-01-05 16:17:58 +09:00
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09:00
a3e4e2f6c3 Switch ResultsScreen and SongSelect inheritance and remove local implementation 2021-01-05 15:22:50 +09:00
53e6a349bb Fix incorrect initial conditional
Turns out this wasn't actually required.
2021-01-03 22:44:32 +09:00
efb71713ef Fix null condition inhibiting deselection events 2021-01-03 22:43:02 +09:00
a6d4992997 Ensure SelectionChanged events are only sent once when selection is null 2021-01-03 12:53:25 +09:00
caa5109e3a Add precautionary null checks to update methods in SongSelect 2021-01-03 12:18:35 +09:00
e2de5bb8f9 Fix the beatmap carousel not returning to centre correctly after resizing window 2021-01-02 22:05:41 +09:00
4c43a67b68 Rename I{Multiplayer -> OnlinePlay}SubScreen 2020-12-25 18:07:34 +01:00
83fb7c7a1a Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
5d4b73baa5 RealtimeMultiplayer -> Multiplayer 2020-12-25 14:10:59 +09:00
78c14fd696 Refactor code into UserTrackingScrollContainer 2020-12-22 17:36:44 +02:00
df5e1d83bd Allow recommender to potentially be null 2020-12-22 14:36:52 +09:00
8cc2ed3fae Move from OsuGameBase to OsuGame
Also moves to a more suitable namespace.
2020-12-22 14:28:27 +09:00
626b7615ad Move and rename some fields for better readability 2020-12-22 14:23:33 +09:00
dff865f335 Tidy up comments, code, and multiple linq enumeration 2020-12-22 14:12:02 +09:00
d229fbba6e Merge branch 'master' into present-recommended 2020-12-22 13:52:29 +09:00
c25e2c3dd5 Select recommended beatmap if last selection is filtered 2020-12-03 23:13:14 +02:00
49be4978bd Avoid calling ToList twice 2020-12-03 19:53:41 +02:00
4cd2e207ac Document getBestRulesetOrder 2020-12-03 19:53:06 +02:00
48dad61a46 Apply review suggestions 2020-12-03 19:44:12 +02:00
cbbcf36eaa Merge branch 'master' of https://github.com/ppy/osu into present-recommended 2020-12-03 19:38:32 +02:00
1d92800761 Merge pull request #11068 from peppy/fix-carousel-edge-masking
Fix beatmap carousel panels getting masked away when out of scroll bounds
2020-12-03 20:40:44 +09:00
31f7f7072d Fix song select panels not loading if partially offscreen 2020-12-03 15:13:20 +09:00
897f593b37 Fix beatmap carousel panels getting masked away when out of scroll bounds
Regressed in https://github.com/ppy/osu/pull/10973 due to removed masking specification.

Closes #11067.
2020-12-03 13:26:28 +09:00
a852a27dfb Fix current beatmap temporarily becoming empty during ruleset change
When changing the ruleset at song select, there was a scenario where it
would be set to default (empty) for one debounce length where this was
not actually required. This occurs when the currently selected beatmap
set has other difficulties which match the target ruleset, specifically.
2020-11-30 19:36:30 +09:00
792934f2c4 Allow scroll type to be specified
This brings back the ability for the carousel to scroll in a classic
way. It turns out this is generally what we want for "seek" operations
like "random", else it's quite hard to get the expected animation.

I did experiment with applying the animation after the pooled panels are
retrieved, but in a best-case scenario there is still a gap where no
panels are displayed during the random seek operation.
2020-11-27 13:54:38 +09:00
0a48dd8f76 Delegate scroll animation to panels themselves 2020-11-26 18:42:51 +09:00
ad258e2e52 Update scroll position before applying any panel animations
In the case of automatic scroll requirements (ie. scroll to selected) we
are delegating the animation logic to the panels themselves. In order to
make this work correctly, the scroll operation needs to take effect
before any animation updates are run.
2020-11-26 18:33:41 +09:00
6058c66edb Move drawable carousel set movement logic into panels themselves 2020-11-26 18:32:43 +09:00
f8db7a9902 Remove ScrollableContent container from carousel
This was causing multiple issues with masking and sizing and really
didn't need to exist in the first place. Also not sure why the pool was
nested inside the scroll container, but it isn't any more. Probably for
the best.
2020-11-26 18:28:54 +09:00