From 6fceadb2639eb7f35dfbe9bac0bbcfcb29875eb9 Mon Sep 17 00:00:00 2001 From: erri120 Date: Mon, 30 Sep 2024 12:04:50 +0200 Subject: [PATCH] Skip running redmod on non-Steam installations --- .../RedModDeployTool.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/Games/NexusMods.Games.RedEngine/RedModDeployTool.cs b/src/Games/NexusMods.Games.RedEngine/RedModDeployTool.cs index c3516d13b7..edd35b2182 100644 --- a/src/Games/NexusMods.Games.RedEngine/RedModDeployTool.cs +++ b/src/Games/NexusMods.Games.RedEngine/RedModDeployTool.cs @@ -1,7 +1,9 @@ using System.Reflection; using CliWrap; +using Microsoft.Extensions.Logging; using NexusMods.Abstractions.GameLocators; using NexusMods.Abstractions.Games.DTO; +using NexusMods.Abstractions.Games.Stores.Steam; using NexusMods.Abstractions.Loadouts; using NexusMods.Games.Generic; using NexusMods.Paths; @@ -13,9 +15,11 @@ public class RedModDeployTool : ITool { private readonly GameToolRunner _toolRunner; private readonly TemporaryFileManager _temporaryFileManager; + private readonly ILogger _logger; - public RedModDeployTool(GameToolRunner toolRunner, TemporaryFileManager temporaryFileManager) + public RedModDeployTool(GameToolRunner toolRunner, TemporaryFileManager temporaryFileManager, ILogger logger) { + _logger = logger; _toolRunner = toolRunner; _temporaryFileManager = temporaryFileManager; } @@ -42,8 +46,15 @@ public async Task Execute(Loadout.ReadOnly loadout, CancellationToken cancellati } else { - await using var batchPath = await ExtractTemporaryDeployScript(); - await _toolRunner.ExecuteAsync(loadout, Cli.Wrap(batchPath.ToString()), true, cancellationToken); + if (loadout.InstallationInstance.LocatorResultMetadata is SteamLocatorResultMetadata) + { + await using var batchPath = await ExtractTemporaryDeployScript(); + await _toolRunner.ExecuteAsync(loadout, Cli.Wrap(batchPath.ToString()), true, cancellationToken); + } + else + { + _logger.LogWarning("Skip running redmod, it's only supported for Steam on Linux at the moment"); + } } }