1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-08 12:23:21 +08:00
Commit Graph

666 Commits

Author SHA1 Message Date
Dean Herbert
a6057a9f54
Move absolute scroll support local to carousel and allow custom bindings 2025-01-16 20:47:59 +09:00
Dean Herbert
6027947657
Move animation handling to Carousel implementation to better handle add/removes
With the animation logic being external, it was going to make it very
hard to apply the scroll offset when a new panel is added or removed
before the current selection.

There's no real reason for the animations to be local to beatmap
carousel. If there's a usage in the future where the animation is to
change, we can add more customisation to `Carousel` itself.
2025-01-15 17:01:07 +09:00
Dean Herbert
7e8a80a0e5
Add difficulty, artist and title sort examples
Also:

- Adds hinting at grouping and header status of items
- Passes through criteria and prepare for grouping tests.
- Makes `Filters` list `protected` because naming clash with `Filter()`
  on `BeatmapCarousel`.
2025-01-14 19:52:48 +09:00
Dean Herbert
d97a3270a5
Split out BeatmapCarousel classes and drop V2 suffix 2025-01-14 19:18:02 +09:00
Dean Herbert
ad04681b28
Add scroll position maintaining 2025-01-11 01:43:47 +09:00
Dean Herbert
5e9a7532d3
Add basic implementation of new beatmap carousel 2025-01-11 01:43:47 +09:00
Dean Herbert
b8a10d9b0e
Mark recommendation test as flaky
Will revisit during song select refactoring no doubt.
2025-01-07 17:58:12 +09:00
Dan Balasescu
edbaaa9468
Fix test 2024-12-13 17:41:55 +09:00
Joseph Madamba
f7364de01a
Add test and null protections 2024-12-12 15:23:00 -08:00
Dean Herbert
a868c33380
Remove BeatmapCarousel testing backdoor 2024-12-11 16:28:51 +09:00
Dean Herbert
c94b393e30
Access beatmap store via abstract base class
The intention here is to make things more testable going forward.
Specifically, to remove the "back-door" entrance into `BeatmapCarousel`
where `BeatmapSets` can be set by tests and bypas/block realm retrieval.
2024-12-11 16:28:51 +09:00
Salman Alshamrani
b106833663 Fix more test / component breakage 2024-11-17 20:36:12 -05:00
Salman Alshamrani
caf56afba6 Fix various test failures 2024-11-17 19:13:29 -05:00
Dan Balasescu
06380f91fc
Update test 2024-11-11 16:25:05 +09:00
Dan Balasescu
4d7fd236c5
Make class partial 2024-11-07 17:28:31 +09:00
Dan Balasescu
bd630c189e
Fix tests not working by forgoing beatmap updates 2024-11-07 17:26:10 +09:00
Dan Balasescu
35d004cdc2
Fix intermittent beatmap recommendations test 2024-11-06 21:12:16 +09:00
Bartłomiej Dach
f1842d781e
Decouple AdvancedStats from global mods
Closes https://github.com/ppy/osu/issues/30163.

If I'm to be blunt, the decoupled stuff in song select makes my head
spin. I spent a solid 20 minutes thinking how I was going to fix this
one but then finally realised that generally most of the cause there
was the fact that `AdvancedStats` was seeing the new rulesets *before*
the "ensure global selected mods are valid for current ruleset" logic,
and so decided to just _delay_ that until the decoupled transfer
thingamajig happens.

I was honestly considering combining `BeatmapInfo`, `Ruleset`, and
`Mods` into one property on `AdvancedStats`. I figured I'd rather not
push my luck and try the baseline version first, but I honestly think
that direction is going to be required at some point to properly corral
all of the decoupled madness taking place in song select.
2024-10-10 14:22:16 +02:00
Bartłomiej Dach
23b8354af4
Add more test steps demonstrating another failure case 2024-09-30 08:46:45 +02:00
Bartłomiej Dach
3fac9baa9f
Add test steps demonstrating failure case 2024-09-30 08:46:33 +02:00
Bartłomiej Dach
134bcc85b7
Add failing test case 2024-09-08 16:06:35 +02:00
Dean Herbert
3e3ee3757c
Add failing test case for difficulty splitting 2024-09-07 22:14:02 +09:00
Dean Herbert
e04b5bb3f2
Tidy up test beatmap loading 2024-08-28 23:28:44 +09:00
Dean Herbert
853023dfba
Reduce test filter count expectation by one due to initial filter being implicit 2024-08-28 23:28:44 +09:00
Dean Herbert
9123d2cb7f
Fix multiple test failures 2024-08-28 23:28:43 +09:00
Dean Herbert
dd4a1104e4
Always debounce external Filter requests (except for tests)
The only exception to the rule here was "when screen isn't active apply
without debounce" but I'm not sure we want this. It would cause a
stutter on returning to song select and I'm not even sure this is a
common scenario.

I'd rather remove it and see if someone finds an actual case where this
is an issue.
2024-08-28 19:13:50 +09:00
Dean Herbert
336abadbd1
Allow running initial filter criteria asynchronously
This reverts a portion of https://github.com/ppy/osu/pull/9539.

The rearrangement in `SongSelect` is required to get the initial filter
into `BeatmapCarousel` (and avoid the `FilterChanged` event firing,
causing a delayed/scheduled filter application).
2024-08-28 19:13:50 +09:00
Dean Herbert
2174510544
Move other V2 tests to new test namespace 2024-08-14 15:51:07 +09:00
Joseph Madamba
46d41cb590 Add base song select components test scene 2024-08-13 23:26:17 -07:00
Dean Herbert
14a00621f8
Fix occasional test failures in TestSceneBetmapRecommendations
The game was being constructed befor the API was setup, which could mean
depending on test execution ordering and speed, the recommendations
array would not be filled.

Easy to reproduce by `[Solo]`ing `TestCorrectStarRatingIsUsed`.

See https://github.com/ppy/osu/runs/28689915929#r0s0.
2024-08-13 17:28:16 +09:00
Dean Herbert
9a88281ab0
Merge branch 'master' into footer-v2-integration 2024-07-10 15:33:05 +09:00
Dean Herbert
cd9973b6f9
Merge pull request #28740 from bdach/daily-challenge/better-results
Improve results displays in daily challenge screen
2024-07-10 14:17:21 +09:00
Salman Ahmed
ed1f3a1eb4 Merge branch 'master' into footer-v2-integration 2024-07-09 13:48:40 +03:00
Dean Herbert
e51d510ea3
Add failing test for beatmap set hard deletion 2024-07-08 20:05:17 +09:00
Bartłomiej Dach
5fa586848d
Replace old bad daily challenge leaderboard with new implementation
- Actually shows scores rather than playlist aggregates (which are
  useful... in playlists, where there is more than one item)
- Actually allows scores to be shown by clicking on them
- Doesn't completely break down visually on smaller window sizes

The general appearance is not as polished as the old one in details but
I wanted something quick that we can get out by next weekend.

Also includes the naive method of refetching scores once a new top 50
score is detected. I can add a stagger if required.
2024-07-04 13:52:08 +02:00
Salman Ahmed
467d7c4f54 Refactor game-wide layout order of footer to fix depth issues with overlays and improve UX
With this new order, the logo can be easily moved to display in front of the footer in `SongSelectV2` without breaking experience when footer-based overlays are present. Such overlays (i.e. mod select overlay) will also be dimmed alongside the current screen when a game-wide overlay is open (e.g. settings).
2024-06-30 06:50:36 +03:00
Salman Ahmed
6201220994
Merge branch 'master' into footer-v2-become-global 2024-06-08 14:13:05 +03:00
Salman Ahmed
5f8f6caedd Use OsuGame.SHEAR 2024-06-07 22:45:22 +03:00
Dean Herbert
740a3377fa
Merge branch 'master' into LeaderBoardScore_clean 2024-05-27 17:18:41 +09:00
Joseph Madamba
8e14c24ee3 Follow slanted flow logic precedent in test
See `ModSelectOverlay` components.
2024-05-26 00:24:03 -07:00
Salman Ahmed
91fb5ed749 Move toggle step to SetUpSteps 2024-05-25 17:28:03 +03:00
Salman Ahmed
2c18c10ac8 Move to SelectV2 namespace 2024-05-25 17:20:10 +03:00
Salman Ahmed
d395c85418 Adjust right content width based on scoring mode 2024-05-25 17:16:41 +03:00
Salman Ahmed
5955378004 Replace "X mods" text with a pill indicator 2024-05-25 16:11:24 +03:00
Salman Ahmed
35af518fdb Remove expanded/contracted states and limit to 5 mods
Also adjusts right content width to contain those 5 mods. Not sure how to handle the extra space in the score though...to be dealt with later.
2024-05-25 12:52:48 +03:00
Salman Ahmed
1f01293783 Make scores slanted in test scene 2024-05-25 12:36:09 +03:00
Bartłomiej Dach
63406b6feb
Rewrite implementation 2024-05-24 13:03:42 +02:00
Bartłomiej Dach
9045ec24ab
Rewrite test 2024-05-24 12:04:09 +02:00
Fabian van Oeffelt
abc67ebbac Fix test not running due to floating point number inaccuacy 2024-05-22 13:59:26 +02:00
Dean Herbert
1fdebe94ac
Merge branch 'master' into lazer-speedkeys 2024-05-22 12:05:04 +08:00