mirror of
https://github.com/ppy/osu.git
synced 2025-03-11 04:17:18 +08:00
Fix incorrect snapping behaviour when previous object is not snapped to beat
This commit is contained in:
parent
2d6f64e891
commit
731f100aaf
@ -76,6 +76,8 @@ namespace osu.Game.Rulesets.Edit
|
||||
/// <item>the beatmap's <see cref="IBeatmapDifficultyInfo.SliderMultiplier"/>,</item>,
|
||||
/// <item>the current beat divisor.</item>
|
||||
/// </list>
|
||||
/// Note that the returned value does <b>NOT</b> depend on <see cref="DistanceSpacingMultiplier"/>;
|
||||
/// consumers are expected to include that multiplier as they see fit.
|
||||
/// </summary>
|
||||
float FindSnappedDistance(float distance, double snapReferenceTime, IHasSliderVelocity? withVelocity = null);
|
||||
}
|
||||
|
@ -56,7 +56,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
||||
// Picture the scenario where the user has just placed an object on a 1/2 snap, then changes to
|
||||
// 1/3 snap and expects to be able to place the next object on a valid 1/3 snap, regardless of the
|
||||
// fact that the 1/2 snap reference object is not valid for 1/3 snapping.
|
||||
float offset = SnapProvider.FindSnappedDistance(0, StartTime, SliderVelocitySource);
|
||||
float offset = (float)(SnapProvider.FindSnappedDistance(0, StartTime, SliderVelocitySource) * DistanceSpacingMultiplier.Value);
|
||||
|
||||
for (int i = 0; i < requiredCircles; i++)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user