From a1a47e883ec0dfe03146d92a9901ba53125235ad Mon Sep 17 00:00:00 2001 From: mtkennerly Date: Sun, 21 Apr 2024 07:23:48 -0400 Subject: [PATCH] Parse more Steam Cloud paths --- data/manifest.yaml | 100 +++++++++++++++++++++++++++++++++++++++++++++ src/steam.rs | 6 ++- 2 files changed, 105 insertions(+), 1 deletion(-) diff --git a/data/manifest.yaml b/data/manifest.yaml index 99974b9a..f3eac9ba 100644 --- a/data/manifest.yaml +++ b/data/manifest.yaml @@ -9616,6 +9616,10 @@ A Roll-Back Story: when: - os: windows store: steam + "/unity3d/iQuantile/A RollBack Story/iQuantile/*.sav": + when: + - os: linux + store: steam id: steamExtra: - 887070 @@ -10528,6 +10532,10 @@ A Walk Along the Wall: "/Personal/AWAW/*.*": when: - store: steam + "/Documents/AWAW/*.*": + when: + - os: mac + store: steam "/AWAW/*.*": when: - os: windows @@ -11519,6 +11527,10 @@ ACardShooter: when: - os: mac store: steam + "/unity3d/WG Studios/ACardShooter/saves//*.sav": + when: + - os: linux + store: steam installDir: ACardShooter: {} launch: @@ -13824,6 +13836,14 @@ Abandon Ship: when: - os: mac store: steam + "/unity3d/Fireblade Software Ltd/Abandon Ship/Saves//*.abs3": + when: + - os: linux + store: steam + "/unity3d/Fireblade Software Ltd/Abandon Ship/Saves//ShipSkins.json": + when: + - os: linux + store: steam gog: id: 1809344499 installDir: @@ -23012,6 +23032,14 @@ Air Marty: "/Local Storage": when: - store: steam + "/FlightSim/Default/IndexedDB": + when: + - os: linux + store: steam + "/FlightSim/Default/Local Storage": + when: + - os: linux + store: steam installDir: Air Marty: {} launch: @@ -46396,6 +46424,10 @@ Asteroid Deflector XL: when: - os: windows store: steam + "/AsteroidDeflector": + when: + - os: linux + store: steam installDir: AsteroidDeflectorXL: {} launch: @@ -53341,6 +53373,14 @@ B.i.t.Lock: when: - os: mac store: steam + "/unity3d/Petorio/*.json": + when: + - os: linux + store: steam + "/unity3d/Petorio/levels/mylevels/*.lvl": + when: + - os: linux + store: steam installDir: B.i.t.Lock: {} launch: @@ -57150,6 +57190,10 @@ Ballistic Protection: id: 537860 Ballistic Tanks: files: + "/Documents/SavesDir": + when: + - os: mac + store: steam "/BallisticTanks/User Data/Default/IndexedDB": when: - os: windows @@ -61413,6 +61457,10 @@ Battle for Mountain Throne: id: 759840 Battle for Orion 2: files: + "/Documents/BFO2/*.xml": + when: + - os: mac + store: steam "/BFO2/**/*.xml": when: - store: steam @@ -71106,6 +71154,10 @@ Bird Game: when: - os: mac store: steam + "/unity3d/Bryan Tabor/Bird Game/*save.save": + when: + - os: linux + store: steam installDir: Bird Game: {} launch: @@ -72409,6 +72461,10 @@ Black Forest: when: - os: mac store: steam + "//Lemuria/Black Forest/*.dat": + when: + - os: linux + store: steam installDir: Black Forest: {} launch: @@ -76009,6 +76065,14 @@ Blessed Surface: when: - os: windows store: steam + "/Blessed_Surface/**/*.ini": + when: + - os: linux + store: steam + "/Blessed_Surface/**/*.txt": + when: + - os: linux + store: steam installDir: Blessed Surface: {} launch: @@ -82131,6 +82195,10 @@ Bonkies: when: - os: mac store: steam + "/unity3d/Melty Clown Studio/Bonnie's Bakery/*.sav": + when: + - os: linux + store: steam installDir: "Bonnie's Bakery": {} launch: @@ -83859,6 +83927,18 @@ BossConstructor: when: - os: linux store: steam + "/Documents/My Games/BossConstructor/*.ini": + when: + - os: mac + store: steam + "/Documents/My Games/BossConstructor/*.ship": + when: + - os: mac + store: steam + "/Documents/My Games/BossConstructor/*.state": + when: + - os: mac + store: steam "/My Games/BossConstructor/*.ini": when: - os: windows @@ -84369,6 +84449,10 @@ Bounce Rescue!: when: - os: windows store: steam + "/bounce_rescue/bounce_rescue/*.sav": + when: + - os: linux + store: steam installDir: Bounce Rescue!: {} launch: @@ -85315,6 +85399,14 @@ Boxville: when: - os: mac store: steam + "/unity3d/Triomatica Games/Boxville/*.jpg": + when: + - os: linux + store: steam + "/unity3d/Triomatica Games/Boxville/*.save": + when: + - os: linux + store: steam gog: id: 2131170973 id: @@ -85368,6 +85460,10 @@ Boy Beats World: when: - os: mac store: steam + "/duckbridge/boy beats world/data": + when: + - os: linux + store: steam installDir: boybeatsworld: {} launch: @@ -87156,6 +87252,10 @@ Breaking Good: when: - os: mac store: steam + "/unity3d/SeekSick6/Breaking Good/*.save": + when: + - os: linux + store: steam installDir: Breaking Good: {} launch: diff --git a/src/steam.rs b/src/steam.rs index fb78f2a0..a545a412 100644 --- a/src/steam.rs +++ b/src/steam.rs @@ -497,10 +497,14 @@ pub fn parse_root(value: &str) -> Option<&'static str> { match value.to_lowercase().as_ref() { "gameinstall" => Some(placeholder::BASE), "linuxhome" => Some(placeholder::HOME), + "linuxxdgconfighome" => Some(placeholder::XDG_CONFIG), "linuxxdgdatahome" => Some(placeholder::XDG_DATA), "macappsupport" => Some("/Library/Application Support"), - "madocuments" => Some("/Documents"), + "macdocuments" => Some("/Documents"), "machome" => Some(placeholder::HOME), + // TODO: Where does this map on each OS? + // The manifest probably needs a new placeholder for it. + "steamclouddocuments" => None, "winappdataroaming" => Some(placeholder::WIN_APP_DATA), "winappdatalocal" => Some(placeholder::WIN_LOCAL_APP_DATA), "winappdatalocallow" => Some("/AppData/LocalLow"),