diff --git a/osu.Game/Rulesets/Judgements/DrawableJudgement.cs b/osu.Game/Rulesets/Judgements/DrawableJudgement.cs
index 3063656aaf..889e748a4a 100644
--- a/osu.Game/Rulesets/Judgements/DrawableJudgement.cs
+++ b/osu.Game/Rulesets/Judgements/DrawableJudgement.cs
@@ -149,7 +149,10 @@ namespace osu.Game.Rulesets.Judgements
private void runAnimation()
{
+ // undo any transforms applies in ApplyMissAnimations/ApplyHitAnimations to get a sane initial state.
+ ApplyTransformsAt(double.MinValue, true);
ClearTransforms(true);
+
LifetimeStart = Result.TimeAbsolute;
using (BeginAbsoluteSequence(Result.TimeAbsolute, true))
diff --git a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
index ca49ed9e75..0fa76a733f 100644
--- a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
+++ b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
@@ -439,6 +439,8 @@ namespace osu.Game.Rulesets.Objects.Drawables
private void clearExistingStateTransforms()
{
base.ApplyTransformsAt(double.MinValue, true);
+
+ // has to call this method directly (not ClearTransforms) to bypass the local ClearTransformsAfter override.
base.ClearTransformsAfter(double.MinValue, true);
}
diff --git a/osu.Game/Screens/Menu/IntroWelcome.cs b/osu.Game/Screens/Menu/IntroWelcome.cs
index e81646456f..abb83f894a 100644
--- a/osu.Game/Screens/Menu/IntroWelcome.cs
+++ b/osu.Game/Screens/Menu/IntroWelcome.cs
@@ -113,8 +113,7 @@ namespace osu.Game.Screens.Menu
RelativeSizeAxes = Axes.Both,
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
- Alpha = 0.5f,
- AccentColour = Color4.DarkBlue,
+ Colour = Color4.DarkBlue,
Size = new Vector2(0.96f)
},
new Circle
diff --git a/osu.Game/Screens/Menu/LogoVisualisation.cs b/osu.Game/Screens/Menu/LogoVisualisation.cs
index ebbb19636c..01b2a98c6e 100644
--- a/osu.Game/Screens/Menu/LogoVisualisation.cs
+++ b/osu.Game/Screens/Menu/LogoVisualisation.cs
@@ -11,7 +11,6 @@ using osu.Framework.Graphics.Primitives;
using osu.Framework.Graphics.Shaders;
using osu.Framework.Graphics.Textures;
using osu.Game.Beatmaps;
-using osu.Game.Graphics;
using System;
using System.Collections.Generic;
using JetBrains.Annotations;
@@ -20,13 +19,14 @@ using osu.Framework.Audio;
using osu.Framework.Audio.Track;
using osu.Framework.Bindables;
using osu.Framework.Utils;
+using osu.Framework.Extensions.Color4Extensions;
namespace osu.Game.Screens.Menu
{
///
/// A visualiser that reacts to music coming from beatmaps.
///
- public class LogoVisualisation : Drawable, IHasAccentColour
+ public class LogoVisualisation : Drawable
{
private readonly IBindable beatmap = new Bindable();
@@ -67,8 +67,6 @@ namespace osu.Game.Screens.Menu
private int indexOffset;
- public Color4 AccentColour { get; set; }
-
///
/// The relative movement of bars based on input amplification. Defaults to 1.
///
@@ -176,7 +174,8 @@ namespace osu.Game.Screens.Menu
// Assuming the logo is a circle, we don't need a second dimension.
private float size;
- private Color4 colour;
+ private static readonly Color4 transparent_white = Color4.White.Opacity(0.2f);
+
private float[] audioData;
private readonly QuadBatch vertexBatch = new QuadBatch(100, 10);
@@ -193,7 +192,6 @@ namespace osu.Game.Screens.Menu
shader = Source.shader;
texture = Source.texture;
size = Source.DrawSize.X;
- colour = Source.AccentColour;
audioData = Source.frequencyAmplitudes;
}
@@ -206,7 +204,7 @@ namespace osu.Game.Screens.Menu
Vector2 inflation = DrawInfo.MatrixInverse.ExtractScale().Xy;
ColourInfo colourInfo = DrawColourInfo.Colour;
- colourInfo.ApplyChild(colour);
+ colourInfo.ApplyChild(transparent_white);
if (audioData != null)
{
diff --git a/osu.Game/Screens/Menu/MenuLogoVisualisation.cs b/osu.Game/Screens/Menu/MenuLogoVisualisation.cs
index 5eb3f1efa0..92add458f9 100644
--- a/osu.Game/Screens/Menu/MenuLogoVisualisation.cs
+++ b/osu.Game/Screens/Menu/MenuLogoVisualisation.cs
@@ -7,7 +7,6 @@ using osu.Game.Online.API;
using osu.Game.Users;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
-using osu.Framework.Extensions.Color4Extensions;
namespace osu.Game.Screens.Menu
{
@@ -28,12 +27,10 @@ namespace osu.Game.Screens.Menu
private void updateColour()
{
- Color4 defaultColour = Color4.White.Opacity(0.2f);
-
if (user.Value?.IsSupporter ?? false)
- AccentColour = skin.Value.GetConfig(GlobalSkinColours.MenuGlow)?.Value ?? defaultColour;
+ Colour = skin.Value.GetConfig(GlobalSkinColours.MenuGlow)?.Value ?? Color4.White;
else
- AccentColour = defaultColour;
+ Colour = Color4.White;
}
}
}
diff --git a/osu.Game/Screens/Menu/OsuLogo.cs b/osu.Game/Screens/Menu/OsuLogo.cs
index 4515ee8ed0..68d23e1a32 100644
--- a/osu.Game/Screens/Menu/OsuLogo.cs
+++ b/osu.Game/Screens/Menu/OsuLogo.cs
@@ -81,6 +81,8 @@ namespace osu.Game.Screens.Menu
set => rippleContainer.FadeTo(value ? 1 : 0, transition_length, Easing.OutQuint);
}
+ private const float visualizer_default_alpha = 0.5f;
+
private readonly Box flashLayer;
private readonly Container impactContainer;
@@ -144,7 +146,7 @@ namespace osu.Game.Screens.Menu
RelativeSizeAxes = Axes.Both,
Origin = Anchor.Centre,
Anchor = Anchor.Centre,
- Alpha = 0.5f,
+ Alpha = visualizer_default_alpha,
Size = new Vector2(0.96f)
},
new Container
@@ -282,8 +284,7 @@ namespace osu.Game.Screens.Menu
this.Delay(early_activation).Schedule(() => sampleBeat.Play());
logoBeatContainer
- .ScaleTo(1 - 0.02f * amplitudeAdjust, early_activation, Easing.Out)
- .Then()
+ .ScaleTo(1 - 0.02f * amplitudeAdjust, early_activation, Easing.Out).Then()
.ScaleTo(1, beatLength * 2, Easing.OutQuint);
ripple.ClearTransforms();
@@ -296,15 +297,13 @@ namespace osu.Game.Screens.Menu
{
flashLayer.ClearTransforms();
flashLayer
- .FadeTo(0.2f * amplitudeAdjust, early_activation, Easing.Out)
- .Then()
+ .FadeTo(0.2f * amplitudeAdjust, early_activation, Easing.Out).Then()
.FadeOut(beatLength);
visualizer.ClearTransforms();
visualizer
- .FadeTo(0.9f * amplitudeAdjust, early_activation, Easing.Out)
- .Then()
- .FadeTo(0.5f, beatLength);
+ .FadeTo(visualizer_default_alpha * 1.8f * amplitudeAdjust, early_activation, Easing.Out).Then()
+ .FadeTo(visualizer_default_alpha, beatLength);
}
}