From 0eaf420fa1d20c94b1b867f204294ddbff04a560 Mon Sep 17 00:00:00 2001
From: Salman Ahmed <frenzibyte@gmail.com>
Date: Tue, 7 Jun 2022 00:29:14 +0300
Subject: [PATCH 1/3] Specify full size for spinner ticks container

---
 osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSpinner.cs | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSpinner.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSpinner.cs
index a904658a4c..fa095edafa 100644
--- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSpinner.cs
+++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSpinner.cs
@@ -79,7 +79,10 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
                 {
                     Result = { BindTarget = SpinsPerMinute },
                 },
-                ticks = new Container<DrawableSpinnerTick>(),
+                ticks = new Container<DrawableSpinnerTick>
+                {
+                    RelativeSizeAxes = Axes.Both,
+                },
                 new AspectContainer
                 {
                     Anchor = Anchor.Centre,

From 4158146c719f6ef3d7f58991b284cf599426d8e5 Mon Sep 17 00:00:00 2001
From: Salman Ahmed <frenzibyte@gmail.com>
Date: Tue, 7 Jun 2022 00:29:53 +0300
Subject: [PATCH 2/3] Fix spinenr tick samples not positioned at centre

Causing samples to be played at left ear rather than centre.
---
 .../Objects/Drawables/DrawableSpinnerTick.cs                | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSpinnerTick.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSpinnerTick.cs
index 726fbd3ea6..39239c8233 100644
--- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSpinnerTick.cs
+++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSpinnerTick.cs
@@ -1,6 +1,8 @@
 // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
 // See the LICENCE file in the repository root for full licence text.
 
+using osu.Framework.Graphics;
+
 namespace osu.Game.Rulesets.Osu.Objects.Drawables
 {
     public class DrawableSpinnerTick : DrawableOsuHitObject
@@ -10,13 +12,15 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
         protected DrawableSpinner DrawableSpinner => (DrawableSpinner)ParentHitObject;
 
         public DrawableSpinnerTick()
-            : base(null)
+            : this(null)
         {
         }
 
         public DrawableSpinnerTick(SpinnerTick spinnerTick)
             : base(spinnerTick)
         {
+            Anchor = Anchor.Centre;
+            Origin = Anchor.Centre;
         }
 
         protected override double MaximumJudgementOffset => DrawableSpinner.HitObject.Duration;

From b6e97e699a9f411f07062228697713e9a61b5539 Mon Sep 17 00:00:00 2001
From: Salman Ahmed <frenzibyte@gmail.com>
Date: Tue, 7 Jun 2022 00:34:18 +0300
Subject: [PATCH 3/3] Remove unnecessary position specification

---
 osu.Game.Rulesets.Osu/Objects/Spinner.cs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/osu.Game.Rulesets.Osu/Objects/Spinner.cs b/osu.Game.Rulesets.Osu/Objects/Spinner.cs
index ddee4d3ebd..1a130e96b3 100644
--- a/osu.Game.Rulesets.Osu/Objects/Spinner.cs
+++ b/osu.Game.Rulesets.Osu/Objects/Spinner.cs
@@ -69,8 +69,8 @@ namespace osu.Game.Rulesets.Osu.Objects
                 double startTime = StartTime + (float)(i + 1) / totalSpins * Duration;
 
                 AddNested(i < SpinsRequired
-                    ? new SpinnerTick { StartTime = startTime, Position = Position }
-                    : new SpinnerBonusTick { StartTime = startTime, Position = Position });
+                    ? new SpinnerTick { StartTime = startTime }
+                    : new SpinnerBonusTick { StartTime = startTime });
             }
         }