diff --git a/.vscode/launch.json b/.vscode/launch.json
index d17dc33669..506915f462 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -7,7 +7,7 @@
},
"type": "mono",
"request": "launch",
- "program": "${workspaceRoot}/osu.Game/bin/Debug/osu!.exe",
+ "program": "${workspaceRoot}/osu.Desktop/bin/Debug/osu!.exe",
"args": [
"--tests"
],
@@ -24,7 +24,7 @@
},
"type": "mono",
"request": "launch",
- "program": "${workspaceRoot}/osu.Game/bin/Release/osu!.exe",
+ "program": "${workspaceRoot}/osu.Desktop/bin/Release/osu!.exe",
"args": [
"--tests"
],
@@ -41,7 +41,7 @@
},
"type": "mono",
"request": "launch",
- "program": "${workspaceRoot}/osu.Game/bin/Debug/osu!.exe",
+ "program": "${workspaceRoot}/osu.Desktop/bin/Debug/osu!.exe",
"cwd": "${workspaceRoot}",
"preLaunchTask": "Build (Debug)",
"runtimeExecutable": null,
@@ -55,7 +55,7 @@
},
"type": "mono",
"request": "launch",
- "program": "${workspaceRoot}/osu.Game/bin/Release/osu!.exe",
+ "program": "${workspaceRoot}/osu.Desktop/bin/Release/osu!.exe",
"cwd": "${workspaceRoot}",
"preLaunchTask": "Build (Release)",
"runtimeExecutable": null,
diff --git a/osu-framework b/osu-framework
index 3760443ea9..b1f36efca5 160000
--- a/osu-framework
+++ b/osu-framework
@@ -1 +1 @@
-Subproject commit 3760443ea9bf682a1bbf6cfa6aa00ea9541c12aa
+Subproject commit b1f36efca59840da65df788a52107b1674a904c6
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..2ed304ebd7
--- /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("b0cb1d48-e4c2-4612-a347-beea7b1a71e7")]
+
+[assembly: AssemblyVersion("0.0.0")]
+[assembly: AssemblyFileVersion("0.0.0")]
diff --git a/osu.Game/Properties/app.manifest b/osu.Desktop/Properties/app.manifest
similarity index 100%
rename from osu.Game/Properties/app.manifest
rename to osu.Desktop/Properties/app.manifest
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..58f9102aa1
--- /dev/null
+++ b/osu.Desktop/packages.config
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs
index 42fbc7e082..dd2006c60c 100644
--- a/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs
+++ b/osu.Game.Rulesets.Catch/Properties/AssemblyInfo.cs
@@ -8,11 +8,11 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("osu.Game.Rulesets.Catch")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyDescription("catch the fruit. to the beat.")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
+[assembly: AssemblyCompany("ppy Pty Ltd")]
[assembly: AssemblyProduct("osu.Game.Rulesets.Catch")]
-[assembly: AssemblyCopyright("Copyright © 2016")]
+[assembly: AssemblyCopyright("ppy Pty Ltd 2007-2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -24,15 +24,5 @@ using System.Runtime.InteropServices;
// 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.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/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs
index 790002acd7..85a8f95b14 100644
--- a/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs
+++ b/osu.Game.Rulesets.Mania/Properties/AssemblyInfo.cs
@@ -8,11 +8,11 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("osu.Game.Rulesets.Mania")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyDescription("smash the keys. to the beat.")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
+[assembly: AssemblyCompany("ppy Pty Ltd")]
[assembly: AssemblyProduct("osu.Game.Rulesets.Mania")]
-[assembly: AssemblyCopyright("Copyright © 2016")]
+[assembly: AssemblyCopyright("ppy Pty Ltd 2007-2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -24,15 +24,5 @@ using System.Runtime.InteropServices;
// 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.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/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs
index 791c9b594d..b6cf47071a 100644
--- a/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs
+++ b/osu.Game.Rulesets.Osu/Properties/AssemblyInfo.cs
@@ -8,11 +8,11 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("osu.Game.Mode.Osu")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyDescription("click the circles. to the beat.")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
+[assembly: AssemblyCompany("ppy Pty Ltd")]
[assembly: AssemblyProduct("osu.Game.Mode.Osu")]
-[assembly: AssemblyCopyright("Copyright © 2016")]
+[assembly: AssemblyCopyright("ppy Pty Ltd 2007-2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -24,15 +24,5 @@ using System.Runtime.InteropServices;
// 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.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/Properties/AssemblyInfo.cs b/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs
index 89c07517ca..f6a9c8f101 100644
--- a/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs
+++ b/osu.Game.Rulesets.Taiko/Properties/AssemblyInfo.cs
@@ -8,11 +8,11 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("osu.Game.Rulesets.Taiko")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyDescription("bash the drum. to the beat.")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
+[assembly: AssemblyCompany("ppy Pty Ltd")]
[assembly: AssemblyProduct("osu.Game.Rulesets.Taiko")]
-[assembly: AssemblyCopyright("Copyright © 2016")]
+[assembly: AssemblyCopyright("ppy Pty Ltd 2007-2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -24,15 +24,5 @@ using System.Runtime.InteropServices;
// 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.Rulesets.Taiko/Tests/TestCaseTaikoPlayfield.cs b/osu.Game.Rulesets.Taiko/Tests/TestCaseTaikoPlayfield.cs
index 79ee2945ad..2136d0d86a 100644
--- a/osu.Game.Rulesets.Taiko/Tests/TestCaseTaikoPlayfield.cs
+++ b/osu.Game.Rulesets.Taiko/Tests/TestCaseTaikoPlayfield.cs
@@ -72,7 +72,7 @@ namespace osu.Game.Rulesets.Taiko.Tests
{
Artist = @"Unknown",
Title = @"Sample Beatmap",
- Author = @"peppy",
+ AuthorString = @"peppy",
},
},
ControlPointInfo = controlPointInfo
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.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs b/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs
index da3b448f74..6bccd47b5c 100644
--- a/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs
+++ b/osu.Game.Tests/Beatmaps/Formats/OsuLegacyDecoderTest.cs
@@ -28,7 +28,7 @@ namespace osu.Game.Tests.Beatmaps.Formats
Assert.AreEqual("Soleily", meta.Artist);
Assert.AreEqual("Soleily", meta.ArtistUnicode);
Assert.AreEqual("03. Renatus - Soleily 192kbps.mp3", meta.AudioFile);
- Assert.AreEqual("Gamu", meta.Author);
+ Assert.AreEqual("Gamu", meta.AuthorString);
Assert.AreEqual("machinetop_background.jpg", meta.BackgroundFile);
Assert.AreEqual(164471, meta.PreviewTime);
Assert.AreEqual(string.Empty, meta.Source);
@@ -143,4 +143,4 @@ namespace osu.Game.Tests.Beatmaps.Formats
}
}
}
-}
\ No newline at end of file
+}
diff --git a/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs b/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs
index 7a7a8a58bc..12bbde5b57 100644
--- a/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs
+++ b/osu.Game.Tests/Beatmaps/IO/OszArchiveReaderTest.cs
@@ -56,7 +56,7 @@ namespace osu.Game.Tests.Beatmaps.IO
Assert.AreEqual("Soleily", meta.Artist);
Assert.AreEqual("Soleily", meta.ArtistUnicode);
Assert.AreEqual("03. Renatus - Soleily 192kbps.mp3", meta.AudioFile);
- Assert.AreEqual("Deif", meta.Author);
+ Assert.AreEqual("Deif", meta.AuthorString);
Assert.AreEqual("machinetop_background.jpg", meta.BackgroundFile);
Assert.AreEqual(164471, meta.PreviewTime);
Assert.AreEqual(string.Empty, meta.Source);
diff --git a/osu.Game/Beatmaps/Beatmap.cs b/osu.Game/Beatmaps/Beatmap.cs
index 383a331eb4..56bb48965f 100644
--- a/osu.Game/Beatmaps/Beatmap.cs
+++ b/osu.Game/Beatmaps/Beatmap.cs
@@ -69,7 +69,7 @@ namespace osu.Game.Beatmaps
{
Artist = @"Unknown",
Title = @"Unknown",
- Author = @"Unknown Creator",
+ AuthorString = @"Unknown Creator",
},
Version = @"Normal",
Difficulty = new BeatmapDifficulty()
diff --git a/osu.Game/Beatmaps/BeatmapMetadata.cs b/osu.Game/Beatmaps/BeatmapMetadata.cs
index cc9a51b4e2..a062c0a37f 100644
--- a/osu.Game/Beatmaps/BeatmapMetadata.cs
+++ b/osu.Game/Beatmaps/BeatmapMetadata.cs
@@ -3,6 +3,7 @@
using System.Linq;
using Newtonsoft.Json;
+using osu.Game.Users;
using SQLite.Net.Attributes;
namespace osu.Game.Beatmaps
@@ -19,8 +20,21 @@ namespace osu.Game.Beatmaps
public string Artist { get; set; }
public string ArtistUnicode { get; set; }
+ ///
+ /// Helper property to deserialize a username to .
+ ///
[JsonProperty(@"creator")]
- public string Author { get; set; }
+ [Column("Author")]
+ public string AuthorString
+ {
+ get { return Author?.Username; }
+ set { Author = new User { Username = value }; }
+ }
+
+ ///
+ /// The author of the beatmaps in this set.
+ ///
+ public User Author;
public string Source { get; set; }
@@ -32,7 +46,7 @@ namespace osu.Game.Beatmaps
public string[] SearchableTerms => new[]
{
- Author,
+ Author?.Username,
Artist,
ArtistUnicode,
Title,
diff --git a/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs b/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs
index 6b59f0f298..27d1f057ca 100644
--- a/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs
+++ b/osu.Game/Beatmaps/BeatmapSetOnlineInfo.cs
@@ -3,7 +3,6 @@
using System;
using Newtonsoft.Json;
-using osu.Game.Users;
namespace osu.Game.Beatmaps
{
@@ -12,11 +11,6 @@ namespace osu.Game.Beatmaps
///
public class BeatmapSetOnlineInfo
{
- ///
- /// The author of the beatmaps in this set.
- ///
- public User Author;
-
///
/// The date this beatmap set was submitted to the online listing.
///
diff --git a/osu.Game/Beatmaps/DummyWorkingBeatmap.cs b/osu.Game/Beatmaps/DummyWorkingBeatmap.cs
index d8cd58d939..9a61762fa6 100644
--- a/osu.Game/Beatmaps/DummyWorkingBeatmap.cs
+++ b/osu.Game/Beatmaps/DummyWorkingBeatmap.cs
@@ -22,7 +22,7 @@ namespace osu.Game.Beatmaps
{
Artist = "please load a beatmap!",
Title = "no beatmaps available!",
- Author = "no one",
+ AuthorString = "no one",
},
BeatmapSet = new BeatmapSetInfo(),
Difficulty = new BeatmapDifficulty
diff --git a/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs b/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs
index 2493dab08c..3c06180532 100644
--- a/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs
+++ b/osu.Game/Beatmaps/Formats/OsuLegacyDecoder.cs
@@ -171,7 +171,7 @@ namespace osu.Game.Beatmaps.Formats
metadata.ArtistUnicode = pair.Value;
break;
case @"Creator":
- metadata.Author = pair.Value;
+ metadata.AuthorString = pair.Value;
break;
case @"Version":
beatmap.BeatmapInfo.Version = pair.Value;
diff --git a/osu.Game/Online/API/Requests/GetBeatmapSetsResponse.cs b/osu.Game/Online/API/Requests/GetBeatmapSetsResponse.cs
index 085563845d..b3bdab2616 100644
--- a/osu.Game/Online/API/Requests/GetBeatmapSetsResponse.cs
+++ b/osu.Game/Online/API/Requests/GetBeatmapSetsResponse.cs
@@ -6,7 +6,6 @@ using System.Linq;
using Newtonsoft.Json;
using osu.Game.Beatmaps;
using osu.Game.Rulesets;
-using osu.Game.Users;
namespace osu.Game.Online.API.Requests
{
@@ -27,11 +26,10 @@ namespace osu.Game.Online.API.Requests
[JsonProperty(@"id")]
private int onlineId { get; set; }
- [JsonProperty(@"creator")]
- private string creatorUsername { get; set; }
-
[JsonProperty(@"user_id")]
- private long creatorId = 1;
+ private long creatorId {
+ set { Author.Id = value; }
+ }
[JsonProperty(@"beatmaps")]
private IEnumerable beatmaps { get; set; }
@@ -44,11 +42,6 @@ namespace osu.Game.Online.API.Requests
Metadata = this,
OnlineInfo = new BeatmapSetOnlineInfo
{
- Author = new User
- {
- Id = creatorId,
- Username = creatorUsername,
- },
Covers = covers,
Preview = preview,
PlayCount = playCount,
diff --git a/osu.Game/Overlays/BeatmapSet/AuthorInfo.cs b/osu.Game/Overlays/BeatmapSet/AuthorInfo.cs
index fc9fd1e614..46ee5a9cdb 100644
--- a/osu.Game/Overlays/BeatmapSet/AuthorInfo.cs
+++ b/osu.Game/Overlays/BeatmapSet/AuthorInfo.cs
@@ -36,12 +36,12 @@ namespace osu.Game.Overlays.BeatmapSet
var i = BeatmapSet.OnlineInfo;
- avatar.User = i.Author;
+ avatar.User = BeatmapSet.Metadata.Author;
clickableArea.Action = () => profile?.ShowUser(avatar.User);
fields.Children = new Drawable[]
{
- new Field("made by", i.Author.Username, @"Exo2.0-RegularItalic"),
+ new Field("made by", BeatmapSet.Metadata.Author.Username, @"Exo2.0-RegularItalic"),
new Field("submitted on", i.Submitted.ToString(@"MMM d, yyyy"), @"Exo2.0-Bold")
{
Margin = new MarginPadding { Top = 5 },
diff --git a/osu.Game/Overlays/BeatmapSet/SuccessRate.cs b/osu.Game/Overlays/BeatmapSet/SuccessRate.cs
index 26335aac9b..9402ed82f4 100644
--- a/osu.Game/Overlays/BeatmapSet/SuccessRate.cs
+++ b/osu.Game/Overlays/BeatmapSet/SuccessRate.cs
@@ -1,7 +1,6 @@
// Copyright (c) 2007-2017 ppy Pty Ltd .
// 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;
@@ -31,7 +30,7 @@ namespace osu.Game.Overlays.BeatmapSet
beatmap = value;
var rate = (float)beatmap.OnlineInfo.PassCount / beatmap.OnlineInfo.PlayCount;
- successPercent.Text = $"{Math.Round(rate * 100)}%";
+ successPercent.Text = rate.ToString("P0");
successRate.Length = rate;
percentContainer.ResizeWidthTo(successRate.Length, 250, Easing.InOutCubic);
diff --git a/osu.Game/Overlays/Direct/DirectGridPanel.cs b/osu.Game/Overlays/Direct/DirectGridPanel.cs
index 7464ee7fb8..e863f78e3f 100644
--- a/osu.Game/Overlays/Direct/DirectGridPanel.cs
+++ b/osu.Game/Overlays/Direct/DirectGridPanel.cs
@@ -130,7 +130,7 @@ namespace osu.Game.Overlays.Direct
},
new OsuSpriteText
{
- Text = SetInfo.Metadata.Author,
+ Text = SetInfo.Metadata.Author.Username,
TextSize = 14,
Font = @"Exo2.0-SemiBoldItalic",
Shadow = false,
diff --git a/osu.Game/Overlays/Direct/DirectListPanel.cs b/osu.Game/Overlays/Direct/DirectListPanel.cs
index 5889a1bc12..3a1004fd44 100644
--- a/osu.Game/Overlays/Direct/DirectListPanel.cs
+++ b/osu.Game/Overlays/Direct/DirectListPanel.cs
@@ -128,7 +128,7 @@ namespace osu.Game.Overlays.Direct
},
new OsuSpriteText
{
- Text = SetInfo.Metadata.Author,
+ Text = SetInfo.Metadata.Author.Username,
TextSize = 14,
Font = @"Exo2.0-SemiBoldItalic",
},
diff --git a/osu.Game/Overlays/Direct/PlayButton.cs b/osu.Game/Overlays/Direct/PlayButton.cs
index 32435a4873..9317bc06cf 100644
--- a/osu.Game/Overlays/Direct/PlayButton.cs
+++ b/osu.Game/Overlays/Direct/PlayButton.cs
@@ -134,6 +134,7 @@ namespace osu.Game.Overlays.Direct
else
{
Preview?.Stop();
+ loading = false;
}
}
@@ -143,6 +144,8 @@ namespace osu.Game.Overlays.Direct
{
if (trackLoader != null) return;
+ loading = true;
+
Add(new AsyncLoadWrapper(trackLoader = new TrackLoader($"https://b.ppy.sh/preview/{BeatmapSet.OnlineBeatmapSetID}.mp3")
{
OnLoadComplete = d =>
@@ -152,6 +155,7 @@ namespace osu.Game.Overlays.Direct
Preview = (d as TrackLoader)?.Preview;
Playing.TriggerChange();
+ loading = false;
},
}));
}
diff --git a/osu.Game/Overlays/MedalSplash/DrawableMedal.cs b/osu.Game/Overlays/MedalSplash/DrawableMedal.cs
index ea51471199..53d77dab6c 100644
--- a/osu.Game/Overlays/MedalSplash/DrawableMedal.cs
+++ b/osu.Game/Overlays/MedalSplash/DrawableMedal.cs
@@ -27,13 +27,13 @@ namespace osu.Game.Overlays.MedalSplash
private readonly Sprite medalSprite, medalGlow;
private readonly OsuSpriteText unlocked, name;
private readonly TextFlowContainer description;
- private readonly FillFlowContainer infoFlow;
private DisplayState state;
public DrawableMedal(Medal medal)
{
this.medal = medal;
Position = new Vector2(0f, MedalOverlay.DISC_SIZE / 2);
+ FillFlowContainer infoFlow;
Children = new Drawable[]
{
medalContainer = new Container
@@ -108,6 +108,12 @@ namespace osu.Game.Overlays.MedalSplash
s.Origin = Anchor.TopCentre;
s.TextSize = 16;
});
+
+ medalContainer.OnLoadComplete = d =>
+ {
+ unlocked.Position = new Vector2(0f, medalContainer.DrawSize.Y / 2 + 10);
+ infoFlow.Position = new Vector2(0f, unlocked.Position.Y + 90);
+ };
}
[BackgroundDependencyLoader]
@@ -123,9 +129,6 @@ namespace osu.Game.Overlays.MedalSplash
base.LoadComplete();
updateState();
-
- unlocked.Position = new Vector2(0f, medalContainer.DrawSize.Y / 2 + 10);
- infoFlow.Position = new Vector2(0f, unlocked.Position.Y + 90);
}
public DisplayState State
diff --git a/osu.Game/Overlays/Profile/ProfileHeader.cs b/osu.Game/Overlays/Profile/ProfileHeader.cs
index 973769a114..22e34be34c 100644
--- a/osu.Game/Overlays/Profile/ProfileHeader.cs
+++ b/osu.Game/Overlays/Profile/ProfileHeader.cs
@@ -17,7 +17,6 @@ using osu.Game.Graphics.Containers;
using osu.Game.Graphics.Sprites;
using osu.Game.Users;
using System.Diagnostics;
-using System.Globalization;
using System.Collections.Generic;
using osu.Framework.Graphics.Cursor;
@@ -402,7 +401,7 @@ namespace osu.Game.Overlays.Profile
scoreText.Add(createScoreText("Ranked Score"));
scoreNumberText.Add(createScoreNumberText(user.Statistics.RankedScore.ToString(@"#,0")));
scoreText.Add(createScoreText("Accuracy"));
- scoreNumberText.Add(createScoreNumberText($"{user.Statistics.Accuracy.ToString("0.##", CultureInfo.CurrentCulture)}%"));
+ scoreNumberText.Add(createScoreNumberText($"{user.Statistics.Accuracy:0.##}%"));
scoreText.Add(createScoreText("Play Count"));
scoreNumberText.Add(createScoreNumberText(user.Statistics.PlayCount.ToString(@"#,0")));
scoreText.Add(createScoreText("Total Score"));
diff --git a/osu.Game/Overlays/Profile/Sections/Ranks/DrawableScore.cs b/osu.Game/Overlays/Profile/Sections/Ranks/DrawableScore.cs
index 52b68e7b30..af336c2529 100644
--- a/osu.Game/Overlays/Profile/Sections/Ranks/DrawableScore.cs
+++ b/osu.Game/Overlays/Profile/Sections/Ranks/DrawableScore.cs
@@ -13,9 +13,7 @@ using osu.Game.Rulesets.Mods;
using osu.Game.Screens.Select.Leaderboards;
using System.Linq;
using osu.Framework.Localisation;
-using System.Globalization;
using osu.Game.Rulesets.Scoring;
-using System;
using osu.Game.Rulesets.UI;
namespace osu.Game.Overlays.Profile.Sections.Ranks
@@ -79,9 +77,10 @@ namespace osu.Game.Overlays.Profile.Sections.Ranks
[BackgroundDependencyLoader]
private void load(OsuColour colour, LocalisationEngine locale, BeatmapSetOverlay beatmapSetOverlay)
{
+ double pp = score.PP ?? 0;
stats.Add(new OsuSpriteText
{
- Text = $"{Math.Round(score.PP ?? 0)}pp",
+ Text = $"{pp:0}pp",
Anchor = Anchor.TopRight,
Origin = Anchor.TopRight,
TextSize = 18,
@@ -92,7 +91,7 @@ namespace osu.Game.Overlays.Profile.Sections.Ranks
{
stats.Add(new OsuSpriteText
{
- Text = $"weighted: {Math.Round(score.PP * weight ?? 0)}pp ({weight.Value.ToString("0%", CultureInfo.CurrentCulture)})",
+ Text = $"weighted: {pp * weight:0}pp ({weight:P0})",
Anchor = Anchor.TopRight,
Origin = Anchor.TopRight,
Colour = colour.GrayA,
@@ -103,7 +102,7 @@ namespace osu.Game.Overlays.Profile.Sections.Ranks
stats.Add(new OsuSpriteText
{
- Text = "accuracy: " + score.Accuracy.ToString("0.00%"),
+ Text = $"accuracy: {score.Accuracy:P2}",
Anchor = Anchor.TopRight,
Origin = Anchor.TopRight,
Colour = colour.GrayA,
diff --git a/osu.Game/Overlays/Profile/Sections/RanksSection.cs b/osu.Game/Overlays/Profile/Sections/RanksSection.cs
index d7df239003..3b2c9d83ed 100644
--- a/osu.Game/Overlays/Profile/Sections/RanksSection.cs
+++ b/osu.Game/Overlays/Profile/Sections/RanksSection.cs
@@ -155,7 +155,7 @@ namespace osu.Game.Overlays.Profile.Sections
{
missing.Hide();
foreach (OnlineScore score in scores)
- scoreContainer.Add(new DrawableScore(score, includeWeigth ? Math.Pow(0.95, scoreContainer.Count) : -1)
+ scoreContainer.Add(new DrawableScore(score, includeWeigth ? Math.Pow(0.95, scoreContainer.Count) : (double?)null)
{
RelativeSizeAxes = Axes.X,
Height = 60,
diff --git a/osu.Game/Properties/AssemblyInfo.cs b/osu.Game/Properties/AssemblyInfo.cs
index fe7ad20124..e28f8a3873 100644
--- a/osu.Game/Properties/AssemblyInfo.cs
+++ b/osu.Game/Properties/AssemblyInfo.cs
@@ -7,11 +7,11 @@ 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: AssemblyTitle("osu.Game")]
[assembly: AssemblyDescription("click the circles. to the beat.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("ppy Pty Ltd")]
-[assembly: AssemblyProduct("osu!lazer")]
+[assembly: AssemblyProduct("osu.Game")]
[assembly: AssemblyCopyright("ppy Pty Ltd 2007-2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -24,5 +24,5 @@ using System.Runtime.InteropServices;
// 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")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/osu.Game/Screens/Play/BreaksOverlay/LetterboxOverlay.cs b/osu.Game/Screens/Play/BreaksOverlay/LetterboxOverlay.cs
index 9d5bc986e9..4733a5482b 100644
--- a/osu.Game/Screens/Play/BreaksOverlay/LetterboxOverlay.cs
+++ b/osu.Game/Screens/Play/BreaksOverlay/LetterboxOverlay.cs
@@ -31,13 +31,7 @@ namespace osu.Game.Screens.Play.BreaksOverlay
Child = new Box
{
RelativeSizeAxes = Axes.Both,
- Colour = new ColourInfo
- {
- TopLeft = Color4.Black,
- TopRight = Color4.Black,
- BottomLeft = transparent_black,
- BottomRight = transparent_black,
- }
+ Colour = ColourInfo.GradientVertical(Color4.Black, transparent_black),
}
},
new Container
@@ -49,13 +43,7 @@ namespace osu.Game.Screens.Play.BreaksOverlay
Child = new Box
{
RelativeSizeAxes = Axes.Both,
- Colour = new ColourInfo
- {
- TopLeft = transparent_black,
- TopRight = transparent_black,
- BottomLeft = Color4.Black,
- BottomRight = Color4.Black,
- }
+ Colour = ColourInfo.GradientVertical(transparent_black, Color4.Black),
}
}
};
diff --git a/osu.Game/Screens/Play/PlayerLoader.cs b/osu.Game/Screens/Play/PlayerLoader.cs
index 9366797f47..a5248acbe4 100644
--- a/osu.Game/Screens/Play/PlayerLoader.cs
+++ b/osu.Game/Screens/Play/PlayerLoader.cs
@@ -248,7 +248,7 @@ namespace osu.Game.Screens.Play
Origin = Anchor.TopCentre,
Anchor = Anchor.TopCentre,
},
- new MetadataLine("Mapper", metadata.Author)
+ new MetadataLine("Mapper", metadata.Author.Username)
{
Origin = Anchor.TopCentre,
Anchor = Anchor.TopCentre,
diff --git a/osu.Game/Screens/Select/BeatmapInfoWedge.cs b/osu.Game/Screens/Select/BeatmapInfoWedge.cs
index 76c384b84c..dc3b012328 100644
--- a/osu.Game/Screens/Select/BeatmapInfoWedge.cs
+++ b/osu.Game/Screens/Select/BeatmapInfoWedge.cs
@@ -210,7 +210,7 @@ namespace osu.Game.Screens.Select
new OsuSpriteText
{
Font = @"Exo2.0-Bold",
- Text = metadata.Author,
+ Text = metadata.Author.Username,
TextSize = 15,
},
}
@@ -232,9 +232,9 @@ namespace osu.Game.Screens.Select
double bpmMax = beatmap.ControlPointInfo.BPMMaximum;
double bpmMin = beatmap.ControlPointInfo.BPMMinimum;
- if (Precision.AlmostEquals(bpmMin, bpmMax)) return Math.Round(bpmMin) + "bpm";
+ if (Precision.AlmostEquals(bpmMin, bpmMax)) return $"{bpmMin:0}bpm";
- return Math.Round(bpmMin) + "-" + Math.Round(bpmMax) + "bpm (mostly " + Math.Round(beatmap.ControlPointInfo.BPMMode) + "bpm)";
+ return $"{bpmMin:0}-{bpmMax:0}bpm (mostly {beatmap.ControlPointInfo.BPMMode:0}bpm)";
}
public class InfoLabel : Container
diff --git a/osu.Game/Screens/Select/FilterCriteria.cs b/osu.Game/Screens/Select/FilterCriteria.cs
index a1fea4a41d..6c1fb1703d 100644
--- a/osu.Game/Screens/Select/FilterCriteria.cs
+++ b/osu.Game/Screens/Select/FilterCriteria.cs
@@ -51,7 +51,7 @@ namespace osu.Game.Screens.Select
groups.Sort((x, y) => string.Compare(x.BeatmapSet.Metadata.Title, y.BeatmapSet.Metadata.Title, StringComparison.InvariantCultureIgnoreCase));
break;
case SortMode.Author:
- groups.Sort((x, y) => string.Compare(x.BeatmapSet.Metadata.Author, y.BeatmapSet.Metadata.Author, StringComparison.InvariantCultureIgnoreCase));
+ groups.Sort((x, y) => string.Compare(x.BeatmapSet.Metadata.Author.Username, y.BeatmapSet.Metadata.Author.Username, StringComparison.InvariantCultureIgnoreCase));
break;
case SortMode.Difficulty:
groups.Sort((x, y) => x.BeatmapSet.MaxStarDifficulty.CompareTo(y.BeatmapSet.MaxStarDifficulty));
@@ -59,4 +59,4 @@ namespace osu.Game.Screens.Select
}
}
}
-}
\ No newline at end of file
+}
diff --git a/osu.Game/Tests/Visual/TestCaseBeatmapSetOverlay.cs b/osu.Game/Tests/Visual/TestCaseBeatmapSetOverlay.cs
index 76ed9979ca..72d97f905c 100644
--- a/osu.Game/Tests/Visual/TestCaseBeatmapSetOverlay.cs
+++ b/osu.Game/Tests/Visual/TestCaseBeatmapSetOverlay.cs
@@ -39,6 +39,11 @@ namespace osu.Game.Tests.Visual
Artist = @"Kaneko Chiharu",
Source = @"SOUND VOLTEX III GRAVITY WARS",
Tags = @"sdvx grace the 5th kac original song contest konami bemani",
+ Author = new User
+ {
+ Username = @"Fresh Chicken",
+ Id = 3984370,
+ },
},
OnlineInfo = new BeatmapSetOnlineInfo
{
@@ -48,11 +53,6 @@ namespace osu.Game.Tests.Visual
Submitted = new DateTime(2016, 2, 10),
Ranked = new DateTime(2016, 6, 19),
BPM = 236,
- Author = new User
- {
- Username = @"Fresh Chicken",
- Id = 3984370,
- },
Covers = new BeatmapSetOnlineCovers
{
Cover = @"https://assets.ppy.sh/beatmaps/415886/covers/cover.jpg?1465651778",
@@ -213,6 +213,11 @@ namespace osu.Game.Tests.Visual
Title = @"Soumatou Labyrinth",
Artist = @"Yunomi with Momobako&miko",
Tags = @"mmbk.com yuzu__rinrin charlotte",
+ Author = new User
+ {
+ Username = @"komasy",
+ Id = 1980256,
+ },
},
OnlineInfo = new BeatmapSetOnlineInfo
{
@@ -222,11 +227,6 @@ namespace osu.Game.Tests.Visual
Submitted = new DateTime(2016, 6, 11),
Ranked = new DateTime(2016, 7, 12),
BPM = 160,
- Author = new User
- {
- Username = @"komasy",
- Id = 1980256,
- },
Covers = new BeatmapSetOnlineCovers
{
Cover = @"https://assets.ppy.sh/beatmaps/625493/covers/cover.jpg?1499167472",
diff --git a/osu.Game/Tests/Visual/TestCaseDirect.cs b/osu.Game/Tests/Visual/TestCaseDirect.cs
index 1fb9dbea8f..2d8677c391 100644
--- a/osu.Game/Tests/Visual/TestCaseDirect.cs
+++ b/osu.Game/Tests/Visual/TestCaseDirect.cs
@@ -46,7 +46,7 @@ namespace osu.Game.Tests.Visual
{
Title = @"OrVid",
Artist = @"An",
- Author = @"RLC",
+ AuthorString = @"RLC",
Source = @"",
Tags = @"acuticnotes an-fillnote revid tear tearvid encrpted encryption axi axivid quad her hervid recoll",
},
@@ -78,7 +78,7 @@ namespace osu.Game.Tests.Visual
{
Title = @"tiny lamp",
Artist = @"fhana",
- Author = @"Sotarks",
+ AuthorString = @"Sotarks",
Source = @"ぎんぎつね",
Tags = @"lantis junichi sato yuxuki waga kevin mitsunaga towana gingitsune opening op full ver version kalibe collab collaboration",
},
@@ -110,7 +110,7 @@ namespace osu.Game.Tests.Visual
{
Title = @"At Gwanghwamun",
Artist = @"KYUHYUN",
- Author = @"Cerulean Veyron",
+ AuthorString = @"Cerulean Veyron",
Source = @"",
Tags = @"soul ballad kh super junior sj suju 슈퍼주니어 kt뮤직 sm엔터테인먼트 s.m.entertainment kt music 1st mini album ep",
},
@@ -157,7 +157,7 @@ namespace osu.Game.Tests.Visual
{
Title = @"RHAPSODY OF BLUE SKY",
Artist = @"fhana",
- Author = @"[Kamiya]",
+ AuthorString = @"[Kamiya]",
Source = @"小林さんちのメイドラゴン",
Tags = @"kobayashi san chi no maidragon aozora no opening anime maid dragon oblivion karen dynamix imoutosan pata-mon gxytcgxytc",
},
diff --git a/osu.Game/Tests/Visual/TestCasePlaySongSelect.cs b/osu.Game/Tests/Visual/TestCasePlaySongSelect.cs
index feff7497d8..3ea976b96f 100644
--- a/osu.Game/Tests/Visual/TestCasePlaySongSelect.cs
+++ b/osu.Game/Tests/Visual/TestCasePlaySongSelect.cs
@@ -68,7 +68,7 @@ namespace osu.Game.Tests.Visual
// Create random metadata, then we can check if sorting works based on these
Artist = "MONACA " + RNG.Next(0, 9),
Title = "Black Song " + RNG.Next(0, 9),
- Author = "Some Guy " + RNG.Next(0, 9),
+ AuthorString = "Some Guy " + RNG.Next(0, 9),
},
Beatmaps = new List(new[]
{
diff --git a/osu.Game/Tests/Visual/TestCaseRoomInspector.cs b/osu.Game/Tests/Visual/TestCaseRoomInspector.cs
index dd773b361a..e6b57c970b 100644
--- a/osu.Game/Tests/Visual/TestCaseRoomInspector.cs
+++ b/osu.Game/Tests/Visual/TestCaseRoomInspector.cs
@@ -37,7 +37,7 @@ namespace osu.Game.Tests.Visual
{
Title = @"Platina",
Artist = @"Maaya Sakamoto",
- Author = @"uwutm8",
+ AuthorString = @"uwutm8",
},
BeatmapSet = new BeatmapSetInfo
{
@@ -104,7 +104,7 @@ namespace osu.Game.Tests.Visual
{
Title = @"FREEDOM DIVE",
Artist = @"xi",
- Author = @"Nakagawa-Kanon",
+ AuthorString = @"Nakagawa-Kanon",
},
BeatmapSet = new BeatmapSetInfo
{
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index ebedf32da0..4b9297b963 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,12 +82,7 @@
-
- lazer.ico
-
-
- Properties\app.manifest
-
+
true
bin\Debug\
@@ -105,47 +99,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 +120,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 +136,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
-
-
-
-
@@ -195,7 +146,6 @@
-
@@ -389,8 +339,6 @@
-
-
@@ -518,9 +466,7 @@
-
-
@@ -821,9 +767,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..7808ed200b 100644
--- a/osu.sln.DotSettings
+++ b/osu.sln.DotSettings
@@ -193,6 +193,8 @@
IPC
LTRB
MD5
+ NS
+ OS
RGB
RNG
SHA
@@ -645,6 +647,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