From a9732201f5d8aa05bbcb824ba0d8601784317aae Mon Sep 17 00:00:00 2001 From: Bitl Date: Sun, 12 Sep 2021 18:38:58 -0700 Subject: [PATCH] 1.3 pre-release 4 commit --- .../ClientScriptTester.cs | 70 --------------- .../Novetus.ClientScriptTester.csproj | 4 - .../packages.config | 4 - Novetus/NovetusCMD/NovetusCMD.cs | 30 +++---- .../CharacterCustomizationShared.cs | 10 ++- .../Compact/CharacterCustomizationCompact.cs | 3 +- .../CharacterCustomizationExtended.cs | 3 +- Novetus/NovetusCore/CharCustom/IconLoader.cs | 3 + Novetus/NovetusCore/Classes/INIFile.cs | 5 +- .../StorageAndFunctions/GlobalFuncs.cs | 85 +++++++++++++++---- .../StorageAndFunctions/ScriptFuncs.cs | 10 ++- .../StorageAndFunctions/SecurityFuncs.cs | 7 +- .../NovetusCore/WinForms/TreeNodeHelper.cs | 5 +- .../Classes/Launcher/AddonLoader.cs | 58 ++++++++++++- .../Classes/Launcher/SplashLoader.cs | 7 +- .../NovetusLauncher/Classes/SDK/Downloader.cs | 2 + .../Forms/CustomGraphicsOptions.cs | 51 +++++++---- .../Forms/LauncherForm/LauncherFormShared.cs | 18 ++-- Novetus/NovetusLauncher/Forms/SDK/AssetSDK.cs | 41 ++++++--- .../Forms/SDK/ClientinfoCreator.cs | 9 +- .../Forms/SDK/ItemCreationSDK.cs | 5 +- .../NovetusLauncher/Forms/ServerBrowser.cs | 8 +- Novetus/NovetusLauncher/NovetusLauncher.cs | 17 +--- Novetus/NovetusURI/Classes/LocalFuncs.cs | 4 +- Novetus/NovetusURI/NovetusURI.cs | 13 +-- 25 files changed, 273 insertions(+), 199 deletions(-) delete mode 100644 Novetus/Novetus.ClientScriptTester/packages.config diff --git a/Novetus/Novetus.ClientScriptTester/ClientScriptTester.cs b/Novetus/Novetus.ClientScriptTester/ClientScriptTester.cs index 01dac4a..6591f6a 100644 --- a/Novetus/Novetus.ClientScriptTester/ClientScriptTester.cs +++ b/Novetus/Novetus.ClientScriptTester/ClientScriptTester.cs @@ -1,10 +1,5 @@ #region Usings -using NLog; using System; -using System.Diagnostics; -using System.IO; -using System.Reflection; -using System.Text; using System.Windows.Forms; #endregion @@ -13,77 +8,12 @@ namespace Novetus.ClientScriptTester #region ClientScript Tester static class ClientScriptTester { - #region Exeption Helpers - //https://github.com/AlexMelw/EasySharp/blob/master/NHelpers/ExceptionsDealing/Extensions/ExceptionExtensions.cs - /// - /// Gets the entire stack trace consisting of exception's footprints (File, Method, LineNumber) - /// - /// Source - /// - /// that represents the entire stack trace consisting of exception's footprints (File, - /// Method, LineNumber) - /// - public static string GetExceptionFootprints(this Exception exception) - { - StackTrace stackTrace = new StackTrace(exception, true); - StackFrame[] frames = stackTrace.GetFrames(); - - if (ReferenceEquals(frames, null)) - { - return string.Empty; - } - - var traceStringBuilder = new StringBuilder(); - - for (var i = 0; i < frames.Length; i++) - { - StackFrame frame = frames[i]; - - if (frame.GetFileLineNumber() < 1) - continue; - - traceStringBuilder.AppendLine($"File: {frame.GetFileName()}"); - traceStringBuilder.AppendLine($"Method: {frame.GetMethod().Name}"); - traceStringBuilder.AppendLine($"LineNumber: {frame.GetFileLineNumber()}"); - - if (i == frames.Length - 1) - break; - - traceStringBuilder.AppendLine(" ---> "); - } - - string stackTraceFootprints = traceStringBuilder.ToString(); - - if (string.IsNullOrWhiteSpace(stackTraceFootprints)) - return "NO DETECTED FOOTPRINTS"; - - return stackTraceFootprints; - } - #endregion - /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { - var config = new NLog.Config.LoggingConfiguration(); - var logfile = new NLog.Targets.FileTarget("logfile") { FileName = Assembly.GetExecutingAssembly().Location + "\\Tester-log-" + DateTime.Today.ToString("MM-dd-yyyy") + ".log" }; - config.AddRule(LogLevel.Info, LogLevel.Fatal, logfile); - LogManager.Configuration = config; - - //https://stackify.com/csharp-catch-all-exceptions/ - AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) => - { - Logger log = LogManager.GetCurrentClassLogger(); - log.Error("EXEPTION THROWN: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.Message) ? eventArgs.Exception.Message : "N/A")); - log.Error("EXCEPTION INFO: " + (eventArgs.Exception != null ? eventArgs.Exception.ToString() : "N/A")); - log.Error("INNER EXCEPTION: " + (eventArgs.Exception.InnerException != null ? eventArgs.Exception.InnerException.ToString() : "N/A")); - log.Error("STACK TRACE: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.StackTrace) ? eventArgs.Exception.StackTrace : "N/A")); - log.Error("TARGET SITE: " + (eventArgs.Exception.TargetSite != null ? eventArgs.Exception.TargetSite.ToString() : "N/A")); - log.Error("FOOTPRINTS: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.GetExceptionFootprints()) ? eventArgs.Exception.GetExceptionFootprints() : "N/A")); - }; - Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); diff --git a/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj b/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj index 3df748c..133d8ed 100644 --- a/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj +++ b/Novetus/Novetus.ClientScriptTester/Novetus.ClientScriptTester.csproj @@ -34,9 +34,6 @@ NovetusIcon.ico - - ..\packages\NLog.4.7.2\lib\net40-client\NLog.dll - @@ -76,7 +73,6 @@ Resources.resx - SettingsSingleFileGenerator Settings.Designer.cs diff --git a/Novetus/Novetus.ClientScriptTester/packages.config b/Novetus/Novetus.ClientScriptTester/packages.config deleted file mode 100644 index 9ae8f0f..0000000 --- a/Novetus/Novetus.ClientScriptTester/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Novetus/NovetusCMD/NovetusCMD.cs b/Novetus/NovetusCMD/NovetusCMD.cs index 7dff749..089b224 100644 --- a/Novetus/NovetusCMD/NovetusCMD.cs +++ b/Novetus/NovetusCMD/NovetusCMD.cs @@ -5,6 +5,7 @@ using System.Diagnostics; using System.IO; using System.Windows.Forms; using NLog; +using System.Threading; #endregion namespace NovetusCMD @@ -25,6 +26,7 @@ namespace NovetusCMD catch (Exception ex) { GlobalFuncs.ConsolePrint("UPnP: Unable to initialize UPnP. Reason - " + ex.Message, 2); + GlobalFuncs.LogExceptions(ex); } } } @@ -42,7 +44,8 @@ namespace NovetusCMD catch (Exception ex) { GlobalFuncs.ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2); - } + GlobalFuncs.LogExceptions(ex); + } } } @@ -59,7 +62,8 @@ namespace NovetusCMD catch (Exception ex) { GlobalFuncs.ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2); - } + GlobalFuncs.LogExceptions(ex); + } } } @@ -76,7 +80,8 @@ namespace NovetusCMD catch (Exception ex) { GlobalFuncs.ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2); - } + GlobalFuncs.LogExceptions(ex); + } } private static void DeviceLost(object sender, DeviceEventArgs args) @@ -92,7 +97,8 @@ namespace NovetusCMD catch (Exception ex) { GlobalFuncs.ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2); - } + GlobalFuncs.LogExceptions(ex); + } } #endregion @@ -120,18 +126,6 @@ namespace NovetusCMD config.AddRule(LogLevel.Info, LogLevel.Fatal, logfile); LogManager.Configuration = config; - //https://stackify.com/csharp-catch-all-exceptions/ - AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) => - { - Logger log = LogManager.GetCurrentClassLogger(); - log.Error("EXEPTION THROWN: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.Message) ? eventArgs.Exception.Message : "N/A")); - log.Error("EXCEPTION INFO: " + (eventArgs.Exception != null ? eventArgs.Exception.ToString() : "N/A")); - log.Error("INNER EXCEPTION: " + (eventArgs.Exception.InnerException != null ? eventArgs.Exception.InnerException.ToString() : "N/A")); - log.Error("STACK TRACE: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.StackTrace) ? eventArgs.Exception.StackTrace : "N/A")); - log.Error("TARGET SITE: " + (eventArgs.Exception.TargetSite != null ? eventArgs.Exception.TargetSite.ToString() : "N/A")); - log.Error("FOOTPRINTS: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.GetExceptionFootprints()) ? eventArgs.Exception.GetExceptionFootprints() : "N/A")); - }; - LoadCMDArgs(args); if (!LocalVars.PrintHelp) @@ -175,8 +169,8 @@ namespace NovetusCMD LocalFuncs.CommandInfo(); } - Console.ReadKey(); - } + Console.ReadKey(); + } static void ProgramClose(object sender, EventArgs e) { diff --git a/Novetus/NovetusCore/CharCustom/CharacterCustomizationShared.cs b/Novetus/NovetusCore/CharCustom/CharacterCustomizationShared.cs index b1e57c3..3f8609e 100644 --- a/Novetus/NovetusCore/CharCustom/CharacterCustomizationShared.cs +++ b/Novetus/NovetusCore/CharCustom/CharacterCustomizationShared.cs @@ -58,8 +58,9 @@ class CharacterCustomizationShared goto Failure; } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); goto Failure; } @@ -671,8 +672,9 @@ class CharacterCustomizationShared { box.SelectedItem = item; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); box.SelectedItem = defaultitem + ".rbxm"; } @@ -724,8 +726,9 @@ class CharacterCustomizationShared { GlobalFuncs.ChangeGameSettings("2011E"); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); } string luafile = "rbxasset://scripts\\\\CSView.lua"; string mapfile = GlobalPaths.BasePathLauncher + "\\preview\\content\\fonts\\3DView.rbxl"; @@ -743,6 +746,7 @@ class CharacterCustomizationShared catch (Exception ex) { MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + GlobalFuncs.LogExceptions(ex); } } #endregion diff --git a/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.cs b/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.cs index 37a14e7..bcf47ab 100644 --- a/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.cs +++ b/Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.cs @@ -812,8 +812,9 @@ public partial class CharacterCustomizationCompact : Form { icon.LoadImage(); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); } if (!string.IsNullOrWhiteSpace(icon.getInstallOutcome())) diff --git a/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.cs b/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.cs index 2467b99..e6b7bfe 100644 --- a/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.cs +++ b/Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.cs @@ -815,8 +815,9 @@ public partial class CharacterCustomizationExtended : Form { icon.LoadImage(); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); } if (!string.IsNullOrWhiteSpace(icon.getInstallOutcome())) diff --git a/Novetus/NovetusCore/CharCustom/IconLoader.cs b/Novetus/NovetusCore/CharCustom/IconLoader.cs index bcb9e7c..3192951 100644 --- a/Novetus/NovetusCore/CharCustom/IconLoader.cs +++ b/Novetus/NovetusCore/CharCustom/IconLoader.cs @@ -56,6 +56,9 @@ public class IconLoader catch (Exception ex) { installOutcome = "Error when installing icon: " + ex.Message; +#if URI || LAUNCHER || CMD + GlobalFuncs.LogExceptions(ex); +#endif } } } diff --git a/Novetus/NovetusCore/Classes/INIFile.cs b/Novetus/NovetusCore/Classes/INIFile.cs index 7dba0a3..1053834 100644 --- a/Novetus/NovetusCore/Classes/INIFile.cs +++ b/Novetus/NovetusCore/Classes/INIFile.cs @@ -57,9 +57,12 @@ public class INIFile 255, this.path); return temp.ToString(); } - catch (Exception) + catch (Exception ex) { IniWriteValue(Section, Key, DefaultValue); +#if URI || LAUNCHER || CMD + GlobalFuncs.LogExceptions(ex); +#endif return IniReadValue(Section, Key); } } diff --git a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs index 1876511..06f1d65 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs @@ -1,5 +1,5 @@ #region Usings -#if LAUNCHER || CMD +#if LAUNCHER || CMD || URI using NLog; #endif using System; @@ -11,6 +11,7 @@ using System.IO; using System.Reflection; using System.Text; using System.Text.RegularExpressions; +using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml.Linq; @@ -100,8 +101,11 @@ public class GlobalFuncs GlobalVars.UserConfiguration.MapPath = GlobalPaths.MapsDir + @"\\" + GlobalVars.ProgramInformation.DefaultMap; GlobalVars.UserConfiguration.MapPathSnip = GlobalPaths.MapsDirBase + @"\\" + GlobalVars.ProgramInformation.DefaultMap; } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif ReadInfoFile(infopath, other); } } @@ -237,8 +241,11 @@ public class GlobalFuncs GlobalVars.UserConfiguration.ServerBrowserServerAddress = SB_Address; GlobalVars.UserConfiguration.Priority = (ProcessPriorityClass)Convert.ToInt32(priority); } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif Config(cfgpath, true); } } @@ -374,8 +381,11 @@ public class GlobalFuncs GlobalVars.UserCustomization.ExtraSelectionIsHat = Convert.ToBoolean(extraishat); GlobalVars.UserCustomization.ShowHatsInExtra = Convert.ToBoolean(showhatsonextra); } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif Customization(cfgpath, true); } } @@ -491,8 +501,11 @@ public class GlobalFuncs break; } } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif ReShadeValues(cfgpath, true, setglobals); } } @@ -631,8 +644,11 @@ public class GlobalFuncs image.SetPropertyItem(item); } } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif if (!string.IsNullOrWhiteSpace(fallbackFileFullName)) image = LoadImage(fallbackFileFullName); } @@ -1162,8 +1178,11 @@ public class GlobalFuncs } } } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif return; } } @@ -1249,8 +1268,11 @@ public class GlobalFuncs fixedfile = RobloxXML.RemoveInvalidXmlChars(RobloxXML.ReplaceHexadecimalSymbols(oldfile)); doc = XDocument.Parse(fixedfile); } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif return; } @@ -1293,8 +1315,11 @@ public class GlobalFuncs RobloxXML.EditRenderSettings(doc, "Resolution", ModernResolution.ToString(), XMLTypes.Token); } } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif return; } finally @@ -1307,8 +1332,11 @@ public class GlobalFuncs } } } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif return; } } @@ -1529,6 +1557,9 @@ public class GlobalFuncs #if URI || LAUNCHER MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); +#endif +#if URI || LAUNCHER || CMD + LogExceptions(ex); #endif } } @@ -1557,7 +1588,7 @@ public class GlobalFuncs } #if LAUNCHER - public static void ConsolePrint(string text, int type, RichTextBox box) + public static void ConsolePrint(string text, int type, RichTextBox box, bool noLog = false) { if (box == null) return; @@ -1570,28 +1601,34 @@ public class GlobalFuncs { case 2: box.AppendText(text, Color.Red); - log.Error(text); + if (!noLog) + log.Error(text); break; case 3: box.AppendText(text, Color.Lime); - log.Info(text); + if (!noLog) + log.Info(text); break; case 4: box.AppendText(text, Color.Aqua); - log.Info(text); + if (!noLog) + log.Info(text); break; case 5: box.AppendText(text, Color.Yellow); - log.Warn(text); + if (!noLog) + log.Warn(text); break; case 6: box.AppendText(text, Color.LightSalmon); - log.Info(text); + if (!noLog) + log.Info(text); break; case 1: default: box.AppendText(text, Color.White); - log.Info(text); + if (!noLog) + log.Info(text); break; } @@ -1801,9 +1838,12 @@ public class GlobalFuncs } } - catch (Exception /* TODO: catch correct exception */) + catch (Exception ex/* TODO: catch correct exception */) { // Swallow. Gulp! +#if URI || LAUNCHER || CMD + LogExceptions(ex); +#endif } } @@ -1820,5 +1860,14 @@ public class GlobalFuncs File.Move(path, pathWithoutFilename + "\\" + fileName); } + +#if LAUNCHER || CMD || URI + public static void LogExceptions(Exception ex) + { + Logger log = LogManager.GetCurrentClassLogger(); + log.Error("EXCEPTION|MESSAGE: " + (ex.Message != null ? ex.Message.ToString() : "N/A")); + log.Error("EXCEPTION|STACK TRACE: " + (!string.IsNullOrWhiteSpace(ex.StackTrace) ? ex.StackTrace : "N/A")); + } +#endif } #endregion diff --git a/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs index b1f1a35..d17856d 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/ScriptFuncs.cs @@ -141,8 +141,11 @@ public class ScriptFuncs string result = code.Substring(pFrom, pTo - pFrom); return result; } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + GlobalFuncs.LogExceptions(ex); +#endif return "%donothing%"; } } @@ -250,8 +253,11 @@ public class ScriptFuncs return source; } } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + GlobalFuncs.LogExceptions(ex); +#endif return source; } } diff --git a/Novetus/NovetusCore/StorageAndFunctions/SecurityFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/SecurityFuncs.cs index 69cbfb7..5d7e9fa 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/SecurityFuncs.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/SecurityFuncs.cs @@ -259,9 +259,12 @@ public class SecurityFuncs string[] a3 = a2.Split('<'); ipAddress = a3[0]; } - catch (Exception) + catch (Exception ex) { - ipAddress = "localhost"; +#if URI || LAUNCHER || CMD + GlobalFuncs.LogExceptions(ex); +#endif + ipAddress = "localhost"; } return ipAddress; diff --git a/Novetus/NovetusCore/WinForms/TreeNodeHelper.cs b/Novetus/NovetusCore/WinForms/TreeNodeHelper.cs index 2232705..998b7e4 100644 --- a/Novetus/NovetusCore/WinForms/TreeNodeHelper.cs +++ b/Novetus/NovetusCore/WinForms/TreeNodeHelper.cs @@ -62,8 +62,11 @@ public static class TreeNodeHelper return ""; } } - catch (Exception) + catch (Exception ex) { +#if URI || LAUNCHER || CMD + GlobalFuncs.LogExceptions(ex); +#endif return ""; } } diff --git a/Novetus/NovetusLauncher/Classes/Launcher/AddonLoader.cs b/Novetus/NovetusLauncher/Classes/Launcher/AddonLoader.cs index c27524e..8dcbee6 100644 --- a/Novetus/NovetusLauncher/Classes/Launcher/AddonLoader.cs +++ b/Novetus/NovetusLauncher/Classes/Launcher/AddonLoader.cs @@ -4,6 +4,9 @@ using System; using System.IO; using System.Linq; using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Timers; using System.Windows.Forms; #endregion @@ -13,9 +16,14 @@ public class AddonLoader private readonly OpenFileDialog openFileDialog1; private string installOutcome = ""; private int fileListDisplay = 0; + private RichTextBox consoleBox; + private CancellationTokenSource tokenSource; + private int pastPercentage = 0; - public AddonLoader() + public AddonLoader(RichTextBox box) { + Application.ApplicationExit += new EventHandler(OnApplicationExit); + consoleBox = box; openFileDialog1 = new OpenFileDialog() { FileName = "Select an addon .zip file", @@ -39,32 +47,44 @@ public class AddonLoader fileListDisplay = number; } - public void LoadAddon() + public async Task LoadAddon() { if (openFileDialog1.ShowDialog() == DialogResult.OK) { + MessageBox.Show("Your addon is loading. You will recieve a notification when it is installed. Please keep the launcher open. You can see the installation progress in the Console.", "Novetus - Addon Loading"); + try { int filecount = 0; StringBuilder filelistbuilder = new StringBuilder(); + StringBuilder filelistcutdown = new StringBuilder(); using (Stream str = openFileDialog1.OpenFile()) { using (var zipFile = ZipFile.Read(str)) { + zipFile.ExtractProgress += ExtractProgress; ZipEntry[] entries = zipFile.Entries.ToArray(); foreach (ZipEntry entry in entries) { filelistbuilder.Append(!entry.IsDirectory ? (entry.FileName + " (" + entry.UncompressedSize + " KB)" + Environment.NewLine) : ""); + if (filecount < fileListDisplay) + { + filelistcutdown.Append(!entry.IsDirectory ? (entry.FileName + " (" + entry.UncompressedSize + " KB)" + Environment.NewLine) : ""); + } + if (!entry.IsDirectory) { filecount++; } } - zipFile.ExtractAll(GlobalPaths.BasePath, ExtractExistingFileAction.OverwriteSilently); + tokenSource = new CancellationTokenSource(); + var token = tokenSource.Token; + await Task.Factory.StartNew(() => zipFile.ExtractAll(GlobalPaths.BasePath, ExtractExistingFileAction.OverwriteSilently), token); + zipFile.Dispose(); } } @@ -72,7 +92,7 @@ public class AddonLoader if (filecount > fileListDisplay) { - installOutcome = "Addon " + openFileDialog1.SafeFileName + " installed! " + filecount + " files copied!" + Environment.NewLine + "Files added/modified:" + Environment.NewLine + Environment.NewLine + filelist + Environment.NewLine + "and " + (filecount - fileListDisplay) + " more files!"; + installOutcome = "Addon " + openFileDialog1.SafeFileName + " installed! " + filecount + " files copied!" + Environment.NewLine + "Files added/modified:" + Environment.NewLine + Environment.NewLine + filelistcutdown + Environment.NewLine + "and " + (filecount - fileListDisplay) + " more files!"; } else { @@ -81,9 +101,39 @@ public class AddonLoader } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); installOutcome = "Error when installing addon: " + ex.Message; } } } + + //https://stackoverflow.com/questions/38948801/dotnetzip-display-progress-of-extraction + void ExtractProgress(object sender, ExtractProgressEventArgs e) + { + if (e.EventType == ZipProgressEventType.Extracting_EntryBytesWritten) + { + double percentage = Math.Round(e.BytesTransferred / (0.01 * e.TotalBytesToTransfer), 2); + int intPercent = Convert.ToInt32(percentage); + + if (intPercent % 25 == 0 && pastPercentage != intPercent) + { + GlobalFuncs.ConsolePrint("AddonLoader - Extracting: " + + e.CurrentEntry.FileName + ". Progress: " + + e.BytesTransferred + "/" + e.TotalBytesToTransfer + + " (" + intPercent + "%)", 3, consoleBox, true); + + pastPercentage = intPercent; + } + } + else if (e.EventType == ZipProgressEventType.Extracting_BeforeExtractEntry) + { + GlobalFuncs.ConsolePrint("AddonLoader - Extracting: " + e.CurrentEntry.FileName, 3, consoleBox); + } + } + + public void OnApplicationExit(object sender, EventArgs e) + { + tokenSource.Cancel(); + } } #endregion diff --git a/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs b/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs index be21ccf..138ef49 100644 --- a/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs +++ b/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs @@ -18,14 +18,17 @@ public static class SplashReader { splash = splashes[new CryptoRandom().Next(0, splashes.Length - 1)]; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); + try { splash = splashes[0]; } - catch (Exception) + catch (Exception ex2) { + GlobalFuncs.LogExceptions(ex2); splash = "missingno"; return splash; } diff --git a/Novetus/NovetusLauncher/Classes/SDK/Downloader.cs b/Novetus/NovetusLauncher/Classes/SDK/Downloader.cs index b5ffcc1..4271233 100644 --- a/Novetus/NovetusLauncher/Classes/SDK/Downloader.cs +++ b/Novetus/NovetusLauncher/Classes/SDK/Downloader.cs @@ -104,6 +104,7 @@ class Downloader } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); downloadOutcome = "Error when downloading file: " + ex.Message; } } @@ -180,6 +181,7 @@ class Downloader } catch (Exception e) { + GlobalFuncs.LogExceptions(e); if (e is WebException && bytesProcessed == 0) { WebException ex = (WebException)e; diff --git a/Novetus/NovetusLauncher/Forms/CustomGraphicsOptions.cs b/Novetus/NovetusLauncher/Forms/CustomGraphicsOptions.cs index fe73f06..220ad44 100644 --- a/Novetus/NovetusLauncher/Forms/CustomGraphicsOptions.cs +++ b/Novetus/NovetusLauncher/Forms/CustomGraphicsOptions.cs @@ -61,8 +61,9 @@ namespace NovetusLauncher fixedfile = RobloxXML.RemoveInvalidXmlChars(RobloxXML.ReplaceHexadecimalSymbols(oldfile)); doc = XDocument.Parse(fixedfile); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); return; } @@ -73,8 +74,9 @@ namespace NovetusLauncher MeshDetail = Convert.ToInt32(RobloxXML.GetRenderSettings(doc, "maxMeshDetail", XMLTypes.Float)); GraphicsMeshQuality.Value = MeshDetail; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsMeshQuality.Enabled = false; } @@ -83,8 +85,9 @@ namespace NovetusLauncher ShadingQuality = Convert.ToInt32(RobloxXML.GetRenderSettings(doc, "maxShadingQuality", XMLTypes.Float)); GraphicsShadingQuality.Value = ShadingQuality; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsShadingQuality.Enabled = false; } @@ -93,15 +96,17 @@ namespace NovetusLauncher MaterialQuality = Convert.ToInt32(RobloxXML.GetRenderSettings(doc, "WoodQuality", XMLTypes.Token)); GraphicsMaterialQuality.SelectedIndex = MaterialQuality; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); try { MaterialQuality = Convert.ToInt32(RobloxXML.GetRenderSettings(doc, "TrussDetail", XMLTypes.Token)); GraphicsMaterialQuality.SelectedIndex = MaterialQuality; } - catch (Exception) + catch (Exception ex2) { + GlobalFuncs.LogExceptions(ex2); GraphicsMaterialQuality.Enabled = false; } } @@ -111,8 +116,9 @@ namespace NovetusLauncher AA = Convert.ToInt32(RobloxXML.GetRenderSettings(doc, "Antialiasing", XMLTypes.Token)); GraphicsAntiAliasing.SelectedIndex = AA; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsAntiAliasing.Enabled = false; } @@ -133,8 +139,9 @@ namespace NovetusLauncher break; } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsAASamples.Enabled = false; } @@ -143,8 +150,9 @@ namespace NovetusLauncher Bevels = Convert.ToInt32(RobloxXML.GetRenderSettings(doc, "Bevels", XMLTypes.Token)); GraphicsBevels.SelectedIndex = Bevels; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsBevels.Enabled = false; } @@ -153,8 +161,9 @@ namespace NovetusLauncher Shadows_2008 = Convert.ToInt32(RobloxXML.GetRenderSettings(doc, "Shadow", XMLTypes.Token)); GraphicsShadows2008.SelectedIndex = Shadows_2008; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsShadows2008.Enabled = false; } @@ -162,15 +171,17 @@ namespace NovetusLauncher { Shadows_2007 = Convert.ToBoolean(RobloxXML.GetRenderSettings(doc, "Shadows", XMLTypes.Bool)); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); // try doing march 2007. try { Shadows_2007 = Convert.ToBoolean(RobloxXML.GetRenderSettings(doc, "shadows", XMLTypes.Bool)); } - catch (Exception) + catch (Exception ex2) { + GlobalFuncs.LogExceptions(ex); GraphicsShadows2007.Enabled = false; } } @@ -202,8 +213,9 @@ namespace NovetusLauncher Style2007FolderFinder.Enabled = false; } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); Style2007.Enabled = false; Style2007FolderFinder.Enabled = false; } @@ -213,8 +225,9 @@ namespace NovetusLauncher QualityLevel = Convert.ToInt32(RobloxXML.GetRenderSettings(doc, "QualityLevel", XMLTypes.Token)); GraphicsLevel.Value = QualityLevel; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsLevel.Enabled = false; } @@ -239,8 +252,9 @@ namespace NovetusLauncher } } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsFullscreenResolution.Enabled = false; } @@ -265,8 +279,9 @@ namespace NovetusLauncher } } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsWindowResolution.Enabled = false; } @@ -275,8 +290,9 @@ namespace NovetusLauncher ModernResolution = Convert.ToInt32(RobloxXML.GetRenderSettings(doc, "Resolution", XMLTypes.Token)); GraphicsModernResolution.SelectedIndex = ModernResolution; } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GraphicsModernResolution.Enabled = false; } @@ -476,8 +492,9 @@ namespace NovetusLauncher return false; } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); return false; } } diff --git a/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs b/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs index 58875fa..3881590 100644 --- a/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs +++ b/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs @@ -63,6 +63,7 @@ namespace NovetusLauncher } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GlobalFuncs.ConsolePrint("UPnP: Unable to initialize UPnP. Reason - " + ex.Message, 2, ConsoleBox); } } @@ -80,6 +81,7 @@ namespace NovetusLauncher } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GlobalFuncs.ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2, ConsoleBox); } } @@ -97,6 +99,7 @@ namespace NovetusLauncher } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GlobalFuncs.ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2, ConsoleBox); } } @@ -114,6 +117,7 @@ namespace NovetusLauncher } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GlobalFuncs.ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2, ConsoleBox); } } @@ -130,6 +134,7 @@ namespace NovetusLauncher } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); GlobalFuncs.ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2, ConsoleBox); } } @@ -503,8 +508,9 @@ namespace NovetusLauncher Tree.Select(); } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("The map '" + searchText + "' cannot be found. Please try another term.", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } @@ -798,20 +804,21 @@ namespace NovetusLauncher PlayerTripcodeLabel.Text = GlobalVars.UserConfiguration.PlayerTripcode; } - public void InstallAddon() + public async void InstallAddon() { - AddonLoader addon = new AddonLoader(); + AddonLoader addon = new AddonLoader(ConsoleBox); addon.setFileListDisplay(10); try { - addon.LoadAddon(); + await addon.LoadAddon(); if (!string.IsNullOrWhiteSpace(addon.getInstallOutcome())) { GlobalFuncs.ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 3, ConsoleBox); } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); if (!string.IsNullOrWhiteSpace(addon.getInstallOutcome())) { GlobalFuncs.ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 2, ConsoleBox); @@ -1102,6 +1109,7 @@ namespace NovetusLauncher } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("Novetus has experienced an error when adding your map file: " + ex.Message + "\n\nYour file has not been added. Please try again.", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); success = false; } diff --git a/Novetus/NovetusLauncher/Forms/SDK/AssetSDK.cs b/Novetus/NovetusLauncher/Forms/SDK/AssetSDK.cs index 6602ba9..3560657 100644 --- a/Novetus/NovetusLauncher/Forms/SDK/AssetSDK.cs +++ b/Novetus/NovetusLauncher/Forms/SDK/AssetSDK.cs @@ -115,6 +115,7 @@ public partial class AssetSDK : Form } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("Error: Unable to download the file. " + ex.Message, "Novetus Asset SDK - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } @@ -128,8 +129,9 @@ public partial class AssetSDK : Form Process.Start(fullURL); } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("Error: Unable to download the file. Try using a different file name or ID.", "Novetus Asset SDK - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } @@ -149,8 +151,9 @@ public partial class AssetSDK : Form { download.InitDownloadNoDialog(download.GetFullDLPath()); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); } } else @@ -158,8 +161,9 @@ public partial class AssetSDK : Form Process.Start(fullURL); } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); } } private void AssetDownloader_URLSelection_SelectedIndexChanged(object sender, EventArgs e) @@ -297,6 +301,7 @@ public partial class AssetSDK : Form } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("The download has experienced an error: " + ex.Message, "Novetus Asset SDK - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } @@ -448,6 +453,7 @@ public partial class AssetSDK : Form } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("The download has experienced an error: " + ex.Message, "Novetus Asset SDK - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally @@ -480,6 +486,7 @@ public partial class AssetSDK : Form } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("The download has experienced an error: " + ex.Message, "Novetus Asset SDK - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally @@ -729,8 +736,9 @@ public partial class AssetSDK : Form worker.ReportProgress(0); GlobalFuncs.FixedFileCopy(path, path.Replace(".rbxl", " - BAK.rbxl"), false); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); worker.ReportProgress(100); } } @@ -794,8 +802,9 @@ public partial class AssetSDK : Form worker.ReportProgress(0); GlobalFuncs.FixedFileCopy(path, path.Replace(".rbxm", " BAK.rbxm"), false); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); worker.ReportProgress(100); } } @@ -858,8 +867,9 @@ public partial class AssetSDK : Form worker.ReportProgress(0); GlobalFuncs.FixedFileCopy(path, path.Replace(".rbxm", " BAK.rbxm"), false); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); worker.ReportProgress(100); } } @@ -887,8 +897,9 @@ public partial class AssetSDK : Form worker.ReportProgress(0); GlobalFuncs.FixedFileCopy(path, path.Replace(".rbxm", " BAK.rbxm"), false); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); worker.ReportProgress(100); } } @@ -909,8 +920,9 @@ public partial class AssetSDK : Form worker.ReportProgress(0); GlobalFuncs.FixedFileCopy(path, path.Replace(".rbxm", " BAK.rbxm"), false); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); worker.ReportProgress(100); } } @@ -930,8 +942,9 @@ public partial class AssetSDK : Form worker.ReportProgress(0); GlobalFuncs.FixedFileCopy(path, path.Replace(".rbxm", " BAK.rbxm"), false); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); worker.ReportProgress(100); } } @@ -951,8 +964,9 @@ public partial class AssetSDK : Form worker.ReportProgress(0); GlobalFuncs.FixedFileCopy(path, path.Replace(".rbxm", " BAK.rbxm"), false); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); worker.ReportProgress(100); } } @@ -972,8 +986,9 @@ public partial class AssetSDK : Form worker.ReportProgress(0); GlobalFuncs.FixedFileCopy(path, path.Replace(".rbxm", " BAK.rbxm"), false); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); worker.ReportProgress(100); } } @@ -993,8 +1008,9 @@ public partial class AssetSDK : Form worker.ReportProgress(0); GlobalFuncs.FixedFileCopy(path, path.Replace(".lua", " BAK.lua"), false); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); worker.ReportProgress(100); } } @@ -1013,6 +1029,7 @@ public partial class AssetSDK : Form } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("Error: Unable to localize the asset. " + ex.Message, "Novetus Asset SDK - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally diff --git a/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs b/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs index 851c9ca..a39bbb7 100644 --- a/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs +++ b/Novetus/NovetusLauncher/Forms/SDK/ClientinfoCreator.cs @@ -105,8 +105,9 @@ public partial class ClientinfoEditor : Form label9.Text = "v2 (v" + GlobalVars.ProgramInformation.Version + ")"; ConvertedLine = SecurityFuncs.Base64DecodeNew(file); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); label9.Text = "v1 (v1.1)"; ConvertedLine = SecurityFuncs.Base64DecodeOld(file); } @@ -131,8 +132,9 @@ public partial class ClientinfoEditor : Form commandargsver2 = SecurityFuncs.Base64Decode(result[11]); } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); if (!label9.Text.Equals("v1 (v1.1)")) { label9.Text = "v2 (v1.2 Snapshot 7440)"; @@ -187,8 +189,9 @@ public partial class ClientinfoEditor : Form SelectedClientInfo.CommandLineArgs = commandargsver2; } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); //Again, fake it. SelectedClientInfo.ClientLoadOptions = Settings.ClientLoadOptions.Client_2008AndUp; SelectedClientInfo.CommandLineArgs = cmdargsorclientoptions; diff --git a/Novetus/NovetusLauncher/Forms/SDK/ItemCreationSDK.cs b/Novetus/NovetusLauncher/Forms/SDK/ItemCreationSDK.cs index f7a0489..7da8439 100644 --- a/Novetus/NovetusLauncher/Forms/SDK/ItemCreationSDK.cs +++ b/Novetus/NovetusLauncher/Forms/SDK/ItemCreationSDK.cs @@ -75,8 +75,9 @@ public partial class ItemCreationSDK : Form { icon.LoadImage(); } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); } if (!string.IsNullOrWhiteSpace(icon.getInstallOutcome())) @@ -890,6 +891,7 @@ public partial class ItemCreationSDK : Form } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("The Item Creation SDK has experienced an error: " + ex.Message, "Novetus Item Creation SDK - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); success = false; } @@ -1041,6 +1043,7 @@ public partial class ItemCreationSDK : Form } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("The Item Creation SDK has experienced an error: " + ex.Message, "Novetus Item Creation SDK - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); success = false; } diff --git a/Novetus/NovetusLauncher/Forms/ServerBrowser.cs b/Novetus/NovetusLauncher/Forms/ServerBrowser.cs index f0eed4f..0e975c3 100644 --- a/Novetus/NovetusLauncher/Forms/ServerBrowser.cs +++ b/Novetus/NovetusLauncher/Forms/ServerBrowser.cs @@ -72,6 +72,7 @@ namespace NovetusLauncher } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("Unable to load servers. (" + ex + ")", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } @@ -100,8 +101,9 @@ namespace NovetusLauncher MessageBox.Show("Select a server before joining it.", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); } } @@ -119,9 +121,9 @@ namespace NovetusLauncher selectedServer = ServerListView.Items[intselectedindex].Index; } } - catch (Exception) + catch (Exception ex) { - + GlobalFuncs.LogExceptions(ex); } } diff --git a/Novetus/NovetusLauncher/NovetusLauncher.cs b/Novetus/NovetusLauncher/NovetusLauncher.cs index 6f79bbc..a5ba125 100644 --- a/Novetus/NovetusLauncher/NovetusLauncher.cs +++ b/Novetus/NovetusLauncher/NovetusLauncher.cs @@ -1,6 +1,7 @@ #region Usings using NLog; using System; +using System.Threading; using System.Windows.Forms; #endregion @@ -17,21 +18,9 @@ namespace NovetusLauncher { var config = new NLog.Config.LoggingConfiguration(); var logfile = new NLog.Targets.FileTarget("logfile") { FileName = GlobalPaths.ConfigDir + "\\Launcher-log-" + DateTime.Today.ToString("MM-dd-yyyy") + ".log" }; - config.AddRule(LogLevel.Info, LogLevel.Fatal, logfile); + config.AddRule(LogLevel.Info, LogLevel.Fatal, logfile); LogManager.Configuration = config; - //https://stackify.com/csharp-catch-all-exceptions/ - AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) => - { - Logger log = LogManager.GetCurrentClassLogger(); - log.Error("EXEPTION THROWN: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.Message) ? eventArgs.Exception.Message : "N/A")); - log.Error("EXCEPTION INFO: " + (eventArgs.Exception != null ? eventArgs.Exception.ToString() : "N/A")); - log.Error("INNER EXCEPTION: " + (eventArgs.Exception.InnerException != null ? eventArgs.Exception.InnerException.ToString() : "N/A")); - log.Error("STACK TRACE: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.StackTrace) ? eventArgs.Exception.StackTrace : "N/A")); - log.Error("TARGET SITE: " + (eventArgs.Exception.TargetSite != null ? eventArgs.Exception.TargetSite.ToString() : "N/A")); - log.Error("FOOTPRINTS: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.GetExceptionFootprints()) ? eventArgs.Exception.GetExceptionFootprints() : "N/A")); - }; - Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); @@ -40,7 +29,7 @@ namespace NovetusLauncher if (args.Length == 0) { switch (GlobalVars.UserConfiguration.LauncherStyle) - { + { case Settings.Style.Compact: Application.Run(new LauncherFormCompact()); break; diff --git a/Novetus/NovetusURI/Classes/LocalFuncs.cs b/Novetus/NovetusURI/Classes/LocalFuncs.cs index af34cdc..bf751dd 100644 --- a/Novetus/NovetusURI/Classes/LocalFuncs.cs +++ b/Novetus/NovetusURI/Classes/LocalFuncs.cs @@ -25,6 +25,7 @@ namespace NovetusURI } catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); MessageBox.Show("Failed to register. (Error: " + ex.Message + ")", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); form.Close(); } @@ -68,8 +69,9 @@ namespace NovetusURI } } } - catch (Exception) + catch (Exception ex) { + GlobalFuncs.LogExceptions(ex); } } } diff --git a/Novetus/NovetusURI/NovetusURI.cs b/Novetus/NovetusURI/NovetusURI.cs index 786e5b4..2356c74 100644 --- a/Novetus/NovetusURI/NovetusURI.cs +++ b/Novetus/NovetusURI/NovetusURI.cs @@ -2,6 +2,7 @@ using NLog; using System; using System.IO; +using System.Threading; using System.Windows.Forms; #endregion @@ -21,18 +22,6 @@ namespace NovetusURI config.AddRule(LogLevel.Info, LogLevel.Fatal, logfile); LogManager.Configuration = config; - //https://stackify.com/csharp-catch-all-exceptions/ - AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) => - { - Logger log = LogManager.GetCurrentClassLogger(); - log.Error("EXEPTION THROWN: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.Message) ? eventArgs.Exception.Message : "N/A")); - log.Error("EXCEPTION INFO: " + (eventArgs.Exception != null ? eventArgs.Exception.ToString() : "N/A")); - log.Error("INNER EXCEPTION: " + (eventArgs.Exception.InnerException != null ? eventArgs.Exception.InnerException.ToString() : "N/A")); - log.Error("STACK TRACE: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.StackTrace) ? eventArgs.Exception.StackTrace : "N/A")); - log.Error("TARGET SITE: " + (eventArgs.Exception.TargetSite != null ? eventArgs.Exception.TargetSite.ToString() : "N/A")); - log.Error("FOOTPRINTS: " + (!string.IsNullOrWhiteSpace(eventArgs.Exception.GetExceptionFootprints()) ? eventArgs.Exception.GetExceptionFootprints() : "N/A")); - }; - Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, false);