1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 00:17:50 +08:00
Commit Graph

4597 Commits

Author SHA1 Message Date
Dean Herbert
9a6d748498
Merge branch 'master' into add-creator-artist-filters 2019-09-23 12:31:51 +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
smoogipoo
523272edab Add xmldocs 2019-09-20 18:39:04 +09:00
smoogipoo
e0a97cfac5 Add a LabelledComponent base class 2019-09-20 18:35:15 +09:00
Revel
f7f9c0f7e0 Update BeatmapDetailAreaTabControl.cs 2019-09-19 15:47:32 -04:00
Dean Herbert
636582e089 Always show exit confirmation when closing via alt-f4 or window control 2019-09-20 02:22:49 +09:00
Dean Herbert
67796e0982 Apply code styling suggestions 2019-09-19 22:46:21 +09:00
Dean Herbert
4e9bb7b121 Merge remote-tracking branch 'upstream/master' into hold-to-press-setting 2019-09-19 22:35:18 +09: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
Dean Herbert
50d4206c45 Fix exit scenarios 2019-09-19 20:17:58 +09:00
Dean Herbert
ead3ee3b41 Merge branch 'master' into hold-to-press-setting 2019-09-19 20:05:14 +09:00
Dean Herbert
28342baa8f
Add auto-restart functionality to sudden death and perfect mods (#6159)
Add auto-restart functionality to sudden death and perfect mods

Co-authored-by: Paul Teng <plankp@outlook.com>
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-09-19 18:49:09 +09:00
smoogipoo
db24cfbead Merge remote-tracking branch 'origin/master' into auto-restart-mod-perfect
# Conflicts:
#	osu.Game/Screens/Play/Player.cs
2019-09-19 17:57:04 +09:00
Dean Herbert
646d762468
Merge branch 'master' into songselect-advanced-filtering 2019-09-19 17:42:32 +09:00
Dean Herbert
fa54a0bfd3 Fix test failures 2019-09-19 17:40:46 +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
929f05884b Always confirm exit when button is clicked 2019-09-19 16:28:06 +09:00
Dean Herbert
a214e7e72f Add confirmation dialog when exiting game 2019-09-19 16:26:22 +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
smoogipoo
c76e27549a Remove spacing 2019-09-19 14:56:52 +09:00
Dean Herbert
4967ffd8e5 Move inside leaderboard 2019-09-19 14:52:31 +09:00
iiSaLMaN
da4d83063e Simplify LINQ expression 2019-09-19 08:31:11 +03:00
Dean Herbert
a7b6895d4c Revert changes to BeatmapDetailArea 2019-09-19 14:26:15 +09:00
iiSaLMaN
e793854735 Invert BypassFail usage 2019-09-19 08:00:41 +03:00
iiSaLMaN
9de0bcae1e Check for blocking fail mods by default 2019-09-19 07:58:54 +03:00
Dean Herbert
2e0a85c2f6 Merge remote-tracking branch 'upstream/master' into songselect-best-user-score 2019-09-19 12:57:30 +09:00
iiSaLMaN
775b90e066 Bypass fail on replays 2019-09-18 22:49:48 +03:00
iiSaLMaN
ecd721e8c5 Add bypass fail property to Player 2019-09-18 22:49:28 +03:00
Dean Herbert
92556db9cd Add query-based filter modes to song select search field 2019-09-19 02:48:28 +09:00
Dean Herbert
2fcc8c2d72 Simplify implementation, play fail animation during restart 2019-09-19 01:45:59 +09:00