Fix precision changes in legacy control point types

This commit is contained in:
Dean Herbert 2019-10-28 19:10:39 +09:00
parent 090881cf6f
commit 1a4817879e
3 changed files with 12 additions and 4 deletions

View File

@ -376,7 +376,7 @@ private void handleTimingPoint(string line)
handleTimingControlPoint(controlPoint);
}
handleDifficultyControlPoint(new DifficultyControlPoint
handleDifficultyControlPoint(new LegacyDifficultyControlPoint
{
Time = time,
SpeedMultiplier = speedMultiplier,

View File

@ -189,6 +189,14 @@ internal enum StoryLayer
Foreground = 3
}
internal class LegacyDifficultyControlPoint : DifficultyControlPoint
{
public LegacyDifficultyControlPoint()
{
SpeedMultiplierBindable.Precision = Double.Epsilon;
}
}
internal class LegacySampleControlPoint : SampleControlPoint
{
public int CustomSampleBank;

View File

@ -28,11 +28,11 @@ public LegacyDifficultyCalculatorBeatmapDecoder(int version = LATEST_VERSION)
}
protected override TimingControlPoint CreateTimingControlPoint()
=> new LegacyDifficultyCalculatorControlPoint();
=> new LegacyDifficultyCalculatorTimingControlPoint();
private class LegacyDifficultyCalculatorControlPoint : TimingControlPoint
private class LegacyDifficultyCalculatorTimingControlPoint : TimingControlPoint
{
public LegacyDifficultyCalculatorControlPoint()
public LegacyDifficultyCalculatorTimingControlPoint()
{
BeatLengthBindable.MinValue = double.MinValue;
BeatLengthBindable.MaxValue = double.MaxValue;