Dean Herbert
ad482b8afc
Tidy up naming of collection dropdowns
2022-07-28 13:57:21 +09:00
Dean Herbert
67c7f324ee
Simplify CollectionFilterDropdown
filter flow weirdness
2022-07-28 13:57:21 +09:00
Dean Herbert
438067a18b
Convert realm data propagation to more correctly use Live<T>
...
wip
2022-07-27 19:35:09 +09:00
Dean Herbert
41393616d8
Replace BeatmapCollection
with RealmBeatmapCollection
2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48
Remove CollectionManager
2022-07-27 18:45:33 +09:00
Dean Herbert
e6a3659581
Guard against NewModifiedIndices
being empty
2022-07-27 14:23:47 +09:00
Dean Herbert
24d75612e2
Always attempt to follow selection, even if difficulty name / metadata change
2022-07-27 14:18:53 +09:00
Dean Herbert
8105d4854a
Fix beatmap carousel not maintaining selection if currently selected beatmap is updated
2022-07-27 13:33:48 +09:00
Dan Balasescu
8f7dff5c2c
Merge pull request #19378 from peppy/beatmap-update-test
...
Add separate beatmap update flow to handle edge cases better
2022-07-26 18:49:20 +09:00
Salman Ahmed
a4f6f2b9eb
Make item ID comparer static
2022-07-26 09:55:37 +03:00
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Salman Ahmed
693ac8750c
Remove remaining uses of "child" terminology in non-drawable components
2022-07-26 09:43:47 +03:00
Salman Ahmed
d7ef4170be
Maintain sort stability by using carousel item ID as fallback
2022-07-26 09:40:41 +03:00
Dean Herbert
b7f6413bce
Fix old version of beatmap potentially not being deleted during update flow
...
This can happen if the online IDs are not present in the `.osu` files.
Previously this was only working due to the early logic in the import
process (that relies on matching all online IDs perfectly).
2022-07-25 19:51:19 +09:00
solstice23
aaad2e474c
Refactor the multiple regex checks in criteria parsing
2022-07-23 21:43:27 +08:00
solstice23
63210d5662
Merge branch 'master' into search-filter
2022-07-23 18:13:53 +08:00
solstice23
3f2c341369
Simplify length parsing
2022-07-23 18:13:19 +08:00
Salman Ahmed
3aecd288e2
Enable NRT on TopLocalRank
2022-07-23 09:27:03 +03:00
Salman Ahmed
1d0306810a
Fix TopLocalRank
not handling legacy scores properly
2022-07-23 09:24:38 +03:00
Salman Ahmed
727fe76b60
Fix TopLocalRank
hacking around presence to hide on null rank
...
Fixed this here because that blocks `Schedule` from running, and I don't
want to add another override to the `IsPresent` flag.
2022-07-23 09:22:22 +03:00
solstice23
7c222505e9
Simplify length parsing
2022-07-22 14:24:17 +08:00
Salman Ahmed
3b913bb9ad
Fix sorting mode not filling up to usable area in filter control
2022-07-22 09:15:48 +03:00
solstice23
b36e23c0da
Simplify the regex expression
2022-07-22 03:30:31 +08:00
solstice23
ae0902ca86
Fix lax in search criteria parsing
2022-07-22 02:55:11 +08:00
solstice23
0dcb3644f5
Merge branch 'master' into search-filter
2022-07-22 01:32:25 +08:00
solstice23
6baaef432f
Add colon parsing support in search length criteria
2022-07-21 18:49:13 +08:00
solstice23
a5a8fac66f
Add multiple units support in search length criteria
2022-07-21 18:24:31 +08:00
Dean Herbert
fc0c9f76bd
Fix UpdateBeatmapSetButton
intermittent test failure
...
Carousel would only expire items when off-screen. This meant that for a
case (like a test) where items are generally always on-screen,
`UpdateBeatmapSet` calls would result in panels remaining hidden but not
cleaned up.
2022-07-21 16:24:48 +09:00
Dean Herbert
3cfe624af1
Fix one more missed method with incorrect terminology
2022-07-21 16:16:41 +09:00
Dean Herbert
a05d7f4d8c
Change carousel terminology to not use Children
/ InternalChildren
2022-07-21 16:06:06 +09:00
Dan Balasescu
7dfc18a0e3
Merge pull request #19208 from frenzibyte/remove-score-multiplier-on-custom-mod-settings
...
Remove score multiplier on difficulty-increasing mods with customised settings
2022-07-20 20:12:59 +09:00
Dan Balasescu
2b399ec7ad
Merge branch 'master' into date-submitted-ranked
2022-07-20 18:36:57 +09:00
Dan Balasescu
de29078db2
Remove nullable disables
2022-07-20 15:16:40 +09:00
Dean Herbert
30daa0fd44
Add ranked and submitted date storage and filtering
2022-07-19 19:55:56 +09:00
Dean Herbert
17046b0553
Add basic handling of download failures
2022-07-19 19:01:23 +09:00
Dean Herbert
a16bf35581
Rename button class and add basic progress display
2022-07-19 18:29:36 +09:00
Dean Herbert
da360af15a
Fix vertical centering of button
2022-07-19 18:29:36 +09:00
Dean Herbert
eaf4f6dbb7
Add beatmap update button
2022-07-19 18:29:36 +09:00
Salman Ahmed
e86a35fe33
Fix NRE on footer button mods
2022-07-18 10:09:14 +03:00
Salman Ahmed
eddae7b143
Fix mod overlay and footer not updating multiplayer on settings change
2022-07-18 07:38:56 +03:00
Salman Ahmed
838e9ec12e
Merge branch 'master' into placeholder-fixes
2022-07-15 20:22:25 +03:00
Dean Herbert
cf38b15332
Merge pull request #19124 from frenzibyte/song-select-metadata-search
...
Change clicking source/tags on song select to filter instead of searching online
2022-07-15 19:16:31 +09:00
Dean Herbert
e12e480393
Only expose bindable string rather than full textbox
2022-07-15 18:01:35 +09:00
Dean Herbert
ba0a158740
Show search online prompt even when no beatmaps are available locally
2022-07-15 17:50:10 +09:00
Dan Balasescu
c1dd1cfead
Merge pull request #19082 from peppy/api-solo-score-model
...
Add and consume `SoloScoreInfo`
2022-07-15 15:20:18 +09:00
Salman Ahmed
86d019c2b2
Enable NRT on BeatmapDetails
2022-07-15 06:52:06 +03:00
Salman Ahmed
97c3eea3aa
Fix beatmap details source and tags not filtering on song select
2022-07-15 06:51:50 +03:00
Salman Ahmed
102d0415f1
Merge branch 'master' into drawable-playlist-item-collection
2022-07-14 00:10:49 +03:00
Dan Balasescu
7ed05277f8
Merge pull request #19098 from peppy/last-played
...
Add "last played" sort mode to song select
2022-07-13 22:44:50 +09:00
Dean Herbert
6950223a7d
Fix drawable mutation from disposal thread
2022-07-13 19:19:14 +09:00
Dean Herbert
fc274629f8
Add "last played" sort mode to song select
...
Note that this will consider the most recent play of any beatmap in
beatmap set groups for now, similar to other sort methods.
2022-07-13 16:43:43 +09:00
Dean Herbert
f956955d4d
Combine ScoreInfo
construction helper methods
2022-07-12 18:00:25 +09:00
Salman Ahmed
a94fb62be3
Split collection toggle menu item to own class
2022-07-08 01:39:45 +03:00
Dean Herbert
e1b434b5dc
Fix song select placeholder not showing convert hint for custom rulesets
2022-07-07 14:46:51 +09:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
...
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Dan Balasescu
724fd19038
Remove nullable disables
2022-07-03 21:15:13 +09:00
Dean Herbert
052a786eff
Only show hover effect on one nub at a time
2022-07-03 03:06:03 +09:00
Dean Herbert
7d8ea5e286
Remove unnecessary proxying
2022-07-03 02:59:10 +09:00
Dean Herbert
a03abc747b
Tidy up comments and simplify bounding box centre logic
2022-07-02 12:58:34 +09:00
Dean Herbert
1fd9c64803
Change song select FooterButton
sound
2022-07-02 12:48:33 +09:00
Dean Herbert
b829884861
Merge pull request #18963 from peppy/more-placeholder-suggestions
...
Add difficulty filter reset to song select "no results" suggestions
2022-07-01 17:55:23 +09:00
Dean Herbert
58e25a3a01
Fix potential crash in BeatmapLeaderboard
during rapid refresh operations
2022-07-01 15:42:35 +09:00
Dean Herbert
3e0f4e7609
Add test coverage of difficulty filter reset
2022-07-01 15:28:55 +09:00
Dean Herbert
f3af612133
Suggest removing difficulty filter if no matches found at song select
2022-07-01 15:18:04 +09:00
Dean Herbert
545df0a8e8
Display difficulty on nub
2022-07-01 15:17:26 +09:00
Dean Herbert
cb9947b1c9
Align song select components a bit better
2022-07-01 15:17:12 +09:00
Dean Herbert
32139ac13f
Tidy up implementation and add basic visual test
2022-07-01 15:16:58 +09:00
Dean Herbert
d54f7fc728
Move slider range control to song select
2022-07-01 14:41:36 +09:00
Dan Balasescu
d43b980a17
Merge pull request #18872 from peppy/add-working-beatmap-changed-logging
...
Add various logging of global `WorkingBeatmap` state changes
2022-06-27 21:34:05 +09:00
Dean Herbert
aa7d54f8b6
Add logging for various cases of SongSelect.FinaliseSelection
being aborted
2022-06-27 20:10:17 +09:00
Dean Herbert
50c1c066de
Add various logging of global WorkingBeatmap
state changes
2022-06-27 18:41:31 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
30eebf3511
Merge branch 'master' into c-sharp-10
2022-06-24 21:22:33 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}()
2022-06-24 11:57:45 +02:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
Dean Herbert
28837693e5
Nuke calculating everything
...
The whole component is pointless so I'm just going to nuke for now I
guess. Kind of makes the whole refactor effort pointless but oh well?
To expand on this, the implementation was actually incorrect as pointed
out at https://github.com/ppy/osu/pull/18819#pullrequestreview-1017886035 .
2022-06-24 14:24:06 +09:00
Dean Herbert
01da6f20b3
Tidy up all remaining usages
2022-06-23 19:27:35 +09:00
Dean Herbert
7dec530ca5
Split out simple DifficultyIcon
with no calculation overhead and update usages
2022-06-23 19:27:35 +09:00
Bartłomiej Dach
93b3ede2a0
Always use beatmap ruleset in editor gameplay test mode
...
Fixes cases where opening a convertible beatmap (so any osu! beatmap)
with the game-global ruleset being set to anything but osu! would result
in opening the editor gameplay test mode with the game-global ruleset
rather than the beatmap's.
2022-06-19 19:30:40 +02:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
c9dfffbc0e
Merge pull request #18619 from peppy/fix-collection-performance
...
Fix performance overhead of large collections
2022-06-10 15:01:31 +09:00
Dean Herbert
4a5e86e451
Rename Beatmaps
to BeatmapHashes
for clarity
2022-06-10 14:03:51 +09:00
Dean Herbert
187086e4ec
Merge pull request #18609 from ALANVF/settings-delete-skin
...
Add button to delete the current skin
2022-06-08 19:18:59 +09:00
Dean Herbert
42cd7d9e6e
Change CollectionManager
to only store MD5 hashes instead of full BeatmapInfo
2022-06-08 18:23:09 +09:00
Dan Balasescu
f8594acb1d
Cleanup dialog implementation
2022-06-08 18:17:43 +09:00
Dan Balasescu
3a90aa0b9b
Fix code styling
2022-06-08 17:57:59 +09:00
Dan Balasescu
c43670fcd9
Merge pull request #18603 from peppy/fix-import-dialog
...
Add placeholder when no results are visible at song select
2022-06-08 15:22:31 +09:00
theangryepicbanana
6c05329144
Close #5820 (Ability to delete a single skin)
2022-06-07 18:01:40 -04:00
Dean Herbert
228683e956
Fix nullability of dialogOverlay
dependency
2022-06-07 23:48:34 +09:00
Dean Herbert
2e0b888410
Fix song select carousel invalidating every frame during global overlay dimming
2022-06-07 23:46:53 +09:00
Dean Herbert
f8524c3af4
Use VisibilityContainer
to avoid too many animations triggering
2022-06-07 17:25:06 +09:00
Dean Herbert
a04af1ca5f
Enable nullable and add hinting at convert filter criteria
2022-06-07 17:25:06 +09:00
Dean Herbert
0d32c94104
Add initial implementation of beatmap carousel no-results-placeholder
2022-06-07 17:25:06 +09:00
Dean Herbert
df9174ec00
Remove import popup dialog from song select
...
This has been replaced in spirit by the first run overlay.
2022-06-07 16:45:27 +09:00
Joseph Madamba
4b54fedd88
Add back hide common string using new ToSentence()
extension method
2022-06-03 20:09:20 -07:00
Joseph Madamba
b342aad24a
Revert/fix some incorrectly used sorting localisation
2022-06-03 19:56:33 -07:00
Jamie Taylor
6115275bc2
Use 'default' sampleset for toolbar and repurpose 'toolbar' select sample temporarily
2022-06-03 22:33:06 +09:00
Jamie Taylor
365819865e
Remove 'submit' sample usages
2022-06-03 22:31:35 +09:00
Salman Ahmed
84a3cee452
Apply rate multiplier outside BPM rounding
2022-05-20 18:04:12 +03:00
Salman Ahmed
596853da8f
Fix song select potentially displaying BPM range with equal min/max values
2022-05-20 17:53:28 +03:00
Bartłomiej Dach
76c63f1d0a
Rename ModSelect{Screen -> Overlay}
in place of removed old design
2022-05-10 22:56:50 +02:00
Dean Herbert
0d32bf91eb
Hardcode hide key handling in ModSelectScreen
2022-05-08 01:35:11 +09:00
Bartłomiej Dach
34cf4c6a38
Fix mod overlay not closing on toggle hotkey
2022-05-05 22:16:56 +02:00
Bartłomiej Dach
0caea77176
Fix mod selects not hiding when their owner screens exit
2022-05-05 22:16:55 +02:00
Bartłomiej Dach
a56eab2c47
Extract interface for overlay management
2022-05-05 22:16:55 +02:00
Bartłomiej Dach
4eefbd5bc2
Use new free mod select design in room creation flow
2022-05-05 22:16:54 +02:00
Bartłomiej Dach
1744d7e4f0
Fix new mod select overlay dimming itself
2022-05-05 22:16:54 +02:00
Bartłomiej Dach
407db7ff9d
Replace old mod select overlay with new design
2022-05-05 22:16:54 +02:00
Salman Ahmed
9416346c94
Globalise beatmap selection key bindings as "group" selection
2022-05-04 16:46:32 +03:00
Salman Ahmed
d52a1a5d23
Add key binding for beatmap selection in song select
2022-05-04 03:52:10 +03:00
Salman Ahmed
18852b2509
Fix footer random button autosizing to text length
2022-05-02 15:36:22 +03:00
Dean Herbert
5c04ab18ec
Merge pull request #18011 from frenzibyte/rewind-shift-click
...
Allow rewinding random in song select with "Shift + Left Click"
2022-04-29 23:10:29 +09:00
Salman Ahmed
856ca96b66
Allow right-clicking to rewind on random button
2022-04-29 10:12:24 +03:00
Salman Ahmed
a9d67d3e92
Change random button text when holding shift key
2022-04-29 10:10:21 +03:00
Salman Ahmed
7e3d1511c6
Hide "Rank Achieved" sorting mode until it's supported
2022-04-29 07:47:10 +03:00
Salman Ahmed
fa5c05120c
Allow rewinding random in song select with Shift + Left Click
2022-04-28 20:06:27 +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
999b4505d1
Remove localisation of "hide" string to fix incorrect case
2022-04-24 16:37:11 +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
Dean Herbert
832d37b2c2
Update screen transition events to use new event args
2022-04-22 00:52:44 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07: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
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
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
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
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
c6aa32a003
Add basic song select setup for skinnability
2022-03-16 19:12:06 +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
Dan Balasescu
671d614c92
Fix beatmap wedge mutating transforms incorrectly
2022-03-10 17:54:33 +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
Dean Herbert
622ec53130
Fix BeatmapLeaderboard
refreshing on unrelated changes to a beatmap
2022-03-08 14:50:47 +09:00
Dean Herbert
da29947ecd
Disallow interaction with carousel set difficulty icons unless selected
...
I kinda liked this flow, but from multiple reports from users it
definitely seems in the way. We can revisit after the new design is
applied to song select.
Note that this means the tooltips also don't display. If it is preferred
that they should (arguable from a UX perspective, since I'd expect to be
able to click at that point) then the issue can be addressed using a
slightly different path (a few more lines - nothing too complex).
2022-03-07 11:34:08 +09:00
Dean Herbert
42e07b7308
Convert to extension method to avoid recursive calls
2022-03-03 14:15:37 +09:00
Dean Herbert
fab9323707
Replace all legacy ruleset checks with a helper property call
2022-03-03 14:08:48 +09:00
Dean Herbert
c342030b2c
Add specific placeholder message for custom rulesets rather than showing network error
2022-03-02 14:10:59 +09:00
Dean Herbert
7307e68e9c
Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
...
This reverts commit 252b945d3b
, reversing
changes made to a1b39a96cf
.
2022-02-17 13:26:12 +09:00
Dan Balasescu
5dd9771c5f
Remove mod multipliers from being applied to scores
2022-02-16 16:27:27 +09:00
Salman Ahmed
6f0e32826c
Standardise ordering/grouping of IRulesetInfo
/RulesetInfo
s
2022-02-11 04:27:11 +03:00
Dean Herbert
eb25730b61
Revert "Merge pull request #16716 from peppy/carousel-less-invalidations"
...
This reverts commit 8d13e0514b
, reversing
changes made to 95582a9023
.
2022-02-05 16:12:58 +09:00
Jamie Taylor
0f48c0131c
Layer playback of beatmap-changed and random-beatmap samples
2022-02-04 19:57:54 +09:00
Dean Herbert
6d6327d3da
Fix test beatmap loading potentially performing selection before carousel itself is loaded
2022-02-03 18:40:16 +09:00
Dean Herbert
e65996efc3
Rename variable to match purpose better
2022-02-03 17:14:38 +09:00
Dean Herbert
4f3e55a0ce
Merge branch 'master' into songselect-random-sfx
2022-02-02 17:18:24 +09:00
Dean Herbert
6bc6675fa1
Adjust fade in times slightly
2022-01-31 14:46:20 +09:00
Dean Herbert
8917ab78f4
Reduce unnecessary container nesting and adjust empty state opacity slightly
2022-01-31 14:46:20 +09:00
Dean Herbert
2ee0db0ebf
Move fade in function local
2022-01-31 14:46:20 +09:00
Dean Herbert
c3e3b2019d
Reduce overhead of ApplyState
by tracking previous values
...
Even with pooling applied, there are overheads involved with transforms
when quickly cycling through the carousel.
The main goal here is to reduce the transforms in cases the reuse is
still in the same state. Avoiding firing `FadeIn` and `FadeOut` are the
main areas of saving.
2022-01-31 14:46:20 +09:00
Dean Herbert
a06287e76a
Remove DrawableCarouselItem.Update
updating of height
...
Marginal from a performance aspect, but reads better.
2022-01-31 14:46:20 +09:00
Dean Herbert
9c9fda84f3
Add schedule and cancellation check to score ordering step
2022-01-31 13:50:53 +09:00
Dean Herbert
f8939af5e6
Track loading via state as well
2022-01-31 01:12:03 +09:00
Dean Herbert
acc1199add
Consolidate flows of Set
operations, either result or error
2022-01-30 16:16:00 +09:00
Dean Herbert
c401629dd8
Also refactor placeholder
logic to make more sense
2022-01-30 10:50:32 +09:00
Dean Herbert
d0b74a91fb
Fix edge cases with score drawable loading
2022-01-29 23:58:57 +09:00
Dean Herbert
0293d95f82
Simplify IsOnlineScope
usage
2022-01-29 23:58:57 +09:00
Dean Herbert
daea13f491
Simplify flow of cancellation token
2022-01-29 23:58:57 +09:00
Dean Herbert
3d59bab7c6
Remove fetch callback logic completely
2022-01-29 23:58:57 +09:00
Dean Herbert
aee93934d5
Rename methods to make more sense (and always run through AddOnce
)
2022-01-29 23:58:57 +09:00
Dean Herbert
e7823982d8
Fix ruleset value not being transferred when FinaliseSelection
is not called
2022-01-29 18:44:48 +09:00
Dan Balasescu
f021a274d2
Merge pull request #16681 from peppy/fix-delete-local-scores
...
Fix delete local scores via "Clear all scores" button crashing the game
2022-01-28 17:01:31 +09:00
Dean Herbert
0d3ac4fd9c
Fix delete local scores crashing the game
2022-01-28 15:54:53 +09:00
Dean Herbert
b7d8c9bf06
Fix a couple of cases of incorrect equality checks in the case both values are null
2022-01-28 14:29:56 +09:00
Jamie Taylor
f59828e2d9
Add audio feedback to song select 'random'
2022-01-28 13:43:37 +09:00
Bartłomiej Dach
04d6ca59a3
Merge branch 'master' into song-select-scroll-position-during-delete
2022-01-27 20:46:19 +01:00
Dean Herbert
7af23328a4
Merge branch 'master' into ruleset-ordering-fix
2022-01-27 21:46:03 +09:00
Dean Herbert
3ae5973ab7
Fix compilation error due to commit split
2022-01-27 17:08:31 +09:00
Dean Herbert
449e9bcf5c
Ensure beatmap carousel scroll position is maintained during deletion operations
2022-01-27 16:52:02 +09:00
Dean Herbert
0a45aa80cb
Remove unnecessary double-schedule in UpdateBeatmapSet
2022-01-27 16:52:02 +09:00
Dean Herbert
5637fd64d6
Perform ordering using IComparable
instead
2022-01-27 15:59:20 +09:00
Dean Herbert
5288eedd31
Update all usages of RulesetID
and Ruleset.ID
to use Ruleset.OnlineID
2022-01-27 15:38:03 +09:00
Dean Herbert
f30d63107a
Add SortID
to RulesetInfo
to allow stable ordering of rulesets for display
2022-01-27 15:35:16 +09:00
Dean Herbert
f70e10e8a4
Fix ruleset filter matching using OnlineID
instead of ShortName
2022-01-27 01:25:57 +09:00
Derrick Timmermans
873d367615
Fix custom rulesets not being able to convert maps
2022-01-26 15:51:39 +01:00
Dean Herbert
473c4d00ca
Fix grouped difficulty icons using incorrect lookup for ruleset grouping
2022-01-26 18:38:44 +09:00
Dean Herbert
d7342880f5
Update remaining cases of clashes with realm.Write
and realm.RegisterForNotifications
2022-01-25 13:09:48 +09:00
Dean Herbert
e23b10e6a5
Update remaining cases of clashing variable name in realm.Run(realm..
2022-01-25 13:04:05 +09:00
Dean Herbert
6eb2c28e41
Rename RealmContextFactory
to RealmAccess
2022-01-24 20:38:07 +09:00
Dean Herbert
40aa873190
Rename register methods to better explain their purpose
2022-01-24 14:37:36 +09:00
Dean Herbert
e9e3e024a1
Update all usages of QueryAsyncWithNotifications
to use new Register
pathway
2022-01-23 20:28:04 +09:00
Dean Herbert
61cef42be9
Proof of concept realm subscriptions via Register
2022-01-23 20:28:04 +09:00
Dean Herbert
1f157d729d
Update existing subscriptions to new style
...
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dean Herbert
8f1dfa33a2
Merge branch 'master' into realm-context-use-update-when-feasible
2022-01-21 18:03:09 +09:00
Dean Herbert
114c9e8c1f
Update all usages of CreateContext
to use either Run
or Write
2022-01-21 17:27:08 +09:00
Dean Herbert
3bcdce128c
Use dictionary add for safety
2022-01-21 15:29:21 +09:00
Dean Herbert
ff4f40db8a
Merge branch 'master' into carousel-performance-n
2022-01-21 15:27:42 +09:00
Dan Balasescu
c4f24ef96c
Merge pull request #16542 from peppy/carousel-search-performance-less-simple
...
Avoid performing full filter when updating carousel beatmap sets
2022-01-21 15:05:30 +09:00
Dean Herbert
bed7b69464
Apply NRT to CarouselGroup
2022-01-21 13:26:29 +09:00
Dean Herbert
5b24800b0e
Avoid applying filter in UpdateBeatmapSet
flow
2022-01-21 13:26:25 +09:00
Dean Herbert
45bf35c425
Avoid performing keyword filtering at song select unless keywords are specified
2022-01-21 12:26:24 +09:00
Dean Herbert
ba31ddee01
Revert beatmapSets
reference to fix tests
...
New version changed order.
2022-01-21 00:34:12 +09:00
Dean Herbert
80f3a67876
Use for
instead of foreach
to avoid enumerator overhead
2022-01-20 22:21:00 +09:00
Dean Herbert
0b93f3c88f
Add <Guid,CarouselBeatmapSet>
dictionary to speed up update operations in carousel
2022-01-20 22:12:49 +09:00
Dean Herbert
9a864267d2
Fix CarouselGroupEagerSelect
not invoking subclassed AddChild
from AddChildren
calls
2022-01-20 21:57:16 +09:00
Dean Herbert
a8ce2c5edf
Detach before sending BeatmapSetInfo
to any handling method
2022-01-20 21:14:10 +09:00
Dean Herbert
b1cf3befa6
Fix incorrect query in comment
2022-01-20 18:36:20 +09:00
Dean Herbert
3ba712703b
Add a note about hidden beatmap check
2022-01-20 17:50:17 +09:00
Dean Herbert
1dabf6c8a5
Fix BeatmapCarousel
signalling it is finished loading before catching up on realm changes
2022-01-20 16:39:42 +09:00
Dean Herbert
6c46fd6931
Fix some failing tests due to realm beatmaps overwriting test beatmaps
2022-01-20 00:19:16 +09:00
Dean Herbert
2789986699
Use asynchronous loading for beatmap carousel again
2022-01-19 18:15:43 +09:00
Dean Herbert
200fcb6f83
Detach beatmap set before checking hidden state
2022-01-19 16:59:49 +09:00
Dan Balasescu
581873f944
Merge pull request #16497 from peppy/top-local-rank-optimisation
...
Rewrite `TopLocalRank` to use realm subscriptions
2022-01-19 14:22:12 +09:00
Dean Herbert
9be5bf38c6
Simplify binding/invalidation in TopLocalRank
2022-01-19 13:20:52 +09:00
Dean Herbert
7f65f3a47f
Remove all usage of BaseDifficulty
(and access Difficulty
instead)
2022-01-18 22:57:39 +09:00
Dean Herbert
f5b8653491
Add spaces to query string
2022-01-18 19:28:09 +09:00
Dean Herbert
27ea37c690
Rewrite TopLocalRank
to use realm subscriptions
...
This addresses the number one performance concern with realm (when
entering song select). Previous logic was causing instantiation and
property reads of every score in the database due to the `AsEnumerable`
specfication.
2022-01-18 18:17:53 +09:00
Dean Herbert
11ca1b6e7b
Remove one more usage of IsManaged
which could potentially go wrong
2022-01-17 13:40:27 +09:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-15 14:45:42 +01:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Dean Herbert
54804ebfbd
Fix delete/clear scores buttons not working
2022-01-13 18:38:38 +09:00
Dean Herbert
069d6d2954
Remove pointless compatibility parameter BeatmapSetInfoID
2022-01-13 18:02:10 +09:00
Dean Herbert
6025fe325d
Fix filter criteria not being applied after carousel loads new beatmap sets
2022-01-13 15:08:51 +09:00
Dean Herbert
b2d09b7b10
Fix further warnings
2022-01-12 23:42:12 +09:00
Dean Herbert
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +09:00
Dean Herbert
ef0f794fd6
Remove stay newline
2022-01-12 18:13:14 +09:00
Dean Herbert
eb70a1eeb7
Replace compatibility properties with direct references
2022-01-12 18:13:14 +09:00
Dean Herbert
34aa1bf21d
Sanitise and remove some usages of Detach
which are no longer required
2022-01-12 17:49:11 +09:00
Dean Herbert
dc3730f334
Fix song select import popup not always showing
2022-01-12 17:49:11 +09:00
Dean Herbert
0aff1c232b
Fix deleted/hidden carousel queries
2022-01-12 17:49:11 +09:00
Dean Herbert
7dba3c3551
Fix most remaining test issues
2022-01-12 17:49:11 +09:00
Dean Herbert
58f8aae731
Fix one missed instance of GetResultSafely
2022-01-12 17:49:11 +09:00
Dean Herbert
02d0ca2741
Fix protected beatmaps showing up in the song select carousel
2022-01-12 17:49:10 +09:00
Dean Herbert
41d90cd0b5
Fix beatmap carousel test failures
2022-01-12 17:49:10 +09:00
Dean Herbert
e74a5022c9
Fix multiple tests via null checks and changing ToLive
to Detach
...
flow
2022-01-12 17:00:17 +09:00
Dean Herbert
6919df18fa
Fix incorrect ordering and grouping of difficulties at song select
2022-01-12 17:00:17 +09:00
Dean Herbert
2b8706b6ce
Detach and reattach scores to make work
2022-01-12 17:00:16 +09:00
Dean Herbert
60d2de8a3b
Fix potential nullref when song select filters to no results
2022-01-12 17:00:16 +09:00
Dean Herbert
de3a338d02
Update realm queries to use Filter
to allow for indirect property filtering
2022-01-12 17:00:16 +09:00
Dean Herbert
8461eaab46
BeatmapSetInfo
detach support
2022-01-12 17:00:16 +09:00
Dean Herbert
3811bd8520
Fix some null inspections
2022-01-12 17:00:16 +09:00
Dean Herbert
33060990b7
Temporarily disable WorkingBeatmapCache
and fix multiple invalid data flows
2022-01-12 17:00:16 +09:00
Dean Herbert
4295815c7d
Fix invalid equality comparison in BeatmapLeaderboard
2022-01-12 17:00:16 +09:00
Dean Herbert
6d60aa7d9c
Replace TopLocalRank
event flow with realm subscriptions
2022-01-12 17:00:16 +09:00
Dean Herbert
c9257e9ecc
Fix missing disposal of realm subscriptions in BeatmapCarousel
2022-01-12 17:00:16 +09:00
Dean Herbert
5dc497e949
Replace BeatmapLeaderboard
event flow with realm subscriptions
2022-01-12 17:00:16 +09:00
Dean Herbert
db05727ec4
Remove unused includeProtected
parameter
2022-01-12 17:00:16 +09:00
Dean Herbert
3152d2d8a0
"Update" BeatmapCarousel
2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366
Update model manager and many related classes to get things compiling again
2022-01-12 17:00:00 +09:00
Dean Herbert
4f6a05ce3d
Reimplement all query methods
2022-01-12 16:57:27 +09:00
Dean Herbert
2a4bee61dd
Update many score-related classes to move closer to being able to persist to realm
2022-01-12 16:57:27 +09:00
Dean Herbert
b8cd3cdbbc
Various updates to ruleset and primary key usages to move closer to realm support
2022-01-12 16:57:13 +09:00
Dean Herbert
e6fdd0e969
Miscellaneous fixes that don't fit elsewhere
2022-01-12 16:39:36 +09:00
Dean Herbert
213d89b479
Update null fallback cases involving OnlineID
2022-01-12 16:39:36 +09:00
Dan Balasescu
af9fad00c3
Merge branch 'master' into async-deadlock-safety
2022-01-10 16:11:09 +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