diff --git a/osu-framework b/osu-framework index cf7dd12f24..e5ad12e4af 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit cf7dd12f24d0b60bae2a4ebaa6ef0eaa67b0fd52 +Subproject commit e5ad12e4aff8b638ee9d7b8a5542a85fab054ffa diff --git a/osu.Desktop.VisualTests/Platform/TestStorage.cs b/osu.Desktop.VisualTests/Platform/TestStorage.cs index bffa3420d4..2a6b5a787c 100644 --- a/osu.Desktop.VisualTests/Platform/TestStorage.cs +++ b/osu.Desktop.VisualTests/Platform/TestStorage.cs @@ -1,13 +1,11 @@ -using System; -using System.IO; -using osu.Framework; +using osu.Framework; using osu.Framework.Desktop.Platform; using SQLite.Net; -using SQLite.Net.Platform.Generic; using SQLite.Net.Interop; -using SQLite.Net.Platform.Win32; - -namespace osu.Desktop.Platform +using SQLite.Net.Platform.Generic; +using SQLite.Net.Platform.Win32; + +namespace osu.Desktop.VisualTests.Platform { public class TestStorage : DesktopStorage { diff --git a/osu.Desktop.VisualTests/Tests/TestCaseGamefield.cs b/osu.Desktop.VisualTests/Tests/TestCaseGamefield.cs index d5b9a9fd03..1ffe76bdda 100644 --- a/osu.Desktop.VisualTests/Tests/TestCaseGamefield.cs +++ b/osu.Desktop.VisualTests/Tests/TestCaseGamefield.cs @@ -7,12 +7,16 @@ using osu.Framework.Graphics; using osu.Framework.MathUtils; using osu.Framework.Timing; using osu.Game.Beatmaps; -using osu.Game.Beatmaps.Objects; -using osu.Game.Beatmaps.Objects.Osu; -using osu.Game.GameModes.Play.Catch; -using osu.Game.GameModes.Play.Mania; -using osu.Game.GameModes.Play.Osu; -using osu.Game.GameModes.Play.Taiko; +using osu.Game.Modes.Catch; +using osu.Game.Modes.Catch.UI; +using osu.Game.Modes.Mania; +using osu.Game.Modes.Mania.UI; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Osu; +using osu.Game.Modes.Osu.Objects; +using osu.Game.Modes.Osu.UI; +using osu.Game.Modes.Taiko; +using osu.Game.Modes.Taiko.UI; using OpenTK; namespace osu.Desktop.VisualTests.Tests diff --git a/osu.Desktop.VisualTests/Tests/TestCaseHitObjects.cs b/osu.Desktop.VisualTests/Tests/TestCaseHitObjects.cs index f1d4e72601..1c6c61d51e 100644 --- a/osu.Desktop.VisualTests/Tests/TestCaseHitObjects.cs +++ b/osu.Desktop.VisualTests/Tests/TestCaseHitObjects.cs @@ -5,11 +5,12 @@ using osu.Framework; using osu.Framework.GameModes.Testing; using osu.Framework.Graphics; using osu.Framework.Timing; -using osu.Game.Beatmaps.Objects; -using osu.Game.Beatmaps.Objects.Osu; -using osu.Game.Beatmaps.Objects.Osu.Drawable; using OpenTK; using osu.Framework.Allocation; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Objects.Drawables; +using osu.Game.Modes.Osu.Objects; +using osu.Game.Modes.Osu.Objects.Drawables; namespace osu.Desktop.VisualTests.Tests { diff --git a/osu.Desktop.VisualTests/Tests/TestCaseMenuButtonSystem.cs b/osu.Desktop.VisualTests/Tests/TestCaseMenuButtonSystem.cs index eaa0a3eea4..c7889134bb 100644 --- a/osu.Desktop.VisualTests/Tests/TestCaseMenuButtonSystem.cs +++ b/osu.Desktop.VisualTests/Tests/TestCaseMenuButtonSystem.cs @@ -2,7 +2,7 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using osu.Framework.GameModes.Testing; -using osu.Game.GameModes.Menu; +using osu.Game.Screens.Menu; namespace osu.Desktop.VisualTests.Tests { diff --git a/osu.Desktop.VisualTests/Tests/TestCaseMusicController.cs b/osu.Desktop.VisualTests/Tests/TestCaseMusicController.cs index bdf20ee73c..72ab3b7a7f 100644 --- a/osu.Desktop.VisualTests/Tests/TestCaseMusicController.cs +++ b/osu.Desktop.VisualTests/Tests/TestCaseMusicController.cs @@ -1,19 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Framework.Allocation; -using osu.Framework.Graphics; using osu.Framework.GameModes.Testing; -using osu.Game.Overlays; +using osu.Framework.Graphics; using osu.Framework.Timing; -using osu.Framework; +using osu.Game.Overlays; -namespace osu.Desktop.Tests +namespace osu.Desktop.VisualTests.Tests { class TestCaseMusicController : TestCase { diff --git a/osu.Desktop.VisualTests/Tests/TestCasePlaySongSelect.cs b/osu.Desktop.VisualTests/Tests/TestCasePlaySongSelect.cs index c3d6263d86..d6e656e57f 100644 --- a/osu.Desktop.VisualTests/Tests/TestCasePlaySongSelect.cs +++ b/osu.Desktop.VisualTests/Tests/TestCasePlaySongSelect.cs @@ -1,16 +1,14 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.GameModes.Testing; using System.Collections.Generic; -using osu.Desktop.Platform; +using osu.Desktop.VisualTests.Platform; +using osu.Framework.GameModes.Testing; using osu.Game.Database; -using osu.Game.GameModes.Play; -using SQLiteNetExtensions.Extensions; -using osu.Framework; -using osu.Game; +using osu.Game.Modes; +using osu.Game.Screens.Play; -namespace osu.Desktop.Tests +namespace osu.Desktop.VisualTests.Tests { class TestCasePlaySongSelect : TestCase { diff --git a/osu.Desktop.VisualTests/Tests/TestCasePlayer.cs b/osu.Desktop.VisualTests/Tests/TestCasePlayer.cs index 03e382b71e..862377c131 100644 --- a/osu.Desktop.VisualTests/Tests/TestCasePlayer.cs +++ b/osu.Desktop.VisualTests/Tests/TestCasePlayer.cs @@ -7,12 +7,12 @@ using osu.Framework.MathUtils; using osu.Framework.Timing; using osu.Game.Beatmaps; using osu.Game.Beatmaps.Formats; -using osu.Game.Beatmaps.Objects; -using osu.Game.Beatmaps.Objects.Osu; -using osu.Game.GameModes.Play; using OpenTK; using osu.Framework; using osu.Framework.Allocation; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Osu.Objects; +using osu.Game.Screens.Play; namespace osu.Desktop.VisualTests.Tests { diff --git a/osu.Desktop.VisualTests/Tests/TestCaseScoreCounter.cs b/osu.Desktop.VisualTests/Tests/TestCaseScoreCounter.cs index 9cb501a640..1f6aa236e8 100644 --- a/osu.Desktop.VisualTests/Tests/TestCaseScoreCounter.cs +++ b/osu.Desktop.VisualTests/Tests/TestCaseScoreCounter.cs @@ -6,12 +6,18 @@ using osu.Framework.GameModes.Testing; using osu.Framework.Graphics; using osu.Framework.Graphics.Sprites; using osu.Framework.MathUtils; -using osu.Game.GameModes.Play; -using osu.Game.GameModes.Play.Catch; -using osu.Game.GameModes.Play.Mania; -using osu.Game.GameModes.Play.Osu; -using osu.Game.GameModes.Play.Taiko; using osu.Game.Graphics.UserInterface; +using osu.Game.Modes; +using osu.Game.Modes.Catch; +using osu.Game.Modes.Catch.UI; +using osu.Game.Modes.Mania; +using osu.Game.Modes.Mania.UI; +using osu.Game.Modes.Osu; +using osu.Game.Modes.Osu.UI; +using osu.Game.Modes.Taiko; +using osu.Game.Modes.Taiko.UI; +using osu.Game.Modes.UI; +using osu.Game.Screens.Play; using OpenTK; using OpenTK.Graphics; using osu.Framework.Graphics.Primitives; diff --git a/osu.Desktop.VisualTests/VisualTestGame.cs b/osu.Desktop.VisualTests/VisualTestGame.cs index 881a8e9bde..0dc260e1fd 100644 --- a/osu.Desktop.VisualTests/VisualTestGame.cs +++ b/osu.Desktop.VisualTests/VisualTestGame.cs @@ -10,9 +10,7 @@ using osu.Framework.Desktop.Platform; using System.Reflection; using System.IO; using System.Collections.Generic; -using osu.Game.GameModes.Play; using SQLiteNetExtensions.Extensions; -using osu.Desktop.Platform; using osu.Framework.Allocation; namespace osu.Desktop.VisualTests diff --git a/osu.Desktop.VisualTests/osu.Desktop.VisualTests.csproj b/osu.Desktop.VisualTests/osu.Desktop.VisualTests.csproj index e8f8656f15..d12ecc273d 100644 --- a/osu.Desktop.VisualTests/osu.Desktop.VisualTests.csproj +++ b/osu.Desktop.VisualTests/osu.Desktop.VisualTests.csproj @@ -150,6 +150,22 @@ {d9a367c9-4c1a-489f-9b05-a0cea2b53b58} osu.Game.Resources + + {c92a607b-1fdd-4954-9f92-03ff547d9080} + osu.Game.Modes.Osu + + + {58f6c80c-1253-4a0e-a465-b8c85ebeadf3} + osu.Game.Modes.Catch + + + {48f4582b-7687-4621-9cbe-5c24197cb536} + osu.Game.Modes.Mania + + + {f167e17a-7de6-4af5-b920-a5112296c695} + osu.Game.Modes.Taiko + {0d3fbf8a-7464-4cf7-8c90-3e7886df2d4d} osu.Game @@ -158,9 +174,9 @@ + - @@ -172,9 +188,7 @@ - - - + + + + + + + + diff --git a/osu.Game.Mode.Osu/OsuRuleset.cs b/osu.Game.Mode.Osu/OsuRuleset.cs new file mode 100644 index 0000000000..ac43e5501c --- /dev/null +++ b/osu.Game.Mode.Osu/OsuRuleset.cs @@ -0,0 +1,22 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System.Collections.Generic; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Osu.Objects; +using osu.Game.Modes.Osu.UI; +using osu.Game.Modes.UI; + +namespace osu.Game.Modes.Osu +{ + public class OsuRuleset : Ruleset + { + public override ScoreOverlay CreateScoreOverlay() => new OsuScoreOverlay(); + + public override HitRenderer CreateHitRendererWith(List objects) => new OsuHitRenderer { Objects = objects }; + + public override HitObjectParser CreateHitObjectParser() => new OsuHitObjectParser(); + + protected override PlayMode PlayMode => PlayMode.Osu; + } +} diff --git a/osu.Game.Mode.Osu/Properties/AssemblyInfo.cs b/osu.Game.Mode.Osu/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..1b0664acf5 --- /dev/null +++ b/osu.Game.Mode.Osu/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("osu.Game.Mode.Osu")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("osu.Game.Mode.Osu")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("c92a607b-1fdd-4954-9f92-03ff547d9080")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/osu.Game/GameModes/Play/Osu/OsuComboCounter.cs b/osu.Game.Mode.Osu/UI/OsuComboCounter.cs similarity index 92% rename from osu.Game/GameModes/Play/Osu/OsuComboCounter.cs rename to osu.Game.Mode.Osu/UI/OsuComboCounter.cs index 78a8d4bc99..39f76bf280 100644 --- a/osu.Game/GameModes/Play/Osu/OsuComboCounter.cs +++ b/osu.Game.Mode.Osu/UI/OsuComboCounter.cs @@ -1,17 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE +using osu.Game.Modes.UI; using OpenTK; -using osu.Framework; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Framework.Allocation; using osu.Framework.Graphics.Primitives; -namespace osu.Game.GameModes.Play.Osu +namespace osu.Game.Modes.Osu.UI { /// /// Uses the 'x' symbol and has a pop-out effect while rolling over. Used in osu! standard. diff --git a/osu.Game/GameModes/Play/Osu/OsuHitRenderer.cs b/osu.Game.Mode.Osu/UI/OsuHitRenderer.cs similarity index 58% rename from osu.Game/GameModes/Play/Osu/OsuHitRenderer.cs rename to osu.Game.Mode.Osu/UI/OsuHitRenderer.cs index 9e12d69d2b..218dc39ba6 100644 --- a/osu.Game/GameModes/Play/Osu/OsuHitRenderer.cs +++ b/osu.Game.Mode.Osu/UI/OsuHitRenderer.cs @@ -1,12 +1,15 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Beatmaps.Objects; -using osu.Game.Beatmaps.Objects.Osu; -using osu.Game.Beatmaps.Objects.Osu.Drawable; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Objects.Drawables; +using osu.Game.Modes.UI; +using Circle = osu.Game.Modes.Osu.Objects.Circle; +using DrawableCircle = osu.Game.Modes.Osu.Objects.Drawables.DrawableCircle; +using OsuBaseHit = osu.Game.Modes.Osu.Objects.OsuBaseHit; +using OsuConverter = osu.Game.Modes.Osu.Objects.OsuConverter; -namespace osu.Game.GameModes.Play.Osu +namespace osu.Game.Modes.Osu.UI { public class OsuHitRenderer : HitRenderer { diff --git a/osu.Game/GameModes/Play/Osu/OsuPlayfield.cs b/osu.Game.Mode.Osu/UI/OsuPlayfield.cs similarity index 93% rename from osu.Game/GameModes/Play/Osu/OsuPlayfield.cs rename to osu.Game.Mode.Osu/UI/OsuPlayfield.cs index 09a7666246..93700db30b 100644 --- a/osu.Game/GameModes/Play/Osu/OsuPlayfield.cs +++ b/osu.Game.Mode.Osu/UI/OsuPlayfield.cs @@ -3,12 +3,12 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; -using OpenTK; -using osu.Framework; using osu.Framework.Graphics.Sprites; +using osu.Game.Modes.UI; +using OpenTK; using OpenTK.Graphics; -namespace osu.Game.GameModes.Play.Osu +namespace osu.Game.Modes.Osu.UI { public class OsuPlayfield : Playfield { diff --git a/osu.Game/GameModes/Play/Osu/ScoreOverlayOsu.cs b/osu.Game.Mode.Osu/UI/OsuScoreOverlay.cs similarity index 68% rename from osu.Game/GameModes/Play/Osu/ScoreOverlayOsu.cs rename to osu.Game.Mode.Osu/UI/OsuScoreOverlay.cs index 4c751cb4ee..5262d8f250 100644 --- a/osu.Game/GameModes/Play/Osu/ScoreOverlayOsu.cs +++ b/osu.Game.Mode.Osu/UI/OsuScoreOverlay.cs @@ -1,21 +1,16 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using osu.Framework.Graphics; using osu.Game.Graphics.UserInterface; +using osu.Game.Modes.UI; using OpenTK; using OpenTK.Input; -using osu.Game.Beatmaps.Objects; using osu.Framework.Graphics.Primitives; -namespace osu.Game.GameModes.Play.Osu +namespace osu.Game.Modes.Osu.UI { - class ScoreOverlayOsu : ScoreOverlay + public class OsuScoreOverlay : ScoreOverlay { protected override PercentageCounter CreateAccuracyCounter() => new PercentageCounter() { @@ -45,12 +40,12 @@ namespace osu.Game.GameModes.Play.Osu Origin = Anchor.BottomRight, Margin = new MarginPadding(10), Counters = new KeyCounter[] - { - new KeyCounterKeyboard(@"Z", Key.Z), - new KeyCounterKeyboard(@"X", Key.X), - new KeyCounterMouse(@"M1", MouseButton.Left), - new KeyCounterMouse(@"M2", MouseButton.Right), - } + { + new KeyCounterKeyboard(@"Z", Key.Z), + new KeyCounterKeyboard(@"X", Key.X), + new KeyCounterMouse(@"M1", MouseButton.Left), + new KeyCounterMouse(@"M2", MouseButton.Right), + } }; } } diff --git a/osu.Game.Mode.Osu/app.config b/osu.Game.Mode.Osu/app.config new file mode 100644 index 0000000000..757f23cb22 --- /dev/null +++ b/osu.Game.Mode.Osu/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/osu.Game.Mode.Osu/osu.Game.Modes.Osu.csproj b/osu.Game.Mode.Osu/osu.Game.Modes.Osu.csproj new file mode 100644 index 0000000000..9a5668b35e --- /dev/null +++ b/osu.Game.Mode.Osu/osu.Game.Modes.Osu.csproj @@ -0,0 +1,81 @@ + + + + + Debug + AnyCPU + {C92A607B-1FDD-4954-9F92-03FF547D9080} + Library + Properties + osu.Game.Modes.Osu + osu.Game.Modes.Osu + v4.5 + 512 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\ppy.OpenTK.2.0.50727.1339\lib\net45\OpenTK.dll + True + + + + + + + + + + + + + + + + + + + + + + + + {C76BF5B3-985E-4D39-95FE-97C9C879B83A} + osu.Framework + + + {0d3fbf8a-7464-4cf7-8c90-3e7886df2d4d} + osu.Game + + + + + + + + + + \ No newline at end of file diff --git a/osu.Game.Mode.Osu/packages.config b/osu.Game.Mode.Osu/packages.config new file mode 100644 index 0000000000..e1adbd7260 --- /dev/null +++ b/osu.Game.Mode.Osu/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/osu.Game.Modes.Catch/CatchRuleset.cs b/osu.Game.Modes.Catch/CatchRuleset.cs new file mode 100644 index 0000000000..0195859cb7 --- /dev/null +++ b/osu.Game.Modes.Catch/CatchRuleset.cs @@ -0,0 +1,23 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System.Collections.Generic; +using osu.Game.Modes.Catch.UI; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Osu.Objects; +using osu.Game.Modes.Osu.UI; +using osu.Game.Modes.UI; + +namespace osu.Game.Modes.Catch +{ + public class CatchRuleset : Ruleset + { + public override ScoreOverlay CreateScoreOverlay() => new OsuScoreOverlay(); + + public override HitRenderer CreateHitRendererWith(List objects) => new CatchHitRenderer { Objects = objects }; + + protected override PlayMode PlayMode => PlayMode.Catch; + + public override HitObjectParser CreateHitObjectParser() => new OsuHitObjectParser(); + } +} diff --git a/osu.Game/Beatmaps/Objects/Catch/CatchBaseHit.cs b/osu.Game.Modes.Catch/Objects/CatchBaseHit.cs similarity index 75% rename from osu.Game/Beatmaps/Objects/Catch/CatchBaseHit.cs rename to osu.Game.Modes.Catch/Objects/CatchBaseHit.cs index 590bd8f5b3..67e94e7000 100644 --- a/osu.Game/Beatmaps/Objects/Catch/CatchBaseHit.cs +++ b/osu.Game.Modes.Catch/Objects/CatchBaseHit.cs @@ -1,7 +1,9 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.Beatmaps.Objects.Catch +using osu.Game.Modes.Objects; + +namespace osu.Game.Modes.Catch.Objects { public abstract class CatchBaseHit : HitObject { diff --git a/osu.Game/Beatmaps/Objects/Catch/CatchConverter.cs b/osu.Game.Modes.Catch/Objects/CatchConverter.cs similarity index 80% rename from osu.Game/Beatmaps/Objects/Catch/CatchConverter.cs rename to osu.Game.Modes.Catch/Objects/CatchConverter.cs index 317a4e9bb1..81eabc15a2 100644 --- a/osu.Game/Beatmaps/Objects/Catch/CatchConverter.cs +++ b/osu.Game.Modes.Catch/Objects/CatchConverter.cs @@ -1,15 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Game.Beatmaps.Objects.Catch; -using osu.Game.Beatmaps.Objects.Osu; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Osu.Objects; -namespace osu.Game.Beatmaps.Objects.Catch +namespace osu.Game.Modes.Catch.Objects { class CatchConverter : HitObjectConverter { diff --git a/osu.Game/Beatmaps/Objects/Catch/Drawable/DrawableFruit.cs b/osu.Game.Modes.Catch/Objects/Drawable/DrawableFruit.cs similarity index 84% rename from osu.Game/Beatmaps/Objects/Catch/Drawable/DrawableFruit.cs rename to osu.Game.Modes.Catch/Objects/Drawable/DrawableFruit.cs index 4664bacc30..dd9cfbcc6b 100644 --- a/osu.Game/Beatmaps/Objects/Catch/Drawable/DrawableFruit.cs +++ b/osu.Game.Modes.Catch/Objects/Drawable/DrawableFruit.cs @@ -1,20 +1,14 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Framework; +using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.Textures; using osu.Framework.Graphics.Transformations; using OpenTK; -using osu.Framework.Allocation; -using osu.Framework.Graphics.Textures; -namespace osu.Game.Beatmaps.Objects.Catch.Drawable +namespace osu.Game.Modes.Catch.Objects.Drawable { class DrawableFruit : Sprite { diff --git a/osu.Game/Beatmaps/Objects/Catch/Droplet.cs b/osu.Game.Modes.Catch/Objects/Droplet.cs similarity index 80% rename from osu.Game/Beatmaps/Objects/Catch/Droplet.cs rename to osu.Game.Modes.Catch/Objects/Droplet.cs index fd7967315d..42ad809e2c 100644 --- a/osu.Game/Beatmaps/Objects/Catch/Droplet.cs +++ b/osu.Game.Modes.Catch/Objects/Droplet.cs @@ -1,7 +1,7 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.Beatmaps.Objects.Catch +namespace osu.Game.Modes.Catch.Objects { public class Droplet : CatchBaseHit { diff --git a/osu.Game/Beatmaps/Objects/Catch/Fruit.cs b/osu.Game.Modes.Catch/Objects/Fruit.cs similarity index 80% rename from osu.Game/Beatmaps/Objects/Catch/Fruit.cs rename to osu.Game.Modes.Catch/Objects/Fruit.cs index 9ef76de841..f1cb3d6db4 100644 --- a/osu.Game/Beatmaps/Objects/Catch/Fruit.cs +++ b/osu.Game.Modes.Catch/Objects/Fruit.cs @@ -1,7 +1,7 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.Beatmaps.Objects.Catch +namespace osu.Game.Modes.Catch.Objects { public class Fruit : CatchBaseHit { diff --git a/osu.Game.Modes.Catch/OpenTK.dll.config b/osu.Game.Modes.Catch/OpenTK.dll.config new file mode 100644 index 0000000000..5620e3d9e2 --- /dev/null +++ b/osu.Game.Modes.Catch/OpenTK.dll.config @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/osu.Game.Modes.Catch/Properties/AssemblyInfo.cs b/osu.Game.Modes.Catch/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..4f0e60baaf --- /dev/null +++ b/osu.Game.Modes.Catch/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("osu.Game.Modes.Catch")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("osu.Game.Modes.Catch")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("58f6c80c-1253-4a0e-a465-b8c85ebeadf3")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/osu.Game/GameModes/Play/Catch/CatchComboCounter.cs b/osu.Game.Modes.Catch/UI/CatchComboCounter.cs similarity index 87% rename from osu.Game/GameModes/Play/Catch/CatchComboCounter.cs rename to osu.Game.Modes.Catch/UI/CatchComboCounter.cs index cf6f153ea1..685516f352 100644 --- a/osu.Game/GameModes/Play/Catch/CatchComboCounter.cs +++ b/osu.Game.Modes.Catch/UI/CatchComboCounter.cs @@ -1,15 +1,10 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE +using osu.Game.Modes.Osu.UI; using OpenTK.Graphics; -using osu.Game.GameModes.Play.Osu; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace osu.Game.GameModes.Play.Catch +namespace osu.Game.Modes.Catch.UI { /// /// Similar to Standard, but without the 'x' and has tinted pop-ups. Used in osu!catch. diff --git a/osu.Game/GameModes/Play/Catch/CatchHitRenderer.cs b/osu.Game.Modes.Catch/UI/CatchHitRenderer.cs similarity index 71% rename from osu.Game/GameModes/Play/Catch/CatchHitRenderer.cs rename to osu.Game.Modes.Catch/UI/CatchHitRenderer.cs index 729839de7c..9e1d2af571 100644 --- a/osu.Game/GameModes/Play/Catch/CatchHitRenderer.cs +++ b/osu.Game.Modes.Catch/UI/CatchHitRenderer.cs @@ -1,12 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Beatmaps.Objects; -using osu.Game.Beatmaps.Objects.Catch; -using osu.Game.Beatmaps.Objects.Catch.Drawable; +using osu.Game.Modes.Catch.Objects; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Objects.Drawables; +using osu.Game.Modes.UI; -namespace osu.Game.GameModes.Play.Catch +namespace osu.Game.Modes.Catch.UI { public class CatchHitRenderer : HitRenderer { diff --git a/osu.Game/GameModes/Play/Catch/CatchPlayfield.cs b/osu.Game.Modes.Catch/UI/CatchPlayfield.cs similarity index 76% rename from osu.Game/GameModes/Play/Catch/CatchPlayfield.cs rename to osu.Game.Modes.Catch/UI/CatchPlayfield.cs index 7db68771c0..4b6b2ab531 100644 --- a/osu.Game/GameModes/Play/Catch/CatchPlayfield.cs +++ b/osu.Game.Modes.Catch/UI/CatchPlayfield.cs @@ -2,14 +2,11 @@ //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.Sprites; +using osu.Game.Modes.UI; using OpenTK; -using OpenTK.Graphics; -using osu.Framework; -using osu.Framework.Allocation; -namespace osu.Game.GameModes.Play.Catch +namespace osu.Game.Modes.Catch.UI { public class CatchPlayfield : Playfield { diff --git a/osu.Game.Modes.Catch/osu.Game.Modes.Catch.csproj b/osu.Game.Modes.Catch/osu.Game.Modes.Catch.csproj new file mode 100644 index 0000000000..1db852e438 --- /dev/null +++ b/osu.Game.Modes.Catch/osu.Game.Modes.Catch.csproj @@ -0,0 +1,85 @@ + + + + + Debug + AnyCPU + {58F6C80C-1253-4A0E-A465-B8C85EBEADF3} + Library + Properties + osu.Game.Modes.Catch + osu.Game.Modes.Catch + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\ppy.OpenTK.2.0.50727.1339\lib\net45\OpenTK.dll + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {C76BF5B3-985E-4D39-95FE-97C9C879B83A} + osu.Framework + + + {C92A607B-1FDD-4954-9F92-03FF547D9080} + osu.Game.Modes.Osu + + + {0D3FBF8A-7464-4CF7-8C90-3E7886DF2D4D} + osu.Game + + + + + \ No newline at end of file diff --git a/osu.Game.Modes.Catch/packages.config b/osu.Game.Modes.Catch/packages.config new file mode 100644 index 0000000000..4da07d9f06 --- /dev/null +++ b/osu.Game.Modes.Catch/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/osu.Game.Modes.Mania/ManiaRuleset.cs b/osu.Game.Modes.Mania/ManiaRuleset.cs new file mode 100644 index 0000000000..cb122084df --- /dev/null +++ b/osu.Game.Modes.Mania/ManiaRuleset.cs @@ -0,0 +1,24 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System.Collections.Generic; +using osu.Game.Modes.Mania.UI; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Osu; +using osu.Game.Modes.Osu.Objects; +using osu.Game.Modes.Osu.UI; +using osu.Game.Modes.UI; + +namespace osu.Game.Modes.Mania +{ + public class ManiaRuleset : Ruleset + { + public override ScoreOverlay CreateScoreOverlay() => new OsuScoreOverlay(); + + public override HitRenderer CreateHitRendererWith(List objects) => new ManiaHitRenderer { Objects = objects }; + + protected override PlayMode PlayMode => PlayMode.Mania; + + public override HitObjectParser CreateHitObjectParser() => new OsuHitObjectParser(); + } +} diff --git a/osu.Game/Beatmaps/Objects/Mania/Drawable/DrawableNote.cs b/osu.Game.Modes.Mania/Objects/Drawable/DrawableNote.cs similarity index 91% rename from osu.Game/Beatmaps/Objects/Mania/Drawable/DrawableNote.cs rename to osu.Game.Modes.Mania/Objects/Drawable/DrawableNote.cs index ed8b42df61..1d81ab16f8 100644 --- a/osu.Game/Beatmaps/Objects/Mania/Drawable/DrawableNote.cs +++ b/osu.Game.Modes.Mania/Objects/Drawable/DrawableNote.cs @@ -1,15 +1,14 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Sprites; -using osu.Framework.Graphics.Transformations; -using OpenTK; using osu.Framework.Allocation; +using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; +using osu.Framework.Graphics.Transformations; +using osu.Framework.Graphics; +using OpenTK; -namespace osu.Game.Beatmaps.Objects.Mania.Drawable +namespace osu.Game.Modes.Mania.Objects.Drawable { public class DrawableNote : Sprite { diff --git a/osu.Game/Beatmaps/Objects/Mania/HoldNote.cs b/osu.Game.Modes.Mania/Objects/HoldNote.cs similarity index 79% rename from osu.Game/Beatmaps/Objects/Mania/HoldNote.cs rename to osu.Game.Modes.Mania/Objects/HoldNote.cs index 37e95d8df1..7c12593d79 100644 --- a/osu.Game/Beatmaps/Objects/Mania/HoldNote.cs +++ b/osu.Game.Modes.Mania/Objects/HoldNote.cs @@ -1,7 +1,7 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.Beatmaps.Objects.Mania +namespace osu.Game.Modes.Mania.Objects { public class HoldNote : Note { diff --git a/osu.Game/Beatmaps/Objects/Mania/ManiaBaseHit.cs b/osu.Game.Modes.Mania/Objects/ManiaBaseHit.cs similarity index 75% rename from osu.Game/Beatmaps/Objects/Mania/ManiaBaseHit.cs rename to osu.Game.Modes.Mania/Objects/ManiaBaseHit.cs index d3fe475c6f..efb2c20959 100644 --- a/osu.Game/Beatmaps/Objects/Mania/ManiaBaseHit.cs +++ b/osu.Game.Modes.Mania/Objects/ManiaBaseHit.cs @@ -1,7 +1,9 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.Beatmaps.Objects.Mania +using osu.Game.Modes.Objects; + +namespace osu.Game.Modes.Mania.Objects { public abstract class ManiaBaseHit : HitObject { diff --git a/osu.Game/Beatmaps/Objects/Mania/ManiaConverter.cs b/osu.Game.Modes.Mania/Objects/ManiaConverter.cs similarity index 88% rename from osu.Game/Beatmaps/Objects/Mania/ManiaConverter.cs rename to osu.Game.Modes.Mania/Objects/ManiaConverter.cs index cc03244709..d07d88d970 100644 --- a/osu.Game/Beatmaps/Objects/Mania/ManiaConverter.cs +++ b/osu.Game.Modes.Mania/Objects/ManiaConverter.cs @@ -3,9 +3,10 @@ using System; using System.Collections.Generic; -using osu.Game.Beatmaps.Objects.Osu; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Osu.Objects; -namespace osu.Game.Beatmaps.Objects.Mania +namespace osu.Game.Modes.Mania.Objects { class ManiaConverter : HitObjectConverter { diff --git a/osu.Game/Beatmaps/Objects/Mania/Note.cs b/osu.Game.Modes.Mania/Objects/Note.cs similarity index 80% rename from osu.Game/Beatmaps/Objects/Mania/Note.cs rename to osu.Game.Modes.Mania/Objects/Note.cs index d6e9b0e66c..ec1ee270e3 100644 --- a/osu.Game/Beatmaps/Objects/Mania/Note.cs +++ b/osu.Game.Modes.Mania/Objects/Note.cs @@ -1,7 +1,7 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.Beatmaps.Objects.Mania +namespace osu.Game.Modes.Mania.Objects { public class Note : ManiaBaseHit { diff --git a/osu.Game.Modes.Mania/OpenTK.dll.config b/osu.Game.Modes.Mania/OpenTK.dll.config new file mode 100644 index 0000000000..5620e3d9e2 --- /dev/null +++ b/osu.Game.Modes.Mania/OpenTK.dll.config @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/osu.Game.Modes.Mania/Properties/AssemblyInfo.cs b/osu.Game.Modes.Mania/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..0ac2657410 --- /dev/null +++ b/osu.Game.Modes.Mania/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("osu.Game.Modes.Mania")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("osu.Game.Modes.Mania")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("48f4582b-7687-4621-9cbe-5c24197cb536")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/osu.Game/GameModes/Play/Mania/ManiaComboCounter.cs b/osu.Game.Modes.Mania/UI/ManiaComboCounter.cs similarity index 89% rename from osu.Game/GameModes/Play/Mania/ManiaComboCounter.cs rename to osu.Game.Modes.Mania/UI/ManiaComboCounter.cs index 0a087225fc..dccd871def 100644 --- a/osu.Game/GameModes/Play/Mania/ManiaComboCounter.cs +++ b/osu.Game.Modes.Mania/UI/ManiaComboCounter.cs @@ -1,18 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using OpenTK.Graphics; -using osu.Framework; using osu.Framework.Graphics; using osu.Framework.Graphics.Transformations; -using osu.Game.GameModes.Play.Taiko; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using osu.Game.Modes.Taiko.UI; +using OpenTK.Graphics; -namespace osu.Game.GameModes.Play.Mania +namespace osu.Game.Modes.Mania.UI { /// /// Similar to osu!taiko, with a pop-out animation when failing (rolling). Used in osu!mania. diff --git a/osu.Game/GameModes/Play/Mania/ManiaHitRenderer.cs b/osu.Game.Modes.Mania/UI/ManiaHitRenderer.cs similarity index 79% rename from osu.Game/GameModes/Play/Mania/ManiaHitRenderer.cs rename to osu.Game.Modes.Mania/UI/ManiaHitRenderer.cs index 417ed1b698..a13e829e07 100644 --- a/osu.Game/GameModes/Play/Mania/ManiaHitRenderer.cs +++ b/osu.Game.Modes.Mania/UI/ManiaHitRenderer.cs @@ -1,13 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using OpenTK; -using osu.Framework.Graphics; -using osu.Game.Beatmaps.Objects; -using osu.Game.Beatmaps.Objects.Mania; -using osu.Game.Beatmaps.Objects.Mania.Drawable; +using osu.Game.Modes.Mania.Objects; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Objects.Drawables; +using osu.Game.Modes.UI; -namespace osu.Game.GameModes.Play.Mania +namespace osu.Game.Modes.Mania.UI { public class ManiaHitRenderer : HitRenderer { diff --git a/osu.Game/GameModes/Play/Mania/ManiaPlayfield.cs b/osu.Game.Modes.Mania/UI/ManiaPlayfield.cs similarity index 91% rename from osu.Game/GameModes/Play/Mania/ManiaPlayfield.cs rename to osu.Game.Modes.Mania/UI/ManiaPlayfield.cs index c5b13fdaeb..bd905cef9a 100644 --- a/osu.Game/GameModes/Play/Mania/ManiaPlayfield.cs +++ b/osu.Game.Modes.Mania/UI/ManiaPlayfield.cs @@ -3,10 +3,11 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Sprites; +using osu.Game.Modes.UI; using OpenTK; using OpenTK.Graphics; -namespace osu.Game.GameModes.Play.Mania +namespace osu.Game.Modes.Mania.UI { public class ManiaPlayfield : Playfield { diff --git a/osu.Game.Modes.Mania/app.config b/osu.Game.Modes.Mania/app.config new file mode 100644 index 0000000000..44ccc4b77a --- /dev/null +++ b/osu.Game.Modes.Mania/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/osu.Game.Modes.Mania/osu.Game.Modes.Mania.csproj b/osu.Game.Modes.Mania/osu.Game.Modes.Mania.csproj new file mode 100644 index 0000000000..2ccfff5dcd --- /dev/null +++ b/osu.Game.Modes.Mania/osu.Game.Modes.Mania.csproj @@ -0,0 +1,90 @@ + + + + + Debug + AnyCPU + {48F4582B-7687-4621-9CBE-5C24197CB536} + Library + Properties + osu.Game.Modes.Mania + osu.Game.Modes.Mania + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\ppy.OpenTK.2.0.50727.1339\lib\net45\OpenTK.dll + True + + + + + + + + + + + + + + + + + + + + + + + + + + {C76BF5B3-985E-4D39-95FE-97C9C879B83A} + osu.Framework + + + {C92A607B-1FDD-4954-9F92-03FF547D9080} + osu.Game.Modes.Osu + + + {F167E17A-7DE6-4AF5-B920-A5112296C695} + osu.Game.Modes.Taiko + + + {0D3FBF8A-7464-4CF7-8C90-3E7886DF2D4D} + osu.Game + + + + + + + + + + \ No newline at end of file diff --git a/osu.Game.Modes.Mania/packages.config b/osu.Game.Modes.Mania/packages.config new file mode 100644 index 0000000000..4da07d9f06 --- /dev/null +++ b/osu.Game.Modes.Mania/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/osu.Game/Beatmaps/Objects/Taiko/Drawable/DrawableTaikoHit.cs b/osu.Game.Modes.Taiko/Objects/Drawable/DrawableTaikoHit.cs similarity index 91% rename from osu.Game/Beatmaps/Objects/Taiko/Drawable/DrawableTaikoHit.cs rename to osu.Game.Modes.Taiko/Objects/Drawable/DrawableTaikoHit.cs index 7113016d51..8ef57160d5 100644 --- a/osu.Game/Beatmaps/Objects/Taiko/Drawable/DrawableTaikoHit.cs +++ b/osu.Game.Modes.Taiko/Objects/Drawable/DrawableTaikoHit.cs @@ -1,15 +1,14 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; +using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.Textures; using osu.Framework.Graphics.Transformations; using OpenTK; -using osu.Framework.Allocation; -using osu.Framework.Graphics.Textures; -namespace osu.Game.Beatmaps.Objects.Taiko.Drawable +namespace osu.Game.Modes.Taiko.Objects.Drawable { class DrawableTaikoHit : Sprite { diff --git a/osu.Game/Beatmaps/Objects/Taiko/TaikoBaseHit.cs b/osu.Game.Modes.Taiko/Objects/TaikoBaseHit.cs similarity index 79% rename from osu.Game/Beatmaps/Objects/Taiko/TaikoBaseHit.cs rename to osu.Game.Modes.Taiko/Objects/TaikoBaseHit.cs index 6b8f241306..ed3f154d20 100644 --- a/osu.Game/Beatmaps/Objects/Taiko/TaikoBaseHit.cs +++ b/osu.Game.Modes.Taiko/Objects/TaikoBaseHit.cs @@ -1,7 +1,9 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.Beatmaps.Objects.Taiko +using osu.Game.Modes.Objects; + +namespace osu.Game.Modes.Taiko.Objects { public class TaikoBaseHit : HitObject { diff --git a/osu.Game/Beatmaps/Objects/Taiko/TaikoConverter.cs b/osu.Game.Modes.Taiko/Objects/TaikoConverter.cs similarity index 87% rename from osu.Game/Beatmaps/Objects/Taiko/TaikoConverter.cs rename to osu.Game.Modes.Taiko/Objects/TaikoConverter.cs index d70e8f8406..4f849d538b 100644 --- a/osu.Game/Beatmaps/Objects/Taiko/TaikoConverter.cs +++ b/osu.Game.Modes.Taiko/Objects/TaikoConverter.cs @@ -1,11 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; using System.Collections.Generic; -using osu.Game.Beatmaps.Objects.Osu; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Osu.Objects; -namespace osu.Game.Beatmaps.Objects.Taiko +namespace osu.Game.Modes.Taiko.Objects { class TaikoConverter : HitObjectConverter { diff --git a/osu.Game.Modes.Taiko/OpenTK.dll.config b/osu.Game.Modes.Taiko/OpenTK.dll.config new file mode 100644 index 0000000000..5620e3d9e2 --- /dev/null +++ b/osu.Game.Modes.Taiko/OpenTK.dll.config @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/osu.Game.Modes.Taiko/Properties/AssemblyInfo.cs b/osu.Game.Modes.Taiko/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..fe4ac44ab7 --- /dev/null +++ b/osu.Game.Modes.Taiko/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("osu.Game.Modes.Taiko")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("osu.Game.Modes.Taiko")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f167e17a-7de6-4af5-b920-a5112296c695")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/osu.Game.Modes.Taiko/TaikoRuleset.cs b/osu.Game.Modes.Taiko/TaikoRuleset.cs new file mode 100644 index 0000000000..fa9d0862c7 --- /dev/null +++ b/osu.Game.Modes.Taiko/TaikoRuleset.cs @@ -0,0 +1,23 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System.Collections.Generic; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Osu.Objects; +using osu.Game.Modes.Osu.UI; +using osu.Game.Modes.Taiko.UI; +using osu.Game.Modes.UI; + +namespace osu.Game.Modes.Taiko +{ + public class TaikoRuleset : Ruleset + { + public override ScoreOverlay CreateScoreOverlay() => new OsuScoreOverlay(); + + public override HitRenderer CreateHitRendererWith(List objects) => new TaikoHitRenderer { Objects = objects }; + + protected override PlayMode PlayMode => PlayMode.Taiko; + + public override HitObjectParser CreateHitObjectParser() => new OsuHitObjectParser(); + } +} diff --git a/osu.Game/GameModes/Play/Taiko/TaikoComboCounter.cs b/osu.Game.Modes.Taiko/UI/TaikoComboCounter.cs similarity index 90% rename from osu.Game/GameModes/Play/Taiko/TaikoComboCounter.cs rename to osu.Game.Modes.Taiko/UI/TaikoComboCounter.cs index 70afd31988..cc94e5e4ea 100644 --- a/osu.Game/GameModes/Play/Taiko/TaikoComboCounter.cs +++ b/osu.Game.Modes.Taiko/UI/TaikoComboCounter.cs @@ -1,15 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using OpenTK; using osu.Framework.Graphics.Transformations; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using osu.Game.Modes.UI; +using OpenTK; -namespace osu.Game.GameModes.Play.Taiko +namespace osu.Game.Modes.Taiko.UI { /// /// Allows tint and scaling animations. Used in osu!taiko. diff --git a/osu.Game/GameModes/Play/Taiko/TaikoHitRenderer.cs b/osu.Game.Modes.Taiko/UI/TaikoHitRenderer.cs similarity index 71% rename from osu.Game/GameModes/Play/Taiko/TaikoHitRenderer.cs rename to osu.Game.Modes.Taiko/UI/TaikoHitRenderer.cs index 837185d4d8..cf72cfbc47 100644 --- a/osu.Game/GameModes/Play/Taiko/TaikoHitRenderer.cs +++ b/osu.Game.Modes.Taiko/UI/TaikoHitRenderer.cs @@ -1,12 +1,12 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Beatmaps.Objects; -using osu.Game.Beatmaps.Objects.Taiko; -using osu.Game.Beatmaps.Objects.Taiko.Drawable; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Objects.Drawables; +using osu.Game.Modes.Taiko.Objects; +using osu.Game.Modes.UI; -namespace osu.Game.GameModes.Play.Taiko +namespace osu.Game.Modes.Taiko.UI { public class TaikoHitRenderer : HitRenderer { diff --git a/osu.Game/GameModes/Play/Taiko/TaikoPlayfield.cs b/osu.Game.Modes.Taiko/UI/TaikoPlayfield.cs similarity index 88% rename from osu.Game/GameModes/Play/Taiko/TaikoPlayfield.cs rename to osu.Game.Modes.Taiko/UI/TaikoPlayfield.cs index b563cc718a..b9bf31bb56 100644 --- a/osu.Game/GameModes/Play/Taiko/TaikoPlayfield.cs +++ b/osu.Game.Modes.Taiko/UI/TaikoPlayfield.cs @@ -1,16 +1,15 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE +using osu.Framework.Allocation; using osu.Framework.Graphics; -using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.Textures; +using osu.Game.Modes.UI; using OpenTK; using OpenTK.Graphics; -using osu.Framework; -using osu.Framework.Allocation; -using osu.Framework.Graphics.Textures; -namespace osu.Game.GameModes.Play.Taiko +namespace osu.Game.Modes.Taiko.UI { public class TaikoPlayfield : Playfield { diff --git a/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj new file mode 100644 index 0000000000..d49c3c2466 --- /dev/null +++ b/osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj @@ -0,0 +1,83 @@ + + + + + Debug + AnyCPU + {F167E17A-7DE6-4AF5-B920-A5112296C695} + Library + Properties + osu.Game.Modes.Taiko + osu.Game.Modes.Taiko + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\ppy.OpenTK.2.0.50727.1339\lib\net45\OpenTK.dll + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + {C76BF5B3-985E-4D39-95FE-97C9C879B83A} + osu.Framework + + + {C92A607B-1FDD-4954-9F92-03FF547D9080} + osu.Game.Modes.Osu + + + {0D3FBF8A-7464-4CF7-8C90-3E7886DF2D4D} + osu.Game + + + + + \ No newline at end of file diff --git a/osu.Game.Modes.Taiko/packages.config b/osu.Game.Modes.Taiko/packages.config new file mode 100644 index 0000000000..4da07d9f06 --- /dev/null +++ b/osu.Game.Modes.Taiko/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs b/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs index 2d854ab3b7..90b62ef98a 100644 --- a/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs +++ b/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs @@ -5,9 +5,11 @@ using OpenTK; using OpenTK.Graphics; using osu.Game.Beatmaps; using osu.Game.Beatmaps.Formats; -using osu.Game.Beatmaps.Objects.Osu; using osu.Game.Beatmaps.Samples; -using osu.Game.GameModes.Play; +using osu.Game.Modes; +using osu.Game.Modes.Osu; +using osu.Game.Modes.Osu.Objects; +using osu.Game.Screens.Play; using osu.Game.Tests.Resources; namespace osu.Game.Tests.Beatmaps.Formats @@ -19,6 +21,7 @@ namespace osu.Game.Tests.Beatmaps.Formats public void SetUp() { OsuLegacyDecoder.Register(); + Ruleset.Register(new OsuRuleset()); } [Test] public void TestDecodeMetadata() diff --git a/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs b/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs index 8f604696b5..7acbdbf3d9 100644 --- a/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs +++ b/osu.Game.Tests/Beatmaps/IO/ImportBeatmapTest.cs @@ -8,7 +8,12 @@ using osu.Framework.Desktop.Platform; using osu.Framework.Platform; using osu.Game.Database; using osu.Game.IPC; -using osu.Game.GameModes.Play; +using osu.Game.Modes; +using osu.Game.Modes.Catch; +using osu.Game.Modes.Mania; +using osu.Game.Modes.Osu; +using osu.Game.Modes.Taiko; +using osu.Game.Screens.Play; namespace osu.Game.Tests.Beatmaps.IO { @@ -20,6 +25,10 @@ namespace osu.Game.Tests.Beatmaps.IO [OneTimeSetUp] public void SetUp() { + Ruleset.Register(new OsuRuleset()); + Ruleset.Register(new TaikoRuleset()); + Ruleset.Register(new ManiaRuleset()); + Ruleset.Register(new CatchRuleset()); } [Test] diff --git a/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs b/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs index ea26cce467..1343ae7241 100644 --- a/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs +++ b/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs @@ -2,7 +2,8 @@ using System.IO; using NUnit.Framework; using osu.Game.Beatmaps.IO; -using osu.Game.GameModes.Play; +using osu.Game.Modes; +using osu.Game.Modes.Osu; using osu.Game.Tests.Resources; namespace osu.Game.Tests.Beatmaps.IO @@ -14,8 +15,9 @@ namespace osu.Game.Tests.Beatmaps.IO public void SetUp() { OszArchiveReader.Register(); + Ruleset.Register(new OsuRuleset()); } - + [Test] public void TestReadBeatmaps() { diff --git a/osu.Game.Tests/osu.Game.Tests.csproj b/osu.Game.Tests/osu.Game.Tests.csproj index d4a1976f17..d59e90c2f4 100644 --- a/osu.Game.Tests/osu.Game.Tests.csproj +++ b/osu.Game.Tests/osu.Game.Tests.csproj @@ -66,6 +66,22 @@ {c76bf5b3-985e-4d39-95fe-97c9c879b83a} osu.Framework + + {c92a607b-1fdd-4954-9f92-03ff547d9080} + osu.Game.Modes.Osu + + + {58f6c80c-1253-4a0e-a465-b8c85ebeadf3} + osu.Game.Modes.Catch + + + {48f4582b-7687-4621-9cbe-5c24197cb536} + osu.Game.Modes.Mania + + + {f167e17a-7de6-4af5-b920-a5112296c695} + osu.Game.Modes.Taiko + {0D3FBF8A-7464-4CF7-8C90-3E7886DF2D4D} osu.Game diff --git a/osu.Game/Beatmaps/Beatmap.cs b/osu.Game/Beatmaps/Beatmap.cs index 4769e2fb64..4d6c6a8056 100644 --- a/osu.Game/Beatmaps/Beatmap.cs +++ b/osu.Game/Beatmaps/Beatmap.cs @@ -3,9 +3,9 @@ using System.Collections.Generic; using OpenTK.Graphics; -using osu.Game.Beatmaps.Objects; using osu.Game.Beatmaps.Timing; using osu.Game.Database; +using osu.Game.Modes.Objects; namespace osu.Game.Beatmaps { diff --git a/osu.Game/Beatmaps/Formats/BeatmapDecoder.cs b/osu.Game/Beatmaps/Formats/BeatmapDecoder.cs index ca11b97587..b5dd0c995e 100644 --- a/osu.Game/Beatmaps/Formats/BeatmapDecoder.cs +++ b/osu.Game/Beatmaps/Formats/BeatmapDecoder.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.IO; -using osu.Game.Beatmaps.Objects; +using osu.Game.Modes.Objects; using OpenTK.Graphics; namespace osu.Game.Beatmaps.Formats @@ -48,6 +48,8 @@ namespace osu.Game.Beatmaps.Formats new Color4(121,9,13, 255), }; + if (colours.Count == 0) return; + int i = -1; foreach (HitObject h in b.HitObjects) diff --git a/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs b/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs index e988498093..5468e616f0 100644 --- a/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs +++ b/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs @@ -5,10 +5,11 @@ using System.IO; using OpenTK.Graphics; using osu.Game.Database; using osu.Game.Beatmaps.Events; -using osu.Game.Beatmaps.Objects; using osu.Game.Beatmaps.Samples; using osu.Game.Beatmaps.Timing; -using osu.Game.GameModes.Play; +using osu.Game.Modes; +using osu.Game.Modes.Objects; +using osu.Game.Screens.Play; namespace osu.Game.Beatmaps.Formats { @@ -220,7 +221,9 @@ namespace osu.Game.Beatmaps.Formats BaseDifficulty = new BaseDifficulty(), }, }; - + + HitObjectParser parser = null; + var section = Section.None; string line; while (true) @@ -232,14 +235,14 @@ namespace osu.Game.Beatmaps.Formats continue; if (line.StartsWith(@"osu file format v")) continue; - + if (line.StartsWith(@"[") && line.EndsWith(@"]")) { if (!Enum.TryParse(line.Substring(1, line.Length - 2), out section)) throw new InvalidDataException($@"Unknown osu section {line}"); continue; } - + string val = line, key = null; if (section != Section.Events && section != Section.TimingPoints && section != Section.HitObjects) { @@ -250,6 +253,7 @@ namespace osu.Game.Beatmaps.Formats { case Section.General: handleGeneral(beatmap, key, val); + parser = Ruleset.GetRuleset(beatmap.BeatmapInfo.Mode).CreateHitObjectParser(); break; case Section.Editor: handleEditor(beatmap, key, val); @@ -270,13 +274,13 @@ namespace osu.Game.Beatmaps.Formats handleColours(beatmap, key, val); break; case Section.HitObjects: - var h = HitObject.Parse(beatmap.BeatmapInfo.Mode, val); - if (h != null) - beatmap.HitObjects.Add(h); + var obj = parser?.Parse(val); + if (obj != null) + beatmap.HitObjects.Add(obj); break; } } - + return beatmap; } } diff --git a/osu.Game/Beatmaps/Objects/Osu/OsuBaseHit.cs b/osu.Game/Beatmaps/Objects/Osu/OsuBaseHit.cs deleted file mode 100644 index 41d815444b..0000000000 --- a/osu.Game/Beatmaps/Objects/Osu/OsuBaseHit.cs +++ /dev/null @@ -1,58 +0,0 @@ -//Copyright (c) 2007-2016 ppy Pty Ltd . -//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE - -using System; -using OpenTK; -using osu.Game.Beatmaps.Samples; - -namespace osu.Game.Beatmaps.Objects.Osu -{ - public abstract class OsuBaseHit : HitObject - { - public Vector2 Position { get; set; } - - public static OsuBaseHit Parse(string val) - { - string[] split = val.Split(','); - var type = (HitObjectType)int.Parse(split[3]); - bool combo = type.HasFlag(HitObjectType.NewCombo); - type &= (HitObjectType)0xF; - type &= ~HitObjectType.NewCombo; - OsuBaseHit result; - switch (type) - { - case HitObjectType.Circle: - result = new Circle(); - break; - case HitObjectType.Slider: - result = new Slider(); - break; - case HitObjectType.Spinner: - result = new Spinner(); - break; - default: - throw new InvalidOperationException($@"Unknown hit object type {type}"); - } - result.Position = new Vector2(int.Parse(split[0]), int.Parse(split[1])); - result.StartTime = double.Parse(split[2]); - result.Sample = new HitSampleInfo { Type = (SampleType)int.Parse(split[4]) }; - result.NewCombo = combo; - // TODO: "addition" field - return result; - } - - [Flags] - private enum HitObjectType - { - Circle = 1, - Slider = 2, - NewCombo = 4, - CircleNewCombo = 5, - SliderNewCombo = 6, - Spinner = 8, - ColourHax = 122, - Hold = 128, - ManiaLong = 128, - } - } -} diff --git a/osu.Game/Configuration/OsuConfigManager.cs b/osu.Game/Configuration/OsuConfigManager.cs index 109d3eb527..86e26048ab 100644 --- a/osu.Game/Configuration/OsuConfigManager.cs +++ b/osu.Game/Configuration/OsuConfigManager.cs @@ -3,8 +3,9 @@ using osu.Framework.Configuration; using osu.Framework.Platform; -using osu.Game.GameModes.Play; +using osu.Game.Modes; using osu.Game.Online.API; +using osu.Game.Screens.Play; namespace osu.Game.Configuration { diff --git a/osu.Game/Database/BeatmapInfo.cs b/osu.Game/Database/BeatmapInfo.cs index 14bfcb337e..736f8b9927 100644 --- a/osu.Game/Database/BeatmapInfo.cs +++ b/osu.Game/Database/BeatmapInfo.cs @@ -1,7 +1,8 @@ using System; using System.Linq; using osu.Game.Beatmaps.Samples; -using osu.Game.GameModes.Play; +using osu.Game.Modes; +using osu.Game.Screens.Play; using SQLite.Net.Attributes; using SQLiteNetExtensions.Attributes; diff --git a/osu.Game/Database/BeatmapMetadata.cs b/osu.Game/Database/BeatmapMetadata.cs index 0b4d692abc..45b7b8de0f 100644 --- a/osu.Game/Database/BeatmapMetadata.cs +++ b/osu.Game/Database/BeatmapMetadata.cs @@ -1,7 +1,6 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Game.GameModes.Play; using SQLite.Net.Attributes; namespace osu.Game.Database diff --git a/osu.Game/GameModes/Menu/MenuVisualisation.cs b/osu.Game/GameModes/Menu/MenuVisualisation.cs deleted file mode 100644 index 84f150c413..0000000000 --- a/osu.Game/GameModes/Menu/MenuVisualisation.cs +++ /dev/null @@ -1,13 +0,0 @@ -using osu.Framework.Graphics; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace osu.Game.GameModes.Menu -{ - internal class MenuVisualisation : Drawable - { - } -} diff --git a/osu.Game/GameModes/Play/Catch/CatchRuleset.cs b/osu.Game/GameModes/Play/Catch/CatchRuleset.cs deleted file mode 100644 index 5aa77f1f2e..0000000000 --- a/osu.Game/GameModes/Play/Catch/CatchRuleset.cs +++ /dev/null @@ -1,20 +0,0 @@ -//Copyright (c) 2007-2016 ppy Pty Ltd . -//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Game.Beatmaps.Objects; -using osu.Game.GameModes.Play.Osu; - -namespace osu.Game.GameModes.Play.Catch -{ - class CatchRuleset : Ruleset - { - public override ScoreOverlay CreateScoreOverlay() => new ScoreOverlayOsu(); - - public override HitRenderer CreateHitRendererWith(List objects) => new CatchHitRenderer { Objects = objects }; - } -} diff --git a/osu.Game/GameModes/Play/Mania/ManiaRuleset.cs b/osu.Game/GameModes/Play/Mania/ManiaRuleset.cs deleted file mode 100644 index 3b37082c39..0000000000 --- a/osu.Game/GameModes/Play/Mania/ManiaRuleset.cs +++ /dev/null @@ -1,20 +0,0 @@ -//Copyright (c) 2007-2016 ppy Pty Ltd . -//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Game.Beatmaps.Objects; -using osu.Game.GameModes.Play.Osu; - -namespace osu.Game.GameModes.Play.Mania -{ - class ManiaRuleset : Ruleset - { - public override ScoreOverlay CreateScoreOverlay() => new ScoreOverlayOsu(); - - public override HitRenderer CreateHitRendererWith(List objects) => new ManiaHitRenderer { Objects = objects }; - } -} diff --git a/osu.Game/GameModes/Play/Osu/OsuRuleset.cs b/osu.Game/GameModes/Play/Osu/OsuRuleset.cs deleted file mode 100644 index 33eeb72e3f..0000000000 --- a/osu.Game/GameModes/Play/Osu/OsuRuleset.cs +++ /dev/null @@ -1,18 +0,0 @@ -//Copyright (c) 2007-2016 ppy Pty Ltd . -//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Game.Beatmaps.Objects; - -namespace osu.Game.GameModes.Play.Osu -{ - class OsuRuleset : Ruleset - { - public override ScoreOverlay CreateScoreOverlay() => new ScoreOverlayOsu(); - - public override HitRenderer CreateHitRendererWith(List objects) => new OsuHitRenderer { Objects = objects }; - }} diff --git a/osu.Game/GameModes/Play/Ruleset.cs b/osu.Game/GameModes/Play/Ruleset.cs deleted file mode 100644 index a5cbc63269..0000000000 --- a/osu.Game/GameModes/Play/Ruleset.cs +++ /dev/null @@ -1,38 +0,0 @@ -//Copyright (c) 2007-2016 ppy Pty Ltd . -//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Game.Beatmaps.Objects; -using osu.Game.GameModes.Play.Catch; -using osu.Game.GameModes.Play.Mania; -using osu.Game.GameModes.Play.Osu; -using osu.Game.GameModes.Play.Taiko; - -namespace osu.Game.GameModes.Play -{ - public abstract class Ruleset - { - public abstract ScoreOverlay CreateScoreOverlay(); - - public abstract HitRenderer CreateHitRendererWith(List objects); - - public static Ruleset GetRuleset(PlayMode mode) - { - switch (mode) - { - default: - return new OsuRuleset(); - case PlayMode.Catch: - return new CatchRuleset(); - case PlayMode.Mania: - return new ManiaRuleset(); - case PlayMode.Taiko: - return new TaikoRuleset(); - } - } - } -} diff --git a/osu.Game/GameModes/Play/Taiko/TaikoRuleset.cs b/osu.Game/GameModes/Play/Taiko/TaikoRuleset.cs deleted file mode 100644 index dacf17df21..0000000000 --- a/osu.Game/GameModes/Play/Taiko/TaikoRuleset.cs +++ /dev/null @@ -1,20 +0,0 @@ -//Copyright (c) 2007-2016 ppy Pty Ltd . -//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Game.Beatmaps.Objects; -using osu.Game.GameModes.Play.Osu; - -namespace osu.Game.GameModes.Play.Taiko -{ - class TaikoRuleset : Ruleset - { - public override ScoreOverlay CreateScoreOverlay() => new ScoreOverlayOsu(); - - public override HitRenderer CreateHitRendererWith(List objects) => new TaikoHitRenderer { Objects = objects }; - } -} diff --git a/osu.Game/Beatmaps/Objects/DrawableHitObject.cs b/osu.Game/Modes/Objects/Drawables/DrawableHitObject.cs similarity index 88% rename from osu.Game/Beatmaps/Objects/DrawableHitObject.cs rename to osu.Game/Modes/Objects/Drawables/DrawableHitObject.cs index 380e527de4..d5674d8314 100644 --- a/osu.Game/Beatmaps/Objects/DrawableHitObject.cs +++ b/osu.Game/Modes/Objects/Drawables/DrawableHitObject.cs @@ -2,15 +2,10 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using osu.Framework; using osu.Framework.Graphics.Containers; -using osu.Game.Beatmaps.Objects.Osu.Drawable; -namespace osu.Game.Beatmaps.Objects +namespace osu.Game.Modes.Objects.Drawables { public abstract class DrawableHitObject : Container, IStateful { diff --git a/osu.Game/Beatmaps/Objects/HitObject.cs b/osu.Game/Modes/Objects/HitObject.cs similarity index 52% rename from osu.Game/Beatmaps/Objects/HitObject.cs rename to osu.Game/Modes/Objects/HitObject.cs index ef6659224f..abb88726b6 100644 --- a/osu.Game/Beatmaps/Objects/HitObject.cs +++ b/osu.Game/Modes/Objects/HitObject.cs @@ -1,12 +1,10 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Game.Beatmaps.Objects.Osu; using osu.Game.Beatmaps.Samples; -using osu.Game.GameModes.Play; using OpenTK.Graphics; -namespace osu.Game.Beatmaps.Objects +namespace osu.Game.Modes.Objects { /// /// A hitobject describes a point in a beatmap @@ -23,17 +21,5 @@ namespace osu.Game.Beatmaps.Objects public double Duration => EndTime - StartTime; public HitSampleInfo Sample; - - public static HitObject Parse(PlayMode mode, string val) - { - //TODO: move to modular HitObjectParser system rather than static parsing. (https://github.com/ppy/osu/pull/60/files#r83135780) - switch (mode) - { - case PlayMode.Osu: - return OsuBaseHit.Parse(val); - default: - return null; - } - } } } diff --git a/osu.Game/Beatmaps/Objects/HitObjectConverter.cs b/osu.Game/Modes/Objects/HitObjectConverter.cs similarity index 91% rename from osu.Game/Beatmaps/Objects/HitObjectConverter.cs rename to osu.Game/Modes/Objects/HitObjectConverter.cs index 723199d8f1..66a73956fa 100644 --- a/osu.Game/Beatmaps/Objects/HitObjectConverter.cs +++ b/osu.Game/Modes/Objects/HitObjectConverter.cs @@ -4,13 +4,14 @@ using System; using System.Collections.Generic; -namespace osu.Game.Beatmaps.Objects +namespace osu.Game.Modes.Objects { public abstract class HitObjectConverter where T : HitObject { public abstract List Convert(List input); } + public class HitObjectConvertException : Exception { public HitObject Input { get; } diff --git a/osu.Game/GameModes/Charts/ChartInfo.cs b/osu.Game/Modes/Objects/HitObjectParser.cs similarity index 66% rename from osu.Game/GameModes/Charts/ChartInfo.cs rename to osu.Game/Modes/Objects/HitObjectParser.cs index 67a11e632a..261e92ff96 100644 --- a/osu.Game/GameModes/Charts/ChartInfo.cs +++ b/osu.Game/Modes/Objects/HitObjectParser.cs @@ -7,9 +7,10 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace osu.Game.GameModes.Charts +namespace osu.Game.Modes.Objects { - class ChartInfo : GameModeWhiteBox + public abstract class HitObjectParser { + public abstract HitObject Parse(string text); } } diff --git a/osu.Game/GameModes/Play/PlayMode.cs b/osu.Game/Modes/PlayMode.cs similarity index 88% rename from osu.Game/GameModes/Play/PlayMode.cs rename to osu.Game/Modes/PlayMode.cs index 8234baa523..d1b0f23ee4 100644 --- a/osu.Game/GameModes/Play/PlayMode.cs +++ b/osu.Game/Modes/PlayMode.cs @@ -4,7 +4,7 @@ using System.ComponentModel; -namespace osu.Game.GameModes.Play +namespace osu.Game.Modes { public enum PlayMode { diff --git a/osu.Game/Modes/Ruleset.cs b/osu.Game/Modes/Ruleset.cs new file mode 100644 index 0000000000..d35aab6568 --- /dev/null +++ b/osu.Game/Modes/Ruleset.cs @@ -0,0 +1,39 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using System.Collections.Generic; +using osu.Game.Modes.Objects; +using osu.Game.Modes.UI; +using System.Reflection; +using osu.Framework.Extensions; +using System; +using System.Collections.Concurrent; +using System.Linq; + +namespace osu.Game.Modes +{ + public abstract class Ruleset + { + private static ConcurrentDictionary availableRulesets = new ConcurrentDictionary(); + + public abstract ScoreOverlay CreateScoreOverlay(); + + public abstract HitRenderer CreateHitRendererWith(List objects); + + public abstract HitObjectParser CreateHitObjectParser(); + + public static void Register(Ruleset ruleset) => availableRulesets.TryAdd(ruleset.PlayMode, ruleset.GetType()); + + protected abstract PlayMode PlayMode { get; } + + public static Ruleset GetRuleset(PlayMode mode) + { + Type type; + + if (!availableRulesets.TryGetValue(mode, out type)) + return null; + + return Activator.CreateInstance(type) as Ruleset; + } + } +} diff --git a/osu.Game/GameModes/Play/ComboCounter.cs b/osu.Game/Modes/UI/ComboCounter.cs similarity index 93% rename from osu.Game/GameModes/Play/ComboCounter.cs rename to osu.Game/Modes/UI/ComboCounter.cs index 96660afb6a..d371110308 100644 --- a/osu.Game/GameModes/Play/ComboCounter.cs +++ b/osu.Game/Modes/UI/ComboCounter.cs @@ -1,22 +1,13 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Transformations; using osu.Framework.MathUtils; -using osu.Framework.Timing; -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Framework.Allocation; -namespace osu.Game.GameModes.Play +namespace osu.Game.Modes.UI { public abstract class ComboCounter : Container { diff --git a/osu.Game/GameModes/Play/ComboResultCounter.cs b/osu.Game/Modes/UI/ComboResultCounter.cs similarity index 88% rename from osu.Game/GameModes/Play/ComboResultCounter.cs rename to osu.Game/Modes/UI/ComboResultCounter.cs index 9607c6df14..840a2e0b73 100644 --- a/osu.Game/GameModes/Play/ComboResultCounter.cs +++ b/osu.Game/Modes/UI/ComboResultCounter.cs @@ -1,18 +1,13 @@ //Copyright (c) 2007-2016 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.Transformations; using osu.Framework.MathUtils; -using osu.Framework.Timing; using osu.Game.Graphics.UserInterface; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace osu.Game.GameModes.Play +namespace osu.Game.Modes.UI { /// /// Used to display combo with a roll-up animation in results screen. diff --git a/osu.Game/GameModes/Play/HitRenderer.cs b/osu.Game/Modes/UI/HitRenderer.cs similarity index 92% rename from osu.Game/GameModes/Play/HitRenderer.cs rename to osu.Game/Modes/UI/HitRenderer.cs index 0766e0f6b4..5f4b0b9b02 100644 --- a/osu.Game/GameModes/Play/HitRenderer.cs +++ b/osu.Game/Modes/UI/HitRenderer.cs @@ -1,16 +1,16 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System.Collections.Generic; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Containers; -using osu.Game.Beatmaps.Objects; -using osu.Framework; using System; +using System.Collections.Generic; using System.Linq; using osu.Framework.Allocation; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Objects.Drawables; -namespace osu.Game.GameModes.Play +namespace osu.Game.Modes.UI { public abstract class HitRenderer : Container { diff --git a/osu.Game/GameModes/Play/Playfield.cs b/osu.Game/Modes/UI/Playfield.cs similarity index 78% rename from osu.Game/GameModes/Play/Playfield.cs rename to osu.Game/Modes/UI/Playfield.cs index d87bec8011..24aecb8a22 100644 --- a/osu.Game/GameModes/Play/Playfield.cs +++ b/osu.Game/Modes/UI/Playfield.cs @@ -1,10 +1,9 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework; using osu.Framework.Graphics.Containers; -namespace osu.Game.GameModes.Play +namespace osu.Game.Modes.UI { public class Playfield : Container { diff --git a/osu.Game/GameModes/Play/ScoreOverlay.cs b/osu.Game/Modes/UI/ScoreOverlay.cs similarity index 87% rename from osu.Game/GameModes/Play/ScoreOverlay.cs rename to osu.Game/Modes/UI/ScoreOverlay.cs index 3d60df1858..2270533d47 100644 --- a/osu.Game/GameModes/Play/ScoreOverlay.cs +++ b/osu.Game/Modes/UI/ScoreOverlay.cs @@ -2,16 +2,12 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; -using osu.Game.Beatmaps.Objects; using osu.Game.Graphics.UserInterface; +using osu.Game.Modes.Objects; -namespace osu.Game.GameModes.Play +namespace osu.Game.Modes.UI { public abstract class ScoreOverlay : Container { diff --git a/osu.Game/Online/Chat/Display/ChannelDisplay.cs b/osu.Game/Online/Chat/Display/ChannelDisplay.cs index b3a08a1196..93e235f3f3 100644 --- a/osu.Game/Online/Chat/Display/ChannelDisplay.cs +++ b/osu.Game/Online/Chat/Display/ChannelDisplay.cs @@ -8,7 +8,6 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Transformations; -using osu.Game.Online.Chat.Display.osu.Online.Social; using OpenTK; using osu.Framework; using osu.Framework.Allocation; diff --git a/osu.Game/Online/Chat/Display/ChatLine.cs b/osu.Game/Online/Chat/Display/ChatLine.cs index 662a72f533..f214c24443 100644 --- a/osu.Game/Online/Chat/Display/ChatLine.cs +++ b/osu.Game/Online/Chat/Display/ChatLine.cs @@ -1,74 +1,67 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using osu.Framework.Configuration; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; +using osu.Framework.Graphics.Primitives; using osu.Framework.Graphics.Sprites; using OpenTK; using OpenTK.Graphics; -using osu.Framework; -using osu.Framework.Graphics.Primitives; -using osu.Framework.Allocation; namespace osu.Game.Online.Chat.Display { - namespace osu.Online.Social + public class ChatLine : Container { - public class ChatLine : Container + public readonly Message Message; + + const float padding = 200; + const float text_size = 20; + + public ChatLine(Message message) { - public readonly Message Message; + this.Message = message; - const float padding = 200; - const float text_size = 20; + RelativeSizeAxes = Axes.X; + AutoSizeAxes = Axes.Y; - public ChatLine(Message message) + Children = new Drawable[] { - this.Message = message; - - RelativeSizeAxes = Axes.X; - AutoSizeAxes = Axes.Y; - - Children = new Drawable[] + new Container { - new Container + Size = new Vector2(padding, text_size), + Children = new Drawable[] { - Size = new Vector2(padding, text_size), - Children = new Drawable[] + new SpriteText { - new SpriteText - { - Text = Message.Timestamp.LocalDateTime.ToLongTimeString(), - TextSize = text_size, - Colour = new Color4(128, 128, 128, 255) - }, - new SpriteText - { - Text = Message.User.Name, - TextSize = text_size, - Origin = Anchor.TopRight, - Anchor = Anchor.TopRight, - } - } - }, - new Container - { - RelativeSizeAxes = Axes.X, - AutoSizeAxes = Axes.Y, - Padding = new MarginPadding { Left = padding + 10 }, - Children = new Drawable[] + Text = Message.Timestamp.LocalDateTime.ToLongTimeString(), + TextSize = text_size, + Colour = new Color4(128, 128, 128, 255) + }, + new SpriteText { - new SpriteText - { - Text = Message.Content, - TextSize = text_size, - RelativeSizeAxes = Axes.X, - } + Text = Message.User.Name, + TextSize = text_size, + Origin = Anchor.TopRight, + Anchor = Anchor.TopRight, } } - }; - } + }, + new Container + { + RelativeSizeAxes = Axes.X, + AutoSizeAxes = Axes.Y, + Padding = new MarginPadding { Left = padding + 10 }, + Children = new Drawable[] + { + new SpriteText + { + Text = Message.Content, + TextSize = text_size, + RelativeSizeAxes = Axes.X, + } + } + } + }; } } } diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index c80562fc11..bccaa398ff 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -6,22 +6,23 @@ using System.Threading; using osu.Framework.Configuration; using osu.Framework.GameModes; using osu.Game.Configuration; -using osu.Game.GameModes.Menu; using OpenTK; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Platform; -using osu.Game.GameModes.Play; using osu.Game.Overlays; using osu.Framework; using osu.Framework.Input; using osu.Game.Input; using OpenTK.Input; using osu.Framework.Logging; -using osu.Game.GameModes; using osu.Game.Graphics.UserInterface.Volume; using osu.Game.Database; using osu.Framework.Allocation; +using osu.Game.Modes; +using osu.Game.Screens; +using osu.Game.Screens.Menu; +using osu.Game.Screens.Play; namespace osu.Game { diff --git a/osu.Game/Overlays/Toolbar.cs b/osu.Game/Overlays/Toolbar.cs index 4f2513b130..0e343a05dd 100644 --- a/osu.Game/Overlays/Toolbar.cs +++ b/osu.Game/Overlays/Toolbar.cs @@ -9,10 +9,11 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Transformations; using osu.Game.Configuration; -using osu.Game.GameModes.Play; using osu.Game.Graphics; using osu.Framework.Graphics.Sprites; using osu.Framework.Allocation; +using osu.Game.Modes; +using osu.Game.Screens.Play; namespace osu.Game.Overlays { diff --git a/osu.Game/Overlays/ToolbarModeButton.cs b/osu.Game/Overlays/ToolbarModeButton.cs index bd88eae7c9..c10b8514db 100644 --- a/osu.Game/Overlays/ToolbarModeButton.cs +++ b/osu.Game/Overlays/ToolbarModeButton.cs @@ -2,11 +2,12 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using osu.Framework.Extensions; -using osu.Game.GameModes.Play; using osu.Game.Graphics; using OpenTK.Graphics; using osu.Framework; using osu.Framework.Allocation; +using osu.Game.Modes; +using osu.Game.Screens.Play; namespace osu.Game.Overlays { diff --git a/osu.Game/Overlays/ToolbarModeSelector.cs b/osu.Game/Overlays/ToolbarModeSelector.cs index 3b17a28f81..9b6d8a7fe1 100644 --- a/osu.Game/Overlays/ToolbarModeSelector.cs +++ b/osu.Game/Overlays/ToolbarModeSelector.cs @@ -6,13 +6,14 @@ using System.Linq; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Transformations; -using osu.Game.GameModes.Play; using OpenTK; using OpenTK.Graphics; using osu.Framework; using osu.Framework.Caching; using osu.Framework.Graphics.Sprites; using osu.Framework.Allocation; +using osu.Game.Modes; +using osu.Game.Screens.Play; namespace osu.Game.Overlays { diff --git a/osu.Game/GameModes/BackgroundMode.cs b/osu.Game/Screens/BackgroundMode.cs similarity index 92% rename from osu.Game/GameModes/BackgroundMode.cs rename to osu.Game/Screens/BackgroundMode.cs index dd485df9d9..cf28abc1ac 100644 --- a/osu.Game/GameModes/BackgroundMode.cs +++ b/osu.Game/Screens/BackgroundMode.cs @@ -2,20 +2,16 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Framework.GameModes; -using osu.Framework.Graphics.Transformations; -using OpenTK; -using osu.Framework.Graphics; -using osu.Framework.Input; -using osu.Framework; using System.Threading; +using osu.Framework; using osu.Framework.Allocation; +using osu.Framework.GameModes; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Transformations; +using osu.Framework.Input; +using OpenTK; -namespace osu.Game.GameModes +namespace osu.Game.Screens { public abstract class BackgroundMode : GameMode, IEquatable { diff --git a/osu.Game/GameModes/Backgrounds/BackgroundModeCustom.cs b/osu.Game/Screens/Backgrounds/BackgroundModeCustom.cs similarity index 91% rename from osu.Game/GameModes/Backgrounds/BackgroundModeCustom.cs rename to osu.Game/Screens/Backgrounds/BackgroundModeCustom.cs index 0afb9c3945..9a2901ed63 100644 --- a/osu.Game/GameModes/Backgrounds/BackgroundModeCustom.cs +++ b/osu.Game/Screens/Backgrounds/BackgroundModeCustom.cs @@ -3,7 +3,7 @@ using osu.Game.Graphics.Background; -namespace osu.Game.GameModes.Backgrounds +namespace osu.Game.Screens.Backgrounds { public class BackgroundModeCustom : BackgroundMode { diff --git a/osu.Game/GameModes/Backgrounds/BackgroundModeDefault.cs b/osu.Game/Screens/Backgrounds/BackgroundModeDefault.cs similarity index 88% rename from osu.Game/GameModes/Backgrounds/BackgroundModeDefault.cs rename to osu.Game/Screens/Backgrounds/BackgroundModeDefault.cs index c7fe2139dc..aec43212f5 100644 --- a/osu.Game/GameModes/Backgrounds/BackgroundModeDefault.cs +++ b/osu.Game/Screens/Backgrounds/BackgroundModeDefault.cs @@ -5,7 +5,7 @@ using osu.Framework; using osu.Framework.Allocation; using osu.Game.Graphics.Background; -namespace osu.Game.GameModes.Backgrounds +namespace osu.Game.Screens.Backgrounds { public class BackgroundModeDefault : BackgroundMode { diff --git a/osu.Game/GameModes/Backgrounds/BackgroundModeEmpty.cs b/osu.Game/Screens/Backgrounds/BackgroundModeEmpty.cs similarity index 81% rename from osu.Game/GameModes/Backgrounds/BackgroundModeEmpty.cs rename to osu.Game/Screens/Backgrounds/BackgroundModeEmpty.cs index 6f38c03010..fafb5324b7 100644 --- a/osu.Game/GameModes/Backgrounds/BackgroundModeEmpty.cs +++ b/osu.Game/Screens/Backgrounds/BackgroundModeEmpty.cs @@ -1,7 +1,7 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.GameModes.Backgrounds +namespace osu.Game.Screens.Backgrounds { public class BackgroundModeEmpty : BackgroundMode { diff --git a/osu.Game/Screens/Charts/ChartInfo.cs b/osu.Game/Screens/Charts/ChartInfo.cs new file mode 100644 index 0000000000..ef928ecf4c --- /dev/null +++ b/osu.Game/Screens/Charts/ChartInfo.cs @@ -0,0 +1,9 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +namespace osu.Game.Screens.Charts +{ + class ChartInfo : GameModeWhiteBox + { + } +} diff --git a/osu.Game/GameModes/Charts/ChartListing.cs b/osu.Game/Screens/Charts/ChartListing.cs similarity index 88% rename from osu.Game/GameModes/Charts/ChartListing.cs rename to osu.Game/Screens/Charts/ChartListing.cs index 7be9d09bcf..b3512907c1 100644 --- a/osu.Game/GameModes/Charts/ChartListing.cs +++ b/osu.Game/Screens/Charts/ChartListing.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; -namespace osu.Game.GameModes.Charts +namespace osu.Game.Screens.Charts { class ChartListing : GameModeWhiteBox { diff --git a/osu.Game/GameModes/Direct/OnlineListing.cs b/osu.Game/Screens/Direct/OnlineListing.cs similarity index 82% rename from osu.Game/GameModes/Direct/OnlineListing.cs rename to osu.Game/Screens/Direct/OnlineListing.cs index c30017cb77..d4b6db51a4 100644 --- a/osu.Game/GameModes/Direct/OnlineListing.cs +++ b/osu.Game/Screens/Direct/OnlineListing.cs @@ -1,7 +1,7 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -namespace osu.Game.GameModes.Direct +namespace osu.Game.Screens.Direct { class OnlineListing : GameModeWhiteBox { diff --git a/osu.Game/GameModes/Edit/EditSongSelect.cs b/osu.Game/Screens/Edit/EditSongSelect.cs similarity index 84% rename from osu.Game/GameModes/Edit/EditSongSelect.cs rename to osu.Game/Screens/Edit/EditSongSelect.cs index c4686b03ac..323a92f3b5 100644 --- a/osu.Game/GameModes/Edit/EditSongSelect.cs +++ b/osu.Game/Screens/Edit/EditSongSelect.cs @@ -3,9 +3,9 @@ using System; using System.Collections.Generic; -using osu.Game.GameModes.Backgrounds; +using osu.Game.Screens.Backgrounds; -namespace osu.Game.GameModes.Edit +namespace osu.Game.Screens.Edit { class EditSongSelect : GameModeWhiteBox { diff --git a/osu.Game/GameModes/Edit/Editor.cs b/osu.Game/Screens/Edit/Editor.cs similarity index 77% rename from osu.Game/GameModes/Edit/Editor.cs rename to osu.Game/Screens/Edit/Editor.cs index 495e2eef8e..058f1623fa 100644 --- a/osu.Game/GameModes/Edit/Editor.cs +++ b/osu.Game/Screens/Edit/Editor.cs @@ -1,16 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using osu.Framework.GameModes; -using osu.Game.GameModes.Backgrounds; +using osu.Game.Screens.Backgrounds; using OpenTK.Graphics; -namespace osu.Game.GameModes.Edit +namespace osu.Game.Screens.Edit { class Editor : GameModeWhiteBox { diff --git a/osu.Game/GameModes/GameModeWhiteBox.cs b/osu.Game/Screens/GameModeWhiteBox.cs similarity index 95% rename from osu.Game/GameModes/GameModeWhiteBox.cs rename to osu.Game/Screens/GameModeWhiteBox.cs index 60630c5a9b..ac6cc5ece3 100644 --- a/osu.Game/GameModes/GameModeWhiteBox.cs +++ b/osu.Game/Screens/GameModeWhiteBox.cs @@ -9,13 +9,11 @@ using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Transformations; using osu.Framework.Graphics.UserInterface; -using osu.Game.GameModes.Backgrounds; +using osu.Game.Screens.Backgrounds; using OpenTK; using OpenTK.Graphics; -using osu.Framework; -using osu.Framework.Allocation; -namespace osu.Game.GameModes +namespace osu.Game.Screens { public class GameModeWhiteBox : OsuGameMode { diff --git a/osu.Game/GameModes/Menu/Button.cs b/osu.Game/Screens/Menu/Button.cs similarity index 95% rename from osu.Game/GameModes/Menu/Button.cs rename to osu.Game/Screens/Menu/Button.cs index 8509766132..fa5dbb3b99 100644 --- a/osu.Game/GameModes/Menu/Button.cs +++ b/osu.Game/Screens/Menu/Button.cs @@ -1,18 +1,16 @@ -using OpenTK; -using OpenTK.Graphics; -using OpenTK.Input; +using System; using osu.Framework; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; -using osu.Framework.Graphics.Primitives; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Transformations; using osu.Framework.Input; using osu.Game.Graphics; -using System; -using osu.Framework.Allocation; +using OpenTK; +using OpenTK.Graphics; +using OpenTK.Input; -namespace osu.Game.GameModes.Menu +namespace osu.Game.Screens.Menu { /// /// Button designed specifically for the osu!next main menu. diff --git a/osu.Game/GameModes/Menu/ButtonSystem.cs b/osu.Game/Screens/Menu/ButtonSystem.cs similarity index 96% rename from osu.Game/GameModes/Menu/ButtonSystem.cs rename to osu.Game/Screens/Menu/ButtonSystem.cs index c9973c56ce..f5cf111269 100644 --- a/osu.Game/GameModes/Menu/ButtonSystem.cs +++ b/osu.Game/Screens/Menu/ButtonSystem.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; +using osu.Framework; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; @@ -13,10 +14,8 @@ using osu.Game.Graphics; using OpenTK; using OpenTK.Graphics; using OpenTK.Input; -using osu.Framework; -using osu.Framework.Allocation; -namespace osu.Game.GameModes.Menu +namespace osu.Game.Screens.Menu { public partial class ButtonSystem : Container, IStateful { diff --git a/osu.Game/GameModes/Menu/FlowContainerWithOrigin.cs b/osu.Game/Screens/Menu/FlowContainerWithOrigin.cs similarity index 87% rename from osu.Game/GameModes/Menu/FlowContainerWithOrigin.cs rename to osu.Game/Screens/Menu/FlowContainerWithOrigin.cs index d59c291d14..fc72365812 100644 --- a/osu.Game/GameModes/Menu/FlowContainerWithOrigin.cs +++ b/osu.Game/Screens/Menu/FlowContainerWithOrigin.cs @@ -1,8 +1,8 @@ -using OpenTK; -using osu.Framework.Graphics; +using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; +using OpenTK; -namespace osu.Game.GameModes.Menu +namespace osu.Game.Screens.Menu { /// /// A flow container with an origin based on one of its contained drawables. diff --git a/osu.Game/GameModes/Menu/Intro.cs b/osu.Game/Screens/Menu/Intro.cs similarity index 92% rename from osu.Game/GameModes/Menu/Intro.cs rename to osu.Game/Screens/Menu/Intro.cs index 92d64f838b..4875c8b7eb 100644 --- a/osu.Game/GameModes/Menu/Intro.cs +++ b/osu.Game/Screens/Menu/Intro.cs @@ -1,19 +1,17 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System.Threading; +using osu.Framework.Allocation; +using osu.Framework.Audio; using osu.Framework.Audio.Sample; using osu.Framework.Audio.Track; using osu.Framework.GameModes; using osu.Framework.Graphics; using osu.Framework.Graphics.Transformations; -using osu.Game.GameModes.Backgrounds; +using osu.Game.Screens.Backgrounds; using OpenTK.Graphics; -using osu.Framework; -using osu.Framework.Allocation; -using osu.Framework.Audio; -namespace osu.Game.GameModes.Menu +namespace osu.Game.Screens.Menu { class Intro : OsuGameMode { diff --git a/osu.Game/GameModes/Menu/MainMenu.cs b/osu.Game/Screens/Menu/MainMenu.cs similarity index 85% rename from osu.Game/GameModes/Menu/MainMenu.cs rename to osu.Game/Screens/Menu/MainMenu.cs index ed29d5e3db..8ab8596cd6 100644 --- a/osu.Game/GameModes/Menu/MainMenu.cs +++ b/osu.Game/Screens/Menu/MainMenu.cs @@ -1,26 +1,22 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System.Linq; +using osu.Framework.Allocation; using osu.Framework.GameModes; using osu.Framework.GameModes.Testing; using osu.Framework.Graphics; using osu.Framework.Graphics.Transformations; -using osu.Game.GameModes.Backgrounds; -using osu.Game.GameModes.Charts; -using osu.Game.GameModes.Direct; -using osu.Game.GameModes.Edit; -using osu.Game.GameModes.Multiplayer; -using osu.Game.GameModes.Play; using osu.Game.Graphics.Containers; +using osu.Game.Modes; +using osu.Game.Screens.Backgrounds; +using osu.Game.Screens.Charts; +using osu.Game.Screens.Direct; +using osu.Game.Screens.Edit; +using osu.Game.Screens.Multiplayer; +using osu.Game.Screens.Play; using OpenTK; -using osu.Framework; -using osu.Game.Overlays; -using System.Threading.Tasks; -using osu.Game.Configuration; -using osu.Framework.Allocation; -namespace osu.Game.GameModes.Menu +namespace osu.Game.Screens.Menu { public class MainMenu : OsuGameMode { diff --git a/osu.Game/Screens/Menu/MenuVisualisation.cs b/osu.Game/Screens/Menu/MenuVisualisation.cs new file mode 100644 index 0000000000..194b0eee02 --- /dev/null +++ b/osu.Game/Screens/Menu/MenuVisualisation.cs @@ -0,0 +1,8 @@ +using osu.Framework.Graphics; + +namespace osu.Game.Screens.Menu +{ + internal class MenuVisualisation : Drawable + { + } +} diff --git a/osu.Game/GameModes/Menu/OsuLogo.cs b/osu.Game/Screens/Menu/OsuLogo.cs similarity index 95% rename from osu.Game/GameModes/Menu/OsuLogo.cs rename to osu.Game/Screens/Menu/OsuLogo.cs index 0663b79161..6047339b25 100644 --- a/osu.Game/GameModes/Menu/OsuLogo.cs +++ b/osu.Game/Screens/Menu/OsuLogo.cs @@ -2,17 +2,16 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; +using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.Textures; using osu.Framework.Graphics.Transformations; using osu.Framework.Input; -using osu.Framework; using OpenTK; -using osu.Framework.Allocation; -using osu.Framework.Graphics.Textures; -namespace osu.Game.GameModes.Menu +namespace osu.Game.Screens.Menu { /// /// osu! logo and its attachments (pulsing, visualiser etc.) diff --git a/osu.Game/GameModes/Multiplayer/Lobby.cs b/osu.Game/Screens/Multiplayer/Lobby.cs similarity index 75% rename from osu.Game/GameModes/Multiplayer/Lobby.cs rename to osu.Game/Screens/Multiplayer/Lobby.cs index 6700736234..565e671150 100644 --- a/osu.Game/GameModes/Multiplayer/Lobby.cs +++ b/osu.Game/Screens/Multiplayer/Lobby.cs @@ -3,11 +3,8 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace osu.Game.GameModes.Multiplayer +namespace osu.Game.Screens.Multiplayer { class Lobby : GameModeWhiteBox { diff --git a/osu.Game/GameModes/Multiplayer/Match.cs b/osu.Game/Screens/Multiplayer/Match.cs similarity index 81% rename from osu.Game/GameModes/Multiplayer/Match.cs rename to osu.Game/Screens/Multiplayer/Match.cs index d5dfdffdb3..11d9ef4b8e 100644 --- a/osu.Game/GameModes/Multiplayer/Match.cs +++ b/osu.Game/Screens/Multiplayer/Match.cs @@ -3,15 +3,12 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using osu.Framework.GameModes; -using osu.Game.GameModes.Backgrounds; -using osu.Game.GameModes.Play; +using osu.Game.Screens.Backgrounds; +using osu.Game.Screens.Play; using OpenTK.Graphics; -namespace osu.Game.GameModes.Multiplayer +namespace osu.Game.Screens.Multiplayer { class Match : GameModeWhiteBox { diff --git a/osu.Game/GameModes/Multiplayer/MatchCreate.cs b/osu.Game/Screens/Multiplayer/MatchCreate.cs similarity index 74% rename from osu.Game/GameModes/Multiplayer/MatchCreate.cs rename to osu.Game/Screens/Multiplayer/MatchCreate.cs index 8d134d170e..c6c070661c 100644 --- a/osu.Game/GameModes/Multiplayer/MatchCreate.cs +++ b/osu.Game/Screens/Multiplayer/MatchCreate.cs @@ -3,11 +3,8 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace osu.Game.GameModes.Multiplayer +namespace osu.Game.Screens.Multiplayer { class MatchCreate : GameModeWhiteBox { diff --git a/osu.Game/GameModes/Multiplayer/MatchSongSelect.cs b/osu.Game/Screens/Multiplayer/MatchSongSelect.cs similarity index 54% rename from osu.Game/GameModes/Multiplayer/MatchSongSelect.cs rename to osu.Game/Screens/Multiplayer/MatchSongSelect.cs index da86641c04..442dea9f30 100644 --- a/osu.Game/GameModes/Multiplayer/MatchSongSelect.cs +++ b/osu.Game/Screens/Multiplayer/MatchSongSelect.cs @@ -1,16 +1,9 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Framework.GameModes; -using osu.Game.GameModes.Backgrounds; -using OpenTK.Graphics; +using osu.Game.Screens.Backgrounds; -namespace osu.Game.GameModes.Multiplayer +namespace osu.Game.Screens.Multiplayer { class MatchSongSelect : GameModeWhiteBox { diff --git a/osu.Game/GameModes/OsuGameMode.cs b/osu.Game/Screens/OsuGameMode.cs similarity index 90% rename from osu.Game/GameModes/OsuGameMode.cs rename to osu.Game/Screens/OsuGameMode.cs index 0c44a6488a..b919e257d4 100644 --- a/osu.Game/GameModes/OsuGameMode.cs +++ b/osu.Game/Screens/OsuGameMode.cs @@ -2,21 +2,13 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using osu.Framework; using osu.Framework.Allocation; using osu.Framework.Configuration; using osu.Framework.GameModes; -using osu.Framework.Graphics.Containers; using osu.Game.Beatmaps; -using osu.Game.Graphics.Background; using osu.Game.Graphics.Containers; -namespace osu.Game.GameModes +namespace osu.Game.Screens { public abstract class OsuGameMode : GameMode { diff --git a/osu.Game/GameModes/Play/ModSelect.cs b/osu.Game/Screens/Play/ModSelect.cs similarity index 77% rename from osu.Game/GameModes/Play/ModSelect.cs rename to osu.Game/Screens/Play/ModSelect.cs index 33cb00ce35..cead514e11 100644 --- a/osu.Game/GameModes/Play/ModSelect.cs +++ b/osu.Game/Screens/Play/ModSelect.cs @@ -1,16 +1,11 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using OpenTK.Graphics; using osu.Framework.GameModes; -using osu.Game.GameModes.Backgrounds; +using osu.Game.Screens.Backgrounds; +using OpenTK.Graphics; -namespace osu.Game.GameModes.Play +namespace osu.Game.Screens.Play { class ModSelect : GameModeWhiteBox { diff --git a/osu.Game/GameModes/Play/PlaySongSelect.cs b/osu.Game/Screens/Play/PlaySongSelect.cs similarity index 95% rename from osu.Game/GameModes/Play/PlaySongSelect.cs rename to osu.Game/Screens/Play/PlaySongSelect.cs index d083808e5d..4c4c188e04 100644 --- a/osu.Game/GameModes/Play/PlaySongSelect.cs +++ b/osu.Game/Screens/Play/PlaySongSelect.cs @@ -2,29 +2,27 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; -using System.Diagnostics; -using osu.Framework.Configuration; -using osu.Framework.Graphics; -using osu.Framework.Graphics.Containers; -using osu.Framework.Graphics.Sprites; -using osu.Game.GameModes.Backgrounds; -using osu.Framework; -using osu.Game.Database; -using osu.Framework.Graphics.Primitives; using System.Linq; -using OpenTK; -using OpenTK.Graphics; -using osu.Framework.Graphics.UserInterface; using System.Threading.Tasks; -using osu.Framework.Audio.Track; -using osu.Game.Beatmaps.Drawable; -using osu.Framework.Extensions.IEnumerableExtensions; -using osu.Game.Beatmaps; -using osu.Framework.GameModes; using osu.Framework.Allocation; using osu.Framework.Audio; +using osu.Framework.Audio.Track; +using osu.Framework.Configuration; +using osu.Framework.GameModes; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers; +using osu.Framework.Graphics.Primitives; +using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.UserInterface; +using osu.Game.Beatmaps; +using osu.Game.Beatmaps.Drawable; +using osu.Game.Database; +using osu.Game.Modes; +using osu.Game.Screens.Backgrounds; +using OpenTK; +using OpenTK.Graphics; -namespace osu.Game.GameModes.Play +namespace osu.Game.Screens.Play { public class PlaySongSelect : OsuGameMode { diff --git a/osu.Game/GameModes/Play/Player.cs b/osu.Game/Screens/Play/Player.cs similarity index 89% rename from osu.Game/GameModes/Play/Player.cs rename to osu.Game/Screens/Play/Player.cs index a511921c4e..8bc1a3d151 100644 --- a/osu.Game/GameModes/Play/Player.cs +++ b/osu.Game/Screens/Play/Player.cs @@ -1,28 +1,24 @@ //Copyright (c) 2007-2016 ppy Pty Ltd . //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE -using osu.Framework.Graphics; -using osu.Game.Beatmaps.Objects; -using osu.Game.GameModes.Backgrounds; -using osu.Game.GameModes.Play.Catch; -using osu.Game.GameModes.Play.Mania; -using osu.Game.GameModes.Play.Osu; -using osu.Game.GameModes.Play.Taiko; -using osu.Framework; -using osu.Game.Database; -using osu.Framework.Timing; -using osu.Framework.Audio.Track; -using osu.Framework.Extensions.IEnumerableExtensions; using osu.Framework.Allocation; using osu.Framework.Audio; -using osu.Framework.Graphics.Cursor; +using osu.Framework.Audio.Track; +using osu.Framework.Extensions.IEnumerableExtensions; +using osu.Framework.Graphics; using osu.Framework.Input; using osu.Framework.Platform; +using osu.Framework.Timing; +using osu.Game.Database; +using osu.Game.Modes; +using osu.Game.Modes.Objects; +using osu.Game.Modes.Objects.Drawables; +using osu.Game.Modes.UI; +using osu.Game.Screens.Backgrounds; using OpenTK.Input; using MouseState = osu.Framework.Input.MouseState; -using osu.Framework.Graphics.Primitives; -namespace osu.Game.GameModes.Play +namespace osu.Game.Screens.Play { public class Player : OsuGameMode { diff --git a/osu.Game/GameModes/Ranking/Results.cs b/osu.Game/Screens/Ranking/Results.cs similarity index 88% rename from osu.Game/GameModes/Ranking/Results.cs rename to osu.Game/Screens/Ranking/Results.cs index 5c941e85a8..b1d55ab54a 100644 --- a/osu.Game/GameModes/Ranking/Results.cs +++ b/osu.Game/Screens/Ranking/Results.cs @@ -2,10 +2,10 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using osu.Framework.GameModes; -using osu.Game.GameModes.Backgrounds; +using osu.Game.Screens.Backgrounds; using OpenTK.Graphics; -namespace osu.Game.GameModes.Ranking +namespace osu.Game.Screens.Ranking { class Results : GameModeWhiteBox { diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index 09e19ef4e5..88f78b57be 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -63,6 +63,7 @@ + @@ -71,28 +72,9 @@ - - - - - - - - - - - - - - - - - - - - - - + + + @@ -102,56 +84,42 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - @@ -159,15 +127,12 @@ - - - diff --git a/osu.sln b/osu.sln index 3d79d4444f..9677a752fb 100644 --- a/osu.sln +++ b/osu.sln @@ -21,6 +21,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Desktop.VisualTests", " EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Tests", "osu.Game.Tests\osu.Game.Tests.csproj", "{54377672-20B1-40AF-8087-5CF73BF3953A}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Modes.Osu", "osu.Game.Mode.Osu\osu.Game.Modes.Osu.csproj", "{C92A607B-1FDD-4954-9F92-03FF547D9080}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Modes.Catch", "osu.Game.Modes.Catch\osu.Game.Modes.Catch.csproj", "{58F6C80C-1253-4A0E-A465-B8C85EBEADF3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Modes.Taiko", "osu.Game.Modes.Taiko\osu.Game.Modes.Taiko.csproj", "{F167E17A-7DE6-4AF5-B920-A5112296C695}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Game.Modes.Mania", "osu.Game.Modes.Mania\osu.Game.Modes.Mania.csproj", "{48F4582B-7687-4621-9CBE-5C24197CB536}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -55,6 +63,22 @@ Global {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 + {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 + {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 + {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 + {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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -67,6 +91,10 @@ Global {65DC628F-A640-4111-AB35-3A5652BC1E17} = {7A75DFA2-DE65-4458-98AF-26AF96FFD6DC} {69051C69-12AE-4E7D-A3E6-460D2E282312} = {0D37A2AD-80A4-464F-A1DE-1560B70F1CE3} {54377672-20B1-40AF-8087-5CF73BF3953A} = {0D37A2AD-80A4-464F-A1DE-1560B70F1CE3} + {C92A607B-1FDD-4954-9F92-03FF547D9080} = {0D37A2AD-80A4-464F-A1DE-1560B70F1CE3} + {58F6C80C-1253-4A0E-A465-B8C85EBEADF3} = {0D37A2AD-80A4-464F-A1DE-1560B70F1CE3} + {F167E17A-7DE6-4AF5-B920-A5112296C695} = {0D37A2AD-80A4-464F-A1DE-1560B70F1CE3} + {48F4582B-7687-4621-9CBE-5C24197CB536} = {0D37A2AD-80A4-464F-A1DE-1560B70F1CE3} EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution Policies = $0