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 (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);
|
TargetColumns = GetColumnCountForNonConvert(beatmap.BeatmapInfo);
|
||||||
|
|
||||||
if (TargetColumns > ManiaRuleset.MAX_STAGE_KEYS)
|
if (TargetColumns > ManiaRuleset.MAX_STAGE_KEYS)
|
||||||
@ -105,6 +85,36 @@ namespace osu.Game.Rulesets.Mania.Beatmaps
|
|||||||
{
|
{
|
||||||
BeatmapDifficulty difficulty = original.BeatmapInfo.BaseDifficulty;
|
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);
|
int seed = (int)MathF.Round(difficulty.DrainRate + difficulty.CircleSize) * 20 + (int)(difficulty.OverallDifficulty * 41.2) + (int)MathF.Round(difficulty.ApproachRate);
|
||||||
Random = new FastRandom(seed);
|
Random = new FastRandom(seed);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user