From a0e6fcc4c67411f4a2251fecb9c849233101f1b3 Mon Sep 17 00:00:00 2001 From: Ombrezz Date: Mon, 18 Sep 2023 07:47:28 -0400 Subject: Allow ProtonGE to be used as a compatibility tool (#533) * Allow ProtonGE to be used as a compatibility tool * Use constant list to track valid Proton builds * Fixed formatting * Update to doc comments --- src-tauri/src/constants.rs | 4 ++++ src-tauri/src/northstar/mod.rs | 12 ++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src-tauri') diff --git a/src-tauri/src/constants.rs b/src-tauri/src/constants.rs index 7ee98f95..33aefac8 100644 --- a/src-tauri/src/constants.rs +++ b/src-tauri/src/constants.rs @@ -58,3 +58,7 @@ pub const NORTHSTAR_DLL: &str = "Northstar.dll"; /// Profile that Northstar defaults to and ships with pub const NORTHSTAR_DEFAULT_PROFILE: &str = "R2Northstar"; + +/// List of valid compatibility tools that Northstar can be launched with +pub const VALID_NORTHSTAR_PROTON_BUILDS: [&str; 3] = + ["NorthstarProton-8.1-1", "GE-Proton8-13", "GE-Proton8-11"]; diff --git a/src-tauri/src/northstar/mod.rs b/src-tauri/src/northstar/mod.rs index 4fecfe51..5b0139f9 100644 --- a/src-tauri/src/northstar/mod.rs +++ b/src-tauri/src/northstar/mod.rs @@ -5,7 +5,7 @@ pub mod profile; use crate::util::check_ea_app_or_origin_running; use crate::{ - constants::{CORE_MODS, TITANFALL2_STEAM_ID}, + constants::{CORE_MODS, TITANFALL2_STEAM_ID, VALID_NORTHSTAR_PROTON_BUILDS}, get_host_os, GameInstall, InstallType, }; use anyhow::anyhow; @@ -145,15 +145,11 @@ pub fn launch_northstar_steam( let titanfall2_steamid: u32 = TITANFALL2_STEAM_ID.parse().unwrap(); match steamdir.compat_tool(&titanfall2_steamid) { Some(compat) => { - if !compat - .name - .clone() - .unwrap() - .to_ascii_lowercase() - .contains("northstarproton") + if !VALID_NORTHSTAR_PROTON_BUILDS + .contains(&compat.clone().name.unwrap().as_str()) { return Err( - "Titanfall2 was not configured to use NorthstarProton".to_string() + "Titanfall2 was not configured to use a valid version of NorthstarProton or GE-Proton".to_string(), ); } } -- cgit v1.2.3