Commit Graph

2537 Commits

Author SHA1 Message Date
436dec68c9 Use provided extension method instead of reimplementing locally 2022-03-30 22:04:54 +02:00
9621a7f9cb Merge branch 'master' into fix-autoplay-mod-user-id 2022-03-30 21:41:45 +02:00
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
f9f6248101 Simplify string bindings 2022-03-30 17:59:45 +09:00
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
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
ea9495eb74 Update all existing calls to extension method with correct fallback handling 2022-03-29 16:51:30 +09:00
c6aa32a003 Add basic song select setup for skinnability 2022-03-16 19:12:06 +09:00
2de7795844 Fix always rolling up from zero
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-03-10 19:59:05 +09:00
671d614c92 Fix beatmap wedge mutating transforms incorrectly 2022-03-10 17:54:33 +09:00
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
622ec53130 Fix BeatmapLeaderboard refreshing on unrelated changes to a beatmap 2022-03-08 14:50:47 +09:00
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
42e07b7308 Convert to extension method to avoid recursive calls 2022-03-03 14:15:37 +09:00
fab9323707 Replace all legacy ruleset checks with a helper property call 2022-03-03 14:08:48 +09:00
c342030b2c Add specific placeholder message for custom rulesets rather than showing network error 2022-03-02 14:10:59 +09:00
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
5dd9771c5f Remove mod multipliers from being applied to scores 2022-02-16 16:27:27 +09:00
6f0e32826c Standardise ordering/grouping of IRulesetInfo/RulesetInfos 2022-02-11 04:27:11 +03:00
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
0f48c0131c Layer playback of beatmap-changed and random-beatmap samples 2022-02-04 19:57:54 +09:00
6d6327d3da Fix test beatmap loading potentially performing selection before carousel itself is loaded 2022-02-03 18:40:16 +09:00
e65996efc3 Rename variable to match purpose better 2022-02-03 17:14:38 +09:00
4f3e55a0ce Merge branch 'master' into songselect-random-sfx 2022-02-02 17:18:24 +09:00
6bc6675fa1 Adjust fade in times slightly 2022-01-31 14:46:20 +09:00
8917ab78f4 Reduce unnecessary container nesting and adjust empty state opacity slightly 2022-01-31 14:46:20 +09:00
2ee0db0ebf Move fade in function local 2022-01-31 14:46:20 +09:00
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
a06287e76a Remove DrawableCarouselItem.Update updating of height
Marginal from a performance aspect, but reads better.
2022-01-31 14:46:20 +09:00
9c9fda84f3 Add schedule and cancellation check to score ordering step 2022-01-31 13:50:53 +09:00
f8939af5e6 Track loading via state as well 2022-01-31 01:12:03 +09:00
acc1199add Consolidate flows of Set operations, either result or error 2022-01-30 16:16:00 +09:00
c401629dd8 Also refactor placeholder logic to make more sense 2022-01-30 10:50:32 +09:00
d0b74a91fb Fix edge cases with score drawable loading 2022-01-29 23:58:57 +09:00
0293d95f82 Simplify IsOnlineScope usage 2022-01-29 23:58:57 +09:00
daea13f491 Simplify flow of cancellation token 2022-01-29 23:58:57 +09:00
3d59bab7c6 Remove fetch callback logic completely 2022-01-29 23:58:57 +09:00
aee93934d5 Rename methods to make more sense (and always run through AddOnce) 2022-01-29 23:58:57 +09:00
e7823982d8 Fix ruleset value not being transferred when FinaliseSelection is not called 2022-01-29 18:44:48 +09:00
f021a274d2 Merge pull request #16681 from peppy/fix-delete-local-scores
Fix delete local scores via "Clear all scores" button crashing the game
2022-01-28 17:01:31 +09:00
0d3ac4fd9c Fix delete local scores crashing the game 2022-01-28 15:54:53 +09:00
b7d8c9bf06 Fix a couple of cases of incorrect equality checks in the case both values are null 2022-01-28 14:29:56 +09:00
f59828e2d9 Add audio feedback to song select 'random' 2022-01-28 13:43:37 +09:00
04d6ca59a3 Merge branch 'master' into song-select-scroll-position-during-delete 2022-01-27 20:46:19 +01:00
7af23328a4 Merge branch 'master' into ruleset-ordering-fix 2022-01-27 21:46:03 +09:00
3ae5973ab7 Fix compilation error due to commit split 2022-01-27 17:08:31 +09:00
449e9bcf5c Ensure beatmap carousel scroll position is maintained during deletion operations 2022-01-27 16:52:02 +09:00
0a45aa80cb Remove unnecessary double-schedule in UpdateBeatmapSet 2022-01-27 16:52:02 +09:00
5637fd64d6 Perform ordering using IComparable instead 2022-01-27 15:59:20 +09:00
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00