From 13900d6130f7ac95767615fd649355d9847bc38a Mon Sep 17 00:00:00 2001 From: ColdVolcano Date: Sat, 30 Dec 2017 14:12:47 -0600 Subject: [PATCH 01/14] Use LocalisationEngine on BeatmapInfoWedge --- osu.Game/Screens/Select/BeatmapInfoWedge.cs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/osu.Game/Screens/Select/BeatmapInfoWedge.cs b/osu.Game/Screens/Select/BeatmapInfoWedge.cs index 729cb458c2..c25ba66475 100644 --- a/osu.Game/Screens/Select/BeatmapInfoWedge.cs +++ b/osu.Game/Screens/Select/BeatmapInfoWedge.cs @@ -20,6 +20,7 @@ using osu.Game.Rulesets.Objects; using osu.Game.Rulesets.Objects.Types; using osu.Framework.Graphics.Shapes; using osu.Framework.Graphics.Cursor; +using osu.Framework.Localisation; namespace osu.Game.Screens.Select { @@ -86,6 +87,8 @@ namespace osu.Game.Screens.Select public OsuSpriteText ArtistLabel { get; private set; } public FillFlowContainer MapperContainer { get; private set; } public FillFlowContainer InfoLabelContainer { get; private set; } + private UnicodeBindableString titleBinding; + private UnicodeBindableString artistBinding; public BufferedWedgeInfo(WorkingBeatmap working) { @@ -93,7 +96,7 @@ namespace osu.Game.Screens.Select } [BackgroundDependencyLoader] - private void load() + private void load(LocalisationEngine localisation) { var beatmapInfo = working.BeatmapInfo; var metadata = beatmapInfo.Metadata ?? working.BeatmapSetInfo?.Metadata ?? new BeatmapMetadata(); @@ -102,6 +105,9 @@ namespace osu.Game.Screens.Select CacheDrawnFrameBuffer = true; RelativeSizeAxes = Axes.Both; + titleBinding = localisation.GetUnicodePreference(metadata.TitleUnicode, metadata.Title); + artistBinding = localisation.GetUnicodePreference(metadata.ArtistUnicode, metadata.Artist); + Children = new Drawable[] { // We will create the white-to-black gradient by modulating transparency and having @@ -167,13 +173,11 @@ namespace osu.Game.Screens.Select TitleLabel = new OsuSpriteText { Font = @"Exo2.0-MediumItalic", - Text = string.IsNullOrEmpty(metadata.Source) ? metadata.Title : metadata.Source + " — " + metadata.Title, TextSize = 28, }, ArtistLabel = new OsuSpriteText { Font = @"Exo2.0-MediumItalic", - Text = metadata.Artist, TextSize = 17, }, MapperContainer = new FillFlowContainer @@ -193,6 +197,15 @@ namespace osu.Game.Screens.Select } } }; + artistBinding.ValueChanged += value => setMetadata(metadata.Source); + artistBinding.TriggerChange(); + } + + private void setMetadata(string source) + { + ArtistLabel.Text = artistBinding.Value; + TitleLabel.Text = string.IsNullOrEmpty(source) ? titleBinding.Value : source + " — " + titleBinding.Value; + ForceRedraw(); } private InfoLabel[] getInfoLabels() From d94c3139478783c6becd135ec1c27f1145c2c737 Mon Sep 17 00:00:00 2001 From: Aergwyn Date: Wed, 3 Jan 2018 08:13:58 +0100 Subject: [PATCH 02/14] fix slider follow circle instantly disappearing on slider ends --- .../Objects/Drawables/Pieces/SliderBall.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs index 2068ad9205..e38ff4ac49 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs @@ -108,6 +108,12 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces base.ClearTransforms(false, targetMember); } + public override void ClearTransformsAfter(double time, bool propagateChildren = false, string targetMember = null) + { + // Same reasoning as in ClearTransforms. + base.ClearTransformsAfter(time, false, targetMember); + } + private bool tracking; public bool Tracking { @@ -141,4 +147,4 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces Position = slider.Curve.PositionAt(progress); } } -} \ No newline at end of file +} From 89fe567496cd8da393dc1456fb0853266f0b072c Mon Sep 17 00:00:00 2001 From: james58899 Date: Wed, 3 Jan 2018 17:57:24 +0800 Subject: [PATCH 03/14] use FileSafety.PathSanitise --- osu.Game/Beatmaps/Formats/LegacyStoryboardDecoder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Beatmaps/Formats/LegacyStoryboardDecoder.cs b/osu.Game/Beatmaps/Formats/LegacyStoryboardDecoder.cs index 8da6a0cefb..168f37e44e 100644 --- a/osu.Game/Beatmaps/Formats/LegacyStoryboardDecoder.cs +++ b/osu.Game/Beatmaps/Formats/LegacyStoryboardDecoder.cs @@ -266,6 +266,6 @@ namespace osu.Game.Beatmaps.Formats throw new InvalidDataException($@"Unknown origin: {value}"); } - private string cleanFilename(string path) => FileSafety.PathStandardise(path.Trim('\"')); + private string cleanFilename(string path) => FileSafety.PathSanitise(path.Trim('\"')); } } From da5bc959ad834fd33365ed642924307af7b6b7d3 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Wed, 3 Jan 2018 21:46:39 +0900 Subject: [PATCH 04/14] Fix testcase --- .../Beatmaps/Formats/LegacyStoryboardDecoderTest.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/osu.Game.Tests/Beatmaps/Formats/LegacyStoryboardDecoderTest.cs b/osu.Game.Tests/Beatmaps/Formats/LegacyStoryboardDecoderTest.cs index 839932c640..1b641d1519 100644 --- a/osu.Game.Tests/Beatmaps/Formats/LegacyStoryboardDecoderTest.cs +++ b/osu.Game.Tests/Beatmaps/Formats/LegacyStoryboardDecoderTest.cs @@ -70,7 +70,7 @@ namespace osu.Game.Tests.Beatmaps.Formats Assert.AreEqual(new Vector2(320, 240), sprite.InitialPosition); Assert.IsTrue(sprite.IsDrawable); Assert.AreEqual(Anchor.Centre, sprite.Origin); - Assert.AreEqual("SB/lyric/ja-21.png", sprite.Path); + Assert.AreEqual(Path.Combine("SB", "lyric", "ja-21.png"), sprite.Path); var animation = background.Elements.ElementAt(12) as StoryboardAnimation; Assert.NotNull(animation); @@ -82,7 +82,7 @@ namespace osu.Game.Tests.Beatmaps.Formats Assert.IsTrue(animation.IsDrawable); Assert.AreEqual(AnimationLoopType.LoopForever, animation.LoopType); Assert.AreEqual(Anchor.Centre, animation.Origin); - Assert.AreEqual("SB/red jitter/red_0000.jpg", animation.Path); + Assert.AreEqual(Path.Combine("SB", "red jitter", "red_000.jpg"), animation.Path); Assert.AreEqual(78993, animation.StartTime); } } From 1ce6219293b9998af892af3147edeb3974ddb5da Mon Sep 17 00:00:00 2001 From: Aergwyn Date: Wed, 3 Jan 2018 13:55:24 +0100 Subject: [PATCH 05/14] remove unnecessary override --- .../Objects/Drawables/Pieces/SliderBall.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs index e38ff4ac49..78001e4516 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs @@ -101,16 +101,10 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces // If the current time is between the start and end of the slider, we should track mouse input regardless of the cursor position. public override bool ReceiveMouseInputAt(Vector2 screenSpacePos) => canCurrentlyTrack || base.ReceiveMouseInputAt(screenSpacePos); - public override void ClearTransforms(bool propagateChildren = false, string targetMember = null) + public override void ClearTransformsAfter(double time, bool propagateChildren = false, string targetMember = null) { // Consider the case of rewinding - children's transforms are handled internally, so propagating down // any further will cause weirdness with the Tracking bool below. Let's not propagate further at this point. - base.ClearTransforms(false, targetMember); - } - - public override void ClearTransformsAfter(double time, bool propagateChildren = false, string targetMember = null) - { - // Same reasoning as in ClearTransforms. base.ClearTransformsAfter(time, false, targetMember); } From 823a430d3058857d622486a70755ecdb7fc9e5a3 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Wed, 3 Jan 2018 22:02:54 +0900 Subject: [PATCH 06/14] Nothing to see here, move along --- osu.Game.Tests/Beatmaps/Formats/LegacyStoryboardDecoderTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Tests/Beatmaps/Formats/LegacyStoryboardDecoderTest.cs b/osu.Game.Tests/Beatmaps/Formats/LegacyStoryboardDecoderTest.cs index 1b641d1519..a0904ee446 100644 --- a/osu.Game.Tests/Beatmaps/Formats/LegacyStoryboardDecoderTest.cs +++ b/osu.Game.Tests/Beatmaps/Formats/LegacyStoryboardDecoderTest.cs @@ -82,7 +82,7 @@ namespace osu.Game.Tests.Beatmaps.Formats Assert.IsTrue(animation.IsDrawable); Assert.AreEqual(AnimationLoopType.LoopForever, animation.LoopType); Assert.AreEqual(Anchor.Centre, animation.Origin); - Assert.AreEqual(Path.Combine("SB", "red jitter", "red_000.jpg"), animation.Path); + Assert.AreEqual(Path.Combine("SB", "red jitter", "red_0000.jpg"), animation.Path); Assert.AreEqual(78993, animation.StartTime); } } From f569d5495815fe19e4fa1526eea836ada8caf6ad Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 4 Jan 2018 19:52:29 +0900 Subject: [PATCH 07/14] Local circlesize/od variables --- .../Beatmaps/ManiaBeatmapConverter.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs b/osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs index 755e0e7563..78b8957de6 100644 --- a/osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs +++ b/osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs @@ -37,19 +37,22 @@ namespace osu.Game.Rulesets.Mania.Beatmaps { IsForCurrentRuleset = isForCurrentRuleset; + var roundedCircleSize = Math.Round(original.BeatmapInfo.BaseDifficulty.CircleSize); + var roundedOverallDifficulty = Math.Round(original.BeatmapInfo.BaseDifficulty.OverallDifficulty); + if (isForCurrentRuleset) - TargetColumns = (int)Math.Max(1, Math.Round(original.BeatmapInfo.BaseDifficulty.CircleSize)); + TargetColumns = (int)Math.Max(1, roundedCircleSize); else { float percentSliderOrSpinner = (float)original.HitObjects.Count(h => h is IHasEndTime) / original.HitObjects.Count; if (percentSliderOrSpinner < 0.2) TargetColumns = 7; - else if (percentSliderOrSpinner < 0.3 || Math.Round(original.BeatmapInfo.BaseDifficulty.CircleSize) >= 5) - TargetColumns = Math.Round(original.BeatmapInfo.BaseDifficulty.OverallDifficulty) > 5 ? 7 : 6; + else if (percentSliderOrSpinner < 0.3 || roundedCircleSize >= 5) + TargetColumns = roundedOverallDifficulty > 5 ? 7 : 6; else if (percentSliderOrSpinner > 0.6) - TargetColumns = Math.Round(original.BeatmapInfo.BaseDifficulty.OverallDifficulty) > 4 ? 5 : 4; + TargetColumns = roundedOverallDifficulty > 4 ? 5 : 4; else - TargetColumns = Math.Max(4, Math.Min((int)Math.Round(original.BeatmapInfo.BaseDifficulty.OverallDifficulty) + 1, 7)); + TargetColumns = Math.Max(4, Math.Min((int)roundedOverallDifficulty + 1, 7)); } } From bde957940dd030e134cade0da20e17d64ff1b119 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 4 Jan 2018 20:09:58 +0900 Subject: [PATCH 08/14] Disallow SliderBall from contracting after EndTime --- .../Objects/Drawables/Pieces/SliderBall.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs index 78001e4516..864251b47b 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs @@ -129,11 +129,14 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces { base.Update(); - // Make sure to use the base version of ReceiveMouseInputAt so that we correctly check the position. - Tracking = canCurrentlyTrack - && lastState != null - && base.ReceiveMouseInputAt(lastState.Mouse.NativeState.Position) - && ((Parent as DrawableSlider)?.OsuActionInputManager?.PressedActions.Any(x => x == OsuAction.LeftButton || x == OsuAction.RightButton) ?? false); + if (Time.Current < slider.EndTime) + { + // Make sure to use the base version of ReceiveMouseInputAt so that we correctly check the position. + Tracking = canCurrentlyTrack + && lastState != null + && base.ReceiveMouseInputAt(lastState.Mouse.NativeState.Position) + && ((Parent as DrawableSlider)?.OsuActionInputManager?.PressedActions.Any(x => x == OsuAction.LeftButton || x == OsuAction.RightButton) ?? false); + } } public void UpdateProgress(double progress, int repeat) From ffc7f7ecf432755b1b4f59bfd9f180c9a23c97d9 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 4 Jan 2018 20:10:13 +0900 Subject: [PATCH 09/14] Add a better slider "hit" state fade out animation --- .../Objects/Drawables/DrawableSlider.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs index 5a8bcae277..2a7a42a5a5 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs @@ -161,11 +161,21 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables using (BeginDelayedSequence(slider.Duration, true)) { - Body.FadeOut(160); - Ball.FadeOut(160); + Body.FadeOut(450, Easing.OutQuint); + Ball.FadeOut(450, Easing.OutQuint); - this.FadeOut(800) - .Expire(); + switch (state) + { + case ArmedState.Idle: + break; + case ArmedState.Hit: + Ball.ScaleTo(HitObject.Scale * 1.5f, 450, Easing.OutQuint); + break; + case ArmedState.Miss: + break; + } + + this.FadeOut(800, Easing.Out).Expire(); } } From 155e84d2b70a798bf5f07dbf1a98a0b0d08a8cd8 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 4 Jan 2018 20:24:59 +0900 Subject: [PATCH 10/14] Update framework --- osu-framework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu-framework b/osu-framework index 6134dafccb..8366ab1705 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit 6134dafccb3368dac96d837537325c04b89fb8ee +Subproject commit 8366ab17059b8964b0fd6d1ef4f07b0f3412c2ec From 1f62fe19d55337209a0b69ace46ab7f14ac6c5ec Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 4 Jan 2018 20:43:42 +0900 Subject: [PATCH 11/14] Make animation a bit more subtle --- osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs | 8 +++++--- .../Objects/Drawables/Pieces/SliderBall.cs | 8 ++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs index 2a7a42a5a5..5f46b5b36e 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs @@ -161,15 +161,17 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables using (BeginDelayedSequence(slider.Duration, true)) { - Body.FadeOut(450, Easing.OutQuint); - Ball.FadeOut(450, Easing.OutQuint); + const float fade_out_time = 450; + + Body.FadeOut(fade_out_time, Easing.Out); + Ball.FadeOut(fade_out_time / 4, Easing.Out); switch (state) { case ArmedState.Idle: break; case ArmedState.Hit: - Ball.ScaleTo(HitObject.Scale * 1.5f, 450, Easing.OutQuint); + Ball.ScaleTo(HitObject.Scale * 1.4f, fade_out_time, Easing.Out); break; case ArmedState.Miss: break; diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs index 864251b47b..46b4353f9a 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBall.cs @@ -31,7 +31,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces } private readonly Slider slider; - private readonly Box follow; + public readonly Box FollowCircle; private readonly Box ball; public SliderBall(Slider slider) @@ -46,7 +46,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces Children = new Drawable[] { - follow = new Box + FollowCircle = new Box { Origin = Anchor.Centre, Anchor = Anchor.Centre, @@ -118,8 +118,8 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces return; tracking = value; - follow.ScaleTo(tracking ? 2.8f : 1, 300, Easing.OutQuint); - follow.FadeTo(tracking ? 0.2f : 0, 300, Easing.OutQuint); + FollowCircle.ScaleTo(tracking ? 2.8f : 1, 300, Easing.OutQuint); + FollowCircle.FadeTo(tracking ? 0.2f : 0, 300, Easing.OutQuint); } } From 717b263b772590df54294f42e370d4e8e09cfe5c Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 4 Jan 2018 20:47:42 +0900 Subject: [PATCH 12/14] Comment and better stacking of FadeOuts --- osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs index 5f46b5b36e..61b992cc95 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs @@ -163,7 +163,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables { const float fade_out_time = 450; - Body.FadeOut(fade_out_time, Easing.Out); + // intentionally pile on an extra FadeOut to make it happen much faster. Ball.FadeOut(fade_out_time / 4, Easing.Out); switch (state) @@ -177,7 +177,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables break; } - this.FadeOut(800, Easing.Out).Expire(); + this.FadeOut(fade_out_time, Easing.OutQuint).Expire(); } } From 0cc8516aa3b044c993c8a34cb5dc7ec24c783946 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 4 Jan 2018 20:53:33 +0900 Subject: [PATCH 13/14] Remove empty cases, add initial ball scale adjust. --- osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs index 61b992cc95..f32a027f2e 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs @@ -158,6 +158,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables protected override void UpdateCurrentState(ArmedState state) { Ball.FadeIn(); + Ball.ScaleTo(HitObject.Scale); using (BeginDelayedSequence(slider.Duration, true)) { @@ -168,13 +169,9 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables switch (state) { - case ArmedState.Idle: - break; case ArmedState.Hit: Ball.ScaleTo(HitObject.Scale * 1.4f, fade_out_time, Easing.Out); break; - case ArmedState.Miss: - break; } this.FadeOut(fade_out_time, Easing.OutQuint).Expire(); From 5eb2dc3d6457fac9028b34e479329bff2ef242e7 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Fri, 5 Jan 2018 01:20:24 +0900 Subject: [PATCH 14/14] Cleanup some possible CI errors Not sure why these aren't being detected on master right now - they should be... --- osu.Game/Beatmaps/ControlPoints/ControlPointInfo.cs | 6 +++--- osu.Game/Graphics/UserInterface/LineGraph.cs | 2 -- osu.Game/IO/Serialization/Converters/TypedListConverter.cs | 4 ++-- .../Overlays/Profile/Sections/Ranks/DrawableProfileScore.cs | 2 -- osu.Game/Rulesets/Mods/IApplicableToDrawableHitObject.cs | 2 +- osu.Game/Screens/Loader.cs | 2 -- osu.Game/Screens/Select/Carousel/CarouselGroup.cs | 2 -- .../Screens/Select/Carousel/DrawableCarouselBeatmapSet.cs | 2 -- .../Select/Leaderboards/RetrievalFailurePlaceholder.cs | 2 +- 9 files changed, 7 insertions(+), 17 deletions(-) diff --git a/osu.Game/Beatmaps/ControlPoints/ControlPointInfo.cs b/osu.Game/Beatmaps/ControlPoints/ControlPointInfo.cs index f031ebe353..59123380af 100644 --- a/osu.Game/Beatmaps/ControlPoints/ControlPointInfo.cs +++ b/osu.Game/Beatmaps/ControlPoints/ControlPointInfo.cs @@ -64,24 +64,24 @@ namespace osu.Game.Beatmaps.ControlPoints /// The timing control point. public TimingControlPoint TimingPointAt(double time) => binarySearch(TimingPoints, time, TimingPoints.FirstOrDefault()); - [JsonIgnore] /// /// Finds the maximum BPM represented by any timing control point. /// + [JsonIgnore] public double BPMMaximum => 60000 / (TimingPoints.OrderBy(c => c.BeatLength).FirstOrDefault() ?? new TimingControlPoint()).BeatLength; - [JsonIgnore] /// /// Finds the minimum BPM represented by any timing control point. /// + [JsonIgnore] public double BPMMinimum => 60000 / (TimingPoints.OrderByDescending(c => c.BeatLength).FirstOrDefault() ?? new TimingControlPoint()).BeatLength; - [JsonIgnore] /// /// Finds the mode BPM (most common BPM) represented by the control points. /// + [JsonIgnore] public double BPMMode => 60000 / (TimingPoints.GroupBy(c => c.BeatLength).OrderByDescending(grp => grp.Count()).FirstOrDefault()?.FirstOrDefault() ?? new TimingControlPoint()).BeatLength; diff --git a/osu.Game/Graphics/UserInterface/LineGraph.cs b/osu.Game/Graphics/UserInterface/LineGraph.cs index ea74c67f6c..35e3f10526 100644 --- a/osu.Game/Graphics/UserInterface/LineGraph.cs +++ b/osu.Game/Graphics/UserInterface/LineGraph.cs @@ -73,8 +73,6 @@ namespace osu.Game.Graphics.UserInterface }); } - private bool pending; - public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true) { if ((invalidation & Invalidation.DrawSize) > 0) diff --git a/osu.Game/IO/Serialization/Converters/TypedListConverter.cs b/osu.Game/IO/Serialization/Converters/TypedListConverter.cs index b218f76b53..d63cceccf3 100644 --- a/osu.Game/IO/Serialization/Converters/TypedListConverter.cs +++ b/osu.Game/IO/Serialization/Converters/TypedListConverter.cs @@ -9,11 +9,11 @@ using Newtonsoft.Json.Linq; namespace osu.Game.IO.Serialization.Converters { /// - /// A type of that serializes a alongside + /// A type of that serializes a alongside /// a lookup table for the types contained. The lookup table is used in deserialization to /// reconstruct the objects with their original types. /// - /// The type of objects contained in the this attribute is attached to. + /// The type of objects contained in the this attribute is attached to. public class TypedListConverter : JsonConverter { private readonly bool requiresTypeVersion; diff --git a/osu.Game/Overlays/Profile/Sections/Ranks/DrawableProfileScore.cs b/osu.Game/Overlays/Profile/Sections/Ranks/DrawableProfileScore.cs index 06e4684d4c..e40ce14326 100644 --- a/osu.Game/Overlays/Profile/Sections/Ranks/DrawableProfileScore.cs +++ b/osu.Game/Overlays/Profile/Sections/Ranks/DrawableProfileScore.cs @@ -4,7 +4,6 @@ using OpenTK; using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.Containers; using osu.Game.Graphics; using osu.Game.Graphics.Sprites; using osu.Game.Rulesets.Mods; @@ -16,7 +15,6 @@ namespace osu.Game.Overlays.Profile.Sections.Ranks { public abstract class DrawableProfileScore : DrawableProfileRow { - private readonly FillFlowContainer metadata; private readonly ScoreModsContainer modsContainer; protected readonly Score Score; diff --git a/osu.Game/Rulesets/Mods/IApplicableToDrawableHitObject.cs b/osu.Game/Rulesets/Mods/IApplicableToDrawableHitObject.cs index 66dbc85095..fb9d7128c0 100644 --- a/osu.Game/Rulesets/Mods/IApplicableToDrawableHitObject.cs +++ b/osu.Game/Rulesets/Mods/IApplicableToDrawableHitObject.cs @@ -14,7 +14,7 @@ namespace osu.Game.Rulesets.Mods /// /// Applies this to a list of s. /// - /// The list of s to apply to. + /// The list of s to apply to. void ApplyToDrawableHitObjects(IEnumerable drawables); } } diff --git a/osu.Game/Screens/Loader.cs b/osu.Game/Screens/Loader.cs index c96194f63d..1f332312ba 100644 --- a/osu.Game/Screens/Loader.cs +++ b/osu.Game/Screens/Loader.cs @@ -101,8 +101,6 @@ namespace osu.Game.Screens loadTargets.Add(manager.Load(VertexShaderDescriptor.TEXTURE_3, FragmentShaderDescriptor.TEXTURE)); } - private Shader currentLoadTarget; - protected override void Update() { base.Update(); diff --git a/osu.Game/Screens/Select/Carousel/CarouselGroup.cs b/osu.Game/Screens/Select/Carousel/CarouselGroup.cs index a54eeb562e..a600693e31 100644 --- a/osu.Game/Screens/Select/Carousel/CarouselGroup.cs +++ b/osu.Game/Screens/Select/Carousel/CarouselGroup.cs @@ -10,8 +10,6 @@ namespace osu.Game.Screens.Select.Carousel /// public class CarouselGroup : CarouselItem { - private readonly List items; - protected override DrawableCarouselItem CreateDrawableRepresentation() => null; public IReadOnlyList Children => InternalChildren; diff --git a/osu.Game/Screens/Select/Carousel/DrawableCarouselBeatmapSet.cs b/osu.Game/Screens/Select/Carousel/DrawableCarouselBeatmapSet.cs index 4b999f9b87..40ffcfdc80 100644 --- a/osu.Game/Screens/Select/Carousel/DrawableCarouselBeatmapSet.cs +++ b/osu.Game/Screens/Select/Carousel/DrawableCarouselBeatmapSet.cs @@ -31,8 +31,6 @@ namespace osu.Game.Screens.Select.Carousel private readonly BeatmapSetInfo beatmapSet; - private readonly FillFlowContainer difficultyIcons; - public DrawableCarouselBeatmapSet(CarouselBeatmapSet set) : base(set) { diff --git a/osu.Game/Screens/Select/Leaderboards/RetrievalFailurePlaceholder.cs b/osu.Game/Screens/Select/Leaderboards/RetrievalFailurePlaceholder.cs index 7563c08c8b..69a478f12a 100644 --- a/osu.Game/Screens/Select/Leaderboards/RetrievalFailurePlaceholder.cs +++ b/osu.Game/Screens/Select/Leaderboards/RetrievalFailurePlaceholder.cs @@ -40,7 +40,7 @@ namespace osu.Game.Screens.Select.Leaderboards { private readonly SpriteIcon icon; - public Action Action; + public new Action Action; public RetryButton() {