diff --git a/osu-framework b/osu-framework index 744ed65bbc..fdea70aee3 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit 744ed65bbc3b2ca96135abecddad2d069a1fe817 +Subproject commit fdea70aee37b040d56fac5e9b27a18ed77f2bfb9 diff --git a/osu.Game.Mode.Osu/Objects/Drawables/DrawableHitCircle.cs b/osu.Game.Mode.Osu/Objects/Drawables/DrawableHitCircle.cs index dc5d5bf2a6..8bead0fe53 100644 --- a/osu.Game.Mode.Osu/Objects/Drawables/DrawableHitCircle.cs +++ b/osu.Game.Mode.Osu/Objects/Drawables/DrawableHitCircle.cs @@ -24,7 +24,7 @@ public class DrawableHitCircle : DrawableOsuHitObject private GlowPiece glow; private HitExplosion explosion; - public DrawableHitCircle(HitCircle h) : base(h) + public DrawableHitCircle(OsuHitObject h) : base(h) { osuObject = h; diff --git a/osu.Game.Mode.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Mode.Osu/Objects/Drawables/DrawableSlider.cs index 55e4781cd3..f779f9948f 100644 --- a/osu.Game.Mode.Osu/Objects/Drawables/DrawableSlider.cs +++ b/osu.Game.Mode.Osu/Objects/Drawables/DrawableSlider.cs @@ -2,6 +2,7 @@ using osu.Game.Modes.Objects.Drawables; using osu.Game.Modes.Osu.Objects.Drawables.Pieces; using OpenTK; +using osu.Framework.Graphics.Sprites; namespace osu.Game.Modes.Osu.Objects.Drawables { @@ -10,17 +11,16 @@ class DrawableSlider : DrawableOsuHitObject public DrawableSlider(Slider h) : base(h) { Origin = Anchor.Centre; - RelativePositionAxes = Axes.Both; - Position = new Vector2(h.Position.X / 512, h.Position.Y / 384); + Position = new Vector2(h.Position.X, h.Position.Y); - for (float i = 0; i <= 1; i += 0.1f) - { - Add(new CirclePiece - { - Colour = h.Colour, - Position = h.Curve.PositionAt(i) - h.Position //non-relative? - }); - } + Path sliderPath; + Add(sliderPath = new Path()); + + for (int i = 0; i < h.Curve.Path.Count; ++i) + sliderPath.Positions.Add(h.Curve.Path[i] - h.Position); + + h.Position = Vector2.Zero; + Add(new DrawableHitCircle(h)); } protected override void LoadComplete() @@ -39,10 +39,10 @@ protected override void UpdateState(ArmedState state) Alpha = 0; - Delay(HitObject.StartTime - 200 - Time.Current, true); + Delay(HitObject.StartTime - 450 - Time.Current, true); FadeIn(200); - Delay(200 + HitObject.Duration); + Delay(450 + HitObject.Duration); FadeOut(200); } }