diff options
author | GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> | 2023-10-13 12:42:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-13 12:42:50 +0200 |
commit | 97d4773d5ee55cf6a9081475f2bc3011b23e1037 (patch) | |
tree | a22984a2b3bda1db4acd0e31971bcfb1ce06f7a9 /src-tauri/src/repair_and_verify | |
parent | 04c5ada00522f3058cd1825fcac466b207bc37f3 (diff) | |
download | FlightCore-97d4773d5ee55cf6a9081475f2bc3011b23e1037.tar.gz FlightCore-97d4773d5ee55cf6a9081475f2bc3011b23e1037.zip |
refactor: Move repair/verify related funcs to mod (#622)
Moves functions related to game install path verification checks to dedicated module in an effort to clean up `main.rs`
Diffstat (limited to 'src-tauri/src/repair_and_verify')
-rw-r--r-- | src-tauri/src/repair_and_verify/mod.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src-tauri/src/repair_and_verify/mod.rs b/src-tauri/src/repair_and_verify/mod.rs index 70abc127..11dbee0e 100644 --- a/src-tauri/src/repair_and_verify/mod.rs +++ b/src-tauri/src/repair_and_verify/mod.rs @@ -2,6 +2,31 @@ use crate::mod_management::{get_enabled_mods, rebuild_enabled_mods_json, set_mod /// Contains various functions to repair common issues and verifying installation use crate::{constants::CORE_MODS, GameInstall}; +/// Checks if is valid Titanfall2 install based on certain conditions +#[tauri::command] +pub async fn verify_install_location(game_path: String) -> bool { + match check_is_valid_game_path(&game_path) { + Ok(()) => true, + Err(err) => { + log::warn!("{}", err); + false + } + } +} + +/// 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<(), String> { + let path_to_titanfall2_exe = format!("{game_install_path}/Titanfall2.exe"); + let is_correct_game_path = std::path::Path::new(&path_to_titanfall2_exe).exists(); + log::info!("Titanfall2.exe exists in path? {}", is_correct_game_path); + + // Exit early if wrong game path + if !is_correct_game_path { + return Err(format!("Incorrect game path \"{game_install_path}\"")); // Return error cause wrong game path + } + Ok(()) +} + /// Verifies Titanfall2 game files #[tauri::command] pub fn verify_game_files(game_install: GameInstall) -> Result<String, String> { |