diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index dd53eefd23..58c24181d3 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"jetbrains.resharper.globaltools": {
- "version": "2020.2.4",
+ "version": "2020.3.2",
"commands": [
"jb"
]
diff --git a/Directory.Build.props b/Directory.Build.props
index 551cb75077..9ec442aafa 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -16,7 +16,7 @@
-
+
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 61ecd79e3d..51d2032795 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,7 +2,7 @@
-
+
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 fa7bfd7169..3261f632f2 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
@@ -2,7 +2,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 d6a03da807..32243e0bc3 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
@@ -2,7 +2,7 @@
-
+
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 a89645d881..210f81d111 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
@@ -2,7 +2,7 @@
-
+
diff --git a/osu.Game.Tests/Visual/Components/TestScenePreviewTrackManager.cs b/osu.Game.Tests/Visual/Components/TestScenePreviewTrackManager.cs
index a3db20ce83..9a999a4931 100644
--- a/osu.Game.Tests/Visual/Components/TestScenePreviewTrackManager.cs
+++ b/osu.Game.Tests/Visual/Components/TestScenePreviewTrackManager.cs
@@ -8,7 +8,6 @@ using osu.Framework.Audio.Track;
using osu.Framework.Graphics.Containers;
using osu.Game.Audio;
using osu.Game.Beatmaps;
-using static osu.Game.Tests.Visual.Components.TestScenePreviewTrackManager.TestPreviewTrackManager;
namespace osu.Game.Tests.Visual.Components
{
@@ -100,7 +99,7 @@ namespace osu.Game.Tests.Visual.Components
[Test]
public void TestNonPresentTrack()
{
- TestPreviewTrack track = null;
+ TestPreviewTrackManager.TestPreviewTrack track = null;
AddStep("get non-present track", () =>
{
@@ -182,9 +181,9 @@ namespace osu.Game.Tests.Visual.Components
AddAssert("track stopped", () => !track.IsRunning);
}
- private TestPreviewTrack getTrack() => (TestPreviewTrack)trackManager.Get(null);
+ private TestPreviewTrackManager.TestPreviewTrack getTrack() => (TestPreviewTrackManager.TestPreviewTrack)trackManager.Get(null);
- private TestPreviewTrack getOwnedTrack()
+ private TestPreviewTrackManager.TestPreviewTrack getOwnedTrack()
{
var track = getTrack();
diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableHealthDisplay.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableHealthDisplay.cs
index e1b0820662..5bac8582d7 100644
--- a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableHealthDisplay.cs
+++ b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableHealthDisplay.cs
@@ -9,7 +9,7 @@ using osu.Game.Rulesets;
using osu.Game.Rulesets.Judgements;
using osu.Game.Rulesets.Osu;
using osu.Game.Rulesets.Osu.Judgements;
-using osu.Game.Screens.Play;
+using osu.Game.Screens.Play.HUD;
namespace osu.Game.Tests.Visual.Gameplay
{
diff --git a/osu.Game.Tests/osu.Game.Tests.csproj b/osu.Game.Tests/osu.Game.Tests.csproj
index 83d7b4135a..9049b67f90 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.Tournament.Tests/osu.Game.Tournament.Tests.csproj b/osu.Game.Tournament.Tests/osu.Game.Tournament.Tests.csproj
index bc6b994988..dc4f22788d 100644
--- a/osu.Game.Tournament.Tests/osu.Game.Tournament.Tests.csproj
+++ b/osu.Game.Tournament.Tests/osu.Game.Tournament.Tests.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/osu.Game/Online/Multiplayer/MultiplayerRoom.cs b/osu.Game/Online/Multiplayer/MultiplayerRoom.cs
index 99f0eae2b3..12fcf25ace 100644
--- a/osu.Game/Online/Multiplayer/MultiplayerRoom.cs
+++ b/osu.Game/Online/Multiplayer/MultiplayerRoom.cs
@@ -5,9 +5,7 @@
using System;
using System.Collections.Generic;
-using System.Threading;
using Newtonsoft.Json;
-using osu.Framework.Allocation;
namespace osu.Game.Online.Multiplayer
{
@@ -48,27 +46,6 @@ namespace osu.Game.Online.Multiplayer
RoomID = roomId;
}
- private object updateLock = new object();
-
- private ManualResetEventSlim freeForWrite = new ManualResetEventSlim(true);
-
- ///
- /// Request a lock on this room to perform a thread-safe update.
- ///
- public IDisposable LockForUpdate()
- {
- // ReSharper disable once InconsistentlySynchronizedField
- freeForWrite.Wait();
-
- lock (updateLock)
- {
- freeForWrite.Wait();
- freeForWrite.Reset();
-
- return new ValueInvokeOnDisposal(this, r => freeForWrite.Set());
- }
- }
-
public override string ToString() => $"RoomID:{RoomID} Host:{Host?.UserID} Users:{Users.Count} State:{State} Settings: [{Settings}]";
}
}
diff --git a/osu.Game/Overlays/Changelog/ChangelogUpdateStreamControl.cs b/osu.Game/Overlays/Changelog/ChangelogUpdateStreamControl.cs
index 6bbff045b5..aa36a5c8fd 100644
--- a/osu.Game/Overlays/Changelog/ChangelogUpdateStreamControl.cs
+++ b/osu.Game/Overlays/Changelog/ChangelogUpdateStreamControl.cs
@@ -7,12 +7,11 @@ namespace osu.Game.Overlays.Changelog
{
public class ChangelogUpdateStreamControl : OverlayStreamControl
{
- protected override OverlayStreamItem CreateStreamItem(APIUpdateStream value) => new ChangelogUpdateStreamItem(value);
-
- protected override void LoadComplete()
+ public ChangelogUpdateStreamControl()
{
- // suppress base logic of immediately selecting first item if one exists
- // (we always want to start with no stream selected).
+ SelectFirstTabByDefault = false;
}
+
+ protected override OverlayStreamItem CreateStreamItem(APIUpdateStream value) => new ChangelogUpdateStreamItem(value);
}
}
diff --git a/osu.Game/PerformFromMenuRunner.cs b/osu.Game/PerformFromMenuRunner.cs
index e2d4fc6051..7999023998 100644
--- a/osu.Game/PerformFromMenuRunner.cs
+++ b/osu.Game/PerformFromMenuRunner.cs
@@ -73,15 +73,19 @@ namespace osu.Game
// find closest valid target
IScreen current = getCurrentScreen();
+ if (current == null)
+ return;
+
// a dialog may be blocking the execution for now.
if (checkForDialog(current)) return;
game?.CloseAllOverlays(false);
// we may already be at the target screen type.
- if (validScreens.Contains(getCurrentScreen().GetType()) && !beatmap.Disabled)
+ if (validScreens.Contains(current.GetType()) && !beatmap.Disabled)
{
- complete();
+ finalAction(current);
+ Cancel();
return;
}
@@ -135,11 +139,5 @@ namespace osu.Game
lastEncounteredDialogScreen = current;
return true;
}
-
- private void complete()
- {
- finalAction(getCurrentScreen());
- Cancel();
- }
}
}
diff --git a/osu.Game/Screens/Play/SkinnableHealthDisplay.cs b/osu.Game/Screens/Play/HUD/SkinnableHealthDisplay.cs
similarity index 95%
rename from osu.Game/Screens/Play/SkinnableHealthDisplay.cs
rename to osu.Game/Screens/Play/HUD/SkinnableHealthDisplay.cs
index d35d15d665..1f91f5e50f 100644
--- a/osu.Game/Screens/Play/SkinnableHealthDisplay.cs
+++ b/osu.Game/Screens/Play/HUD/SkinnableHealthDisplay.cs
@@ -5,10 +5,9 @@ using System;
using osu.Framework.Bindables;
using osu.Game.Rulesets.Judgements;
using osu.Game.Rulesets.Scoring;
-using osu.Game.Screens.Play.HUD;
using osu.Game.Skinning;
-namespace osu.Game.Screens.Play
+namespace osu.Game.Screens.Play.HUD
{
public class SkinnableHealthDisplay : SkinnableDrawable, IHealthDisplay
{
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 93aa2bc701..6c220a5c21 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -21,8 +21,8 @@
-
-
+
+
diff --git a/osu.sln.DotSettings b/osu.sln.DotSettings
index 22ea73858e..aa8f8739c1 100644
--- a/osu.sln.DotSettings
+++ b/osu.sln.DotSettings
@@ -106,6 +106,7 @@
HINT
WARNING
WARNING
+ DO_NOT_SHOW
WARNING
WARNING
WARNING