From e15a9f3292a30cbb1919431fa1765502a1e50a2a Mon Sep 17 00:00:00 2001 From: mtkennerly Date: Mon, 29 Apr 2024 21:15:12 -0400 Subject: [PATCH] #41: Disable Steam Cloud metadata for Nevsky Run --- data/manifest-override.yaml | 5 +++++ data/manifest.yaml | 9 --------- data/missing.md | 1 + src/manifest.rs | 7 ++++--- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/data/manifest-override.yaml b/data/manifest-override.yaml index 6af4d9f3..2e727986 100644 --- a/data/manifest-override.yaml +++ b/data/manifest-override.yaml @@ -12,6 +12,11 @@ BioShock 2 Remastered: "Death Stranding Director's Cut": installDir: DeathStrandingDC: {} +Nevsky Run: + # This game's Steam Cloud metadata references Kingdom Come Deliverance paths. + # Also, it's been renamed on Steam to "Secret Girl" + # and is no longer available for sale. + useSteamCloud: false Overwatch: # The game is no longer playable at all, # and its save locations are identical to Overwatch 2, diff --git a/data/manifest.yaml b/data/manifest.yaml index bd322094..51c6f9f0 100644 --- a/data/manifest.yaml +++ b/data/manifest.yaml @@ -413071,15 +413071,6 @@ Nevski Titbit: when: - os: windows Nevsky Run: - files: - "/Saved Games/kingdomcome/kingdomcome/saves/playline0": - when: - - os: windows - store: steam - "/Saved Games/kingdomcome/saves/playline0": - when: - - os: windows - store: steam installDir: Secret_Girl: {} launch: diff --git a/data/missing.md b/data/missing.md index 870fc2f9..6fbfa728 100644 --- a/data/missing.md +++ b/data/missing.md @@ -17202,6 +17202,7 @@ * [Nevrosa: Prelude](https://www.pcgamingwiki.com/wiki/?curid=58431) * [Nevrosa: Primal Ritual](https://www.pcgamingwiki.com/wiki/?curid=136930) * [Nevrosa: Spider Song](https://www.pcgamingwiki.com/wiki/?curid=136685) +* [Nevsky Run](https://www.pcgamingwiki.com/wiki/?curid=114666) * [New Adult Reality](https://www.pcgamingwiki.com/wiki/?curid=125296) * [New Age](https://www.pcgamingwiki.com/wiki/?curid=134546) * [New Cities](https://www.pcgamingwiki.com/wiki/?curid=135480) diff --git a/src/manifest.rs b/src/manifest.rs index b13ce294..d9223a73 100644 --- a/src/manifest.rs +++ b/src/manifest.rs @@ -174,7 +174,7 @@ impl Manifest { } if let Some(id) = game.steam.id { if let Some(info) = steam_cache.0.get(&id) { - game.integrate_steam(info); + game.integrate_steam(info, overrides.0.get(title).map(|x| x.use_steam_cloud).unwrap_or(true)); } } if let Some(overridden) = overrides.0.get(title) { @@ -289,7 +289,7 @@ impl Game { } } - pub fn integrate_steam(&mut self, cache: &SteamCacheEntry) { + pub fn integrate_steam(&mut self, cache: &SteamCacheEntry, use_steam_cloud: bool) { if let Some(install_dir) = &cache.install_dir { self.install_dir.insert(install_dir.to_string(), GameInstallDirEntry {}); } @@ -353,7 +353,7 @@ impl Game { } // We only integrate cloud saves if there's no other save info. - let need_cloud = self.files.is_empty() && self.registry.is_empty(); + let need_cloud = use_steam_cloud && self.files.is_empty() && self.registry.is_empty(); for save in &cache.cloud.saves { if !need_cloud { @@ -570,6 +570,7 @@ pub struct ManifestOverride(pub BTreeMap); #[serde(default, rename_all = "camelCase")] pub struct OverrideGame { pub omit: bool, + pub use_steam_cloud: bool, #[serde(flatten)] pub game: Game, }