diff --git a/CHANGELOG.md b/CHANGELOG.md index 5780931a..45ce8dd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * Make the CDN downloads multi-threaded * Optimize installation of included files * Reinstate a broken feature with disabled mods +* Fix for Absolute Paths in Steam files #### Version - 2.0.4.4 - 5/11/2020 * BA2s store file names as UTF8 instead of UTF7 diff --git a/Wabbajack.Common/StoreHandlers/SteamHandler.cs b/Wabbajack.Common/StoreHandlers/SteamHandler.cs index 236adb59..7a8d9fdf 100644 --- a/Wabbajack.Common/StoreHandlers/SteamHandler.cs +++ b/Wabbajack.Common/StoreHandlers/SteamHandler.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Security; using Microsoft.Win32; @@ -155,9 +156,21 @@ namespace Wabbajack.Common.StoreHandlers if (!l.ContainsCaseInsensitive("\"installdir\"")) return; - var path = new RelativePath("common").Combine(GetVdfValue(l)).RelativeTo(u); - if (path.Exists) - game.Path = path; + var value = GetVdfValue(l); + AbsolutePath absPath; + + if (Path.IsPathRooted(value)) + { + absPath = (AbsolutePath)value; + } + else + { + absPath = new RelativePath("common").Combine(GetVdfValue(l)).RelativeTo(u); + } + + if (absPath.Exists) + game.Path = absPath; + }); if (!gotID || !game.Path.IsDirectory) return;