From 40e6de29cff77275fbd6b6dc2c49f4c31a31d28f Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Fri, 1 Jul 2022 21:14:08 +0200 Subject: [PATCH] Added FSR support in game launching --- src/lib/config/mod.rs | 16 ++++++++++++++++ src/lib/game.rs | 3 ++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/lib/config/mod.rs b/src/lib/config/mod.rs index be34cb0..89a527a 100644 --- a/src/lib/config/mod.rs +++ b/src/lib/config/mod.rs @@ -195,3 +195,19 @@ impl Default for Fsr { } } } + +impl Fsr { + /// Get environment variables corresponding to used amd fsr options + pub fn get_env_vars(&self) -> HashMap<&str, String> { + if self.enabled { + HashMap::from([ + ("WINE_FULLSCREEN_FSR", String::from("1")), + ("WINE_FULLSCREEN_FSR_STRENGTH", self.strength.to_string()) + ]) + } + + else { + HashMap::new() + } + } +} diff --git a/src/lib/game.rs b/src/lib/game.rs index 45c5219..72a7395 100644 --- a/src/lib/game.rs +++ b/src/lib/game.rs @@ -96,9 +96,10 @@ pub fn run(debug: bool) -> Result<(), Error> { } command.env("WINEPREFIX", &config.game.wine.prefix); - + command.envs(config.game.wine.sync.get_env_vars()); command.envs(config.game.enhancements.hud.get_env_vars()); + command.envs(config.game.enhancements.fsr.get_env_vars()); command.envs(config.game.environment) .current_dir(config.game.path)