diff --git a/osu.Desktop/OpenTK.dll.config b/osu.Desktop/OpenTK.dll.config
new file mode 100644
index 0000000000..5620e3d9e2
--- /dev/null
+++ b/osu.Desktop/OpenTK.dll.config
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/osu.Game/OsuGameDesktop.cs b/osu.Desktop/OsuGameDesktop.cs
similarity index 95%
rename from osu.Game/OsuGameDesktop.cs
rename to osu.Desktop/OsuGameDesktop.cs
index 47e64a0d5b..f4fb10a496 100644
--- a/osu.Game/OsuGameDesktop.cs
+++ b/osu.Desktop/OsuGameDesktop.cs
@@ -9,12 +9,13 @@ using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Win32;
+using osu.Desktop.Overlays;
using osu.Framework.Graphics.Containers;
using osu.Framework.Platform;
-using osu.Game.Overlays;
+using osu.Game;
using osu.Game.Screens.Menu;
-namespace osu.Game
+namespace osu.Desktop
{
internal class OsuGameDesktop : OsuGame
{
diff --git a/osu.Game/OsuTestBrowser.cs b/osu.Desktop/OsuTestBrowser.cs
similarity index 92%
rename from osu.Game/OsuTestBrowser.cs
rename to osu.Desktop/OsuTestBrowser.cs
index b0864e441f..23617de1c0 100644
--- a/osu.Game/OsuTestBrowser.cs
+++ b/osu.Desktop/OsuTestBrowser.cs
@@ -3,9 +3,10 @@
using osu.Framework.Platform;
using osu.Framework.Testing;
+using osu.Game;
using osu.Game.Screens.Backgrounds;
-namespace osu.Game
+namespace osu.Desktop
{
internal class OsuTestBrowser : OsuGameBase
{
diff --git a/osu.Game/Overlays/VersionManager.cs b/osu.Desktop/Overlays/VersionManager.cs
similarity index 96%
rename from osu.Game/Overlays/VersionManager.cs
rename to osu.Desktop/Overlays/VersionManager.cs
index 7b0b3520cb..e7c3370354 100644
--- a/osu.Game/Overlays/VersionManager.cs
+++ b/osu.Desktop/Overlays/VersionManager.cs
@@ -13,15 +13,17 @@ using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Textures;
using osu.Framework.Logging;
+using osu.Game;
using osu.Game.Configuration;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
+using osu.Game.Overlays;
using osu.Game.Overlays.Notifications;
using OpenTK;
using OpenTK.Graphics;
using Squirrel;
-namespace osu.Game.Overlays
+namespace osu.Desktop.Overlays
{
public class VersionManager : OverlayContainer
{
diff --git a/osu.Game/Program.cs b/osu.Desktop/Program.cs
similarity index 95%
rename from osu.Game/Program.cs
rename to osu.Desktop/Program.cs
index 8044e9fa87..720b38144c 100644
--- a/osu.Game/Program.cs
+++ b/osu.Desktop/Program.cs
@@ -8,7 +8,7 @@ using osu.Framework;
using osu.Framework.Platform;
using osu.Game.IPC;
-namespace osu.Game
+namespace osu.Desktop
{
public static class Program
{
diff --git a/osu.Desktop/Properties/AssemblyInfo.cs b/osu.Desktop/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..fe7ad20124
--- /dev/null
+++ b/osu.Desktop/Properties/AssemblyInfo.cs
@@ -0,0 +1,28 @@
+// Copyright (c) 2007-2017 ppy Pty Ltd .
+// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
+
+using System.Reflection;
+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!lazer")]
+[assembly: AssemblyDescription("click the circles. to the beat.")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("ppy Pty Ltd")]
+[assembly: AssemblyProduct("osu!lazer")]
+[assembly: AssemblyCopyright("ppy Pty Ltd 2007-2017")]
+[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("55e28cb2-7b6c-4595-8dcc-9871d8aad7e9")]
+
+[assembly: AssemblyVersion("0.0.0")]
+[assembly: AssemblyFileVersion("0.0.0")]
diff --git a/osu.Desktop/Properties/app.manifest b/osu.Desktop/Properties/app.manifest
new file mode 100644
index 0000000000..555db8513d
--- /dev/null
+++ b/osu.Desktop/Properties/app.manifest
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
diff --git a/osu.Desktop/app.config b/osu.Desktop/app.config
new file mode 100644
index 0000000000..824430b24a
--- /dev/null
+++ b/osu.Desktop/app.config
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/osu.Game/lazer.ico b/osu.Desktop/lazer.ico
similarity index 100%
rename from osu.Game/lazer.ico
rename to osu.Desktop/lazer.ico
diff --git a/osu.Desktop/osu!.res b/osu.Desktop/osu!.res
new file mode 100644
index 0000000000..7c70e30401
Binary files /dev/null and b/osu.Desktop/osu!.res differ
diff --git a/osu.Desktop/osu.Desktop.csproj b/osu.Desktop/osu.Desktop.csproj
new file mode 100644
index 0000000000..fad297fa0a
--- /dev/null
+++ b/osu.Desktop/osu.Desktop.csproj
@@ -0,0 +1,260 @@
+
+
+
+ {419659FD-72EA-4678-9EB8-B22A746CED70}
+ Debug
+ AnyCPU
+ WinExe
+ Properties
+ osu.Desktop
+ osu!
+ 3CF060CD28877D0E3112948951A64B2A7CEEC909
+ codesigning.pfx
+ false
+ false
+ false
+
+
+ 3.5
+
+
+ osu.Desktop.Program
+ OnOutputUpdated
+ false
+ LocalIntranet
+ v4.6.1
+ true
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 2
+ 1.0.0.%2a
+ false
+ true
+ 12.0.0
+ 2.0
+
+
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG
+ prompt
+ 0
+ true
+ false
+ AnyCPU
+ true
+ AllRules.ruleset
+ false
+ false
+ false
+
+
+ 6
+
+
+ none
+ true
+ bin\Release\
+ CuttingEdge NoUpdate
+ prompt
+ 4
+ true
+ false
+ AnyCPU
+ true
+ AllRules.ruleset
+ false
+ false
+
+
+
+
+
+
+ lazer.ico
+
+
+ Properties\app.manifest
+
+
+ true
+ bin\Debug\
+ DEBUG
+ true
+ 0
+ true
+ full
+ AnyCPU
+ false
+ 6
+ prompt
+ AllRules.ruleset
+ --tests
+
+
+
+ $(SolutionDir)\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.dll
+ True
+
+
+ $(SolutionDir)\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.MsDelta.dll
+ True
+
+
+ $(SolutionDir)\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.PatchApi.dll
+ True
+
+
+ $(SolutionDir)\packages\Mono.Cecil.0.9.6.4\lib\net45\Mono.Cecil.dll
+ True
+
+
+ $(SolutionDir)\packages\Mono.Cecil.0.9.6.4\lib\net45\Mono.Cecil.Mdb.dll
+ True
+
+
+ $(SolutionDir)\packages\Mono.Cecil.0.9.6.4\lib\net45\Mono.Cecil.Pdb.dll
+ True
+
+
+ $(SolutionDir)\packages\Mono.Cecil.0.9.6.4\lib\net45\Mono.Cecil.Rocks.dll
+ True
+
+
+
+ ..\packages\squirrel.windows.1.7.8\lib\Net45\NuGet.Squirrel.dll
+ True
+
+
+ ..\packages\OpenTK.3.0.0-git00009\lib\net20\OpenTK.dll
+ True
+
+
+ ..\packages\SharpCompress.0.18.1\lib\net45\SharpCompress.dll
+ True
+
+
+ $(SolutionDir)\packages\Splat.2.0.0\lib\Net45\Splat.dll
+ True
+
+
+ ..\packages\squirrel.windows.1.7.8\lib\Net45\Squirrel.dll
+ True
+
+
+
+
+
+
+
+
+ osu.licenseheader
+
+
+
+
+
+
+
+
+
+ False
+ .NET Framework 3.5 SP1 Client Profile
+ false
+
+
+ False
+ .NET Framework 2.0 %28x86%29
+ true
+
+
+ False
+ .NET Framework 3.0 %28x86%29
+ false
+
+
+ False
+ .NET Framework 3.5
+ false
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {c76bf5b3-985e-4d39-95fe-97c9c879b83a}
+ osu.Framework
+
+
+ {d9a367c9-4c1a-489f-9b05-a0cea2b53b58}
+ osu.Game.Resources
+
+
+ {58f6c80c-1253-4a0e-a465-b8c85ebeadf3}
+ osu.Game.Rulesets.Catch
+
+
+ {48f4582b-7687-4621-9cbe-5c24197cb536}
+ osu.Game.Rulesets.Mania
+
+
+ {c92a607b-1fdd-4954-9f92-03ff547d9080}
+ osu.Game.Rulesets.Osu
+
+
+ {f167e17a-7de6-4af5-b920-a5112296c695}
+ osu.Game.Rulesets.Taiko
+
+
+ {2a66dd92-adb1-4994-89e2-c94e04acda0d}
+ osu.Game
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/osu.Desktop/osu.nuspec b/osu.Desktop/osu.nuspec
new file mode 100644
index 0000000000..4c529f57e5
--- /dev/null
+++ b/osu.Desktop/osu.nuspec
@@ -0,0 +1,26 @@
+
+
+
+ osulazer
+ 0.0.0
+ osulazer
+ ppy Pty Ltd
+ Dean Herbert
+ https://osu.ppy.sh/
+ https://puu.sh/tYyXZ/9a01a5d1b0.ico
+ false
+ click the circles. to the beat.
+ click the circles.
+ testing
+ Copyright ppy Pty Ltd 2007-2017
+ en-AU
+
+
+
+
+
+
+
+
+
+
diff --git a/osu.Desktop/packages.config b/osu.Desktop/packages.config
new file mode 100644
index 0000000000..0ec2cc196d
--- /dev/null
+++ b/osu.Desktop/packages.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj b/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj
index ba2c7a5f2e..83b16997a7 100644
--- a/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj
+++ b/osu.Game.Rulesets.Catch/osu.Game.Rulesets.Catch.csproj
@@ -16,7 +16,7 @@
true
full
false
- ..\osu.Game\bin\Debug\
+ bin\Debug\
DEBUG;TRACE
prompt
4
@@ -26,7 +26,7 @@
pdbonly
true
- ..\osu.Game\bin\Release\
+ bin\Release\
TRACE
prompt
4
diff --git a/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj b/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj
index 967f23bfd3..bacb4185b2 100644
--- a/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj
+++ b/osu.Game.Rulesets.Mania/osu.Game.Rulesets.Mania.csproj
@@ -16,7 +16,7 @@
true
full
false
- ..\osu.Game\bin\Debug\
+ bin\Debug\
DEBUG;TRACE
prompt
4
@@ -26,7 +26,7 @@
pdbonly
true
- ..\osu.Game\bin\Release\
+ bin\Release\
TRACE
prompt
4
diff --git a/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj b/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj
index 6bad45b8ca..f812132dc0 100644
--- a/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj
+++ b/osu.Game.Rulesets.Osu/osu.Game.Rulesets.Osu.csproj
@@ -17,7 +17,7 @@
true
full
false
- ..\osu.Game\bin\Debug\
+ bin\Debug\
DEBUG;TRACE
prompt
4
@@ -27,7 +27,7 @@
pdbonly
true
- ..\osu.Game\bin\Release\
+ bin\Release\
TRACE
prompt
4
diff --git a/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj b/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj
index 2c49be287b..d38b24f933 100644
--- a/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj
+++ b/osu.Game.Rulesets.Taiko/osu.Game.Rulesets.Taiko.csproj
@@ -16,7 +16,7 @@
true
full
false
- ..\osu.Game\bin\Debug\
+ bin\Debug\
DEBUG;TRACE
prompt
4
@@ -26,7 +26,7 @@
pdbonly
true
- ..\osu.Game\bin\Release\
+ bin\Release\
TRACE
prompt
4
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index ebedf32da0..a84970b4ee 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -4,10 +4,10 @@
{2A66DD92-ADB1-4994-89E2-C94E04ACDA0D}
Debug
AnyCPU
- WinExe
+ Library
Properties
osu.Game
- osu!
+ osu.Game
3CF060CD28877D0E3112948951A64B2A7CEEC909
codesigning.pfx
false
@@ -18,7 +18,6 @@
3.5
- osu.Game.Program
OnOutputUpdated
false
LocalIntranet
@@ -83,9 +82,6 @@
-
- lazer.ico
-
Properties\app.manifest
@@ -105,47 +101,15 @@
false
-
- $(SolutionDir)\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.dll
- True
-
-
- $(SolutionDir)\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.MsDelta.dll
- True
-
-
- $(SolutionDir)\packages\DeltaCompressionDotNet.1.1.0\lib\net20\DeltaCompressionDotNet.PatchApi.dll
- True
-
$(SolutionDir)\packages\DotNetZip.1.10.1\lib\net20\DotNetZip.dll
True
-
- $(SolutionDir)\packages\Mono.Cecil.0.9.6.4\lib\net45\Mono.Cecil.dll
- True
-
-
- $(SolutionDir)\packages\Mono.Cecil.0.9.6.4\lib\net45\Mono.Cecil.Mdb.dll
- True
-
-
- $(SolutionDir)\packages\Mono.Cecil.0.9.6.4\lib\net45\Mono.Cecil.Pdb.dll
- True
-
-
- $(SolutionDir)\packages\Mono.Cecil.0.9.6.4\lib\net45\Mono.Cecil.Rocks.dll
- True
-
$(SolutionDir)\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll
True
-
- $(SolutionDir)\packages\squirrel.windows.1.7.8\lib\Net45\NuGet.Squirrel.dll
- True
-
$(SolutionDir)\packages\NUnit.3.8.1\lib\net45\nunit.framework.dll
True
@@ -158,10 +122,6 @@
$(SolutionDir)\packages\SharpCompress.0.18.1\lib\net45\SharpCompress.dll
True
-
- $(SolutionDir)\packages\Splat.2.0.0\lib\Net45\Splat.dll
- True
-
$(SolutionDir)\packages\SQLite.Net.Core-PCL.3.1.1\lib\portable-win8+net45+wp8+wpa81+MonoAndroid1+MonoTouch1\SQLite.Net.dll
True
@@ -178,14 +138,7 @@
$(SolutionDir)\packages\SQLiteNetExtensions.1.3.0\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1\SQLiteNetExtensions.dll
True
-
- $(SolutionDir)\packages\squirrel.windows.1.7.8\lib\Net45\Squirrel.dll
- True
-
-
-
-
@@ -389,8 +342,6 @@
-
-
@@ -518,9 +469,7 @@
-
-
@@ -821,9 +770,6 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/osu.sln b/osu.sln
index 2b1a0aa0e5..b1341051f9 100644
--- a/osu.sln
+++ b/osu.sln
@@ -21,6 +21,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu.Desktop.Deploy", "osu.D
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.Desktop", "osu.Desktop\osu.Desktop.csproj", "{419659FD-72EA-4678-9EB8-B22A746CED70}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -79,6 +81,12 @@ Global
{54377672-20B1-40AF-8087-5CF73BF3953A}.Release|Any CPU.Build.0 = Release|Any CPU
{54377672-20B1-40AF-8087-5CF73BF3953A}.VisualTests|Any CPU.ActiveCfg = Release|Any CPU
{54377672-20B1-40AF-8087-5CF73BF3953A}.VisualTests|Any CPU.Build.0 = Release|Any CPU
+ {419659FD-72EA-4678-9EB8-B22A746CED70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {419659FD-72EA-4678-9EB8-B22A746CED70}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {419659FD-72EA-4678-9EB8-B22A746CED70}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {419659FD-72EA-4678-9EB8-B22A746CED70}.Release|Any CPU.Build.0 = Release|Any CPU
+ {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.ActiveCfg = Debug|Any CPU
+ {419659FD-72EA-4678-9EB8-B22A746CED70}.VisualTests|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/osu.sln.DotSettings b/osu.sln.DotSettings
index 4011e3991f..c236ce82b0 100644
--- a/osu.sln.DotSettings
+++ b/osu.sln.DotSettings
@@ -645,6 +645,7 @@ Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu-frame
<Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
<Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
+ True
True
True
True