Lukynka CZE
25926af782
add unit test
2023-09-14 17:46:42 +02:00
Lukynka CZE
66751ef5bb
add regex
2023-09-14 17:46:29 +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
bb32368426
Merge pull request #24801 from peppy/mod-select-diff-multiplier-visual-matching
...
Simplify multiplier display implementation
2023-09-14 16:22:46 +02:00
Dean Herbert
57f32b177d
Fix incorrect handling of non-MemoryStream
pathway
2023-09-14 22:19:18 +09:00
Bartłomiej Dach
94cdcfd7ce
Move collapsed bindable back to BeatmapAttributesDisplay
for now
...
Better to have it only in one place that needs it, rather than have it
not work as expected when someone inherits
`ModFooterInformationDisplay`.
2023-09-14 14:56:58 +02:00
Bartłomiej Dach
44461b4eff
Merge branch 'master' into mod-select-diff-multiplier-visual-matching
2023-09-14 12:12:23 +02:00
Bartłomiej Dach
5bda9a3024
Merge pull request #24799 from peppy/move-mod-select-diff-multiplier
...
Move mod overlay difficulty multiplier display to bottom of screen
2023-09-14 12:11:50 +02:00
Bartłomiej Dach
3f7b8dbe58
Merge branch 'master' into move-mod-select-diff-multiplier
2023-09-14 11:26:22 +02:00
Bartłomiej Dach
25dbd0a1d3
Rename variable to reflect new "beatmap attributes display" naming
2023-09-14 11:24:53 +02:00
Bartłomiej Dach
2d3be819d0
Merge pull request #24796 from peppy/collapse-preset-column
...
Collapse mod presets column slightly when not in use
2023-09-14 11:07:36 +02:00
Dean Herbert
cf9ca60b09
Change slider body to not animate snaking until head circle is (successfully) hit
2023-09-14 17:49:41 +09:00
Dean Herbert
ec82414090
Allow testing hitting sliders are certain points in tests
2023-09-14 17:49:41 +09:00
Dean Herbert
1ef0c92962
Inverse snaking toggle
2023-09-14 17:49:41 +09:00
Dean Herbert
e3e7a81ad9
Remove slider head circle movement (and remove setting from "classic" mod)
2023-09-14 17:49:41 +09:00
Dean Herbert
46126719eb
Fix slider tests not correctly passing slider velocity to slideres
2023-09-14 17:49:41 +09:00
Bartłomiej Dach
18672e178f
Merge pull request #24795 from peppy/fix-mod-rate-adjust-tooltip-x
...
Fix rate adjust mods not showing "x" prefix on customisation slider's tooltip
2023-09-14 10:18:32 +02:00
Dean Herbert
900376b662
Refactor storyboard resource lookup to be more streamlined
2023-09-14 16:15:50 +09:00
Bartłomiej Dach
4c9c118af3
Merge pull request #24805 from smoogipoo/revert-masking-ssbo
...
Revert masking SSBO changes
2023-09-14 09:09:28 +02:00
Bartłomiej Dach
68323671ec
Update framework and resources
2023-09-14 08:24:18 +02:00
Dean Herbert
7bf0a22112
Improve flash effect
2023-09-14 13:57:56 +09:00
Dean Herbert
364094fcf2
Inline all archive reader pathing
2023-09-14 13:38:23 +09:00
Dean Herbert
541cd972e1
Rename ArchiveReader
implementations to read better
2023-09-14 13:36:07 +09:00
Dean Herbert
0657b55196
Avoid MemoryStream.ToArray
overhead in LegacyByteArrayReader
2023-09-14 13:33:25 +09:00
Dean Herbert
b5902a8736
Avoid MemoryStream
overhead for incoming non-MemoryStream
in ImportTask
2023-09-14 13:29:29 +09: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
3e1388c73f
Add vertical animation when difficulty multiplier is changed
2023-09-13 19:57:48 +09:00
Dean Herbert
824a3e4adc
Update DifficultyMultiplierDisplay
to use new shared design
2023-09-13 19:56:31 +09:00
sw1tchbl4d3
5b2af7f264
Default to none bank if invalid samplebank is specified
2023-09-13 12:44:00 +02:00
Dean Herbert
46d5aa59bf
Split base design out of BeatmapAttributesDisplay
2023-09-13 19:33:30 +09:00
Dean Herbert
9a7d1ed98b
Tidy up DifficultyMultiplierDisplay
2023-09-13 18:55:17 +09:00
Dean Herbert
35840bf671
Combine ModCounterDisplay
and DifficultyMultiplierDisplay
into one class
2023-09-13 18:51:56 +09:00
Dean Herbert
491d94c5ac
Use local shear definition
2023-09-13 18:51:50 +09:00
Dean Herbert
41b0619533
Fix shear being included on wrong side of ModCounterDisplay
2023-09-13 18:19:42 +09:00
Dean Herbert
923c2a16ed
Fix weird centering of multiplier "x"
2023-09-13 18:11:16 +09:00
Dean Herbert
21252c1c23
Fix animations
2023-09-13 18:06:50 +09:00
Dean Herbert
e241e41f2a
Fix layout decision to account for new multiplier addition
2023-09-13 17:55:21 +09:00
Dean Herbert
49114430ed
Move multiplier display to bottom of sceen to make visible while customising
2023-09-13 17:43:55 +09:00
Dean Herbert
be373391f8
Simplify multiplier display implementation
2023-09-13 17:43:41 +09:00
Dean Herbert
f5cee22db7
Collapse mod presets column slightly when not in use
2023-09-13 17:05:42 +09:00
Dean Herbert
d146da9546
Fix rate adjust mods not showing "x" prefix on customisation slider's tooltip
2023-09-13 16:43:48 +09: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