From 015a39abc76eaebe0b69ff3b1bf6eef6b4c0a761 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 26 Feb 2020 18:45:06 +0900 Subject: [PATCH 1/4] Fix hyperdash fruit not visible on default skin --- .../Objects/Drawables/FruitPiece.cs | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Objects/Drawables/FruitPiece.cs b/osu.Game.Rulesets.Catch/Objects/Drawables/FruitPiece.cs index 0f5044eda7..5797588ded 100644 --- a/osu.Game.Rulesets.Catch/Objects/Drawables/FruitPiece.cs +++ b/osu.Game.Rulesets.Catch/Objects/Drawables/FruitPiece.cs @@ -7,9 +7,7 @@ using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Shapes; -using osu.Game.Rulesets.Catch.Objects.Drawables.Pieces; using osu.Game.Rulesets.Objects.Drawables; -using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Catch.Objects.Drawables @@ -64,15 +62,24 @@ namespace osu.Game.Rulesets.Catch.Objects.Drawables if (hitObject.HyperDash) { - AddInternal(new Pulp + AddInternal(new Circle { - RelativePositionAxes = Axes.Both, + RelativeSizeAxes = Axes.Both, Anchor = Anchor.Centre, Origin = Anchor.Centre, - AccentColour = { Value = Color4.Red }, - Blending = BlendingParameters.Additive, - Alpha = 0.5f, - Scale = new Vector2(1.333f) + BorderColour = Color4.Red, + BorderThickness = 12f * RADIUS_ADJUST, + Children = new Drawable[] + { + new Box + { + AlwaysPresent = true, + Alpha = 0.3f, + Blending = BlendingParameters.Additive, + RelativeSizeAxes = Axes.Both, + Colour = Color4.Red, + } + } }); } } From 83495eb64804e1089cb8712a992f20e64996d1de Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 26 Feb 2020 19:22:09 +0900 Subject: [PATCH 2/4] Add testing support for hyperdash fruits --- .../TestSceneFruitObjects.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Catch.Tests/TestSceneFruitObjects.cs b/osu.Game.Rulesets.Catch.Tests/TestSceneFruitObjects.cs index 7bade41e6c..82d5aa936f 100644 --- a/osu.Game.Rulesets.Catch.Tests/TestSceneFruitObjects.cs +++ b/osu.Game.Rulesets.Catch.Tests/TestSceneFruitObjects.cs @@ -42,6 +42,9 @@ namespace osu.Game.Rulesets.Catch.Tests AddStep("show droplet", () => SetContents(createDrawableDroplet)); AddStep("show tiny droplet", () => SetContents(createDrawableTinyDroplet)); + + foreach (FruitVisualRepresentation rep in Enum.GetValues(typeof(FruitVisualRepresentation))) + AddStep($"show hyperdash {rep}", () => SetContents(() => createDrawable(rep, true))); } private Drawable createDrawableTinyDroplet() @@ -82,9 +85,13 @@ namespace osu.Game.Rulesets.Catch.Tests }; } - private Drawable createDrawable(FruitVisualRepresentation rep) + private Drawable createDrawable(FruitVisualRepresentation rep, bool hyperdash = false) { - Fruit fruit = new TestCatchFruit(rep) { Scale = 1.5f }; + Fruit fruit = new TestCatchFruit(rep) + { + Scale = 1.5f, + HyperDashTarget = hyperdash ? new Banana() : null + }; return new DrawableFruit(fruit) { From e5927447fc5664c00f0092a48b1ab24913610dee Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 26 Feb 2020 19:22:46 +0900 Subject: [PATCH 3/4] Fix hyperdash fruit not visible on custom skins --- .../Skinning/LegacyFruitPiece.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/osu.Game.Rulesets.Catch/Skinning/LegacyFruitPiece.cs b/osu.Game.Rulesets.Catch/Skinning/LegacyFruitPiece.cs index 2631fe5487..25ee0811d0 100644 --- a/osu.Game.Rulesets.Catch/Skinning/LegacyFruitPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/LegacyFruitPiece.cs @@ -9,6 +9,7 @@ using osu.Framework.Graphics.Sprites; using osu.Game.Rulesets.Catch.Objects.Drawables; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Skinning; +using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Catch.Skinning @@ -49,6 +50,23 @@ namespace osu.Game.Rulesets.Catch.Skinning Origin = Anchor.Centre, }, }; + + if (drawableCatchObject.HitObject.HyperDash) + { + var hyperDash = new Sprite + { + Texture = skin.GetTexture(lookupName), + Colour = Color4.Red, + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + Blending = BlendingParameters.Additive, + Depth = 1, + Alpha = 0.7f, + Scale = new Vector2(1.2f) + }; + + AddInternal(hyperDash); + } } protected override void LoadComplete() From 2aa649e073d75b0d7b9df8880096f510135d279e Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 26 Feb 2020 19:31:49 +0900 Subject: [PATCH 4/4] Fix catcher dropping juice streams due to it considering ignored judgements --- osu.Game.Rulesets.Catch/UI/CatcherArea.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/osu.Game.Rulesets.Catch/UI/CatcherArea.cs b/osu.Game.Rulesets.Catch/UI/CatcherArea.cs index 0b3809150a..b977d46611 100644 --- a/osu.Game.Rulesets.Catch/UI/CatcherArea.cs +++ b/osu.Game.Rulesets.Catch/UI/CatcherArea.cs @@ -50,6 +50,9 @@ namespace osu.Game.Rulesets.Catch.UI public void OnResult(DrawableCatchHitObject fruit, JudgementResult result) { + if (result.Judgement is IgnoreJudgement) + return; + void runAfterLoaded(Action action) { if (lastPlateableFruit == null)