1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 11:37:28 +08:00
Commit Graph

10421 Commits

Author SHA1 Message Date
Dean Herbert
e1445fcc65 Adjust health display test scene's background colour to better visualise background fill 2023-10-03 17:17:42 +09:00
Salman Ahmed
8d389accf8 Cover "Argon" helath display in skin deserialisation tests 2023-10-01 15:12:24 +03:00
Salman Ahmed
9e2b8254d9 Add argon-specific health display test scene 2023-10-01 13:26:47 +03:00
Salman Ahmed
776536e816 Add "Argon" health display implementation 2023-10-01 00:56:16 +03:00
Salman Ahmed
869f8e5e1b Adjust test scene to apply miss judgements as well 2023-10-01 00:21:24 +03: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
aea7f81f1c
Merge pull request #24800 from sw1tchbl4d3r/invalid_bank
Default to normal bank if invalid sample bank is specified
2023-09-19 22:28:34 +09:00
Bartłomiej Dach
320a9fc171
Replace test with better test 2023-09-19 13:47:46 +02: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
Bartłomiej Dach
0ffb906741
Merge pull request #24831 from peppy/update-deps
Update all dependencies (except for Moq)
2023-09-19 07:50:27 +02:00
Salman Ahmed
8e992de763 Fix crash when loading player instance without exiting previous instance 2023-09-19 05:09:01 +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
a2df123c6d
Add failing test case for fake (but still incorrectly allowed) protocol 2023-09-18 09:19:12 +02:00
Dean Herbert
56b5f52e83 Update all dependencies (except for Moq) 2023-09-16 15:37:31 +09:00
Bartłomiej Dach
45751dd1f2
Minimum viable changes for ruleset-specific scoring test scenes 2023-09-15 12:58:29 +02:00
Bartłomiej Dach
a6fab28461
Merge branch 'master' into no-legacy-difficulty-control-point 2023-09-15 11:14:28 +02:00
Lukynka CZE
2a18f76b02 add visual test 2023-09-14 17:48:10 +02:00
Lukynka CZE
25926af782 add unit test 2023-09-14 17:46:42 +02:00
Bartłomiej Dach
6aff1d4063
Merge branch 'master' into mod-select-difficulty-multiplier-animation 2023-09-14 16:23:30 +02:00
Bartłomiej Dach
44461b4eff
Merge branch 'master' into mod-select-diff-multiplier-visual-matching 2023-09-14 12:12:23 +02:00
Dan Balasescu
753c1c877c Revert masking SSBO changes 2023-09-13 23:10:13 +09:00
sw1tchbl4d3
8f9cde01aa Add test 2023-09-13 13:38:13 +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