From 0b58ce43083e1822ed846961c6297ca49275bf03 Mon Sep 17 00:00:00 2001 From: fgsfds <4870330+fgsfds@users.noreply.github.com> Date: Sat, 30 Nov 2024 12:46:07 +0500 Subject: [PATCH] fixed WT not launching with Raze, updated to 1.1.2 --- Directory.Build.props | 2 +- src/Ports/Ports/Raze.cs | 13 ++++++++++--- src/Tests/CmdArguments/DukeCmdArgumentsTests.cs | 1 - 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index eb4f88c..e28c504 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - 1.1.1 + 1.1.2 net9.0 enable latest diff --git a/src/Ports/Ports/Raze.cs b/src/Ports/Ports/Raze.cs index eb09066..73a4a89 100644 --- a/src/Ports/Ports/Raze.cs +++ b/src/Ports/Ports/Raze.cs @@ -496,11 +496,18 @@ private static void AddGamePathsToConfig(IGame game, IAddon campaign, string gam _ = sb.Append("Path=").AppendLine(path); //duke addons folders - if (game is DukeGame dGame) + if (game is DukeGame dGame && !campaign.Id.Equals(nameof(DukeVersionEnum.Duke3D_WT), StringComparison.OrdinalIgnoreCase)) { - foreach (var folder in dGame.AddonsPaths) + var addonPaths = dGame.AddonsPaths.Values.Distinct(); + + foreach (var folder in addonPaths) { - path = folder.Value.Replace('\\', '/'); + if (folder.Equals(gameInstallFolder)) + { + continue; + } + + path = folder.Replace('\\', '/'); _ = sb.Append("Path=").AppendLine(path); } } diff --git a/src/Tests/CmdArguments/DukeCmdArgumentsTests.cs b/src/Tests/CmdArguments/DukeCmdArgumentsTests.cs index 8436a46..1af23f0 100644 --- a/src/Tests/CmdArguments/DukeCmdArgumentsTests.cs +++ b/src/Tests/CmdArguments/DukeCmdArgumentsTests.cs @@ -228,7 +228,6 @@ public void RazeWtTest() Assert.StartsWith($""" [GameSearch.Directories] Path=D:/Games/DukeWT - Path=D:/Games/Duke3D/Vaca [FileSearch.Directories] Path={Directory.GetCurrentDirectory()}/Data/Addons/Duke3D/Mods