diff options
Diffstat (limited to 'ShiftOS.WinForms/OobeStory.cs')
| -rw-r--r-- | ShiftOS.WinForms/OobeStory.cs | 91 |
1 files changed, 67 insertions, 24 deletions
diff --git a/ShiftOS.WinForms/OobeStory.cs b/ShiftOS.WinForms/OobeStory.cs index a35e1d8..0d9b817 100644 --- a/ShiftOS.WinForms/OobeStory.cs +++ b/ShiftOS.WinForms/OobeStory.cs @@ -13,7 +13,6 @@ using ShiftOS.Objects; namespace ShiftOS.WinForms { - [Namespace("test")] public class OobeStory { [Command("test")] @@ -85,32 +84,45 @@ namespace ShiftOS.WinForms ConsoleEx.ForegroundColor = ConsoleColor.White; Console.WriteLine(@"We'll now begin formatting your drive. Please be patient."); Console.WriteLine(); - var dinf = new DriveInfo("C:\\"); - decimal bytesFree = ((dinf.AvailableFreeSpace / 1024) / 1024) / 1024; - decimal totalBytes = ((dinf.TotalSize / 1024) / 1024) / 1024; - string type = dinf.DriveType.ToString(); - string name = dinf.Name; - ConsoleEx.Bold = true; - Console.Write("Drive name: "); - ConsoleEx.Bold = false; - Console.WriteLine(name); - ConsoleEx.Bold = true; - Console.Write("Drive type: "); - ConsoleEx.Bold = false; - Console.WriteLine(type); - ConsoleEx.Bold = true; - Console.Write("Total space: "); - ConsoleEx.Bold = false; - Console.WriteLine(totalBytes.ToString() + " GB"); - ConsoleEx.Bold = true; - Console.Write("Free space: "); - Console.WriteLine(bytesFree.ToString() + " GB"); - Console.WriteLine(); - + double bytesFree, totalBytes; + string type, name; + dynamic dinf; + try + { + if (Lunix.InWine) + dinf = new Lunix.DFDriveInfo("/"); + else + dinf = new DriveInfo("C:\\"); + bytesFree = dinf.AvailableFreeSpace / 1073741824.0; + totalBytes = dinf.TotalSize / 1073741824.0; + type = dinf.DriveFormat.ToString(); + name = dinf.Name; + ConsoleEx.Bold = true; + Console.Write("Drive name: "); + ConsoleEx.Bold = false; + Console.WriteLine(name); + ConsoleEx.Bold = true; + Console.Write("Drive type: "); + ConsoleEx.Bold = false; + Console.WriteLine(type); + ConsoleEx.Bold = true; + Console.Write("Total space: "); + ConsoleEx.Bold = false; + Console.WriteLine(String.Format("{0:F1}", totalBytes) + " GB"); + ConsoleEx.Bold = true; + Console.Write("Free space: "); + Console.WriteLine(String.Format("{0:F1}", bytesFree) + " GB"); + Console.WriteLine(); + } + catch (Exception ex) + { + Console.WriteLine(ex.ToString()); + } ConsoleEx.Bold = false; ConsoleEx.BackgroundColor = ConsoleColor.Black; Console.Write("Formatting: ["); + ConsoleEx.OnFlush?.Invoke(); int formatProgress = 3; while (formatProgress <= 100) { @@ -118,6 +130,7 @@ namespace ShiftOS.WinForms { ConsoleEx.BackgroundColor = ConsoleColor.White; Console.Write(" "); + ConsoleEx.OnFlush?.Invoke(); ConsoleEx.BackgroundColor = ConsoleColor.Black; } Desktop.InvokeOnWorkerThread(() => Engine.AudioManager.PlayStream(Properties.Resources.typesound)); @@ -141,7 +154,37 @@ namespace ShiftOS.WinForms Console.WriteLine(); Console.WriteLine("Next, let's get user information."); Console.WriteLine(); - ShiftOS.Engine.OutOfBoxExperience.PromptForLogin(); + Desktop.InvokeOnWorkerThread(() => + { + var uSignUpDialog = new UniteSignupDialog((result) => + { + var sve = new Save(); + sve.SystemName = result.SystemName; + sve.Codepoints = 0; + sve.Upgrades = new Dictionary<string, bool>(); + sve.ID = Guid.NewGuid(); + sve.StoriesExperienced = new List<string>(); + sve.StoriesExperienced.Add("mud_fundamentals"); + sve.Users = new List<ClientSave> + { + new ClientSave + { + Username = "root", + Password = result.RootPassword, + Permissions = 0 + } + }; + + sve.StoryPosition = 8675309; + SaveSystem.CurrentSave = sve; + Shiftorium.Silent = true; + SaveSystem.SaveGame(); + Shiftorium.Silent = false; + + + }); + AppearanceManager.SetupDialog(uSignUpDialog); + }); } private static bool isValid(string text, string chars) |
