mirror of
https://github.com/ppy/osu.git
synced 2025-02-24 03:42:55 +08:00
Fix distance snap grid line opacity being incorrect on non-1.0x velocities
Noticed in passing.
This commit is contained in:
parent
8423d9de9b
commit
2b4b21beb6
@ -63,7 +63,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
|||||||
const float thickness = 4;
|
const float thickness = 4;
|
||||||
float diameter = (offset + (i + 1) * DistanceBetweenTicks + thickness / 2) * 2;
|
float diameter = (offset + (i + 1) * DistanceBetweenTicks + thickness / 2) * 2;
|
||||||
|
|
||||||
AddInternal(new Ring(StartTime, GetColourForIndexFromPlacement(i))
|
AddInternal(new Ring(StartTime, GetColourForIndexFromPlacement(i), SliderVelocitySource)
|
||||||
{
|
{
|
||||||
Position = StartPosition,
|
Position = StartPosition,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
@ -128,12 +128,14 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
|||||||
private EditorClock? editorClock { get; set; }
|
private EditorClock? editorClock { get; set; }
|
||||||
|
|
||||||
private readonly double startTime;
|
private readonly double startTime;
|
||||||
|
private readonly IHasSliderVelocity? sliderVelocitySource;
|
||||||
|
|
||||||
private readonly Color4 baseColour;
|
private readonly Color4 baseColour;
|
||||||
|
|
||||||
public Ring(double startTime, Color4 baseColour)
|
public Ring(double startTime, Color4 baseColour, IHasSliderVelocity? sliderVelocitySource)
|
||||||
{
|
{
|
||||||
this.startTime = startTime;
|
this.startTime = startTime;
|
||||||
|
this.sliderVelocitySource = sliderVelocitySource;
|
||||||
|
|
||||||
Colour = this.baseColour = baseColour;
|
Colour = this.baseColour = baseColour;
|
||||||
|
|
||||||
@ -150,7 +152,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
|
|||||||
float distanceSpacingMultiplier = (float)snapProvider.DistanceSpacingMultiplier.Value;
|
float distanceSpacingMultiplier = (float)snapProvider.DistanceSpacingMultiplier.Value;
|
||||||
double timeFromReferencePoint = editorClock.CurrentTime - startTime;
|
double timeFromReferencePoint = editorClock.CurrentTime - startTime;
|
||||||
|
|
||||||
float distanceForCurrentTime = snapProvider.DurationToDistance(timeFromReferencePoint, startTime)
|
float distanceForCurrentTime = snapProvider.DurationToDistance(timeFromReferencePoint, startTime, sliderVelocitySource)
|
||||||
* distanceSpacingMultiplier;
|
* distanceSpacingMultiplier;
|
||||||
|
|
||||||
float timeBasedAlpha = 1 - Math.Clamp(Math.Abs(distanceForCurrentTime - Size.X / 2) / 30, 0, 1);
|
float timeBasedAlpha = 1 - Math.Clamp(Math.Abs(distanceForCurrentTime - Size.X / 2) / 30, 0, 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user