From b480e6797c3257afd97eb645e73991e72b651fbe Mon Sep 17 00:00:00 2001 From: Evil Factory <36804725+evilfactory@users.noreply.github.com> Date: Mon, 13 Sep 2021 12:57:31 -0300 Subject: [PATCH] workshop installer program fix --- .../BarotraumaServer/ServerSource/Program.cs | 2 +- Workshop/WorkshopInstaller/Program.cs | 24 +++++++++++++++++ .../WorkshopInstaller.csproj | 10 +++++++ .../WorkshopInstaller/WorkshopInstaller.sln | 25 ++++++++++++++++++ Workshop/blacklist_files.zip | Bin 0 -> 593895 bytes docs/lua/Vectors.lua | 4 +-- 6 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 Workshop/WorkshopInstaller/Program.cs create mode 100644 Workshop/WorkshopInstaller/WorkshopInstaller.csproj create mode 100644 Workshop/WorkshopInstaller/WorkshopInstaller.sln create mode 100644 Workshop/blacklist_files.zip diff --git a/Barotrauma/BarotraumaServer/ServerSource/Program.cs b/Barotrauma/BarotraumaServer/ServerSource/Program.cs index 4704aaca4..bf83d1bf8 100644 --- a/Barotrauma/BarotraumaServer/ServerSource/Program.cs +++ b/Barotrauma/BarotraumaServer/ServerSource/Program.cs @@ -53,7 +53,7 @@ namespace Barotrauma string executableDir = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location); Directory.SetCurrentDirectory(executableDir); - + if (File.Exists("filelist.xml")) Directory.SetCurrentDirectory(executableDir + "/../.."); // sweet diff --git a/Workshop/WorkshopInstaller/Program.cs b/Workshop/WorkshopInstaller/Program.cs new file mode 100644 index 000000000..6a3a81169 --- /dev/null +++ b/Workshop/WorkshopInstaller/Program.cs @@ -0,0 +1,24 @@ +using System; +using System.IO; +using System.IO.Compression; + + +namespace WorkshopInstaller +{ + class Program + { + static void Main(string[] args) + { + if (File.Exists("Barotrauma.exe")) + { + Directory.SetCurrentDirectory("Mods/LuaForBarotrauma/"); + } + + ZipFile.ExtractToDirectory("blacklist_files.zip", "."); + + File.Move("DedicatedServer.exe", "WorkshopInstaller.exe"); + File.Move("DedicatedServer.exe.original", "DedicatedServer.exe"); + File.Create("DedicatedServer.exe.original"); + } + } +} diff --git a/Workshop/WorkshopInstaller/WorkshopInstaller.csproj b/Workshop/WorkshopInstaller/WorkshopInstaller.csproj new file mode 100644 index 000000000..2fc56856f --- /dev/null +++ b/Workshop/WorkshopInstaller/WorkshopInstaller.csproj @@ -0,0 +1,10 @@ + + + + Exe + netcoreapp3.1 + false + false + + + diff --git a/Workshop/WorkshopInstaller/WorkshopInstaller.sln b/Workshop/WorkshopInstaller/WorkshopInstaller.sln new file mode 100644 index 000000000..361a4d1c9 --- /dev/null +++ b/Workshop/WorkshopInstaller/WorkshopInstaller.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31129.286 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkshopInstaller", "WorkshopInstaller.csproj", "{B72BA20A-E0E9-4B41-BD12-67AC62D549AE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B72BA20A-E0E9-4B41-BD12-67AC62D549AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B72BA20A-E0E9-4B41-BD12-67AC62D549AE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B72BA20A-E0E9-4B41-BD12-67AC62D549AE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B72BA20A-E0E9-4B41-BD12-67AC62D549AE}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {07CADD5B-22A1-40E4-97C5-63C715CD535A} + EndGlobalSection +EndGlobal diff --git a/Workshop/blacklist_files.zip b/Workshop/blacklist_files.zip new file mode 100644 index 0000000000000000000000000000000000000000..04ba3622b27f421898e4d5b05fb3ac2ad8d87229 GIT binary patch literal 593895 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