Dean Herbert
b567ab2a39
Fix context menus sometimes not being clickable at song select
...
Closes https://github.com/ppy/osu/issues/21602 .
2024-08-12 20:31:20 +09:00
Dean Herbert
0f29ed618a
Don't attempt to clear the carousel during realm blocking operation
2024-07-19 17:39:47 +09:00
Dean Herbert
0560214d5b
Fix beatmap carousel performance regression with large databases
2024-07-19 17:39:47 +09:00
Dean Herbert
123d3d2ff8
Add similar special case for insert after removal
2024-07-09 20:44:55 +09:00
Dean Herbert
920c0e4d25
Fix deleted beatmap sets potentially reappearing due to pending update requests
2024-07-09 17:08:26 +09:00
Dean Herbert
63b4327978
Ensure beatmap set is always detached when updating
...
Slight performance improvement by doing the detach as early as possible.
2024-07-09 17:08:25 +09:00
Dean Herbert
9a61adc4bc
Ensure other lists are cleared when realm is reset
2024-07-08 23:59:20 +09:00
Dean Herbert
8f271170e9
Coalesce beatmap updates
2024-07-08 20:05:18 +09:00
Dean Herbert
1095137a5b
Simplify tracking of hidden beatmaps
...
Handling a few extra events is preferrable to keeping a second realm
subscription live.
2024-07-08 20:05:18 +09:00
Dean Herbert
151c448535
Simplify tracking of beatmap sets in BeatmapCarousel
2024-07-08 20:05:18 +09:00
Dean Herbert
5350945340
Update HasFlag
usages
2024-07-03 00:19:04 +09:00
Dean Herbert
6beae91d53
Ensure carousel panel depth is consistent based on vertical position
...
I thought this was already being handled, but it turns out that changing
sort mode (and potentially other operations) could break the depth of
display of panels due to pooling and what not.
This ensures consistency and also employs @bdach's suggestion of
reversing the depth above and below the current selection for a better
visual effect.
2024-06-26 21:10:29 +09:00
Dean Herbert
5d4509150b
Adjust beatmap carousel's spacing to remove dead-space
...
As discussed in https://github.com/ppy/osu/discussions/28599 .
I think this feels better overall, and would like to apply the change
before other design changes to the carousel.
2024-06-26 11:56:58 +09:00
Bartłomiej Dach
659505f711
Adjust calls to GetContainingInputManager()
2024-06-18 07:41:19 +02:00
Dean Herbert
cc341b4119
Adjust beatmap carousel padding to avoid scrollbar disappearing underneath logo
2024-01-25 15:21:19 +09:00
Dean Herbert
1f0ad5cff2
Apply same fix in more places
2024-01-22 15:56:16 +09:00
Dean Herbert
74f05a5c4b
Use container itself rather than ScrollContent
2024-01-22 15:54:24 +09:00
Andrei Zavatski
cec4f670d1
Reduce allocation overhead in BeatmapCarousel
2024-01-22 03:12:23 +03:00
Dean Herbert
81c6fd5589
Load items closer to the centre of the screen as a priority
2024-01-04 19:25:12 +09:00
Dean Herbert
adac3b65ce
Fix beatmap carousel not preloading panels when off-screen
2024-01-04 19:25:12 +09:00
Nathan Tran
060bf8beff
Fix rewind backtracking
2023-12-25 15:27:32 -08:00
Dean Herbert
7fa4dcf0fb
Fix selection retention logic copy paste failure
2023-12-20 19:27:57 +09:00
Dean Herbert
e003462f7d
Fix beatmap updates causing one extra carousel selection
2023-12-20 19:15:02 +09:00
Dean Herbert
64f62e7d90
Fix song select running updates when screen is not active
...
Who would have guessed that `Schedule` calls were there for a reason!
I've tidied things up. Most of the changes I've made here are not
required – the schedule is the main thing here. The reason the sound was
playing is because one-too-many schedules was removed causing beatmap
updates to update carousel specifics while still at the player loader
screen.
Note that the selection sound still plays on returning to song select,
but this is not a regression. I'm looking at fixing this in a separate
PR because I'm in a good place as far as understanding the logic right
now and it would be a waste to leave it broken.
Closes https://github.com/ppy/osu/issues/25875 .
2023-12-20 17:31:09 +09:00
Dean Herbert
502e3edac3
Add missing invalidation call
2023-12-19 19:39:48 +09:00
Dean Herbert
8f5d21dc70
Actually fix realm selection retention regression
2023-12-19 18:10:55 +09:00
Dean Herbert
7e9c1b2acb
Use sender
's realm (because we can)
2023-12-19 17:27:52 +09:00
Dean Herbert
25e3a8e82e
Fix a few of silly issues
2023-12-18 22:45:58 +09:00
Dean Herbert
5755fa214a
Cache non-filtered beatmap counts to massively improve count performance
2023-12-18 20:44:08 +09:00
Dean Herbert
6fa1f5ef9b
Simplify invalidation logic
...
The only case where this was checking is guaranteed by realm to only be called once.
2023-12-18 20:31:02 +09:00
Dean Herbert
87b7699fcc
Avoid calling invalidation logic per beatmap set updated
...
Realm will batch the updates. We don't want to do expensive operations per set when we don't need to.
2023-12-18 20:31:02 +09:00
Dean Herbert
32cc3f9ef7
Combine multiple similar invalidation logic into single event
2023-12-18 20:31:02 +09:00
Dean Herbert
137a1d948d
Allow interacting with the carousel anywhere in empty space at song select
2023-10-20 20:04:11 +09:00
Bartłomiej Dach
63e92f8fab
Fix status on carousel beatmap set not showing in split difficulty mode
2023-09-06 08:25:19 +02:00
Bartłomiej Dach
b9795eb3d4
Fix changes to beatmap sets being undone on switching sort mode
2023-08-28 11:02:22 +02:00
Bartłomiej Dach
80ec18d117
Fix incorrect selection restore code in split case
...
The fallback to "any of the added sets" needs to be applied after
they've all been added, rather than with every added one. Otherwise, in
flows that expect a particular difficulty to be selected in the end
(such as exiting from editor) would end up switching away from the
edited beatmap.
2023-08-28 10:06:26 +02:00
Bartłomiej Dach
0af6cc1394
Fix online ID not being propagated in split difficulty mode
...
Would result in failures to re-download the beatmap in update flows, for
instance.
2023-08-28 10:05:59 +02:00
Dean Herbert
10b1450138
Rename remove method to better explain return type being IEnumerable
2023-08-25 18:10:54 +09:00
Dean Herbert
89eeff515b
Reduce complexity of selection restore
2023-08-25 00:52:54 +09:00
Dean Herbert
9e94f38091
Fix typo in local variable
2023-08-24 18:33:15 +09:00
Dean Herbert
018be4c20f
Fix selection not being retained when switching between split mode
2023-08-22 18:49:02 +09:00
Dean Herbert
ecbf0f138e
Fix incorrect handling when new beatmaps arrive
2023-08-22 18:48:07 +09:00
Dean Herbert
2b1c6ae612
Ensure ID is maintained in temporary BeatmapSetInfo
s
2023-08-22 18:48:07 +09:00
Dean Herbert
290d18ad69
Split out difficulties in beatmap carousel in a bit of a hacky way
...
Seems like the simplest path forward for now, without a full rewrite.
2023-08-22 18:47:41 +09:00
Dean Herbert
a98a36872e
Bring realm library up-to-date
2023-07-06 13:37:43 +09:00
Salman Ahmed
39db17d2e9
Use better method to avoid rewinding to deleted beatmaps
2023-06-15 11:22:11 +03:00
Renzo Poggio
0991c56e1c
Add extra check in 'SelectPreviousRandom'
...
Check if the poped beatmap exists within the beatmapSets
2023-04-25 00:05:15 -03:00
Joseph Madamba
f80de08f24
Adjust BeatmapSetsChanged
xmldoc
...
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-10 11:28:23 -07:00
Joseph Madamba
c7dea71793
Use existing BeatmapSetsChanged
action
2023-04-10 11:26:18 -07:00
Joseph Madamba
7f5b99c91b
Fix song select beatmap difficulty count not updating when deleting
2023-04-09 22:12:51 -07:00