1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 06:52:56 +08:00
Commit Graph

62584 Commits

Author SHA1 Message Date
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