diff --git a/.vscode/launch.json b/.vscode/launch.json index c836ff97bc..0e07b0a067 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -3,6 +3,9 @@ "configurations": [ { "name": "Launch VisualTests", + "windows": { + "type": "clr" + }, "type": "mono", "request": "launch", "program": "${workspaceRoot}/osu.Desktop.VisualTests/bin/Debug/osu!.exe", @@ -15,6 +18,9 @@ }, { "name": "Launch Desktop", + "windows": { + "type": "clr" + }, "type": "mono", "request": "launch", "program": "${workspaceRoot}/osu.Desktop/bin/Debug/osu!.exe", @@ -27,6 +33,11 @@ }, { "name": "Attach", + "windows": { + "type": "clr", + "request": "attach", + "processName": "osu!" + }, "type": "mono", "request": "attach", "address": "localhost", diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 433e5fd2a9..6918afa620 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -11,7 +11,23 @@ "command": "msbuild", "args": [ // Ask msbuild to generate full paths for file names. - "/property:GenerateFullPaths=true" + "/property:GenerateFullPaths=true", + "/property:DebugType=portable" + ], + // Use the standard MS compiler pattern to detect errors, warnings and infos + "problemMatcher": "$msCompile", + "isBuildCommand": true + }, + { + "taskName": "rebuild", + "isShellCommand": true, + "showOutput": "silent", + "command": "msbuild", + "args": [ + // Ask msbuild to generate full paths for file names. + "/property:GenerateFullPaths=true", + "/property:DebugType=portable", + "/target:Clean,Build" ], // Use the standard MS compiler pattern to detect errors, warnings and infos "problemMatcher": "$msCompile", diff --git a/osu-framework b/osu-framework index b4e1b9a0eb..9204b83850 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit b4e1b9a0eb1782ab8cfc48e305fd295a25c0579e +Subproject commit 9204b838504a51ffe7577c103b91270a2687bfb8 diff --git a/osu.Game/Beatmaps/WorkingBeatmap.cs b/osu.Game/Beatmaps/WorkingBeatmap.cs index e9271492e4..616128dab5 100644 --- a/osu.Game/Beatmaps/WorkingBeatmap.cs +++ b/osu.Game/Beatmaps/WorkingBeatmap.cs @@ -18,7 +18,7 @@ namespace osu.Game.Beatmaps public readonly BeatmapSetInfo BeatmapSetInfo; - public readonly Bindable<IEnumerable<Mod>> Mods = new Bindable<IEnumerable<Mod>>(); + public readonly Bindable<IEnumerable<Mod>> Mods = new Bindable<IEnumerable<Mod>>(new Mod[] { }); public readonly bool WithStoryboard; diff --git a/osu.Game/OsuGameBase.cs b/osu.Game/OsuGameBase.cs index 6eb9747eef..c9d7d856db 100644 --- a/osu.Game/OsuGameBase.cs +++ b/osu.Game/OsuGameBase.cs @@ -149,6 +149,7 @@ namespace osu.Game { new Container { + AlwaysReceiveInput = true, RelativeSizeAxes = Axes.Both, Depth = float.MinValue, Children = new Drawable[] diff --git a/osu.Game/Overlays/MusicController.cs b/osu.Game/Overlays/MusicController.cs index 9d21a0341c..19e742facb 100644 --- a/osu.Game/Overlays/MusicController.cs +++ b/osu.Game/Overlays/MusicController.cs @@ -22,6 +22,7 @@ using osu.Game.Database; using osu.Game.Graphics; using osu.Framework.Graphics.Primitives; using osu.Game.Graphics.Sprites; +using osu.Framework.Extensions; using osu.Framework.Extensions.Color4Extensions; namespace osu.Game.Overlays @@ -293,7 +294,7 @@ namespace osu.Game.Overlays trackManager.SetExclusive(current.Track); current.Track.Start(); beatmapSource.Value = current; - }); + }).ContinueWith(task => Schedule(() => task.ThrowIfFaulted()), TaskContinuationOptions.OnlyOnFaulted); updateDisplay(current, isNext ? TransformDirection.Next : TransformDirection.Prev); } diff --git a/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs b/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs index b04f853ec4..9f5e3458f3 100644 --- a/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs +++ b/osu.Game/Overlays/Options/Sections/Graphics/LayoutOptions.cs @@ -12,8 +12,8 @@ namespace osu.Game.Overlays.Options.Sections.Graphics { protected override string Header => "Layout"; - private OptionSlider<int> letterboxPositionX; - private OptionSlider<int> letterboxPositionY; + private OptionSlider<double> letterboxPositionX; + private OptionSlider<double> letterboxPositionY; private Bindable<bool> letterboxing; @@ -35,15 +35,15 @@ namespace osu.Game.Overlays.Options.Sections.Graphics LabelText = "Letterboxing", Bindable = letterboxing, }, - letterboxPositionX = new OptionSlider<int> + letterboxPositionX = new OptionSlider<double> { LabelText = "Horizontal position", - Bindable = (BindableInt)config.GetBindable<int>(FrameworkConfig.LetterboxPositionX) + Bindable = config.GetBindable<double>(FrameworkConfig.LetterboxPositionX) }, - letterboxPositionY = new OptionSlider<int> + letterboxPositionY = new OptionSlider<double> { LabelText = "Vertical position", - Bindable = (BindableInt)config.GetBindable<int>(FrameworkConfig.LetterboxPositionY) + Bindable = config.GetBindable<double>(FrameworkConfig.LetterboxPositionY) }, };