aboutsummaryrefslogtreecommitdiff
path: root/source/WindowsFormsApplication1/Program.cs
diff options
context:
space:
mode:
authorMichael VanOverbeek <[email protected]>2016-07-25 12:57:52 -0400
committerGitHub <[email protected]>2016-07-25 12:57:52 -0400
commit46c1c31302f111a1f3ec23a70e6f3986a9aa2a27 (patch)
treef00af7ea3f6ad2641fb26fa1d310fd8b7179b39c /source/WindowsFormsApplication1/Program.cs
parentaf48e774189596b8d7a058c564a7d6d75205ca03 (diff)
parent6fa16209519896de09949a27425dff00ebf2970a (diff)
downloadshiftos-c--46c1c31302f111a1f3ec23a70e6f3986a9aa2a27.tar.gz
shiftos-c--46c1c31302f111a1f3ec23a70e6f3986a9aa2a27.tar.bz2
shiftos-c--46c1c31302f111a1f3ec23a70e6f3986a9aa2a27.zip
Merge pull request #17 from MichaelTheShifter/shiftui_integration
Shiftui integration
Diffstat (limited to 'source/WindowsFormsApplication1/Program.cs')
-rw-r--r--source/WindowsFormsApplication1/Program.cs92
1 files changed, 49 insertions, 43 deletions
diff --git a/source/WindowsFormsApplication1/Program.cs b/source/WindowsFormsApplication1/Program.cs
index 6d8e675..0617ddf 100644
--- a/source/WindowsFormsApplication1/Program.cs
+++ b/source/WindowsFormsApplication1/Program.cs
@@ -3,7 +3,7 @@ using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
-using System.Windows.Forms;
+using ShiftUI;
using System.Net;
using System.IO.Compression;
using System.ComponentModel;
@@ -12,24 +12,24 @@ using Newtonsoft.Json;
namespace ShiftOS
{
- static class Program
+ public static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
- static void Main(string[] args)
+ public static void Main(string[] args)
{
-
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Extract all dependencies before starting the engine.
ExtractDependencies();
- var poolThread = new Thread(new ThreadStart(new Action(() => {
+ var poolThread = new Thread(new ThreadStart(new Action(() =>
+ {
try
{
- //Download ShiftOS server startup-pool
- string pool = new WebClient().DownloadString("http://playshiftos.ml/server/startup_pool");
+ //Download ShiftOS server startup-pool
+ string pool = new WebClient().DownloadString("http://playshiftos.ml/server/startup_pool");
string[] splitter = pool.Split(';');
foreach (string address in splitter)
{
@@ -40,10 +40,10 @@ namespace ShiftOS
int port = Convert.ToInt32(addSplitter[1]);
Package_Grabber.ConnectToServer(host, port);
}
- catch
- {
-
- }
+ catch (Exception catcherror)
+ {
+ Console.WriteLine(catcherror);
+ }
}
}
catch
@@ -55,13 +55,14 @@ namespace ShiftOS
//Start the Windows Forms backend
Paths.RegisterPaths(); //Sets ShiftOS path variables based on the current OS.
SaveSystem.Utilities.CheckForOlderSaves(); //Backs up C:\ShiftOS on Windows systems if it exists and doesn't contain a _engineInfo.txt file telling ShiftOS what engine created it.
- //If there isn't a save folder at the directory specified by ShiftOS.Paths.SaveRoot, create a new save.
- //If not, load that save.
+ //If there isn't a save folder at the directory specified by ShiftOS.Paths.SaveRoot, create a new save.
+ //If not, load that save.
if (Directory.Exists(Paths.SaveRoot))
{
API.Log("Loading ShiftOS save...");
SaveSystem.Utilities.loadGame();
- } else
+ }
+ else
{
SaveSystem.Utilities.NewGame();
}
@@ -80,56 +81,61 @@ namespace ShiftOS
Skinning.Utilities.loadskin();
SaveSystem.ShiftoriumRegistry.UpdateShiftorium();
//Lua bootscreen.
- if(File.Exists(Paths.SaveRoot + "BOOT"))
+ if (File.Exists(Paths.SaveRoot + "BOOT"))
{
string lua = File.ReadAllText(Paths.SaveRoot + "BOOT");
var l = new LuaInterpreter();
l.mod(lua);
}
//Start recieving calls from the Modding API...
- Application.Run(new ShiftOSDesktop());
- //By now, the API receiver has been loaded,
- //and the desktop is shown. So, let's check
- //for auto-start mods.
- if(Directory.Exists(Paths.AutoStart))
+ if (!args.Contains("nodisplay"))
{
- foreach(string file in Directory.GetFiles(Paths.AutoStart))
+ Application.Run(new ShiftOSDesktop());
+ //By now, the API receiver has been loaded,
+ //and the desktop is shown. So, let's check
+ //for auto-start mods.
+ if (Directory.Exists(Paths.AutoStart))
{
- var inf = new FileInfo(file);
- switch(inf.Extension)
+ foreach (string file in Directory.GetFiles(Paths.AutoStart))
{
- case ".saa":
- if (API.Upgrades["shiftnet"] == true)
- {
- API.Log("Starting start-up mod \"" + inf.FullName + "\"...");
- API.LaunchMod(inf.FullName);
- }
- break;
- case ".trm":
- var t = new Terminal();
- t.runterminalfile(inf.FullName);
- API.Log("Started terminal file \"" + inf.FullName + "\"...");
- break;
- } }
+ var inf = new FileInfo(file);
+ switch (inf.Extension)
+ {
+ case ".saa":
+ if (API.Upgrades["shiftnet"] == true)
+ {
+ API.Log("Starting start-up mod \"" + inf.FullName + "\"...");
+ API.LaunchMod(inf.FullName);
+ }
+ break;
+ case ".trm":
+ var t = new Terminal();
+ t.runterminalfile(inf.FullName);
+ API.Log("Started terminal file \"" + inf.FullName + "\"...");
+ break;
+ }
+ }
+ }
}
//Now, for some ShiftOS launcher integration.
try
{
- if(args[0] != null)
+ if (args[0] != null)
{
- if(args[0] != "")
+ if (args[0] != "")
{
API.CurrentSave.username = args[0];
//Username set.
}
}
}
- catch
- {
-
- }
+ catch (Exception e)
+ {
+ Console.WriteLine(e);
+ }
}
+
static void ExtractDependencies()
{
//Wow. This'll make it easy for people...
@@ -178,7 +184,7 @@ namespace ShiftOS
}
catch
{
- MessageBox.Show("Sorry to break the immersion, but we're currently downloading ShiftOS dependencies that'll make the game run MUCH better, such as the Lua engine and Gecko web renderer. Give us a moment. ShiftOS will continue to run while this happens but some things won't work right until we're finished.");
+ MessageBox.Show("Sorry to break the immersion, but we're currently downloading ShiftOS dependencies that'll make the game run MUCH better, such as the Lua engine and Gecko web renderer. Give us a moment. ShiftOS will continue to run while this happens but some things won't work right until we're finished.", "Dependency download");
wc.DownloadFileAsync(new Uri("http://playshiftos.ml/shiftos/dependencies/ShiftOS_Dependencies.zip"), zippath);
}
}