diff --git a/source/WindowsFormsApplication1/Apps/Terminal.cs b/source/WindowsFormsApplication1/Apps/Terminal.cs index 340cf23..6e85bd2 100644 --- a/source/WindowsFormsApplication1/Apps/Terminal.cs +++ b/source/WindowsFormsApplication1/Apps/Terminal.cs @@ -1,5 +1,5 @@ using Newtonsoft.Json; - +using ShiftOS.FinalMission; using System; using System.Collections.Generic; using System.ComponentModel; @@ -747,6 +747,9 @@ public void DoCommand() case "timedistorter": cmd_histacom_timedistorter(args); break; + case "about": + cmd_about(args); + break; default: cmd_default(args); break; @@ -2038,34 +2041,42 @@ public void cmd_dir(String[] args) public void cmd_cd(String[] args) { - if (API.Upgrades["fileskimmer"]) + try { - if (args[1] == "..") + if (API.Upgrades["fileskimmer"]) { - if (GetPath(current_dir) != "/") + if (args[1] == "..") { - current_dir = GetParent(current_dir); - SetPrefix($"{API.Username}@{API.OSName} in {GetPath(current_dir)} $> "); + if (GetPath(current_dir) != "/") + { + current_dir = GetParent(current_dir); + SetPrefix($"{API.Username}@{API.OSName} in {GetPath(current_dir)} $> "); + } + else + { + WriteLine("cd: Can't go up past the root."); + } } else { - WriteLine("cd: Can't go up past the root."); + string newdir = current_dir + OSInfo.DirectorySeparator; + foreach (var dir in Directory.GetDirectories(current_dir)) + { + if (new DirectoryInfo(dir).Name.ToLower() == args[1]) + newdir = dir; + } + current_dir = newdir; + SetPrefix($"{API.Username}@{API.OSName} in {GetPath(current_dir)} $> "); } } - else - { - string newdir = current_dir + OSInfo.DirectorySeparator; - foreach (var dir in Directory.GetDirectories(current_dir)) - { - if (new DirectoryInfo(dir).Name.ToLower() == args[1]) - newdir = dir; - } - current_dir = newdir; - SetPrefix($"{API.Username}@{API.OSName} in {GetPath(current_dir)} $> "); - } + } + catch (Exception e) + { + WriteLine("cd: " + e); } } + public void cmd_upg(String[] args) { if (API.DeveloperMode) @@ -2890,6 +2901,9 @@ public void cmd_debug(String[] args) API.DeveloperMode = false; WriteLine("Turned off developer mode. Use the passcode to turn it back on."); break; + case "end": + EndGameHandler.StartGoodEnding(); + break; default: WriteLine("Invalid argument: " + args[1] + ". Debug can only debug the following: 'shiftnet-story'."); break; @@ -2996,6 +3010,15 @@ public void cmd_default(String[] args) } } + /// + /// About Box, Created By Carver Harrison + /// + /// String[] args + public void cmd_about(String[] args) + { + API.CreateInfoboxSession("About ShiftOS", "ShiftOS Version " + ProductVersion + "\n Copyright 2014-2016 ShiftOS Dev Team \n Type 'credits' in Terminal to Show Credits", infobox.InfoboxMode.Info); + } + // HISTACOM REFERENCES, DO NOT REMOVE, CRUCIAL FOR SECRET STORY ARC public void cmd_histacom_year(String[] args) { diff --git a/source/WindowsFormsApplication1/FinalMission/EndGameHandler.cs b/source/WindowsFormsApplication1/FinalMission/EndGameHandler.cs index aea2f82..7d1f12f 100644 --- a/source/WindowsFormsApplication1/FinalMission/EndGameHandler.cs +++ b/source/WindowsFormsApplication1/FinalMission/EndGameHandler.cs @@ -258,7 +258,7 @@ public static void SetupGUIforCurrent() mguide.ButtonText = "End DevX"; mguide.OnButtonClick = new Action(() => { - //code to run to start uninstall of ShiftOS. + StartGoodEnding(); }); objPrompt = "Firewall, check. Primary server, check. Secondary server, CHECK. Telemetry server, CHECK. Now it's time to disable DevX himself. After all, he IS just code."; break; @@ -271,5 +271,13 @@ public static void SetupGUIforCurrent() } } #endregion + + public static void StartGoodEnding() + { + var room = new FakeChatClient(); + room.OtherCharacters = new List(); + room.OtherCharacters.Add("TheHiddenHacker"); + room.Messages.Add("TheHiddenHacker", "After All This Time..."); + } } } \ No newline at end of file diff --git a/source/WindowsFormsApplication1/Program.cs b/source/WindowsFormsApplication1/Program.cs index 0cb9096..6d8e675 100644 --- a/source/WindowsFormsApplication1/Program.cs +++ b/source/WindowsFormsApplication1/Program.cs @@ -181,7 +181,6 @@ static void ExtractDependencies() 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."); wc.DownloadFileAsync(new Uri("http://playshiftos.ml/shiftos/dependencies/ShiftOS_Dependencies.zip"), zippath); } - } } } diff --git a/source/WindowsFormsApplication1/ShiftOS.csproj b/source/WindowsFormsApplication1/ShiftOS.csproj index 9e24979..65c7d44 100644 --- a/source/WindowsFormsApplication1/ShiftOS.csproj +++ b/source/WindowsFormsApplication1/ShiftOS.csproj @@ -85,6 +85,12 @@ + + Form + + + About.cs + Form @@ -401,6 +407,9 @@ WindowBorder.cs + + About.cs + Appscape.cs