diff --git a/unreal_mod_integrator/build.rs b/unreal_mod_integrator/build.rs index 32a0ec7..a5a7d55 100644 --- a/unreal_mod_integrator/build.rs +++ b/unreal_mod_integrator/build.rs @@ -1,4 +1,5 @@ #![allow(unexpected_cfgs)] +#![allow(unused_variables)] use std::env; use std::fs::{self, OpenOptions}; diff --git a/unreal_mod_integrator/src/lib.rs b/unreal_mod_integrator/src/lib.rs index f2668ac..c5a5a9c 100644 --- a/unreal_mod_integrator/src/lib.rs +++ b/unreal_mod_integrator/src/lib.rs @@ -318,10 +318,6 @@ fn bake_integrator_data( integrator_version: String, refuse_mismatched_connections: bool, ) -> Result<(), Error> { - if asset.asset_data.exports.len() != 4 { - return Err(IntegrationError::corrupted_starter_pak().into()); - } - let properties: Vec = Vec::from([ StrProperty { name: asset.add_fname("IntegratorVersion"), diff --git a/unreal_mod_manager/src/game_path_helpers.rs b/unreal_mod_manager/src/game_path_helpers.rs index 35525f4..ef4abb6 100644 --- a/unreal_mod_manager/src/game_path_helpers.rs +++ b/unreal_mod_manager/src/game_path_helpers.rs @@ -1,3 +1,5 @@ +#![allow(unused_variables)] + use std::path::PathBuf; use directories::BaseDirs; @@ -94,7 +96,7 @@ pub fn determine_installed_mods_path_winstore( store_info: &MsStoreInfo, game_name: &str, ) -> Option { - let package_path = determine_game_package_path_winstore(store_info)?; + /*let package_path = determine_game_package_path_winstore(store_info)?; let base_path = Some( package_path .join("LocalState") @@ -102,6 +104,16 @@ pub fn determine_installed_mods_path_winstore( .join("Saved") .join("Paks"), ); + trace!("base_path: {:?}", base_path);*/ + let base_dirs = BaseDirs::new(); + if base_dirs.is_none() { + warn!("Could not determine base directory"); + return None; + } + let base_dirs = base_dirs.unwrap(); + + let data_dir = base_dirs.data_local_dir(); + let base_path = Some(data_dir.join(game_name).join("Saved").join("Paks")); trace!("base_path: {:?}", base_path); base_path diff --git a/unreal_mod_manager/src/game_platform_managers/msstore.rs b/unreal_mod_manager/src/game_platform_managers/msstore.rs index f75f8b9..d9f2da3 100644 --- a/unreal_mod_manager/src/game_platform_managers/msstore.rs +++ b/unreal_mod_manager/src/game_platform_managers/msstore.rs @@ -1,3 +1,5 @@ +#![allow(unused)] + use std::cell::RefCell; use std::fs; use std::io::Read; @@ -17,6 +19,7 @@ pub struct MsStoreInstallManager { winstore_vendor_id: &'static str, game_name: &'static str, + winstore_game_name_for_boot: &'static str, state_game_name: &'static str, } @@ -25,6 +28,7 @@ impl MsStoreInstallManager { pub fn new( winstore_vendor_id: &'static str, game_name: &'static str, + winstore_game_name_for_boot: &'static str, state_game_name: &'static str, ) -> Self { MsStoreInstallManager { @@ -33,6 +37,7 @@ impl MsStoreInstallManager { game_build: RefCell::new(None), winstore_vendor_id, game_name, + winstore_game_name_for_boot, state_game_name, } } @@ -107,7 +112,7 @@ impl InstallManager for MsStoreInstallManager { if let Some(store_info) = store_info { open::that(format!( "shell:appsFolder\\{}!{}", - store_info.runtime_id, self.game_name + store_info.runtime_id, self.winstore_game_name_for_boot ))?; } else { return Err(ModLoaderWarning::winstore_error());