From c0ca5bef9146a488f51e66668556cd237f45391d Mon Sep 17 00:00:00 2001 From: mkrsym1 Date: Tue, 18 Jul 2023 17:00:57 +0300 Subject: [PATCH] feat: use jadeite metadata version field instead of making requests to Codeberg API --- src/games/honkai/states.rs | 7 +++++-- src/games/star_rail/states.rs | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/games/honkai/states.rs b/src/games/honkai/states.rs index 4a1029c..5d6025c 100644 --- a/src/games/honkai/states.rs +++ b/src/games/honkai/states.rs @@ -80,7 +80,10 @@ impl LauncherState { return Ok(Self::PatchNotInstalled); } - if jadeite::get_latest()?.version > jadeite::get_version(params.patch_folder)? { + // Fetch patch metadata + let metadata = jadeite::get_metadata()?; + + if metadata.jadeite.version > jadeite::get_version(params.patch_folder)? { return Ok(Self::PatchUpdateAvailable); } @@ -102,7 +105,7 @@ impl LauncherState { return Ok(Self::TelemetryNotDisabled); } - match jadeite::get_metadata()?.hi3rd.global.get_status(version) { + match metadata.games.hi3rd.global.get_status(version) { JadeitePatchStatusVariant::Verified => Ok(Self::Launch), JadeitePatchStatusVariant::Unverified => Ok(Self::PatchNotVerified), JadeitePatchStatusVariant::Broken => Ok(Self::PatchBroken), diff --git a/src/games/star_rail/states.rs b/src/games/star_rail/states.rs index f211e03..1d77679 100644 --- a/src/games/star_rail/states.rs +++ b/src/games/star_rail/states.rs @@ -82,7 +82,10 @@ impl LauncherState { return Ok(Self::PatchNotInstalled); } - if jadeite::get_latest()?.version > jadeite::get_version(params.patch_folder)? { + // Fetch patch metadata + let metadata = jadeite::get_metadata()?; + + if metadata.jadeite.version > jadeite::get_version(params.patch_folder)? { return Ok(Self::PatchUpdateAvailable); } @@ -103,9 +106,9 @@ impl LauncherState { if !disabled { return Ok(Self::TelemetryNotDisabled); } - + // Request current patch status from the metadata file - let patch = jadeite::get_metadata()?.games.hsr + let patch = metadata.games.hsr .for_edition(params.game_edition) .get_status(version);