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)