From 5160426fb4451d6f198ba1e8655be95f85d7eabd Mon Sep 17 00:00:00 2001 From: AL <26797547+Al12rs@users.noreply.github.com> Date: Tue, 24 Sep 2024 15:39:55 +0200 Subject: [PATCH] Only ignore game pak files inside Data not loose files --- .../BaldursGate3/BaldursGate3Synchronizer.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Games/NexusMods.Games.Larian/BaldursGate3/BaldursGate3Synchronizer.cs b/src/Games/NexusMods.Games.Larian/BaldursGate3/BaldursGate3Synchronizer.cs index cd7a2bdc47..43a3e5cce6 100644 --- a/src/Games/NexusMods.Games.Larian/BaldursGate3/BaldursGate3Synchronizer.cs +++ b/src/Games/NexusMods.Games.Larian/BaldursGate3/BaldursGate3Synchronizer.cs @@ -2,6 +2,7 @@ using NexusMods.Abstractions.GameLocators; using NexusMods.Abstractions.Loadouts.Synchronizers; using NexusMods.Abstractions.Settings; +using NexusMods.Paths; namespace NexusMods.Games.Larian.BaldursGate3; @@ -15,6 +16,8 @@ public class BaldursGate3Synchronizer : ALoadoutSynchronizer private static GamePath ModSettingsFile => new(LocationId.From("PlayerProfiles"), "modsettings.lsx"); + private static Extension PakExtension => new Extension(".pak"); + public BaldursGate3Synchronizer(IServiceProvider provider) : base(provider) { @@ -27,9 +30,10 @@ public override bool IsIgnoredPath(GamePath path) // Always ignore all PlayerProfile files except the modsettings file. if (path.InFolder(PublicPlayerProfiles)) return path.Path != ModSettingsFile.Path; - if (path.InFolder(DataFolder)) - return true; - return false; + + if (_settings.DoFullGameBackup) return false; + + return path.InFolder(DataFolder) && path.Extension == PakExtension; } public override bool IsIgnoredBackupPath(GamePath path)