1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 05:37:24 +08:00
Commit Graph

125 Commits

Author SHA1 Message Date
Bartłomiej Dach
fff27e619d
Fix slider tail volume not saving
Closes https://github.com/ppy/osu/issues/28587.

As outlined in the issue thread, the tail volume wasn't saving because
it wasn't actually attached to a hitobject properly, and as such the
`LegacyBeatmapEncoder` logic, which is based on hitobjects, did not
pick them up on save.

To fix that, switch to using `NodeSamples` for objects that are
`IHasRepeats`. That has one added complication in that having it work
properly requires changes to the decode side too. That is because the
intent is to allow the user to change the sample settings for each node
(which are specified via `NodeSamples`), as well as "the rest of the
object", which generally means ticks or auxiliary samples like
`sliderslide` (which are specified by `Samples`).

However, up until now, `Samples` always queried the control point
which was _active at the end time of the slider_. This obviously can't
work anymore when converting `NodeSamples` to legacy control points,
because the last node's sample is _also_ at the end time of the slider.
To bypass that, add extra sample points after each node (just out of
reach of the 5ms leniency), which are supposed to control volume of
ticks and/or slides.

Upon testing, this *sort of* has the intended effect in stable, with
the exception of `sliderslide`, which seems to either respect or _not_
respect the relevant volume spec dependent on... not sure what, and not
sure I want to be debugging that. It might be frame alignment, or it
might be the phase of the moon.
2024-06-26 15:52:16 +02:00
Dan Balasescu
0d13848421
Add whitespace to appease R# 2024-05-23 00:21:19 +09:00
Aurelian
f3cae73e2e Added tests for difficulty clamping 2024-05-22 13:26:00 +02:00
Dan Balasescu
26855a2c04
Add failing test 2023-11-28 21:14:34 +09:00
Dan Balasescu
10e16e4b04
Fix handling of combo offset without new combo, and incorrect lazer tests 2023-11-24 09:46:06 +09:00
Dan Balasescu
7bc2d6e6cd
Merge branch 'master' into fix-combo-handling 2023-11-23 16:22:01 +09:00
Dan Balasescu
7998204cfe
Fix combo/combo colouring issues around spinners 2023-11-23 13:54:05 +09:00
Dan Balasescu
cb4568c4a1
Fix first object after break not starting a new combo 2023-11-22 17:22:48 +09:00
cs
fa976a5aa0 Fix code style/quality issues 2023-11-13 08:25:27 +01:00
Thomas Müller-Höhne
926636cc03 Generalize Bezier curves to BSplines of Nth degree 2023-11-11 13:32:53 +01:00
Bartłomiej Dach
59a1915451
Add failing test case for insufficient sample query leniency 2023-10-20 10:25:28 +02:00
Dean Herbert
7220ca34f7
Add failing test coverage of incorrect default preview time 2023-10-10 19:13:16 +09:00
Dean Herbert
aea7f81f1c
Merge pull request #24800 from sw1tchbl4d3r/invalid_bank
Default to normal bank if invalid sample bank is specified
2023-09-19 22:28:34 +09:00
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
Bartłomiej Dach
2bb869732e
Delete outdated warning disables 2023-09-07 18:47:01 +02:00
Dean Herbert
b34a36f6ce Remove all usage of LegacyDifficultyControlPoint 2023-09-07 17:41:57 +09:00
Dean Herbert
298989ffd2 Merge branch 'master' into sample-set-controls 2023-05-24 14:03:04 +09:00
OliBomby
608fa3cc73 Merge remote-tracking branch 'upstream/master' into sample-control-points 2023-04-30 19:47:03 +02:00
OliBomby
c6fc180659 remove all test usages of SampleControlPoint 2023-04-26 14:21:52 +02:00
Haspamelodica
3166f88c17 Removed unneccessary using directive 2023-04-21 10:11:47 +02:00
Haspamelodica
e9fb836e9c Added tests for video backgrounds 2023-04-21 03:24:11 +02:00
Dean Herbert
c35c81293a Add test coverage ensuring images specified as videos are used as background image instead 2023-03-13 18:24:16 +09:00
Dean Herbert
12f240e11a Apply simple NRT changes to touched test scenes 2023-03-13 18:24:16 +09:00
Dean Herbert
1250c1f0c1 Update test assertions to match stable expectations
These changes were taken from https://github.com/ppy/osu/pull/22582.

Minor adjustments were applied to match stable expectations, which is to
say there cannot be an inherited control point with omit barline
specification (in the editor the setting is greyed out when inheritance
is turned on).
2023-02-28 19:28:21 +09:00
Dean Herbert
d9d48516fc Add test coverage of getting last object time 2022-12-01 18:05:15 +09:00
Dean Herbert
ab458320c4 Fix some lingering inspections 2022-11-09 17:46:24 +09:00
Dean Herbert
579d5b51eb Add and consume sample bank constants 2022-10-19 20:47:58 +09:00
Dean Herbert
992441b9de Disable alpha component parsing in beatmap / skin colour sections 2022-09-21 16:11:41 +09:00
Khang
adea29c106 Fix test failures 2022-08-24 03:37:33 -04:00
Khang
c7d4c739aa Add a basic NaN control point test for LegacyBeatmapDecoder 2022-08-24 02:53:55 -04:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dan Balasescu
9259aa94f1 Fix Catmull slider parsing with duplicate initial point 2022-05-24 11:47:42 +09:00
Dan Balasescu
fe49a7e678 Add failing tests 2022-05-18 17:10:19 +09:00
Dan Balasescu
bda3cdc9a7 Add tests 2022-01-28 19:29:30 +09:00
Bartłomiej Dach
7dc3940dee
Add test coverage for preserving legacy beatmap info defaults 2022-01-27 21:49:26 +01:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures enum with struct for storage of arbitrary meter 2022-01-22 20:50:31 +01:00
Dean Herbert
b2d09b7b10 Fix further warnings 2022-01-12 23:42:12 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Dean Herbert
51a353e12d Rename BeatmapInfo.Version to DifficultyName to match underlying interface 2021-11-11 17:20:53 +09:00
Dean Herbert
ed07ee8c61 Update all existing usages of AuthorString/AuthorId
Unfortunately the getters need to be left in place else EF breaks.
2021-11-04 18:59:37 +09:00
Dean Herbert
09f9731d74 Add temporary disable of failing r# inspection 2021-11-04 15:09:04 +09:00
Dean Herbert
aa0762ebe2 Add test coverage for failing slider case 2021-10-26 17:35:03 +09:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Bartłomiej Dach
cd181452be
Add decoding support for SamplesMatchPlaybackRate 2021-09-12 16:45:27 +02:00
Dean Herbert
8ffcea2e51 Remove unnecessary null checks 2021-09-06 21:32:43 +09:00