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
Joseph Madamba
5ee412cc9a
Use @2x
variant of profile badges
2023-09-06 16:17:53 -07: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
Joseph Madamba
3f92dae55c
Move star rating display and status pill out of reloadable content
2023-09-05 15:20:20 -07:00
Joseph Madamba
676240928e
Move actual star updating to star rating display
2023-09-05 14:57:55 -07:00
Dean Herbert
02fefff5e7
Add better testing of options popover
2023-09-05 16:44:46 +09:00
Dean Herbert
340edf68d3
Fix test scene not updating all star counters
2023-09-05 15:59:00 +09:00
Joseph Madamba
9451613391
Rename null beatmap test to indicate there's a background
2023-09-04 21:39:41 -07:00
Joseph Madamba
854bb323cc
Remove weird red edge effect visibility
2023-09-04 21:21:55 -07:00
Joseph Madamba
e0a9c7e9a9
Fix wedge showing abruptly in test
2023-09-04 14:54:58 -07:00
Joseph Madamba
2df2002735
Move negative corner radius margin to constructor
2023-09-04 12:42:01 -07:00
Joseph Madamba
2fbd67cf26
Merge branch 'master' into beatmap_wedge_clean_ii
2023-09-04 11:24:20 -07:00
Joseph Madamba
5abf271b56
Implement beatmap options popover
2023-09-04 00:53:09 -07:00
Magnus-Cosmos
ae9c901b94
Fix BeatmapInfoWedge
tests failing due to BPM
2023-09-03 01:45:22 -04:00
Bartłomiej Dach
118c86df34
Fix TestSceneUpdateBeatmapSetButton
using random difficulty count
2023-08-28 14:57:00 +02:00
Bartłomiej Dach
6251803868
Add failing test coverage of selection not being retained on song select
2023-08-28 10:05:59 +02:00
Bartłomiej Dach
3a6920c306
Add failing test coverage of beatmap update flow w/ split diffs
2023-08-28 09:51:44 +02:00
Dean Herbert
84f4fab9cf
Adjust test to actually test diff splitting
2023-08-25 18:09:51 +09:00
Dean Herbert
b471ab07a6
Fix typo in test step
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-24 18:30:59 +09:00
Dean Herbert
ba70d48d2c
Fix one more test probably going off-screen
2023-08-24 13:31:33 +09:00
Dean Herbert
4881130cae
Limit set/diff count in test to better fit on screen
2023-08-24 03:32:12 +09:00
Dean Herbert
5eac604f8b
Add coverage of selection retention when difficulties are split out
2023-08-23 19:44:42 +09:00
Dean Herbert
a64381f855
Add test coverage of add/remove when difficulties are split out
2023-08-23 19:43:08 +09:00
Dean Herbert
5555f73e97
Update test to match new behaviour
2023-08-23 19:38:18 +09:00
Dean Herbert
e7d61e0002
Fix star fountain directions not matching stable
2023-08-21 17:59:24 +09:00
Bartłomiej Dach
90bef267c8
Merge pull request #24581 from OliBomby/fix-segment-ends
...
Fix `SliderPath.GetSegmentEnds`
2023-08-21 09:29:13 +02:00
Bartłomiej Dach
479c463751
Explain why segment end positions are not recovered in test
2023-08-21 08:29:51 +02:00
Bartłomiej Dach
3d52a1267e
Fix test failures via test-local popover containers
2023-08-19 15:08:30 +02:00
Bartłomiej Dach
2b09594823
Use nunit constraints in test for better debug experience
2023-08-19 14:33:26 +02:00
OliBomby
fbf4d3ac81
Add test
2023-08-18 12:36:34 +02:00