fix: disable unsupported mods

Also hotfix amdaemon crashing
This commit is contained in:
2025-04-15 07:32:18 +00:00
parent f588892b05
commit ac18c34895
3 changed files with 30 additions and 11 deletions

View File

@ -88,9 +88,10 @@ pub enum StartCheckError {
}
#[derive(Default, Serialize, Deserialize, Clone)]
#[serde(default)]
pub struct ConfigHook {
#[serde(skip_serializing_if = "Option::is_none")]
pub allnet_auth: Option<ConfigHookAuth>,
#[serde(skip_serializing_if = "Option::is_none")]
pub aime: Option<ConfigHookAime>,
}

View File

@ -128,7 +128,7 @@ impl Package {
.unwrap()
.to_owned();
let status = Self::parse_status(&mft);
let status = Self::parse_status(&mft, &dir);
let dependencies = Self::sanitize_deps(mft.dependencies);
Ok(Package {
@ -221,9 +221,15 @@ impl Package {
res
}
fn parse_status(mft: &PackageManifest) -> Status {
fn parse_status(mft: &PackageManifest, dir: impl AsRef<Path>) -> Status {
if mft.installers.len() == 0 {
return Status::OK(make_bitflags!(Feature::Mod), DLLs { game: None, amd: None }); //Unchecked
if dir.as_ref().join("post_load.ps1").exists() {
return Status::Unsupported;
}
if dir.as_ref().join("app").join("data").exists() {
return Status::Unsupported;
}
return Status::OK(make_bitflags!(Feature::Mod), DLLs { game: None, amd: None });
} else {
let mut flags = BitFlags::default();
let mut game_dll = None;