1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-30 09:22:54 +08:00
Commit Graph

3097 Commits

Author SHA1 Message Date
Dan Balasescu
9fd6449fd8
Add mods to FilterCriteria, pass to ruleset method 2024-03-28 23:03:26 +09:00
Dan Balasescu
10edb54614
Add ability to query key count with mods 2024-03-28 22:51:12 +09:00
Bartłomiej Dach
56dc6bb192
Merge branch 'master' into feat/support-filtering-for-multiple-types 2024-03-26 12:39:51 +01:00
Bartłomiej Dach
e52d51cd0a
Update OptionalSet implementation to intersect across multiple filters rather than union 2024-03-26 12:32:03 +01:00
Bartłomiej Dach
a1880e89c2
Use title as tiebreaker when sorting beatmap carousel by artist
Closes https://github.com/ppy/osu/issues/27548.

Reference: e53980dd76/osu!/GameplayElements/Beatmaps/BeatmapTreeManager.cs#L341-L347
2024-03-22 08:41:10 +01:00
Bartłomiej Dach
af3f7dcbbf
Retouch update criteria method 2024-03-19 18:33:35 +01:00
Bartłomiej Dach
320373e3e0
Rename method to match convention better 2024-03-19 18:28:13 +01:00
Bartłomiej Dach
feaf59e15f
Use HashSet instead of SortedSet
No need for it to be sorted.
2024-03-19 18:26:58 +01:00
Vlad Frangu
77119b2cdb
chore: correct doc string 2024-03-18 16:44:42 +02:00
Vlad Frangu
d0678bfbee
chore: requested changes 2024-03-18 15:30:43 +02:00
Vlad Frangu
e1c1609271
chore: correct equal logic 2024-03-16 21:48:44 +02:00
Vlad Frangu
0a6960296e
feat: Support filtering for multiple statuses 2024-03-16 21:32:55 +02:00
Dean Herbert
f44aadaaa8
Merge pull request #27331 from bdach/statistics-updates-in-multi
Show user statistics updates on multiplayer and playlists results screens
2024-02-29 12:26:48 +08:00
Bartłomiej Dach
a5948d38ac
Merge pull request #27380 from frenzibyte/fix-advanced-stats-display
Fix advanced stats in beatmap info overlay showing "key count" on non-mania beatmaps
2024-02-28 18:02:48 +01:00
Bartłomiej Dach
6a3a7cca58
Merge branch 'master' into adjust-carousel-padding 2024-02-28 16:00:43 +01:00
Dean Herbert
8e336610d0
Add xmldoc explaining Ruleset bindable's usage 2024-02-26 18:31:40 +08:00
Salman Ahmed
5c049feca1 Fix advanced stats in beatmap info overlay showing "key count" on non-mania beatmaps 2024-02-25 21:18:15 +03:00
Bartłomiej Dach
869f0a82de
Use hashset for faster lookup 2024-02-23 15:38:52 +01:00
Dean Herbert
157819c199
Materialise realm collection hashes during song select search process
Without this, there's a large overhead to do a realm-live `Contains`
search when a collection is selected.

This may also help considerably alleviate
https://github.com/ppy/osu/discussions/27298#discussioncomment-8552508
as we will be performing the native realm search much less.
2024-02-23 11:41:27 +08:00
Bartłomiej Dach
0074bdc5a1
Change ResultsScreen constructor boolean params to init-only properties 2024-02-22 20:15:03 +01:00
Bartłomiej Dach
46c8560ca5
Merge branch 'master' into multiplayer-difficulty-tooltip 2024-02-22 12:08:29 +01:00
Bartłomiej Dach
d06c67ad8f
Substitute two jank interdependent bool flags for single tri-state enums 2024-02-22 12:05:50 +01:00
Bartłomiej Dach
1a831145ce
Merge branch 'master' into fix-bpm-differences 2024-02-22 10:41:22 +01:00
Bartłomiej Dach
81a9908c60
Extract common helper for BPM rounding 2024-02-22 10:27:37 +01:00
Dean Herbert
fb593470d5
Use DEFAULT instead of INSTANCE or static field
Matches other similar comparers.
2024-02-21 21:02:20 +08:00
Bartłomiej Dach
929858226a
Use custom comparer in beatmap carousel for expected sort behaviour 2024-02-21 12:43:18 +01:00
Andrei Zavatski
2543a48ac8 Apply padding to GridContainers directly 2024-02-20 23:18:37 +03:00
Dean Herbert
6960f87509
Merge pull request #26895 from vmfunc/ordinal-sorting
Consider case sensitivity when sorting beatmaps in song select
2024-02-18 04:05:22 +08:00
Dean Herbert
674ee91bb5
Define aggregate max delegates as static to further reduce allocations 2024-02-15 11:40:50 +08:00
Dean Herbert
80abf6aab3
Avoid some further enumerator allocations 2024-02-15 09:45:24 +08:00
Andrei Zavatski
6e1b4152c0 Redice allocations during aggregate beatmap sort 2024-02-15 00:01:55 +03:00
Bartłomiej Dach
ae9a2661ac
Sprinkle some raw string prefixes 2024-02-14 16:20:47 +01:00
Bartłomiej Dach
414066fd34
Inline problematic function (and rename things to make more sense) 2024-02-14 16:07:42 +01:00
Bartłomiej Dach
a8ae0a032f
Simplify parsing 2024-02-14 15:58:38 +01:00
Bartłomiej Dach
c24328dda3
Abandon date filter if no meaningful time bound found during parsing 2024-02-14 15:56:32 +01:00
Bartłomiej Dach
f0f37df67f
Revert unnecessary change 2024-02-14 15:37:02 +01:00
Bartłomiej Dach
1113355753
Merge branch 'master' into add-last-played-filter 2024-02-14 15:36:19 +01:00
Stoppedpuma
ca0819cf7a Alias "mapper" as well 2024-02-11 20:28:16 +01:00
Stoppedpuma
7c04e8bfba Alias author to creator
Allows "author" to show the results of "creator"
2024-02-10 07:48:24 +01:00
Bartłomiej Dach
865f4d76ff
Add unranked indicator to song select footer too 2024-02-01 21:51:41 +01:00
Bartłomiej Dach
f87ab19731
Apply NRT to FooterButtonMods 2024-02-01 21:32:38 +01:00
syscats
0407b5d84a
use ordinal sorting on each method 2024-02-01 14:03:59 +01:00
syscats
7165511754 Use ordinal sorting for artist string comparison 2024-01-31 15:49:31 +01:00
Bartłomiej Dach
acc2614090
Apply alternative solution
Fixes the logo flying out of the wrong corner when transitioning from
song select to gameplay.

Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-01-29 20:07:27 +01:00
Dean Herbert
f2546d72c2
Fix osu! logo being mispositioned in song select on very wide resolutions 2024-01-29 20:45:51 +09:00
Dean Herbert
cc341b4119
Adjust beatmap carousel padding to avoid scrollbar disappearing underneath logo 2024-01-25 15:21:19 +09:00
Dean Herbert
02bb506cce
Avoid using .Children for enumeration in other locations 2024-01-23 05:32:11 +09:00
Dean Herbert
1f0ad5cff2
Apply same fix in more places 2024-01-22 15:56:16 +09:00
Dean Herbert
74f05a5c4b
Use container itself rather than ScrollContent 2024-01-22 15:54:24 +09:00
Andrei Zavatski
cec4f670d1 Reduce allocation overhead in BeatmapCarousel 2024-01-22 03:12:23 +03:00
Dean Herbert
68496f7a0e
Fix scores not showing up on leaderboards during gameplay 2024-01-14 15:13:20 +09:00
Bartłomiej Dach
66b3945cd6
Move current screen check to better place 2024-01-09 10:44:30 +01:00
Bartłomiej Dach
58db39ec32
Fix crash when clicking osu! logo in song select immediately after exiting
Closes https://github.com/ppy/osu/issues/26415.

The crash report with incomplete log was backwards, the exit comes
first. Sentry events and the reproducing test in
8a87301c55 confirm this.
2024-01-08 21:37:25 +01:00
Bartłomiej Dach
70ba5dd0d3
Merge pull request #26385 from peppy/carousel-thing
Fix beatmap carousel not preloading panels when off-screen
2024-01-08 19:37:34 +01:00
Dean Herbert
51bd32bf7e
Restore comment regarding usage of MinBy 2024-01-09 01:08:47 +09:00
Dean Herbert
e77d203a24
Refactor delayed load logic to hopefully read better 2024-01-09 01:08:17 +09:00
Dean Herbert
d3710f0bfd
Remove scores from song select leaderboard when leaving the screen 2024-01-06 20:53:20 +09:00
Dean Herbert
81c6fd5589
Load items closer to the centre of the screen as a priority 2024-01-04 19:25:12 +09:00
Dean Herbert
adac3b65ce
Fix beatmap carousel not preloading panels when off-screen 2024-01-04 19:25:12 +09:00
Salman Ahmed
4dc11c4c48 Update existing code to use helper method 2023-12-31 05:18:07 +03:00
CaffeeLake
bca0600482 Use 0.99x or 1.01x
Signed-off-by: CaffeeLake <PascalCoffeeLake@gmail.com>
2023-12-31 00:47:09 +09:00
Dean Herbert
ffc8778d67
Fix song select leaderboard tab ordering not matching stable 2023-12-28 14:13:35 +09:00
Nathan Tran
060bf8beff Fix rewind backtracking 2023-12-25 15:27:32 -08:00
Simon G
b31b9e96d0
adjust beatmap length and drain based on rate changing mods 2023-12-22 03:04:48 +01:00
Dean Herbert
7fa4dcf0fb
Fix selection retention logic copy paste failure 2023-12-20 19:27:57 +09:00
Dean Herbert
e003462f7d
Fix beatmap updates causing one extra carousel selection 2023-12-20 19:15:02 +09:00
Dean Herbert
64f62e7d90
Fix song select running updates when screen is not active
Who would have guessed that `Schedule` calls were there for a reason!

I've tidied things up. Most of the changes I've made here are not
required – the schedule is the main thing here. The reason the sound was
playing is because one-too-many schedules was removed causing beatmap
updates to update carousel specifics while still at the player loader
screen.

Note that the selection sound still plays on returning to song select,
but this is not a regression. I'm looking at fixing this in a separate
PR because I'm in a good place as far as understanding the logic right
now and it would be a waste to leave it broken.

Closes https://github.com/ppy/osu/issues/25875.
2023-12-20 17:31:09 +09:00
Bartłomiej Dach
9a5027e556
Merge pull request #25900 from peppy/editor-from-any-carousel
Allow choosing "Edit" from any beatmap carousel item
2023-12-20 08:35:42 +01:00
Dan Balasescu
3818977a36
Merge pull request #25898 from peppy/song-select-stats
Update song select to always show difficulty stats
2023-12-20 14:39:35 +09:00
Dean Herbert
85e5d74a16
Apply proposed changes 2023-12-20 12:42:06 +09:00
Bartłomiej Dach
e306cc35ba
Merge branch 'master' into fix-song-select-realm-refresh-performance 2023-12-19 14:14:46 +01:00
Dean Herbert
bbfdd6892d
Allow choosing "Edit" from any beatmap carousel item 2023-12-19 19:58:49 +09:00
Dean Herbert
502e3edac3
Add missing invalidation call 2023-12-19 19:39:48 +09:00
Dean Herbert
3b848e8503
Tidy up visual look 2023-12-19 19:28:02 +09:00
Dean Herbert
07bb0805e9
Move advanced stats to a more permanent location on song select 2023-12-19 19:10:43 +09:00
Dean Herbert
0a64d631e2
Add support for dual-column advanced stats 2023-12-19 19:09:47 +09:00
Dean Herbert
8f5d21dc70
Actually fix realm selection retention regression 2023-12-19 18:10:55 +09:00
Dean Herbert
7e9c1b2acb
Use sender's realm (because we can) 2023-12-19 17:27:52 +09:00
Bartłomiej Dach
7c05d66bd7
Add more detail to exception 2023-12-19 08:57:18 +01:00
Dean Herbert
44efa2c540
Fix incorrect ordering of items at song select when certain sort modes are used 2023-12-19 15:09:03 +09:00
Dean Herbert
d81cabc063
Revert "Improve performance of attemptSelection using new cached count and LastSelected"
This reverts commit 25df42630e.
2023-12-18 22:46:02 +09:00
Dean Herbert
25e3a8e82e
Fix a few of silly issues 2023-12-18 22:45:58 +09:00
Dean Herbert
25df42630e
Improve performance of attemptSelection using new cached count and LastSelected 2023-12-18 20:47:08 +09:00
Dean Herbert
5755fa214a
Cache non-filtered beatmap counts to massively improve count performance 2023-12-18 20:44:08 +09:00
Dean Herbert
034c5cd654
Debounce count updates for good measure 2023-12-18 20:43:23 +09:00
Dean Herbert
6fa1f5ef9b
Simplify invalidation logic
The only case where this was checking is guaranteed by realm to only be called once.
2023-12-18 20:31:02 +09:00
Dean Herbert
87b7699fcc
Avoid calling invalidation logic per beatmap set updated
Realm will batch the updates. We don't want to do expensive operations per set when we don't need to.
2023-12-18 20:31:02 +09:00
Dean Herbert
32cc3f9ef7
Combine multiple similar invalidation logic into single event 2023-12-18 20:31:02 +09:00
Dean Herbert
48e89b903c
Merge pull request #25760 from bdach/if-i-speak-i-am-in-big-trouble-pt-1
Fix `AdjustedAttributesTooltip` being broken by design
2023-12-15 12:26:10 +09:00
Dan Balasescu
fbef40bb1f
Reduce some allocations in SongSelect in the mania ruleset 2023-12-15 11:01:15 +09:00
Bartłomiej Dach
9e5b6b97ff
Fix AdjustedAttributesTooltip being broken by design
Fixes issue described in the following comment:
https://github.com/ppy/osu/pull/25759#issuecomment-1855954637

That is just not how the tooltip system is supposed to be used.

To name the individual sins:

- Caching and returning a tooltip instance like the classes that used
  tooltips is incorrect. The lifetime of tooltip instances is managed by
  the tooltip container. `GetCustomTooltip()` is called by it
  exclusively. It should return a fresh instance every time.

- Not putting actual data in `IHasCustomTooltip.TooltipContent` is
  wrong.

- Having `Tooltip.SetContent()` be a no-op is *grossly and flagrantly*
  wrong.

I'm not even sure which particular combination of the above
transgressions caused the issue as it presented itself, but at this time
I frankly do not care.
2023-12-14 16:15:56 +01:00
Givikap120
b22a7cf520 Update AdvancedStats.cs 2023-12-14 14:31:58 +02:00
Givikap120
c2373bb37b change the order of attributes
+ simplifying the bug fix
2023-12-14 14:31:19 +02:00
Givikap120
8698835db2 fixed bug
fixed the bug where it's not updates tooltip when there are no mods
2023-12-14 14:00:35 +02:00
Dean Herbert
5062c53e36
Refactor everything for sanity 2023-12-13 17:33:39 +09:00
Dean Herbert
fb44fb18e0
Update in line with upstream changes 2023-12-13 16:42:20 +09:00
Dean Herbert
0259ab761b
Merge branch 'master' into arod_rate_adjust 2023-12-13 16:35:18 +09:00
Dean Herbert
fdcf87569c
Merge pull request #25711 from smoogipoo/mania-convert-song-select-keycount
Display osu!mania keycount in song select carousel panels and details
2023-12-13 16:31:25 +09:00
Dean Herbert
5e10f9f899
Fix failing tests due to more textboxes being present with searchable dropdowns 2023-12-13 15:11:47 +09:00
Dan Balasescu
c31ff84417
Fix possible nullref 2023-12-13 13:32:27 +09:00