From 8f80a22ef9ab510f02e98fcbfa7f9765ee229b61 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Jul 2022 06:57:31 +0300 Subject: [PATCH] Fix osu! and catch hitobjects no longer scaled to 1 by default --- osu.Game.Rulesets.Catch/Objects/CatchHitObject.cs | 2 +- osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs | 2 +- osu.Game/Rulesets/Objects/HitObjectProperty.cs | 10 +++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Objects/CatchHitObject.cs b/osu.Game.Rulesets.Catch/Objects/CatchHitObject.cs index 7b871177f1..6e01c44e1f 100644 --- a/osu.Game.Rulesets.Catch/Objects/CatchHitObject.cs +++ b/osu.Game.Rulesets.Catch/Objects/CatchHitObject.cs @@ -130,7 +130,7 @@ namespace osu.Game.Rulesets.Catch.Objects set => lastInCombo.Value = value; } - private HitObjectProperty scale; + private HitObjectProperty scale = new HitObjectProperty(1); public Bindable ScaleBindable => scale.Bindable; diff --git a/osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs b/osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs index 6708c061e7..1e7cce162e 100644 --- a/osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs +++ b/osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs @@ -69,7 +69,7 @@ namespace osu.Game.Rulesets.Osu.Objects public double Radius => OBJECT_RADIUS * Scale; - private HitObjectProperty scaleProperty; + private HitObjectProperty scaleProperty = new HitObjectProperty(1); public Bindable ScaleBindable => scaleProperty.Bindable; diff --git a/osu.Game/Rulesets/Objects/HitObjectProperty.cs b/osu.Game/Rulesets/Objects/HitObjectProperty.cs index e765dd6cb0..f1df83f80c 100644 --- a/osu.Game/Rulesets/Objects/HitObjectProperty.cs +++ b/osu.Game/Rulesets/Objects/HitObjectProperty.cs @@ -24,7 +24,7 @@ namespace osu.Game.Rulesets.Objects /// /// The underlying , only initialised on first access. /// - public Bindable Bindable => backingBindable ??= new Bindable { Value = backingValue }; + public Bindable Bindable => backingBindable ??= new Bindable(defaultValue) { Value = backingValue }; /// /// The current value, derived from and delegated to if initialised, or a temporary field otherwise. @@ -40,5 +40,13 @@ namespace osu.Game.Rulesets.Objects backingValue = value; } } + + private readonly T defaultValue; + + public HitObjectProperty(T value = default) + { + backingValue = defaultValue = value; + backingBindable = null; + } } }