feat: use jadeite metadata version field instead of making requests to Codeberg API

This commit is contained in:
mkrsym1 2023-07-18 17:00:57 +03:00
parent 8380edbbd9
commit c0ca5bef91
2 changed files with 11 additions and 5 deletions

View file

@ -80,7 +80,10 @@ impl LauncherState {
return Ok(Self::PatchNotInstalled); 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); return Ok(Self::PatchUpdateAvailable);
} }
@ -102,7 +105,7 @@ impl LauncherState {
return Ok(Self::TelemetryNotDisabled); 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::Verified => Ok(Self::Launch),
JadeitePatchStatusVariant::Unverified => Ok(Self::PatchNotVerified), JadeitePatchStatusVariant::Unverified => Ok(Self::PatchNotVerified),
JadeitePatchStatusVariant::Broken => Ok(Self::PatchBroken), JadeitePatchStatusVariant::Broken => Ok(Self::PatchBroken),

View file

@ -82,7 +82,10 @@ impl LauncherState {
return Ok(Self::PatchNotInstalled); 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); return Ok(Self::PatchUpdateAvailable);
} }
@ -105,7 +108,7 @@ impl LauncherState {
} }
// Request current patch status from the metadata file // 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) .for_edition(params.game_edition)
.get_status(version); .get_status(version);