1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 13:47:38 +08:00
Commit Graph

1514 Commits

Author SHA1 Message Date
Bartłomiej Dach
c181edaedf Replace manual comparer implementation
Replace manually-implemented CriteriaComparer with a call to
Comparer<T>.Create() to decrease verbosity.
2019-10-28 15:07:36 +01:00
Bartłomiej Dach
c8d3dd0e5a Make carousel item sorting stable
Migrate beatmap carousel item sorting from List<T>.Sort()
to IEnumerable<T>.OrderBy(), as the second variant is documented to be
a stable sorting algorithm. This allows for eliminating unnecessary
movement of carousel items occurring whenever any set of items is tied
when changing sorting criteria.
2019-10-27 23:14:14 +01:00
Joehu
f7924d3bad Rename "FixedSearchTextBox" to "SeekLimitedSearchTextBox" 2019-10-21 16:00:09 -07:00
Joehu
e5b50b5e1f Fix slider bar regression when using arrows 2019-10-17 13:54:36 -07:00
Joehu
649951198e Make most textbox carets movable 2019-10-15 14:47:48 -07:00
Joehu
ccc753a315 Make OverlayContainers with no blocking input VisibilityContainers 2019-10-14 16:27:59 -07:00
Dan Balasescu
26a33bfa4e
Merge branch 'master' into fix-resume-from-player-audio 2019-10-11 19:21:14 +09:00
Dan Balasescu
d4282473c6
Merge branch 'master' into fix-background-disposal 2019-10-11 17:15:30 +09:00
Dean Herbert
5eba33e876 Simplify logic and add test coverage for remaining case 2019-10-10 20:12:47 +09:00
Dean Herbert
e66f9adb86 Fix user pause not being cancelled when playing audio 2019-10-10 16:53:03 +09:00
Dean Herbert
f74c79c2b8 Fix audio playback position being reset after resuming to song select 2019-10-10 11:58:43 +09:00
Dan Balasescu
69b9e359bf
Merge branch 'master' into fix-ss-track-playback 2019-10-09 12:26:07 +09:00
Dean Herbert
4e026b163c Don't resume playback when user has paused and track hasn't changed 2019-10-08 15:04:38 +09:00
Dean Herbert
e7fc5e556c Fix song select not correctly playing tracks in some cases 2019-10-08 11:06:07 +09:00
Dean Herbert
bb161222ef
Merge branch 'master' into fix-tab-controls-overflowing 2019-10-08 10:12:03 +09:00
Joehu
9fdbe58326 Fix dropdown header padding when selected mod filter is hidden 2019-10-07 16:17:58 -07:00
Joehu
8e6e90eaec Use fixed numbers for padding instead 2019-10-07 16:11:40 -07:00
Dean Herbert
f15953d65c Fix carousel including filtered difficulties in sort comparisons 2019-10-07 15:17:03 +09:00
Joehu
11d937beab Fix beatmap detail area tab dropdown being blocked by content 2019-10-06 10:24:33 -07:00
Joehu
38c1cee5fd Fix tab controls overflowing 2019-10-06 10:22:55 -07:00
Joehu
e257f4ca04 Resume music to same position when exiting gameplay 2019-10-05 10:31:44 -07:00
Joehu
a71db11ea5 Remove depth parameter description 2019-10-04 18:38:44 -07:00
Joehu
5d460eaf6b Remove depth specification and button order regression 2019-10-04 17:14:19 -07:00
Joehu
e7ba6ef5c4 Fix keybinding order of beatmap options 2019-10-04 14:32:43 -07:00
Dean Herbert
d2c9a29c0d Remove unnecessary local assign 2019-10-04 10:45:18 +08:00
smoogipoo
a5e1cb8feb Merge remote-tracking branch 'Game4all/master' into truncate-metadata-on-wedge 2019-10-04 11:21:33 +09:00
Joehu
5f700f2ae9 Simplify exit logic of screens with textboxes using back button receptor 2019-10-01 08:26:34 -07:00
iiSaLMaN
fb9f21237e Reset track adjustments on resuming from another screen 2019-09-28 04:18:16 +03:00
Joehu
102dbd85bd Fix CI errors 2019-09-24 16:48:22 -07:00
Joehu
9861b21440 Remove unnecessary padding/margin 2019-09-24 16:28:40 -07:00
Joehu
7fab1a4337 Truncate long metadata on beatmap info wedge 2019-09-24 16:06:33 -07: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