1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 20:13:02 +08:00
Commit Graph

1819 Commits

Author SHA1 Message Date
smoogipoo
5ec9f454d5 Implement the match beatmap detail area 2020-02-14 17:20:38 +09:00
smoogipoo
25e399f11b Merge branch 'match-playlist' into match-detail-area 2020-02-14 17:04:22 +09:00
voidedWarranties
368e6f9579 Use CarouselBeatmap.State to select 2020-02-13 17:47:16 -08:00
voidedWarranties
c871f07d2e Use CarouselBeatmap action to select beatmap 2020-02-13 17:14:46 -08:00
Dean Herbert
b9a296d3f9
Merge branch 'master' into remove-current-item 2020-02-13 19:34:15 +09:00
Dean Herbert
49a1725749
Merge pull request #7812 from smoogipoo/playlist-bindables
Make playlist beatmap and ruleset into bindables
2020-02-13 18:51:42 +09:00
smoogipoo
75bef15583 Remove "current" multiplayer room item 2020-02-13 18:48:28 +09:00
smoogipoo
91edadfe9d Make playlist beatmap and ruleset into bindables 2020-02-13 18:12:47 +09:00
smoogipoo
d4f14e552a Improve extensibility of mod display expansion 2020-02-13 18:05:53 +09:00
voidedWarranties
ad0de27964 Safer dependency injection and accessibility levels 2020-02-12 22:11:26 -08:00
smoogipoo
6f7196b0b8 Make beatmap detail area abstractable 2020-02-13 13:46:23 +09:00
voidedWarranties
f8b69fe632 Remove unnecessary carousel variable, fix code formatting 2020-02-12 20:11:39 -08:00
voidedWarranties
b126c00292 Use dependency loader to get SongSelect instance 2020-02-12 19:05:08 -08:00
voidedWarranties
2901ec9f26 Select specific difficulties using their icons 2020-02-11 20:05:26 -08:00
Dean Herbert
8186f72507 Remove unused using 2020-02-10 17:12:45 +09:00
Dean Herbert
66fb72cd8a Fix song select not showing active beatmap if it is filtered by local criteria 2020-02-10 16:59:54 +09:00
Dean Herbert
81cadb7875 Simplify the way multiple subscreens handle their disable states via a custom stack 2020-02-06 14:22:01 +09:00
recapitalverb
79bb476f4c
Merge branch 'master' into display-accuracy 2020-02-04 11:39:47 +07:00
Dan Balasescu
3600b0daf0
Merge branch 'master' into fix-mod-select-overflowing 2020-02-04 11:57:54 +09:00
Joehu
22e3150f68 Fix comment and remove magic numbers 2020-02-03 17:21:06 -08:00
recapitalverb
9898a926b2 Use ScoreInfo.DisplayAccuracy everywhere 2020-02-03 22:11:36 +07:00
Dan Balasescu
c6e7603e5e
Merge branch 'master' into safe-screen-lease 2020-02-03 18:18:13 +09:00
Dan Balasescu
93952d438f
Merge pull request #7677 from peppy/decouple-mod-select-bindable
Decouple ModSelectOverlay from global SelectedMods
2020-02-03 16:27:47 +09:00
Dean Herbert
9183c78319 Fix crash on exiting song select with ctrl-enter autoplay 2020-02-03 16:04:32 +09:00
Dean Herbert
aa1daa0ad5
Merge pull request #7703 from bdach/beatmap-stats-precision
Apply precision when determining bar colour in difficulty statistics
2020-02-02 22:31:52 +09:00
Bartłomiej Dach
e894acf53c Make star filter range bindables BindableDoubles
Due to using Bindable<double>s previously, song select's filter control
would not apply tolerance when checking IsDefault, therefore wrongly
hiding maps with star ratings above 10.1.
2020-02-01 22:48:46 +01:00
Joehu
609ee26030 Fix mod select overlay not showing up in test 2020-02-01 11:41:41 -08:00
Joehu
2d42a83bb9 Fix mod select overlay overflowing toolbar at max ui scale 2020-02-01 11:24:29 -08:00
Bartłomiej Dach
0bfadfbbf1 Apply precision when comparing adjusted values
In some cases, applying the Difficulty Adjust mod without actually
changing any of the settings previously caused the bar in song select
beatmap details to appear red/blue instead of staying white.

This was caused by not accounting for floating-point imprecisions when
determining bar colour in AdvancedStats. To resolve, first check
equality with tolerance, and only then apply blue/red colours if that
equality check does not hold.
2020-02-01 16:16:15 +01:00
Bartłomiej Dach
a74d22d9e5 Extract beatmap stats test to separate scene 2020-02-01 15:50:33 +01:00
Dean Herbert
ed368e44ea
Merge branch 'master' into safe-screen-lease 2020-02-01 02:11:18 +09:00
Dean Herbert
c5422743e2
Merge branch 'master' into decouple-mod-select-bindable 2020-02-01 02:06:23 +09:00
Dean Herbert
19f516e710 Ensure OsuScreen level leases are taken out synchronously 2020-01-31 19:10:44 +09:00
Dean Herbert
2f61d3f5ad Fix song select remaining issue locally 2020-01-31 17:35:53 +09:00
Dean Herbert
7bf2e9b369 Decouple ModSelectOverlay from global SelectedMods 2020-01-30 17:38:15 +09:00
Dan Balasescu
09f6c57b0f
Merge branch 'master' into fix-import-different-ruleset 2020-01-30 15:08:25 +09:00
Dan Balasescu
c18b1b302c
Merge branch 'master' into editor-match-accessibility 2020-01-30 13:49:56 +09:00
Dean Herbert
c158570249
Fix typo in comment
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-01-30 11:31:34 +09:00
Dean Herbert
f72de235cc Remove unnecessary length specifications 2020-01-30 11:00:14 +09:00
Dean Herbert
37ecf8a060 Remove commented line 2020-01-30 10:50:48 +09:00
Dean Herbert
bea20efb64
Merge branch 'master' into mod_content_centering 2020-01-30 10:34:46 +09:00
Bartłomiej Dach
f130e48c9e Remove leftover negative margin 2020-01-29 19:17:07 +01:00
Bartłomiej Dach
c9dda78ded Refactor drawable hierarchy to center properly
* Use FillFlowContainer.Spacing instead of manually applying margins.
* Use Update() for calculating button padding to preserve it after
  mod button expansion and adjust FooterButtonRandom to use this method
  while avoiding flickering.
* Expose mod display margin to clear it in the footer button.
2020-01-29 18:59:51 +01:00
Dean Herbert
da6952407e Allow null DI 2020-01-29 23:01:57 +09:00
Dean Herbert
13eb32fea2 Fix editor being accessible for multiplayer song select 2020-01-29 22:20:34 +09:00
smoogipoo
76af8bea5d Fix percentage-formatted displays containing a space 2020-01-29 19:51:24 +09:00
Dean Herbert
7588c574a2 Fix presenting a beatmap from a different ruleset not working 2020-01-29 19:37:54 +09:00
Dean Herbert
77c06b1c6e Fix beatmap carousel potentially missing beatmap imports 2020-01-29 17:09:12 +09:00
Dean Herbert
12ff51f686 Fix key count being incorrectly adjusted by hard/easy mods 2020-01-28 17:21:50 +09:00
Dean Herbert
7aa5e8c23e Limit input propagation correctly 2020-01-27 14:55:47 +09:00
Dean Herbert
1c64b70b06 Revert "Fix crash due to misordered selection events"
This reverts commit 2d74609f50.
2020-01-27 14:53:24 +09:00
Dean Herbert
2d74609f50 Fix crash due to misordered selection events 2020-01-26 19:06:50 +09:00
Dean Herbert
92a5fbe948
Merge branch 'master' into star-filtering 2020-01-24 23:28:36 +09:00
smoogipoo
45a25214ab Make upper and lower bounds inclusive 2020-01-24 19:39:21 +09:00
smoogipoo
9e0e7be8d0 Modernise filter implementation 2020-01-24 18:57:17 +09:00
smoogipoo
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
Dean Herbert
fdde4a6858 Tidy up song select hierarchy to be more readable 2020-01-24 15:44:31 +09:00
Dean Herbert
c0a233e8bb Align background wedge with carousel 2020-01-24 15:00:10 +09:00
Dean Herbert
f8cb898516 Improve song select display on ultrawide displays (or when UI scale is set low) 2020-01-23 20:03:52 +09:00
Dean Herbert
8a7f7c5e46 Merge remote-tracking branch 'smoogipoo/void-key-up-returns' into update-framework 2020-01-22 22:57:56 +09:00
Dean Herbert
7c62cc3ac3 Merge remote-tracking branch 'smoogipoo/void-mouse-up-returns' into update-framework 2020-01-22 22:57:52 +09:00
Dean Herbert
5f8ffd9346 Merge remote-tracking branch 'smoogipoo/void-release-returns' into update-framework 2020-01-22 22:57:40 +09:00
smoogipoo
7b2f58eb30 Apply OnRelease method signature refactorings 2020-01-22 13:22:34 +09:00
smoogipoo
40f502c6d1 Apply input method signature refactorings 2020-01-20 19:35:37 +09:00
smoogipoo
bfb056c612 Apply input method signature refactorings 2020-01-20 18:17:21 +09:00
Dean Herbert
cd5290b030 Enforce using get-only auto property where possible 2020-01-20 13:50:27 +09:00
Dean Herbert
e88e40eec4 Expand on comment 2020-01-15 15:11:36 +09:00
Joehu
b42b23d65b Add comment for alt pressed
Taken from OsuScrollContainer
2020-01-14 20:52:15 -08:00
Joehu
2060be345d Move alt pressed condition to top of method 2020-01-14 20:44:55 -08:00
Joehu
c196e83e75 Allow changing volume in song select with arrow keys when pressing alt 2020-01-13 20:48:39 -08:00
TheWildTree
b5ac707c6c Remove unnecessary directive 2020-01-12 21:09:48 +01:00
TheWildTree
aa2645502c Fix adjusted value always being 0 2020-01-12 20:43:48 +01:00
Dean Herbert
56724d2580
Merge branch 'master' into #7146 2020-01-10 01:08:20 +08:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
smoogipoo
28510674ac Shorten body text 2020-01-06 17:48:29 +09:00
smoogipoo
61c269b17b Leaderboard should not change the model 2020-01-06 17:32:24 +09:00
smoogipoo
4a7f5f98df Cleanup methods/events 2020-01-06 17:20:09 +09:00
Willy Tu
e23c71be80 Update Resolved and Cached attribute issues 2020-01-03 11:34:26 -08:00
Willy Tu
0a4e180ce7 Merge branch 'master' of github.com:ppy/osu into #7146 2020-01-03 11:32:06 -08:00
Viktor Rosvall
ddec59ec91 Further refactoring. I think this may have polluted the FooterButton too much. Not sure what to do about the centering. 2020-01-01 12:22:19 +01:00
Viktor Rosvall
8695e57f62 Hides mod display when no mods are active to fix issue of invisible margin 2019-12-31 12:21:55 +01:00
Viktor Rosvall
f40ebc83ca Begun refractorization process of wrapping Button text in a FillFlowContainer 2019-12-30 23:58:49 +01:00
Viktor Rosvall
b0bcbf8b93 Adjusted margin to fix the 1 px increase 2019-12-30 21:55:09 +01:00
Viktor Rosvall
875a25c529 adjusted the margin values 2019-12-29 09:00:59 +01:00
Viktor Rosvall
b3d32710df Centered button mods by adding padding to FillFlowContainer 2019-12-29 00:19:51 +01:00
Dean Herbert
41d99df73c
Merge branch 'master' into allow-ctrl-tabbing-on-more-tab-controls 2019-12-25 20:49:45 +09:00
Joehu
b038c192d1 Rename property to IsSwitchable 2019-12-22 19:47:47 -08:00
Joehu
1342556894 Allow ctrl tabbing navigation to chat and song select leaderboards 2019-12-21 10:48:11 -08:00
Willy Tu
8e60ae7039 Removed directive is not required 2019-12-20 15:45:20 -08:00
Willy Tu
8353c893c0 Update BodyText of LocalScoreDeleteDialog 2019-12-20 12:00:10 -08:00
Dean Herbert
a6bdf04f6b Remove unused using 2019-12-20 18:36:39 +09:00
Dean Herbert
822903d5db Update song select statistics when mod changes settings 2019-12-20 18:01:35 +09:00
Willy Tu
ed07b779b1 Update to use score.ID identify local scores 2019-12-18 21:54:02 -08:00
Willy Tu
27163a5133 Removed unnecessary code for deleting individual local score. 2019-12-18 21:04:10 -08:00
Willy Tu
b67f986058 Fix CodeFactor issues 2019-12-18 19:26:35 -08:00
Willy Tu
531ac16743 Update Scoreboard Refresh Method for deleting individual scores 2019-12-18 19:22:42 -08:00
Willy Tu
d1fcadc700 Merge branch 'master' of github.com:ppy/osu into #7146 2019-12-18 19:16:54 -08:00
smoogipoo
2905a4418d Fix potential nullref 2019-12-18 21:30:57 +09:00
smoogipoo
cb5a35f8f9 Fix incorrect bindable valuechanged usage 2019-12-18 21:08:49 +09:00
smoogipoo
4e11fb0fd7 Merge remote-tracking branch 'refs/remotes/origin/master' into multiplier-text 2019-12-18 19:36:16 +09:00
Dan Balasescu
6683460240
Merge branch 'master' into update-beatmap-settings 2019-12-18 17:59:27 +09:00
smoogipoo
8e651962c7 Fix incorrectly binding inside BDL load() 2019-12-18 17:41:30 +09:00
Dean Herbert
ada2ae2b2c Use tuple to avoid potential for incorrect display 2019-12-18 17:12:41 +09:00
Dean Herbert
e87aa281bf Don't clone beatmap unnecessarily 2019-12-18 17:00:35 +09:00
wltu
4646524bf9 Remove unnecessary library 2019-12-17 13:18:20 -08:00
wltu
8aeef3f59a Added refresh scoreboard upon deleting local score and formatted the code 2019-12-17 12:56:30 -08:00
wltu
bb2b1475cd Merge branch 'master' of https://github.com/ppy/osu into #7146 2019-12-17 12:54:47 -08:00
Huo Yaoyuan
caf3f774ba CA1309: compare strings correctly. 2019-12-17 13:00:15 +08:00
Huo Yaoyuan
ecfc6dfa3d CA1825: use Array.Empty. 2019-12-17 12:59:48 +08:00
Willy Tu
bef9637fdf Implemented delete local score individually. Currently does not refresh the score screen after the delete is compelete. 2019-12-16 19:25:28 -08:00
Huo Yaoyuan
ab70abe8bd Turn off unexpected new warnings. 2019-12-15 20:07:56 +08:00
unknown
3945e7403a improve tests and refactor AdvancedStats 2019-12-13 09:39:54 +08:00
unknown
ec5b506960 apply mod difficulty settings during song select 2019-12-12 23:41:46 +08:00
Dean Herbert
cdde5d1d69 Fix song select filters not reapplied if in a child screen
Closes https://github.com/ppy/osu/issues/6980.
2019-12-10 02:30:23 +09:00
Huo Yaoyuan
ad1fb3bda2 Remove IComparable in constraint. 2019-12-09 17:48:41 +08:00
Dean Herbert
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
Dan Balasescu
19c5848e73
Merge branch 'master' into decouple-legacy-score-info 2019-12-04 11:47:27 +09:00
Huo Yaoyuan
a42f9447e6 Don't use Equals(object) on T?. 2019-12-03 20:07:22 +08:00
Dean Herbert
f0d49d0cdf Decouple APILegacyScoreInfo from ScoreInfo 2019-12-03 15:31:11 +09:00
Ganendra Afrasya
ada8dabf7e Add right margin on score multiplier text 2019-11-28 18:48:43 +07:00
Ganendra Afrasya
944835da23 Add multiplier score text on mods footer button 2019-11-28 12:01:40 +07:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Berkan Diler
fccdbffa93 Use MathF instead of Math- functions when possible
MathF-functions are faster than the Math-counterpart and it looks cleaner, so use MathF when we cast to float or int anyway.
2019-11-25 00:45:42 +01:00
Dean Herbert
d8260f4a65 Reduce carousel scroll motion on initial display 2019-11-22 10:51:49 +09:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
Dan Balasescu
a7c074ff37
Merge branch 'master' into math_clamp 2019-11-21 11:08:56 +09:00
Berkan Diler
6cab517b2d .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
Dean Herbert
3ba9f840fd Fix song select not always scrolling to the correct location 2019-11-20 19:39:13 +09:00
Huo Yaoyuan
374ef6ff83 Merge branch 'master' into sharpen 2019-11-20 17:30:58 +08:00
Dean Herbert
8c9ed99b1b Merge remote-tracking branch 'upstream/master' into fix-carousel-double-filter 2019-11-20 17:24:54 +09:00
Dean Herbert
5b416eb7ba Move initial filter to run on entering 2019-11-20 17:24:43 +09:00
Dean Herbert
e0f59d8e24 Move method 2019-11-20 15:43:00 +09:00
Huo Yaoyuan
b04bca7db6 Reference elements in origin definition. 2019-11-17 20:55:40 +08:00
Dean Herbert
e9e37fc821 Add private setter for FilterControl 2019-11-15 18:23:35 +09:00
Dean Herbert
296fff9243 Merge remote-tracking branch 'upstream/master' into fix-carousel-double-filter 2019-11-15 18:20:36 +09:00
Dean Herbert
2c3109980a Fix broken merge 2019-11-15 13:51:39 +09:00
Dean Herbert
b8bb97607b Merge remote-tracking branch 'upstream/master' into fix-mod-retention 2019-11-15 13:46:44 +09:00
Huo Yaoyuan
677717875e Change a case to EqualityComparer.Default to handle null properly. 2019-11-14 17:35:02 +08:00
Huo Yaoyuan
f25b1ba06f Merge branch 'master' into equals 2019-11-14 17:33:44 +08:00
Dean Herbert
c15f909d83 Remove local bindable at song select, along with misplaced reset logic 2019-11-14 13:29:06 +09:00
Dean Herbert
d8a5750e5d
Fix typo
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2019-11-14 08:38:01 +09:00
Dean Herbert
a580b9079a
Reword comment 2019-11-14 08:28:41 +09:00
Huo Yaoyuan
87d40cf8d0 Resolve equals usages. 2019-11-13 22:35:50 +08:00
Dean Herbert
110c155fa0 Fix background loading twice when entering song select 2019-11-13 19:42:05 +09:00
Dean Herbert
280c1a0eb4 Fix carousel filtering twice on startup due to unpopulated ruleset 2019-11-13 19:04:52 +09:00
Dean Herbert
bca1be0bfa Add failing test 2019-11-13 18:54:33 +09:00
Huo Yaoyuan
42a98c5d87 Use constants. 2019-11-12 20:07:01 +08:00
Huo Yaoyuan
d60493a961 Use discards. 2019-11-12 20:03:21 +08:00
Huo Yaoyuan
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
Ganendra Afrasya
8da15f6897 Fix all score are highlighted on local scope 2019-11-01 23:19:15 +07:00
Ganendra Afrasya
ce3b34a768 Fix UserTopScoreContainer is also tinted 2019-11-01 23:00:55 +07:00
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