diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBody.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBody.cs
index 283d6b91f6..6f0197e711 100644
--- a/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBody.cs
+++ b/osu.Game.Rulesets.Osu/Objects/Drawables/Pieces/SliderBody.cs
@@ -7,14 +7,15 @@ using osu.Framework.Allocation;
using osu.Framework.Configuration;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
-using osu.Framework.Graphics.OpenGL.Textures;
using osu.Framework.Graphics.Lines;
using osu.Framework.Graphics.Textures;
-using OpenTK;
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
{
@@ -43,6 +44,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
public double? SnakedEnd { get; private set; }
private Color4 accentColour = Color4.White;
+
///
/// Used to colour the path.
///
@@ -61,6 +63,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
}
private Color4 borderColour = Color4.White;
+
///
/// Used to colour the path border.
///
@@ -85,6 +88,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
private Vector2 topLeftOffset;
private readonly Slider slider;
+
public SliderBody(Slider s)
{
slider = s;
@@ -139,8 +143,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
var texture = new Texture(textureWidth, 1);
//initialise background
- var raw = new RawTexture(textureWidth, 1);
- var bytes = raw.Data;
+ var raw = new Image(textureWidth, 1);
const float aa_portion = 0.02f;
const float border_portion = 0.128f;
@@ -155,19 +158,13 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
if (progress <= border_portion)
{
- bytes[i * 4] = (byte)(BorderColour.R * 255);
- bytes[i * 4 + 1] = (byte)(BorderColour.G * 255);
- bytes[i * 4 + 2] = (byte)(BorderColour.B * 255);
- bytes[i * 4 + 3] = (byte)(Math.Min(progress / aa_portion, 1) * (BorderColour.A * 255));
+ raw[i, 0] = new Rgba32(BorderColour.R, BorderColour.G, BorderColour.B, Math.Min(progress / aa_portion, 1) * BorderColour.A);
}
else
{
progress -= border_portion;
-
- bytes[i * 4] = (byte)(AccentColour.R * 255);
- bytes[i * 4 + 1] = (byte)(AccentColour.G * 255);
- bytes[i * 4 + 2] = (byte)(AccentColour.B * 255);
- bytes[i * 4 + 3] = (byte)((opacity_at_edge - (opacity_at_edge - opacity_at_centre) * progress / gradient_portion) * (AccentColour.A * 255));
+ 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);
}
}
diff --git a/osu.Game/Beatmaps/BeatmapManager_WorkingBeatmap.cs b/osu.Game/Beatmaps/BeatmapManager_WorkingBeatmap.cs
index cc70aa783f..77ff53b893 100644
--- a/osu.Game/Beatmaps/BeatmapManager_WorkingBeatmap.cs
+++ b/osu.Game/Beatmaps/BeatmapManager_WorkingBeatmap.cs
@@ -55,7 +55,7 @@ namespace osu.Game.Beatmaps
try
{
- return (textureStore ?? (textureStore = new LargeTextureStore(new RawTextureLoaderStore(store)))).Get(getPathForFile(Metadata.BackgroundFile));
+ return (textureStore ?? (textureStore = new LargeTextureStore(new TextureLoaderStore(store)))).Get(getPathForFile(Metadata.BackgroundFile));
}
catch
{
diff --git a/osu.Game/OsuGameBase.cs b/osu.Game/OsuGameBase.cs
index 0037ecf335..80520a1c31 100644
--- a/osu.Game/OsuGameBase.cs
+++ b/osu.Game/OsuGameBase.cs
@@ -108,7 +108,7 @@ namespace osu.Game
dependencies.Cache(contextFactory = new DatabaseContextFactory(Host.Storage));
- dependencies.Cache(new LargeTextureStore(new RawTextureLoaderStore(new NamespacedResourceStore(Resources, @"Textures"))));
+ dependencies.Cache(new LargeTextureStore(new TextureLoaderStore(new NamespacedResourceStore(Resources, @"Textures"))));
dependencies.CacheAs(this);
dependencies.Cache(LocalConfig);
diff --git a/osu.Game/Overlays/Settings/Sections/Graphics/LayoutSettings.cs b/osu.Game/Overlays/Settings/Sections/Graphics/LayoutSettings.cs
index 548d49bd36..4a8164c6df 100644
--- a/osu.Game/Overlays/Settings/Sections/Graphics/LayoutSettings.cs
+++ b/osu.Game/Overlays/Settings/Sections/Graphics/LayoutSettings.cs
@@ -102,13 +102,18 @@ namespace osu.Game.Overlays.Settings.Sections.Graphics
}, true);
}
- private IEnumerable> getResolutions() =>
- game.Window?.AvailableResolutions?
- .Where(r => r.Width >= 800 && r.Height >= 600)
- .OrderByDescending(r => r.Width)
- .ThenByDescending(r => r.Height)
- .Select(res => new KeyValuePair($"{res.Width}x{res.Height}", new Size(res.Width, res.Height)))
- .Distinct()
- .ToList() ?? new KeyValuePair("Default", new Size(9999, 9999)).Yield();
+ private IEnumerable> getResolutions()
+ {
+ var resolutions = new KeyValuePair("Default", new Size(9999, 9999)).Yield();
+
+ if (game.Window != null)
+ resolutions = resolutions.Concat(game.Window.AvailableResolutions
+ .Where(r => r.Width >= 800 && r.Height >= 600)
+ .OrderByDescending(r => r.Width)
+ .ThenByDescending(r => r.Height)
+ .Select(res => new KeyValuePair($"{res.Width}x{res.Height}", new Size(res.Width, res.Height)))
+ .Distinct()).ToList();
+ return resolutions;
+ }
}
}
diff --git a/osu.Game/Screens/Tournament/Drawings.cs b/osu.Game/Screens/Tournament/Drawings.cs
index 63d29d5cd7..4e2109afd0 100644
--- a/osu.Game/Screens/Tournament/Drawings.cs
+++ b/osu.Game/Screens/Tournament/Drawings.cs
@@ -59,7 +59,7 @@ namespace osu.Game.Screens.Tournament
TextureStore flagStore = new TextureStore();
// Local flag store
- flagStore.AddStore(new RawTextureLoaderStore(new NamespacedResourceStore(new StorageBackedResourceStore(storage), "Drawings")));
+ flagStore.AddStore(new TextureLoaderStore(new NamespacedResourceStore(new StorageBackedResourceStore(storage), "Drawings")));
// Default texture store
flagStore.AddStore(textures);
diff --git a/osu.Game/Skinning/LegacySkin.cs b/osu.Game/Skinning/LegacySkin.cs
index 9c881c6abb..ce7edf8683 100644
--- a/osu.Game/Skinning/LegacySkin.cs
+++ b/osu.Game/Skinning/LegacySkin.cs
@@ -37,7 +37,7 @@ namespace osu.Game.Skinning
Configuration = new SkinConfiguration();
Samples = audioManager.GetSampleManager(storage);
- Textures = new TextureStore(new RawTextureLoaderStore(storage));
+ Textures = new TextureStore(new TextureLoaderStore(storage));
}
public override Drawable GetDrawableComponent(string componentName)
diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs
index d0d4c678bf..37c198f370 100644
--- a/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs
+++ b/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs
@@ -22,7 +22,6 @@ namespace osu.Game.Storyboards.Drawables
public override bool HandleMouseInput => false;
private bool passing = true;
-
public bool Passing
{
get { return passing; }
@@ -37,7 +36,6 @@ namespace osu.Game.Storyboards.Drawables
public override bool RemoveCompletedTransforms => false;
private DependencyContainer dependencies;
-
protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent) =>
dependencies = new DependencyContainer(base.CreateChildDependencies(parent));
@@ -59,7 +57,7 @@ namespace osu.Game.Storyboards.Drawables
[BackgroundDependencyLoader]
private void load(FileStore fileStore)
{
- dependencies.Cache(new TextureStore(new RawTextureLoaderStore(fileStore.Store), false, scaleAdjust: 1));
+ dependencies.Cache(new TextureStore(new TextureLoaderStore(fileStore.Store), false, scaleAdjust: 1));
foreach (var layer in Storyboard.Layers)
Add(layer.CreateDrawable());
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index cb553731c3..6401a0eb1b 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -18,7 +18,7 @@
-
+