1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 17:27:24 +08:00
osu-lazer/osu.Game.Rulesets.Taiko
Bartłomiej Dach 6d325651dc
Propagate samples to drum roll/swell ticks for correct playback
In d97daee96b, `DrumSampleTriggerSource`
was changed such that in order to play sounds for the user's inputs, the
bank of the normal sound would always be used.

The problem is that in the case of taiko objects which have nested
objects (swells and drum rolls), the samples were not propagated fully
(drum rolls, where only the finish sample was kept, for the purposes of
determining strongability), or not propagated at all (swells) to ticks.

As ticks of both objects are valid return values of
`GetMostValidHitObject()`, this would lead to the drum making no sounds
if the next object was a drum roll or swell, until that drum roll or
swell was completed. To fix, propagate the full set of samples, so that
`DrumSampleTriggerSource` can retrieve the normal sound to copy the bank
from.

Note that this may not necessarily reproduce prior behaviour. This is
because it is not guaranteed that all realised samples for a given
hitobject have the same bank - some may have been overriden locally on a
given hitobject. Previously, the bank would have been retrieved from the
sample control point, wherein there is only one possible bank to use;
however, when deciding the sound to play on the basis of a constructed
hitobject, it is possible that there are cases wherein the hitnormal
sample was overridden on that given hitobject, and in such cases, this
PR would make samples _play_, but not necessarily the _same_ samples
as prior to #23308.

If that turns out to be the case, this will have to be revisited.
2023-05-21 18:57:01 +02:00
..
Beatmaps pass new hitobject properties through beatmap converters 2023-04-30 19:20:42 +02:00
Configuration Removed unnecessary directives that were added automatically and I forgot to remove 2023-01-10 12:44:27 +00:00
Difficulty Removed unnecessary methods, changed tests, and moved LimitedCapacityQueue.cs to a more generic namespace. 2022-11-19 16:53:35 +01:00
Edit Move blueprint validity conditions to allow more correct external usage of EndPlacement 2023-05-12 16:02:22 +09:00
Judgements Fix test, make strong hits have LargeBonus judgement 2022-08-30 15:00:46 +02:00
Mods Limit taiko playfield aspect ratio to 5:4 - 16:9 2023-04-26 18:05:47 +02:00
Objects Propagate samples to drum roll/swell ticks for correct playback 2023-05-21 18:57:01 +02:00
Properties Automated #nullable processing 2022-06-17 16:37:17 +09:00
Replays Use AsNonNull() instead. 2022-07-02 19:48:32 +08:00
Resources Add conversion tests 2023-02-09 23:23:58 +01:00
Scoring Partial everything 2022-11-27 00:00:27 +09:00
Skinning Move judgement text creation to base class and tidy things up 2022-12-24 12:22:36 +08:00
UI Merge remote-tracking branch 'upstream/master' into sample-control-points 2023-04-30 19:47:03 +02:00
osu.Game.Rulesets.Taiko.csproj Update netstandard2.1 references to net6.0 2022-12-16 17:16:13 +09:00
TaikoInputManager.cs Partial everything 2022-11-27 00:00:27 +09:00
TaikoRuleset.cs Initial Taiko single tap implementation (still needs code to allow for Strong hits) 2023-02-27 13:18:08 +00:00
TaikoSettingsSubsection.cs Updated touch control scheme setting capitalization to be consistent with the rest of the settings menu 2023-01-10 11:57:21 +00:00
TaikoSkinComponentLookup.cs Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
TaikoSkinComponents.cs Add legacy taiko kiai glow element 2022-11-30 00:44:20 +01:00