From a5f25f4f60aa9c341e00f2b7daa3b539af7f77b7 Mon Sep 17 00:00:00 2001 From: Bitl Date: Sun, 18 Sep 2022 11:00:15 -0700 Subject: [PATCH] update source --- .../NovetusCore/StorageAndFunctions/Util.cs | 37 +++--- .../NovetusLauncher/Forms/NovetusConsole.cs | 7 +- .../Forms/SDK/AssetFixer.Designer.cs | 107 +++++++++++++----- .../NovetusLauncher/Forms/SDK/AssetFixer.cs | 4 + .../NovetusLauncherEntryPoint.cs | 5 + changelog.txt | 13 +++ 6 files changed, 119 insertions(+), 54 deletions(-) diff --git a/Novetus/NovetusCore/StorageAndFunctions/Util.cs b/Novetus/NovetusCore/StorageAndFunctions/Util.cs index 66add86..c2f705f 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/Util.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/Util.cs @@ -777,12 +777,12 @@ public static class Util try { NetFuncs.InitUPnP(DeviceFound, DeviceLost); - Util.ConsolePrint("UPnP: Service initialized", 3); + //ConsolePrint("UPnP: Service initialized", 3); } catch (Exception ex) { - Util.LogExceptions(ex); - Util.ConsolePrint("UPnP: Unable to initialize UPnP. Reason - " + ex.Message, 2); + LogExceptions(ex); + ConsolePrint("UPnP: Unable to initialize UPnP. Reason - " + ex.Message, 2); } } } @@ -795,12 +795,12 @@ public static class Util { NetFuncs.StartUPnP(device, protocol, port); string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString(); - Util.ConsolePrint("UPnP: Port " + port + " opened on '" + IP + "' (" + protocol.ToString() + ")", 3); + ConsolePrint("UPnP: Port " + port + " opened on '" + IP + "' (" + protocol.ToString() + ")", 3); } catch (Exception ex) { - Util.LogExceptions(ex); - Util.ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2); + LogExceptions(ex); + ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2); } } } @@ -813,12 +813,12 @@ public static class Util { NetFuncs.StopUPnP(device, protocol, port); string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString(); - Util.ConsolePrint("UPnP: Port " + port + " closed on '" + IP + "' (" + protocol.ToString() + ")", 3); + ConsolePrint("UPnP: Port " + port + " closed on '" + IP + "' (" + protocol.ToString() + ")", 3); } catch (Exception ex) { - Util.LogExceptions(ex); - Util.ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2); + LogExceptions(ex); + ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2); } } } @@ -829,14 +829,14 @@ public static class Util { INatDevice device = args.Device; string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString(); - Util.ConsolePrint("UPnP: Device '" + IP + "' registered.", 3); + ConsolePrint("UPnP: Device '" + IP + "' registered.", 3); StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort); StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort); } catch (Exception ex) { - Util.LogExceptions(ex); - Util.ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2); + LogExceptions(ex); + ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2); } } @@ -846,14 +846,14 @@ public static class Util { INatDevice device = args.Device; string IP = !string.IsNullOrWhiteSpace(GlobalVars.UserConfiguration.AlternateServerIP) ? GlobalVars.UserConfiguration.AlternateServerIP : device.GetExternalIP().ToString(); - Util.ConsolePrint("UPnP: Device '" + IP + "' disconnected.", 3); + ConsolePrint("UPnP: Device '" + IP + "' disconnected.", 3); StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort); StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort); } catch (Exception ex) { - Util.LogExceptions(ex); - Util.ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2); + LogExceptions(ex); + ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2); } } #endregion @@ -861,17 +861,17 @@ public static class Util #region Discord public static void ReadyCallback() { - Util.ConsolePrint("Discord RPC: Ready", 3); + ConsolePrint("Discord RPC: Ready", 3); } public static void DisconnectedCallback(int errorCode, string message) { - Util.ConsolePrint("Discord RPC: Disconnected. Reason - " + errorCode + ": " + message, 2); + ConsolePrint("Discord RPC: Disconnected. Reason - " + errorCode + ": " + message, 2); } public static void ErrorCallback(int errorCode, string message) { - Util.ConsolePrint("Discord RPC: Error. Reason - " + errorCode + ": " + message, 2); + ConsolePrint("Discord RPC: Error. Reason - " + errorCode + ": " + message, 2); } public static void JoinCallback(string secret) @@ -898,6 +898,7 @@ public static class Util GlobalVars.handlers.spectateCallback += SpectateCallback; GlobalVars.handlers.requestCallback += RequestCallback; DiscordRPC.Initialize(GlobalVars.appid, ref GlobalVars.handlers, true, ""); + ConsolePrint("Discord RPC: Initalized", 3); ClientManagement.UpdateRichPresence(ClientManagement.GetStateForType(GlobalVars.GameOpened), true); } diff --git a/Novetus/NovetusLauncher/Forms/NovetusConsole.cs b/Novetus/NovetusLauncher/Forms/NovetusConsole.cs index 9cf7408..edef7fa 100644 --- a/Novetus/NovetusLauncher/Forms/NovetusConsole.cs +++ b/Novetus/NovetusLauncher/Forms/NovetusConsole.cs @@ -30,7 +30,7 @@ namespace NovetusLauncher private void NovetusConsole_Load(object sender, EventArgs e) { - FileManagement.CreateInitialFileListIfNeededMulti(); + Util.ConsolePrint("Novetus version " + GlobalVars.ProgramInformation.Version + " loaded. Initializing config.", 4); Util.ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 4); if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName)) @@ -53,13 +53,8 @@ namespace NovetusLauncher Util.ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\ports.txt not found. Creating empty file.", 5); File.Create(GlobalPaths.ConfigDir + "\\ports.txt").Dispose(); } - - FileManagement.CreateAssetCacheDirectories(); NovetusFuncs.SetupAdminPassword(); - Util.InitUPnP(); - Util.StartDiscord(); - if (argList.Length > 0) { //DO ARGS HERE diff --git a/Novetus/NovetusLauncher/Forms/SDK/AssetFixer.Designer.cs b/Novetus/NovetusLauncher/Forms/SDK/AssetFixer.Designer.cs index 9adad92..59ce3a1 100644 --- a/Novetus/NovetusLauncher/Forms/SDK/AssetFixer.Designer.cs +++ b/Novetus/NovetusLauncher/Forms/SDK/AssetFixer.Designer.cs @@ -42,11 +42,17 @@ this.AssetLocalization_AssetTypeBox = new System.Windows.Forms.ComboBox(); this.AssetLocalization_LocalizeButton = new System.Windows.Forms.Button(); this.AssetLocalization_BackgroundWorker = new System.ComponentModel.BackgroundWorker(); + this.AssetFixerOrganizer = new System.Windows.Forms.TabControl(); + this.LocalTab = new System.Windows.Forms.TabPage(); + this.URLTab = new System.Windows.Forms.TabPage(); + this.AssetFixerOrganizer.SuspendLayout(); + this.LocalTab.SuspendLayout(); + this.URLTab.SuspendLayout(); this.SuspendLayout(); // // CustomDLURLLabel // - this.CustomDLURLLabel.Location = new System.Drawing.Point(12, 35); + this.CustomDLURLLabel.Location = new System.Drawing.Point(6, 48); this.CustomDLURLLabel.Name = "CustomDLURLLabel"; this.CustomDLURLLabel.Size = new System.Drawing.Size(67, 27); this.CustomDLURLLabel.TabIndex = 26; @@ -55,9 +61,10 @@ // // URLOverrideBox // - this.URLOverrideBox.Location = new System.Drawing.Point(81, 38); + this.URLOverrideBox.Enabled = false; + this.URLOverrideBox.Location = new System.Drawing.Point(75, 51); this.URLOverrideBox.Name = "URLOverrideBox"; - this.URLOverrideBox.Size = new System.Drawing.Size(214, 20); + this.URLOverrideBox.Size = new System.Drawing.Size(197, 20); this.URLOverrideBox.TabIndex = 25; this.URLOverrideBox.Click += new System.EventHandler(this.URLOverrideBox_Click); this.URLOverrideBox.TextChanged += new System.EventHandler(this.URLOverrideBox_TextChanged); @@ -65,7 +72,7 @@ // URLListLabel // this.URLListLabel.AutoSize = true; - this.URLListLabel.Location = new System.Drawing.Point(27, 14); + this.URLListLabel.Location = new System.Drawing.Point(21, 27); this.URLListLabel.Name = "URLListLabel"; this.URLListLabel.Size = new System.Drawing.Size(32, 13); this.URLListLabel.TabIndex = 24; @@ -75,16 +82,17 @@ // this.URLSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.URLSelection.DropDownWidth = 242; + this.URLSelection.Enabled = false; this.URLSelection.FormattingEnabled = true; - this.URLSelection.Location = new System.Drawing.Point(81, 11); + this.URLSelection.Location = new System.Drawing.Point(75, 24); this.URLSelection.Name = "URLSelection"; - this.URLSelection.Size = new System.Drawing.Size(214, 21); + this.URLSelection.Size = new System.Drawing.Size(197, 21); this.URLSelection.TabIndex = 18; this.URLSelection.SelectedIndexChanged += new System.EventHandler(this.URLSelection_SelectedIndexChanged); // // AssetFixer_ProgressLabel // - this.AssetFixer_ProgressLabel.Location = new System.Drawing.Point(12, 217); + this.AssetFixer_ProgressLabel.Location = new System.Drawing.Point(8, 214); this.AssetFixer_ProgressLabel.Name = "AssetFixer_ProgressLabel"; this.AssetFixer_ProgressLabel.Size = new System.Drawing.Size(278, 18); this.AssetFixer_ProgressLabel.TabIndex = 24; @@ -93,7 +101,7 @@ // // AssetFixer_ProgressBar // - this.AssetFixer_ProgressBar.Location = new System.Drawing.Point(12, 191); + this.AssetFixer_ProgressBar.Location = new System.Drawing.Point(8, 188); this.AssetFixer_ProgressBar.Name = "AssetFixer_ProgressBar"; this.AssetFixer_ProgressBar.Size = new System.Drawing.Size(278, 23); this.AssetFixer_ProgressBar.TabIndex = 23; @@ -101,22 +109,22 @@ // AssetLocalization_AssetLinks // this.AssetLocalization_AssetLinks.AutoSize = true; - this.AssetLocalization_AssetLinks.Location = new System.Drawing.Point(42, 140); + this.AssetLocalization_AssetLinks.Location = new System.Drawing.Point(64, 3); this.AssetLocalization_AssetLinks.Name = "AssetLocalization_AssetLinks"; - this.AssetLocalization_AssetLinks.Size = new System.Drawing.Size(215, 17); + this.AssetLocalization_AssetLinks.Size = new System.Drawing.Size(163, 17); this.AssetLocalization_AssetLinks.TabIndex = 22; - this.AssetLocalization_AssetLinks.Text = "Replace Asset Links with Selected URL"; + this.AssetLocalization_AssetLinks.Text = "Replace URL Only (Optional)"; this.AssetLocalization_AssetLinks.UseVisualStyleBackColor = true; this.AssetLocalization_AssetLinks.CheckedChanged += new System.EventHandler(this.AssetLocalization_AssetLinks_CheckedChanged); // // AssetLocalization_LocalizePermanentlyBox // this.AssetLocalization_LocalizePermanentlyBox.AutoSize = true; - this.AssetLocalization_LocalizePermanentlyBox.Location = new System.Drawing.Point(164, 117); + this.AssetLocalization_LocalizePermanentlyBox.Location = new System.Drawing.Point(45, 3); this.AssetLocalization_LocalizePermanentlyBox.Name = "AssetLocalization_LocalizePermanentlyBox"; - this.AssetLocalization_LocalizePermanentlyBox.Size = new System.Drawing.Size(126, 17); + this.AssetLocalization_LocalizePermanentlyBox.Size = new System.Drawing.Size(196, 17); this.AssetLocalization_LocalizePermanentlyBox.TabIndex = 21; - this.AssetLocalization_LocalizePermanentlyBox.Text = "Localize Permanently"; + this.AssetLocalization_LocalizePermanentlyBox.Text = "Download To Data Folder (Optional)"; this.AssetLocalization_LocalizePermanentlyBox.UseVisualStyleBackColor = true; this.AssetLocalization_LocalizePermanentlyBox.CheckedChanged += new System.EventHandler(this.AssetLocalization_LocalizePermanentlyBox_CheckedChanged); this.AssetLocalization_LocalizePermanentlyBox.Click += new System.EventHandler(this.AssetLocalization_LocalizePermanentlyBox_Click); @@ -124,7 +132,7 @@ // AssetLocalization_SaveBackups // this.AssetLocalization_SaveBackups.AutoSize = true; - this.AssetLocalization_SaveBackups.Location = new System.Drawing.Point(21, 117); + this.AssetLocalization_SaveBackups.Location = new System.Drawing.Point(104, 111); this.AssetLocalization_SaveBackups.Name = "AssetLocalization_SaveBackups"; this.AssetLocalization_SaveBackups.Size = new System.Drawing.Size(96, 17); this.AssetLocalization_SaveBackups.TabIndex = 20; @@ -135,7 +143,7 @@ // AssetLocalization_AssetTypeText // this.AssetLocalization_AssetTypeText.AutoSize = true; - this.AssetLocalization_AssetTypeText.Location = new System.Drawing.Point(12, 66); + this.AssetLocalization_AssetTypeText.Location = new System.Drawing.Point(3, 137); this.AssetLocalization_AssetTypeText.Name = "AssetLocalization_AssetTypeText"; this.AssetLocalization_AssetTypeText.Size = new System.Drawing.Size(63, 13); this.AssetLocalization_AssetTypeText.TabIndex = 18; @@ -144,7 +152,7 @@ // AssetLocalization_FolderNameText // this.AssetLocalization_FolderNameText.AutoSize = true; - this.AssetLocalization_FolderNameText.Location = new System.Drawing.Point(12, 88); + this.AssetLocalization_FolderNameText.Location = new System.Drawing.Point(6, 33); this.AssetLocalization_FolderNameText.Name = "AssetLocalization_FolderNameText"; this.AssetLocalization_FolderNameText.Size = new System.Drawing.Size(108, 26); this.AssetLocalization_FolderNameText.TabIndex = 15; @@ -153,9 +161,9 @@ // AssetLocalization_CustomFolderNameBox // this.AssetLocalization_CustomFolderNameBox.Enabled = false; - this.AssetLocalization_CustomFolderNameBox.Location = new System.Drawing.Point(126, 90); + this.AssetLocalization_CustomFolderNameBox.Location = new System.Drawing.Point(120, 32); this.AssetLocalization_CustomFolderNameBox.Name = "AssetLocalization_CustomFolderNameBox"; - this.AssetLocalization_CustomFolderNameBox.Size = new System.Drawing.Size(169, 20); + this.AssetLocalization_CustomFolderNameBox.Size = new System.Drawing.Size(152, 20); this.AssetLocalization_CustomFolderNameBox.TabIndex = 14; this.AssetLocalization_CustomFolderNameBox.TextChanged += new System.EventHandler(this.AssetLocalization_ItemNameBox_TextChanged); // @@ -167,7 +175,7 @@ "RBXL", "RBXM", "Lua Script"}); - this.AssetLocalization_AssetTypeBox.Location = new System.Drawing.Point(81, 63); + this.AssetLocalization_AssetTypeBox.Location = new System.Drawing.Point(72, 134); this.AssetLocalization_AssetTypeBox.Name = "AssetLocalization_AssetTypeBox"; this.AssetLocalization_AssetTypeBox.Size = new System.Drawing.Size(214, 21); this.AssetLocalization_AssetTypeBox.TabIndex = 12; @@ -175,7 +183,7 @@ // // AssetLocalization_LocalizeButton // - this.AssetLocalization_LocalizeButton.Location = new System.Drawing.Point(12, 164); + this.AssetLocalization_LocalizeButton.Location = new System.Drawing.Point(8, 161); this.AssetLocalization_LocalizeButton.Name = "AssetLocalization_LocalizeButton"; this.AssetLocalization_LocalizeButton.Size = new System.Drawing.Size(278, 21); this.AssetLocalization_LocalizeButton.TabIndex = 11; @@ -191,25 +199,56 @@ this.AssetLocalization_BackgroundWorker.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.AssetLocalization_BackgroundWorker_ProgressChanged); this.AssetLocalization_BackgroundWorker.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.AssetLocalization_BackgroundWorker_RunWorkerCompleted); // + // AssetFixerOrganizer + // + this.AssetFixerOrganizer.Controls.Add(this.LocalTab); + this.AssetFixerOrganizer.Controls.Add(this.URLTab); + this.AssetFixerOrganizer.Location = new System.Drawing.Point(4, 2); + this.AssetFixerOrganizer.Name = "AssetFixerOrganizer"; + this.AssetFixerOrganizer.SelectedIndex = 0; + this.AssetFixerOrganizer.Size = new System.Drawing.Size(286, 106); + this.AssetFixerOrganizer.TabIndex = 27; + // + // LocalTab + // + this.LocalTab.Controls.Add(this.AssetLocalization_LocalizePermanentlyBox); + this.LocalTab.Controls.Add(this.AssetLocalization_FolderNameText); + this.LocalTab.Controls.Add(this.AssetLocalization_CustomFolderNameBox); + this.LocalTab.Location = new System.Drawing.Point(4, 22); + this.LocalTab.Name = "LocalTab"; + this.LocalTab.Padding = new System.Windows.Forms.Padding(3); + this.LocalTab.Size = new System.Drawing.Size(278, 80); + this.LocalTab.TabIndex = 0; + this.LocalTab.Text = "MAKE PLACE LOCAL"; + this.LocalTab.UseVisualStyleBackColor = true; + // + // URLTab + // + this.URLTab.Controls.Add(this.AssetLocalization_AssetLinks); + this.URLTab.Controls.Add(this.URLOverrideBox); + this.URLTab.Controls.Add(this.URLSelection); + this.URLTab.Controls.Add(this.URLListLabel); + this.URLTab.Controls.Add(this.CustomDLURLLabel); + this.URLTab.Location = new System.Drawing.Point(4, 22); + this.URLTab.Name = "URLTab"; + this.URLTab.Padding = new System.Windows.Forms.Padding(3); + this.URLTab.Size = new System.Drawing.Size(278, 80); + this.URLTab.TabIndex = 1; + this.URLTab.Text = "MAKE PLACE ONLINE"; + this.URLTab.UseVisualStyleBackColor = true; + // // AssetFixer // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.ControlLightLight; - this.ClientSize = new System.Drawing.Size(302, 241); + this.ClientSize = new System.Drawing.Size(296, 241); + this.Controls.Add(this.AssetFixerOrganizer); this.Controls.Add(this.AssetFixer_ProgressLabel); - this.Controls.Add(this.URLOverrideBox); this.Controls.Add(this.AssetFixer_ProgressBar); - this.Controls.Add(this.CustomDLURLLabel); - this.Controls.Add(this.AssetLocalization_AssetLinks); - this.Controls.Add(this.AssetLocalization_LocalizePermanentlyBox); - this.Controls.Add(this.URLListLabel); this.Controls.Add(this.AssetLocalization_SaveBackups); - this.Controls.Add(this.URLSelection); this.Controls.Add(this.AssetLocalization_AssetTypeText); - this.Controls.Add(this.AssetLocalization_FolderNameText); this.Controls.Add(this.AssetLocalization_LocalizeButton); - this.Controls.Add(this.AssetLocalization_CustomFolderNameBox); this.Controls.Add(this.AssetLocalization_AssetTypeBox); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); @@ -219,6 +258,11 @@ this.Text = "Asset Fixer"; this.Closing += new System.ComponentModel.CancelEventHandler(this.AssetSDK_Close); this.Load += new System.EventHandler(this.AssetSDK_Load); + this.AssetFixerOrganizer.ResumeLayout(false); + this.LocalTab.ResumeLayout(false); + this.LocalTab.PerformLayout(); + this.URLTab.ResumeLayout(false); + this.URLTab.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -240,4 +284,7 @@ private System.Windows.Forms.CheckBox AssetLocalization_AssetLinks; private System.Windows.Forms.ProgressBar AssetFixer_ProgressBar; private System.Windows.Forms.Label AssetFixer_ProgressLabel; + private System.Windows.Forms.TabControl AssetFixerOrganizer; + private System.Windows.Forms.TabPage LocalTab; + private System.Windows.Forms.TabPage URLTab; } \ No newline at end of file diff --git a/Novetus/NovetusLauncher/Forms/SDK/AssetFixer.cs b/Novetus/NovetusLauncher/Forms/SDK/AssetFixer.cs index 69488e5..9451020 100644 --- a/Novetus/NovetusLauncher/Forms/SDK/AssetFixer.cs +++ b/Novetus/NovetusLauncher/Forms/SDK/AssetFixer.cs @@ -483,11 +483,15 @@ public partial class AssetFixer : Form { AssetLocalization_LocalizeButton.Text = AssetLocalization_LocalizeButton.Text.Replace("Localize", "Fix"); AssetLocalization_LocalizePermanentlyBox.Enabled = false; + URLSelection.Enabled = true; + URLOverrideBox.Enabled = true; } else { AssetLocalization_LocalizeButton.Text = AssetLocalization_LocalizeButton.Text.Replace("Fix", "Localize"); AssetLocalization_LocalizePermanentlyBox.Enabled = true; + URLSelection.Enabled = false; + URLOverrideBox.Enabled = false; } } diff --git a/Novetus/NovetusLauncher/NovetusLauncherEntryPoint.cs b/Novetus/NovetusLauncher/NovetusLauncherEntryPoint.cs index 78140c5..d629172 100644 --- a/Novetus/NovetusLauncher/NovetusLauncherEntryPoint.cs +++ b/Novetus/NovetusLauncher/NovetusLauncherEntryPoint.cs @@ -83,6 +83,11 @@ namespace NovetusLauncher { try { + FileManagement.CreateInitialFileListIfNeededMulti(); + FileManagement.CreateAssetCacheDirectories(); + Util.InitUPnP(); + Util.StartDiscord(); + while (!GlobalVars.AppClosed) { System.Windows.Forms.Application.DoEvents(); diff --git a/changelog.txt b/changelog.txt index 01b31d2..2aff6ba 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,16 @@ +1.3 Snapshot v22.8296.19696.1 +Fixes: +- Fixed an issue where Discord, UPnP and other features wouldn't work without the console. +---------------------------------------------------------------------------- +1.3 Snapshot v22.8296.19413.1 +Enhancements: +- You may now specify a custom folder name for assets to download to with the Asset Fixer! +- Redesigned the Asset Fixer to be easier to use. + +Fixes: +- Fixed an issue where the Asset Fixer wouldn't be able to replace or fix some links. +- Fixed an issue where the SDK would load with an error if the console is generating the initial file list. +---------------------------------------------------------------------------- 1.3 Snapshot v22.8296.15106.1 Enhancements: - Novetus Console now doesn't load with the Novetus launcher by default via the bootstrapper/legacy launcher.