1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 01:47:25 +08:00
Commit Graph

1484 Commits

Author SHA1 Message Date
iiSaLMaN
fb9f21237e Reset track adjustments on resuming from another screen 2019-09-28 04:18:16 +03:00
Dean Herbert
4a59e3351e Update beatmap carousel tests code style
Also fixes one issue I spotted in BeatmapCarousel related to incorrectly holding a selection after new sets are loaded.
2019-09-25 02:42:12 +09:00
Bartłomiej Dach
96c0c80dc5 Factor out methods in FilterQueryParser
Factor FilterQueryParser.ApplyQueries into shorter methods to reduce
method complexity.
2019-09-22 21:20:50 +02:00
Bartłomiej Dach
70842f71f4 Fix floating point handling in filter intervals
Due to floating-point rounding and representation errors, filters could
wrongly display results incongruous with the wedge display text (ie.
a beatmap with the BPM of 139.99999 would be displayed as having 140
BPM and also pass the bpm<140 filter).

Apply tolerance when parsing floating-point constraints. The tolerance
chosen is half of what the UI displays for the particular values (so
for example half of 0.1 for AR/DR/CS, 0.01 for stars, etc.)

Tests updated accordingly.
2019-09-22 00:20:55 +02:00
Bartłomiej Dach
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
Bartłomiej Dach
f5f5094611 Take culture into account when parsing filters
Culture was not taken into account when parsing filters, which meant
that in cultures that use the comma (,) as a decimal delimiter, it would
conflict with the comma used to delimit search criteria. To remove
any ambiguity, introduce local helper functions that allow the decimal
point to be utilised, using the invariant culture. This also matches
stable behaviour.

The decision to not reuse osu.Game.Beatmaps.Formats.Parsing was
deliberate due to differing semantics (it's not really sane to throw
exceptions on receiving user-facing input).
2019-09-22 00:18:53 +02:00
Bartłomiej Dach
dddd94684b Split out lower and upper interval inclusivity
A single IsInclusive field causes unexpected issues when trying to
formulate a half-open interval query. Split out IsInclusive into two
fields, Is{Lower,Upper}Inclusive and update usages accordingly.
2019-09-22 00:18:28 +02:00
Bartłomiej Dach
33c51d5178 Extract parsing filter queries to class
For the sake of testability without having to spin up visual tests,
extract methods related to parsing filter queries from FilterControl
to a static FilterQueryParser class.
2019-09-22 00:18:28 +02:00
Revel
f7f9c0f7e0 Update BeatmapDetailAreaTabControl.cs 2019-09-19 15:47:32 -04:00
Dean Herbert
0a67d1db1b
Merge pull request #5355 from EVAST9919/songselect-best-user-score
Show personal best on song select
2019-09-19 21:17:23 +09:00
smoogipoo
94d3bcc612 Fix top score not being selectable 2019-09-19 20:47:33 +09:00
smoogipoo
5120d82ef8 Fix crash with multiple range criterias 2019-09-19 17:36:44 +09:00
smoogipoo
96ea507320 Reorder comparison for readability 2019-09-19 17:21:22 +09:00
smoogipoo
e075dd7ea8 Fix equals operator not working 2019-09-19 17:16:34 +09:00
smoogipoo
7683f7ff23 Make OnlineStatus use OptionalRange 2019-09-19 17:12:07 +09:00
smoogipoo
d7831d8f5d Use non-generic IComparable interface 2019-09-19 17:11:43 +09:00
smoogipoo
167bb9fcc1 Fix ugly casts 2019-09-19 17:11:28 +09:00
smoogipoo
0915a94470 Make BeatDivisor use OptionalRange 2019-09-19 16:53:27 +09:00
smoogipoo
3c21b68b73 Make OptionalRange generic 2019-09-19 16:51:57 +09:00
Dean Herbert
48ee95955b Remove unnecessary redirection 2019-09-19 15:45:08 +09:00
smoogipoo
c1daa187fe Reduce default tolerance 2019-09-19 15:44:14 +09:00
Dean Herbert
36d0695e5c Add spacing 2019-09-19 15:44:05 +09:00
Dean Herbert
033c68a428 Fade in score, not container 2019-09-19 15:44:00 +09:00
Dean Herbert
2b6c9aeb26 Move top score container to more local namespace 2019-09-19 15:38:40 +09:00
Dean Herbert
e0fd8609d1 Fix margins and clean up implementation 2019-09-19 15:34:46 +09:00
smoogipoo
80f46e02d8 Add equals (=) query operator variants 2019-09-19 15:33:54 +09:00
Dean Herbert
098e89cb66 Improve state reset flow 2019-09-19 15:23:33 +09:00
Dean Herbert
4967ffd8e5 Move inside leaderboard 2019-09-19 14:52:31 +09:00
Dean Herbert
a7b6895d4c Revert changes to BeatmapDetailArea 2019-09-19 14:26:15 +09:00
Dean Herbert
2e0a85c2f6 Merge remote-tracking branch 'upstream/master' into songselect-best-user-score 2019-09-19 12:57:30 +09:00
Dean Herbert
92556db9cd Add query-based filter modes to song select search field 2019-09-19 02:48:28 +09:00
Dan Balasescu
4910c23482
Merge branch 'master' into show-beatmap-not-selected-in-leaderboards 2019-09-10 17:43:42 +09:00
iiSaLMaN
b77550625c Check if DummyWorkingBeatmap is selected instead 2019-09-09 20:04:04 +03:00
iiSaLMaN
1b0123a60c Set beatmap of leaderboard to null if NoBeatmapsAvailable is selected 2019-09-05 05:56:52 +03:00
iiSaLMaN
a1c580f27e Create "none selected" placeholder state 2019-09-05 05:56:21 +03:00
smoogipoo
a87a1e6031 Don't redraw certain buffered containers on scale change 2019-09-04 19:38:12 +09:00
iiSaLMaN
aff4dab9aa Ensure playing track of beatmap selected only if a track change occurred 2019-09-01 03:17:55 +03:00
Dean Herbert
7885c79467 Make bindables private 2019-08-27 14:31:34 +09:00
Dean Herbert
69145eb83a
Merge branch 'master' into select-filters-persistence 2019-08-27 14:12:59 +09:00
smoogipoo
6368189d46 Refactor 2019-08-27 11:59:25 +09:00
Andrei Zavatski
9321f20884 Move arrow to the first line 2019-08-26 14:32:27 +03:00
Andrei Zavatski
fd0f42eee4 Fix filtered grouped difficulty items in DrawableCarouselBeatmapSet aren't hidden on first load 2019-08-26 14:11:24 +03:00
Dean Herbert
9881d3677d Simplify icon creation 2019-08-25 12:05:46 +09:00
Dean Herbert
ef397434f6 use GroupBy instead of Distinct+FindAll 2019-08-25 12:00:06 +09:00
Dean Herbert
a19a9b90ed Simplify group filter display 2019-08-25 11:39:26 +09:00
Lucas A
b204e4419a Rename SelectSortingMode & SelectGroupingMode -> SongSelectSortingMode & SongSelectGroupingMode 2019-08-24 10:34:54 +02:00
iiSaLMaN
8ccbe84f67 Loop on distinct rulesets of beatmap instead of all 2019-08-24 01:30:33 +03:00
iiSaLMaN
87340061e1 Add logic to create grouped difficulty icons in carousel beatmap set 2019-08-24 00:06:28 +03:00
Lucas A
ce5ee095b9 Fetch config bindables in BDL. 2019-08-23 14:03:56 +02:00
Lucas A
6bf31e8f91 Make song select grouping & sorting filters persistent 2019-08-23 13:15:38 +02:00