From a3d8048acab0b1ccf267a85e789dc944496e7ee3 Mon Sep 17 00:00:00 2001 From: FreezyLemon Date: Thu, 22 Mar 2018 21:46:35 +0100 Subject: [PATCH 01/95] abort loading and exit player for dummy maps --- osu.Game/Screens/Play/Player.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/osu.Game/Screens/Play/Player.cs b/osu.Game/Screens/Play/Player.cs index b0472f0e0d..89cf326bbe 100644 --- a/osu.Game/Screens/Play/Player.cs +++ b/osu.Game/Screens/Play/Player.cs @@ -89,6 +89,13 @@ namespace osu.Game.Screens.Play userAudioOffset = config.GetBindable(OsuSetting.AudioOffset); WorkingBeatmap working = Beatmap.Value; + + if (working is DummyWorkingBeatmap) + { + Exit(); + return; + } + Beatmap beatmap; try From 97be022e229e72e6369f8265f423bfc3b058d61b Mon Sep 17 00:00:00 2001 From: John Neijzen Date: Sat, 24 Mar 2018 16:55:39 +0800 Subject: [PATCH 02/95] Remove duplicate condition --- osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs index 7aa4108428..bc51c69ea7 100644 --- a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs +++ b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs @@ -99,11 +99,6 @@ namespace osu.Game.Rulesets.Osu.Replays if (!(prev is Spinner) && h.StartTime - endTime < 1000) AddFrameToReplay(new OsuReplayFrame(endTime + h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(prev.StackedEndPosition.X, prev.StackedEndPosition.Y))); if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); } - else if (h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh) > endTime + h.HitWindows.HalfWindowFor(HitResult.Meh) + 50) - { - if (!(prev is Spinner) && h.StartTime - endTime < 1000) AddFrameToReplay(new OsuReplayFrame(endTime + h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(prev.StackedEndPosition.X, prev.StackedEndPosition.Y))); - if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); - } } private void addHitObjectReplay(OsuHitObject h) From 12f785bf40a49371a270fa72f0945ea73d2d4672 Mon Sep 17 00:00:00 2001 From: John Neijzen Date: Sat, 24 Mar 2018 17:48:43 +0800 Subject: [PATCH 03/95] Change duplicate condition to HitResult.Good instead of HitResult.Meh --- osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs index bc51c69ea7..f83aca8043 100644 --- a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs +++ b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs @@ -99,6 +99,11 @@ namespace osu.Game.Rulesets.Osu.Replays if (!(prev is Spinner) && h.StartTime - endTime < 1000) AddFrameToReplay(new OsuReplayFrame(endTime + h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(prev.StackedEndPosition.X, prev.StackedEndPosition.Y))); if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); } + else if (h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Good) > endTime + h.HitWindows.HalfWindowFor(HitResult.Meh) + 50) + { + if (!(prev is Spinner) && h.StartTime - endTime < 1000) AddFrameToReplay(new OsuReplayFrame(endTime + h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(prev.StackedEndPosition.X, prev.StackedEndPosition.Y))); + if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); + } } private void addHitObjectReplay(OsuHitObject h) From 9d96aeb3478436cd5ebf17c48c44f5374b17afba Mon Sep 17 00:00:00 2001 From: John Neijzen Date: Sat, 24 Mar 2018 17:53:50 +0800 Subject: [PATCH 04/95] Update OsuAutoGenerator.cs --- osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs index f83aca8043..be696fdc55 100644 --- a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs +++ b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs @@ -99,7 +99,7 @@ namespace osu.Game.Rulesets.Osu.Replays if (!(prev is Spinner) && h.StartTime - endTime < 1000) AddFrameToReplay(new OsuReplayFrame(endTime + h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(prev.StackedEndPosition.X, prev.StackedEndPosition.Y))); if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); } - else if (h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Good) > endTime + h.HitWindows.HalfWindowFor(HitResult.Meh) + 50) + else if (h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Good) > endTime + h.HitWindows.HalfWindowFor(HitResult.Good) + 50) { if (!(prev is Spinner) && h.StartTime - endTime < 1000) AddFrameToReplay(new OsuReplayFrame(endTime + h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(prev.StackedEndPosition.X, prev.StackedEndPosition.Y))); if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); From bee9af8500b14823f213c6eb718dd89cdc71bd8d Mon Sep 17 00:00:00 2001 From: John Neijzen Date: Sat, 24 Mar 2018 18:30:36 +0800 Subject: [PATCH 05/95] Update OsuAutoGenerator.cs --- osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs index be696fdc55..7e89fee2f6 100644 --- a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs +++ b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs @@ -101,8 +101,8 @@ namespace osu.Game.Rulesets.Osu.Replays } else if (h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Good) > endTime + h.HitWindows.HalfWindowFor(HitResult.Good) + 50) { - if (!(prev is Spinner) && h.StartTime - endTime < 1000) AddFrameToReplay(new OsuReplayFrame(endTime + h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(prev.StackedEndPosition.X, prev.StackedEndPosition.Y))); - if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); + if (!(prev is Spinner) && h.StartTime - endTime < 1000) AddFrameToReplay(new OsuReplayFrame(endTime + h.HitWindows.HalfWindowFor(HitResult.Good), new Vector2(prev.StackedEndPosition.X, prev.StackedEndPosition.Y))); + if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Good), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); } } From 7b39447213581938cab9b287479deccea48f3459 Mon Sep 17 00:00:00 2001 From: John Neijzen Date: Sat, 24 Mar 2018 18:34:56 +0800 Subject: [PATCH 06/95] Update OsuAutoGenerator.cs --- osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs index 7e89fee2f6..699cdf75a2 100644 --- a/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs +++ b/osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs @@ -92,7 +92,7 @@ namespace osu.Game.Rulesets.Osu.Replays if (h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Miss) > endTime + h.HitWindows.HalfWindowFor(HitResult.Meh) + 50) { if (!(prev is Spinner) && h.StartTime - endTime < 1000) AddFrameToReplay(new OsuReplayFrame(endTime + h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(prev.StackedEndPosition.X, prev.StackedEndPosition.Y))); - if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); + if (!(h is Spinner)) AddFrameToReplay(new OsuReplayFrame(h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Miss), new Vector2(h.StackedPosition.X, h.StackedPosition.Y))); } else if (h.StartTime - h.HitWindows.HalfWindowFor(HitResult.Meh) > endTime + h.HitWindows.HalfWindowFor(HitResult.Meh) + 50) { From 46d859a6607b6bdf3e63a3d1e94dcf97266a45ac Mon Sep 17 00:00:00 2001 From: FreezyLemon Date: Sun, 25 Mar 2018 13:25:48 +0200 Subject: [PATCH 07/95] exit player earlier if a dummy map is loaded --- osu.Game/Screens/Play/Player.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/osu.Game/Screens/Play/Player.cs b/osu.Game/Screens/Play/Player.cs index 89cf326bbe..93b36e48b9 100644 --- a/osu.Game/Screens/Play/Player.cs +++ b/osu.Game/Screens/Play/Player.cs @@ -83,19 +83,19 @@ namespace osu.Game.Screens.Play private void load(AudioManager audio, APIAccess api, OsuConfigManager config) { this.api = api; - sampleRestart = audio.Sample.Get(@"Gameplay/restart"); - - mouseWheelDisabled = config.GetBindable(OsuSetting.MouseDisableWheel); - userAudioOffset = config.GetBindable(OsuSetting.AudioOffset); WorkingBeatmap working = Beatmap.Value; - if (working is DummyWorkingBeatmap) { Exit(); return; } + sampleRestart = audio.Sample.Get(@"Gameplay/restart"); + + mouseWheelDisabled = config.GetBindable(OsuSetting.MouseDisableWheel); + userAudioOffset = config.GetBindable(OsuSetting.AudioOffset); + Beatmap beatmap; try From eb374c577459265739a283e8587b06f37e3f02ca Mon Sep 17 00:00:00 2001 From: DrabWeb Date: Mon, 26 Mar 2018 21:04:45 -0300 Subject: [PATCH 08/95] Add beatmap set online status and display it in direct panels and the beatmap set overlay. --- .../Visual/TestCaseBeatmapSetOverlay.cs | 2 + osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs | 5 ++ osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs | 17 ++++++ .../Drawables/BeatmapSetOnlineStatusPill.cs | 53 +++++++++++++++++++ .../API/Requests/APIResponseBeatmapSet.cs | 4 ++ osu.Game/Overlays/BeatmapSet/Header.cs | 16 +++++- osu.Game/Overlays/Direct/DirectGridPanel.cs | 34 +++++++++++- osu.Game/Overlays/Direct/IconPill.cs | 43 +++++++++++++++ osu.Game/osu.Game.csproj | 3 ++ 9 files changed, 175 insertions(+), 2 deletions(-) create mode 100644 osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs create mode 100644 osu.Game/Beatmaps/Drawables/BeatmapSetOnlineStatusPill.cs create mode 100644 osu.Game/Overlays/Direct/IconPill.cs diff --git a/osu.Game.Tests/Visual/TestCaseBeatmapSetOverlay.cs b/osu.Game.Tests/Visual/TestCaseBeatmapSetOverlay.cs index d9aedb7a5f..6605c61026 100644 --- a/osu.Game.Tests/Visual/TestCaseBeatmapSetOverlay.cs +++ b/osu.Game.Tests/Visual/TestCaseBeatmapSetOverlay.cs @@ -52,6 +52,7 @@ namespace osu.Game.Tests.Visual FavouriteCount = 356, Submitted = new DateTime(2016, 2, 10), Ranked = new DateTime(2016, 6, 19), + Status = BeatmapSetOnlineStatus.Ranked, BPM = 236, HasVideo = true, Covers = new BeatmapSetOnlineCovers @@ -222,6 +223,7 @@ namespace osu.Game.Tests.Visual FavouriteCount = 58, Submitted = new DateTime(2016, 6, 11), Ranked = new DateTime(2016, 7, 12), + Status = BeatmapSetOnlineStatus.Pending, BPM = 160, HasVideo = false, Covers = new BeatmapSetOnlineCovers diff --git a/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs b/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs index be3107c7b9..f7221a6ac3 100644 --- a/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs +++ b/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs @@ -26,6 +26,11 @@ namespace osu.Game.Beatmaps /// public DateTimeOffset? LastUpdated { get; set; } + /// + /// The status of this beatmap set. + /// + public BeatmapSetOnlineStatus Status { get; set; } + /// /// Whether or not this beatmap set has a background video. /// diff --git a/osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs b/osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs new file mode 100644 index 0000000000..712c7a34d6 --- /dev/null +++ b/osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs @@ -0,0 +1,17 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +namespace osu.Game.Beatmaps +{ + public enum BeatmapSetOnlineStatus + { + None, + Graveyard = -2, + WIP = -1, + Pending = 0, + Ranked = 1, + Approved = 2, + Qualified = 3, + Loved = 4, + } +} diff --git a/osu.Game/Beatmaps/Drawables/BeatmapSetOnlineStatusPill.cs b/osu.Game/Beatmaps/Drawables/BeatmapSetOnlineStatusPill.cs new file mode 100644 index 0000000000..3c98ddc094 --- /dev/null +++ b/osu.Game/Beatmaps/Drawables/BeatmapSetOnlineStatusPill.cs @@ -0,0 +1,53 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers; +using osu.Framework.Graphics.Shapes; +using osu.Game.Graphics.Sprites; +using OpenTK.Graphics; + +namespace osu.Game.Beatmaps.Drawables +{ + public class BeatmapSetOnlineStatusPill : CircularContainer + { + private readonly OsuSpriteText statusText; + + private BeatmapSetOnlineStatus status = BeatmapSetOnlineStatus.None; + public BeatmapSetOnlineStatus Status + { + get { return status; } + set + { + status = value; + + statusText.Text = Enum.GetName(typeof(BeatmapSetOnlineStatus), Status)?.ToUpper(); + } + } + + public BeatmapSetOnlineStatusPill(float textSize, MarginPadding textPadding) + { + AutoSizeAxes = Axes.Both; + Masking = true; + + Children = new Drawable[] + { + new Box + { + RelativeSizeAxes = Axes.Both, + Colour = Color4.Black, + Alpha = 0.5f, + }, + statusText = new OsuSpriteText + { + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + Font = @"Exo2.0-Bold", + TextSize = textSize, + Padding = textPadding, + }, + }; + } + } +} diff --git a/osu.Game/Online/API/Requests/APIResponseBeatmapSet.cs b/osu.Game/Online/API/Requests/APIResponseBeatmapSet.cs index 8f011b4df7..28376a1b4f 100644 --- a/osu.Game/Online/API/Requests/APIResponseBeatmapSet.cs +++ b/osu.Game/Online/API/Requests/APIResponseBeatmapSet.cs @@ -30,6 +30,9 @@ namespace osu.Game.Online.API.Requests [JsonProperty(@"video")] private bool hasVideo { get; set; } + [JsonProperty(@"status")] + private BeatmapSetOnlineStatus status { get; set; } + [JsonProperty(@"submitted_date")] private DateTimeOffset submitted { get; set; } @@ -60,6 +63,7 @@ namespace osu.Game.Online.API.Requests PlayCount = playCount, FavouriteCount = favouriteCount, BPM = bpm, + Status = status, HasVideo = hasVideo, Submitted = submitted, Ranked = ranked, diff --git a/osu.Game/Overlays/BeatmapSet/Header.cs b/osu.Game/Overlays/BeatmapSet/Header.cs index 3ce0dfee31..b9a35ec1f0 100644 --- a/osu.Game/Overlays/BeatmapSet/Header.cs +++ b/osu.Game/Overlays/BeatmapSet/Header.cs @@ -30,6 +30,7 @@ namespace osu.Game.Overlays.BeatmapSet private readonly FillFlowContainer videoButtons; private readonly AuthorInfo author; private readonly Container downloadButtonsContainer; + private readonly BeatmapSetOnlineStatusPill onlineStatusPill; public Details Details; private BeatmapManager beatmaps; @@ -50,6 +51,7 @@ namespace osu.Game.Overlays.BeatmapSet Picker.BeatmapSet = author.BeatmapSet = Details.BeatmapSet = BeatmapSet; title.Text = BeatmapSet.Metadata.Title; artist.Text = BeatmapSet.Metadata.Artist; + onlineStatusPill.Status = BeatmapSet.OnlineInfo.Status; downloadButtonsContainer.FadeIn(); noVideoButtons.FadeTo(BeatmapSet.OnlineInfo.HasVideo ? 0 : 1, transition_duration); @@ -204,11 +206,23 @@ namespace osu.Game.Overlays.BeatmapSet }, }, }, - Details = new Details + new FillFlowContainer { Anchor = Anchor.BottomRight, Origin = Anchor.BottomRight, + AutoSizeAxes = Axes.Both, Margin = new MarginPadding { Right = BeatmapSetOverlay.X_PADDING }, + Direction = FillDirection.Vertical, + Spacing = new Vector2(10), + Children = new Drawable[] + { + onlineStatusPill = new BeatmapSetOnlineStatusPill(14, new MarginPadding { Horizontal = 25, Vertical = 8 }) + { + Anchor = Anchor.TopRight, + Origin = Anchor.TopRight, + }, + Details = new Details(), + }, }, }, }, diff --git a/osu.Game/Overlays/Direct/DirectGridPanel.cs b/osu.Game/Overlays/Direct/DirectGridPanel.cs index 2cc51f9e4c..d893c027c7 100644 --- a/osu.Game/Overlays/Direct/DirectGridPanel.cs +++ b/osu.Game/Overlays/Direct/DirectGridPanel.cs @@ -11,7 +11,9 @@ using osu.Framework.Localisation; using osu.Game.Graphics; using osu.Game.Graphics.Sprites; using osu.Framework.Graphics.Shapes; +using osu.Framework.Input; using osu.Game.Beatmaps; +using osu.Game.Beatmaps.Drawables; namespace osu.Game.Overlays.Direct { @@ -20,7 +22,7 @@ namespace osu.Game.Overlays.Direct private const float horizontal_padding = 10; private const float vertical_padding = 5; - private FillFlowContainer bottomPanel; + private FillFlowContainer bottomPanel, statusContainer; private PlayButton playButton; private Box progressBar; @@ -199,7 +201,37 @@ namespace osu.Game.Overlays.Direct Size = new Vector2(30), Alpha = 0, }, + statusContainer = new FillFlowContainer + { + AutoSizeAxes = Axes.Both, + Margin = new MarginPadding { Top = 5, Left = 5 }, + Spacing = new Vector2(5), + }, }); + + if (SetInfo.OnlineInfo?.HasVideo ?? false) + { + statusContainer.Add(new IconPill(FontAwesome.fa_film)); + } + + statusContainer.Add(new BeatmapSetOnlineStatusPill(12, new MarginPadding { Horizontal = 10, Vertical = 5 }) + { + Status = SetInfo.OnlineInfo?.Status ?? BeatmapSetOnlineStatus.None, + }); + } + + protected override bool OnHover(InputState state) + { + statusContainer.FadeOut(120, Easing.InOutQuint); + + return base.OnHover(state); + } + + protected override void OnHoverLost(InputState state) + { + base.OnHoverLost(state); + + statusContainer.FadeIn(120, Easing.InOutQuint); } } } diff --git a/osu.Game/Overlays/Direct/IconPill.cs b/osu.Game/Overlays/Direct/IconPill.cs new file mode 100644 index 0000000000..33b67bdf13 --- /dev/null +++ b/osu.Game/Overlays/Direct/IconPill.cs @@ -0,0 +1,43 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers; +using osu.Framework.Graphics.Shapes; +using osu.Game.Graphics; +using OpenTK; +using OpenTK.Graphics; + +namespace osu.Game.Overlays.Direct +{ + public class IconPill : CircularContainer + { + public IconPill(FontAwesome icon) + { + AutoSizeAxes = Axes.Both; + Masking = true; + + Children = new Drawable[] + { + new Box + { + RelativeSizeAxes = Axes.Both, + Colour = Color4.Black, + Alpha = 0.5f, + }, + new Container + { + AutoSizeAxes = Axes.Both, + Margin = new MarginPadding(5), + Child = new SpriteIcon + { + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + Icon = icon, + Size = new Vector2(12), + }, + }, + }; + } + } +} diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index ab058d90d9..6821f569ae 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -257,6 +257,7 @@ + @@ -268,6 +269,7 @@ + @@ -306,6 +308,7 @@ 20180125143340_Settings.cs + From 506e27a30e65e5ecf18124bf9f7b188c4228d992 Mon Sep 17 00:00:00 2001 From: DrabWeb Date: Tue, 27 Mar 2018 17:59:58 -0300 Subject: [PATCH 09/95] Cleanup. --- osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs | 2 +- osu.Game/Beatmaps/Drawables/BeatmapSetOnlineStatusPill.cs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs b/osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs index 712c7a34d6..c7f767d3b2 100644 --- a/osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs +++ b/osu.Game/Beatmaps/BeatmapSetOnlineStatus.cs @@ -5,7 +5,7 @@ namespace osu.Game.Beatmaps { public enum BeatmapSetOnlineStatus { - None, + None = -3, Graveyard = -2, WIP = -1, Pending = 0, diff --git a/osu.Game/Beatmaps/Drawables/BeatmapSetOnlineStatusPill.cs b/osu.Game/Beatmaps/Drawables/BeatmapSetOnlineStatusPill.cs index 3c98ddc094..8ea7a538f9 100644 --- a/osu.Game/Beatmaps/Drawables/BeatmapSetOnlineStatusPill.cs +++ b/osu.Game/Beatmaps/Drawables/BeatmapSetOnlineStatusPill.cs @@ -20,6 +20,7 @@ namespace osu.Game.Beatmaps.Drawables get { return status; } set { + if (value == status) return; status = value; statusText.Text = Enum.GetName(typeof(BeatmapSetOnlineStatus), Status)?.ToUpper(); From 84bb96740f36294ac2098f769f2f40a1ebc88059 Mon Sep 17 00:00:00 2001 From: DrabWeb Date: Tue, 27 Mar 2018 18:27:30 -0300 Subject: [PATCH 10/95] Fix merge error. --- osu.Game/osu.Game.csproj | 62 ++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index 0827768afe..b42d76e331 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -1,32 +1,32 @@ - - - - netstandard2.0 - Library - AnyCPU - true - ppy Pty Ltd - 1.0.0.0 - ppy Pty Ltd 2007-2018 - osu.Game - click the circles. to the beat. - osu.Game - 0 - - - - - - - - - - - - - - - - - + + + + netstandard2.0 + Library + AnyCPU + true + ppy Pty Ltd + 1.0.0.0 + ppy Pty Ltd 2007-2018 + osu.Game + click the circles. to the beat. + osu.Game + 0 + + + + + + + + + + + + + + + + + \ No newline at end of file From 94b1d3e4af91f9b34f7f32158c31da849cb24c06 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 12:33:01 +0900 Subject: [PATCH 11/95] Make VisualTests/nUnit work again --- osu-framework | 2 +- osu.Desktop/Program.cs | 3 -- osu.Game.Tests/osu.Game.Tests.csproj | 38 ++++++++----------- .../Tests}/OsuTestBrowser.cs | 5 +-- osu.Game/Tests/VisualTestRunner.cs | 22 +++++++++++ osu.TestProject.props | 26 +++++++++++++ 6 files changed, 66 insertions(+), 30 deletions(-) rename {osu.Desktop => osu.Game/Tests}/OsuTestBrowser.cs (87%) create mode 100644 osu.Game/Tests/VisualTestRunner.cs create mode 100644 osu.TestProject.props diff --git a/osu-framework b/osu-framework index b59149e1ce..71fe258bf2 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit b59149e1cebe28675dcd2ebd014e5793d9626c09 +Subproject commit 71fe258bf26dd2b8407729fd09f837ca26060d62 diff --git a/osu.Desktop/Program.cs b/osu.Desktop/Program.cs index 25beb9a7d4..7258610f90 100644 --- a/osu.Desktop/Program.cs +++ b/osu.Desktop/Program.cs @@ -44,9 +44,6 @@ namespace osu.Desktop { switch (args.FirstOrDefault() ?? string.Empty) { - case "--tests": - host.Run(new OsuTestBrowser()); - break; default: host.Run(new OsuGameDesktop(args)); break; diff --git a/osu.Game.Tests/osu.Game.Tests.csproj b/osu.Game.Tests/osu.Game.Tests.csproj index 5b9a1f11e4..a5a78f6fc7 100644 --- a/osu.Game.Tests/osu.Game.Tests.csproj +++ b/osu.Game.Tests/osu.Game.Tests.csproj @@ -1,39 +1,31 @@  - - - netstandard2.0 - Library - AnyCPU - true - ppy Pty Ltd - 1.0.0.0 - ppy Pty Ltd 2007-2017 - osu.Game.Tests - osu.Game.Tests - - NU1701 - + + + net461;netcoreapp2.0 + WinExe + AnyCPU + true + ppy Pty Ltd + click the circles. to the beat. + ppy Pty Ltd 2007-2017 + + NU1701 + - - - + - - - - - - + \ No newline at end of file diff --git a/osu.Desktop/OsuTestBrowser.cs b/osu.Game/Tests/OsuTestBrowser.cs similarity index 87% rename from osu.Desktop/OsuTestBrowser.cs rename to osu.Game/Tests/OsuTestBrowser.cs index 7aae2604af..6d9b28b5a7 100644 --- a/osu.Desktop/OsuTestBrowser.cs +++ b/osu.Game/Tests/OsuTestBrowser.cs @@ -3,12 +3,11 @@ using osu.Framework.Platform; using osu.Framework.Testing; -using osu.Game; using osu.Game.Screens.Backgrounds; -namespace osu.Desktop +namespace osu.Game.Tests { - internal class OsuTestBrowser : OsuGameBase + public class OsuTestBrowser : OsuGameBase { protected override void LoadComplete() { diff --git a/osu.Game/Tests/VisualTestRunner.cs b/osu.Game/Tests/VisualTestRunner.cs new file mode 100644 index 0000000000..d8a4143368 --- /dev/null +++ b/osu.Game/Tests/VisualTestRunner.cs @@ -0,0 +1,22 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System; +using osu.Framework; +using osu.Framework.Platform; + +namespace osu.Game.Tests +{ + public static class VisualTestRunner + { + [STAThread] + public static int Main(string[] args) + { + using (DesktopGameHost host = Host.GetSuitableHost(@"osu", true)) + { + host.Run(new OsuTestBrowser()); + return 0; + } + } + } +} diff --git a/osu.TestProject.props b/osu.TestProject.props new file mode 100644 index 0000000000..50ee5848fc --- /dev/null +++ b/osu.TestProject.props @@ -0,0 +1,26 @@ + + + + $(DefineConstants);NET_FRAMEWORK + + + osu.Game.Tests.VisualTestRunner + + + + + + + + + + + + + VisualTestRunner.cs + + + + false + + \ No newline at end of file From 4907f14dbedb0a34c201840bfca155e85313b6ce Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 13:00:18 +0900 Subject: [PATCH 12/95] Add back resources --- osu.Game.Tests/osu.Game.Tests.csproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/osu.Game.Tests/osu.Game.Tests.csproj b/osu.Game.Tests/osu.Game.Tests.csproj index a5a78f6fc7..1c88cc49d4 100644 --- a/osu.Game.Tests/osu.Game.Tests.csproj +++ b/osu.Game.Tests/osu.Game.Tests.csproj @@ -21,6 +21,12 @@ + + + + + + From c355a0794c92b5d802f2a7e516250979cebf16b6 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 13:12:32 +0900 Subject: [PATCH 13/95] Let appveyor do its own discovery --- appveyor.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 6388b54db5..4c4b70827f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,10 +22,6 @@ build: project: osu.sln parallel: true verbosity: minimal -test: - assemblies: - only: - - 'osu.Desktop\**\*.dll' after_build: - cmd: inspectcode --o="inspectcodereport.xml" --projects:osu.Game* --caches-home="inspectcode" osu.sln > NUL - cmd: NVika parsereport "inspectcodereport.xml" --treatwarningsaserrors \ No newline at end of file From 0026b94cd31dfd533e83ade1585b9994920b4b89 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 14:13:37 +0900 Subject: [PATCH 14/95] Consolidate and move ruleset test projects --- osu-framework | 2 +- .../CatchBeatmapConversionTest.cs | 0 .../TestCaseBananaShower.cs | 0 .../TestCaseCatchPlayer.cs | 0 .../TestCaseCatchStacker.cs | 0 .../TestCaseCatcherArea.cs | 0 .../TestCaseFruitObjects.cs | 0 .../TestCaseHyperdash.cs | 0 .../TestCasePerformancePoints.cs | 0 .../osu.Game.Rulesets.Catch.Tests.csproj | 6 ++++ .../Properties/AssemblyInfo.cs | 12 +++++++ .../osu.Game.Rulesets.Catch.csproj | 11 ------- .../ManiaBeatmapConversionTest.cs | 0 .../TestCaseAutoGeneration.cs | 0 .../TestCaseManiaHitObjects.cs | 0 .../TestCaseManiaPlayfield.cs | 0 .../TestCasePerformancePoints.cs | 0 .../osu.Game.Rulesets.Mania.Tests.csproj | 6 ++++ .../Properties/AssemblyInfo.cs | 12 +++++++ .../osu.Game.Rulesets.Mania.csproj | 11 ------- .../OsuBeatmapConversionTest.cs | 0 .../TestCaseEditor.cs | 0 .../TestCaseGameplayCursor.cs | 0 .../TestCaseHitCircle.cs | 0 .../TestCaseHitCircleHidden.cs | 0 .../TestCasePerformancePoints.cs | 0 .../TestCaseSlider.cs | 0 .../TestCaseSliderHidden.cs | 0 .../TestCaseSpinner.cs | 0 .../TestCaseSpinnerHidden.cs | 0 .../osu.Game.Rulesets.Osu.Tests.csproj | 6 ++++ .../Properties/AssemblyInfo.cs | 12 +++++++ .../osu.Game.Rulesets.Osu.csproj | 11 ------- .../TaikoBeatmapConversionTest.cs | 0 .../TestCaseInputDrum.cs | 0 .../TestCasePerformancePoints.cs | 0 .../TestCaseTaikoPlayfield.cs | 0 .../osu.Game.Rulesets.Taiko.Tests.csproj | 6 ++++ .../Properties/AssemblyInfo.cs | 12 +++++++ .../osu.Game.Rulesets.Taiko.csproj | 11 ------- osu.Game.Tests/osu.Game.Tests.csproj | 28 ---------------- osu.Game.props | 3 ++ osu.TestProject.props | 20 +++++++++--- osu.sln | 32 +++++++++++++++++++ 44 files changed, 124 insertions(+), 77 deletions(-) rename {osu.Game.Rulesets.Catch/Tests => osu.Game.Rulesets.Catch.Tests}/CatchBeatmapConversionTest.cs (100%) rename {osu.Game.Rulesets.Catch/Tests => osu.Game.Rulesets.Catch.Tests}/TestCaseBananaShower.cs (100%) rename {osu.Game.Rulesets.Catch/Tests => osu.Game.Rulesets.Catch.Tests}/TestCaseCatchPlayer.cs (100%) rename {osu.Game.Rulesets.Catch/Tests => osu.Game.Rulesets.Catch.Tests}/TestCaseCatchStacker.cs (100%) rename {osu.Game.Rulesets.Catch/Tests => osu.Game.Rulesets.Catch.Tests}/TestCaseCatcherArea.cs (100%) rename {osu.Game.Rulesets.Catch/Tests => osu.Game.Rulesets.Catch.Tests}/TestCaseFruitObjects.cs (100%) rename {osu.Game.Rulesets.Catch/Tests => osu.Game.Rulesets.Catch.Tests}/TestCaseHyperdash.cs (100%) rename {osu.Game.Rulesets.Catch/Tests => osu.Game.Rulesets.Catch.Tests}/TestCasePerformancePoints.cs (100%) create mode 100644 osu.Game.Rulesets.Catch.Tests/osu.Game.Rulesets.Catch.Tests.csproj create mode 100644 osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs rename {osu.Game.Rulesets.Mania/Tests => osu.Game.Rulesets.Mania.Tests}/ManiaBeatmapConversionTest.cs (100%) rename {osu.Game.Rulesets.Mania/Tests => osu.Game.Rulesets.Mania.Tests}/TestCaseAutoGeneration.cs (100%) rename {osu.Game.Rulesets.Mania/Tests => osu.Game.Rulesets.Mania.Tests}/TestCaseManiaHitObjects.cs (100%) rename {osu.Game.Rulesets.Mania/Tests => osu.Game.Rulesets.Mania.Tests}/TestCaseManiaPlayfield.cs (100%) rename {osu.Game.Rulesets.Mania/Tests => osu.Game.Rulesets.Mania.Tests}/TestCasePerformancePoints.cs (100%) create mode 100644 osu.Game.Rulesets.Mania.Tests/osu.Game.Rulesets.Mania.Tests.csproj create mode 100644 osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/OsuBeatmapConversionTest.cs (100%) rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/TestCaseEditor.cs (100%) rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/TestCaseGameplayCursor.cs (100%) rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/TestCaseHitCircle.cs (100%) rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/TestCaseHitCircleHidden.cs (100%) rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/TestCasePerformancePoints.cs (100%) rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/TestCaseSlider.cs (100%) rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/TestCaseSliderHidden.cs (100%) rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/TestCaseSpinner.cs (100%) rename {osu.Game.Rulesets.Osu/Tests => osu.Game.Rulesets.Osu.Tests}/TestCaseSpinnerHidden.cs (100%) create mode 100644 osu.Game.Rulesets.Osu.Tests/osu.Game.Rulesets.Osu.Tests.csproj create mode 100644 osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs rename {osu.Game.Rulesets.Taiko/Tests => osu.Game.Rulesets.Taiko.Tests}/TaikoBeatmapConversionTest.cs (100%) rename {osu.Game.Rulesets.Taiko/Tests => osu.Game.Rulesets.Taiko.Tests}/TestCaseInputDrum.cs (100%) rename {osu.Game.Rulesets.Taiko/Tests => osu.Game.Rulesets.Taiko.Tests}/TestCasePerformancePoints.cs (100%) rename {osu.Game.Rulesets.Taiko/Tests => osu.Game.Rulesets.Taiko.Tests}/TestCaseTaikoPlayfield.cs (100%) create mode 100644 osu.Game.Rulesets.Taiko.Tests/osu.Game.Rulesets.Taiko.Tests.csproj create mode 100644 osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs diff --git a/osu-framework b/osu-framework index 71fe258bf2..c69330f652 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit 71fe258bf26dd2b8407729fd09f837ca26060d62 +Subproject commit c69330f652d34350a7bf3786016a3ce5f968c25f diff --git a/osu.Game.Rulesets.Catch/Tests/CatchBeatmapConversionTest.cs b/osu.Game.Rulesets.Catch.Tests/CatchBeatmapConversionTest.cs similarity index 100% rename from osu.Game.Rulesets.Catch/Tests/CatchBeatmapConversionTest.cs rename to osu.Game.Rulesets.Catch.Tests/CatchBeatmapConversionTest.cs diff --git a/osu.Game.Rulesets.Catch/Tests/TestCaseBananaShower.cs b/osu.Game.Rulesets.Catch.Tests/TestCaseBananaShower.cs similarity index 100% rename from osu.Game.Rulesets.Catch/Tests/TestCaseBananaShower.cs rename to osu.Game.Rulesets.Catch.Tests/TestCaseBananaShower.cs diff --git a/osu.Game.Rulesets.Catch/Tests/TestCaseCatchPlayer.cs b/osu.Game.Rulesets.Catch.Tests/TestCaseCatchPlayer.cs similarity index 100% rename from osu.Game.Rulesets.Catch/Tests/TestCaseCatchPlayer.cs rename to osu.Game.Rulesets.Catch.Tests/TestCaseCatchPlayer.cs diff --git a/osu.Game.Rulesets.Catch/Tests/TestCaseCatchStacker.cs b/osu.Game.Rulesets.Catch.Tests/TestCaseCatchStacker.cs similarity index 100% rename from osu.Game.Rulesets.Catch/Tests/TestCaseCatchStacker.cs rename to osu.Game.Rulesets.Catch.Tests/TestCaseCatchStacker.cs diff --git a/osu.Game.Rulesets.Catch/Tests/TestCaseCatcherArea.cs b/osu.Game.Rulesets.Catch.Tests/TestCaseCatcherArea.cs similarity index 100% rename from osu.Game.Rulesets.Catch/Tests/TestCaseCatcherArea.cs rename to osu.Game.Rulesets.Catch.Tests/TestCaseCatcherArea.cs diff --git a/osu.Game.Rulesets.Catch/Tests/TestCaseFruitObjects.cs b/osu.Game.Rulesets.Catch.Tests/TestCaseFruitObjects.cs similarity index 100% rename from osu.Game.Rulesets.Catch/Tests/TestCaseFruitObjects.cs rename to osu.Game.Rulesets.Catch.Tests/TestCaseFruitObjects.cs diff --git a/osu.Game.Rulesets.Catch/Tests/TestCaseHyperdash.cs b/osu.Game.Rulesets.Catch.Tests/TestCaseHyperdash.cs similarity index 100% rename from osu.Game.Rulesets.Catch/Tests/TestCaseHyperdash.cs rename to osu.Game.Rulesets.Catch.Tests/TestCaseHyperdash.cs diff --git a/osu.Game.Rulesets.Catch/Tests/TestCasePerformancePoints.cs b/osu.Game.Rulesets.Catch.Tests/TestCasePerformancePoints.cs similarity index 100% rename from osu.Game.Rulesets.Catch/Tests/TestCasePerformancePoints.cs rename to osu.Game.Rulesets.Catch.Tests/TestCasePerformancePoints.cs 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 new file mode 100644 index 0000000000..561613a2e8 --- /dev/null +++ b/osu.Game.Rulesets.Catch.Tests/osu.Game.Rulesets.Catch.Tests.csproj @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..0470b31824 --- /dev/null +++ b/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE + +using System.Runtime.CompilerServices; +using osu.Framework.Testing; + +// We publish our internal attributes to other sub-projects of the framework. +// Note, that we omit visual tests as they are meant to test the framework +// behavior "in the wild". + +[assembly: InternalsVisibleTo("osu.Game.Rulesets.Catch.Tests")] +[assembly: InternalsVisibleTo(DynamicClassCompiler.DYNAMIC_ASSEMBLY_NAME)] diff --git a/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj b/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj index aa4d06cf64..1337617578 100644 --- a/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj +++ b/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj @@ -12,18 +12,7 @@ catch the fruit. to the beat. osu.Game.Rulesets.Catch - - - - - - - - - - - \ No newline at end of file diff --git a/osu.Game.Rulesets.Mania/Tests/ManiaBeatmapConversionTest.cs b/osu.Game.Rulesets.Mania.Tests/ManiaBeatmapConversionTest.cs similarity index 100% rename from osu.Game.Rulesets.Mania/Tests/ManiaBeatmapConversionTest.cs rename to osu.Game.Rulesets.Mania.Tests/ManiaBeatmapConversionTest.cs diff --git a/osu.Game.Rulesets.Mania/Tests/TestCaseAutoGeneration.cs b/osu.Game.Rulesets.Mania.Tests/TestCaseAutoGeneration.cs similarity index 100% rename from osu.Game.Rulesets.Mania/Tests/TestCaseAutoGeneration.cs rename to osu.Game.Rulesets.Mania.Tests/TestCaseAutoGeneration.cs diff --git a/osu.Game.Rulesets.Mania/Tests/TestCaseManiaHitObjects.cs b/osu.Game.Rulesets.Mania.Tests/TestCaseManiaHitObjects.cs similarity index 100% rename from osu.Game.Rulesets.Mania/Tests/TestCaseManiaHitObjects.cs rename to osu.Game.Rulesets.Mania.Tests/TestCaseManiaHitObjects.cs diff --git a/osu.Game.Rulesets.Mania/Tests/TestCaseManiaPlayfield.cs b/osu.Game.Rulesets.Mania.Tests/TestCaseManiaPlayfield.cs similarity index 100% rename from osu.Game.Rulesets.Mania/Tests/TestCaseManiaPlayfield.cs rename to osu.Game.Rulesets.Mania.Tests/TestCaseManiaPlayfield.cs diff --git a/osu.Game.Rulesets.Mania/Tests/TestCasePerformancePoints.cs b/osu.Game.Rulesets.Mania.Tests/TestCasePerformancePoints.cs similarity index 100% rename from osu.Game.Rulesets.Mania/Tests/TestCasePerformancePoints.cs rename to osu.Game.Rulesets.Mania.Tests/TestCasePerformancePoints.cs 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 new file mode 100644 index 0000000000..c7ee19e14f --- /dev/null +++ b/osu.Game.Rulesets.Mania.Tests/osu.Game.Rulesets.Mania.Tests.csproj @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..e4f30e2679 --- /dev/null +++ b/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE + +using System.Runtime.CompilerServices; +using osu.Framework.Testing; + +// We publish our internal attributes to other sub-projects of the framework. +// Note, that we omit visual tests as they are meant to test the framework +// behavior "in the wild". + +[assembly: InternalsVisibleTo("osu.Game.Rulesets.Mania.Tests")] +[assembly: InternalsVisibleTo(DynamicClassCompiler.DYNAMIC_ASSEMBLY_NAME)] diff --git a/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj b/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj index a1f08e9299..b1d0baa03b 100644 --- a/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj +++ b/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj @@ -12,18 +12,7 @@ smash the keys. to the beat. osu.Game.Rulests.Mania - - - - - - - - - - - \ No newline at end of file diff --git a/osu.Game.Rulesets.Osu/Tests/OsuBeatmapConversionTest.cs b/osu.Game.Rulesets.Osu.Tests/OsuBeatmapConversionTest.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/OsuBeatmapConversionTest.cs rename to osu.Game.Rulesets.Osu.Tests/OsuBeatmapConversionTest.cs diff --git a/osu.Game.Rulesets.Osu/Tests/TestCaseEditor.cs b/osu.Game.Rulesets.Osu.Tests/TestCaseEditor.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/TestCaseEditor.cs rename to osu.Game.Rulesets.Osu.Tests/TestCaseEditor.cs diff --git a/osu.Game.Rulesets.Osu/Tests/TestCaseGameplayCursor.cs b/osu.Game.Rulesets.Osu.Tests/TestCaseGameplayCursor.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/TestCaseGameplayCursor.cs rename to osu.Game.Rulesets.Osu.Tests/TestCaseGameplayCursor.cs diff --git a/osu.Game.Rulesets.Osu/Tests/TestCaseHitCircle.cs b/osu.Game.Rulesets.Osu.Tests/TestCaseHitCircle.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/TestCaseHitCircle.cs rename to osu.Game.Rulesets.Osu.Tests/TestCaseHitCircle.cs diff --git a/osu.Game.Rulesets.Osu/Tests/TestCaseHitCircleHidden.cs b/osu.Game.Rulesets.Osu.Tests/TestCaseHitCircleHidden.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/TestCaseHitCircleHidden.cs rename to osu.Game.Rulesets.Osu.Tests/TestCaseHitCircleHidden.cs diff --git a/osu.Game.Rulesets.Osu/Tests/TestCasePerformancePoints.cs b/osu.Game.Rulesets.Osu.Tests/TestCasePerformancePoints.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/TestCasePerformancePoints.cs rename to osu.Game.Rulesets.Osu.Tests/TestCasePerformancePoints.cs diff --git a/osu.Game.Rulesets.Osu/Tests/TestCaseSlider.cs b/osu.Game.Rulesets.Osu.Tests/TestCaseSlider.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/TestCaseSlider.cs rename to osu.Game.Rulesets.Osu.Tests/TestCaseSlider.cs diff --git a/osu.Game.Rulesets.Osu/Tests/TestCaseSliderHidden.cs b/osu.Game.Rulesets.Osu.Tests/TestCaseSliderHidden.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/TestCaseSliderHidden.cs rename to osu.Game.Rulesets.Osu.Tests/TestCaseSliderHidden.cs diff --git a/osu.Game.Rulesets.Osu/Tests/TestCaseSpinner.cs b/osu.Game.Rulesets.Osu.Tests/TestCaseSpinner.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/TestCaseSpinner.cs rename to osu.Game.Rulesets.Osu.Tests/TestCaseSpinner.cs diff --git a/osu.Game.Rulesets.Osu/Tests/TestCaseSpinnerHidden.cs b/osu.Game.Rulesets.Osu.Tests/TestCaseSpinnerHidden.cs similarity index 100% rename from osu.Game.Rulesets.Osu/Tests/TestCaseSpinnerHidden.cs rename to osu.Game.Rulesets.Osu.Tests/TestCaseSpinnerHidden.cs 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 new file mode 100644 index 0000000000..c84eff2da1 --- /dev/null +++ b/osu.Game.Rulesets.Osu.Tests/osu.Game.Rulesets.Osu.Tests.csproj @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..435bfd6512 --- /dev/null +++ b/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE + +using System.Runtime.CompilerServices; +using osu.Framework.Testing; + +// We publish our internal attributes to other sub-projects of the framework. +// Note, that we omit visual tests as they are meant to test the framework +// behavior "in the wild". + +[assembly: InternalsVisibleTo("osu.Game.Rulesets.Osu.Tests")] +[assembly: InternalsVisibleTo(DynamicClassCompiler.DYNAMIC_ASSEMBLY_NAME)] diff --git a/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj b/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj index a58d3b6795..1d29be1557 100644 --- a/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj +++ b/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj @@ -12,18 +12,7 @@ click the circles. to the beat. osu.Game.Rulesets.Osu - - - - - - - - - - - \ No newline at end of file diff --git a/osu.Game.Rulesets.Taiko/Tests/TaikoBeatmapConversionTest.cs b/osu.Game.Rulesets.Taiko.Tests/TaikoBeatmapConversionTest.cs similarity index 100% rename from osu.Game.Rulesets.Taiko/Tests/TaikoBeatmapConversionTest.cs rename to osu.Game.Rulesets.Taiko.Tests/TaikoBeatmapConversionTest.cs diff --git a/osu.Game.Rulesets.Taiko/Tests/TestCaseInputDrum.cs b/osu.Game.Rulesets.Taiko.Tests/TestCaseInputDrum.cs similarity index 100% rename from osu.Game.Rulesets.Taiko/Tests/TestCaseInputDrum.cs rename to osu.Game.Rulesets.Taiko.Tests/TestCaseInputDrum.cs diff --git a/osu.Game.Rulesets.Taiko/Tests/TestCasePerformancePoints.cs b/osu.Game.Rulesets.Taiko.Tests/TestCasePerformancePoints.cs similarity index 100% rename from osu.Game.Rulesets.Taiko/Tests/TestCasePerformancePoints.cs rename to osu.Game.Rulesets.Taiko.Tests/TestCasePerformancePoints.cs diff --git a/osu.Game.Rulesets.Taiko/Tests/TestCaseTaikoPlayfield.cs b/osu.Game.Rulesets.Taiko.Tests/TestCaseTaikoPlayfield.cs similarity index 100% rename from osu.Game.Rulesets.Taiko/Tests/TestCaseTaikoPlayfield.cs rename to osu.Game.Rulesets.Taiko.Tests/TestCaseTaikoPlayfield.cs 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 new file mode 100644 index 0000000000..918dd90814 --- /dev/null +++ b/osu.Game.Rulesets.Taiko.Tests/osu.Game.Rulesets.Taiko.Tests.csproj @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..c2ced73872 --- /dev/null +++ b/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +// Copyright (c) 2007-2018 ppy Pty Ltd . +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE + +using System.Runtime.CompilerServices; +using osu.Framework.Testing; + +// We publish our internal attributes to other sub-projects of the framework. +// Note, that we omit visual tests as they are meant to test the framework +// behavior "in the wild". + +[assembly: InternalsVisibleTo("osu.Game.Rulesets.Taiko.Tests")] +[assembly: InternalsVisibleTo(DynamicClassCompiler.DYNAMIC_ASSEMBLY_NAME)] diff --git a/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj b/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj index d7794aaafd..75e64012d0 100644 --- a/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj +++ b/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj @@ -12,18 +12,7 @@ bash the drum. to the beat. osu.Game.Rulesets.Taiko - - - - - - - - - - - \ No newline at end of file diff --git a/osu.Game.Tests/osu.Game.Tests.csproj b/osu.Game.Tests/osu.Game.Tests.csproj index 1c88cc49d4..4a0b89817f 100644 --- a/osu.Game.Tests/osu.Game.Tests.csproj +++ b/osu.Game.Tests/osu.Game.Tests.csproj @@ -1,37 +1,9 @@  - - - - - net461;netcoreapp2.0 - WinExe - AnyCPU - true - ppy Pty Ltd - click the circles. to the beat. - ppy Pty Ltd 2007-2017 - - NU1701 - - - - - - - - - - - - - - \ No newline at end of file diff --git a/osu.Game.props b/osu.Game.props index 07abeb5539..b8a340f1eb 100644 --- a/osu.Game.props +++ b/osu.Game.props @@ -8,4 +8,7 @@ osu.licenseheader + + + \ No newline at end of file diff --git a/osu.TestProject.props b/osu.TestProject.props index 50ee5848fc..c4b4a52a80 100644 --- a/osu.TestProject.props +++ b/osu.TestProject.props @@ -1,19 +1,31 @@ - - - $(DefineConstants);NET_FRAMEWORK - + osu.Game.Tests.VisualTestRunner + + + + + WinExe + AnyCPU + true + + NU1701 + netcoreapp2.0;net461 + + + + diff --git a/osu.sln b/osu.sln index 43a7fdf6c3..a440f456f5 100644 --- a/osu.sln +++ b/osu.sln @@ -23,6 +23,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Game.Tests", "osu.Game. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Desktop", "osu.Desktop\osu.Desktop.csproj", "{419659FD-72EA-4678-9EB8-B22A746CED70}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Rulesets.Catch.Tests", "osu.Game.Rulesets.Catch.Tests\osu.Game.Rulesets.Catch.Tests.csproj", "{3AD63355-D6B1-4365-8D31-5652C989BEF1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Rulesets.Mania.Tests", "osu.Game.Rulesets.Mania.Tests\osu.Game.Rulesets.Mania.Tests.csproj", "{7E9E9C34-B204-406B-82E2-E01E900699CD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Rulesets.Taiko.Tests", "osu.Game.Rulesets.Taiko.Tests\osu.Game.Rulesets.Taiko.Tests.csproj", "{B698561F-FB28-46B1-857E-3CA7B92F9D70}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Rulesets.Osu.Tests", "osu.Game.Rulesets.Osu.Tests\osu.Game.Rulesets.Osu.Tests.csproj", "{6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -87,6 +95,30 @@ Global {419659FD-72EA-4678-9EB8-B22A746CED70}.Release|Any CPU.Build.0 = Release|Any CPU {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.ActiveCfg = VisualTests|Any CPU {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.Build.0 = VisualTests|Any CPU + {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Release|Any CPU.Build.0 = Release|Any CPU + {3AD63355-D6B1-4365-8D31-5652C989BEF1}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU + {3AD63355-D6B1-4365-8D31-5652C989BEF1}.VisualTests|Any CPU.Build.0 = Debug|Any CPU + {7E9E9C34-B204-406B-82E2-E01E900699CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7E9E9C34-B204-406B-82E2-E01E900699CD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7E9E9C34-B204-406B-82E2-E01E900699CD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7E9E9C34-B204-406B-82E2-E01E900699CD}.Release|Any CPU.Build.0 = Release|Any CPU + {7E9E9C34-B204-406B-82E2-E01E900699CD}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU + {7E9E9C34-B204-406B-82E2-E01E900699CD}.VisualTests|Any CPU.Build.0 = Debug|Any CPU + {B698561F-FB28-46B1-857E-3CA7B92F9D70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B698561F-FB28-46B1-857E-3CA7B92F9D70}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B698561F-FB28-46B1-857E-3CA7B92F9D70}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B698561F-FB28-46B1-857E-3CA7B92F9D70}.Release|Any CPU.Build.0 = Release|Any CPU + {B698561F-FB28-46B1-857E-3CA7B92F9D70}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU + {B698561F-FB28-46B1-857E-3CA7B92F9D70}.VisualTests|Any CPU.Build.0 = Debug|Any CPU + {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.Release|Any CPU.Build.0 = Release|Any CPU + {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU + {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.VisualTests|Any CPU.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 093bd7db3c0620b4b6cc2ed1be30c85e5a4ac357 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 14:41:37 +0900 Subject: [PATCH 15/95] Update vscode build configurations --- .vscode/launch.json | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 8c8255db71..624e584f10 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,10 +8,7 @@ }, "type": "mono", "request": "launch", - "program": "${workspaceRoot}/osu.Desktop/bin/Debug/net461/osu!.exe", - "args": [ - "--tests" - ], + "program": "${workspaceRoot}/osu.Game.Tests/bin/Debug/net461/osu.Game.Tests.exe", "cwd": "${workspaceRoot}", "preLaunchTask": "Build (Debug, msbuild)", "runtimeExecutable": null, @@ -25,10 +22,7 @@ }, "type": "mono", "request": "launch", - "program": "${workspaceRoot}/osu.Desktop/bin/Release/net461/osu!.exe", - "args": [ - "--tests" - ], + "program": "${workspaceRoot}/osu.Game.Tests/bin/Debug/net461/osu.Game.Tests.exe", "cwd": "${workspaceRoot}", "preLaunchTask": "Build (Release, msbuild)", "runtimeExecutable": null, @@ -69,8 +63,7 @@ "request": "launch", "program": "dotnet", "args": [ - "${workspaceRoot}/osu.Desktop/bin/Debug/netcoreapp2.0/osu!.dll", - "--tests" + "${workspaceRoot}/osu.Game.Tests/bin/Debug/netcoreapp2.0/osu.Game.Tests.dll" ], "cwd": "${workspaceRoot}", "preLaunchTask": "Build (Debug, dotnet)", @@ -83,8 +76,7 @@ "request": "launch", "program": "dotnet", "args": [ - "${workspaceRoot}/osu.Desktop/bin/Release/netcoreapp2.0/osu!.dll", - "--tests" + "${workspaceRoot}/osu.Game.Tests/bin/Debug/netcoreapp2.0/osu.Game.Tests.dll" ], "cwd": "${workspaceRoot}", "preLaunchTask": "Build (Release, dotnet)", From 9667d54ecbe542e18634b49e66d3348b296995d8 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 14:48:08 +0900 Subject: [PATCH 16/95] Add missing licence headers --- osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs | 2 +- osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs | 2 +- osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs | 2 +- osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs index 0470b31824..00fd8247d8 100644 --- a/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs +++ b/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs @@ -1,5 +1,5 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . -// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System.Runtime.CompilerServices; using osu.Framework.Testing; diff --git a/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs index e4f30e2679..c2c65433ec 100644 --- a/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs +++ b/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs @@ -1,5 +1,5 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . -// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System.Runtime.CompilerServices; using osu.Framework.Testing; diff --git a/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs index 435bfd6512..7532646a32 100644 --- a/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs +++ b/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs @@ -1,5 +1,5 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . -// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System.Runtime.CompilerServices; using osu.Framework.Testing; diff --git a/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs index c2ced73872..b7ed9f86b0 100644 --- a/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs +++ b/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs @@ -1,5 +1,5 @@ // Copyright (c) 2007-2018 ppy Pty Ltd . -// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-framework/master/LICENCE +// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System.Runtime.CompilerServices; using osu.Framework.Testing; From 81a8385c8c36bc6e72c91939159db888287a861a Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 15:17:09 +0900 Subject: [PATCH 17/95] Remove lingering reference to tests --- osu.Desktop/osu.Desktop.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/osu.Desktop/osu.Desktop.csproj b/osu.Desktop/osu.Desktop.csproj index 2262bbc515..2f74157c6e 100644 --- a/osu.Desktop/osu.Desktop.csproj +++ b/osu.Desktop/osu.Desktop.csproj @@ -36,7 +36,6 @@ - From 9aae568bbefee8bb807d6d7b8c123cfc4060c7a6 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 15:19:56 +0900 Subject: [PATCH 18/95] Tidy up csproj further --- osu.Desktop.Deploy/osu.Desktop.Deploy.csproj | 4 ---- osu.Desktop/osu.Desktop.csproj | 14 +------------- .../osu.Game.Rulesets.Catch.csproj | 5 ----- .../osu.Game.Rulesets.Mania.csproj | 5 ----- osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj | 5 ----- .../osu.Game.Rulesets.Taiko.csproj | 5 ----- osu.Game.props | 7 +++++++ osu.Game/osu.Game.csproj | 6 ------ osu.TestProject.props | 3 --- 9 files changed, 8 insertions(+), 46 deletions(-) diff --git a/osu.Desktop.Deploy/osu.Desktop.Deploy.csproj b/osu.Desktop.Deploy/osu.Desktop.Deploy.csproj index eab54bd10b..a18db9477a 100644 --- a/osu.Desktop.Deploy/osu.Desktop.Deploy.csproj +++ b/osu.Desktop.Deploy/osu.Desktop.Deploy.csproj @@ -5,10 +5,6 @@ Exe AnyCPU true - ppy Pty Ltd - ppy Pty Ltd 2007-2017 - osu.Desktop.Deploy - osu.Desktop.Deploy diff --git a/osu.Desktop/osu.Desktop.csproj b/osu.Desktop/osu.Desktop.csproj index 2f74157c6e..1f17ca9696 100644 --- a/osu.Desktop/osu.Desktop.csproj +++ b/osu.Desktop/osu.Desktop.csproj @@ -5,19 +5,11 @@ WinExe AnyCPU true - ppy Pty Ltd click the circles. to the beat. - ppy Pty Ltd 2007-2017 osu! osu!lazer osu!lazer lazer.ico - $(CONFIGURATIONS);VisualTests - 0.0.0.0 - 0.0.0.0 - - NU1701 $(DefineConstants);NET_FRAMEWORK @@ -25,22 +17,18 @@ osu.Desktop.Program - - --tests - + - - diff --git a/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj b/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj index 1337617578..883cac67d1 100644 --- a/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj +++ b/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj @@ -5,12 +5,7 @@ Library AnyCPU true - ppy Pty Ltd - 1.0.0.0 - ppy Pty Ltd 2007-2017 - osu.Game.Rulesets.Catch catch the fruit. to the beat. - osu.Game.Rulesets.Catch diff --git a/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj b/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj index b1d0baa03b..a086da0565 100644 --- a/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj +++ b/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj @@ -5,12 +5,7 @@ Library AnyCPU true - ppy Pty Ltd - 1.0.0.0 - ppy Pty Ltd 2007-2017 - osu.Game.Rulests.Mania smash the keys. to the beat. - osu.Game.Rulests.Mania diff --git a/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj b/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj index 1d29be1557..b0ca314551 100644 --- a/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj +++ b/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj @@ -5,12 +5,7 @@ Library AnyCPU true - ppy Pty Ltd - 1.0.0.0 - ppy Pty Ltd 2007-2017 - osu.Game.Rulesets.Osu click the circles. to the beat. - osu.Game.Rulesets.Osu diff --git a/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj b/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj index 75e64012d0..002d6a7e8d 100644 --- a/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj +++ b/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj @@ -5,12 +5,7 @@ Library AnyCPU true - ppy Pty Ltd - 1.0.0.0 - ppy Pty Ltd 2007-2017 - osu.Game.Rulesets.Taiko bash the drum. to the beat. - osu.Game.Rulesets.Taiko diff --git a/osu.Game.props b/osu.Game.props index b8a340f1eb..87edafb97f 100644 --- a/osu.Game.props +++ b/osu.Game.props @@ -11,4 +11,11 @@ + + ppy Pty Ltd + ppy Pty Ltd 2007-2018 + + NU1701 + \ No newline at end of file diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index b42d76e331..367c3490d6 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -5,12 +5,6 @@ Library AnyCPU true - ppy Pty Ltd - 1.0.0.0 - ppy Pty Ltd 2007-2018 - osu.Game - click the circles. to the beat. - osu.Game 0 diff --git a/osu.TestProject.props b/osu.TestProject.props index c4b4a52a80..9ffb2094a4 100644 --- a/osu.TestProject.props +++ b/osu.TestProject.props @@ -10,9 +10,6 @@ WinExe AnyCPU true - - NU1701 netcoreapp2.0;net461 From 59df02da0003cf5c99604bb236e8cf35b0706820 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 15:59:41 +0900 Subject: [PATCH 19/95] Update test projects to actually load in visual studio --- .../osu.Game.Rulesets.Catch.Tests.csproj | 4 ++++ .../osu.Game.Rulesets.Mania.Tests.csproj | 4 ++++ .../osu.Game.Rulesets.Osu.Tests.csproj | 4 ++++ .../osu.Game.Rulesets.Taiko.Tests.csproj | 4 ++++ osu.Game.Tests/osu.Game.Tests.csproj | 4 ++++ osu.TestProject.props | 6 ------ osu.sln | 4 ++-- 7 files changed, 22 insertions(+), 8 deletions(-) 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 561613a2e8..51c6d18f1f 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 @@ -1,5 +1,9 @@  + + WinExe + netcoreapp2.0;net461 + 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 c7ee19e14f..187d5e47b9 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 @@ -1,5 +1,9 @@  + + WinExe + netcoreapp2.0;net461 + 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 c84eff2da1..b2b524a71c 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 @@ -1,5 +1,9 @@  + + WinExe + netcoreapp2.0;net461 + 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 918dd90814..df73fa61cb 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 @@ -1,5 +1,9 @@  + + WinExe + netcoreapp2.0;net461 + diff --git a/osu.Game.Tests/osu.Game.Tests.csproj b/osu.Game.Tests/osu.Game.Tests.csproj index 4a0b89817f..2646e953cf 100644 --- a/osu.Game.Tests/osu.Game.Tests.csproj +++ b/osu.Game.Tests/osu.Game.Tests.csproj @@ -1,5 +1,9 @@  + + WinExe + netcoreapp2.0;net461 + diff --git a/osu.TestProject.props b/osu.TestProject.props index 9ffb2094a4..cb841f1940 100644 --- a/osu.TestProject.props +++ b/osu.TestProject.props @@ -6,12 +6,6 @@ - - WinExe - AnyCPU - true - netcoreapp2.0;net461 - diff --git a/osu.sln b/osu.sln index a440f456f5..835a2f8169 100644 --- a/osu.sln +++ b/osu.sln @@ -93,8 +93,8 @@ Global {419659FD-72EA-4678-9EB8-B22A746CED70}.Debug|Any CPU.Build.0 = Debug|Any CPU {419659FD-72EA-4678-9EB8-B22A746CED70}.Release|Any CPU.ActiveCfg = Release|Any CPU {419659FD-72EA-4678-9EB8-B22A746CED70}.Release|Any CPU.Build.0 = Release|Any CPU - {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.ActiveCfg = VisualTests|Any CPU - {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.Build.0 = VisualTests|Any CPU + {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.ActiveCfg = Release|Any CPU + {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.Build.0 = Release|Any CPU {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Debug|Any CPU.Build.0 = Debug|Any CPU {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Release|Any CPU.ActiveCfg = Release|Any CPU From e47276c6b00b52437499bc3e46bafd74b650d261 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 16:17:04 +0900 Subject: [PATCH 20/95] Remove VisualTests solution configuration --- osu.sln | 36 ++++-------------------------------- 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/osu.sln b/osu.sln index 835a2f8169..f017bf9eab 100644 --- a/osu.sln +++ b/osu.sln @@ -23,102 +23,74 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Game.Tests", "osu.Game. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Desktop", "osu.Desktop\osu.Desktop.csproj", "{419659FD-72EA-4678-9EB8-B22A746CED70}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Rulesets.Catch.Tests", "osu.Game.Rulesets.Catch.Tests\osu.Game.Rulesets.Catch.Tests.csproj", "{3AD63355-D6B1-4365-8D31-5652C989BEF1}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Game.Rulesets.Catch.Tests", "osu.Game.Rulesets.Catch.Tests\osu.Game.Rulesets.Catch.Tests.csproj", "{3AD63355-D6B1-4365-8D31-5652C989BEF1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Rulesets.Mania.Tests", "osu.Game.Rulesets.Mania.Tests\osu.Game.Rulesets.Mania.Tests.csproj", "{7E9E9C34-B204-406B-82E2-E01E900699CD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Game.Rulesets.Mania.Tests", "osu.Game.Rulesets.Mania.Tests\osu.Game.Rulesets.Mania.Tests.csproj", "{7E9E9C34-B204-406B-82E2-E01E900699CD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Rulesets.Taiko.Tests", "osu.Game.Rulesets.Taiko.Tests\osu.Game.Rulesets.Taiko.Tests.csproj", "{B698561F-FB28-46B1-857E-3CA7B92F9D70}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Game.Rulesets.Taiko.Tests", "osu.Game.Rulesets.Taiko.Tests\osu.Game.Rulesets.Taiko.Tests.csproj", "{B698561F-FB28-46B1-857E-3CA7B92F9D70}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Rulesets.Osu.Tests", "osu.Game.Rulesets.Osu.Tests\osu.Game.Rulesets.Osu.Tests.csproj", "{6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Game.Rulesets.Osu.Tests", "osu.Game.Rulesets.Osu.Tests\osu.Game.Rulesets.Osu.Tests.csproj", "{6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU - VisualTests|Any CPU = VisualTests|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {2A66DD92-ADB1-4994-89E2-C94E04ACDA0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2A66DD92-ADB1-4994-89E2-C94E04ACDA0D}.Debug|Any CPU.Build.0 = Debug|Any CPU {2A66DD92-ADB1-4994-89E2-C94E04ACDA0D}.Release|Any CPU.ActiveCfg = Release|Any CPU {2A66DD92-ADB1-4994-89E2-C94E04ACDA0D}.Release|Any CPU.Build.0 = Release|Any CPU - {2A66DD92-ADB1-4994-89E2-C94E04ACDA0D}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {2A66DD92-ADB1-4994-89E2-C94E04ACDA0D}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {C76BF5B3-985E-4D39-95FE-97C9C879B83A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C76BF5B3-985E-4D39-95FE-97C9C879B83A}.Debug|Any CPU.Build.0 = Debug|Any CPU {C76BF5B3-985E-4D39-95FE-97C9C879B83A}.Release|Any CPU.ActiveCfg = Release|Any CPU {C76BF5B3-985E-4D39-95FE-97C9C879B83A}.Release|Any CPU.Build.0 = Release|Any CPU - {C76BF5B3-985E-4D39-95FE-97C9C879B83A}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {C76BF5B3-985E-4D39-95FE-97C9C879B83A}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {D9A367C9-4C1A-489F-9B05-A0CEA2B53B58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D9A367C9-4C1A-489F-9B05-A0CEA2B53B58}.Debug|Any CPU.Build.0 = Debug|Any CPU {D9A367C9-4C1A-489F-9B05-A0CEA2B53B58}.Release|Any CPU.ActiveCfg = Release|Any CPU {D9A367C9-4C1A-489F-9B05-A0CEA2B53B58}.Release|Any CPU.Build.0 = Release|Any CPU - {D9A367C9-4C1A-489F-9B05-A0CEA2B53B58}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {D9A367C9-4C1A-489F-9B05-A0CEA2B53B58}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {C92A607B-1FDD-4954-9F92-03FF547D9080}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C92A607B-1FDD-4954-9F92-03FF547D9080}.Debug|Any CPU.Build.0 = Debug|Any CPU {C92A607B-1FDD-4954-9F92-03FF547D9080}.Release|Any CPU.ActiveCfg = Release|Any CPU {C92A607B-1FDD-4954-9F92-03FF547D9080}.Release|Any CPU.Build.0 = Release|Any CPU - {C92A607B-1FDD-4954-9F92-03FF547D9080}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {C92A607B-1FDD-4954-9F92-03FF547D9080}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {58F6C80C-1253-4A0E-A465-B8C85EBEADF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {58F6C80C-1253-4A0E-A465-B8C85EBEADF3}.Debug|Any CPU.Build.0 = Debug|Any CPU {58F6C80C-1253-4A0E-A465-B8C85EBEADF3}.Release|Any CPU.ActiveCfg = Release|Any CPU {58F6C80C-1253-4A0E-A465-B8C85EBEADF3}.Release|Any CPU.Build.0 = Release|Any CPU - {58F6C80C-1253-4A0E-A465-B8C85EBEADF3}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {58F6C80C-1253-4A0E-A465-B8C85EBEADF3}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {F167E17A-7DE6-4AF5-B920-A5112296C695}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F167E17A-7DE6-4AF5-B920-A5112296C695}.Debug|Any CPU.Build.0 = Debug|Any CPU {F167E17A-7DE6-4AF5-B920-A5112296C695}.Release|Any CPU.ActiveCfg = Release|Any CPU {F167E17A-7DE6-4AF5-B920-A5112296C695}.Release|Any CPU.Build.0 = Release|Any CPU - {F167E17A-7DE6-4AF5-B920-A5112296C695}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {F167E17A-7DE6-4AF5-B920-A5112296C695}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {48F4582B-7687-4621-9CBE-5C24197CB536}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {48F4582B-7687-4621-9CBE-5C24197CB536}.Debug|Any CPU.Build.0 = Debug|Any CPU {48F4582B-7687-4621-9CBE-5C24197CB536}.Release|Any CPU.ActiveCfg = Release|Any CPU {48F4582B-7687-4621-9CBE-5C24197CB536}.Release|Any CPU.Build.0 = Release|Any CPU - {48F4582B-7687-4621-9CBE-5C24197CB536}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {48F4582B-7687-4621-9CBE-5C24197CB536}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {BAEA2F74-0315-4667-84E0-ACAC0B4BF785}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BAEA2F74-0315-4667-84E0-ACAC0B4BF785}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BAEA2F74-0315-4667-84E0-ACAC0B4BF785}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU {54377672-20B1-40AF-8087-5CF73BF3953A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {54377672-20B1-40AF-8087-5CF73BF3953A}.Debug|Any CPU.Build.0 = Debug|Any CPU {54377672-20B1-40AF-8087-5CF73BF3953A}.Release|Any CPU.ActiveCfg = Release|Any CPU {54377672-20B1-40AF-8087-5CF73BF3953A}.Release|Any CPU.Build.0 = Release|Any CPU - {54377672-20B1-40AF-8087-5CF73BF3953A}.VisualTests|Any CPU.ActiveCfg = Release|Any CPU - {54377672-20B1-40AF-8087-5CF73BF3953A}.VisualTests|Any CPU.Build.0 = Release|Any CPU {419659FD-72EA-4678-9EB8-B22A746CED70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {419659FD-72EA-4678-9EB8-B22A746CED70}.Debug|Any CPU.Build.0 = Debug|Any CPU {419659FD-72EA-4678-9EB8-B22A746CED70}.Release|Any CPU.ActiveCfg = Release|Any CPU {419659FD-72EA-4678-9EB8-B22A746CED70}.Release|Any CPU.Build.0 = Release|Any CPU - {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.ActiveCfg = Release|Any CPU - {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.Build.0 = Release|Any CPU {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Debug|Any CPU.Build.0 = Debug|Any CPU {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Release|Any CPU.ActiveCfg = Release|Any CPU {3AD63355-D6B1-4365-8D31-5652C989BEF1}.Release|Any CPU.Build.0 = Release|Any CPU - {3AD63355-D6B1-4365-8D31-5652C989BEF1}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {3AD63355-D6B1-4365-8D31-5652C989BEF1}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {7E9E9C34-B204-406B-82E2-E01E900699CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7E9E9C34-B204-406B-82E2-E01E900699CD}.Debug|Any CPU.Build.0 = Debug|Any CPU {7E9E9C34-B204-406B-82E2-E01E900699CD}.Release|Any CPU.ActiveCfg = Release|Any CPU {7E9E9C34-B204-406B-82E2-E01E900699CD}.Release|Any CPU.Build.0 = Release|Any CPU - {7E9E9C34-B204-406B-82E2-E01E900699CD}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {7E9E9C34-B204-406B-82E2-E01E900699CD}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {B698561F-FB28-46B1-857E-3CA7B92F9D70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B698561F-FB28-46B1-857E-3CA7B92F9D70}.Debug|Any CPU.Build.0 = Debug|Any CPU {B698561F-FB28-46B1-857E-3CA7B92F9D70}.Release|Any CPU.ActiveCfg = Release|Any CPU {B698561F-FB28-46B1-857E-3CA7B92F9D70}.Release|Any CPU.Build.0 = Release|Any CPU - {B698561F-FB28-46B1-857E-3CA7B92F9D70}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {B698561F-FB28-46B1-857E-3CA7B92F9D70}.VisualTests|Any CPU.Build.0 = Debug|Any CPU {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.Debug|Any CPU.Build.0 = Debug|Any CPU {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.Release|Any CPU.ActiveCfg = Release|Any CPU {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.Release|Any CPU.Build.0 = Release|Any CPU - {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU - {6A2D5D58-0261-4A75-BE84-2BE8B076B7C2}.VisualTests|Any CPU.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 01116a73a3e898ed3eb70e2b6e9c113e911bd965 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 28 Mar 2018 18:09:18 +0900 Subject: [PATCH 21/95] Update framework --- osu-framework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu-framework b/osu-framework index c69330f652..2ac5cb0464 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit c69330f652d34350a7bf3786016a3ce5f968c25f +Subproject commit 2ac5cb0464133b570adb1f3408e564691f08d12e From d83e4dfd24a34843f8ba81f5987bc166904edc84 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 29 Mar 2018 12:26:32 +0900 Subject: [PATCH 22/95] Add .vscode configurations for ruleset test projects --- .vscode/settings.json | 3 - .../.vscode/launch.json | 59 +++++++++++++ .../.vscode/tasks.json | 87 +++++++++++++++++++ .../.vscode/launch.json | 59 +++++++++++++ .../.vscode/tasks.json | 87 +++++++++++++++++++ .../.vscode/launch.json | 59 +++++++++++++ .../.vscode/tasks.json | 87 +++++++++++++++++++ .../.vscode/launch.json | 59 +++++++++++++ .../.vscode/tasks.json | 87 +++++++++++++++++++ 9 files changed, 584 insertions(+), 3 deletions(-) delete mode 100644 .vscode/settings.json create mode 100644 osu.Game.Rulesets.Catch.Tests/.vscode/launch.json create mode 100644 osu.Game.Rulesets.Catch.Tests/.vscode/tasks.json create mode 100644 osu.Game.Rulesets.Mania.Tests/.vscode/launch.json create mode 100644 osu.Game.Rulesets.Mania.Tests/.vscode/tasks.json create mode 100644 osu.Game.Rulesets.Osu.Tests/.vscode/launch.json create mode 100644 osu.Game.Rulesets.Osu.Tests/.vscode/tasks.json create mode 100644 osu.Game.Rulesets.Taiko.Tests/.vscode/launch.json create mode 100644 osu.Game.Rulesets.Taiko.Tests/.vscode/tasks.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 20af2f68a6..0000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -// Place your settings in this file to overwrite default and user settings. -{ -} \ No newline at end of file diff --git a/osu.Game.Rulesets.Catch.Tests/.vscode/launch.json b/osu.Game.Rulesets.Catch.Tests/.vscode/launch.json new file mode 100644 index 0000000000..5098b78a42 --- /dev/null +++ b/osu.Game.Rulesets.Catch.Tests/.vscode/launch.json @@ -0,0 +1,59 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "VisualTests (Debug, net461)", + "windows": { + "type": "clr" + }, + "type": "mono", + "request": "launch", + "program": "${workspaceRoot}/bin/Debug/net461/osu.Game.Rulesets.Catch.Tests.exe", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Debug, msbuild)", + "runtimeExecutable": null, + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Release, net461)", + "windows": { + "type": "clr" + }, + "type": "mono", + "request": "launch", + "program": "${workspaceRoot}/bin/Debug/net461/osu.Game.Rulesets.Catch.Tests.exe", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Release, msbuild)", + "runtimeExecutable": null, + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Debug, netcoreapp2.0)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": [ + "${workspaceRoot}/bin/Debug/netcoreapp2.0/osu.Game.Rulesets.Catch.Tests.dll" + ], + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Debug, dotnet)", + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Release, netcoreapp2.0)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": [ + "${workspaceRoot}/bin/Debug/netcoreapp2.0/osu.Game.Rulesets.Catch.Tests.dll" + ], + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Release, dotnet)", + "env": {}, + "console": "internalConsole" + } + ] +} \ No newline at end of file diff --git a/osu.Game.Rulesets.Catch.Tests/.vscode/tasks.json b/osu.Game.Rulesets.Catch.Tests/.vscode/tasks.json new file mode 100644 index 0000000000..d21bb8a69a --- /dev/null +++ b/osu.Game.Rulesets.Catch.Tests/.vscode/tasks.json @@ -0,0 +1,87 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Build (Debug, msbuild)", + "type": "shell", + "command": "msbuild", + "args": [ + "osu.Game.Rulesets.Catch.Tests.csproj", + "/p:TargetFramework=net461", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Release, msbuild)", + "type": "shell", + "command": "msbuild", + "args": [ + "osu.Game.Rulesets.Catch.Tests.csproj", + "/p:Configuration=Release", + "/p:TargetFramework=net461", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Debug, dotnet)", + "type": "shell", + "command": "dotnet", + "args": [ + "build", + "--no-restore", + "osu.Game.Rulesets.Catch.Tests.csproj", + "/p:TargetFramework=netcoreapp2.0", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Release, dotnet)", + "type": "shell", + "command": "dotnet", + "args": [ + "build", + "--no-restore", + "osu.Game.Rulesets.Catch.Tests.csproj", + "/p:TargetFramework=netcoreapp2.0", + "/p:Configuration=Release", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Restore (net461)", + "type": "shell", + "command": "nuget", + "args": [ + "restore" + ], + "problemMatcher": [] + }, + { + "label": "Restore (netcoreapp2.0)", + "type": "shell", + "command": "dotnet", + "args": [ + "restore" + ], + "problemMatcher": [] + } + ] +} \ No newline at end of file diff --git a/osu.Game.Rulesets.Mania.Tests/.vscode/launch.json b/osu.Game.Rulesets.Mania.Tests/.vscode/launch.json new file mode 100644 index 0000000000..c71178059b --- /dev/null +++ b/osu.Game.Rulesets.Mania.Tests/.vscode/launch.json @@ -0,0 +1,59 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "VisualTests (Debug, net461)", + "windows": { + "type": "clr" + }, + "type": "mono", + "request": "launch", + "program": "${workspaceRoot}/bin/Debug/net461/osu.Game.Rulesets.Mania.Tests.exe", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Debug, msbuild)", + "runtimeExecutable": null, + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Release, net461)", + "windows": { + "type": "clr" + }, + "type": "mono", + "request": "launch", + "program": "${workspaceRoot}/bin/Debug/net461/osu.Game.Rulesets.Mania.Tests.exe", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Release, msbuild)", + "runtimeExecutable": null, + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Debug, netcoreapp2.0)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": [ + "${workspaceRoot}/bin/Debug/netcoreapp2.0/osu.Game.Rulesets.Mania.Tests.dll" + ], + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Debug, dotnet)", + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Release, netcoreapp2.0)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": [ + "${workspaceRoot}/bin/Debug/netcoreapp2.0/osu.Game.Rulesets.Mania.Tests.dll" + ], + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Release, dotnet)", + "env": {}, + "console": "internalConsole" + } + ] +} \ No newline at end of file diff --git a/osu.Game.Rulesets.Mania.Tests/.vscode/tasks.json b/osu.Game.Rulesets.Mania.Tests/.vscode/tasks.json new file mode 100644 index 0000000000..781e89598f --- /dev/null +++ b/osu.Game.Rulesets.Mania.Tests/.vscode/tasks.json @@ -0,0 +1,87 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Build (Debug, msbuild)", + "type": "shell", + "command": "msbuild", + "args": [ + "osu.Game.Rulesets.Mania.Tests.csproj", + "/p:TargetFramework=net461", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Release, msbuild)", + "type": "shell", + "command": "msbuild", + "args": [ + "osu.Game.Rulesets.Mania.Tests.csproj", + "/p:Configuration=Release", + "/p:TargetFramework=net461", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Debug, dotnet)", + "type": "shell", + "command": "dotnet", + "args": [ + "build", + "--no-restore", + "osu.Game.Rulesets.Mania.Tests.csproj", + "/p:TargetFramework=netcoreapp2.0", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Release, dotnet)", + "type": "shell", + "command": "dotnet", + "args": [ + "build", + "--no-restore", + "osu.Game.Rulesets.Mania.Tests.csproj", + "/p:TargetFramework=netcoreapp2.0", + "/p:Configuration=Release", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Restore (net461)", + "type": "shell", + "command": "nuget", + "args": [ + "restore" + ], + "problemMatcher": [] + }, + { + "label": "Restore (netcoreapp2.0)", + "type": "shell", + "command": "dotnet", + "args": [ + "restore" + ], + "problemMatcher": [] + } + ] +} \ No newline at end of file diff --git a/osu.Game.Rulesets.Osu.Tests/.vscode/launch.json b/osu.Game.Rulesets.Osu.Tests/.vscode/launch.json new file mode 100644 index 0000000000..24431eb8de --- /dev/null +++ b/osu.Game.Rulesets.Osu.Tests/.vscode/launch.json @@ -0,0 +1,59 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "VisualTests (Debug, net461)", + "windows": { + "type": "clr" + }, + "type": "mono", + "request": "launch", + "program": "${workspaceRoot}/bin/Debug/net461/osu.Game.Rulesets.Osu.Tests.exe", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Debug, msbuild)", + "runtimeExecutable": null, + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Release, net461)", + "windows": { + "type": "clr" + }, + "type": "mono", + "request": "launch", + "program": "${workspaceRoot}/bin/Debug/net461/osu.Game.Rulesets.Osu.Tests.exe", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Release, msbuild)", + "runtimeExecutable": null, + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Debug, netcoreapp2.0)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": [ + "${workspaceRoot}/bin/Debug/netcoreapp2.0/osu.Game.Rulesets.Osu.Tests.dll" + ], + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Debug, dotnet)", + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Release, netcoreapp2.0)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": [ + "${workspaceRoot}/bin/Debug/netcoreapp2.0/osu.Game.Rulesets.Osu.Tests.dll" + ], + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Release, dotnet)", + "env": {}, + "console": "internalConsole" + } + ] +} \ No newline at end of file diff --git a/osu.Game.Rulesets.Osu.Tests/.vscode/tasks.json b/osu.Game.Rulesets.Osu.Tests/.vscode/tasks.json new file mode 100644 index 0000000000..734e15353b --- /dev/null +++ b/osu.Game.Rulesets.Osu.Tests/.vscode/tasks.json @@ -0,0 +1,87 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Build (Debug, msbuild)", + "type": "shell", + "command": "msbuild", + "args": [ + "osu.Game.Rulesets.Osu.Tests.csproj", + "/p:TargetFramework=net461", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Release, msbuild)", + "type": "shell", + "command": "msbuild", + "args": [ + "osu.Game.Rulesets.Osu.Tests.csproj", + "/p:Configuration=Release", + "/p:TargetFramework=net461", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Debug, dotnet)", + "type": "shell", + "command": "dotnet", + "args": [ + "build", + "--no-restore", + "osu.Game.Rulesets.Osu.Tests.csproj", + "/p:TargetFramework=netcoreapp2.0", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Release, dotnet)", + "type": "shell", + "command": "dotnet", + "args": [ + "build", + "--no-restore", + "osu.Game.Rulesets.Osu.Tests.csproj", + "/p:TargetFramework=netcoreapp2.0", + "/p:Configuration=Release", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Restore (net461)", + "type": "shell", + "command": "nuget", + "args": [ + "restore" + ], + "problemMatcher": [] + }, + { + "label": "Restore (netcoreapp2.0)", + "type": "shell", + "command": "dotnet", + "args": [ + "restore" + ], + "problemMatcher": [] + } + ] +} \ No newline at end of file diff --git a/osu.Game.Rulesets.Taiko.Tests/.vscode/launch.json b/osu.Game.Rulesets.Taiko.Tests/.vscode/launch.json new file mode 100644 index 0000000000..caa90c32ce --- /dev/null +++ b/osu.Game.Rulesets.Taiko.Tests/.vscode/launch.json @@ -0,0 +1,59 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "VisualTests (Debug, net461)", + "windows": { + "type": "clr" + }, + "type": "mono", + "request": "launch", + "program": "${workspaceRoot}/bin/Debug/net461/osu.Game.Rulesets.Taiko.Tests.exe", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Debug, msbuild)", + "runtimeExecutable": null, + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Release, net461)", + "windows": { + "type": "clr" + }, + "type": "mono", + "request": "launch", + "program": "${workspaceRoot}/bin/Debug/net461/osu.Game.Rulesets.Taiko.Tests.exe", + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Release, msbuild)", + "runtimeExecutable": null, + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Debug, netcoreapp2.0)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": [ + "${workspaceRoot}/bin/Debug/netcoreapp2.0/osu.Game.Rulesets.Taiko.Tests.dll" + ], + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Debug, dotnet)", + "env": {}, + "console": "internalConsole" + }, + { + "name": "VisualTests (Release, netcoreapp2.0)", + "type": "coreclr", + "request": "launch", + "program": "dotnet", + "args": [ + "${workspaceRoot}/bin/Debug/netcoreapp2.0/osu.Game.Rulesets.Taiko.Tests.dll" + ], + "cwd": "${workspaceRoot}", + "preLaunchTask": "Build (Release, dotnet)", + "env": {}, + "console": "internalConsole" + } + ] +} \ No newline at end of file diff --git a/osu.Game.Rulesets.Taiko.Tests/.vscode/tasks.json b/osu.Game.Rulesets.Taiko.Tests/.vscode/tasks.json new file mode 100644 index 0000000000..13044e1ccb --- /dev/null +++ b/osu.Game.Rulesets.Taiko.Tests/.vscode/tasks.json @@ -0,0 +1,87 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Build (Debug, msbuild)", + "type": "shell", + "command": "msbuild", + "args": [ + "osu.Game.Rulesets.Taiko.Tests.csproj", + "/p:TargetFramework=net461", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Release, msbuild)", + "type": "shell", + "command": "msbuild", + "args": [ + "osu.Game.Rulesets.Taiko.Tests.csproj", + "/p:Configuration=Release", + "/p:TargetFramework=net461", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Debug, dotnet)", + "type": "shell", + "command": "dotnet", + "args": [ + "build", + "--no-restore", + "osu.Game.Rulesets.Taiko.Tests.csproj", + "/p:TargetFramework=netcoreapp2.0", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Build (Release, dotnet)", + "type": "shell", + "command": "dotnet", + "args": [ + "build", + "--no-restore", + "osu.Game.Rulesets.Taiko.Tests.csproj", + "/p:TargetFramework=netcoreapp2.0", + "/p:Configuration=Release", + "/p:GenerateFullPaths=true", + "/m", + "/verbosity:m" + ], + "group": "build", + "problemMatcher": "$msCompile" + }, + { + "label": "Restore (net461)", + "type": "shell", + "command": "nuget", + "args": [ + "restore" + ], + "problemMatcher": [] + }, + { + "label": "Restore (netcoreapp2.0)", + "type": "shell", + "command": "dotnet", + "args": [ + "restore" + ], + "problemMatcher": [] + } + ] +} \ No newline at end of file From 687c889345a286d2e03701b8f4069e2f5045d75c Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 29 Mar 2018 12:47:17 +0900 Subject: [PATCH 23/95] Add back osu.Desktop versions (used in deploy) --- osu.Desktop/osu.Desktop.csproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/osu.Desktop/osu.Desktop.csproj b/osu.Desktop/osu.Desktop.csproj index 1f17ca9696..2ad7b67842 100644 --- a/osu.Desktop/osu.Desktop.csproj +++ b/osu.Desktop/osu.Desktop.csproj @@ -10,6 +10,8 @@ osu!lazer osu!lazer lazer.ico + 0.0.0.0 + 0.0.0.0 $(DefineConstants);NET_FRAMEWORK From cc35b1ab64bbd21356662c5a2659808a5c4489f3 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 29 Mar 2018 12:47:24 +0900 Subject: [PATCH 24/95] Update framework --- osu-framework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu-framework b/osu-framework index 2ac5cb0464..f60cd46471 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit 2ac5cb0464133b570adb1f3408e564691f08d12e +Subproject commit f60cd4647165d1dadb91aa045f41cef42c11bad9 From 187a025d36a70aa649b84b6573770d5412f12dfd Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 29 Mar 2018 16:07:20 +0900 Subject: [PATCH 25/95] Make hitobjects sorted by their start times --- osu.Game.Rulesets.Catch/UI/CatchPlayfield.cs | 1 - osu.Game.Rulesets.Mania/UI/Column.cs | 1 - osu.Game.Rulesets.Osu/UI/OsuPlayfield.cs | 2 -- osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs | 2 -- osu.Game/Rulesets/UI/HitObjectContainer.cs | 11 +++++++++++ 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/osu.Game.Rulesets.Catch/UI/CatchPlayfield.cs b/osu.Game.Rulesets.Catch/UI/CatchPlayfield.cs index 39b7ffb387..8bb206543b 100644 --- a/osu.Game.Rulesets.Catch/UI/CatchPlayfield.cs +++ b/osu.Game.Rulesets.Catch/UI/CatchPlayfield.cs @@ -57,7 +57,6 @@ namespace osu.Game.Rulesets.Catch.UI public override void Add(DrawableHitObject h) { - h.Depth = (float)h.HitObject.StartTime; h.OnJudgement += onJudgement; base.Add(h); diff --git a/osu.Game.Rulesets.Mania/UI/Column.cs b/osu.Game.Rulesets.Mania/UI/Column.cs index 21f00c003b..109ffd0d25 100644 --- a/osu.Game.Rulesets.Mania/UI/Column.cs +++ b/osu.Game.Rulesets.Mania/UI/Column.cs @@ -205,7 +205,6 @@ namespace osu.Game.Rulesets.Mania.UI /// The DrawableHitObject to add. public override void Add(DrawableHitObject hitObject) { - hitObject.Depth = (float)hitObject.HitObject.StartTime; hitObject.AccentColour = AccentColour; hitObject.OnJudgement += OnJudgement; diff --git a/osu.Game.Rulesets.Osu/UI/OsuPlayfield.cs b/osu.Game.Rulesets.Osu/UI/OsuPlayfield.cs index 98a8096678..0c5d757474 100644 --- a/osu.Game.Rulesets.Osu/UI/OsuPlayfield.cs +++ b/osu.Game.Rulesets.Osu/UI/OsuPlayfield.cs @@ -55,8 +55,6 @@ namespace osu.Game.Rulesets.Osu.UI public override void Add(DrawableHitObject h) { - h.Depth = (float)h.HitObject.StartTime; - h.OnJudgement += onJudgement; var c = h as IDrawableHitObjectWithProxiedApproach; diff --git a/osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs b/osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs index 75aaceaecb..effb9eb54f 100644 --- a/osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs +++ b/osu.Game.Rulesets.Taiko/UI/TaikoPlayfield.cs @@ -208,8 +208,6 @@ namespace osu.Game.Rulesets.Taiko.UI public override void Add(DrawableHitObject h) { - h.Depth = (float)h.HitObject.StartTime; - h.OnJudgement += OnJudgement; base.Add(h); diff --git a/osu.Game/Rulesets/UI/HitObjectContainer.cs b/osu.Game/Rulesets/UI/HitObjectContainer.cs index c26a6cdff0..ecb10dfba2 100644 --- a/osu.Game/Rulesets/UI/HitObjectContainer.cs +++ b/osu.Game/Rulesets/UI/HitObjectContainer.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; +using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; @@ -15,5 +16,15 @@ namespace osu.Game.Rulesets.UI public virtual void Add(DrawableHitObject hitObject) => AddInternal(hitObject); public virtual bool Remove(DrawableHitObject hitObject) => RemoveInternal(hitObject); + + protected override int Compare(Drawable x, Drawable y) + { + if (!(x is DrawableHitObject xObj) || !(y is DrawableHitObject yObj)) + return base.Compare(x, y); + + // Put earlier hitobjects towards the end of the list, so they handle input first + int i = yObj.HitObject.StartTime.CompareTo(xObj.HitObject.StartTime); + return i == 0 ? CompareReverseChildID(x, y) : i; + } } } From bb7618eb0c0b4dc38c87786a7e88381718147620 Mon Sep 17 00:00:00 2001 From: smoogipoo Date: Thu, 29 Mar 2018 16:13:05 +0900 Subject: [PATCH 26/95] FIx mania playfield playing the wrong/duplicated sounds Fixes #2266. --- osu.Game.Rulesets.Mania/UI/Column.cs | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/osu.Game.Rulesets.Mania/UI/Column.cs b/osu.Game.Rulesets.Mania/UI/Column.cs index 109ffd0d25..15c9a83b78 100644 --- a/osu.Game.Rulesets.Mania/UI/Column.cs +++ b/osu.Game.Rulesets.Mania/UI/Column.cs @@ -262,21 +262,13 @@ namespace osu.Game.Rulesets.Mania.UI public bool OnPressed(ManiaAction action) { - // Play the sounds of the next hitobject - if (HitObjects.AliveObjects.Any()) - { - // If there are alive hitobjects, we can abuse the fact that AliveObjects are sorted by time (see: Add()) - HitObjects.AliveObjects.First().PlaySamples(); - } - else - { - // If not, we do a slow search - we might want to do a BinarySearch here if this becomes problematic - // We fallback to LastOrDefault() if we're beyond the last note in the map - var hitObject = HitObjects.Objects.FirstOrDefault(h => h.HitObject.StartTime > Time.Current) ?? HitObjects.Objects.LastOrDefault(); - hitObject?.PlaySamples(); - } + if (action != Action) + return false; - return false; + var hitObject = HitObjects.Objects.LastOrDefault(h => h.HitObject.StartTime > Time.Current) ?? HitObjects.Objects.FirstOrDefault(); + hitObject?.PlaySamples(); + + return true; } public bool OnReleased(ManiaAction action) => false; From 5c4b0c2b8d22c2a567d0afbfe6558ec038496c37 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 29 Mar 2018 16:55:07 +0900 Subject: [PATCH 27/95] Add rider run/debug configurations --- .../VisualTests__net461_.xml | 24 +++++++++++++++++++ .../VisualTests__netcoreapp2_0_.xml | 24 +++++++++++++++++++ .../.idea/runConfigurations/osu___net461_.xml | 24 +++++++++++++++++++ .../osu___netcoreapp2_0_.xml | 24 +++++++++++++++++++ 4 files changed, 96 insertions(+) create mode 100644 .idea/.idea.osu/.idea/runConfigurations/VisualTests__net461_.xml create mode 100644 .idea/.idea.osu/.idea/runConfigurations/VisualTests__netcoreapp2_0_.xml create mode 100644 .idea/.idea.osu/.idea/runConfigurations/osu___net461_.xml create mode 100644 .idea/.idea.osu/.idea/runConfigurations/osu___netcoreapp2_0_.xml diff --git a/.idea/.idea.osu/.idea/runConfigurations/VisualTests__net461_.xml b/.idea/.idea.osu/.idea/runConfigurations/VisualTests__net461_.xml new file mode 100644 index 0000000000..5122f08aaa --- /dev/null +++ b/.idea/.idea.osu/.idea/runConfigurations/VisualTests__net461_.xml @@ -0,0 +1,24 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.osu/.idea/runConfigurations/VisualTests__netcoreapp2_0_.xml b/.idea/.idea.osu/.idea/runConfigurations/VisualTests__netcoreapp2_0_.xml new file mode 100644 index 0000000000..a5c78f0a7a --- /dev/null +++ b/.idea/.idea.osu/.idea/runConfigurations/VisualTests__netcoreapp2_0_.xml @@ -0,0 +1,24 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.osu/.idea/runConfigurations/osu___net461_.xml b/.idea/.idea.osu/.idea/runConfigurations/osu___net461_.xml new file mode 100644 index 0000000000..bacfd6c576 --- /dev/null +++ b/.idea/.idea.osu/.idea/runConfigurations/osu___net461_.xml @@ -0,0 +1,24 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.osu/.idea/runConfigurations/osu___netcoreapp2_0_.xml b/.idea/.idea.osu/.idea/runConfigurations/osu___netcoreapp2_0_.xml new file mode 100644 index 0000000000..b02c7977b6 --- /dev/null +++ b/.idea/.idea.osu/.idea/runConfigurations/osu___netcoreapp2_0_.xml @@ -0,0 +1,24 @@ + + + + \ No newline at end of file From 49c8bc44ad2934fa6e522a09f581994336d963af Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 29 Mar 2018 17:08:06 +0900 Subject: [PATCH 28/95] Remove silly stuff --- .../.idea/runConfigurations/VisualTests__net461_.xml | 5 ----- .../.idea/runConfigurations/VisualTests__netcoreapp2_0_.xml | 5 ----- .idea/.idea.osu/.idea/runConfigurations/osu___net461_.xml | 5 ----- .../.idea/runConfigurations/osu___netcoreapp2_0_.xml | 5 ----- 4 files changed, 20 deletions(-) diff --git a/.idea/.idea.osu/.idea/runConfigurations/VisualTests__net461_.xml b/.idea/.idea.osu/.idea/runConfigurations/VisualTests__net461_.xml index 5122f08aaa..0615aa755f 100644 --- a/.idea/.idea.osu/.idea/runConfigurations/VisualTests__net461_.xml +++ b/.idea/.idea.osu/.idea/runConfigurations/VisualTests__net461_.xml @@ -4,10 +4,6 @@