feat: implemented use of wine shared libraries settings

This commit is contained in:
Observer KRypt0n_ 2023-05-21 21:00:58 +02:00
parent 911af1f635
commit f865af791e
No known key found for this signature in database
GPG key ID: 844DA47BA25FE1E2
3 changed files with 33 additions and 3 deletions

View file

@ -5,6 +5,8 @@ use anime_game_core::prelude::*;
use anime_game_core::genshin::telemetry; use anime_game_core::genshin::telemetry;
use anime_game_core::genshin::game::Game; use anime_game_core::genshin::game::Game;
use crate::components::wine::Bundle as WineBundle;
use crate::config::ConfigExt; use crate::config::ConfigExt;
use crate::genshin::config::Config; use crate::genshin::config::Config;
@ -238,10 +240,18 @@ pub fn run() -> anyhow::Result<()> {
} }
} }
command.envs(config.game.wine.sync.get_env_vars()); let mut wine_folder = folders.wine.clone();
if features.bundle == Some(WineBundle::Proton) {
wine_folder.push("files");
}
command.envs(config.game.enhancements.hud.get_env_vars(config.game.enhancements.gamescope.enabled)); command.envs(config.game.enhancements.hud.get_env_vars(config.game.enhancements.gamescope.enabled));
command.envs(config.game.enhancements.fsr.get_env_vars()); command.envs(config.game.enhancements.fsr.get_env_vars());
command.envs(config.game.wine.sync.get_env_vars());
command.envs(config.game.wine.language.get_env_vars()); command.envs(config.game.wine.language.get_env_vars());
command.envs(config.game.wine.shared_libraries.get_env_vars(wine_folder));
command.envs(config.game.environment); command.envs(config.game.environment);

View file

@ -3,6 +3,8 @@ use std::path::PathBuf;
use anime_game_core::honkai::telemetry; use anime_game_core::honkai::telemetry;
use crate::components::wine::Bundle as WineBundle;
use crate::config::ConfigExt; use crate::config::ConfigExt;
use crate::honkai::config::Config; use crate::honkai::config::Config;
@ -174,10 +176,18 @@ pub fn run() -> anyhow::Result<()> {
} }
} }
command.envs(config.game.wine.sync.get_env_vars()); let mut wine_folder = folders.wine.clone();
if features.bundle == Some(WineBundle::Proton) {
wine_folder.push("files");
}
command.envs(config.game.enhancements.hud.get_env_vars(config.game.enhancements.gamescope.enabled)); command.envs(config.game.enhancements.hud.get_env_vars(config.game.enhancements.gamescope.enabled));
command.envs(config.game.enhancements.fsr.get_env_vars()); command.envs(config.game.enhancements.fsr.get_env_vars());
command.envs(config.game.wine.sync.get_env_vars());
command.envs(config.game.wine.language.get_env_vars()); command.envs(config.game.wine.language.get_env_vars());
command.envs(config.game.wine.shared_libraries.get_env_vars(wine_folder));
command.envs(config.game.environment); command.envs(config.game.environment);

View file

@ -3,6 +3,8 @@ use std::path::PathBuf;
use anime_game_core::star_rail::telemetry; use anime_game_core::star_rail::telemetry;
use crate::components::wine::Bundle as WineBundle;
use crate::config::ConfigExt; use crate::config::ConfigExt;
use crate::star_rail::config::Config; use crate::star_rail::config::Config;
@ -175,10 +177,18 @@ pub fn run() -> anyhow::Result<()> {
} }
} }
command.envs(config.game.wine.sync.get_env_vars()); let mut wine_folder = folders.wine.clone();
if features.bundle == Some(WineBundle::Proton) {
wine_folder.push("files");
}
command.envs(config.game.enhancements.hud.get_env_vars(config.game.enhancements.gamescope.enabled)); command.envs(config.game.enhancements.hud.get_env_vars(config.game.enhancements.gamescope.enabled));
command.envs(config.game.enhancements.fsr.get_env_vars()); command.envs(config.game.enhancements.fsr.get_env_vars());
command.envs(config.game.wine.sync.get_env_vars());
command.envs(config.game.wine.language.get_env_vars()); command.envs(config.game.wine.language.get_env_vars());
command.envs(config.game.wine.shared_libraries.get_env_vars(wine_folder));
command.envs(config.game.environment); command.envs(config.game.environment);