1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 13:22:55 +08:00
Commit Graph

8217 Commits

Author SHA1 Message Date
Bartłomiej Dach
12585c9f27
Fix flaky editor beatmap creation test
Came up as a failure when locally running tests for
ppy/osu-framework#6001 - but the test is actually a previously-known
flaky that I couldn't reproduce the failure of until the aforementioned
PR.

This appears to be a simple race; the test scene queries the track
length from update thread, but the length is actually set on the audio
thread. So it's not unreasonable that given unlucky timing, the length
will not be set by `TrackBass` before it is queried.

To fix, switch assert to until step. I'm generally not really willing
to give this more time of day until this change is proven insufficient.
2023-09-26 16:42:59 +02:00
Dean Herbert
40a548d372 Adjust new test scene to not be super broken 2023-09-26 17:30:49 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions 2023-09-26 16:40:32 +09:00
Dean Herbert
b1561b650f Rename test scene, add xmldoc and increase scale factor to something absurdly high 2023-09-26 16:39:36 +09:00
Bartłomiej Dach
e45d456324
Fix TestFriendScore intermittently failing due to randomness
If `createRandomScore()` happened to randomly pick the highest total
score when called with `friend` as the sole argument, that particular
score would not be pink.

`GetScoreByUsername()` would arbitrarily pick the first score for the
user, so in this particular case where a friend had the number 1 score,
the test would wrongly fail.

Fix by checking whether any of the 3 added friend scores have received
the pink colour. Because there is more than 1 friend score in the test,
doing so ensures that at least one of those should eventually become
pink (because, obviously, you can't have two scores at number 1).
2023-09-21 21:12:44 +02:00
Bartłomiej Dach
9301a1907a
Rewrite TestFriendScore assertions to constraint model
Allows to clearly see what the failure is:

	TearDown : System.TimeoutException : "friend score is pink" timed out: Expected: some item equal to "#FF549A"
	  But was:  < "#FFFFFF", "#7FCC33", "#444444" >

The #7FCC33 colour is used for the first score on the leaderboard.
2023-09-21 21:05:41 +02:00
Bartłomiej Dach
d73f06fc89
Add test coverage for delete hotkey 2023-09-21 20:01:59 +02:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv 2023-09-21 09:13:27 +02:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv 2023-09-20 14:23:07 +09:00
Dean Herbert
1927b524db
Merge branch 'master' into leaderboard-friend-highlight 2023-09-20 14:14:08 +09:00
Dean Herbert
1316403180 Fix inspection in new test scene 2023-09-20 13:02:40 +09:00
Dean Herbert
067c487b21
Merge pull request #24450 from cdwcgt/missing-beatmap
Fetch missing beatmap when importing replay
2023-09-19 18:40:02 +09:00
Dean Herbert
f726c38215 Pass ArchiveReader instead of Stream to simplify resolution code 2023-09-19 17:49:15 +09:00
Salman Ahmed
8e992de763 Fix crash when loading player instance without exiting previous instance 2023-09-19 05:09:01 +03:00
Salman Ahmed
a373d71b3e Add basic test scene upscaling all skin elements 2023-09-19 03:40:31 +03:00
Salman Ahmed
57dc76b345 Revert "Update GetTexture signature rather than creating new overload"
This reverts commit 96f12cfbaa.
2023-09-19 03:21:19 +03:00
Bartłomiej Dach
775f96f061
Add very basic visual tests for missing beatmap notification
The full-stack test using the whole 9 `OsuGameTest` yards is unusable
for rapid development. I don't really get how you could ever design
anything using it without tossing your computer out the window.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
06d1a2a316
Merge branch 'beatmap-card-nano' into missing-beatmap 2023-09-18 14:56:06 +02:00
Dean Herbert
f3b6aa5435
Merge pull request #24821 from bdach/scoring-test-scene-osu
Refactor scoring test scene for ruleset extensibility (and move existing instance to osu! ruleset project)
2023-09-18 19:54:14 +09:00
Bartłomiej Dach
5c2413c06b
Implement nano beatmap card 2023-09-18 11:30:14 +02:00
Bartłomiej Dach
3709861132
Merge pull request #24814 from LukynkaCZE/parse-only-supported-char-uris
Parse only supported schemes as URIs
2023-09-18 10:20:09 +02:00
Bartłomiej Dach
45751dd1f2
Minimum viable changes for ruleset-specific scoring test scenes 2023-09-15 12:58:29 +02:00
Lukynka CZE
2a18f76b02 add visual test 2023-09-14 17:48:10 +02:00
Dean Herbert
32946413de Change display text from "difficulty" to "score" multiplier 2023-09-13 20:01:19 +09:00
Dean Herbert
35840bf671 Combine ModCounterDisplay and DifficultyMultiplierDisplay into one class 2023-09-13 18:51:56 +09:00
Bartłomiej Dach
7c65a9de75
Fix Score V1 simulation in scoring test scene incorrectly applying multiplier
`TestSceneScoring` included a local simulation of stable's Score V1
algorithm. One of the parts of said algorithm is a mysterious
"score multiplier", influenced by - among others - the beatmap's drain
rate, overall difficulty, circle size, object count, drain length,
and active mods. (An implementation of this already exists in lazer
source, in `OsuLegacyScoreSimulator`, but more on this later.)

However, `TestSceneScoring` had this multiplier in _two_ places, with
_two_ distinct values, one of which being 1 (i.e. basically off).
Unfortunately, the place that had 1 as the multiplier was the wrong one.

Stable calculates the score increase for every hit in two stages;
first, it takes the raw numerical value of the judgement, but then
applies a combo-based bonus on top of it:

    scoreIncrease += (int)(Math.Max(0, ComboCounter.HitCombo - 1) * (scoreIncrease / 25 * ScoreMultiplier));

On the face of it, it may appear that the `ScoreMultiplier` factor
can be factored out and applied at the end only when returning total
score. However, once the above formula is rewritten as:

    scoreIncrease = scoreIncrease + (int)(Math.Max(0, ComboCounter.HitCombo - 1) * (scoreIncrease / 25 * ScoreMultiplier));
                  = scoreIncrease * (1 + (Math.Max(0, ComboCounter.HitCombo - 1) / 25 * ScoreMultiplier))

it becomes clear that that assumption is actually _incorrect_,
and the `ScoreMultiplier` _must_ be applied to every score increase
individually.

The above was cross-checked experimentally against stable source
on an example test map with 100 objects, and a replay hitting them
perfectly.
2023-09-12 21:33:26 +02:00
Bartłomiej Dach
3981e2e957
Only show visible graph values in tooltip 2023-09-12 13:29:02 +02:00
Bartłomiej Dach
15708ee465
Add toggle for showing relative/absolute score values 2023-09-12 13:27:40 +02:00
Bartłomiej Dach
607ceeccb9
Persist visibility state of graphs 2023-09-12 12:19:50 +02:00
Bartłomiej Dach
3cf8082aa7
Add capability to toggle visibility of graph 2023-09-12 12:07:12 +02:00
Bartłomiej Dach
95d15a703e
Improve legibility of scoring test scene
- Add black background to avoid clashes with background images.
- Use sorta-tetradic colours for the four plots.
2023-09-12 11:36:41 +02:00
Dean Herbert
0d7157f727
Merge branch 'master' into map_info_on_mod_settings 2023-09-12 17:16:47 +09:00
Dean Herbert
7e3652284d Adjust various class naming and add some xmldoc 2023-09-12 17:15:16 +09:00
Dean Herbert
b4bedee49e Adjust naming of component to give more context 2023-09-12 15:43:59 +09:00
tsrk.
dbc07bc6dc
fix: provide OverlayColourProvider as a dep in tests 2023-09-12 01:34:17 +02:00
Bartłomiej Dach
824416067e
Fix test failure 2023-09-11 20:53:17 +02:00
tsrk.
8c137353b6
feat: integrate previous usernames tooltip to profile overlay 2023-09-11 15:02:19 +02:00
Bartłomiej Dach
f9d4fbee56
Add collapsed state to effect preview panel 2023-09-11 10:16:24 +02:00
Bartłomiej Dach
589f56d20c
Merge branch 'master' into map_info_on_mod_settings 2023-09-11 09:55:54 +02:00
Bartłomiej Dach
53c30dca64
Fix data flow being sometimes incorrect 2023-09-11 09:53:58 +02:00
Bartłomiej Dach
a631fae6df
Add actual testing 2023-09-11 09:19:37 +02:00
Dean Herbert
87ec33bb66 Tidy up test 2023-09-07 14:50:22 +09:00
Joseph Madamba
5ee412cc9a
Use @2x variant of profile badges 2023-09-06 16:17:53 -07:00
cdwcgt
68752f95e5
color friend score to pink 2023-09-06 22:58:03 +09:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Bartłomiej Dach
eddb879973
Merge pull request #24722 from peppy/beatmap-status-pill-animation
Add animation support for beatmap status pills
2023-09-06 09:59:21 +02:00
Bartłomiej Dach
b5e812eb3e
Merge pull request #24723 from bdach/beatmap-carousel-split-missing-status
Fix status on carousel beatmap set not showing in split difficulty mode
2023-09-06 09:35:38 +02:00
Bartłomiej Dach
b884f1af4a
Assign random statuses to beatmap sets in carousel test
Just to have visual coverage of the statuses before fixing them not
propagating to split difficulty mode.
2023-09-06 08:25:07 +02:00
Dean Herbert
dded7fe6ca
Merge branch 'master' into beatmap-options-popover 2023-09-06 15:16:34 +09:00
Dean Herbert
034c887dcb Add animation support for beatmap status pills
To be used in conjunction with https://github.com/ppy/osu/pull/22116
2023-09-06 15:04:25 +09:00