Commit Graph

306 Commits

Author SHA1 Message Date
Dan Balasescu 58354e3e68
Fix another test
The last two PRs didn't interact well together.
2024-08-13 17:18:11 +09:00
clayton 2233602184
Update mania replay decode test to include 18K keypress 2024-08-11 09:45:42 -07:00
Dean Herbert 2114f092c7
Add failing test coverage showing coordinate truncation 2024-08-09 16:34:39 +09:00
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 655b0f5343
Merge branch 'master' into negative-frame-handling 2024-05-29 13:14:59 +09: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
Bartłomiej Dach c9414da5d4
Merge branch 'master' into pre-mod-multiplier-score 2024-05-08 13:39:44 +02:00
Bartłomiej Dach 7551cf01d1
Fix test failure 2024-05-08 09:45:52 +02:00
Bartłomiej Dach 554ead0d9d
Decode user ID from score if available 2024-05-06 12:28:13 +02:00
Bartłomiej Dach 1eac34667d
Fix test failure 2024-05-02 08:02:55 +02:00
Salman Ahmed eb45a406e1 Add failing test case 2024-05-01 23:00:24 +03:00
Dean Herbert 19897c4c07
Add testing for actual presence of video after encode-decode 2024-04-30 00:50:40 +08:00
Dean Herbert fd3f4a9e7b
Preserve storyboard events when saving a beatmap in the editor
Until we have full encoding support for storyboards, this stop-gap
measure ensures that storyboards don't just disappear from existence.
2024-04-30 00:01:56 +08:00
Bartłomiej Dach 2f1a4cdaa4
Export and import `TotalScoreWithoutMods` to replays (or recalculate if it missing) 2024-04-17 09:08:15 +02:00
Bartłomiej Dach 5f7028b574
Add failing tests 2024-03-21 20:57:04 +01:00
Bartłomiej Dach c47463ee0e
Merge branch 'master' into negative-frame-handling 2024-03-21 16:45:35 +01:00
Dan Balasescu 6e33509417
Remove added property, use local decoding instead 2024-03-19 17:44:37 +09:00
Dan Balasescu af713a7869
Fix incorrectly encoded score IsPerfect value 2024-03-19 17:20:59 +09:00
Bartłomiej Dach af2b80e030
Add failing encode test 2024-03-04 11:48:49 +01:00
Bartłomiej Dach d53fb5a165
Update assertions to match expected behaviour 2024-01-22 20:52:54 +01:00
Bartłomiej Dach 3f31593a19
Add another failing tests covering recomputation of ranks 2024-01-22 20:01:18 +01:00
Bartłomiej Dach 81a02665b6
Adjust existing test to fail 2024-01-22 20:00:00 +01:00
Dean Herbert bb1eab5844
Update test in line with new rank definitions always being applied 2024-01-22 21:43:32 +09:00
Bartłomiej Dach 1075b87fb8
Add failing test coverage 2024-01-16 22:38:52 +01:00
Bartłomiej Dach 5ff95db02c
Add test coverage of `ClientVersion` serialisation 2023-12-21 13:06:42 +01: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
Dean Herbert 9c3f9db318
Add failing test coverage of BSpline encoding parse failure 2023-11-21 15:38:12 +09:00
Bartłomiej Dach b6e3e42445
Merge branch 'master' into bspline-sliders 2023-11-20 12:03:29 +09:00
Dean Herbert b88e3cd26f
Change `ResourceStore` provided to `Skin` to be a fallback, not replacement 2023-11-16 20:19:01 +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 2f9b50172e
Add failing test coverage for video events affecting storyboard time bounds 2023-10-27 22:09:33 +02:00
Bartłomiej Dach dbb69419e6
Add test coverage for parsing new online ID 2023-10-26 12:39:07 +02:00
Bartłomiej Dach ca4b09f8ef
Merge branch 'master' into score-encoding-cleanup 2023-10-26 09:04:05 +02:00
Bartłomiej Dach 59a1915451
Add failing test case for insufficient sample query leniency 2023-10-20 10:25:28 +02:00
Bartłomiej Dach bfcb4f4f2d
Add failing test for legacy online ID decoding 2023-10-16 11:20:02 +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
Liam DeVoe 61760f614a fix legacy score decode tests for negative frame 2023-07-27 16:34:18 -04:00
Dean Herbert 0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert a842f79ad4 Refactor `IWorkingBeatmap.Background` to `GetBackground()` 2023-06-08 16:19:32 +09:00