From 30ff83b840dbc22e92155bc777bb07838717720a Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Wed, 3 Aug 2022 01:05:41 +0200 Subject: [PATCH] Added `WINEARCH=win64` to some places --- src/lib/dxvk.rs | 2 +- src/lib/game.rs | 1 + src/lib/wine_prefix.rs | 25 +++++++++++++------------ 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/lib/dxvk.rs b/src/lib/dxvk.rs index 62c801f..420a358 100644 --- a/src/lib/dxvk.rs +++ b/src/lib/dxvk.rs @@ -101,7 +101,7 @@ impl Version { let output = std::process::Command::new("bash") .arg(&apply_path) .arg("install") - .env("WINE", wine_path) + .env("WINEARCH", "win64") .env("WINESERVER", wineserver_path) .env("WINEPREFIX", prefix_path.to_string()) .output()?; diff --git a/src/lib/game.rs b/src/lib/game.rs index 920d63e..c707cfa 100644 --- a/src/lib/game.rs +++ b/src/lib/game.rs @@ -115,6 +115,7 @@ pub fn run(debug: bool) -> std::io::Result<()> { // Setup environment + command.env("WINEARCH", "win64"); command.env("WINEPREFIX", &config.game.wine.prefix); // Add DXVK_ASYNC=1 for dxvk-async builds automatically diff --git a/src/lib/wine_prefix.rs b/src/lib/wine_prefix.rs index d03bdb4..2a87b30 100644 --- a/src/lib/wine_prefix.rs +++ b/src/lib/wine_prefix.rs @@ -1,5 +1,5 @@ use std::path::Path; -use std::process::Command; +use std::process::{Command, Output}; #[derive(Debug, Clone)] pub struct WinePrefix { @@ -15,38 +15,39 @@ impl WinePrefix { Path::new(&format!("{}/drive_c", self.path)).exists() } - fn wineboot(&self, runners_folder: T, runner: super::wine::Version, command: &str) -> std::io::Result<()> { + fn wineboot(&self, runners_folder: T, runner: super::wine::Version, command: &str) -> std::io::Result { let runners_folder = runners_folder.to_string(); let wineboot = format!("{}/{}/{}", &runners_folder, runner.name, runner.files.wineboot); let wineserver = format!("{}/{}/{}", &runners_folder, runner.name, runner.files.wineserver); - Command::new(wineboot) + let mut wineboot = Command::new(wineboot); + + wineboot.env("WINEARCH", "win64") .env("WINESERVER", wineserver) .env("WINEPREFIX", &self.path) - .arg(command) - .output()?; + .arg(command); - Ok(()) + Ok(wineboot.output()?) } - pub fn update(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { + pub fn update(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result { self.wineboot(runners_folder, runner, "-u") } - pub fn end(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { + pub fn end(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result { self.wineboot(runners_folder, runner, "-e") } - pub fn kill(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { + pub fn kill(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result { self.wineboot(runners_folder, runner, "-k") } - - pub fn restart(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { + + pub fn restart(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result { self.wineboot(runners_folder, runner, "-r") } - pub fn shutdown(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result<()> { + pub fn shutdown(&self, runners_folder: T, runner: super::wine::Version) -> std::io::Result { self.wineboot(runners_folder, runner, "-s") } }