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

View File

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

View File

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