mirror of
https://github.com/ppy/osu.git
synced 2024-12-15 12:42:54 +08:00
c5046f6b3c
While it was nice having less projects to deal with, it meant hacks to get around circular dependencies between rulesets and osu.Game. For now, let's just restore the osu.Desktop project and call it a day. This allows for the project to build again with default visual studio settings.
53 lines
1.8 KiB
C#
53 lines
1.8 KiB
C#
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
|
|
|
using System;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using osu.Framework;
|
|
using osu.Framework.Platform;
|
|
using osu.Game.IPC;
|
|
|
|
namespace osu.Desktop
|
|
{
|
|
public static class Program
|
|
{
|
|
[STAThread]
|
|
public static int Main(string[] args)
|
|
{
|
|
// Back up the cwd before DesktopGameHost changes it
|
|
var cwd = Environment.CurrentDirectory;
|
|
|
|
using (DesktopGameHost host = Host.GetSuitableHost(@"osu", true))
|
|
{
|
|
if (!host.IsPrimaryInstance)
|
|
{
|
|
var importer = new BeatmapIPCChannel(host);
|
|
// Restore the cwd so relative paths given at the command line work correctly
|
|
Directory.SetCurrentDirectory(cwd);
|
|
foreach (var file in args)
|
|
{
|
|
Console.WriteLine(@"Importing {0}", file);
|
|
if (!importer.ImportAsync(Path.GetFullPath(file)).Wait(3000))
|
|
throw new TimeoutException(@"IPC took too long to send");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
switch (args.FirstOrDefault() ?? string.Empty)
|
|
{
|
|
case "--tests":
|
|
host.Run(new OsuTestBrowser());
|
|
break;
|
|
default:
|
|
host.Run(new OsuGameDesktop(args));
|
|
break;
|
|
}
|
|
|
|
}
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
}
|