From 5761eb30a04a9fb6095a1b1c936540c3714a8f0d Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 18 Jul 2017 16:06:59 +0900 Subject: [PATCH 1/6] Fix nullref error on re-importing a DeletePending beatmap Callback was expecting the beatmap to be populated where it wasn't being. --- osu.Game/Database/BeatmapDatabase.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/osu.Game/Database/BeatmapDatabase.cs b/osu.Game/Database/BeatmapDatabase.cs index efd5631077..1a36e7fa0f 100644 --- a/osu.Game/Database/BeatmapDatabase.cs +++ b/osu.Game/Database/BeatmapDatabase.cs @@ -178,6 +178,8 @@ namespace osu.Game.Database if (existing != null) { + GetChildren(existing); + if (existing.DeletePending) { existing.DeletePending = false; From f00140f0a45e1bb9fee790c94649388dc265fe24 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 18 Jul 2017 16:11:23 +0900 Subject: [PATCH 2/6] Avoid crashes on attempting to import the same path twice in quick succession --- osu.Game/Database/BeatmapDatabase.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/osu.Game/Database/BeatmapDatabase.cs b/osu.Game/Database/BeatmapDatabase.cs index 1a36e7fa0f..43769f67b5 100644 --- a/osu.Game/Database/BeatmapDatabase.cs +++ b/osu.Game/Database/BeatmapDatabase.cs @@ -144,7 +144,11 @@ namespace osu.Game.Database public void Import(params string[] paths) { foreach (string p in paths) - Import(p); + { + //In case the file was imported twice and deleted after the first time + if (File.Exists(p)) + Import(p); + } } /// From 6f59e5feec4bf12c88c729e2b93d0d9f06a0f2e6 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 18 Jul 2017 16:16:01 +0900 Subject: [PATCH 3/6] Add null check on stream --- osu.Game/Beatmaps/IO/OszArchiveReader.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Beatmaps/IO/OszArchiveReader.cs b/osu.Game/Beatmaps/IO/OszArchiveReader.cs index eb9e740779..a22a5f4cce 100644 --- a/osu.Game/Beatmaps/IO/OszArchiveReader.cs +++ b/osu.Game/Beatmaps/IO/OszArchiveReader.cs @@ -15,7 +15,7 @@ namespace osu.Game.Beatmaps.IO AddReader((storage, path) => { using (var stream = storage.GetStream(path)) - return ZipFile.IsZipFile(stream, false); + return stream != null && ZipFile.IsZipFile(stream, false); }); OsuLegacyDecoder.Register(); } From 2b1e19814c2b282244526b2943eb28cc859b0035 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 19 Jul 2017 16:07:11 +0900 Subject: [PATCH 4/6] Side flashes should not be affected by parallax --- osu.Game/Screens/Menu/MainMenu.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/osu.Game/Screens/Menu/MainMenu.cs b/osu.Game/Screens/Menu/MainMenu.cs index 5a2e0a7b12..f4cb6dba7b 100644 --- a/osu.Game/Screens/Menu/MainMenu.cs +++ b/osu.Game/Screens/Menu/MainMenu.cs @@ -49,10 +49,10 @@ namespace osu.Game.Screens.Menu OnSolo = delegate { Push(consumeSongSelect()); }, OnMulti = delegate { Push(new Lobby()); }, OnExit = delegate { Exit(); }, - }, - new MenuSideFlashes(), + } } - } + }, + new MenuSideFlashes(), }; } From 2a2f4e2a8b8e86ccf671c539690bc9c11c1e3384 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 19 Jul 2017 16:13:01 +0900 Subject: [PATCH 5/6] Ensure side flashes are not visible during moving transitions --- osu.Game/Screens/Menu/MainMenu.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/osu.Game/Screens/Menu/MainMenu.cs b/osu.Game/Screens/Menu/MainMenu.cs index f4cb6dba7b..d5526532cb 100644 --- a/osu.Game/Screens/Menu/MainMenu.cs +++ b/osu.Game/Screens/Menu/MainMenu.cs @@ -28,6 +28,8 @@ namespace osu.Game.Screens.Menu private readonly BackgroundScreenDefault background; private Screen songSelect; + private MenuSideFlashes sideFlashes; + protected override BackgroundScreen CreateBackground() => background; public MainMenu() @@ -52,7 +54,7 @@ namespace osu.Game.Screens.Menu } } }, - new MenuSideFlashes(), + sideFlashes = new MenuSideFlashes(), }; } @@ -112,6 +114,8 @@ namespace osu.Game.Screens.Menu Content.FadeOut(length, EasingTypes.InSine); Content.MoveTo(new Vector2(-800, 0), length, EasingTypes.InSine); + + sideFlashes.FadeOut(length / 4, EasingTypes.OutQuint); } protected override void OnResuming(Screen last) @@ -129,6 +133,8 @@ namespace osu.Game.Screens.Menu Content.FadeIn(length, EasingTypes.OutQuint); Content.MoveTo(new Vector2(0, 0), length, EasingTypes.OutQuint); + + sideFlashes.FadeIn(length / 4, EasingTypes.InQuint); } protected override bool OnExiting(Screen next) From c34856922c40039b2e0e533c05927d20527fcf68 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 19 Jul 2017 16:34:18 +0900 Subject: [PATCH 6/6] Gratify CI --- osu.Game/Screens/Menu/MainMenu.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Screens/Menu/MainMenu.cs b/osu.Game/Screens/Menu/MainMenu.cs index d5526532cb..42d435ef88 100644 --- a/osu.Game/Screens/Menu/MainMenu.cs +++ b/osu.Game/Screens/Menu/MainMenu.cs @@ -28,7 +28,7 @@ namespace osu.Game.Screens.Menu private readonly BackgroundScreenDefault background; private Screen songSelect; - private MenuSideFlashes sideFlashes; + private readonly MenuSideFlashes sideFlashes; protected override BackgroundScreen CreateBackground() => background;