From 97d4773d5ee55cf6a9081475f2bc3011b23e1037 Mon Sep 17 00:00:00 2001 From: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> Date: Fri, 13 Oct 2023 12:42:50 +0200 Subject: [PATCH] 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` --- src-tauri/src/github/pull_requests.rs | 2 +- src-tauri/src/main.rs | 27 +--------------------- src-tauri/src/platform_specific/windows.rs | 2 +- src-tauri/src/repair_and_verify/mod.rs | 25 ++++++++++++++++++++ 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src-tauri/src/github/pull_requests.rs b/src-tauri/src/github/pull_requests.rs index ccb45dffa..91d8a5da4 100644 --- a/src-tauri/src/github/pull_requests.rs +++ b/src-tauri/src/github/pull_requests.rs @@ -1,7 +1,7 @@ use crate::github::release_notes::fetch_github_releases_api; -use crate::check_is_valid_game_path; use crate::constants::{APP_USER_AGENT, PULLS_API_ENDPOINT_LAUNCHER, PULLS_API_ENDPOINT_MODS}; +use crate::repair_and_verify::check_is_valid_game_path; use crate::GameInstall; use anyhow::anyhow; use serde::{Deserialize, Serialize}; diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 1d20bf742..93f67a33d 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -122,7 +122,7 @@ fn main() { get_flightcore_version_number, northstar::get_northstar_version_number, check_is_northstar_outdated, - verify_install_location, + repair_and_verify::verify_install_location, platform_specific::get_host_os, northstar::install::install_northstar_wrapper, northstar::install::update_northstar, @@ -266,18 +266,6 @@ async fn check_is_northstar_outdated( } } -/// Checks if is valid Titanfall2 install based on certain conditions -#[tauri::command] -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 - } - } -} - /// Installs the specified mod #[tauri::command] async fn install_mod_wrapper( @@ -418,16 +406,3 @@ pub struct NorthstarMod { pub enabled: bool, pub directory: String, } - -/// 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(()) -} diff --git a/src-tauri/src/platform_specific/windows.rs b/src-tauri/src/platform_specific/windows.rs index 899ab2cdf..678e5be54 100644 --- a/src-tauri/src/platform_specific/windows.rs +++ b/src-tauri/src/platform_specific/windows.rs @@ -4,7 +4,7 @@ use anyhow::{anyhow, Result}; #[cfg(target_os = "windows")] use winreg::{enums::HKEY_LOCAL_MACHINE, RegKey}; -use crate::check_is_valid_game_path; +use crate::repair_and_verify::check_is_valid_game_path; /// Gets Titanfall2 install location on Origin pub fn origin_install_location_detection() -> Result { diff --git a/src-tauri/src/repair_and_verify/mod.rs b/src-tauri/src/repair_and_verify/mod.rs index 70abc1271..11dbee0e4 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 {