diff --git a/osu.Android.props b/osu.Android.props
index 46fd5424df..51245351b6 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -62,6 +62,6 @@
-
+
diff --git a/osu.Game.Tests/Visual/Online/TestSceneUserProfileOverlay.cs b/osu.Game.Tests/Visual/Online/TestSceneUserProfileOverlay.cs
index 93e6607ac5..98da63508b 100644
--- a/osu.Game.Tests/Visual/Online/TestSceneUserProfileOverlay.cs
+++ b/osu.Game.Tests/Visual/Online/TestSceneUserProfileOverlay.cs
@@ -107,6 +107,15 @@ namespace osu.Game.Tests.Visual.Online
CoverUrl = @"https://osu.ppy.sh/images/headers/profile-covers/c6.jpg"
}, api.IsLoggedIn));
+ AddStep("Show bancho", () => profile.ShowUser(new User
+ {
+ Username = @"BanchoBot",
+ Id = 3,
+ IsBot = true,
+ Country = new Country { FullName = @"Saint Helena", FlagName = @"SH" },
+ CoverUrl = @"https://osu.ppy.sh/images/headers/profile-covers/c4.jpg"
+ }, api.IsLoggedIn));
+
AddStep("Hide", profile.Hide);
AddStep("Show without reload", profile.Show);
}
diff --git a/osu.Game/Overlays/MusicController.cs b/osu.Game/Overlays/MusicController.cs
index 172ae4e5cb..49d16a4f3e 100644
--- a/osu.Game/Overlays/MusicController.cs
+++ b/osu.Game/Overlays/MusicController.cs
@@ -75,7 +75,7 @@ namespace osu.Game.Overlays
///
/// Returns whether the current beatmap track is playing.
///
- public bool IsPlaying => beatmap.Value.Track.IsRunning;
+ public bool IsPlaying => beatmap.Value?.Track.IsRunning ?? false;
private void handleBeatmapAdded(BeatmapSetInfo set) =>
Schedule(() => beatmapSets.Add(set));
diff --git a/osu.Game/Overlays/UserProfileOverlay.cs b/osu.Game/Overlays/UserProfileOverlay.cs
index b924b3302f..468eb22b01 100644
--- a/osu.Game/Overlays/UserProfileOverlay.cs
+++ b/osu.Game/Overlays/UserProfileOverlay.cs
@@ -44,16 +44,21 @@ namespace osu.Game.Overlays
Clear();
lastSection = null;
- sections = new ProfileSection[]
- {
- //new AboutSection(),
- new RecentSection(),
- new RanksSection(),
- //new MedalsSection(),
- new HistoricalSection(),
- new BeatmapsSection(),
- new KudosuSection()
- };
+ sections = !user.IsBot
+ ? new ProfileSection[]
+ {
+ //new AboutSection(),
+ new RecentSection(),
+ new RanksSection(),
+ //new MedalsSection(),
+ new HistoricalSection(),
+ new BeatmapsSection(),
+ new KudosuSection()
+ }
+ : new ProfileSection[]
+ {
+ //new AboutSection(),
+ };
tabs = new ProfileTabControl
{
diff --git a/osu.Game/Rulesets/RulesetStore.cs b/osu.Game/Rulesets/RulesetStore.cs
index 2d8c9f5b49..47aad43966 100644
--- a/osu.Game/Rulesets/RulesetStore.cs
+++ b/osu.Game/Rulesets/RulesetStore.cs
@@ -135,9 +135,9 @@ namespace osu.Game.Rulesets
foreach (string file in files.Where(f => !Path.GetFileName(f).Contains("Tests")))
loadRulesetFromFile(file);
}
- catch
+ catch (Exception e)
{
- Logger.Log($"Could not load rulesets from directory {Environment.CurrentDirectory}");
+ Logger.Error(e, $"Could not load rulesets from directory {Environment.CurrentDirectory}");
}
}
diff --git a/osu.Game/Users/User.cs b/osu.Game/Users/User.cs
index 9986f70557..1cb395fd75 100644
--- a/osu.Game/Users/User.cs
+++ b/osu.Game/Users/User.cs
@@ -78,6 +78,9 @@ namespace osu.Game.Users
[JsonProperty(@"is_bng")]
public bool IsBNG;
+ [JsonProperty(@"is_bot")]
+ public bool IsBot;
+
[JsonProperty(@"is_active")]
public bool Active;
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 8fd5f1c3cd..8cbc8b0af3 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -26,7 +26,7 @@
-
+
diff --git a/osu.iOS.props b/osu.iOS.props
index 521552bd4b..a15cae55c4 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -118,8 +118,8 @@
-
-
+
+