From ba6747ec0e299d0ca8d0c5c8abe0c23201db8d9c Mon Sep 17 00:00:00 2001 From: Bitl Date: Wed, 17 Nov 2021 12:50:22 -0700 Subject: [PATCH] lite version updates --- .../ReleasePreparer.cs | 113 ++++++++++-------- Novetus/NovetusCore/Classes/FileFormat.cs | 2 + .../StorageAndFunctions/GlobalFuncs.cs | 6 +- .../NovetusLauncher/Forms/SDK/NovetusSDK.cs | 36 +++++- README-AND-CREDITS.TXT | 10 +- changelog.txt | 12 ++ .../Novetus_dependency_installer_lite.bat | 95 +++++++++++++++ scripts/batch/create_lite.bat | 3 +- scripts/batch/github_sync.bat | 2 + scripts/batch/liteexclude.txt | 15 +++ 10 files changed, 234 insertions(+), 60 deletions(-) create mode 100644 scripts/batch/Novetus_dependency_installer_lite.bat create mode 100644 scripts/batch/liteexclude.txt diff --git a/Novetus/Novetus.ReleasePreparer/ReleasePreparer.cs b/Novetus/Novetus.ReleasePreparer/ReleasePreparer.cs index fe42941..c287842 100644 --- a/Novetus/Novetus.ReleasePreparer/ReleasePreparer.cs +++ b/Novetus/Novetus.ReleasePreparer/ReleasePreparer.cs @@ -1,5 +1,6 @@ #region Usings using System; +using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; @@ -26,67 +27,75 @@ namespace Novetus.ReleasePreparer Console.WriteLine("Novetus Lite does not exist. Creating " + litepath); Directory.CreateDirectory(litepath); - //https://stackoverflow.com/questions/58744/copy-the-entire-contents-of-a-directory-in-c-sharp + List liteExcludeList = new List(); - Console.WriteLine("Creating directories..."); - //Now Create all of the directories - foreach (string dirPath in Directory.GetDirectories(novpath, "*", - SearchOption.AllDirectories) - .Where(m => !m.Contains("Maps released by year")) - .Where(c06 => !c06.Contains("2006S")) - .Where(c07s => !c07s.Contains("2007M-Shaders")) - .Where(c07Es => !c07Es.Contains("2007E-Shaders")) - .Where(c06s => !c06s.Contains("2006S-Shaders")) - .Where(c09eHD => !c09eHD.Contains("2009E-HD")) - .Where(music => !music.Contains("OldSoundtrack"))) + string liteExcludeFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\\liteexclude.txt"; + Console.WriteLine("Reading exclusion list..."); + bool noExclusionList = false; + + if (File.Exists(liteExcludeFile)) { - Directory.CreateDirectory(dirPath.Replace(novpath, litepath)); - Console.WriteLine("D: " + dirPath.Replace(novpath, litepath)); + string[] liteExcludeArray = File.ReadAllLines(liteExcludeFile); + liteExcludeList.AddRange(liteExcludeArray); + } + else + { + noExclusionList = true; } - Console.WriteLine("Copying files..."); - //Copy all the files & Replaces any files with the same name - foreach (string newPath in Directory.GetFiles(novpath, "*.*", - SearchOption.AllDirectories) - .Where(m => !m.Contains("Maps released by year")) - .Where(c06 => !c06.Contains("2006S")) - .Where(c07s => !c07s.Contains("2007M-Shaders")) - .Where(c07Es => !c07Es.Contains("2007E-Shaders")) - .Where(c06s => !c06s.Contains("2006S-Shaders")) - .Where(c09eHD => !c09eHD.Contains("2009E-HD")) - .Where(music => !music.Contains("OldSoundtrack"))) + if (!noExclusionList) { - FixedFileCopy(newPath, newPath.Replace(novpath, litepath), true); - Console.WriteLine("F: " + newPath.Replace(novpath, litepath)); - } + //https://stackoverflow.com/questions/58744/copy-the-entire-contents-of-a-directory-in-c-sharp - Console.WriteLine("Overwriting files with lite alternatives..."); - string litefiles = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\\litefiles"; + Console.WriteLine("Creating directories..."); + //Now Create all of the directories + foreach (string dirPath in Directory.GetDirectories(novpath, "*", SearchOption.AllDirectories)) + { + if (!liteExcludeList.Any(s => dirPath.Contains(s))) + { + Directory.CreateDirectory(dirPath.Replace(novpath, litepath)); + Console.WriteLine("D: " + dirPath.Replace(novpath, litepath)); + } + } - foreach (string newPath in Directory.GetFiles(litefiles, "*.*", - SearchOption.AllDirectories)) - { - FixedFileCopy(newPath, newPath.Replace(litefiles, litepath), true); - Console.WriteLine("OW: " + newPath.Replace(litefiles, litepath)); + Console.WriteLine("Copying files..."); + //Copy all the files & Replaces any files with the same name + foreach (string newPath in Directory.GetFiles(novpath, "*.*", SearchOption.AllDirectories)) + { + if (!liteExcludeList.Any(s => newPath.Contains(s))) + { + FixedFileCopy(newPath, newPath.Replace(novpath, litepath), true); + Console.WriteLine("F: " + newPath.Replace(novpath, litepath)); + } + } + + Console.WriteLine("Overwriting files with lite alternatives..."); + string litefiles = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\\litefiles"; + + foreach (string newPath in Directory.GetFiles(litefiles, "*.*", SearchOption.AllDirectories)) + { + FixedFileCopy(newPath, newPath.Replace(litefiles, litepath), true); + Console.WriteLine("OW: " + newPath.Replace(litefiles, litepath)); + } + + string infopathlite = litepath + @"\\config\\info.ini"; + Console.WriteLine("Editing " + infopathlite); + SetToLite(infopathlite); + string currbranchlite = GetBranch(infopathlite); + + string pathlite = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\\releasenomapsversion.txt"; + Console.WriteLine("Creating " + pathlite); + if (!File.Exists(pathlite)) + { + // Create a file to write to. + using (StreamWriter sw = File.CreateText(pathlite)) + { + sw.Write(currbranchlite); + } + } + Console.WriteLine("Created " + pathlite); } } - - string infopathlite = litepath + @"\\config\\info.ini"; - Console.WriteLine("Editing " + infopathlite); - SetToLite(infopathlite); - string currbranchlite = GetBranch(infopathlite); - - string pathlite = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\\releasenomapsversion.txt"; - Console.WriteLine("Creating " + pathlite); - if (!File.Exists(pathlite)) - { - // Create a file to write to. - using (StreamWriter sw = File.CreateText(pathlite)) - { - sw.Write(currbranchlite); - } - } - Console.WriteLine("Created " + pathlite); } else if (args.Contains("-snapshot")) { diff --git a/Novetus/NovetusCore/Classes/FileFormat.cs b/Novetus/NovetusCore/Classes/FileFormat.cs index b87e67d..3749f3e 100644 --- a/Novetus/NovetusCore/Classes/FileFormat.cs +++ b/Novetus/NovetusCore/Classes/FileFormat.cs @@ -175,6 +175,7 @@ public class FileFormat RegisterClient1 = ""; RegisterClient2 = ""; DefaultMap = ""; + IsLite = false; } public string Version { get; set; } @@ -183,6 +184,7 @@ public class FileFormat public string RegisterClient1 { get; set; } public string RegisterClient2 { get; set; } public string DefaultMap { get; set; } + public bool IsLite { get; set; } } #endregion } diff --git a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs index 01c0aaf..1a39533 100644 --- a/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs +++ b/Novetus/NovetusCore/StorageAndFunctions/GlobalFuncs.cs @@ -47,6 +47,8 @@ public class GlobalFuncs extendedversionrevision = ini.IniReadValue(section, "ExtendedVersionRevision", "-1"); isLite = ini.IniReadValue(section, "IsLite", "False"); + GlobalVars.ProgramInformation.IsLite = Convert.ToBoolean(isLite); + try { GlobalVars.ExtendedVersionNumber = Convert.ToBoolean(extendedversionnumber); @@ -61,7 +63,7 @@ public class GlobalFuncs .Replace("%build%", versionInfo.ProductBuildPart.ToString()) .Replace("%revision%", versionInfo.FilePrivatePart.ToString()) .Replace("%extended-revision%", (!extendedversionrevision.Equals("-1") ? extendedversionrevision : "")) - .Replace("%lite%", (!isLite.Equals("False") ? " (Lite)" : "")); + .Replace("%lite%", (GlobalVars.ProgramInformation.IsLite ? " (Lite)" : "")); } else { @@ -74,7 +76,7 @@ public class GlobalFuncs .Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString()) .Replace("%revision%", Assembly.GetExecutingAssembly().GetName().Version.Revision.ToString()) .Replace("%extended-revision%", (!extendedversionrevision.Equals("-1") ? extendedversionrevision : "")) - .Replace("%lite%", (!isLite.Equals("False") ? " (Lite)" : "")); + .Replace("%lite%", (GlobalVars.ProgramInformation.IsLite ? " (Lite)" : "")); } bool changelogedit = Convert.ToBoolean(extendedversioneditchangelog); diff --git a/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.cs b/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.cs index e7c506f..9c1a0ea 100644 --- a/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.cs +++ b/Novetus/NovetusLauncher/Forms/SDK/NovetusSDK.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; +using System.IO; using System.Linq; using System.Windows.Forms; #endregion @@ -36,6 +37,21 @@ public partial class NovetusSDK : Form #region Form Events private void NovetusSDK_Load(object sender, EventArgs e) { + if (!File.Exists(GlobalPaths.DataDir + "\\RSG.exe")) + { + DisableApp(SDKApps.ScriptGenerator); + } + + if (!File.Exists(GlobalPaths.DataDir + "\\Roblox_Legacy_Place_Converter.exe")) + { + DisableApp(SDKApps.LegacyPlaceConverter); + } + + if (!GlobalFuncs.IsClientValid("ClientScriptTester")) + { + DisableApp(SDKApps.ClientScriptTester); + } + Text = "Novetus SDK " + GlobalVars.ProgramInformation.Version; label1.Text = GlobalVars.ProgramInformation.Version; } @@ -64,8 +80,26 @@ public partial class NovetusSDK : Form #endregion #region Functions - public static void LaunchSDKAppByIndex(int index) + void DisableApp(SDKApps app) { + ListViewItem appItem = listView1.Items[(int)app]; + appItem.Text = appItem.Text + " (Disabled)"; + } + + void LaunchSDKAppByIndex(int index) + { + ListViewItem appItem = listView1.Items[index]; + + if (appItem.Text.Contains("Disabled")) + { + string errorText = GlobalVars.ProgramInformation.IsLite ? + "This application has been disabled to save space. Please download the Full version of Novetus to use all SDK tools." : + "This application has been disabled."; + + MessageBox.Show(errorText, "Novetus SDK - App Disabled", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + SDKApps selectedApp = (SDKApps)index; switch (selectedApp) diff --git a/README-AND-CREDITS.TXT b/README-AND-CREDITS.TXT index 60e0913..0e1ba83 100644 --- a/README-AND-CREDITS.TXT +++ b/README-AND-CREDITS.TXT @@ -190,13 +190,15 @@ Lite: + Smaller File Size - Less Maps - Less Clients -- Doesn't include the full ROBLOX soundtrack +- Less SDK tools +- Doesn't include soundtrack Full: - Larger file size -+ More Maps -+ More Clients -+ Includes the full ROBLOX soundtrack ++ Full selection of Maps ++ Full selection of Clients ++ Full selection of SDK tools ++ Includes the ROBLOX soundtrack ------------------------------------------------------------ GRAPHICS MODE INFO: diff --git a/changelog.txt b/changelog.txt index 50f5576..744bcc8 100644 --- a/changelog.txt +++ b/changelog.txt @@ -30,6 +30,18 @@ Fixes: - Fixed the Stylish interface not pinging the master server. - Fixed some clients not functioning properly with Wine (Credits to man-of-eel in pull request #27). - Fixed small issues with tripcodes. + +Lite version changes: +- Removed the following clients: + - 2007M + - 2008M + - Client Script Tester +- Removed the following SDK tools: + - Roblox Legacy Place Converter + - Roblox Script Generator + - Client Script Tester +- Removed .NET Framework 2.0 dependency. +- Removed the soundtrack. ---------------------------------------------------------------------------- 1.3 v11.2021.1 Changes from Pre-Release 5: diff --git a/scripts/batch/Novetus_dependency_installer_lite.bat b/scripts/batch/Novetus_dependency_installer_lite.bat new file mode 100644 index 0000000..a6a4598 --- /dev/null +++ b/scripts/batch/Novetus_dependency_installer_lite.bat @@ -0,0 +1,95 @@ +@ECHO OFF +setlocal +cd /d %~dp0 +:REDISTINSTALLER +TITLE NOVETUS DEPENDENCY INSTALLER +ECHO --------------------------------------------------------------------------- +ECHO NhhhhhhhhhhN hsssoosssd +ECHO NyyyyhhhhyyhdN hoo++++++h +ECHO NyyyyyhhhhyyyhN hoo+++///h +ECHO NssssyyyyyhyyyhdN hoo+++///h +ECHO Nsossssyyyyyyyyyhm hsoo++///h +ECHO NsssssssssyyyyyyyhdN hssoo++//h +ECHO Nsssssssssssyyyyhhhdm hsssoo+++h +ECHO NyssssssssysyyyyhhhhhdN NNNNNmmmmdddddhhysoooo+++ymNN +ECHO Nhyyssssssmdyyyyhhhhhyhyysssssooooooooosssooooo++osssyhdmN +ECHO Nhyyyyssssddhyyyhhyyysssosyyhhhddmmmmmmmyooooo+++yhyssoosydN +ECHO NdhhyyyysssoosyhyyyssooooydN y++++++++hN NNdhsoohN +ECHO NmdhhhyyyysyhddmNmhyssooooooshN s++++++++h doosm +ECHO NNdhysoyyyysssssm NdsoooooooooydN s/////+++h NmyooyN +ECHO Ndysoosyhyysssooosm myooooooososhN s///////+h Ndhsoshm +ECHO mhsoosydmNmysooooooom NdssssssssooydN s////////hdhssosydN +ECHO NhsosydN Nsoooo+++om mhssssssoooohm y++/////+soosyhmN +ECHO NhoosdN Nsooo+++oom NdyssssooooosdN Ny++++oooosydmN +ECHO msood Noooooooosm Nhssooooooooydhysoooo++++hN +ECHO NhooshmN Nsoooooossm Nmhsoooooooooooso++////++h +ECHO Nhysossyhhdddoooooooosdmmmmmdddhhhyysssoooooooooo++ss++//++++h +ECHO Nmhyyssooooooooooooosssooooooossssyyhhdds+++++++++++++++oood +ECHO NNmmmddssooooooohhhhddddmmmNNNN Ny+++++++++++++osssd +ECHO Nyyssssoosm Nds+++++++++oosssyd +ECHO Nhyyysssssm Nho++++++oossssyd +ECHO Nyyyyyssssm ms+++++ooossssd +ECHO Nyyyssssssm Nho+++ooossssd +ECHO Nhyyyyyyyym mysssssyyyyd +ECHO --------------------------------------------------------------------------- +ECHO. +ECHO NOVETUS DEPENDENCY INSTALLER +ECHO. +ECHO Please install the following if you haven't already: +ECHO 1 - Microsoft .NET Framework 4.0 (REQUIRED for the Novetus Launcher) +ECHO 2 - .NET 4.0 Update (KB2468871, REQUIRED for Windows XP and Vista) +ECHO 3 - Microsoft Visual C++ Redistributables 2005 (32-bit, REQUIRED for 2007) +ECHO 4 - Microsoft Visual C++ Redistributables 2008 (32-bit, REQUIRED for 2008 and above) +ECHO 5 - Media Feature Pack for Windows N Editions (REQUIRED for 2011+) +ECHO 6 - Exit +ECHO. +SET /P M=Choose an option by typing the number corresponding to which depenency you want to install: +IF %M%==1 goto net4 +IF %M%==2 goto net4update +IF %M%==3 goto vc2005 +IF %M%==4 goto vc2008 +IF %M%==5 goto mfp +IF %M%==6 EXIT +EXIT + +:net4 +CLS +echo Installing Microsoft .NET Framework 4.0... +"%CD%/_redist/NET Framework/dotNetFx40_Full_x86_x64.exe" +pause +goto REDISTINSTALLER + +:net4update +CLS +echo Installing .NET 4.0 Update (KB2468871)... +reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT + +if %OS%==32BIT "%CD%/_redist/NET Framework/NDP40-KB2468871-v2-x86 (XP and Vista Only).exe" +if %OS%==64BIT "%CD%/_redist/NET Framework/NDP40-KB2468871-v2-x64 (XP and Vista Only).exe" +pause +goto REDISTINSTALLER + +:vc2005 +CLS +echo Installing Microsoft Visual C++ Redistributables 2005 (32-bit)... +"%CD%/_redist/Visual C++ Redistributables/vcredist2005_x86.exe" +pause +goto REDISTINSTALLER + +:vc2008 +CLS +echo Installing Microsoft Visual C++ Redistributables 2008 (32-bit)... +"%CD%/_redist/Visual C++ Redistributables/vcredist2008_x86.exe" +pause +goto REDISTINSTALLER + +:mfp +CLS +echo Please install the Media Feature Pack from Microsoft's website for your respective version of Windows. +echo https://support.microsoft.com/en-us/topic/media-feature-pack-list-for-windows-n-editions-c1c6fffa-d052-8338-7a79-a4bb980a700a +echo A web browser window to the site will pop up after you press a key. +echo Note: you can check what version you are on by goting to Settings, then System, then go down to About. +pause +start "" https://support.microsoft.com/en-us/topic/media-feature-pack-list-for-windows-n-editions-c1c6fffa-d052-8338-7a79-a4bb980a700a +pause +goto REDISTINSTALLER \ No newline at end of file diff --git a/scripts/batch/create_lite.bat b/scripts/batch/create_lite.bat index 9e858b7..6b76562 100644 --- a/scripts/batch/create_lite.bat +++ b/scripts/batch/create_lite.bat @@ -1,3 +1,4 @@ @ECHO OFF call clean_junk.bat -ReleasePreparer.exe -lite \ No newline at end of file +ReleasePreparer.exe -lite +pause \ No newline at end of file diff --git a/scripts/batch/github_sync.bat b/scripts/batch/github_sync.bat index 85d4380..08b1108 100644 --- a/scripts/batch/github_sync.bat +++ b/scripts/batch/github_sync.bat @@ -129,7 +129,9 @@ XCOPY "%cd%\dev_menu.bat" "%scriptsdir%\batch" /y XCOPY "%cd%\clean_junk.bat" "%scriptsdir%\batch" /y XCOPY "%cd%\github_sync.bat" "%scriptsdir%\batch" /y XCOPY "%cd%\create_lite.bat" "%scriptsdir%\batch" /y +XCOPY "%cd%\liteexclude.txt" "%scriptsdir%\batch" /y XCOPY "%cd%\Novetus\Novetus_dependency_installer.bat" "%scriptsdir%\batch" /y +XCOPY "%cd%\litefiles\Novetus_dependency_installer.bat" "%scriptsdir%\batch\Novetus_dependency_installer_lite.bat*" /y XCOPY "%cd%\Novetus\Novetus_launcher_legacy.bat" "%scriptsdir%\batch" /y XCOPY "%cd%\Novetus\documentation.txt" "%dest%" /y XCOPY /c "%cd%\Novetus\.itch.toml" "%dest%" /y diff --git a/scripts/batch/liteexclude.txt b/scripts/batch/liteexclude.txt new file mode 100644 index 0000000..f56e1d3 --- /dev/null +++ b/scripts/batch/liteexclude.txt @@ -0,0 +1,15 @@ +Maps released by year +2006S +2006S-Shaders +2007E-Shaders +2007M +2007M-Shaders +2008M +2009E-HD +RSG.exe +Roblox_Legacy_Place_Converter.exe +ClientScriptTester +NetFx20SP2_x64.exe +NetFx20SP2_x86.exe +models +soundtrack