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

2523 Commits

Author SHA1 Message Date
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
Dean Herbert
aee93934d5 Rename methods to make more sense (and always run through AddOnce) 2022-01-29 23:58:57 +09:00
Dean Herbert
e7823982d8 Fix ruleset value not being transferred when FinaliseSelection is not called 2022-01-29 18:44:48 +09:00
Dan Balasescu
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
Dean Herbert
0d3ac4fd9c Fix delete local scores crashing the game 2022-01-28 15:54:53 +09:00
Dean Herbert
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
Jamie Taylor
f59828e2d9
Add audio feedback to song select 'random' 2022-01-28 13:43:37 +09:00
Bartłomiej Dach
04d6ca59a3
Merge branch 'master' into song-select-scroll-position-during-delete 2022-01-27 20:46:19 +01:00
Dean Herbert
7af23328a4
Merge branch 'master' into ruleset-ordering-fix 2022-01-27 21:46:03 +09:00
Dean Herbert
3ae5973ab7 Fix compilation error due to commit split 2022-01-27 17:08:31 +09:00
Dean Herbert
449e9bcf5c Ensure beatmap carousel scroll position is maintained during deletion operations 2022-01-27 16:52:02 +09:00
Dean Herbert
0a45aa80cb Remove unnecessary double-schedule in UpdateBeatmapSet 2022-01-27 16:52:02 +09:00
Dean Herbert
5637fd64d6 Perform ordering using IComparable instead 2022-01-27 15:59:20 +09:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Dean Herbert
f30d63107a Add SortID to RulesetInfo to allow stable ordering of rulesets for display 2022-01-27 15:35:16 +09:00
Dean Herbert
f70e10e8a4 Fix ruleset filter matching using OnlineID instead of ShortName 2022-01-27 01:25:57 +09:00
Derrick Timmermans
873d367615
Fix custom rulesets not being able to convert maps 2022-01-26 15:51:39 +01:00
Dean Herbert
473c4d00ca Fix grouped difficulty icons using incorrect lookup for ruleset grouping 2022-01-26 18:38:44 +09:00
Dean Herbert
d7342880f5 Update remaining cases of clashes with realm.Write and realm.RegisterForNotifications 2022-01-25 13:09:48 +09:00
Dean Herbert
e23b10e6a5 Update remaining cases of clashing variable name in realm.Run(realm.. 2022-01-25 13:04:05 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
40aa873190 Rename register methods to better explain their purpose 2022-01-24 14:37:36 +09:00
Dean Herbert
e9e3e024a1 Update all usages of QueryAsyncWithNotifications to use new Register pathway 2022-01-23 20:28:04 +09:00
Dean Herbert
61cef42be9 Proof of concept realm subscriptions via Register 2022-01-23 20:28:04 +09:00
Dean Herbert
1f157d729d Update existing subscriptions to new style
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dean Herbert
8f1dfa33a2 Merge branch 'master' into realm-context-use-update-when-feasible 2022-01-21 18:03:09 +09:00
Dean Herbert
114c9e8c1f Update all usages of CreateContext to use either Run or Write 2022-01-21 17:27:08 +09:00
Dean Herbert
3bcdce128c Use dictionary add for safety 2022-01-21 15:29:21 +09:00