mirror of
https://github.com/osukey/osukey.git
synced 2025-05-09 23:57:18 +09:00
Always encode scroll speed as slider velocity in the legacy encoder
This commit is contained in:
parent
aae5359b2e
commit
d2b0a413da
@ -185,19 +185,12 @@ namespace osu.Game.Beatmaps.Formats
|
|||||||
SampleControlPoint lastRelevantSamplePoint = null;
|
SampleControlPoint lastRelevantSamplePoint = null;
|
||||||
DifficultyControlPoint lastRelevantDifficultyPoint = null;
|
DifficultyControlPoint lastRelevantDifficultyPoint = null;
|
||||||
|
|
||||||
// In osu!taiko and osu!mania, a scroll speed is stored as "slider velocity" in legacy formats.
|
|
||||||
// In that case, a scrolling speed change is a global effect and per-hit object difficulty control points are ignored.
|
|
||||||
bool scrollSpeedEncodedAsSliderVelocity = onlineRulesetID == 1 || onlineRulesetID == 3;
|
|
||||||
|
|
||||||
// iterate over hitobjects and pull out all required sample and difficulty changes
|
// iterate over hitobjects and pull out all required sample and difficulty changes
|
||||||
extractDifficultyControlPoints(beatmap.HitObjects);
|
extractDifficultyControlPoints(beatmap.HitObjects);
|
||||||
extractSampleControlPoints(beatmap.HitObjects);
|
extractSampleControlPoints(beatmap.HitObjects);
|
||||||
|
|
||||||
if (scrollSpeedEncodedAsSliderVelocity)
|
|
||||||
{
|
|
||||||
foreach (var point in legacyControlPoints.EffectPoints)
|
foreach (var point in legacyControlPoints.EffectPoints)
|
||||||
legacyControlPoints.Add(point.Time, new DifficultyControlPoint { SliderVelocity = point.ScrollSpeed });
|
legacyControlPoints.Add(point.Time, new DifficultyControlPoint { SliderVelocity = point.ScrollSpeed });
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var group in legacyControlPoints.Groups)
|
foreach (var group in legacyControlPoints.Groups)
|
||||||
{
|
{
|
||||||
@ -244,9 +237,6 @@ namespace osu.Game.Beatmaps.Formats
|
|||||||
|
|
||||||
IEnumerable<DifficultyControlPoint> collectDifficultyControlPoints(IEnumerable<HitObject> hitObjects)
|
IEnumerable<DifficultyControlPoint> collectDifficultyControlPoints(IEnumerable<HitObject> hitObjects)
|
||||||
{
|
{
|
||||||
if (scrollSpeedEncodedAsSliderVelocity)
|
|
||||||
yield break;
|
|
||||||
|
|
||||||
foreach (var hitObject in hitObjects)
|
foreach (var hitObject in hitObjects)
|
||||||
yield return hitObject.DifficultyControlPoint;
|
yield return hitObject.DifficultyControlPoint;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user