mirror of
https://github.com/ppy/osu.git
synced 2025-01-23 04:02:55 +08:00
Remove complex implementation of taiko SV multiplier
This commit is contained in:
parent
b5bae566c2
commit
1cb3c710ba
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using osu.Framework.Utils;
|
using osu.Framework.Utils;
|
||||||
using osu.Game.Rulesets.Taiko.Beatmaps;
|
|
||||||
using osu.Game.Tests.Visual;
|
using osu.Game.Tests.Visual;
|
||||||
|
|
||||||
namespace osu.Game.Rulesets.Taiko.Tests.Editor
|
namespace osu.Game.Rulesets.Taiko.Tests.Editor
|
||||||
@ -27,11 +26,7 @@ namespace osu.Game.Rulesets.Taiko.Tests.Editor
|
|||||||
|
|
||||||
bool assertTaikoSliderMulitplier()
|
bool assertTaikoSliderMulitplier()
|
||||||
{
|
{
|
||||||
// we can only assert value correctness on TaikoMultiplierAppliedDifficulty, because that is the final difficulty converted taiko beatmaps use.
|
return Precision.AlmostEquals(EditorBeatmap.Difficulty.SliderMultiplier, 2);
|
||||||
// therefore, ensure that we have that difficulty type by calling .CopyFrom(), which is a no-op if the type is already correct.
|
|
||||||
var taikoDifficulty = new TaikoBeatmapConverter.TaikoMultiplierAppliedDifficulty();
|
|
||||||
taikoDifficulty.CopyFrom(EditorBeatmap.Difficulty);
|
|
||||||
return Precision.AlmostEquals(taikoDifficulty.SliderMultiplier, 2);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using osu.Framework.Utils;
|
using osu.Framework.Utils;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using JetBrains.Annotations;
|
|
||||||
using osu.Game.Audio;
|
using osu.Game.Audio;
|
||||||
using osu.Game.Beatmaps.ControlPoints;
|
using osu.Game.Beatmaps.ControlPoints;
|
||||||
using osu.Game.Beatmaps.Formats;
|
using osu.Game.Beatmaps.Formats;
|
||||||
@ -43,12 +42,6 @@ namespace osu.Game.Rulesets.Taiko.Beatmaps
|
|||||||
|
|
||||||
protected override Beatmap<TaikoHitObject> ConvertBeatmap(IBeatmap original, CancellationToken cancellationToken)
|
protected override Beatmap<TaikoHitObject> ConvertBeatmap(IBeatmap original, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
if (!(original.Difficulty is TaikoMultiplierAppliedDifficulty))
|
|
||||||
{
|
|
||||||
// Rewrite the beatmap info to add the slider velocity multiplier
|
|
||||||
original.Difficulty = new TaikoMultiplierAppliedDifficulty(original.Difficulty);
|
|
||||||
}
|
|
||||||
|
|
||||||
Beatmap<TaikoHitObject> converted = base.ConvertBeatmap(original, cancellationToken);
|
Beatmap<TaikoHitObject> converted = base.ConvertBeatmap(original, cancellationToken);
|
||||||
|
|
||||||
if (original.BeatmapInfo.Ruleset.OnlineID == 0)
|
if (original.BeatmapInfo.Ruleset.OnlineID == 0)
|
||||||
@ -218,41 +211,5 @@ namespace osu.Game.Rulesets.Taiko.Beatmaps
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected override Beatmap<TaikoHitObject> CreateBeatmap() => new TaikoBeatmap();
|
protected override Beatmap<TaikoHitObject> CreateBeatmap() => new TaikoBeatmap();
|
||||||
|
|
||||||
// Important to note that this is subclassing a realm object.
|
|
||||||
// Realm doesn't allow this, but for now this can work since we aren't (in theory?) persisting this to the database.
|
|
||||||
// It is only used during beatmap conversion and processing.
|
|
||||||
internal class TaikoMultiplierAppliedDifficulty : BeatmapDifficulty
|
|
||||||
{
|
|
||||||
public TaikoMultiplierAppliedDifficulty(IBeatmapDifficultyInfo difficulty)
|
|
||||||
{
|
|
||||||
CopyFrom(difficulty);
|
|
||||||
}
|
|
||||||
|
|
||||||
[UsedImplicitly]
|
|
||||||
public TaikoMultiplierAppliedDifficulty()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Overrides of BeatmapDifficulty
|
|
||||||
|
|
||||||
public override BeatmapDifficulty Clone() => new TaikoMultiplierAppliedDifficulty(this);
|
|
||||||
|
|
||||||
public override void CopyTo(BeatmapDifficulty other)
|
|
||||||
{
|
|
||||||
base.CopyTo(other);
|
|
||||||
if (!(other is TaikoMultiplierAppliedDifficulty))
|
|
||||||
other.SliderMultiplier /= LegacyBeatmapEncoder.LEGACY_TAIKO_VELOCITY_MULTIPLIER;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void CopyFrom(IBeatmapDifficultyInfo other)
|
|
||||||
{
|
|
||||||
base.CopyFrom(other);
|
|
||||||
if (!(other is TaikoMultiplierAppliedDifficulty))
|
|
||||||
SliderMultiplier *= LegacyBeatmapEncoder.LEGACY_TAIKO_VELOCITY_MULTIPLIER;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user