From dae7cdc4c50efeaec5d2fab48d10e25360f7f669 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 26 Oct 2021 15:59:48 +0900 Subject: [PATCH] Ensure `HitObject`-local control points are non-default after `ApplyDefaults` We will probably want to make this whole flow more efficient in the future, but this should suffice for now. --- osu.Game/Rulesets/Objects/HitObject.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/osu.Game/Rulesets/Objects/HitObject.cs b/osu.Game/Rulesets/Objects/HitObject.cs index 035ebe10cb..a80b3d0fa5 100644 --- a/osu.Game/Rulesets/Objects/HitObject.cs +++ b/osu.Game/Rulesets/Objects/HitObject.cs @@ -119,6 +119,8 @@ namespace osu.Game.Rulesets.Objects DifficultyControlPoint = (DifficultyControlPoint)legacyInfo.DifficultyPointAt(StartTime).DeepClone(); DifficultyControlPoint.Time = StartTime; } + else if (DifficultyControlPoint == DifficultyControlPoint.DEFAULT) + DifficultyControlPoint = new DifficultyControlPoint(); ApplyDefaultsToSelf(controlPointInfo, difficulty); @@ -128,6 +130,8 @@ namespace osu.Game.Rulesets.Objects SampleControlPoint = (SampleControlPoint)legacyInfo.SamplePointAt(this.GetEndTime() + control_point_leniency).DeepClone(); SampleControlPoint.Time = this.GetEndTime() + control_point_leniency; } + else if (SampleControlPoint == SampleControlPoint.DEFAULT) + SampleControlPoint = new SampleControlPoint(); nestedHitObjects.Clear();