mirror of
https://github.com/ppy/osu.git
synced 2026-06-04 17:03:57 +08:00
Write out DifficultyControlPoints into HitObjects
This commit is contained in:
@@ -68,6 +68,8 @@ namespace osu.Game.Rulesets.Objects
|
||||
|
||||
public SampleControlPoint SampleControlPoint;
|
||||
|
||||
public DifficultyControlPoint DifficultyControlPoint;
|
||||
|
||||
/// <summary>
|
||||
/// Whether this <see cref="HitObject"/> is in Kiai time.
|
||||
/// </summary>
|
||||
@@ -110,10 +112,12 @@ namespace osu.Game.Rulesets.Objects
|
||||
{
|
||||
// This is done here since ApplyDefaultsToSelf may be used to determine the end time
|
||||
SampleControlPoint = legacyInfo.SamplePointAt(this.GetEndTime() + control_point_leniency);
|
||||
DifficultyControlPoint = legacyInfo.DifficultyPointAt(StartTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
SampleControlPoint ??= SampleControlPoint.DEFAULT;
|
||||
DifficultyControlPoint ??= DifficultyControlPoint.DEFAULT;
|
||||
}
|
||||
|
||||
nestedHitObjects.Clear();
|
||||
|
||||
@@ -43,9 +43,8 @@ namespace osu.Game.Rulesets.Objects.Legacy
|
||||
base.ApplyDefaultsToSelf(controlPointInfo, difficulty);
|
||||
|
||||
TimingControlPoint timingPoint = controlPointInfo.TimingPointAt(StartTime);
|
||||
DifficultyControlPoint difficultyPoint = controlPointInfo.DifficultyPointAt(StartTime);
|
||||
|
||||
double scoringDistance = base_scoring_distance * difficulty.SliderMultiplier * difficultyPoint.SpeedMultiplier;
|
||||
double scoringDistance = base_scoring_distance * difficulty.SliderMultiplier * DifficultyControlPoint.SpeedMultiplier;
|
||||
|
||||
Velocity = scoringDistance / timingPoint.BeatLength;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user