Aki
cb354685ca
simplify code
2023-07-16 10:21:32 +08:00
Aki
309c852222
Compute the top local rank directly without an expensive detach call
2023-07-15 23:00:13 +08:00
Dean Herbert
a98a36872e
Bring realm library up-to-date
2023-07-06 13:37:43 +09:00
Dean Herbert
702266198b
Add missing "title=" search support at song select
2023-06-27 15:21:13 +09:00
Dean Herbert
a74547c43c
Add exact match support at song select
2023-06-26 18:26:44 +09:00
Dean Herbert
ce41ef6e5d
Move OrderByTotalScore()
to an extension method
2023-06-16 15:24:30 +09:00
Salman Ahmed
7269b4807e
Merge branch 'master' into improve-song-select-enter-performance
2023-06-12 13:13:59 +03:00
Dean Herbert
10c43d2273
Reduce delays and fades for carousel panels to improve song select initial display performance
...
Entering song select has seen a hit since the new renderer
implementations. The underlying cause is large numbers of vertex buffer
uploads (the counter hits >200k for me during the transition).
Song select is in the process of being redesigned, and we are probably
going to make improvements to the renderer to alleviate this, but in the
mean time we can greatly improve the user experience by reducing how
long the initial fade in delays take on panels.
Visually this doesn't look too jarring, and gives a more immediate
feeling when scrolling. It's also more feasible to load elements sooner
with https://github.com/ppy/osu/pull/23809 applied.
2023-06-08 17:28:58 +09:00
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
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
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
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
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
mk56-spn
90227a6496
Rename DeleteConfirmationDialog.cs
into DangerousActionDialog.cs
2023-02-27 21:57:59 +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
Joseph Madamba
5a76c1ab9c
Refactor HoverSampleDebounceComponent
to inherit Component
2023-02-03 00:29:25 -08:00
Dean Herbert
f7094567d7
Rename and document method to limit scope
2023-02-03 15:04:47 +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
Bartłomiej Dach
7ba448b13c
Update comment to match implementation
2023-01-18 17:12:57 +01:00
Dean Herbert
3b27774561
Remove OnlineID
sort consideration
2023-01-18 19:21:02 +09:00
Dean Herbert
a9ac28b504
Add fallback sorts to CarouselBeatmapSet
to ensure stable sorting
2023-01-17 16:40:25 +09: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
87ee9ab813
Added custom menu items in DrawableCarouselBeatmap
2023-01-16 00:13:12 +01:00
Salman Ahmed
112cf403ec
Fix intermittent failure in certain beatmap carousel tests
2023-01-13 19:41:44 +03:00
Bartłomiej Dach
aab84d50eb
Remove boxing overhead in CarouselItem
comparator
2023-01-10 18:35:06 +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
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
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +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
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
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
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
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
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
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
Andrew Hong
c6a739f5a8
Add date submitted sorting
2022-08-21 23:09:33 -04:00
Salman Ahmed
fc7fc3d673
Fix newly imported beatmaps not using correct comparer for sorting
2022-08-01 19:13:57 +03: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
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
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
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
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
102d0415f1
Merge branch 'master' into drawable-playlist-item-collection
2022-07-14 00:10:49 +03: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
Salman Ahmed
a94fb62be3
Split collection toggle menu item to own class
2022-07-08 01:39:45 +03: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
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
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
4a5e86e451
Rename Beatmaps
to BeatmapHashes
for clarity
2022-06-10 14:03:51 +09:00
Dean Herbert
42cd7d9e6e
Change CollectionManager
to only store MD5 hashes instead of full BeatmapInfo
2022-06-08 18:23:09 +09:00