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

3155 Commits

Author SHA1 Message Date
Dean Herbert
3978d4babb Crop and disable mipmaps on beatmap panel backgrounds
This is an effort to improve general performance at song select. At
least on the metal renderer, I can notice very high draw frame overheads
related to texture uploads.

By reducing the size of the texture uploads to roughly match what is
actually being displayed on screen (using a relatively inexpensive crop
operation), we can bastly reduce stuttering both during initial load and
carousel scroll.

You might ask if it's safe to disable mipmapping, but I've tested with
lower resolutions and bilinear filtering seems to handle just fine.
Bilinear without mipmaps only falls apart when you scale below 50% and
we're not going too far past that at minimum game scale, if at all.
2023-06-08 16:51:07 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Dean Herbert
8ba9677b96
Merge branch 'master' into add-last-played-filter 2023-06-06 16:12:23 +09:00
Dean Herbert
c54670aee1 Add comment explaining implementation 2023-06-06 13:30:56 +09:00
Joseph Madamba
4eb0f0261c
Fix song select beatmap panels not displaying correct background shown in web 2023-06-04 22:54:15 -07:00
Dean Herbert
764f0323f4 Show "rewind" text on random button when beginning a right mouse press 2023-05-17 14:51:40 +09:00
Dean Herbert
94b184712d Fix random button hover state not correctly being reset on right click 2023-05-17 14:51:40 +09:00
Dean Herbert
444f66b0ee Move to base class for added safety 2023-05-03 18:46:30 +09:00
Dean Herbert
cd31cff8cd Fix event subscriptions not being cleaned up in DrawableCarouselBeatmap
The handling of cleanup is performed only the `Item_Set` method. This
was already correctly called for `DrawableCarouselBeatmapSet`, but not
for the class in question here.

This would cause runaway memory usage at song select when opening many
beatmaps to show their difficulties. For simplicity, we don't yet pool
these (and generate the drawables each time a set is opened) which isn't
great but likely will be improved upon when we update the visual /
filtering of the carousel. But this simplicity caused the memory usage
to blow out until exiting back to the main menu when cleanup would
finally occur.
2023-05-03 18:41:30 +09:00
Renzo Poggio
0991c56e1c
Add extra check in 'SelectPreviousRandom'
Check if the poped beatmap exists within the beatmapSets
2023-04-25 00:05:15 -03:00
Joseph Madamba
c80a25328d
Shorten label to just "matches" 2023-04-17 20:59:41 -07:00
Joseph Madamba
d0cbe206a9
Revert back to one number with "matching beatmap difficulties" label 2023-04-10 23:37:29 -07:00
Joseph Madamba
f0c8a3202b
Merge remote-tracking branch 'upstream/master' into fix-beatmap-terminology 2023-04-10 23:22:15 -07:00
Joseph Madamba
f80de08f24
Adjust BeatmapSetsChanged xmldoc
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-10 11:28:23 -07:00
Joseph Madamba
c7dea71793
Use existing BeatmapSetsChanged action 2023-04-10 11:26:18 -07:00
Joseph Madamba
7f5b99c91b
Fix song select beatmap difficulty count not updating when deleting 2023-04-09 22:12:51 -07:00
Elvendir
8e156fdb51 Enforce integer through regex match instead 2023-04-07 00:29:46 +02:00
Elvendir
928145cdeb Enforce integer value before y and M
Change impacted Tests
2023-04-05 22:12:15 +02:00
Elvendir
c2f225f025 Made Operator.Equal not parse for date filter and added corresponding test 2023-04-05 21:25:58 +02:00
Elvendir
df170517a8 -renamed function inverse() to reverseInequalityOperator() for clarity
-changed default case of reverseInequalityOperator() to out of range exception
2023-04-05 11:59:31 +02:00
Elvendir
d6c6507578
Update osu.Game/Screens/Select/FilterQueryParser.cs
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-04-04 19:30:13 +02:00
Elvendir
4b053b4785 changed regex match to be inline with standard 2023-04-01 22:58:25 +02:00
Joseph Madamba
8b30c67580
Fix incorrect song select matching label by showing both beatmap and difficulty count for less ambiguity 2023-03-26 18:08:28 -07:00
Dean Herbert
425be20e46 Fix song select search textbox font size incorrectly having increased 2023-03-22 14:17:39 +09:00
Dean Herbert
5cb8160eee
Merge pull request #22773 from peppy/show-song-select-visible-beatmap-count
Show count of visible beatmaps at song select
2023-03-21 18:22:29 +09:00
Bartłomiej Dach
ea8da69263
Fix importing beatmaps not changing count of visible beatmaps
Reproduction steps:

1. Go to song select
2. Open beatmap listing
3. Import a beatmap that would fit the current filter criteria
4. The count of visible beatmaps does not change

Fixed by updating the count on `BeatmapSetsChanged` too.
2023-03-20 20:53:53 +01:00
Bartłomiej Dach
695ee39b87
Privatise setter 2023-03-20 20:30:54 +01:00
Elvendir
6dead81d21 Generalized tryUpdateLastPlayedRange to tryUpdateDateRange and Added tests 2023-03-19 18:43:17 +01:00
Elvendir
216a88e18d limited max Date comparison 2023-03-18 21:35:10 +01:00
Elvendir
102576cd8c adddede LastPlayed as filter option in beatmap carousel 2023-03-18 17:53:41 +01:00
Cootz
556964eae0
Merge branch 'master' into BitmapUpdatesOnScore 2023-03-16 12:16:42 +03:00
Dean Herbert
f21238f517 Adjust shadow to look better 2023-03-16 16:51:57 +09:00
Dean Herbert
cd102da3af Move matches string inside text box 2023-03-16 16:34:31 +09:00
Dean Herbert
89b42ddd98 Don't localise beatmap count string for now 2023-03-16 15:02:38 +09:00
Bartłomiej Dach
6c5ccdfd90
Merge branch 'master' into optimise-search 2023-03-07 22:07:29 +01:00
Bartłomiej Dach
5213bfa5c9
Merge branch 'master' into make_skin_reset_dangerous 2023-03-07 21:06:44 +01:00
Dean Herbert
5af41bb1c8 Move filter matching code into own method to simplify early returns 2023-03-07 17:24:17 +09:00
Dean Herbert
87d0bef313 Use nullable comparison helper method instead of manual implementation 2023-03-06 15:16:32 +09:00
mk56-spn
908651cc11 make ResetConfirmDialog properly utilise its parent's logic
Adjust name of `DeleteAction` to `DangerousAction`
2023-03-05 20:57:26 +01:00
OliBomby
70a925aab1 added extra early-returns 2023-03-04 16:49:33 +01:00
OliBomby
b90c389ff0 using List instead of Span in GetSearchableTerms 2023-03-04 15:42:35 +01:00
OliBomby
91d206e8d2 Optimised GetSearchableTerms
Reduced memory allocations to 1
2023-03-03 19:21:50 +01:00
Dean Herbert
82293c0c86 Don't filter away results with missing data when using "Date Submitted" or "Date Ranked" sort modes
From a user's perspective, changing a sort / order mode shouldn't filter
away results, but we were doing this.

In terms of UX expectations, in stable this kind of scenario would
results in a group being added to the end of son select with "Not
ranked" or "Unknown". I think we should aim to match this eventually.
2023-03-03 16:36:18 +09:00
Dean Herbert
dc669835e2 Show count of visible beatmaps at song select 2023-03-03 15:28:51 +09:00
mk56-spn
90227a6496 Rename DeleteConfirmationDialog.cs into DangerousActionDialog.cs 2023-02-27 21:57:59 +01:00
mk56-spn
299023fce0 Improve visibility of wedge shading in test scene and fix an issue with excessive roundness on said shadow. 2023-02-21 16:07:26 +01:00
Bartłomiej Dach
6afa65bd3d
Merge branch 'master' into skinnable-clean-up-documentation 2023-02-17 20:59:18 +01:00
Dean Herbert
394d368f16 Fix song select potentially updating background parameters when not the current screen 2023-02-16 18:45:22 +09:00
Dean Herbert
a92e42bb84 Rename SkinnableTargetContainer to SkinComponentsContainer
Also use full `SkinComponentsContainerLookup` instead of the sub-type.
This will potentially be useful once we bring in per-ruleset targets.
2023-02-15 18:37:41 +09:00
Dean Herbert
9ed068c1e6 Only apply dim changes when background blur is disabled 2023-02-15 14:16:34 +09:00
Dean Herbert
19e3c5d33c Adjust song select background dimming to be more evenly applied 2023-02-15 13:59:24 +09:00
Dean Herbert
51d4ae5241
Merge branch 'master' into footer_V2_implementation 2023-02-14 14:00:53 +09:00
Dean Herbert
f0ebb920b9 Make Actions nullable 2023-02-14 13:54:00 +09:00
MK56
5006dbe3db
Update osu.Game/Screens/Select/FooterV2/FooterButtonV2.cs
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2023-02-14 00:07:02 +01:00
mk56-spn
ae9a17d76b Add offset to FooterButtonV2.cs shadow 2023-02-13 22:20:41 +01:00
mk56-spn
be52d0a60c Add note explaining shadow opacity
pass ColourProvider in from test, instead of hard coding it in `FooterButtonV2.cs`
2023-02-13 22:18:34 +01:00
mk56-spn
61584ba63c Fix corner_radius missing in some parts of FooterButtonV2.cs.
Adjust shadow radius value to 5 to match figma.
2023-02-13 22:15:29 +01:00
mk56-spn
6e6421caea Change FooterV2.cs colour to use ColourProvider instead of OsuColour.
Remove unnecessary `FillFlowContainer`
2023-02-13 22:12:25 +01:00
PC
7e127dafe2 Update reference 2023-02-07 11:52:47 +03:00
Cootz
2c7386db39 FIx score appearing on BeatmapLeaderboard and TopLocalRank 2023-02-06 15:14:14 +03:00
Dean Herbert
ddcc02fdfe
Merge pull request #22505 from Joehuu/fix-hover-click-sounds
Fix some clickable elements having no hover and click sounds
2023-02-06 16:52:19 +09:00
mk56-spn
38cc47d64e Remove ``IsPresent`` usages 2023-02-04 16:52:30 +01:00
mk56-spn
de37a0a000 enable pixelSnapping for the ``BufferedContainer`` in BeatmapInfoWedgeV2.cs 2023-02-03 19:53:04 +01:00
mk56-spn
5fc8f1d1be Fix ``BeatmapInfoWedgeV2.cs`` starCounter needing janky rotation application 2023-02-03 19:52:01 +01:00
Joseph Madamba
5a76c1ab9c Refactor HoverSampleDebounceComponent to inherit Component 2023-02-03 00:29:25 -08:00
Dean Herbert
4ec46c7476
Merge branch 'master' into footer_V2_implementation 2023-02-03 16:30:16 +09:00
Dean Herbert
48f7e0163c Adjust comments and formatting of comments 2023-02-03 16:27:20 +09:00
Dean Herbert
4248453616 Use FinishTransforms rather than manual duplication of background colour logic 2023-02-03 16:27:20 +09:00
Dean Herbert
a1200b8fe8 Adjust footer button colour handling to read better and take into account mouse down 2023-02-03 16:27:20 +09:00
Dean Herbert
f7094567d7 Rename and document method to limit scope 2023-02-03 15:04:47 +09:00
mk56-spn
80fd1a0bc7 Remove leftover comment regarding X axis offsets 2023-02-02 18:29:12 +01:00
Dean Herbert
91fbf388da Use localisation strings from ButtonSystem for better consistency 2023-02-02 15:00:24 +09:00
Dean Herbert
500e9c7944 Refactor into a method rather than property 2023-02-02 14:53:58 +09:00
Dean Herbert
942e7729f3 Merge branch 'master' into carousel 2023-02-02 14:41:55 +09:00
mk56-spn
27c52a45fc Use inline lambda for scheduling 2023-01-30 16:13:55 +01:00
mk56-spn
92690afa5f de-nest ``removeOldInfo()`` 2023-01-30 16:12:26 +01:00
mk56-spn
c7d49bdc82 Update ``BeatmapInfoWedgeV2.cs` animation to be similar to exit transition in `SongSelect.cs` 2023-01-30 13:13:57 +01:00
mk56-spn
f5d579144b Remove free mods button 2023-01-30 12:57:24 +01:00
mk56-spn
41f5e5143a Remove ``onclick` and `mousedown`` override 2023-01-30 12:56:39 +01:00
Dean Herbert
e333e12b2e Fix typo in settings enum (seriously) 2023-01-25 16:32:00 +09:00
Dean Herbert
3faab66f39 Merge branch 'master' into beatmapSelectionBlur 2023-01-25 16:32:00 +09:00
Dean Herbert
1a9ed1ac3f Remove unnecessary IgnoreUserSettings value change 2023-01-25 16:28:06 +09:00
Jérémiah DÉCOMBE
e0a7559d85 variable naming + loc 2023-01-24 09:55:08 +01:00
Jérémiah DÉCOMBE
7ca2a431e6 changing song select background blur setting to boolean 2023-01-24 09:19:53 +01:00
Jérémiah DÉCOMBE
d783998c81 using BindValueChanged and IsCurrentScreen for setting binding 2023-01-24 09:09:05 +01:00
Dean Herbert
bb15ee50e0 Fix beatmap leaderboard potentially showing incorrect leaderboard 2023-01-24 13:52:59 +09:00
Jeremiah DECOMBE
c1876aac88 removing parameter name abbreviations 2023-01-24 00:36:38 +01:00
Jeremiah DECOMBE
b573e42cc2 BeatmapSelectionBackgroundBlurLevel renamed to SongSelectBackgroundBlurLevel 2023-01-24 00:08:11 +01:00
Jeremiah DECOMBE
26adc28943 missing blank line between methods 2023-01-23 23:15:37 +01:00
Jeremiah DECOMBE
f13a5465ba variable naming and loc modifications 2023-01-23 23:07:50 +01:00
mk56-spn
655242371b Buffer wedge content to avoid opacity issues when showing / hiding 2023-01-23 17:00:46 +01:00
Jérémiah DÉCOMBE
6daa364779 adding setting to adjust blur of the background of the song select screen 2023-01-23 13:53:31 +01:00
Dean Herbert
e3932c077b
Merge pull request #22032 from frenzibyte/fix-potential-difficulty-failure-alt
Fix advanced statistics display potentially performing invalid difficulty calculation
2023-01-23 15:39:47 +09:00
Bartłomiej Dach
4a6f6300c5
Merge branch 'master' into fix-carousel-sort-change-after-play 2023-01-18 17:15:20 +01:00
Bartłomiej Dach
7ba448b13c
Update comment to match implementation 2023-01-18 17:12:57 +01:00
mk56-spn
0ac7cd7409 Expose star difficulty to wedge to allow updating starcounter and background colour internally. 2023-01-18 13:55:52 +01:00
Dean Herbert
3b27774561 Remove OnlineID sort consideration 2023-01-18 19:21:02 +09:00
Dean Herbert
4ad79a8a0a Move IsLoaded check inside BeatmapCarousel 2023-01-18 12:00:47 +09:00
mk56-spn
92a755c5da adjust colourbar to position itself in a more simple fashion 2023-01-17 22:16:59 +01:00
Bartłomiej Dach
6f11fbdeed
Merge branch 'master' into fix-carousel-sort-change-after-play 2023-01-17 20:46:06 +01:00
Dean Herbert
8e1002b744 Fix song select potentially operating on Carousel before it is fully loaded
Should fix test failures like
https://github.com/ppy/osu/actions/runs/3939620830/jobs/6739690253.
2023-01-18 01:56:18 +09:00
Dean Herbert
a9ac28b504 Add fallback sorts to CarouselBeatmapSet to ensure stable sorting 2023-01-17 16:40:25 +09:00
Dean Herbert
ef35493864 Avoid need for weird null check by reordering initialisation process 2023-01-17 15:27:21 +09:00
mk56-spn
74b72e4ac0 Address issues that joehuu brought up 2023-01-16 22:46:18 +01:00
OliBomby
832d033777 Fix merge issues 2023-01-16 01:09:04 +01:00
OliBomby
ab6bf6e1dc Merge remote-tracking branch 'upstream/master' into carousel 2023-01-16 00:27:56 +01:00
OliBomby
1c0a650575 Fix typo 2023-01-16 00:17:26 +01:00
OliBomby
87ee9ab813 Added custom menu items in DrawableCarouselBeatmap 2023-01-16 00:13:12 +01:00
mk56-spn
9a29c9ae26 remove hacky method to check if carousel is null 2023-01-15 15:32:53 +01:00
Dean Herbert
c5775aa452
Merge branch 'master' into song_select_nullability 2023-01-15 22:44:13 +09:00
Dean Herbert
4cf4a66858 Make MusicController a required dependency of SongSelect 2023-01-15 22:43:30 +09:00
Dean Herbert
f7af5a8115 Revert some formatting changes 2023-01-15 22:39:00 +09:00
Dean Herbert
4906f37109
Merge pull request #22181 from frenzibyte/attempt-fix-song-select-test-failure
Fix intermittent failure in beatmap carousel tests
2023-01-15 02:35:36 +09:00
ansel
515ada6815 Remove CanBeNull where it's no longer requered 2023-01-13 23:11:50 +03:00
ansel
a41a031909 Localise some notifications 2023-01-13 23:11:25 +03:00
Salman Ahmed
112cf403ec Fix intermittent failure in certain beatmap carousel tests 2023-01-13 19:41:44 +03:00
mk56-spn
a6b6fb864e Make carousel non nullable and ensure pre load usages of methods that reference it are protected against failure 2023-01-13 13:10:29 +01:00
mk56-spn
403ca05e5e Enable nullability for song select 2023-01-13 00:52:14 +01:00
Bartłomiej Dach
aab84d50eb
Remove boxing overhead in CarouselItem comparator 2023-01-10 18:35:06 +01:00
mk56-spn
880428046a Fix margins on top right aligned elements. 2023-01-10 18:03:28 +01:00
mk56-spn
2a82f618ed Add TODO for text margin const, added pertinent comments to known "issues" 2023-01-10 17:34:47 +01:00
mk56-spn
9afdfd7f06 small tweaks, container edge - effect addition.. 2023-01-10 11:45:41 +01:00
mk56-spn
65c30d2c2e Remove nullability disabling 2023-01-10 11:45:41 +01:00
mk56-spn
1698272eb8 Simplify passing data from BeatmapInfoWedgeV2.cs to subclass wedgeinfotext 2023-01-10 11:45:40 +01:00
mk56-spn
61caabaa8e Add coloured star counter 2023-01-10 11:45:40 +01:00
mk56-spn
0199c19f74 Add a test scene and move colour bar to back and adjust positioning of it 2023-01-10 11:45:40 +01:00
mk56-spn
c646f8479b Move stardifficulty logic to main BeatmapInfoWedge class instead of text subclass ( for use by background star rating colour bar ) 2023-01-10 11:45:40 +01:00
mk56-spn
f561120295 Remove info labels, since they are no longer present in this component in thew new design 2023-01-10 11:45:40 +01:00
Dean Herbert
b7e845201f Fix whitespace around Debug.Assert 2023-01-10 18:03:17 +09:00
Dean Herbert
d53dafa29f Revert Debug.Assert 2023-01-10 17:52:28 +09:00
Dean Herbert
93038ce496 Use OfType instead of forceful nullability 2023-01-10 17:52:21 +09:00
mk56-spn
6abbc7dc28 Further fix nullability 2023-01-09 20:59:28 +01:00
mk56-spn
69260ca3c3 remove unnecessary usages of nullable forgiveness, add asserts for debugging 2023-01-09 18:36:55 +01:00
mk56-spn
47fb467012 Remove nullable disabling in carousel 2023-01-08 19:02:48 +01:00
Dean Herbert
464f251c0c
Merge branch 'master' into beatmap-set-link-genre-language 2023-01-06 17:09:06 +08:00
Salman Ahmed
8f37e69dc4 Schedule difficulty calculation to avoid performing with incomplete state updates 2023-01-05 12:52:08 +03:00
Salman Ahmed
39221a52da Fix advanced statistics display using decoupled ruleset bindable for difficulty calculation 2023-01-05 12:52:08 +03:00
Dean Herbert
beb3b96aca Harden request equality checks 2023-01-04 01:44:00 +08:00
Dean Herbert
8f7ae0395a Fix song select leaderboard potentially showing wrong scores on quick beatmap changes
Closes #22002.
2023-01-03 00:55:09 +08:00
mk56-spn
680646d3a6 Make offsetting of bottom bar more readable 2022-12-29 12:02:08 +01:00
Joseph Madamba
494886ef92 Rename Text to Metadata 2022-12-23 11:11:15 -08:00
Joseph Madamba
1d39e8d0ce Refactor MetadataSection to use generics and inheritance 2022-12-21 10:18:47 -08:00
mk56-spn
626f4b0dfd fix test failures, improve button logic 2022-12-19 16:35:20 +01:00
MK56
878e2f24c4
Merge branch 'master' into footer_V2_implementation 2022-12-19 13:19:23 +01:00
mk56-spn
407b0a0ad3 Address issues from Joehuu review 2022-12-19 11:30:23 +01:00
ansel
b66409bd37 Perform rewind with right click only if cursor didn't leave the button 2022-12-05 23:38:45 +03:00
mk56-spn
7373d79ba6 Use OsuColour instead of hex for button accent colour 2022-12-02 19:16:25 +01:00
mk56-spn
c5bad816db Add button colouring whilst corresponding overlay is present 2022-12-02 18:44:21 +01:00
mk56-spn
ea882f6874 Add disabled button dimming. 2022-12-01 22:31:14 +01:00
mk56-spn
55a21a75a4 Add hover lightening 2022-12-01 22:07:28 +01:00
mk56-spn
d7cea51551 Add functionality of Random button 2022-12-01 16:29:52 +01:00
mk56-spn
1530495e7c Add button "accent" colour, bottom bar, icon, text 2022-12-01 15:34:09 +01:00
mk56-spn
774eb178a1 Add basic button design and footer button addition flow 2022-12-01 13:13:37 +01:00
mk56-spn
18b4317e99 Create Basic V2 footer and test 2022-12-01 11:57:50 +01:00
mk56-spn
0aba119056 Merge remote-tracking branch 'origin/RangeSlider_implementation' into RangeSlider_implementation
# Conflicts:
#	osu.Game.Tests/Visual/SongSelect/TestSceneDifficultyRangeFilterControl.cs
#	osu.Game/Screens/Select/DifficultyRangeFilterControl.cs
2022-11-27 10:40:29 +01:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
mk56-spn
92ed2ed4ef Refactor star "DifficultyRangeFilterControl" into generic range slider class 2022-11-26 12:19:08 +01:00
Dean Herbert
de163b2bb5 Change song select to only allow volume adjusting if alt is held while scrolling 2022-11-22 19:48:55 +09:00
Dean Herbert
4a79141824
Merge pull request #21338 from RATCM/fix-leaderboard-filter
Match leaderboard filter behaviour to web
2022-11-21 14:01:55 +09:00
RATCM
f5fbb7c8de Changed comments 2022-11-20 19:27:40 +01:00
RATCM
d20a357c0e Fixed ordering bug 2022-11-20 19:24:51 +01:00
RATCM
9040dfbd4e Match leaderboard filter behaviour to web 2022-11-20 17:39:46 +01:00
Bartłomiej Dach
7b274083d3
Fix phantom beatmap sets appearing on carousel after delete/update
Regressed in c40c70509e.

As it turns out, `item.Item.Filtered.Value` is not the only condition
that should be checked to determine if a carousel item should be hidden
or not - `item.Item.State.Value != CarouselItemState.Collapsed` should
also be true. This was even available as the `item.Item.Visible`
convenience property, which is used in this commit.

Failing to check `item.Item.State.Value` led to setting non-zero alpha
on collapsed carousel items, leading to phantom beatmap sets appearing,
as the alpha was set in the entire carousel's `Update()` method, thus
firing every frame.
2022-11-20 10:08:34 +01:00
nanashi-1
4773979e52 add condition 2022-11-17 16:15:34 +08:00
Salman Ahmed
87b4fee10f Remove leftover constant 2022-11-17 04:05:21 +03:00
Salman Ahmed
55beaf5d93 Revert buttons order change 2022-11-17 04:05:15 +03:00
Salman Ahmed
039ab83a46 Disable beatmap options button when none selected 2022-11-17 04:00:23 +03:00
Salman Ahmed
0e46614c57 Revert beatmap option button state changes 2022-11-17 03:57:01 +03:00
nanashi-1
5d8d8ffce5 fix naming 2022-11-16 10:09:51 +08:00
nanashi-1
55edd6c907 add space 2022-11-16 09:58:49 +08:00
nanashi-1
1fb8357e93 change disabledAlpha from readonly to const 2022-11-16 09:58:32 +08:00
nanashi-1
9101ad0cbd fixed naming 2022-11-16 09:42:40 +08:00
nanashi-1
5973bb1956 AddButton now returns the button 2022-11-15 20:57:31 +08:00
nanashi-1
1186ed3e32 add disable 2022-11-15 20:56:18 +08:00
nanashi-1
e8d170e772 disable certain options when no beatmap is selected 2022-11-15 20:55:55 +08:00
Dean Herbert
1aa0e40f2f Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
Dean Herbert
e75c3b3f94 Rename SkinnableTarget to GlobalSkinLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
391840404d Play exiting transition in both directions 2022-11-07 11:59:43 +09:00
Dean Herbert
c40c70509e Improve song select transition to gameplay 2022-11-04 15:24:37 +09:00
Dean Herbert
20dd405c2b
Merge branch 'master' into maintain-common-mod-selection 2022-11-03 15:32:40 +09:00
Dean Herbert
d9d083752a Clamp backwards index to total current items to fix edge case of item removal 2022-10-26 11:03:11 +09:00
Dean Herbert
cf3bf41b49 Harden and simplify logic to avoid weird issues 2022-10-25 18:57:15 +09:00
Dean Herbert
22ea9a8ab4 Add early return of carousel group has no items 2022-10-25 13:34:22 +09:00
Dean Herbert
2456a18bc1 Rewrite implementation to avoid duplicated LINQ returns 2022-10-25 12:48:17 +09:00
Endrik Tombak
5a118cfdc3 Merge branch 'master' of https://github.com/ppy/osu into carousel-perform-selection
 Conflicts:
	osu.Game.Tests/Visual/SongSelect/TestSceneBeatmapCarousel.cs
2022-10-24 21:40:48 +03:00
Salman Ahmed
01c65d3cc1 Remove seemingly unnecessary/leftover code 2022-10-14 02:16:36 +03:00
Salman Ahmed
964ed01abb Add confirmation dialog for updating locally modified beatmaps 2022-10-13 02:40:15 +03:00
Dean Herbert
a44ba579c5 Fix beatmap update button not respecting user "prefer no video" setting
Closes #20701.
2022-10-11 14:27:40 +09:00
Dean Herbert
d9f678d942 Change song select random key binding to not handle key repeat 2022-10-03 18:16:54 +09:00
Dean Herbert
5fc836d1f0 Apply NRT to BeatmapLeaderboard / MatchLeaderboard 2022-09-26 16:17:28 +09:00
Dean Herbert
32d56fe3a9 Use request cancellation and IsDisposed guard instead of more Schedule 2022-09-26 16:02:33 +09:00
Dean Herbert
0fa5e1b28e Fix intermittent leaderboard crash due to request finishing after drawable is disposed 2022-09-23 20:18:44 +09:00
Dean Herbert
5b73f24864 Fix outdated scores being held by BeatmapLeaderboard after external beatmap switch 2022-09-21 15:21:32 +09:00
Dean Herbert
68c040175a Ensure Leaderboard.Scores is updated immediately via request flow 2022-09-20 17:02:57 +09:00
Dean Herbert
46db3ad96d Move implementation to individual classes 2022-09-20 00:06:02 +09:00
Dean Herbert
4c4fdfd153 Provide scores directly to Player instance rather than relying on DI 2022-09-16 18:15:17 +09:00
Dean Herbert
0227eddda1 Merge branch 'master' into gameplay-leaderboards 2022-09-16 15:44:58 +09:00
Dean Herbert
b4e6a20846 Fix song select status prefix matching no longer working
Regressed in #19275 due to weird logic.
Closes #20289.
2022-09-14 12:59:05 +09:00
Dean Herbert
94693a4667 Fix oversight when making interface implementation explicit 2022-09-13 19:55:57 +09:00
Dean Herbert
6d167070f8 Add back DI leaderboard retrieval via bindable pathway 2022-09-13 18:45:11 +09:00
Dan Balasescu
3cfacb5e39
Merge pull request #20257 from peppy/update-button-show-login
Show login overlay when attempting to update a beatmap while logged out
2022-09-12 17:51:45 +09:00
Dan Balasescu
31225066a1
Merge pull request #19308 from frenzibyte/top-rank-badge-order
Fix best rank badge not handling legacy scores properly
2022-09-12 16:20:21 +09:00
Dean Herbert
94f8197e22 Show login overlay when attempting to update a beatmap while logged out 2022-09-12 16:15:14 +09:00
Salman Ahmed
95062c2cc8 Remove center origin specification to avoid single-frame layout issues 2022-09-09 19:42:58 +03:00
Salman Ahmed
dd10a06e3d Merge branch 'master' into top-rank-badge-order 2022-09-09 19:38:44 +03:00
Dean Herbert
602ffebd54 Apply NRT and fix code style 2022-09-09 23:29:04 +09:00
Dean Herbert
d961b96897 Merge branch 'master' into search-filter 2022-09-09 23:25:54 +09:00
Dean Herbert
d463bd2f3f
Merge pull request #20130 from Exanc/master
Display 0 stars instead of infinity for the minimum star slider
2022-09-08 17:51:32 +09:00
Dean Herbert
d523a2ac33 Rename default value field and make private 2022-09-08 15:53:08 +09:00
Dean Herbert
9ead5e59d3 Fix incorrectly displaying minimum value in placeholder messaging 2022-09-08 15:51:15 +09:00
Dean Herbert
f3bda4e040 Fix weird edge case of nullability in CarouselRoot
A bit unfortunately, but it's what we get for having ctor level bindings..
2022-09-07 14:27:25 +09:00
Dean Herbert
e18b524f8e Fix missing null checks on selectedBeatmap fields in BeatmapCarousel 2022-09-07 14:12:35 +09:00
Dean Herbert
241d33d415 Apply NRT to BeatmapCarousel 2022-09-07 14:07:53 +09:00
Exanc
4ea7ca4c07 Slight tweak to the StarsSlider
- MinimumStarsSlider now shows "0" when at it's minimum
 - Modified and NoResultsPlaceholder the tooltip to stay consistent with the changes
2022-09-05 00:09:20 +02:00
Dean Herbert
1524623624 Fix back-to-front filter logic
Was copied across from a place which was checking for `match` and
applied verbatim to a place that was `filter`. Which are polar
opposites.
2022-09-01 19:59:27 +09:00
Dean Herbert
82b9e1f0eb
Merge pull request #20011 from smoogipoo/scoring-refactor
Refactor scoring to remove async methods / simplify
2022-08-29 19:55:27 +09:00
Dan Balasescu
423f6f90f2 Remove async calls from ScoreManager 2022-08-29 15:34:08 +09:00
Salman Ahmed
a3e595a9aa Update comment to include inserted indices 2022-08-26 14:51:19 +03:00
Salman Ahmed
81c0a641b4 Fix selection fallback path not updated to check inserted indices 2022-08-26 14:51:08 +03:00
Salman Ahmed
f38194fb40 Merge branch 'master' into carousel-maintain-selection-over-update 2022-08-26 14:35:19 +03:00
Dean Herbert
217fa00a72 Bring logic up-to-date 2022-08-26 19:32:49 +09:00
Dean Herbert
a146db0e35 Merge branch 'master' into carousel-perform-selection 2022-08-26 19:29:00 +09:00
Andrew Hong
55f1b43329 Removed check 2022-08-22 13:41:36 -04:00
Andrew Hong
bcab7aea26
Merge branch 'master' into add-date-created-sort 2022-08-22 04:02:46 -04:00
Andrew Hong
c2036d3893 Moved filter exclusion 2022-08-22 03:39:46 -04:00
Andrew Hong
09ef13908c Adjust to reviews 2022-08-22 03:20:27 -04:00
Dan Balasescu
0815b01b75
Merge pull request #19783 from bdach/mod-select/presets-dont-open-customisation
Fix selecting preset containing Difficulty Adjust automatically opening customisation panel
2022-08-22 15:44:00 +09:00
Andrew Hong
c6a739f5a8 Add date submitted sorting 2022-08-21 23:09:33 -04:00
Dean Herbert
37799e3b31 Allow preparing preview point without looping 2022-08-17 13:20:24 +09:00
Dean Herbert
9d2c2b71cf Change conditional to check for insertions in addition to modifications
It is possible that the import process itself marks the previous
beatmaps as deleted due to an overlap in metadata or otherwise.
2022-08-16 16:21:36 +09:00
Bartłomiej Dach
5ff2e41a55
Add preset column to mod select test scene 2022-08-15 18:38:37 +02:00
Dean Herbert
cbe5cb5d03 Merge branch 'master' into carousel-maintain-selection-over-update 2022-08-08 18:01:26 +09:00
Bartłomiej Dach
839409d7ac
Add preset column to solo mod select overlay 2022-08-07 16:20:31 +02:00
Bartłomiej Dach
a0d093be5c
Extract common implementation of delete dialog 2022-08-06 21:04:12 +02:00
Dean Herbert
c0e5f11c90
Merge pull request #19532 from frenzibyte/fix-new-items-sort-stability
Fix newly imported beatmaps not using correct comparer for sorting
2022-08-02 02:20:51 +09:00
Salman Ahmed
fc7fc3d673 Fix newly imported beatmaps not using correct comparer for sorting 2022-08-01 19:13:57 +03:00
Salman Ahmed
faefda9143 Fix song select not updating selected beatmap card on editor resume 2022-07-30 19:47:42 +03:00
Dean Herbert
ad482b8afc Tidy up naming of collection dropdowns 2022-07-28 13:57:21 +09:00
Dean Herbert
67c7f324ee Simplify CollectionFilterDropdown filter flow weirdness 2022-07-28 13:57:21 +09:00
Dean Herbert
438067a18b Convert realm data propagation to more correctly use Live<T>
wip
2022-07-27 19:35:09 +09:00
Dean Herbert
41393616d8 Replace BeatmapCollection with RealmBeatmapCollection 2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48 Remove CollectionManager 2022-07-27 18:45:33 +09:00
Dean Herbert
e6a3659581 Guard against NewModifiedIndices being empty 2022-07-27 14:23:47 +09:00
Dean Herbert
24d75612e2 Always attempt to follow selection, even if difficulty name / metadata change 2022-07-27 14:18:53 +09:00
Dean Herbert
8105d4854a Fix beatmap carousel not maintaining selection if currently selected beatmap is updated 2022-07-27 13:33:48 +09:00
Dan Balasescu
8f7dff5c2c
Merge pull request #19378 from peppy/beatmap-update-test
Add separate beatmap update flow to handle edge cases better
2022-07-26 18:49:20 +09:00
Salman Ahmed
a4f6f2b9eb Make item ID comparer static 2022-07-26 09:55:37 +03:00
Dean Herbert
8370ca9765 Add ImportAsUpdate method to IModelImporter to avoid otehr changes 2022-07-26 15:49:04 +09:00
Salman Ahmed
693ac8750c Remove remaining uses of "child" terminology in non-drawable components 2022-07-26 09:43:47 +03:00
Salman Ahmed
d7ef4170be Maintain sort stability by using carousel item ID as fallback 2022-07-26 09:40:41 +03:00
Dean Herbert
b7f6413bce Fix old version of beatmap potentially not being deleted during update flow
This can happen if the online IDs are not present in the `.osu` files.
Previously this was only working due to the early logic in the import
process (that relies on matching all online IDs perfectly).
2022-07-25 19:51:19 +09:00
solstice23
aaad2e474c
Refactor the multiple regex checks in criteria parsing 2022-07-23 21:43:27 +08:00
solstice23
63210d5662
Merge branch 'master' into search-filter 2022-07-23 18:13:53 +08:00
solstice23
3f2c341369
Simplify length parsing 2022-07-23 18:13:19 +08:00
Salman Ahmed
3aecd288e2 Enable NRT on TopLocalRank 2022-07-23 09:27:03 +03:00
Salman Ahmed
1d0306810a Fix TopLocalRank not handling legacy scores properly 2022-07-23 09:24:38 +03:00
Salman Ahmed
727fe76b60 Fix TopLocalRank hacking around presence to hide on null rank
Fixed this here because that blocks `Schedule` from running, and I don't
want to add another override to the `IsPresent` flag.
2022-07-23 09:22:22 +03:00
solstice23
7c222505e9
Simplify length parsing 2022-07-22 14:24:17 +08:00
Salman Ahmed
3b913bb9ad Fix sorting mode not filling up to usable area in filter control 2022-07-22 09:15:48 +03:00
solstice23
b36e23c0da
Simplify the regex expression 2022-07-22 03:30:31 +08:00
solstice23
ae0902ca86
Fix lax in search criteria parsing 2022-07-22 02:55:11 +08:00
solstice23
0dcb3644f5
Merge branch 'master' into search-filter 2022-07-22 01:32:25 +08:00
solstice23
6baaef432f
Add colon parsing support in search length criteria 2022-07-21 18:49:13 +08:00
solstice23
a5a8fac66f
Add multiple units support in search length criteria 2022-07-21 18:24:31 +08:00
Dean Herbert
fc0c9f76bd Fix UpdateBeatmapSetButton intermittent test failure
Carousel would only expire items when off-screen. This meant that for a
case (like a test) where items are generally always on-screen,
`UpdateBeatmapSet` calls would result in panels remaining hidden but not
cleaned up.
2022-07-21 16:24:48 +09:00
Dean Herbert
3cfe624af1 Fix one more missed method with incorrect terminology 2022-07-21 16:16:41 +09:00
Dean Herbert
a05d7f4d8c Change carousel terminology to not use Children / InternalChildren 2022-07-21 16:06:06 +09:00
Dan Balasescu
7dfc18a0e3
Merge pull request #19208 from frenzibyte/remove-score-multiplier-on-custom-mod-settings
Remove score multiplier on difficulty-increasing mods with customised settings
2022-07-20 20:12:59 +09:00
Dan Balasescu
2b399ec7ad
Merge branch 'master' into date-submitted-ranked 2022-07-20 18:36:57 +09:00
Dan Balasescu
de29078db2 Remove nullable disables 2022-07-20 15:16:40 +09:00
Dean Herbert
30daa0fd44 Add ranked and submitted date storage and filtering 2022-07-19 19:55:56 +09:00
Dean Herbert
17046b0553 Add basic handling of download failures 2022-07-19 19:01:23 +09:00
Dean Herbert
a16bf35581 Rename button class and add basic progress display 2022-07-19 18:29:36 +09:00
Dean Herbert
da360af15a Fix vertical centering of button 2022-07-19 18:29:36 +09:00
Dean Herbert
eaf4f6dbb7 Add beatmap update button 2022-07-19 18:29:36 +09:00
Salman Ahmed
e86a35fe33 Fix NRE on footer button mods 2022-07-18 10:09:14 +03:00
Salman Ahmed
eddae7b143 Fix mod overlay and footer not updating multiplayer on settings change 2022-07-18 07:38:56 +03:00
Salman Ahmed
838e9ec12e
Merge branch 'master' into placeholder-fixes 2022-07-15 20:22:25 +03:00
Dean Herbert
cf38b15332
Merge pull request #19124 from frenzibyte/song-select-metadata-search
Change clicking source/tags on song select to filter instead of searching online
2022-07-15 19:16:31 +09:00
Dean Herbert
e12e480393 Only expose bindable string rather than full textbox 2022-07-15 18:01:35 +09:00
Dean Herbert
ba0a158740 Show search online prompt even when no beatmaps are available locally 2022-07-15 17:50:10 +09:00
Dan Balasescu
c1dd1cfead
Merge pull request #19082 from peppy/api-solo-score-model
Add and consume `SoloScoreInfo`
2022-07-15 15:20:18 +09:00
Salman Ahmed
86d019c2b2 Enable NRT on BeatmapDetails 2022-07-15 06:52:06 +03:00
Salman Ahmed
97c3eea3aa Fix beatmap details source and tags not filtering on song select 2022-07-15 06:51:50 +03:00
Salman Ahmed
102d0415f1 Merge branch 'master' into drawable-playlist-item-collection 2022-07-14 00:10:49 +03:00
Dan Balasescu
7ed05277f8
Merge pull request #19098 from peppy/last-played
Add "last played" sort mode to song select
2022-07-13 22:44:50 +09:00
Dean Herbert
6950223a7d Fix drawable mutation from disposal thread 2022-07-13 19:19:14 +09:00
Dean Herbert
fc274629f8 Add "last played" sort mode to song select
Note that this will consider the most recent play of any beatmap in
beatmap set groups for now, similar to other sort methods.
2022-07-13 16:43:43 +09:00
Dean Herbert
f956955d4d Combine ScoreInfo construction helper methods 2022-07-12 18:00:25 +09:00
Salman Ahmed
a94fb62be3 Split collection toggle menu item to own class 2022-07-08 01:39:45 +03:00
Dean Herbert
e1b434b5dc Fix song select placeholder not showing convert hint for custom rulesets 2022-07-07 14:46:51 +09:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Dan Balasescu
724fd19038 Remove nullable disables 2022-07-03 21:15:13 +09:00
Dean Herbert
052a786eff Only show hover effect on one nub at a time 2022-07-03 03:06:03 +09:00
Dean Herbert
7d8ea5e286 Remove unnecessary proxying 2022-07-03 02:59:10 +09:00
Dean Herbert
a03abc747b Tidy up comments and simplify bounding box centre logic 2022-07-02 12:58:34 +09:00
Dean Herbert
1fd9c64803 Change song select FooterButton sound 2022-07-02 12:48:33 +09:00
Dean Herbert
b829884861
Merge pull request #18963 from peppy/more-placeholder-suggestions
Add difficulty filter reset to song select "no results" suggestions
2022-07-01 17:55:23 +09:00
Dean Herbert
58e25a3a01 Fix potential crash in BeatmapLeaderboard during rapid refresh operations 2022-07-01 15:42:35 +09:00
Dean Herbert
3e0f4e7609 Add test coverage of difficulty filter reset 2022-07-01 15:28:55 +09:00
Dean Herbert
f3af612133 Suggest removing difficulty filter if no matches found at song select 2022-07-01 15:18:04 +09:00
Dean Herbert
545df0a8e8 Display difficulty on nub 2022-07-01 15:17:26 +09:00
Dean Herbert
cb9947b1c9 Align song select components a bit better 2022-07-01 15:17:12 +09:00
Dean Herbert
32139ac13f Tidy up implementation and add basic visual test 2022-07-01 15:16:58 +09:00
Dean Herbert
d54f7fc728 Move slider range control to song select 2022-07-01 14:41:36 +09:00
Dan Balasescu
d43b980a17
Merge pull request #18872 from peppy/add-working-beatmap-changed-logging
Add various logging of global `WorkingBeatmap` state changes
2022-06-27 21:34:05 +09:00
Dean Herbert
aa7d54f8b6 Add logging for various cases of SongSelect.FinaliseSelection being aborted 2022-06-27 20:10:17 +09:00
Dean Herbert
50c1c066de Add various logging of global WorkingBeatmap state changes 2022-06-27 18:41:31 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
30eebf3511 Merge branch 'master' into c-sharp-10 2022-06-24 21:22:33 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Dean Herbert
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
Dean Herbert
28837693e5 Nuke calculating everything
The whole component is pointless so I'm just going to nuke for now I
guess. Kind of makes the whole refactor effort pointless but oh well?

To expand on this, the implementation was actually incorrect as pointed
out at https://github.com/ppy/osu/pull/18819#pullrequestreview-1017886035.
2022-06-24 14:24:06 +09:00
Dean Herbert
01da6f20b3 Tidy up all remaining usages 2022-06-23 19:27:35 +09:00
Dean Herbert
7dec530ca5 Split out simple DifficultyIcon with no calculation overhead and update usages 2022-06-23 19:27:35 +09:00
Bartłomiej Dach
93b3ede2a0
Always use beatmap ruleset in editor gameplay test mode
Fixes cases where opening a convertible beatmap (so any osu! beatmap)
with the game-global ruleset being set to anything but osu! would result
in opening the editor gameplay test mode with the game-global ruleset
rather than the beatmap's.
2022-06-19 19:30:40 +02:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dan Balasescu
c9dfffbc0e
Merge pull request #18619 from peppy/fix-collection-performance
Fix performance overhead of large collections
2022-06-10 15:01:31 +09:00
Dean Herbert
4a5e86e451 Rename Beatmaps to BeatmapHashes for clarity 2022-06-10 14:03:51 +09:00
Dean Herbert
187086e4ec
Merge pull request #18609 from ALANVF/settings-delete-skin
Add button to delete the current skin
2022-06-08 19:18:59 +09:00
Dean Herbert
42cd7d9e6e Change CollectionManager to only store MD5 hashes instead of full BeatmapInfo 2022-06-08 18:23:09 +09:00
Dan Balasescu
f8594acb1d Cleanup dialog implementation 2022-06-08 18:17:43 +09:00
Dan Balasescu
3a90aa0b9b Fix code styling 2022-06-08 17:57:59 +09:00
Dan Balasescu
c43670fcd9
Merge pull request #18603 from peppy/fix-import-dialog
Add placeholder when no results are visible at song select
2022-06-08 15:22:31 +09:00
theangryepicbanana
6c05329144 Close #5820 (Ability to delete a single skin) 2022-06-07 18:01:40 -04:00
Dean Herbert
228683e956 Fix nullability of dialogOverlay dependency 2022-06-07 23:48:34 +09:00
Dean Herbert
2e0b888410 Fix song select carousel invalidating every frame during global overlay dimming 2022-06-07 23:46:53 +09:00
Dean Herbert
f8524c3af4 Use VisibilityContainer to avoid too many animations triggering 2022-06-07 17:25:06 +09:00
Dean Herbert
a04af1ca5f Enable nullable and add hinting at convert filter criteria 2022-06-07 17:25:06 +09:00
Dean Herbert
0d32c94104 Add initial implementation of beatmap carousel no-results-placeholder 2022-06-07 17:25:06 +09:00
Dean Herbert
df9174ec00 Remove import popup dialog from song select
This has been replaced in spirit by the first run overlay.
2022-06-07 16:45:27 +09:00
Joseph Madamba
4b54fedd88 Add back hide common string using new ToSentence() extension method 2022-06-03 20:09:20 -07:00
Joseph Madamba
b342aad24a Revert/fix some incorrectly used sorting localisation 2022-06-03 19:56:33 -07:00
Jamie Taylor
6115275bc2
Use 'default' sampleset for toolbar and repurpose 'toolbar' select sample temporarily 2022-06-03 22:33:06 +09:00
Jamie Taylor
365819865e
Remove 'submit' sample usages 2022-06-03 22:31:35 +09:00
Salman Ahmed
84a3cee452 Apply rate multiplier outside BPM rounding 2022-05-20 18:04:12 +03:00
Salman Ahmed
596853da8f Fix song select potentially displaying BPM range with equal min/max values 2022-05-20 17:53:28 +03:00
Bartłomiej Dach
76c63f1d0a
Rename ModSelect{Screen -> Overlay} in place of removed old design 2022-05-10 22:56:50 +02:00
Dean Herbert
0d32bf91eb Hardcode hide key handling in ModSelectScreen 2022-05-08 01:35:11 +09:00
Bartłomiej Dach
34cf4c6a38
Fix mod overlay not closing on toggle hotkey 2022-05-05 22:16:56 +02:00
Bartłomiej Dach
0caea77176
Fix mod selects not hiding when their owner screens exit 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
a56eab2c47
Extract interface for overlay management 2022-05-05 22:16:55 +02:00
Bartłomiej Dach
4eefbd5bc2
Use new free mod select design in room creation flow 2022-05-05 22:16:54 +02:00
Bartłomiej Dach
1744d7e4f0
Fix new mod select overlay dimming itself 2022-05-05 22:16:54 +02:00
Bartłomiej Dach
407db7ff9d
Replace old mod select overlay with new design 2022-05-05 22:16:54 +02:00
Salman Ahmed
9416346c94 Globalise beatmap selection key bindings as "group" selection 2022-05-04 16:46:32 +03:00
Salman Ahmed
d52a1a5d23 Add key binding for beatmap selection in song select 2022-05-04 03:52:10 +03:00
Salman Ahmed
18852b2509 Fix footer random button autosizing to text length 2022-05-02 15:36:22 +03:00
Dean Herbert
5c04ab18ec
Merge pull request #18011 from frenzibyte/rewind-shift-click
Allow rewinding random in song select with "Shift + Left Click"
2022-04-29 23:10:29 +09:00
Salman Ahmed
856ca96b66 Allow right-clicking to rewind on random button 2022-04-29 10:12:24 +03:00
Salman Ahmed
a9d67d3e92 Change random button text when holding shift key 2022-04-29 10:10:21 +03:00
Salman Ahmed
7e3d1511c6 Hide "Rank Achieved" sorting mode until it's supported 2022-04-29 07:47:10 +03:00
Salman Ahmed
fa5c05120c Allow rewinding random in song select with Shift + Left Click 2022-04-28 20:06:27 +03:00
Dean Herbert
07462384e8
Merge pull request #17930 from peppy/fix-song-select-music-control
Fix nested song select in first-run dialog fiddling with global audio
2022-04-24 19:18:27 +09:00
Dean Herbert
999b4505d1 Remove localisation of "hide" string to fix incorrect case 2022-04-24 16:37:11 +09:00
Dean Herbert
bcdd1fb183 Fix nested song select in first-run dialog fiddling with global audio 2022-04-22 18:37:40 +09:00
Dean Herbert
832d37b2c2 Update screen transition events to use new event args 2022-04-22 00:52:44 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Dean Herbert
043599081b Split out INotificationOverlay to allow for easier testing 2022-04-18 20:14:01 +09:00
Dean Herbert
e315313266 Split out IDialogOverlay to allow for easier testing 2022-04-18 18:36:26 +09:00
Dean Herbert
3ca365ad7f
Merge branch 'master' into dangerous-delete-actions 2022-04-05 10:55:01 +09:00
Ame
32c89f8643 Handle repeated OnPressed() on FooterButton (without FooterButtonRandom) 2022-04-05 00:33:41 +02:00
CenTdemeern1
9a07a95d39 Make several delete confirmation buttons dangerous buttons
Includes:
- Mass deletion
- Beatmap deletion
- Local score deletion
2022-04-04 19:22:53 +02:00
Bartłomiej Dach
436dec68c9
Use provided extension method instead of reimplementing locally 2022-03-30 22:04:54 +02:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
Dan Balasescu
cb1ee05539
Merge pull request #17555 from peppy/remove-source-from-wedge
Remove song source from main wedge display
2022-03-30 18:57:25 +09:00
Dean Herbert
f9f6248101 Simplify string bindings 2022-03-30 17:59:45 +09:00
Dean Herbert
bc0b982102 Remove song source from main wedge display
This was definitely added at someone's request, since I wouldn't have
put it here. But it's displayed below in the details section already and
also not displayed in the updated "wedge" in the new design.

See https://github.com/ppy/osu/discussions/17537 for discussion.
2022-03-30 17:59:40 +09:00
Salman Ahmed
cef1b93471 Improve behaviour of "Autoplay" shortcut during gameplay start
This also opens up the way to adding shortcut for "Cinema" mod
(Ctrl+Shift+Enter), but will leave adding that until there's a demand
for it.
2022-03-30 01:07:48 +03:00
Dean Herbert
ea9495eb74 Update all existing calls to extension method with correct fallback handling 2022-03-29 16:51:30 +09:00
Dean Herbert
c6aa32a003 Add basic song select setup for skinnability 2022-03-16 19:12:06 +09:00
Dan Balasescu
2de7795844
Fix always rolling up from zero
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-03-10 19:59:05 +09:00
Dan Balasescu
671d614c92 Fix beatmap wedge mutating transforms incorrectly 2022-03-10 17:54:33 +09:00
Dean Herbert
520d2d6cfa Fix beatmap carousel panels accepting input while marked as not-visible
This is an issue as carousel panels manage their own animated state. If
they are marked as not-visible (done at a higher level, from filtering
or update pathways) but clicked while fading out, they will animate back
to a visible state but not be marked as visible.

No tests for this one as it's probably not worthwhile to test (and hard
to do so). Manual testing can be done with the following patch:

```diff
diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs
b/osu.Game/Screens/Select/BeatmapCarousel.cs
index c3d340ac61..3372242acc 100644
--- a/osu.Game/Screens/Select/BeatmapCarousel.cs
+++ b/osu.Game/Screens/Select/BeatmapCarousel.cs
@@ -255,7 +255,7 @@ private void
beatmapSetsChanged(IRealmCollection<BeatmapSetInfo> sender, ChangeS
             }

             foreach (int i in changes.NewModifiedIndices)
-                UpdateBeatmapSet(sender[i].Detach());
+                Scheduler.AddDelayed(() =>
                 UpdateBeatmapSet(sender[i].Detach()), 100, true);

             foreach (int i in changes.InsertedIndices)
                 UpdateBeatmapSet(sender[i].Detach());

```

- Enter gameplay and adjust beatmap offset then return to song select
  and click the flashing panel.
OR
- Enter editor and save then return to song select and click the
  flashing panel.

Closes https://github.com/ppy/osu/discussions/17171.
2022-03-09 16:08:52 +09:00
Dean Herbert
622ec53130 Fix BeatmapLeaderboard refreshing on unrelated changes to a beatmap 2022-03-08 14:50:47 +09:00
Dean Herbert
da29947ecd Disallow interaction with carousel set difficulty icons unless selected
I kinda liked this flow, but from multiple reports from users it
definitely seems in the way. We can revisit after the new design is
applied to song select.

Note that this means the tooltips also don't display. If it is preferred
that they should (arguable from a UX perspective, since I'd expect to be
able to click at that point) then the issue can be addressed using a
slightly different path (a few more lines - nothing too complex).
2022-03-07 11:34:08 +09:00
Dean Herbert
42e07b7308 Convert to extension method to avoid recursive calls 2022-03-03 14:15:37 +09:00
Dean Herbert
fab9323707 Replace all legacy ruleset checks with a helper property call 2022-03-03 14:08:48 +09:00
Dean Herbert
c342030b2c Add specific placeholder message for custom rulesets rather than showing network error 2022-03-02 14:10:59 +09:00
Dean Herbert
7307e68e9c Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
This reverts commit 252b945d3b, reversing
changes made to a1b39a96cf.
2022-02-17 13:26:12 +09:00
Dan Balasescu
5dd9771c5f Remove mod multipliers from being applied to scores 2022-02-16 16:27:27 +09:00
Salman Ahmed
6f0e32826c Standardise ordering/grouping of IRulesetInfo/RulesetInfos 2022-02-11 04:27:11 +03:00
Dean Herbert
eb25730b61 Revert "Merge pull request #16716 from peppy/carousel-less-invalidations"
This reverts commit 8d13e0514b, reversing
changes made to 95582a9023.
2022-02-05 16:12:58 +09:00
Jamie Taylor
0f48c0131c
Layer playback of beatmap-changed and random-beatmap samples 2022-02-04 19:57:54 +09:00
Dean Herbert
6d6327d3da Fix test beatmap loading potentially performing selection before carousel itself is loaded 2022-02-03 18:40:16 +09:00
Dean Herbert
e65996efc3 Rename variable to match purpose better 2022-02-03 17:14:38 +09:00
Dean Herbert
4f3e55a0ce
Merge branch 'master' into songselect-random-sfx 2022-02-02 17:18:24 +09:00
Dean Herbert
6bc6675fa1 Adjust fade in times slightly 2022-01-31 14:46:20 +09:00
Dean Herbert
8917ab78f4 Reduce unnecessary container nesting and adjust empty state opacity slightly 2022-01-31 14:46:20 +09:00
Dean Herbert
2ee0db0ebf Move fade in function local 2022-01-31 14:46:20 +09:00
Dean Herbert
c3e3b2019d Reduce overhead of ApplyState by tracking previous values
Even with pooling applied, there are overheads involved with transforms
when quickly cycling through the carousel.

The main goal here is to reduce the transforms in cases the reuse is
still in the same state. Avoiding firing `FadeIn` and `FadeOut` are the
main areas of saving.
2022-01-31 14:46:20 +09:00
Dean Herbert
a06287e76a Remove DrawableCarouselItem.Update updating of height
Marginal from a performance aspect, but reads better.
2022-01-31 14:46:20 +09:00
Dean Herbert
9c9fda84f3 Add schedule and cancellation check to score ordering step 2022-01-31 13:50:53 +09:00
Dean Herbert
f8939af5e6 Track loading via state as well 2022-01-31 01:12:03 +09:00
Dean Herbert
acc1199add Consolidate flows of Set operations, either result or error 2022-01-30 16:16:00 +09:00
Dean Herbert
c401629dd8 Also refactor placeholder logic to make more sense 2022-01-30 10:50:32 +09:00
Dean Herbert
d0b74a91fb Fix edge cases with score drawable loading 2022-01-29 23:58:57 +09:00
Dean Herbert
0293d95f82 Simplify IsOnlineScope usage 2022-01-29 23:58:57 +09:00
Dean Herbert
daea13f491 Simplify flow of cancellation token 2022-01-29 23:58:57 +09:00
Dean Herbert
3d59bab7c6 Remove fetch callback logic completely 2022-01-29 23:58:57 +09:00