Commit Graph

62415 Commits

Author SHA1 Message Date
Bartłomiej Dach
320a9fc171
Replace test with better test 2023-09-19 13:47:46 +02:00
sw1tchbl4d3
8f9cde01aa Add test 2023-09-13 13:38:13 +02:00
sw1tchbl4d3
5b2af7f264 Default to none bank if invalid samplebank is specified 2023-09-13 12:44:00 +02:00
Dean Herbert
f90f2491c3
Merge pull request #24792 from bdach/fix-score-v1-multiplier-handling
Fix Score V1 simulation in scoring test scene incorrectly applying multiplier
2023-09-13 13:30:11 +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
Dean Herbert
2bc6759704
Merge pull request #24662 from frenzibyte/stable-spinner-ticks-2
Add two spins gap before awarding bonus score on osu! spinners
2023-09-12 21:39:37 +09:00
Dean Herbert
3aca295aa5
Merge pull request #24790 from bdach/scoring-test-scene-improvements
Improve scoring test scene usability
2023-09-12 21:06:06 +09:00
Dean Herbert
e810abf1e6 Rename variable 2023-09-12 20:51:22 +09:00
Dean Herbert
39d69903ab
Merge branch 'master' into stable-spinner-ticks-2 2023-09-12 20:41:43 +09:00
Dean Herbert
7db4b3e83c
Merge pull request #24661 from frenzibyte/stable-spinner-ticks-1
Update osu! spinner ticks calculation method to better match with osu!(stable)
2023-09-12 20:41:28 +09: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
b1f48ce1a2
Merge pull request #24705 from Givikap120/map_info_on_mod_settings
Add star rating / BPM / difficulty display while mod select is open
2023-09-12 17:51:29 +09:00
Dean Herbert
0d7157f727
Merge branch 'master' into map_info_on_mod_settings 2023-09-12 17:16:47 +09:00
Dean Herbert
e35325c445
Merge pull request #24782 from ItsShamed/overlays/profile/previous-usernames
Integrate past usernames tooltip to user profile overlay
2023-09-12 17:16:36 +09:00
Dean Herbert
7e3652284d Adjust various class naming and add some xmldoc 2023-09-12 17:15:16 +09:00
Dean Herbert
3da30485b2 Move shear spec to correct location 2023-09-12 17:06:45 +09:00
Dean Herbert
e40eaa7377 Improve collapse/expand animations
Especially when on a screen resolution where it would start collapsed.
2023-09-12 17:06:45 +09:00
Dean Herbert
7aaf88ae84
Merge branch 'master' into overlays/profile/previous-usernames 2023-09-12 15:54:41 +09:00
Dean Herbert
23521ad394 Simplify container structure and mention why a zero-size container is being used 2023-09-12 15:53:27 +09:00
Dean Herbert
a6acd00908 Reword inline comment 2023-09-12 15:46:05 +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.
f331f92151
chore: explain f6031bc1 2023-09-11 16:06:06 +02:00
tsrk.
8c989d77bd
revert: use OverlayColourProvider for B6
Refs: 293b81106261b1a3aad47d9461a8ba7f550c8b6
2023-09-11 16:03:15 +02:00
tsrk.
c6e8a77f08
refactor: slightly offset to make it look good 2023-09-11 15:22:23 +02:00
tsrk.
65f3feb044
refactor: remove container position 2023-09-11 15:21:51 +02:00
tsrk.
8c137353b6
feat: integrate previous usernames tooltip to profile overlay 2023-09-11 15:02:19 +02:00
tsrk.
200b3f87ff
fix: adjust values according to osu-web 2023-09-11 14:26:10 +02:00
tsrk.
f6031bc15f
fix: prevent flickering when hovering out 2023-09-11 13:41:32 +02:00
tsrk.
293b811062
feat(OsuColours): add B6 2023-09-11 13:09:49 +02:00
Bartłomiej Dach
eebacfb982
Make mod effect preview uncollapse on hover 2023-09-11 10:59:19 +02:00
Bartłomiej Dach
d51396fdaf
Collapse mod effect preview when it's not wide enough to fit 2023-09-11 10:46:07 +02:00
Dean Herbert
3809a6caad
Merge pull request #24762 from bdach/here-it-goes-here-it-goes-here-it-goes-again
Block input to objects lying under already-hit slider heads before slider is fully judged when classic note lock is active
2023-09-11 17:28:20 +09:00
Bartłomiej Dach
3deb6cb4ec
Fix z-order of mod preview panel 2023-09-11 10:19:02 +02:00
Bartłomiej Dach
0822e8b925
Fix preview panel not being marked nullable 2023-09-11 10:18:37 +02:00
Bartłomiej Dach
f9d4fbee56
Add collapsed state to effect preview panel 2023-09-11 10:16:24 +02:00
Bartłomiej Dach
ff6bf0bc2c
Fix slightly wrong binding setup 2023-09-11 10:16:09 +02:00
Bartłomiej Dach
97665e029b
Remove weird fade 2023-09-11 10:00:44 +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
76bf82d900
Do not show mod effects on free mod select 2023-09-11 09:55:45 +02:00
Bartłomiej Dach
53c30dca64
Fix data flow being sometimes incorrect 2023-09-11 09:53:58 +02:00
Bartłomiej Dach
552230af9d
Refactor layout of display 2023-09-11 09:44:52 +02:00
Bartłomiej Dach
a631fae6df
Add actual testing 2023-09-11 09:19:37 +02:00
Bartłomiej Dach
f591a30ea7
Refactor preview panel to be more self-contained 2023-09-11 09:19:34 +02:00
Bartłomiej Dach
c1a2b86f3f
Extract constants properly 2023-09-11 08:29:37 +02:00