Bartłomiej Dach
8b5a851f31
Merge branch 'master' into scoring-test-scene-catch
2023-09-18 15:15:03 +02:00
Dean Herbert
163b6df357
Merge pull request #24846 from bdach/get-reader-regression
...
Fix `MemoryStreamArchiveReader.GetStream()` failing in some cases
2023-09-18 22:06:33 +09:00
Dean Herbert
18c18fef22
Merge pull request #24822 from bdach/scoring-test-scene-taiko
...
Add scoring test scene for taiko
2023-09-18 21:04:40 +09:00
Dean Herbert
41f2644713
Merge branch 'master' into scoring-test-scene-taiko
2023-09-18 19:55:05 +09: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
Dean Herbert
4a00795fc5
Merge pull request #24845 from bdach/beatmap-card-nano
...
Implement nano beatmap card
2023-09-18 19:08:27 +09:00
Bartłomiej Dach
e57d7d1205
Fix MemoryStreamArchiveReader.GetStream()
failing in some cases
...
`MemoryStreamArchiveReader` introduced in
0657b55196
would previously use
`MemoryStream.GetBuffer()` to retrieve the underlying byte buffer with
stream data. However, this is not generally the method you would want,
for two reasons:
1. It can fail if the stream wasn't created in the way that supports it.
2. As per
https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.getbuffer?view=net-7.0#system-io-memorystream-getbuffer ,
it will return the _raw_ contents of the buffer, including
potentially unused bytes.
To fix, use `MemoryStream.ToArray()` instead, which avoids both
pitfalls. Notably, `ToArray()` always returns the full contents of the
buffer, regardless of `Position`, as documented in:
https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.toarray?view=net-7.0#system-io-memorystream-toarray
2023-09-18 11:50:36 +02:00
Bartłomiej Dach
5c2413c06b
Implement nano beatmap card
2023-09-18 11:30:14 +02:00
Bartłomiej Dach
0985bb0577
Merge pull request #24739 from peppy/fix-slider-tick-misssing
...
Fix sliders not always being the correct length
2023-09-18 10:21:50 +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
d3cc6dbaa0
Fix link protocol allowlist allowing too much
2023-09-18 09:20:24 +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
5eebc879d1
Merge pull request #24828 from Joehuu/fix-dummy-ar5
...
Fix dummy beatmap showing AR 5 on song select
2023-09-16 15:01:47 +09:00
Joseph Madamba
c2685da94c
Fix dummy beatmap showing AR 5 on song select
2023-09-15 20:26:17 -07:00
Bartłomiej Dach
aa8aa14a57
Add catch scoring algorithms to test scene
2023-09-15 12:58:29 +02:00
Bartłomiej Dach
c6445a327b
Add taiko scoring test scene
2023-09-15 12:58:29 +02:00
Bartłomiej Dach
ebdc501e5b
Add example scenarios and configurable score multiplier
2023-09-15 12:58:29 +02:00
Bartłomiej Dach
5eccc771c2
Turn off non-perfect judgements for catch scoring test scene
2023-09-15 12:58:29 +02:00
Bartłomiej Dach
0c22ff2a80
Refactor further to allow extensibility to other rulesets
2023-09-15 12:58:29 +02:00
Bartłomiej Dach
27b6bc3062
Add skeleton of catch scoring test
2023-09-15 12:58:29 +02: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
5c6cd879dd
Adjust slider calculations to new method API
...
Code originally read
Velocity = scoringDistance / beatLength
= BASE_SCORING_DISTANCE * SliderMultiplier * GetPrecisionAdjustedSliderVelocityMultiplier() / beatLength
Given (mathematically, floats are not generally as forgiving):
GetPrecisionAdjustedBeatLength() = beatLength / GetPrecisionAdjustedSliderVelocityMultiplier()
it follows that (inverting both sides):
1 / GetPrecisionAdjustedBeatLength() = GetPrecisionAdjustedSliderVelocityMultiplier() / beatLength
and therefore
Velocity = BASE_SCORING_DISTANCE * SliderMultiplier * GetPrecisionAdjustedSliderVelocityMultiplier() / beatLength
= BASE_SCORING_DISTANCE * SliderMultiplier / GetPrecisionAdjustedBeatLength()
and to recover `scoringDistance`
scoringDistance = Velocity * beatLength
2023-09-15 12:30:25 +02:00
Bartłomiej Dach
4275af1343
Merge branch 'master' into fix-slider-tick-misssing
2023-09-15 12:09:54 +02:00
Bartłomiej Dach
86c46a5b3f
Manually reorder objects in expected mapping
...
The test added in 64baa4d01a
was
previously failing despite applying a fix. This was caused by the fact
that in stable, the last `sliderScoreTimingPoint` (i.e. the
`LegacyLastTick` is pulled back by 36ms, but the list of all of them
is not re-sorted afterwards, causing objects to be exported in
non-chronological order to the resultant conversion mapping.
lazer correctly sorts the objects, causing a false positive.
2023-09-15 12:07:59 +02:00
Bartłomiej Dach
1ae8665a08
Merge pull request #24738 from peppy/no-legacy-difficulty-control-point
...
Remove `LegacyDifficultyControlPoint` / `LegacyBpmMultiplier`
2023-09-15 12:01:56 +02:00
Bartłomiej Dach
a6fab28461
Merge branch 'master' into no-legacy-difficulty-control-point
2023-09-15 11:14:28 +02:00
Dean Herbert
56cc2b62f0
Make not extension method
2023-09-15 18:13:04 +09:00
Dean Herbert
0031da76ff
Move to extension method and throw on non-legacy ruleset
2023-09-15 17:38:34 +09:00
Bartłomiej Dach
b2b18092cf
Merge pull request #24807 from peppy/import-task-improve
...
Clean up `ImportTask` / `ArchiveReader` implementations
2023-09-14 20:24:32 +02:00
Bartłomiej Dach
9b391cd661
Merge branch 'master' into import-task-improve
2023-09-14 19:37:01 +02:00
Bartłomiej Dach
c8b18acd4d
Bring back disposal of stream after copy-out to MemoryStream
...
Was there in previous code and got removed in the refactor. I'd rather
have it than not.
2023-09-14 19:36:35 +02:00
Bartłomiej Dach
f7156599a6
Merge pull request #24802 from peppy/mod-select-difficulty-multiplier-animation
...
Rename "difficulty multiplier" to "score multiplier" and add more animation hinting
2023-09-14 19:21:20 +02:00
Lukynka CZE
9b8fdcbcdc
somehow accidentally removed backslashes
2023-09-14 17:55:53 +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
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
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
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