diff --git a/osu.Desktop/osu.Desktop.csproj b/osu.Desktop/osu.Desktop.csproj
index 803927bc6f..1e8bf05e01 100644
--- a/osu.Desktop/osu.Desktop.csproj
+++ b/osu.Desktop/osu.Desktop.csproj
@@ -27,9 +27,9 @@
-
-
-
+
+
+
diff --git a/osu.Game.Rulesets.Catch.Tests/osu.Game.Rulesets.Catch.Tests.csproj b/osu.Game.Rulesets.Catch.Tests/osu.Game.Rulesets.Catch.Tests.csproj
index 51343d9e91..9e89539e25 100644
--- a/osu.Game.Rulesets.Catch.Tests/osu.Game.Rulesets.Catch.Tests.csproj
+++ b/osu.Game.Rulesets.Catch.Tests/osu.Game.Rulesets.Catch.Tests.csproj
@@ -2,8 +2,8 @@
-
-
+
+
diff --git a/osu.Game.Rulesets.Mania.Tests/osu.Game.Rulesets.Mania.Tests.csproj b/osu.Game.Rulesets.Mania.Tests/osu.Game.Rulesets.Mania.Tests.csproj
index 3165f69a6b..724614e8d5 100644
--- a/osu.Game.Rulesets.Mania.Tests/osu.Game.Rulesets.Mania.Tests.csproj
+++ b/osu.Game.Rulesets.Mania.Tests/osu.Game.Rulesets.Mania.Tests.csproj
@@ -3,7 +3,7 @@
-
+
diff --git a/osu.Game.Rulesets.Osu.Tests/osu.Game.Rulesets.Osu.Tests.csproj b/osu.Game.Rulesets.Osu.Tests/osu.Game.Rulesets.Osu.Tests.csproj
index 247d5e18c1..69982b1914 100644
--- a/osu.Game.Rulesets.Osu.Tests/osu.Game.Rulesets.Osu.Tests.csproj
+++ b/osu.Game.Rulesets.Osu.Tests/osu.Game.Rulesets.Osu.Tests.csproj
@@ -3,7 +3,7 @@
-
+
diff --git a/osu.Game.Rulesets.Osu/Mods/OsuModWiggle.cs b/osu.Game.Rulesets.Osu/Mods/OsuModWiggle.cs
index 2e601c9078..e0a93453ce 100644
--- a/osu.Game.Rulesets.Osu/Mods/OsuModWiggle.cs
+++ b/osu.Game.Rulesets.Osu/Mods/OsuModWiggle.cs
@@ -37,6 +37,11 @@ namespace osu.Game.Rulesets.Osu.Mods
var osuObject = (OsuHitObject)drawable.HitObject;
Vector2 origin = drawable.Position;
+ // Wiggle the repeat points with the slider instead of independently.
+ // Also fixes an issue with repeat points being positioned incorrectly.
+ if (osuObject is RepeatPoint)
+ return;
+
Random objRand = new Random((int)osuObject.StartTime);
// Wiggle all objects during TimePreempt
diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBody.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBody.cs
index f3924ec43b..f4ccf673e9 100644
--- a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBody.cs
+++ b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBody.cs
@@ -8,26 +8,23 @@ using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Lines;
-using osu.Framework.Graphics.Textures;
using OpenTK.Graphics.ES30;
using OpenTK.Graphics;
using osu.Framework.Graphics.Primitives;
using osu.Game.Rulesets.Objects.Types;
using OpenTK;
-using SixLabors.ImageSharp;
-using SixLabors.ImageSharp.PixelFormats;
namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
{
public class SliderBody : Container, ISliderProgress
{
- private readonly Path path;
+ private readonly SliderPath path;
private readonly BufferedContainer container;
public float PathWidth
{
- get { return path.PathWidth; }
- set { path.PathWidth = value; }
+ get => path.PathWidth;
+ set => path.PathWidth = value;
}
///
@@ -43,48 +40,40 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
public double? SnakedStart { get; private set; }
public double? SnakedEnd { get; private set; }
- private Color4 accentColour = Color4.White;
-
///
/// Used to colour the path.
///
public Color4 AccentColour
{
- get { return accentColour; }
+ get => path.AccentColour;
set
{
- if (accentColour == value)
+ if (path.AccentColour == value)
return;
- accentColour = value;
+ path.AccentColour = value;
- if (LoadState >= LoadState.Ready)
- reloadTexture();
+ container.ForceRedraw();
}
}
- private Color4 borderColour = Color4.White;
-
///
/// Used to colour the path border.
///
public new Color4 BorderColour
{
- get { return borderColour; }
+ get => path.BorderColour;
set
{
- if (borderColour == value)
+ if (path.BorderColour == value)
return;
- borderColour = value;
+ path.BorderColour = value;
- if (LoadState >= LoadState.Ready)
- reloadTexture();
+ container.ForceRedraw();
}
}
public Quad PathDrawQuad => container.ScreenSpaceDrawQuad;
- private int textureWidth => (int)PathWidth * 2;
-
private Vector2 topLeftOffset;
private readonly Slider slider;
@@ -101,7 +90,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
CacheDrawnFrameBuffer = true,
Children = new Drawable[]
{
- path = new Path
+ path = new SliderPath
{
Blending = BlendingMode.None,
},
@@ -134,46 +123,9 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
[BackgroundDependencyLoader]
private void load()
{
- reloadTexture();
computeSize();
}
- private void reloadTexture()
- {
- var texture = new Texture(textureWidth, 1);
-
- //initialise background
- var raw = new Image(textureWidth, 1);
-
- const float aa_portion = 0.02f;
- const float border_portion = 0.128f;
- const float gradient_portion = 1 - border_portion;
-
- const float opacity_at_centre = 0.3f;
- const float opacity_at_edge = 0.8f;
-
- for (int i = 0; i < textureWidth; i++)
- {
- float progress = (float)i / (textureWidth - 1);
-
- if (progress <= border_portion)
- {
- raw[i, 0] = new Rgba32(BorderColour.R, BorderColour.G, BorderColour.B, Math.Min(progress / aa_portion, 1) * BorderColour.A);
- }
- else
- {
- progress -= border_portion;
- raw[i, 0] = new Rgba32(AccentColour.R, AccentColour.G, AccentColour.B,
- (opacity_at_edge - (opacity_at_edge - opacity_at_centre) * progress / gradient_portion) * AccentColour.A);
- }
- }
-
- texture.SetData(new TextureUpload(raw));
- path.Texture = texture;
-
- container.ForceRedraw();
- }
-
private void computeSize()
{
// Generate the entire curve
@@ -226,5 +178,53 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
SetRange(start, end);
}
+
+ private class SliderPath : SmoothPath
+ {
+ private const float border_portion = 0.128f;
+ private const float gradient_portion = 1 - border_portion;
+
+ private const float opacity_at_centre = 0.3f;
+ private const float opacity_at_edge = 0.8f;
+
+ private Color4 borderColour = Color4.White;
+
+ public Color4 BorderColour
+ {
+ get => borderColour;
+ set
+ {
+ if (borderColour == value)
+ return;
+ borderColour = value;
+
+ InvalidateTexture();
+ }
+ }
+
+ private Color4 accentColour = Color4.White;
+
+ public Color4 AccentColour
+ {
+ get => accentColour;
+ set
+ {
+ if (accentColour == value)
+ return;
+ accentColour = value;
+
+ InvalidateTexture();
+ }
+ }
+
+ protected override Color4 ColourAt(float position)
+ {
+ if (position <= border_portion)
+ return BorderColour;
+
+ position -= border_portion;
+ return new Color4(AccentColour.R, AccentColour.G, AccentColour.B, (opacity_at_edge - (opacity_at_edge - opacity_at_centre) * position / gradient_portion) * AccentColour.A);
+ }
+ }
}
}
diff --git a/osu.Game.Rulesets.Osu/OsuInputManager.cs b/osu.Game.Rulesets.Osu/OsuInputManager.cs
index 0f7bc30888..e2f4c43a23 100644
--- a/osu.Game.Rulesets.Osu/OsuInputManager.cs
+++ b/osu.Game.Rulesets.Osu/OsuInputManager.cs
@@ -45,10 +45,10 @@ namespace osu.Game.Rulesets.Osu
public enum OsuAction
{
- [Description("Left Button")]
+ [Description("Left button")]
LeftButton,
- [Description("Right Button")]
+ [Description("Right button")]
RightButton
}
}
diff --git a/osu.Game.Rulesets.Taiko.Tests/osu.Game.Rulesets.Taiko.Tests.csproj b/osu.Game.Rulesets.Taiko.Tests/osu.Game.Rulesets.Taiko.Tests.csproj
index 08a0579561..11d6025f6d 100644
--- a/osu.Game.Rulesets.Taiko.Tests/osu.Game.Rulesets.Taiko.Tests.csproj
+++ b/osu.Game.Rulesets.Taiko.Tests/osu.Game.Rulesets.Taiko.Tests.csproj
@@ -3,7 +3,7 @@
-
+
diff --git a/osu.Game.Rulesets.Taiko/TaikoInputManager.cs b/osu.Game.Rulesets.Taiko/TaikoInputManager.cs
index dc683ae2f5..3b430e7ad1 100644
--- a/osu.Game.Rulesets.Taiko/TaikoInputManager.cs
+++ b/osu.Game.Rulesets.Taiko/TaikoInputManager.cs
@@ -17,13 +17,13 @@ namespace osu.Game.Rulesets.Taiko
public enum TaikoAction
{
- [Description("Left (Rim)")]
+ [Description("Left (rim)")]
LeftRim,
- [Description("Left (Centre)")]
+ [Description("Left (centre)")]
LeftCentre,
- [Description("Right (Centre)")]
+ [Description("Right (centre)")]
RightCentre,
- [Description("Right (Rim)")]
+ [Description("Right (rim)")]
RightRim
}
}
diff --git a/osu.Game.Tests/osu.Game.Tests.csproj b/osu.Game.Tests/osu.Game.Tests.csproj
index d638af0c38..eb9d819fcb 100644
--- a/osu.Game.Tests/osu.Game.Tests.csproj
+++ b/osu.Game.Tests/osu.Game.Tests.csproj
@@ -3,7 +3,7 @@
-
+
diff --git a/osu.Game/Graphics/UserInterface/LineGraph.cs b/osu.Game/Graphics/UserInterface/LineGraph.cs
index 3cb2446acc..ff2c4cf7cd 100644
--- a/osu.Game/Graphics/UserInterface/LineGraph.cs
+++ b/osu.Game/Graphics/UserInterface/LineGraph.cs
@@ -69,7 +69,7 @@ namespace osu.Game.Graphics.UserInterface
{
Masking = true,
RelativeSizeAxes = Axes.Both,
- Child = path = new Path { RelativeSizeAxes = Axes.Both, PathWidth = 1 }
+ Child = path = new SmoothPath { RelativeSizeAxes = Axes.Both, PathWidth = 1 }
});
}
diff --git a/osu.Game/Input/Bindings/GlobalActionContainer.cs b/osu.Game/Input/Bindings/GlobalActionContainer.cs
index b21deff509..2f5f1aea3f 100644
--- a/osu.Game/Input/Bindings/GlobalActionContainer.cs
+++ b/osu.Game/Input/Bindings/GlobalActionContainer.cs
@@ -71,17 +71,17 @@ namespace osu.Game.Input.Bindings
ToggleSettings,
[Description("Toggle osu!direct")]
ToggleDirect,
- [Description("Increase Volume")]
+ [Description("Increase volume")]
IncreaseVolume,
- [Description("Decrease Volume")]
+ [Description("Decrease volume")]
DecreaseVolume,
[Description("Toggle mute")]
ToggleMute,
// In-Game Keybindings
- [Description("Skip Cutscene")]
+ [Description("Skip cutscene")]
SkipCutscene,
- [Description("Quick Retry (Hold)")]
+ [Description("Quick retry (hold)")]
QuickRetry,
[Description("Take screenshot")]
diff --git a/osu.Game/Overlays/ChatOverlay.cs b/osu.Game/Overlays/ChatOverlay.cs
index eeadac8e8c..ff2ff9af14 100644
--- a/osu.Game/Overlays/ChatOverlay.cs
+++ b/osu.Game/Overlays/ChatOverlay.cs
@@ -291,7 +291,7 @@ namespace osu.Game.Overlays
messageRequest?.Cancel();
ListChannelsRequest req = new ListChannelsRequest();
- req.Success += delegate (List channels)
+ req.Success += delegate(List channels)
{
AvailableChannels = channels;
@@ -323,10 +323,7 @@ namespace osu.Game.Overlays
protected Channel CurrentChannel
{
- get
- {
- return currentChannel;
- }
+ get { return currentChannel; }
set
{
@@ -445,13 +442,7 @@ namespace osu.Game.Overlays
if (updates?.Presence != null)
{
foreach (var channel in updates.Presence)
- {
- if (careChannels.Find(c => c.Id == channel.Id) == null)
- {
- channel.Joined.Value = true;
- addChannel(channel);
- }
- }
+ addChannel(AvailableChannels.Find(c => c.Id == channel.Id));
foreach (var group in updates.Messages.GroupBy(m => m.ChannelId))
careChannels.Find(c => c.Id == group.Key)?.AddNewMessages(group.ToArray());
@@ -462,10 +453,7 @@ namespace osu.Game.Overlays
fetchReq = null;
};
- fetchReq.Failure += delegate
- {
- fetchReq = null;
- };
+ fetchReq.Failure += delegate { fetchReq = null; };
api.Queue(fetchReq);
}
diff --git a/osu.Game/Overlays/Settings/Sections/Audio/OffsetSettings.cs b/osu.Game/Overlays/Settings/Sections/Audio/OffsetSettings.cs
index 0fe41327db..da96c6ef30 100644
--- a/osu.Game/Overlays/Settings/Sections/Audio/OffsetSettings.cs
+++ b/osu.Game/Overlays/Settings/Sections/Audio/OffsetSettings.cs
@@ -19,7 +19,7 @@ namespace osu.Game.Overlays.Settings.Sections.Audio
{
new SettingsSlider
{
- LabelText = "Audio Offset",
+ LabelText = "Audio offset",
Bindable = config.GetBindable(OsuSetting.AudioOffset),
KeyboardStep = 1f
},
diff --git a/osu.Game/Overlays/Settings/Sections/Audio/VolumeSettings.cs b/osu.Game/Overlays/Settings/Sections/Audio/VolumeSettings.cs
index 369c751448..fa4a714ba3 100644
--- a/osu.Game/Overlays/Settings/Sections/Audio/VolumeSettings.cs
+++ b/osu.Game/Overlays/Settings/Sections/Audio/VolumeSettings.cs
@@ -18,7 +18,7 @@ namespace osu.Game.Overlays.Settings.Sections.Audio
Children = new Drawable[]
{
new SettingsSlider { LabelText = "Master", Bindable = audio.Volume, KeyboardStep = 0.01f },
- new SettingsSlider { LabelText = "Master (Window Inactive)", Bindable = config.GetBindable(OsuSetting.VolumeInactive), KeyboardStep = 0.01f },
+ new SettingsSlider { LabelText = "Master (window inactive)", Bindable = config.GetBindable(OsuSetting.VolumeInactive), KeyboardStep = 0.01f },
new SettingsSlider { LabelText = "Effect", Bindable = audio.VolumeSample, KeyboardStep = 0.01f },
new SettingsSlider { LabelText = "Music", Bindable = audio.VolumeTrack, KeyboardStep = 0.01f },
};
diff --git a/osu.Game/Overlays/Settings/Sections/Input/KeyboardSettings.cs b/osu.Game/Overlays/Settings/Sections/Input/KeyboardSettings.cs
index 456d1c9a2f..51b0296ca4 100644
--- a/osu.Game/Overlays/Settings/Sections/Input/KeyboardSettings.cs
+++ b/osu.Game/Overlays/Settings/Sections/Input/KeyboardSettings.cs
@@ -15,7 +15,7 @@ namespace osu.Game.Overlays.Settings.Sections.Input
{
new SettingsButton
{
- Text = "Key Configuration",
+ Text = "Key configuration",
Action = keyConfig.ToggleVisibility
},
};
diff --git a/osu.Game/Overlays/Settings/Sections/Input/MouseSettings.cs b/osu.Game/Overlays/Settings/Sections/Input/MouseSettings.cs
index 2b643b6805..7b9b7bf57f 100644
--- a/osu.Game/Overlays/Settings/Sections/Input/MouseSettings.cs
+++ b/osu.Game/Overlays/Settings/Sections/Input/MouseSettings.cs
@@ -26,12 +26,12 @@ namespace osu.Game.Overlays.Settings.Sections.Input
{
new SettingsCheckbox
{
- LabelText = "Raw Input",
+ LabelText = "Raw input",
Bindable = rawInputToggle
},
sensitivity = new SensitivitySetting
{
- LabelText = "Cursor Sensitivity",
+ LabelText = "Cursor sensitivity",
Bindable = config.GetBindable(FrameworkSetting.CursorSensitivity)
},
new SettingsCheckbox
diff --git a/osu.Game/Overlays/Toolbar/ToolbarRulesetSelector.cs b/osu.Game/Overlays/Toolbar/ToolbarRulesetSelector.cs
index 7470dd0cd5..fa35e53531 100644
--- a/osu.Game/Overlays/Toolbar/ToolbarRulesetSelector.cs
+++ b/osu.Game/Overlays/Toolbar/ToolbarRulesetSelector.cs
@@ -105,6 +105,8 @@ namespace osu.Game.Overlays.Toolbar
public override bool HandleNonPositionalInput => !ruleset.Disabled && base.HandleNonPositionalInput;
public override bool HandlePositionalInput => !ruleset.Disabled && base.HandlePositionalInput;
+ public override bool PropagatePositionalInputSubTree => !ruleset.Disabled && base.PropagatePositionalInputSubTree;
+
private void disabledChanged(bool isDisabled) => this.FadeColour(isDisabled ? Color4.Gray : Color4.White, 300);
protected override void Update()
diff --git a/osu.Game/Rulesets/Mods/IApplicableToDrawableHitObject.cs b/osu.Game/Rulesets/Mods/IApplicableToDrawableHitObject.cs
index d871cdd322..fca04ca513 100644
--- a/osu.Game/Rulesets/Mods/IApplicableToDrawableHitObject.cs
+++ b/osu.Game/Rulesets/Mods/IApplicableToDrawableHitObject.cs
@@ -13,6 +13,7 @@ namespace osu.Game.Rulesets.Mods
{
///
/// Applies this to a list of s.
+ /// This will only be invoked with top-level s. Access if adjusting nested objects is necessary.
///
/// The list of s to apply to.
void ApplyToDrawableHitObjects(IEnumerable drawables);
diff --git a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
index 8489f0b19e..bcf84b375f 100644
--- a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
+++ b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
@@ -145,7 +145,7 @@ namespace osu.Game.Rulesets.Objects.Drawables
public event Action ApplyCustomUpdateState;
///
- /// Plays all the hitsounds for this .
+ /// Plays all the hit sounds for this .
///
public void PlaySamples() => Samples?.Play();
diff --git a/osu.Game/Rulesets/Objects/HitObject.cs b/osu.Game/Rulesets/Objects/HitObject.cs
index beb9620f78..f5613e927f 100644
--- a/osu.Game/Rulesets/Objects/HitObject.cs
+++ b/osu.Game/Rulesets/Objects/HitObject.cs
@@ -1,10 +1,8 @@
// Copyright (c) 2007-2018 ppy Pty Ltd .
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
-using System;
using System.Collections.Generic;
using Newtonsoft.Json;
-using osu.Framework.Extensions.IEnumerableExtensions;
using osu.Framework.Lists;
using osu.Game.Audio;
using osu.Game.Beatmaps;
@@ -58,10 +56,10 @@ namespace osu.Game.Rulesets.Objects
///
public HitWindows HitWindows { get; set; }
- private readonly Lazy> nestedHitObjects = new Lazy>(() => new SortedList((h1, h2) => h1.StartTime.CompareTo(h2.StartTime)));
+ private readonly SortedList nestedHitObjects = new SortedList(compareObjects);
[JsonIgnore]
- public IReadOnlyList NestedHitObjects => nestedHitObjects.Value;
+ public IReadOnlyList NestedHitObjects => nestedHitObjects;
///
/// Applies default values to this HitObject.
@@ -72,18 +70,14 @@ namespace osu.Game.Rulesets.Objects
{
ApplyDefaultsToSelf(controlPointInfo, difficulty);
- if (nestedHitObjects.IsValueCreated)
- nestedHitObjects.Value.Clear();
+ nestedHitObjects.Clear();
CreateNestedHitObjects();
- if (nestedHitObjects.IsValueCreated)
+ foreach (var h in nestedHitObjects)
{
- nestedHitObjects.Value.ForEach(h =>
- {
- h.HitWindows = HitWindows;
- h.ApplyDefaults(controlPointInfo, difficulty);
- });
+ h.HitWindows = HitWindows;
+ h.ApplyDefaults(controlPointInfo, difficulty);
}
}
@@ -104,7 +98,7 @@ namespace osu.Game.Rulesets.Objects
{
}
- protected void AddNested(HitObject hitObject) => nestedHitObjects.Value.Add(hitObject);
+ protected void AddNested(HitObject hitObject) => nestedHitObjects.Add(hitObject);
///
/// Creates the that represents the scoring information for this .
@@ -120,5 +114,7 @@ namespace osu.Game.Rulesets.Objects
///
///
protected virtual HitWindows CreateHitWindows() => new HitWindows();
+
+ private static int compareObjects(HitObject first, HitObject second) => first.StartTime.CompareTo(second.StartTime);
}
}
diff --git a/osu.Game/Rulesets/UI/Scrolling/ScrollingDirection.cs b/osu.Game/Rulesets/UI/Scrolling/ScrollingDirection.cs
index 4fe727cb84..d0db8f8835 100644
--- a/osu.Game/Rulesets/UI/Scrolling/ScrollingDirection.cs
+++ b/osu.Game/Rulesets/UI/Scrolling/ScrollingDirection.cs
@@ -6,19 +6,19 @@ namespace osu.Game.Rulesets.UI.Scrolling
public enum ScrollingDirection
{
///
- /// Hitobjects will scroll vertically from the bottom of the hitobject container.
+ /// Hit objects will scroll vertically from the bottom of the hitobject container.
///
Up,
///
- /// Hitobjects will scroll vertically from the top of the hitobject container.
+ /// Hit objects will scroll vertically from the top of the hitobject container.
///
Down,
///
- /// Hitobjects will scroll horizontally from the right of the hitobject container.
+ /// Hit objects will scroll horizontally from the right of the hitobject container.
///
Left,
///
- /// Hitobjects will scroll horizontally from the left of the hitobject container.
+ /// Hit objects will scroll horizontally from the left of the hitobject container.
///
Right
}
diff --git a/osu.Game/Screens/Edit/Components/PlaybackControl.cs b/osu.Game/Screens/Edit/Components/PlaybackControl.cs
index c5b6251216..3c8288f04a 100644
--- a/osu.Game/Screens/Edit/Components/PlaybackControl.cs
+++ b/osu.Game/Screens/Edit/Components/PlaybackControl.cs
@@ -44,7 +44,7 @@ namespace osu.Game.Screens.Edit.Components
new OsuSpriteText
{
Origin = Anchor.BottomLeft,
- Text = "Playback Speed",
+ Text = "Playback speed",
RelativePositionAxes = Axes.Y,
Y = 0.5f,
Padding = new MarginPadding { Left = 45 }
diff --git a/osu.Game/Screens/Edit/Screens/Compose/Timeline/TimelineArea.cs b/osu.Game/Screens/Edit/Screens/Compose/Timeline/TimelineArea.cs
index 006317e57e..ecf760be8e 100644
--- a/osu.Game/Screens/Edit/Screens/Compose/Timeline/TimelineArea.cs
+++ b/osu.Game/Screens/Edit/Screens/Compose/Timeline/TimelineArea.cs
@@ -59,8 +59,8 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Timeline
Spacing = new Vector2(0, 4),
Children = new[]
{
- hitObjectsCheckbox = new OsuCheckbox { LabelText = "Hitobjects" },
- hitSoundsCheckbox = new OsuCheckbox { LabelText = "Hitsounds" },
+ hitObjectsCheckbox = new OsuCheckbox { LabelText = "Hit objects" },
+ hitSoundsCheckbox = new OsuCheckbox { LabelText = "Hit sounds" },
waveformCheckbox = new OsuCheckbox { LabelText = "Waveform" }
}
}
diff --git a/osu.Game/Screens/Play/PlayerSettings/VisualSettings.cs b/osu.Game/Screens/Play/PlayerSettings/VisualSettings.cs
index 439e344020..f762597e81 100644
--- a/osu.Game/Screens/Play/PlayerSettings/VisualSettings.cs
+++ b/osu.Game/Screens/Play/PlayerSettings/VisualSettings.cs
@@ -38,7 +38,7 @@ namespace osu.Game.Screens.Play.PlayerSettings
},
showStoryboardToggle = new PlayerCheckbox { LabelText = "Storyboards" },
beatmapSkinsToggle = new PlayerCheckbox { LabelText = "Beatmap skins" },
- beatmapHitsoundsToggle = new PlayerCheckbox { LabelText = "Beatmap hitsounds" }
+ beatmapHitsoundsToggle = new PlayerCheckbox { LabelText = "Beatmap hit sounds" }
};
}
diff --git a/osu.Game/Screens/Select/BeatmapDetails.cs b/osu.Game/Screens/Select/BeatmapDetails.cs
index f1bd2b945f..f7b955941d 100644
--- a/osu.Game/Screens/Select/BeatmapDetails.cs
+++ b/osu.Game/Screens/Select/BeatmapDetails.cs
@@ -327,11 +327,6 @@ namespace osu.Game.Screens.Select
TextSize = 14,
},
},
- textFlow = new OsuTextFlowContainer
- {
- RelativeSizeAxes = Axes.X,
- AutoSizeAxes = Axes.Y,
- },
},
};
}
@@ -350,6 +345,8 @@ namespace osu.Game.Screens.Select
}
}
+ public override bool IsPresent => base.IsPresent || textFlow == null; // Visibility is updated in the LoadComponentAsync callback
+
private void setTextAsync(string text)
{
LoadComponentAsync(new OsuTextFlowContainer(s => s.TextSize = 14)
diff --git a/osu.Game/Screens/Select/Filter/GroupMode.cs b/osu.Game/Screens/Select/Filter/GroupMode.cs
index 6e57843dfc..b3bd73ee59 100644
--- a/osu.Game/Screens/Select/Filter/GroupMode.cs
+++ b/osu.Game/Screens/Select/Filter/GroupMode.cs
@@ -21,8 +21,8 @@ namespace osu.Game.Screens.Select.Filter
DateAdded,
[Description("Difficulty")]
Difficulty,
- [Description("Favorites")]
- Favorites,
+ [Description("Favourites")]
+ Favourites,
[Description("Length")]
Length,
[Description("My Maps")]
diff --git a/osu.Game/Screens/Select/PlaySongSelect.cs b/osu.Game/Screens/Select/PlaySongSelect.cs
index 2c43b333aa..917a08d172 100644
--- a/osu.Game/Screens/Select/PlaySongSelect.cs
+++ b/osu.Game/Screens/Select/PlaySongSelect.cs
@@ -65,7 +65,7 @@ namespace osu.Game.Screens.Select
BeatmapOptions.AddButton(@"Remove", @"from unplayed", FontAwesome.fa_times_circle_o, colours.Purple, null, Key.Number1);
BeatmapOptions.AddButton(@"Clear", @"local scores", FontAwesome.fa_eraser, colours.Purple, null, Key.Number2);
- BeatmapOptions.AddButton(@"Edit", @"Beatmap", FontAwesome.fa_pencil, colours.Yellow, () =>
+ BeatmapOptions.AddButton(@"Edit", @"beatmap", FontAwesome.fa_pencil, colours.Yellow, () =>
{
ValidForResume = false;
Push(new Editor());
diff --git a/osu.Game/Screens/Select/SongSelect.cs b/osu.Game/Screens/Select/SongSelect.cs
index 7402cf4da0..b4f552ce93 100644
--- a/osu.Game/Screens/Select/SongSelect.cs
+++ b/osu.Game/Screens/Select/SongSelect.cs
@@ -204,7 +204,7 @@ namespace osu.Game.Screens.Select
Footer.AddButton(@"random", colours.Green, triggerRandom, Key.F2);
Footer.AddButton(@"options", colours.Blue, BeatmapOptions, Key.F3);
- BeatmapOptions.AddButton(@"Delete", @"Beatmap", FontAwesome.fa_trash, colours.Pink, () => delete(Beatmap.Value.BeatmapSetInfo), Key.Number4, float.MaxValue);
+ BeatmapOptions.AddButton(@"Delete", @"all difficulties", FontAwesome.fa_trash, colours.Pink, () => delete(Beatmap.Value.BeatmapSetInfo), Key.Number4, float.MaxValue);
}
if (this.beatmaps == null)
diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardSample.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardSample.cs
index cdec8c042f..4f469ae593 100644
--- a/osu.Game/Storyboards/Drawables/DrawableStoryboardSample.cs
+++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardSample.cs
@@ -41,7 +41,7 @@ namespace osu.Game.Storyboards.Drawables
{
base.Update();
- // TODO: this logic will need to be consolidated with other game samples like hitsounds.
+ // TODO: this logic will need to be consolidated with other game samples like hit sounds.
if (Time.Current < sample.Time)
{
// We've rewound before the start time of the sample
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 66bae277b3..22e5901ed6 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -14,13 +14,13 @@
-
+
-
+
-
+
-
+