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
/RulesetInfo
s
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
Dean Herbert
ff4f40db8a
Merge branch 'master' into carousel-performance-n
2022-01-21 15:27:42 +09:00
Dan Balasescu
c4f24ef96c
Merge pull request #16542 from peppy/carousel-search-performance-less-simple
...
Avoid performing full filter when updating carousel beatmap sets
2022-01-21 15:05:30 +09:00
Dean Herbert
bed7b69464
Apply NRT to CarouselGroup
2022-01-21 13:26:29 +09:00
Dean Herbert
5b24800b0e
Avoid applying filter in UpdateBeatmapSet
flow
2022-01-21 13:26:25 +09:00
Dean Herbert
45bf35c425
Avoid performing keyword filtering at song select unless keywords are specified
2022-01-21 12:26:24 +09:00
Dean Herbert
ba31ddee01
Revert beatmapSets
reference to fix tests
...
New version changed order.
2022-01-21 00:34:12 +09:00
Dean Herbert
80f3a67876
Use for
instead of foreach
to avoid enumerator overhead
2022-01-20 22:21:00 +09:00
Dean Herbert
0b93f3c88f
Add <Guid,CarouselBeatmapSet>
dictionary to speed up update operations in carousel
2022-01-20 22:12:49 +09:00
Dean Herbert
9a864267d2
Fix CarouselGroupEagerSelect
not invoking subclassed AddChild
from AddChildren
calls
2022-01-20 21:57:16 +09:00
Dean Herbert
a8ce2c5edf
Detach before sending BeatmapSetInfo
to any handling method
2022-01-20 21:14:10 +09:00
Dean Herbert
b1cf3befa6
Fix incorrect query in comment
2022-01-20 18:36:20 +09:00
Dean Herbert
3ba712703b
Add a note about hidden beatmap check
2022-01-20 17:50:17 +09:00
Dean Herbert
1dabf6c8a5
Fix BeatmapCarousel
signalling it is finished loading before catching up on realm changes
2022-01-20 16:39:42 +09:00
Dean Herbert
6c46fd6931
Fix some failing tests due to realm beatmaps overwriting test beatmaps
2022-01-20 00:19:16 +09:00
Dean Herbert
2789986699
Use asynchronous loading for beatmap carousel again
2022-01-19 18:15:43 +09:00
Dean Herbert
200fcb6f83
Detach beatmap set before checking hidden state
2022-01-19 16:59:49 +09:00
Dan Balasescu
581873f944
Merge pull request #16497 from peppy/top-local-rank-optimisation
...
Rewrite `TopLocalRank` to use realm subscriptions
2022-01-19 14:22:12 +09:00
Dean Herbert
9be5bf38c6
Simplify binding/invalidation in TopLocalRank
2022-01-19 13:20:52 +09:00
Dean Herbert
7f65f3a47f
Remove all usage of BaseDifficulty
(and access Difficulty
instead)
2022-01-18 22:57:39 +09:00
Dean Herbert
f5b8653491
Add spaces to query string
2022-01-18 19:28:09 +09:00
Dean Herbert
27ea37c690
Rewrite TopLocalRank
to use realm subscriptions
...
This addresses the number one performance concern with realm (when
entering song select). Previous logic was causing instantiation and
property reads of every score in the database due to the `AsEnumerable`
specfication.
2022-01-18 18:17:53 +09:00