diff options
| author | MichaelTheShifter <[email protected]> | 2016-05-17 15:37:02 -0400 |
|---|---|---|
| committer | MichaelTheShifter <[email protected]> | 2016-05-17 15:37:02 -0400 |
| commit | a3fc2c45ec2a62684e128ffd7cab88bd101ad917 (patch) | |
| tree | 1dc63efaa4597a28fd901047a714f38954dafa5e /source/WindowsFormsApplication1/API.cs | |
| parent | 0085241d2366f266b5416488dbead174184420b0 (diff) | |
| download | shiftos-c-_theultimatehacker-a3fc2c45ec2a62684e128ffd7cab88bd101ad917.tar.gz shiftos-c-_theultimatehacker-a3fc2c45ec2a62684e128ffd7cab88bd101ad917.tar.bz2 shiftos-c-_theultimatehacker-a3fc2c45ec2a62684e128ffd7cab88bd101ad917.zip | |
Committing all I've got
Committing everything I've got - so that I can take a break for a few
months and work on other things.
Diffstat (limited to 'source/WindowsFormsApplication1/API.cs')
| -rw-r--r-- | source/WindowsFormsApplication1/API.cs | 651 |
1 files changed, 396 insertions, 255 deletions
diff --git a/source/WindowsFormsApplication1/API.cs b/source/WindowsFormsApplication1/API.cs index 2b88457..8589708 100644 --- a/source/WindowsFormsApplication1/API.cs +++ b/source/WindowsFormsApplication1/API.cs @@ -85,6 +85,19 @@ namespace ShiftOS /// </summary> public static bool DeveloperMode = true; + /// <summary> + /// If this is true, only certain applications will open and only + /// certain features will work. + /// + /// This is useful for story plots like the End Game where you don't + /// want the user being distracted by novelty features when they should + /// be focusing on what's happening. + /// + /// Think of it like the opposite of what Developer Mode would do. + /// </summary> + public static bool LimitedMode = false; + + public static bool InfoboxesPlaySounds = true; public static List<Process> RunningModProcesses = new List<Process>(); public static Dictionary<string, string> CommandAliases = new Dictionary<string, string>(); @@ -284,127 +297,135 @@ namespace ShiftOS /// <param name="modSAA">File to run.</param> public static void LaunchMod(string modSAA) { - if (Upgrades["shiftnet"] == true) + if (!LimitedMode) { - if (File.Exists(modSAA)) + if (Upgrades["shiftnet"] == true) { - if (File.ReadAllText(modSAA) == HiddenAPMCommand) - { - CreateForm(new Appscape(), "Appscape Package Manager", Properties.Resources.iconAppscape); - } - else if(File.ReadAllText(modSAA) == HiddenDecryptorCommand) - { - CreateForm(new ShiftnetDecryptor(), "Shiftnet Decryptor", Properties.Resources.iconShiftnet); - } - else if(File.ReadAllText(modSAA) == HiddenBDiggerCommand) - { - CreateForm(new BitnoteDigger(), "Bitnote Digger", Properties.Resources.iconBitnoteDigger); - } - else if(File.ReadAllText(modSAA) == HiddenBWalletCommand) - { - CreateForm(new BitnoteWallet(), "Bitnote Wallet", Properties.Resources.iconBitnoteWallet); - } - else if (File.ReadAllText(modSAA) == HiddenShiftnetCommand) - { - CreateForm(new Shiftnet(), "Shiftnet", Properties.Resources.iconShiftnet); - } - else if (File.ReadAllText(modSAA) == HiddenBTNConvertCommand) + if (File.Exists(modSAA)) { - CreateForm(new BitnoteConverter(), "Bitnote Converter", Properties.Resources.iconBitnoteWallet); - } - else if (File.ReadAllText(modSAA) == HiddenDodgeCommand) - { - CreateForm(new Dodge(), "Dodge", Properties.Resources.iconDodge); - } - else if (File.ReadAllText(modSAA) == HiddenLabyrinthCommand) - { - CreateForm(new Labyrinth(), "Labyrinth", null); - } - else if (File.ReadAllText(modSAA) == HiddenQuickChatCommand) - { - CreateForm(new QuickChat(), "QuickChat", null); - } - else { - try + if (File.ReadAllText(modSAA) == HiddenAPMCommand) { - ExtractFile(modSAA, Paths.Mod_Temp, true); - var l = new LuaInterpreter(Paths.Mod_Temp + "main.lua"); + CreateForm(new Appscape(), "Appscape Package Manager", Properties.Resources.iconAppscape); } - catch(Exception ex) + else if (File.ReadAllText(modSAA) == HiddenDecryptorCommand) { - LogException("Error launching mod file (.saa): " + ex.Message, false); - CreateInfoboxSession("Error", "Could not launch the .saa file you specified. It is unsupported by this version of ShiftOS.", infobox.InfoboxMode.Info); + CreateForm(new ShiftnetDecryptor(), "Shiftnet Decryptor", Properties.Resources.iconShiftnet); } - } - var story_rnd = new Random(); - int story_chance = story_rnd.Next(0, 100); - switch (story_chance) - { - case 4: - if (API.Upgrades["otherplayerstory"] == false) - { - var t = new Terminal(); - API.CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); - t.StartOtherPlayerStory(); - } - break; - case 25: - if (API.Upgrades["devxfurious"] == false) - { - var t = new Terminal(); - API.CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); - t.StartDevXFuriousStory(); - } - break; - case 30: - if (API.Upgrades["aidennirh"] == false) + else if (File.ReadAllText(modSAA) == HiddenBDiggerCommand) + { + CreateForm(new BitnoteDigger(), "Bitnote Digger", Properties.Resources.iconBitnoteDigger); + } + else if (File.ReadAllText(modSAA) == HiddenBWalletCommand) + { + CreateForm(new BitnoteWallet(), "Bitnote Wallet", Properties.Resources.iconBitnoteWallet); + } + else if (File.ReadAllText(modSAA) == HiddenShiftnetCommand) + { + CreateForm(new Shiftnet(), "Shiftnet", Properties.Resources.iconShiftnet); + } + else if (File.ReadAllText(modSAA) == HiddenBTNConvertCommand) + { + CreateForm(new BitnoteConverter(), "Bitnote Converter", Properties.Resources.iconBitnoteWallet); + } + else if (File.ReadAllText(modSAA) == HiddenDodgeCommand) + { + CreateForm(new Dodge(), "Dodge", Properties.Resources.iconDodge); + } + else if (File.ReadAllText(modSAA) == HiddenLabyrinthCommand) + { + CreateForm(new Labyrinth(), "Labyrinth", null); + } + else if (File.ReadAllText(modSAA) == HiddenQuickChatCommand) + { + CreateForm(new QuickChat(), "QuickChat", null); + } + else + { + try { - var t = new Terminal(); - API.CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); - t.StartAidenNirhStory(); + ExtractFile(modSAA, Paths.Mod_Temp, true); + var l = new LuaInterpreter(Paths.Mod_Temp + "main.lua"); } - break; - case 75: - if (API.Upgrades["hacker101"] == false) + catch (Exception ex) { - var t = new Terminal(); - API.CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); - t.StartHacker101Story(); + LogException("Error launching mod file (.saa): " + ex.Message, false); + CreateInfoboxSession("Error", "Could not launch the .saa file you specified. It is unsupported by this version of ShiftOS.", infobox.InfoboxMode.Info); } - break; - //case 1000: - // t.StartJonathanLadouceurStory(); - // break; - //Do you honestly think HE would appear in ShiftOS? Yugh. NO. - default: - if (API.Upgrades["devxfurious"] == true) - { - if (API.Upgrades["otherplayerrescue"] == false) + } + var story_rnd = new Random(); + int story_chance = story_rnd.Next(0, 100); + switch (story_chance) + { + case 4: + if (API.Upgrades["otherplayerstory"] == false) + { + var t = new Terminal(); + API.CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); + t.StartOtherPlayerStory(); + } + break; + case 25: + if (API.Upgrades["devxfurious"] == false) { var t = new Terminal(); - t.StartOtherPlayerSysFix(); - CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); + API.CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); + t.StartDevXFuriousStory(); } - else + break; + case 30: + if (API.Upgrades["aidennirh"] == false) { - if(API.Upgrades["midgamebridge"] == false) + var t = new Terminal(); + API.CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); + t.StartAidenNirhStory(); + } + break; + case 75: + if (API.Upgrades["hacker101"] == false) + { + var t = new Terminal(); + API.CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); + t.StartHacker101Story(); + } + break; + //case 1000: + // t.StartJonathanLadouceurStory(); + // break; + //Do you honestly think HE would appear in ShiftOS? Yugh. NO. + default: + if (API.Upgrades["devxfurious"] == true) + { + if (API.Upgrades["otherplayerrescue"] == false) { - /*var t = new Terminal(); - t.StartBridgeToMidGame(); - CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal);*/ + var t = new Terminal(); + t.StartOtherPlayerSysFix(); + CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal); + } + else + { + if (API.Upgrades["midgamebridge"] == false) + { + /*var t = new Terminal(); + t.StartBridgeToMidGame(); + CreateForm(t, LoadedNames.TerminalName, Properties.Resources.iconTerminal);*/ + } } } - } - break; + break; + } + + } + else + { + throw new ModNotFoundException(); } - - } - else - { - throw new ModNotFoundException(); } } + else + { + CreateInfoboxSession("Limited mode", "ShiftOS is in limited mode and cannot perform this action. Please complete the current Mission first.", infobox.InfoboxMode.Info); + } } @@ -661,22 +682,37 @@ namespace ShiftOS Skinning.Utilities.LoadEmbeddedNamePack(); //System Applications AppLauncherItems.Clear(); - AppLauncherItems.Add(new ApplauncherItem(LoadedNames.ArtpadName, GetIcon("Artpad"), "open_program('artpad')", Upgrades["alartpad"])); + if (!LimitedMode) + AppLauncherItems.Add(new ApplauncherItem(LoadedNames.ArtpadName, GetIcon("Artpad"), "open_program('artpad')", Upgrades["alartpad"])); AppLauncherItems.Add(new ApplauncherItem(LoadedNames.FileSkimmerName, GetIcon("FileSkimmer"), "open_program('file_skimmer')", Upgrades["alfileskimmer"])); - AppLauncherItems.Add(new ApplauncherItem(LoadedNames.SkinLoaderName, GetIcon("SkinLoader"), "open_program('skinloader')", Upgrades["skinning"])); - AppLauncherItems.Add(new ApplauncherItem(LoadedNames.ShiftoriumName, GetIcon("Shiftorium"), "open_program('shiftorium')", Upgrades["alshiftorium"])); + if (!LimitedMode) + { + AppLauncherItems.Add(new ApplauncherItem(LoadedNames.SkinLoaderName, GetIcon("SkinLoader"), "open_program('skinloader')", Upgrades["skinning"])); + AppLauncherItems.Add(new ApplauncherItem(LoadedNames.ShiftoriumName, GetIcon("Shiftorium"), "open_program('shiftorium')", Upgrades["alshiftorium"])); + } AppLauncherItems.Add(new ApplauncherItem("HoloChat", GetIcon("HoloChat"), "open_program('holochat')", API.Upgrades["holochat"])); - AppLauncherItems.Add(new ApplauncherItem("Icon Manager", GetIcon("IconManager"), "open_program('iconmanager')", Upgrades["iconmanager"])); - AppLauncherItems.Add(new ApplauncherItem(LoadedNames.ShifterName, GetIcon("Shifter"), "open_program('shifter')", Upgrades["alshifter"])); - AppLauncherItems.Add(new ApplauncherItem(LoadedNames.NameChangerName, GetIcon("NameChanger"), "open_program('name_changer')", Upgrades["namechanger"])); - AppLauncherItems.Add(new ApplauncherItem(LoadedNames.PongName, GetIcon("Pong"), "open_program('pong')", Upgrades["alpong"])); + if (!LimitedMode) + { + AppLauncherItems.Add(new ApplauncherItem("Icon Manager", GetIcon("IconManager"), "open_program('iconmanager')", Upgrades["iconmanager"])); + AppLauncherItems.Add(new ApplauncherItem(LoadedNames.ShifterName, GetIcon("Shifter"), "open_program('shifter')", Upgrades["alshifter"])); + AppLauncherItems.Add(new ApplauncherItem(LoadedNames.NameChangerName, GetIcon("NameChanger"), "open_program('name_changer')", Upgrades["namechanger"])); + AppLauncherItems.Add(new ApplauncherItem(LoadedNames.PongName, GetIcon("Pong"), "open_program('pong')", Upgrades["alpong"])); + } + if(LimitedMode) + { + AppLauncherItems.Add(new ApplauncherItem("Quest Viewer", GetIcon("QuestViewer"), "open_program('quests')", true)); + } AppLauncherItems.Add(new ApplauncherItem(LoadedNames.TextpadName, GetIcon("TextPad"), "open_program('textpad')", Upgrades["altextpad"])); AppLauncherItems.Add(new ApplauncherItem(LoadedNames.TerminalName, GetIcon("Terminal"), "open_terminal()", true)); - AppLauncherItems.Add(new ApplauncherItem(LoadedNames.KnowledgeInputName, GetIcon("KI"), "open_program('ki')", true)); - - //System Features - AppLauncherItems.Add(new ApplauncherItem(LoadedNames.UnityName, GetIcon("Unity"), "toggle_unity()", Upgrades["alunity"])); - AppLauncherItems.Add(new ApplauncherItem(LoadedNames.ShutdownName, GetIcon("Shutdown"), "shutdown()", Upgrades["applaunchershutdown"])); + if (!LimitedMode) + { + AppLauncherItems.Add(new ApplauncherItem(LoadedNames.KnowledgeInputName, GetIcon("KI"), "open_program('ki')", true)); + + + //System Features + AppLauncherItems.Add(new ApplauncherItem(LoadedNames.UnityName, GetIcon("Unity"), "toggle_unity()", Upgrades["alunity"])); + AppLauncherItems.Add(new ApplauncherItem(LoadedNames.ShutdownName, GetIcon("Shutdown"), "shutdown()", Upgrades["applaunchershutdown"])); + } } /// <summary> @@ -715,6 +751,17 @@ namespace ShiftOS } /// <summary> + /// Plays a sound from a byte[] array. Useful for MP3s and other formats. + /// </summary> + /// <param name="file">The byte[] aray</param> + public static void PlaySound(byte[] file) + { + Stream mstr = new MemoryStream(file); + SoundPlayer player = new SoundPlayer(mstr); + player.Play(); + } + + /// <summary> /// Shiftorium upgrades. /// </summary> public static Dictionary<string, bool> Upgrades @@ -831,46 +878,62 @@ namespace ShiftOS /// </summary> public static void ShutDownShiftOS() { - //Disconnect from server. - foreach(string ip in Package_Grabber.clients.Keys) + if (!LimitedMode) { - Package_Grabber.Disconnect(ip); - } - //Close all mods. - WindowComposition.ShuttingDown = true; - if (RunningModProcesses.Count > 0) - { - foreach (Process mod in RunningModProcesses) + //dispose audio clients + Audio.DisposeAll(); + //Disconnect from server. + try { - try { - mod.Kill(); + foreach (string ip in Package_Grabber.clients.Keys) + { + Package_Grabber.Disconnect(ip); } - catch(Exception ex) + } + catch + { + + } + //Close all mods. + WindowComposition.ShuttingDown = true; + if (RunningModProcesses.Count > 0) + { + foreach (Process mod in RunningModProcesses) { - LogException(ex.Message, false); + try + { + mod.Kill(); + } + catch (Exception ex) + { + LogException(ex.Message, false); + } } + SaveSystem.Utilities.saveGame(); + Application.Exit(); + } SaveSystem.Utilities.saveGame(); - Application.Exit(); - - } - SaveSystem.Utilities.saveGame(); - //Right before the game closes... - try - { - if (Directory.Exists(Paths.Mod_Temp)) - Directory.Delete(Paths.Mod_Temp, true); - } - catch(Exception ex) - { - API.LogException(ex.Message, false); + //Right before the game closes... + try + { + if (Directory.Exists(Paths.Mod_Temp)) + Directory.Delete(Paths.Mod_Temp, true); + } + catch (Exception ex) + { + API.LogException(ex.Message, false); + } + finally + { + //Alright, ShiftOS! HAVE AT IT! + Application.Exit(); + } } - finally + else { - //Alright, ShiftOS! HAVE AT IT! - Application.Exit(); + CreateInfoboxSession("Limited mode", "ShiftOS is in limited mode and cannot be shut down. Please complete the current mission before shutting down.", infobox.InfoboxMode.Info); } - } /// <summary> @@ -942,125 +1005,136 @@ namespace ShiftOS /// <param name="AppIcon">Icon to display on the titlebar.</param> public static void CreateForm(Form formToCreate, string AppName, Image AppIcon) { - - if (Upgrades["multitasking"] == false && formToCreate.Name != "infobox") + if(API.CurrentSession == null) { - CloseEverything(); + API.CurrentSession = new ShiftOSDesktop(); } - var bw = new BackgroundWorker(); - bw.DoWork += (object sen, DoWorkEventArgs eva) => + try { - WindowComposition.SafeToAddControls = false; + if (Upgrades["multitasking"] == false && formToCreate.Name != "infobox") + { + CloseEverything(); + } + var bw = new BackgroundWorker(); + bw.DoWork += (object sen, DoWorkEventArgs eva) => + { + WindowComposition.SafeToAddControls = false; //bugfix: Close any terminal if WindowedTerminal isn't installed. if (Upgrades["windowedterminal"] == false) - { - API.CurrentSession.Invoke(new Action(() => { - foreach (Form frm in OpenPrograms) + API.CurrentSession.Invoke(new Action(() => { - if (frm.Name.ToLower() == "terminal") + foreach (Form frm in OpenPrograms) { - API.CurrentSession.Invoke(new Action(() => + if (frm.Name.ToLower() == "terminal") { - frm.Close(); - })); + API.CurrentSession.Invoke(new Action(() => + { + frm.Close(); + })); + } } - } - })); - } - WindowBorder brdr = new WindowBorder(AppName, AppIcon); - brdr.Name = "api_brdr"; - formToCreate.Controls.Add(brdr); - formToCreate.ShowInTaskbar = false; - brdr.Show(); - formToCreate.FormBorderStyle = FormBorderStyle.None; - brdr.Dock = DockStyle.Fill; - BordersToUpdate.Add(brdr); - List<Control> duplicates = new List<Control>(); - foreach (Control ctrl in formToCreate.Controls) - { - if (ctrl.Name != "api_brdr") - { - ctrl.Hide(); - brdr.pgcontents.Controls.Add(ctrl); - duplicates.Add(ctrl); - } - } - foreach (Control ctrl in duplicates) - { - try { - formToCreate.Controls.Remove(ctrl); - ctrl.Show(); + })); } - catch(Exception ex) + WindowBorder brdr = new WindowBorder(AppName, AppIcon); + brdr.Name = "api_brdr"; + formToCreate.Controls.Add(brdr); + formToCreate.ShowInTaskbar = false; + brdr.Show(); + formToCreate.FormBorderStyle = FormBorderStyle.None; + brdr.Dock = DockStyle.Fill; + BordersToUpdate.Add(brdr); + List<Control> duplicates = new List<Control>(); + foreach (Control ctrl in formToCreate.Controls) { - API.CurrentSession.Invoke(new Action(() => + if (ctrl.Name != "api_brdr") { - ctrl.Show(); - })); + ctrl.Hide(); + brdr.pgcontents.Controls.Add(ctrl); + duplicates.Add(ctrl); + } } - } - WindowComposition.ShowForm(formToCreate, CurrentSkin.WindowOpenAnimation); - API.CurrentSession.Invoke(new Action(() => - { - brdr.justopened = true; - formToCreate.TopMost = true; - - //Open terminal on CTRL+T press on any form. - formToCreate.KeyDown += (object sender, KeyEventArgs e) => + foreach (Control ctrl in duplicates) { - if (e.KeyCode == Keys.T && e.Control && formToCreate.Name != "Terminal") + try { - CreateForm(new Terminal(), CurrentSave.TerminalName, Properties.Resources.iconTerminal); + formToCreate.Controls.Remove(ctrl); + ctrl.Show(); } - if (formToCreate.Name != "Terminal" || Upgrades["windowedterminal"] == true) + catch (Exception ex) { + API.CurrentSession.Invoke(new Action(() => + { + ctrl.Show(); + })); + } + } + WindowComposition.ShowForm(formToCreate, CurrentSkin.WindowOpenAnimation); + API.CurrentSession.Invoke(new Action(() => + { + brdr.justopened = true; + formToCreate.TopMost = true; + + //Open terminal on CTRL+T press on any form. + formToCreate.KeyDown += (object sender, KeyEventArgs e) => + { + if (e.KeyCode == Keys.T && e.Control && formToCreate.Name != "Terminal") + { + CreateForm(new Terminal(), CurrentSave.TerminalName, Properties.Resources.iconTerminal); + } + if (formToCreate.Name != "Terminal" || Upgrades["windowedterminal"] == true) + { //Movable Windows if (API.Upgrades["movablewindows"] == true) - { - if (e.KeyCode == Keys.A && e.Control) - { - e.Handled = true; - formToCreate.Location = new Point(formToCreate.Location.X - 30, formToCreate.Location.Y); - } - if (e.KeyCode == Keys.D && e.Control) - { - e.Handled = true; - formToCreate.Location = new Point(formToCreate.Location.X + 30, formToCreate.Location.Y); - } - if (e.KeyCode == Keys.W && e.Control) - { - e.Handled = true; - formToCreate.Location = new Point(formToCreate.Location.X, formToCreate.Location.Y - 30); - } - if (e.KeyCode == Keys.S && e.Control) { - e.Handled = true; - formToCreate.Location = new Point(formToCreate.Location.X, formToCreate.Location.Y + 30); + if (e.KeyCode == Keys.A && e.Control) + { + e.Handled = true; + formToCreate.Location = new Point(formToCreate.Location.X - 30, formToCreate.Location.Y); + } + if (e.KeyCode == Keys.D && e.Control) + { + e.Handled = true; + formToCreate.Location = new Point(formToCreate.Location.X + 30, formToCreate.Location.Y); + } + if (e.KeyCode == Keys.W && e.Control) + { + e.Handled = true; + formToCreate.Location = new Point(formToCreate.Location.X, formToCreate.Location.Y - 30); + } + if (e.KeyCode == Keys.S && e.Control) + { + e.Handled = true; + formToCreate.Location = new Point(formToCreate.Location.X, formToCreate.Location.Y + 30); + } } } - } - }; - formToCreate.TransparencyKey = Skinning.Utilities.globaltransparencycolour; - OpenPrograms.Add(formToCreate); - if(AppName == "Enemy Hacker") - { - API.CurrentSession.Invoke(new Action(() => + }; + formToCreate.TransparencyKey = Skinning.Utilities.globaltransparencycolour; + OpenPrograms.Add(formToCreate); + if (AppName == "Enemy Hacker") { - formToCreate.Left = Screen.PrimaryScreen.Bounds.Width - formToCreate.Width; - })); - } - else if(AppName == "You") - { - API.CurrentSession.Invoke(new Action(() => + API.CurrentSession.Invoke(new Action(() => + { + formToCreate.Left = Screen.PrimaryScreen.Bounds.Width - formToCreate.Width; + })); + } + else if (AppName == "You") { - formToCreate.Left = 0; - })); - } - })); - WindowComposition.SafeToAddControls = true; - }; - bw.RunWorkerAsync(); + API.CurrentSession.Invoke(new Action(() => + { + formToCreate.Left = 0; + })); + } + })); + WindowComposition.SafeToAddControls = true; + }; + bw.RunWorkerAsync(); + } + catch + { + + } } /// <summary> @@ -1639,15 +1713,44 @@ namespace ShiftOS bool succeeded = true; switch (cmd) { + case "quests": + if(LimitedMode) + { + CreateForm(new FinalMission.QuestViewer(), "Quest Viewer", GetIcon("QuestViewer")); + } + else + { + succeeded = false; + } + break; case "iconmanager": - if(API.Upgrades["iconmanager"]) + if (!LimitedMode) { - CreateForm(new IconManager(), "Icon Manager", GetIcon("IconManager")); + if (API.Upgrades["iconmanager"]) + { + CreateForm(new IconManager(), "Icon Manager", GetIcon("IconManager")); + + } + else + { + succeeded = false; + } + } + else + { + succeeded = false; } break; case "knowledge_input": case "ki": - API.CreateForm(new KnowledgeInput(), API.LoadedNames.KnowledgeInputName, GetIcon("KI")); + if (!LimitedMode) + { + API.CreateForm(new KnowledgeInput(), API.LoadedNames.KnowledgeInputName, GetIcon("KI")); + } + else + { + succeeded = false; + } break; case "holochat": if(API.Upgrades["holochat"] == true) @@ -1661,9 +1764,16 @@ namespace ShiftOS break; case "namechanger": case "name_changer": - if (API.Upgrades["namechanger"] == true) + if (!LimitedMode) { - CreateForm(new NameChanger(), LoadedNames.NameChangerName, GetIcon("NameChanger")); + if (API.Upgrades["namechanger"] == true) + { + CreateForm(new NameChanger(), LoadedNames.NameChangerName, GetIcon("NameChanger")); + } + else + { + succeeded = false; + } } else { @@ -1671,9 +1781,16 @@ namespace ShiftOS } break; case "artpad": - if(API.Upgrades["artpad"] == true) + if (!LimitedMode) { - CreateForm(new Artpad(), LoadedNames.ArtpadName, GetIcon("Artpad")); + if (API.Upgrades["artpad"] == true) + { + CreateForm(new Artpad(), LoadedNames.ArtpadName, GetIcon("Artpad")); + } + else + { + succeeded = false; + } } else { @@ -1691,9 +1808,16 @@ namespace ShiftOS break; case "skinloader": case "skin_loader": - if(Upgrades["skinning"] == true) + if (!LimitedMode) { - CreateForm(new SkinLoader(), "Skin Loader", GetIcon("SkinLoader")); + if (Upgrades["skinning"] == true) + { + CreateForm(new SkinLoader(), "Skin Loader", GetIcon("SkinLoader")); + } + else + { + succeeded = false; + } } else { @@ -1701,26 +1825,36 @@ namespace ShiftOS } break; case "shifter": - if(Upgrades["shifter"] == true) + if (!LimitedMode) { - CreateForm(new Shifter(), "Shifter", GetIcon("Shifter")); + if (Upgrades["shifter"] == true) + { + CreateForm(new Shifter(), "Shifter", GetIcon("Shifter")); + } + else + { + succeeded = false; + } } else { succeeded = false; } break; - /* TEMP-REMOVED: I just can't get it to work. - case "jumper": - CreateForm(new Jumper(), "Jumper", null); - break; - */ case "pong": - if (Upgrades["pong"] == true) + if (!LimitedMode) { - CreateForm(new Pong(), "Pong", GetIcon("Pong")); + if (Upgrades["pong"] == true) + { + CreateForm(new Pong(), "Pong", GetIcon("Pong")); + } + else + { + succeeded = false; + } } - else { + else + { succeeded = false; } break; @@ -1735,7 +1869,14 @@ namespace ShiftOS } break; case "shiftorium": - CreateForm(new Shiftorium.Frontend(), LoadedNames.ShiftoriumName, GetIcon("Shiftorium")); + if (!LimitedMode) + { + CreateForm(new Shiftorium.Frontend(), LoadedNames.ShiftoriumName, GetIcon("Shiftorium")); + } + else + { + succeeded = false; + } break; default: succeeded = false; |
