diff options
author | GeckoEidechse <gecko.eidechse+git@pm.me> | 2022-09-01 19:26:39 +0200 |
---|---|---|
committer | GeckoEidechse <gecko.eidechse+git@pm.me> | 2022-09-01 19:26:39 +0200 |
commit | 312cddf2c2b6fd715e3133095c4562c78807b236 (patch) | |
tree | fb84f89970051ce13149e3aa9dc2ec08d5d49f3c /src-tauri | |
parent | 340b96e5878b892d81dbc7e5cdbc0215ce78b4d9 (diff) | |
download | FlightCore-312cddf2c2b6fd715e3133095c4562c78807b236.tar.gz FlightCore-312cddf2c2b6fd715e3133095c4562c78807b236.zip |
Handle gamepath check if manually selected
as well as Northstar existence and up-to-date check
Diffstat (limited to 'src-tauri')
-rw-r--r-- | src-tauri/src/lib.rs | 13 | ||||
-rw-r--r-- | src-tauri/src/main.rs | 17 |
2 files changed, 28 insertions, 2 deletions
diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 626f083b..58a04c5e 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -88,3 +88,16 @@ pub fn get_northstar_version_number() -> Result<String, anyhow::Error> { Ok(initial_version_number) } + +/// Checks whether the provided path is a valid Titanfall2 gamepath by checking against a certain set of criteria +pub fn check_is_valid_game_path(game_install_path: &str) -> Result<(), anyhow::Error> { + let is_correct_game_path = + std::path::Path::new(&format!("{}/Titanfall2.exe", game_install_path)).exists(); + println!("Titanfall2.exe exists in path? {}", is_correct_game_path); + + // Exit early if wrong game path + if !is_correct_game_path { + return Err(anyhow!("Incorrect game path \"{}\"", game_install_path)); // Return error cause wrong game path + } + Ok(()) +} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index e81be131..34dcc39c 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -8,7 +8,7 @@ use std::{ time::Duration, }; -use app::{find_game_install_location, get_northstar_version_number}; +use app::{check_is_valid_game_path, find_game_install_location, get_northstar_version_number}; use tauri::{Manager, State}; use tokio::time::sleep; @@ -47,7 +47,8 @@ fn main() { find_game_install_location_caller, get_version_number, get_northstar_version_number_caller, - check_is_northstar_outdated + check_is_northstar_outdated, + verify_install_location ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); @@ -107,3 +108,15 @@ fn check_is_northstar_outdated() -> bool { // TODO implement check false } + +#[tauri::command] +/// Checks if is valid Titanfall2 install based on certain conditions +fn verify_install_location(game_path: String) -> bool { + match check_is_valid_game_path(&game_path) { + Ok(()) => true, + Err(err) => { + println!("{}", err); + false + } + } +} |