Commit Graph

58 Commits

Author SHA1 Message Date
438067a18b Convert realm data propagation to more correctly use Live<T>
wip
2022-07-27 19:35:09 +09:00
41393616d8 Replace BeatmapCollection with RealmBeatmapCollection 2022-07-27 19:35:09 +09:00
30daa0fd44 Add ranked and submitted date storage and filtering 2022-07-19 19:55:56 +09:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
4a5e86e451 Rename Beatmaps to BeatmapHashes for clarity 2022-06-10 14:03:51 +09:00
42cd7d9e6e Change CollectionManager to only store MD5 hashes instead of full BeatmapInfo 2022-06-08 18:23:09 +09:00
7af23328a4 Merge branch 'master' into ruleset-ordering-fix 2022-01-27 21:46:03 +09:00
3ae5973ab7 Fix compilation error due to commit split 2022-01-27 17:08:31 +09:00
5637fd64d6 Perform ordering using IComparable instead 2022-01-27 15:59:20 +09:00
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
f30d63107a Add SortID to RulesetInfo to allow stable ordering of rulesets for display 2022-01-27 15:35:16 +09:00
f70e10e8a4 Fix ruleset filter matching using OnlineID instead of ShortName 2022-01-27 01:25:57 +09:00
873d367615 Fix custom rulesets not being able to convert maps 2022-01-26 15:51:39 +01:00
45bf35c425 Avoid performing keyword filtering at song select unless keywords are specified 2022-01-21 12:26:24 +09:00
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
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
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
ebe58cee11 Rename BeatmapInfo.StarDifficulty to StarRating to match underlying interface 2021-11-11 17:19:46 +09:00
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
d3b9660148 Move common interface implementations to extension methods 2021-10-05 14:41:14 +09:00
973c31132b Rename BeatmapInfo variables which were named beatmap for clarity 2021-10-02 12:45:34 +09:00
2b1d3c8e9c add od filter in search filter 2021-06-26 21:05:01 +07:00
42c3309d49 Use ruleset criteria in parsing and filtering 2021-03-02 20:11:21 +01:00
3090b6ccb5 Resolve CA2249 inspections
"Use `string.Contains` instead of `string.IndexOf` to improve
readability"
2020-11-01 18:54:44 +01:00
3143224e5b Refactor how drawable carousel items are constructed 2020-10-13 17:37:33 +09:00
a393bbe8f7 Remove direct drawable storage from carousel models 2020-10-13 17:37:33 +09:00
73c238fae3 Add the ability to search for local beatmaps via online IDs
Closes #10470.
2020-10-10 21:34:11 +09:00
43525614ad Store raw BeatmapCollection in filter control 2020-09-09 23:10:21 +09:00
9dde37fe40 Hook up collection filter 2020-09-02 20:25:42 +09:00
401c516503 Expose searchable terms from beatmap info instead 2020-05-07 13:04:08 +09:00
5186da8412 Fix potential song select nullref 2020-05-07 11:37:04 +09:00
3f8b454ff4 Reword comment to match new filtering behaviour
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-03-13 10:01:28 +09:00
63edcddaf1 Apply ruleset filter in all cases (even when bypassing filter for selection purposes) 2020-03-12 15:06:26 +09:00
332f56a7f8 Fix nullref in tests 2020-03-05 20:34:24 +09:00
f8776a0be4 Display all difficulties from overriding selection 2020-03-04 22:59:49 +09:00
a62550b323 Reapply filters on next change after a forced beatmap display 2020-03-04 20:14:18 +09:00
9e0e7be8d0 Modernise filter implementation 2020-01-24 18:57:17 +09:00
12cc97ca31 Merge remote-tracking branch 'origin/master' into star-filtering
# Conflicts:
#	osu.Game.Tests/Visual/SongSelect/TestSceneBeatmapCarousel.cs
#	osu.Game/Screens/Select/Carousel/CarouselBeatmap.cs
#	osu.Game/Screens/Select/FilterControl.cs
#	osu.Game/Screens/Select/FilterCriteria.cs
2020-01-24 18:30:52 +09:00
48287459a0 Optimise filters to avoid property retrieval
Also reduces number of instantiations of SearchableTerms array in the case of multiple criteria terms.
2019-12-05 01:52:22 +09:00
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
b262ba13cd Add creator= and artist= filters
To match stable, add creator= and artist= filters to the beatmap
carousel on song select screen. Contrary to stable, this implementation
supports phrase queries with spaces within using double quotes.

The quote handling is not entirely correct (can't nest), but quotes
should rarely happen within names, and it is an edge case of an edge
case - leaving best-effort as is. Test coverage also included.
2019-09-22 00:20:55 +02:00
7683f7ff23 Make OnlineStatus use OptionalRange 2019-09-19 17:12:07 +09:00
0915a94470 Make BeatDivisor use OptionalRange 2019-09-19 16:53:27 +09:00
92556db9cd Add query-based filter modes to song select search field 2019-09-19 02:48:28 +09:00
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
eec5afa382 Change inspection and add redundant parenthesis to appease codefactor 2018-12-15 16:37:37 +09:00
3892454ecc Improve the way text search works at song select 2018-12-15 16:34:48 +09:00
d83ce7e4bb don't allow null values in FilterCriteria, ensure values in test instead 2018-10-19 12:22:10 +02:00