From aef3b406eac0cdc289643eadb82c8773bbbdb99f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Lidwin?= Date: Fri, 2 Feb 2024 17:43:26 +0100 Subject: [PATCH] use run verb for setup commands --- src/backend/launcher.ts | 4 ++-- src/backend/storeManagers/legendary/setup.ts | 16 +++++++++++----- src/backend/storeManagers/nile/setup.ts | 2 +- src/backend/tools/index.ts | 10 +++++----- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/backend/launcher.ts b/src/backend/launcher.ts index 0610b40e5a..9c1d1db399 100644 --- a/src/backend/launcher.ts +++ b/src/backend/launcher.ts @@ -338,7 +338,7 @@ async function prepareWineLaunch( sendFrontendMessage('gameStatusUpdate', { appName, runner: 'gog', - status: 'playing' + status: 'launching' }) } if (runner === 'nile') { @@ -436,7 +436,7 @@ async function installFixes(appName: string, runner: Runner) { await runWineCommandOnGame(appName, { commandParts: [fullPath], wait: true, - protonVerb: 'waitforexitandrun' + protonVerb: 'run' }) } } diff --git a/src/backend/storeManagers/legendary/setup.ts b/src/backend/storeManagers/legendary/setup.ts index 738b80e341..a186a5e5fc 100644 --- a/src/backend/storeManagers/legendary/setup.ts +++ b/src/backend/storeManagers/legendary/setup.ts @@ -1,10 +1,12 @@ import { join } from 'path' -import { getGameInfo, runWineCommandOnGame } from './games' +import { getGameInfo } from './games' import { getInstallInfo } from './library' import { sendGameStatusUpdate } from 'backend/utils' import { enable, getStatus, isEnabled } from './eos_overlay/eos_overlay' import { split } from 'shlex' import { logError } from 'backend/logger/logger' +import { runWineCommand } from 'backend/launcher' +import { GameConfig } from 'backend/game_config' export const legendarySetup = async (appName: string) => { const gameInfo = getGameInfo(appName) @@ -19,8 +21,11 @@ export const legendarySetup = async (appName: string) => { context: 'EPIC' }) + const gameSettings = GameConfig.get(appName).config + // Fixes games like Fallout New Vegas and Dishonored: Death of the Outsider - await runWineCommandOnGame(appName, { + await runWineCommand({ + gameSettings, commandParts: [ 'reg', 'add', @@ -28,7 +33,7 @@ export const legendarySetup = async (appName: string) => { '/f' ], wait: true, - protonVerb: 'waitforexitandrun' + protonVerb: 'run' }) const winPlatforms = ['Windows', 'Win32', 'windows'] @@ -42,7 +47,8 @@ export const legendarySetup = async (appName: string) => { info.manifest.prerequisites && info.manifest.prerequisites.path.length > 0 ) { - await runWineCommandOnGame(appName, { + await runWineCommand({ + gameSettings, commandParts: [ join( gameInfo.install.install_path ?? '', @@ -51,7 +57,7 @@ export const legendarySetup = async (appName: string) => { ...split(info.manifest.prerequisites.args) ], wait: true, - protonVerb: 'waitforexitandrun' + protonVerb: 'run' }) } } catch (error) { diff --git a/src/backend/storeManagers/nile/setup.ts b/src/backend/storeManagers/nile/setup.ts index 49c5a35b77..c5d231aeec 100644 --- a/src/backend/storeManagers/nile/setup.ts +++ b/src/backend/storeManagers/nile/setup.ts @@ -114,7 +114,7 @@ export default async function setup( gameInstallPath: basePath, commandParts: [action.Command, ...exeArguments], wait: true, - protonVerb: 'waitforexitandrun', + protonVerb: 'run', startFolder: basePath }) } diff --git a/src/backend/tools/index.ts b/src/backend/tools/index.ts index a430b178c9..1feaa50e0a 100644 --- a/src/backend/tools/index.ts +++ b/src/backend/tools/index.ts @@ -259,7 +259,7 @@ export const DXVK = { gameSettings, commandParts: unregisterDll, wait: true, - protonVerb: 'waitforexitandrun' + protonVerb: 'run' }) }) dlls32.forEach(async (dll) => { @@ -276,7 +276,7 @@ export const DXVK = { gameSettings, commandParts: unregisterDll, wait: true, - protonVerb: 'waitforexitandrun' + protonVerb: 'run' }) }) return true @@ -339,7 +339,7 @@ export const DXVK = { gameSettings, commandParts: registerDll, wait: true, - protonVerb: 'waitforexitandrun' + protonVerb: 'run' }) }) dlls32.forEach(async (dll) => { @@ -359,7 +359,7 @@ export const DXVK = { gameSettings, commandParts: registerDll, wait: true, - protonVerb: 'waitforexitandrun' + protonVerb: 'run' }) }) @@ -398,7 +398,7 @@ export const DXVK = { gameSettings, commandParts: regModNvngx, wait: true, - protonVerb: 'waitforexitandrun' + protonVerb: 'run' }) } else { logWarning(