mirror of
https://github.com/osukey/osukey.git
synced 2025-05-23 06:27:24 +09:00
Move control point modification to ConvertBeatmap
method
This commit is contained in:
parent
1952ebece9
commit
b16e0cda3d
@ -49,26 +49,6 @@ namespace osu.Game.Rulesets.Mania.Beatmaps
|
||||
|
||||
if (IsForCurrentRuleset)
|
||||
{
|
||||
if (beatmap.ControlPointInfo is LegacyControlPointInfo legacyControlPoints)
|
||||
{
|
||||
// convert all slider velocity adjustments to scroll speed adjustments.
|
||||
foreach (var controlPoint in legacyControlPoints.DifficultyPoints.ToArray())
|
||||
{
|
||||
double time = controlPoint.Time;
|
||||
|
||||
var reference = legacyControlPoints.EffectPointAt(time);
|
||||
|
||||
var scrollControlPoint = new EffectControlPoint();
|
||||
scrollControlPoint.CopyFrom(reference);
|
||||
scrollControlPoint.ScrollSpeed = controlPoint.SliderVelocity;
|
||||
|
||||
legacyControlPoints.Add(time, scrollControlPoint);
|
||||
|
||||
// remove the DifficultyControlPoint as we don't need them any more.
|
||||
legacyControlPoints.GroupAt(time).Remove(controlPoint);
|
||||
}
|
||||
}
|
||||
|
||||
TargetColumns = GetColumnCountForNonConvert(beatmap.BeatmapInfo);
|
||||
|
||||
if (TargetColumns > ManiaRuleset.MAX_STAGE_KEYS)
|
||||
@ -105,6 +85,36 @@ namespace osu.Game.Rulesets.Mania.Beatmaps
|
||||
{
|
||||
BeatmapDifficulty difficulty = original.BeatmapInfo.BaseDifficulty;
|
||||
|
||||
if (IsForCurrentRuleset && original.ControlPointInfo is LegacyControlPointInfo originalLegacyControlPoints)
|
||||
{
|
||||
// original is cloned so we're safe to replace control point storage at this point.
|
||||
original.ControlPointInfo = new LegacyControlPointInfo();
|
||||
|
||||
// convert all slider velocity adjustments to scroll speed adjustments.
|
||||
foreach (var controlPoint in originalLegacyControlPoints.AllControlPoints)
|
||||
{
|
||||
double time = controlPoint.Time;
|
||||
|
||||
switch (controlPoint)
|
||||
{
|
||||
default:
|
||||
original.ControlPointInfo.Add(time, controlPoint);
|
||||
break;
|
||||
|
||||
case DifficultyControlPoint difficultyPoint:
|
||||
var reference = originalLegacyControlPoints.EffectPointAt(time);
|
||||
|
||||
var scrollControlPoint = new EffectControlPoint();
|
||||
|
||||
scrollControlPoint.CopyFrom(reference);
|
||||
scrollControlPoint.ScrollSpeed = difficultyPoint.SliderVelocity;
|
||||
|
||||
original.ControlPointInfo.Add(time, scrollControlPoint);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int seed = (int)MathF.Round(difficulty.DrainRate + difficulty.CircleSize) * 20 + (int)(difficulty.OverallDifficulty * 41.2) + (int)MathF.Round(difficulty.ApproachRate);
|
||||
Random = new FastRandom(seed);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user