Fix first object not receiving new combo

Note: If a normal catch fruit is the first object, it does not receive a new combo...
This commit is contained in:
smoogipoo 2018-08-15 11:47:54 +09:00
parent 31f324945e
commit 4c3e551295
3 changed files with 9 additions and 3 deletions

View File

@ -33,7 +33,7 @@ namespace osu.Game.Rulesets.Objects.Legacy.Catch
return new ConvertSlider
{
X = position.X,
NewCombo = newCombo,
NewCombo = FirstObject || newCombo,
ComboOffset = comboOffset,
ControlPoints = controlPoints,
Distance = length,
@ -48,6 +48,7 @@ namespace osu.Game.Rulesets.Objects.Legacy.Catch
return new ConvertSpinner
{
EndTime = endTime,
NewCombo = FirstObject || newCombo,
ComboOffset = comboOffset
};
}

View File

@ -29,6 +29,8 @@ namespace osu.Game.Rulesets.Objects.Legacy
/// </summary>
protected readonly int FormatVersion;
protected bool FirstObject { get; private set; } = true;
protected ConvertHitObjectParser(double offset, int formatVersion)
{
Offset = offset;
@ -194,6 +196,8 @@ namespace osu.Game.Rulesets.Objects.Legacy
result.StartTime = Convert.ToDouble(split[2], CultureInfo.InvariantCulture) + Offset;
result.Samples = convertSoundType(soundType, bankInfo);
FirstObject = false;
return result;
}
catch (FormatException)

View File

@ -24,7 +24,7 @@ namespace osu.Game.Rulesets.Objects.Legacy.Osu
return new ConvertHit
{
Position = position,
NewCombo = newCombo,
NewCombo = FirstObject || newCombo,
ComboOffset = comboOffset
};
}
@ -34,7 +34,7 @@ namespace osu.Game.Rulesets.Objects.Legacy.Osu
return new ConvertSlider
{
Position = position,
NewCombo = newCombo,
NewCombo = FirstObject || newCombo,
ComboOffset = comboOffset,
ControlPoints = controlPoints,
Distance = Math.Max(0, length),
@ -50,6 +50,7 @@ namespace osu.Game.Rulesets.Objects.Legacy.Osu
{
Position = position,
EndTime = endTime,
NewCombo = FormatVersion <= 8 || FirstObject || newCombo,
ComboOffset = comboOffset
};
}