feat: added TelemetryNotDisabled launcher state

This commit is contained in:
Observer KRypt0n_ 2023-06-18 09:36:21 +02:00
parent b2efa4a5a7
commit 2efed0be20
No known key found for this signature in database
GPG key ID: 844DA47BA25FE1E2
3 changed files with 24 additions and 1 deletions

View file

@ -27,6 +27,8 @@ pub enum LauncherState {
disable_mhypbase: bool disable_mhypbase: bool
}, },
TelemetryNotDisabled,
#[cfg(feature = "components")] #[cfg(feature = "components")]
WineNotInstalled, WineNotInstalled,
@ -147,6 +149,11 @@ impl LauncherState {
} }
} }
// Check telemetry servers
if telemetry::is_disabled(params.game_edition)?.is_some() {
return Ok(Self::TelemetryNotDisabled);
}
// Check if update predownload available // Check if update predownload available
if let VersionDiff::Predownload { .. } = diff { if let VersionDiff::Predownload { .. } = diff {
Ok(Self::PredownloadAvailable { Ok(Self::PredownloadAvailable {

View file

@ -18,6 +18,8 @@ pub enum LauncherState {
PatchNotInstalled, PatchNotInstalled,
PatchUpdateAvailable, PatchUpdateAvailable,
TelemetryNotDisabled,
#[cfg(feature = "components")] #[cfg(feature = "components")]
WineNotInstalled, WineNotInstalled,
@ -73,6 +75,7 @@ impl LauncherState {
return Ok(Self::MfplatPatchAvailable); return Ok(Self::MfplatPatchAvailable);
} }
// Check jadeite patch status
if !jadeite::is_installed(&params.patch_folder) { if !jadeite::is_installed(&params.patch_folder) {
return Ok(Self::PatchNotInstalled); return Ok(Self::PatchNotInstalled);
} }
@ -81,7 +84,12 @@ impl LauncherState {
return Ok(Self::PatchUpdateAvailable); return Ok(Self::PatchUpdateAvailable);
} }
match jadeite::get_metadata()?.hsr.global.get_status(version) { // Check telemetry servers
if telemetry::is_disabled()?.is_some() {
return Ok(Self::TelemetryNotDisabled);
}
match jadeite::get_metadata()?.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

@ -17,6 +17,8 @@ pub enum LauncherState {
PatchNotInstalled, PatchNotInstalled,
PatchUpdateAvailable, PatchUpdateAvailable,
TelemetryNotDisabled,
#[cfg(feature = "components")] #[cfg(feature = "components")]
WineNotInstalled, WineNotInstalled,
@ -72,6 +74,7 @@ impl LauncherState {
// Check game patch status // Check game patch status
(params.status_updater)(StateUpdating::Patch); (params.status_updater)(StateUpdating::Patch);
// Check jadeite patch status
if !jadeite::is_installed(&params.patch_folder) { if !jadeite::is_installed(&params.patch_folder) {
return Ok(Self::PatchNotInstalled); return Ok(Self::PatchNotInstalled);
} }
@ -80,6 +83,11 @@ impl LauncherState {
return Ok(Self::PatchUpdateAvailable); return Ok(Self::PatchUpdateAvailable);
} }
// Check telemetry servers
if telemetry::is_disabled(params.game_edition)?.is_some() {
return Ok(Self::TelemetryNotDisabled);
}
match jadeite::get_metadata()?.hsr.global.get_status(version) { match jadeite::get_metadata()?.hsr.global.get_status(version) {
JadeitePatchStatusVariant::Verified => { JadeitePatchStatusVariant::Verified => {
// Check if update predownload available // Check if update predownload available