mirror of
https://github.com/ppy/osu
synced 2024-12-16 11:56:31 +00:00
Merge branch 'master' into beatmap-as-a-skin
This commit is contained in:
commit
77ebd94804
@ -65,54 +65,59 @@ namespace osu.Game.Rulesets.Catch.Objects
|
|||||||
X = X
|
X = X
|
||||||
});
|
});
|
||||||
|
|
||||||
for (var span = 0; span < this.SpanCount(); span++)
|
double lastDropletTime = StartTime;
|
||||||
|
|
||||||
|
for (int span = 0; span < this.SpanCount(); span++)
|
||||||
{
|
{
|
||||||
var spanStartTime = StartTime + span * spanDuration;
|
var spanStartTime = StartTime + span * spanDuration;
|
||||||
var reversed = span % 2 == 1;
|
var reversed = span % 2 == 1;
|
||||||
|
|
||||||
for (var d = tickDistance; d <= length; d += tickDistance)
|
for (double d = 0; d <= length; d += tickDistance)
|
||||||
{
|
{
|
||||||
if (d > length - minDistanceFromEnd)
|
|
||||||
break;
|
|
||||||
|
|
||||||
var timeProgress = d / length;
|
var timeProgress = d / length;
|
||||||
var distanceProgress = reversed ? 1 - timeProgress : timeProgress;
|
var distanceProgress = reversed ? 1 - timeProgress : timeProgress;
|
||||||
|
|
||||||
var lastTickTime = spanStartTime + timeProgress * spanDuration;
|
double time = spanStartTime + timeProgress * spanDuration;
|
||||||
AddNested(new Droplet
|
|
||||||
|
double tinyTickInterval = time - lastDropletTime;
|
||||||
|
while (tinyTickInterval > 100)
|
||||||
|
tinyTickInterval /= 2;
|
||||||
|
|
||||||
|
for (double t = lastDropletTime + tinyTickInterval; t < time; t += tinyTickInterval)
|
||||||
{
|
{
|
||||||
StartTime = lastTickTime,
|
double progress = reversed ? 1 - (t - spanStartTime) / spanDuration : (t - spanStartTime) / spanDuration;
|
||||||
ComboColour = ComboColour,
|
|
||||||
X = X + Curve.PositionAt(distanceProgress).X / CatchPlayfield.BASE_WIDTH,
|
AddNested(new TinyDroplet
|
||||||
Samples = new List<SampleInfo>(Samples.Select(s => new SampleInfo
|
|
||||||
{
|
{
|
||||||
Bank = s.Bank,
|
StartTime = t,
|
||||||
Name = @"slidertick",
|
ComboColour = ComboColour,
|
||||||
Volume = s.Volume
|
X = X + Curve.PositionAt(progress).X / CatchPlayfield.BASE_WIDTH,
|
||||||
}))
|
Samples = new List<SampleInfo>(Samples.Select(s => new SampleInfo
|
||||||
});
|
{
|
||||||
}
|
Bank = s.Bank,
|
||||||
|
Name = @"slidertick",
|
||||||
|
Volume = s.Volume
|
||||||
|
}))
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
double tinyTickInterval = tickDistance / length * spanDuration;
|
if (d > minDistanceFromEnd && Math.Abs(d - length) > minDistanceFromEnd)
|
||||||
while (tinyTickInterval > 100)
|
|
||||||
tinyTickInterval /= 2;
|
|
||||||
|
|
||||||
for (double t = 0; t < spanDuration; t += tinyTickInterval)
|
|
||||||
{
|
|
||||||
double progress = reversed ? 1 - t / spanDuration : t / spanDuration;
|
|
||||||
|
|
||||||
AddNested(new TinyDroplet
|
|
||||||
{
|
{
|
||||||
StartTime = spanStartTime + t,
|
AddNested(new Droplet
|
||||||
ComboColour = ComboColour,
|
|
||||||
X = X + Curve.PositionAt(progress).X / CatchPlayfield.BASE_WIDTH,
|
|
||||||
Samples = new List<SampleInfo>(Samples.Select(s => new SampleInfo
|
|
||||||
{
|
{
|
||||||
Bank = s.Bank,
|
StartTime = time,
|
||||||
Name = @"slidertick",
|
ComboColour = ComboColour,
|
||||||
Volume = s.Volume
|
X = X + Curve.PositionAt(distanceProgress).X / CatchPlayfield.BASE_WIDTH,
|
||||||
}))
|
Samples = new List<SampleInfo>(Samples.Select(s => new SampleInfo
|
||||||
});
|
{
|
||||||
|
Bank = s.Bank,
|
||||||
|
Name = @"slidertick",
|
||||||
|
Volume = s.Volume
|
||||||
|
}))
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
lastDropletTime = time;
|
||||||
}
|
}
|
||||||
|
|
||||||
AddNested(new Fruit
|
AddNested(new Fruit
|
||||||
|
@ -18,7 +18,7 @@ namespace osu.Game.Rulesets.Catch.Tests
|
|||||||
{
|
{
|
||||||
protected override string ResourceAssembly => "osu.Game.Rulesets.Catch";
|
protected override string ResourceAssembly => "osu.Game.Rulesets.Catch";
|
||||||
|
|
||||||
[TestCase("basic"), Ignore("See: https://github.com/ppy/osu/issues/2149")]
|
[TestCase("basic"), Ignore("See: https://github.com/ppy/osu/issues/2232")]
|
||||||
public new void Test(string name)
|
public new void Test(string name)
|
||||||
{
|
{
|
||||||
base.Test(name);
|
base.Test(name);
|
||||||
|
@ -29,7 +29,7 @@ namespace osu.Game.Skinning
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
base.ParseLine(output, section, line);
|
base.ParseLine(output, section, line);
|
||||||
|
Loading…
Reference in New Issue
Block a user