diff --git a/data/manifest.yaml b/data/manifest.yaml index 2d954704..19ee6c6b 100644 --- a/data/manifest.yaml +++ b/data/manifest.yaml @@ -2782,13 +2782,11 @@ $1 Ride: id: 575600 "2048": files: - "//userdata/Default/Local Storage": - when: - - os: windows - store: steam "/userdata/Default/Local Storage": when: - store: steam + - os: windows + store: steam installDir: "2048": {} launch: @@ -4391,19 +4389,17 @@ $1 Ride: id: 648580 4D Minesweeper: files: - "/.godot/app_userdata/4D Minesweeper/*": - when: - - os: linux - store: steam - "/.local/share/godot/app_userdata/4D Minesweeper/*": - when: - - os: linux - store: steam - "//.godot/app_userdata/4D Minesweeper/*": + "/.godot/app_userdata/4D Minesweeper": when: - os: mac store: steam - "//Library/Application Support/Godot/app_userdata/4D Minesweeper/*": + - os: linux + store: steam + "/.local/share/godot/app_userdata/4D Minesweeper": + when: + - os: linux + store: steam + "/Library/Application Support/Godot/app_userdata/4D Minesweeper": when: - os: mac store: steam @@ -6167,13 +6163,11 @@ $1 Ride: id: 487040 8Bit Fiesta: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: 8Bit Fiesta Steam: {} launch: @@ -7657,17 +7651,17 @@ A Farewell to Dragons: id: 535460 "A Feeble Saga: Chapter I": files: - "//Wasatch Games/A Feeble Saga/Data": - when: - - os: linux - store: steam "/AppData/LocalLow/Wasatch Games/A Feeble Saga/Data": when: - store: steam - "/Library/Application Support//Wasatch Games/A Feeble Saga/Data": + "/Library/Application Support/Wasatch Games/A Feeble Saga/Data": when: - os: mac store: steam + "/Wasatch Games/A Feeble Saga/Data": + when: + - os: linux + store: steam installDir: A Feeble Saga: {} launch: @@ -8141,11 +8135,11 @@ A Grim Tale of Vices: id: 987140 "A Gummy's Life": files: - "/.config/unity3d/EP Games/A Gummy's Life//savegame.dat": + "/.config/unity3d/EP Games/A Gummy's Life/savegame.dat": when: - os: linux store: steam - "/.config/unity3d/EP Games/A Gummy's Life//settings.dat": + "/.config/unity3d/EP Games/A Gummy's Life/settings.dat": when: - os: linux store: steam @@ -8689,17 +8683,17 @@ A Long Stroll: id: 1197320 A Long Way Down: files: - "//Seenapsis/ALWD": - when: - - os: linux - store: steam "/AppData/LocalLow/Seenapsis/ALWD": when: - store: steam - "/Library/Application Support//Seenapsis/ALWD": + "/Library/Application Support/Seenapsis/ALWD": when: - os: mac store: steam + "/Seenapsis/ALWD": + when: + - os: linux + store: steam installDir: A Long Way Down: {} launch: @@ -9264,11 +9258,11 @@ A Perfect Day: "/AppData/LocalLow/Perfect Day Studio/A Perfect Day//Prologue/savedata.dat": when: - store: steam - "/Library/Application Support//Perfect Day Studio/A Perfect Day//Main/savedata.dat": + "/Library/Application Support/Perfect Day Studio/A Perfect Day//Main/savedata.dat": when: - os: mac store: steam - "/Library/Application Support//Perfect Day Studio/A Perfect Day//Prologue/savedata.dat": + "/Library/Application Support/Perfect Day Studio/A Perfect Day//Prologue/savedata.dat": when: - os: mac store: steam @@ -9509,7 +9503,7 @@ A Quiver of Crows: "/./game3.db": when: - store: steam - "/Library/Application Support/net.sheado.crows//./game3.db": + "/Library/Application Support/net.sheado.crows/./game3.db": when: - os: mac store: steam @@ -9644,7 +9638,7 @@ A Room Beyond: "/AppData/LocalLow/ReneBuehling/A Room Beyond": when: - store: steam - "/Library/Application Support/ReneBuehling/A Room Beyond/*": + "/Library/Application Support/ReneBuehling/A Room Beyond": when: - os: mac store: steam @@ -9663,13 +9657,11 @@ A Room Beyond: id: 454330 A Rose in the Twilight: files: - "//savedata/savedata.sav": - when: - - os: windows - store: steam "/savedata/savedata.sav": when: - store: steam + - os: windows + store: steam installDir: A Rose in the Twilight: {} launch: @@ -10141,7 +10133,7 @@ A Tale for Anna: id: 1521930 "A Tale of Caos: Overture": files: - "/ATOC Overture.app/Contents//ATOC Overture_Data/save.dat": + "/ATOC Overture.app/Contents/ATOC Overture_Data/save.dat": when: - os: mac store: steam @@ -10866,7 +10858,7 @@ A nifty game: "/./**/*.nifty": when: - store: steam - "/nifty.app/Contents/Resources//./**/*.nifty": + "/nifty.app/Contents/Resources/./**/*.nifty": when: - os: mac store: steam @@ -11523,11 +11515,11 @@ ACardShooter: "/WG Studios/ACardShooter/saves//*.sav": when: - store: steam - "/AppData/LocalLow//WG Studios/ACardShooter/saves//*.sav": + "/AppData/LocalLow/WG Studios/ACardShooter/saves//*.sav": when: - os: windows store: steam - "/Library/Application Support//WG Studios/ACardShooter/saves//*.sav": + "/Library/Application Support/WG Studios/ACardShooter/saves//*.sav": when: - os: mac store: steam @@ -12297,7 +12289,7 @@ ALIEN FIELD: id: 926350 ALILIA-亚利利亚的精灵们: files: - "//**/*.rxdata": + "/**/*.rxdata": when: - store: steam installDir: @@ -13050,7 +13042,7 @@ ARM Planetary Prospectors Asteroid Resource Mining: "/SavesDir/*.sav": when: - store: steam - "/AppData/LocalLow//Nefarious Dimensions/Planetary Prospectors_ARM/*.info": + "/AppData/LocalLow/Nefarious Dimensions/Planetary Prospectors_ARM/*.info": when: - os: windows store: steam @@ -13851,11 +13843,11 @@ Abandon Ship: "/AppData/LocalLow/Fireblade Software Ltd/Abandon Ship/Saves//ShipSkins.json": when: - store: steam - "/Library/Application Support//Fireblade Software Ltd/Abandon Ship/Saves//*.abs3": + "/Library/Application Support/Fireblade Software Ltd/Abandon Ship/Saves//*.abs3": when: - os: mac store: steam - "/Library/Application Support//Fireblade Software Ltd/Abandon Ship/Saves//ShipSkins.json": + "/Library/Application Support/Fireblade Software Ltd/Abandon Ship/Saves//ShipSkins.json": when: - os: mac store: steam @@ -14114,10 +14106,6 @@ Ablepsia: id: 713680 "Abnormal World: Season One": files: - "//SavesDir/**/*.sav": - when: - - os: windows - store: steam "/SavesDir/**/*.sav": when: - os: windows @@ -15884,7 +15872,7 @@ Achievement Machine: "/AppData/LocalLow/Playloft/Achievement Machine": when: - store: steam - "/Library/Application Support/com.playloft.achievementmachine/*": + "/Library/Application Support/com.playloft.achievementmachine": when: - os: mac store: steam @@ -18751,11 +18739,11 @@ Aeon Must Die!: id: 1089930 Aeon of Sands - The Trail: files: - "/.local/share/aeonofsands/saves/*": + "/.local/share/aeonofsands/saves": when: - os: linux store: steam - "/Library/Application Support/aeonofsands/saves/*": + "/Library/Application Support/aeonofsands/saves": when: - os: mac store: steam @@ -20081,14 +20069,14 @@ Against All Odds: id: 1465560 Against the Gradient: files: - "/.config/unity3d//IS3D/Against the Gradient": + "/.config/unity3d/IS3D/Against the Gradient": when: - os: linux store: steam "/AppData/LocalLow/IS3D/Against the Gradient": when: - store: steam - "/Library/Application Support//IS3D/Against the Gradient": + "/Library/Application Support/IS3D/Against the Gradient": when: - os: mac store: steam @@ -20502,7 +20490,7 @@ Age of Civilizations II: id: 217750 Age of Conquest IV: files: - "/app_main.app/Contents/Resources/app//user/sav/*.aocw": + "/app_main.app/Contents/Resources/app/user/sav/*.aocw": when: - os: mac store: steam @@ -20868,11 +20856,11 @@ Age of Farming: id: 556300 "Age of Fear 2: The Chaos Lord": files: - "/.config//Age-of-Fear-2/**/*.sav": + "/.config/Age-of-Fear-2/**/*.sav": when: - os: linux store: steam - "/Library/Application Support//Age-of-Fear-2/**/*.sav": + "/Library/Application Support/Age-of-Fear-2/**/*.sav": when: - os: mac store: steam @@ -20930,11 +20918,11 @@ Age of Farming: id: 341150 "Age of Fear 3: The Legend": files: - "/.config//Age-of-Fear-3/**/*.sav": + "/.config/Age-of-Fear-3/**/*.sav": when: - os: linux store: steam - "/Library/Application Support//Age-of-Fear-3/**/*.sav": + "/Library/Application Support/Age-of-Fear-3/**/*.sav": when: - os: mac store: steam @@ -20992,11 +20980,11 @@ Age of Farming: id: 431700 "Age of Fear 4: The Iron Killer": files: - "/.config//Age-of-Fear-4/**/*.sav": + "/.config/Age-of-Fear-4/**/*.sav": when: - os: linux store: steam - "/Library/Application Support//Age-of-Fear-4/**/*.sav": + "/Library/Application Support/Age-of-Fear-4/**/*.sav": when: - os: mac store: steam @@ -21110,11 +21098,11 @@ Age of Farming: id: 882410 "Age of Fear: The Undead King": files: - "/.config//Age-of-Fear/**/*.sav": + "/.config/Age-of-Fear/**/*.sav": when: - os: linux store: steam - "/Library/Application Support//Age-of-Fear/**/*.sav": + "/Library/Application Support/Age-of-Fear/**/*.sav": when: - os: mac store: steam @@ -21172,11 +21160,11 @@ Age of Farming: id: 351480 "Age of Fear: The Undead King GOLD": files: - "/.config//Age-of-Fear-Gold/**/*.sav": + "/.config/Age-of-Fear-Gold/**/*.sav": when: - os: linux store: steam - "/Library/Application Support//Age-of-Fear-Gold/**/*.sav": + "/Library/Application Support/Age-of-Fear-Gold/**/*.sav": when: - os: mac store: steam @@ -21234,11 +21222,11 @@ Age of Farming: id: 832770 "Age of Fear: Total": files: - "/.config//Age-of-Fear-Total/**/*.sav": + "/.config/Age-of-Fear-Total/**/*.sav": when: - os: linux store: steam - "/Library/Application Support//Age-of-Fear-Total/**/*.sav": + "/Library/Application Support/Age-of-Fear-Total/**/*.sav": when: - os: mac store: steam @@ -22375,11 +22363,11 @@ Agross: id: 1145430 Aground: files: - "/.local/share//Fancy Fish Games/Aground/aground": + "/.local/share/Fancy Fish Games/Aground/aground": when: - os: linux store: steam - "/Library/Application Support//Fancy Fish Games/Aground/aground": + "/Library/Application Support/Fancy Fish Games/Aground/aground": when: - os: mac store: steam @@ -23305,14 +23293,14 @@ Airborne Kingdom: id: 982290 Airborne Motocross: files: - "/.config/unity3d/kamgam/Airborne Motocross Pro/*": + "/.config/unity3d/kamgam/Airborne Motocross Pro": when: - os: linux store: steam "/AppData/LocalLow/kamgam/Airborne Motocross Pro": when: - store: steam - "/Library/Application Support/kamgam/Airborne Motocross Pro/*": + "/Library/Application Support/kamgam/Airborne Motocross Pro": when: - os: mac store: steam @@ -25115,7 +25103,7 @@ Alchemic Cutie: when: - os: linux store: steam - "/Library/Application Support//com.alchemiccutie/*.acdata": + "/Library/Application Support/com.alchemiccutie/*.acdata": when: - os: mac store: steam @@ -25301,11 +25289,11 @@ Alchemist Simulator: id: 726340 Alchemy Classic: files: - "/Library/Application Support/playka/AlchemyClassicPremium/QtWebEngine//*": + "/Library/Application Support/playka/AlchemyClassicPremium/QtWebEngine": when: - os: mac store: steam - "/usr/.local/share/AlchemyClassicPremium/QtWebEngine//Local Storage/*": + "/usr/.local/share/AlchemyClassicPremium/QtWebEngine//Local Storage": when: - os: linux store: steam @@ -34206,13 +34194,11 @@ Angry Video Game Nerd Adventures: id: 237740 Angry Video Game Nerd I & II Deluxe: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: Angry Video Game Nerd I & II Deluxe: {} launch: @@ -35705,7 +35691,7 @@ Anode Heart: "/AppData/LocalLow/RandomBirdGames/AnodeHeart/save_*.bin": when: - store: steam - "/Library/Application Support//RandomBirdGames/AnodeHeart/save_*.bin": + "/Library/Application Support/RandomBirdGames/AnodeHeart/save_*.bin": when: - os: mac store: steam @@ -39400,7 +39386,7 @@ Arcadia Fallen: "/AppData/LocalLow/Galdra Studios/Arcadia Fallen/*.dat": when: - store: steam - "/Library/Application Support//Galdra Studios/Arcadia Fallen/*.dat": + "/Library/Application Support/Galdra Studios/Arcadia Fallen/*.dat": when: - os: mac store: steam @@ -40187,15 +40173,15 @@ Archipelago: id: 577120 Archmage Rises: files: - "/.local/share/Steam/steamapps/compdata/506480/pfx/drive_c/users/steamuser/AppData/LocalLow//Defiance Game Studio/ArchmageRises/CustomPortraits": + "/.local/share/Steam/steamapps/compdata/506480/pfx/drive_c/users/steamuser/AppData/LocalLow/Defiance Game Studio/ArchmageRises/CustomPortraits": when: - os: linux store: steam - "/.local/share/Steam/steamapps/compdata/506480/pfx/drive_c/users/steamuser/AppData/LocalLow//Defiance Game Studio/ArchmageRises/GameSaves": + "/.local/share/Steam/steamapps/compdata/506480/pfx/drive_c/users/steamuser/AppData/LocalLow/Defiance Game Studio/ArchmageRises/GameSaves": when: - os: linux store: steam - "/.local/share/Steam/steamapps/compdata/506480/pfx/drive_c/users/steamuser/AppData/LocalLow//Defiance Game Studio/ArchmageRises/Worlds": + "/.local/share/Steam/steamapps/compdata/506480/pfx/drive_c/users/steamuser/AppData/LocalLow/Defiance Game Studio/ArchmageRises/Worlds": when: - os: linux store: steam @@ -40208,15 +40194,15 @@ Archmage Rises: "/AppData/LocalLow/Defiance Game Studio/ArchmageRises/Worlds": when: - store: steam - "/Library/Application Support//Defiance Game Studio/ArchmageRises/CustomPortraits": + "/Library/Application Support/Defiance Game Studio/ArchmageRises/CustomPortraits": when: - os: mac store: steam - "/Library/Application Support//Defiance Game Studio/ArchmageRises/GameSaves": + "/Library/Application Support/Defiance Game Studio/ArchmageRises/GameSaves": when: - os: mac store: steam - "/Library/Application Support//Defiance Game Studio/ArchmageRises/Worlds": + "/Library/Application Support/Defiance Game Studio/ArchmageRises/Worlds": when: - os: mac store: steam @@ -40553,7 +40539,7 @@ Areeb World: id: 395960 Areia: files: - "/.config/Epic//Areia/Saved/SaveGames/game.sav": + "/.config/Epic/Areia/Saved/SaveGames/game.sav": when: - os: linux store: steam @@ -41021,17 +41007,17 @@ Arima: id: 866140 "Arisen: Chronicles of Var'Nagal": files: - "/.config/unity3d//Maratus/ARISEN/*.dat": + "/.config/unity3d/Maratus/ARISEN/*.dat": when: - os: linux store: steam - "//Library/Application Support//Maratus/ARISEN/*.dat": - when: - - os: mac - store: steam "/AppData/LocalLow/Maratus/ARISEN/*.dat": when: - store: steam + "/Library/Application Support/Maratus/ARISEN/*.dat": + when: + - os: mac + store: steam installDir: ARISEN: {} launch: @@ -43120,13 +43106,11 @@ Art of Boxing: id: 1146010 Art of Deception: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: Art of Deception: {} launch: @@ -44968,15 +44952,15 @@ Asimov Laws: id: 840920 Askutron Quiz Show: files: - "/.config/unity3d//Goldsaucer/Askutron Quiz/profiles.json": + "/.config/unity3d/Goldsaucer/Askutron Quiz/profiles.json": when: - os: linux store: steam - "/.config/unity3d//Goldsaucer/Askutron Quiz/stats": + "/.config/unity3d/Goldsaucer/Askutron Quiz/stats": when: - os: linux store: steam - "/.config/unity3d//Goldsaucer/Askutron Quiz/userquizzes": + "/.config/unity3d/Goldsaucer/Askutron Quiz/userquizzes": when: - os: linux store: steam @@ -44989,15 +44973,15 @@ Askutron Quiz Show: "/AppData/LocalLow/Goldsaucer/Askutron Quiz/userquizzes": when: - store: steam - "/Library/Application Support//Goldsaucer/Askutron Quiz/profiles.json": + "/Library/Application Support/Goldsaucer/Askutron Quiz/profiles.json": when: - os: mac store: steam - "/Library/Application Support//Goldsaucer/Askutron Quiz/stats": + "/Library/Application Support/Goldsaucer/Askutron Quiz/stats": when: - os: mac store: steam - "/Library/Application Support//Goldsaucer/Askutron Quiz/userquizzes": + "/Library/Application Support/Goldsaucer/Askutron Quiz/userquizzes": when: - os: mac store: steam @@ -48915,7 +48899,7 @@ Atomic 79: "/AppData/LocalLow/Das Humankapital/Atomic Butcher_ Homo Metabolicus/HotTotem/EpicPrefs": when: - store: steam - "/Library/Application Support/unity.DasHumankapital/*": + "/Library/Application Support/unity.DasHumankapital": when: - os: mac store: steam @@ -49024,14 +49008,14 @@ Atomic Sky: id: 675980 Atomic Society: files: - "/.config/unity3d/FarRoadGames/AtomicSociety/*": + "/.config/unity3d/FarRoadGames/AtomicSociety": when: - os: linux store: steam "/AppData/LocalLow/Far Road Games/Atomic Society/SavedGames": when: - store: steam - "/Library/Application Support/unity.FarRoadGames.AtomicSociety/*": + "/Library/Application Support/unity.FarRoadGames.AtomicSociety": when: - os: mac store: steam @@ -49144,7 +49128,7 @@ Atone: "/AppData/LocalLow/Untold Tales/Atone/*.txt": when: - store: steam - "/Library/Application Support//Untold Tales/Atone/*.txt": + "/Library/Application Support/Untold Tales/Atone/*.txt": when: - os: mac store: steam @@ -50542,11 +50526,11 @@ Automation Empire: id: 1112790 Automaton Arena: files: - "//.AutomatonArena/savedata": + "/.AutomatonArena/savedata": when: - os: linux store: steam - "/Library/Application Support//.AutomatonArena/savedata": + "/Library/Application Support/.AutomatonArena/savedata": when: - os: mac store: steam @@ -51673,7 +51657,7 @@ Avoid - Sensory Overload: id: 286660 Avoid The Monsters: files: - "//*.txt": + "/*.txt": when: - store: steam installDir: @@ -52647,11 +52631,11 @@ Ayni Fairyland: id: 885790 Ayo the Clown: files: - "/.config/unity3d//CloudM1/Ayo The Clown/*.bin": + "/.config/unity3d/CloudM1/Ayo The Clown/*.bin": when: - os: linux store: steam - "/.config/unity3d//CloudM1/Ayo The Clown/*.dat": + "/.config/unity3d/CloudM1/Ayo The Clown/*.dat": when: - os: linux store: steam @@ -52661,11 +52645,11 @@ Ayo the Clown: "/AppData/LocalLow/CloudM1/Ayo The Clown/*.dat": when: - store: steam - "/Library/Application Support//CloudM1/Ayo The Clown/*.bin": + "/Library/Application Support/CloudM1/Ayo The Clown/*.bin": when: - os: mac store: steam - "/Library/Application Support//CloudM1/Ayo The Clown/*.dat": + "/Library/Application Support/CloudM1/Ayo The Clown/*.dat": when: - os: mac store: steam @@ -53854,14 +53838,14 @@ BEATris: "/Editor": when: - store: steam - "/.config/unity3d/RhythmicalBadass/BEATRis/*": + "/.config/unity3d/RhythmicalBadass/BEATRis": when: - os: linux store: steam "/AppData/LocalLow/RhythmicalBadass/BEATris": when: - store: steam - "/Library/Application Support/unity.RhythmicalBadass.BEATris/*": + "/Library/Application Support/unity.RhythmicalBadass.BEATris": when: - os: mac store: steam @@ -54305,7 +54289,7 @@ BQM - BlockQuest Maker: "/AppData/LocalLow/WonderlandKazakiri/BQM/userdata": when: - store: steam - "/Library/Application Support/WonderlandKazakiri/BQM/userdata/*": + "/Library/Application Support/WonderlandKazakiri/BQM/userdata": when: - os: mac store: steam @@ -55838,8 +55822,6 @@ Bad Pad: "/Saved Games/Bad Pad": when: - store: steam - "/Saved Games/Bad Pad/*": - when: - os: linux store: steam id: @@ -58481,15 +58463,7 @@ Bard to the Future: when: - os: linux store: steam - "//com.battlebardgames.bardtothefuture/**/save.xml": - when: - - os: linux - store: steam - "/Library/Application Support//.com.battlebardgames.bardtothefuture/**/save.xml": - when: - - os: mac - store: steam - "/Library/Application Support//com.battlebardgames.bardtothefuture/**/save.xml": + "/Library/Application Support/.com.battlebardgames.bardtothefuture/**/save.xml": when: - os: mac store: steam @@ -58497,11 +58471,11 @@ Bard to the Future: when: - os: mac store: steam - "//.com.battlebardgames.bardtothefuture/**/save.xml": + "/com.battlebardgames.bardtothefuture/**/save.xml": when: - - os: windows + - os: linux store: steam - "//com.battlebardgames.bardtothefuture/**/save.xml": + "/.com.battlebardgames.bardtothefuture/**/save.xml": when: - os: windows store: steam @@ -59107,21 +59081,21 @@ Base One: id: 1471040 Base Raid: files: - "/Base_Raid.app/Contents//SaveData/*.txt": + "/Base_Raid.app/Contents/SaveData/*.txt": when: - os: mac store: steam - "/Base_Raid.app/Contents//Saves/**/*.txt": + "/Base_Raid.app/Contents/Saves/**/*.txt": when: - os: mac store: steam - "/Base_Raid_Data//SaveData/*.txt": + "/Base_Raid_Data/SaveData/*.txt": when: - os: windows store: steam - os: linux store: steam - "/Base_Raid_Data//Saves/**/*.txt": + "/Base_Raid_Data/Saves/**/*.txt": when: - os: windows store: steam @@ -59155,13 +59129,11 @@ Base Squad 49: id: 462060 Baseball Kings VR: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: Baseball Kings VR: {} steam: @@ -59651,14 +59623,12 @@ Bat Hotel: id: 1031130 BatMUD: files: - "//batclient/*": - when: - - os: mac - store: steam "/batclient": when: - store: steam - "/../batclient/*": + - os: mac + store: steam + "/../batclient": when: - os: windows store: steam @@ -64414,11 +64384,11 @@ Beat: id: 931220 Beat Banger: files: - "/.local/share//Godot/app_userdata/Beat Banger/**/*.sav": + "/.local/share/Godot/app_userdata/Beat Banger/**/*.sav": when: - os: linux store: steam - "/Library/Application Support//Godot/app_userdata/Beat Banger/**/*.sav": + "/Library/Application Support/Godot/app_userdata/Beat Banger/**/*.sav": when: - os: mac store: steam @@ -68233,27 +68203,27 @@ Beyond Divinity: id: 219760 Beyond Eden: files: - "//Library/RenPy/beyond_eden/*.save": + "/Library/RenPy/beyond_eden/*.save": when: - os: mac store: steam - "//Library/RenPy/beyond_eden/persistent": + "/Library/RenPy/beyond_eden/persistent": when: - os: mac store: steam - "//Library/RenPy/beyond_eden_korean/*.save": + "/Library/RenPy/beyond_eden_korean/*.save": when: - os: mac store: steam - "//Library/RenPy/beyond_eden_korean/persistent": + "/Library/RenPy/beyond_eden_korean/persistent": when: - os: mac store: steam - "//Library/RenPy/beyond_eden_korean_korean/*.save": + "/Library/RenPy/beyond_eden_korean_korean/*.save": when: - os: mac store: steam - "//Library/RenPy/beyond_eden_korean_korean/persistent": + "/Library/RenPy/beyond_eden_korean_korean/persistent": when: - os: mac store: steam @@ -68795,7 +68765,7 @@ Beyond the Sea: id: 928420 Beyond the Sky: files: - "//.config/BeyondTheSky/saves/*.bsg": + "/.config/BeyondTheSky/saves/*.bsg": when: - os: mac store: steam @@ -69006,13 +68976,11 @@ BiT Evolution: id: 342020 Biathlon Battle VR: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: Biathlon Battle VR: {} steam: @@ -69156,14 +69124,14 @@ Bibou: id: 464760 Bicyclism EP: files: - "/.config/unity3d//Acid Cat/Bicyclism EP/**/bicyclism.playerrecords": + "/.config/unity3d/Acid Cat/Bicyclism EP/**/bicyclism.playerrecords": when: - os: linux store: steam "/AppData/LocalLow/Acid Cat/Bicyclism EP/**/bicyclism.playerrecords": when: - store: steam - "/Library/Application Support//Acid Cat/Bicyclism EP/**/bicyclism.playerrecords": + "/Library/Application Support/Acid Cat/Bicyclism EP/**/bicyclism.playerrecords": when: - os: mac store: steam @@ -72534,11 +72502,11 @@ Black Forest: "/AppData/LocalLow/Lemuria/Black Forest/*.dat": when: - store: steam - "/Library/Application Support//Lemuria/Black Forest/*.dat": + "/Library/Application Support/Lemuria/Black Forest/*.dat": when: - os: mac store: steam - "//Lemuria/Black Forest/*.dat": + "/Lemuria/Black Forest/*.dat": when: - os: linux store: steam @@ -73562,11 +73530,11 @@ Blackbox: id: 814960 Blacken Slash: files: - "/.local/share//blackenslash/*.bin": + "/.local/share/blackenslash/*.bin": when: - os: linux store: steam - "/Library/Application Support//blackenslash/*.bin": + "/Library/Application Support/blackenslash/*.bin": when: - os: mac store: steam @@ -73933,15 +73901,15 @@ Blackshift: "/Library/Application Support/Blackshift/Levels": when: - store: steam - "//Blackshift": + "/Blackshift": when: - os: windows store: steam - "//Blackshift/Edits": + "/Blackshift/Edits": when: - os: windows store: steam - "//Blackshift/Levels": + "/Blackshift/Levels": when: - os: windows store: steam @@ -74499,7 +74467,7 @@ Blade of Acrimony: id: 932450 Blade of Arena: files: - "///BOAWorld/Saved/SaveGames/*.sav": + "//BOAWorld/Saved/SaveGames/*.sav": when: - os: windows store: steam @@ -76455,8 +76423,6 @@ BlindMaze: "/./*.ndm": when: - store: steam - "//./*.ndm": - when: - os: windows store: steam "/bin/./*.ndm": @@ -79847,15 +79813,15 @@ Bludgeon: id: 1087640 Blue Angels Aerobatic Flight Simulator: files: - "/AppData/LocalLow//unity.Rortos.Blue Angels Aerobatic Flight Simulator": - when: - - os: windows - store: steam "/AppData/LocalLow/Rortos/Blue Angels Aerobatic Flight Simulator": when: - os: windows store: steam - "/Library/Application Support//Rortos/Blue Angels Aerobatic Flight Simulator": + "/AppData/LocalLow/unity.Rortos.Blue Angels Aerobatic Flight Simulator": + when: + - os: windows + store: steam + "/Library/Application Support/Rortos/Blue Angels Aerobatic Flight Simulator": when: - os: mac store: steam @@ -80145,27 +80111,27 @@ Blue Revolver: "/blue-revolver-v09/save2.lua": when: - store: steam - "/.local/share/love//blue-revolver-final/save2.lua": + "/.local/share/love/blue-revolver-final/save2.lua": when: - os: linux store: steam - "/.local/share/love//blue-revolver-v09/save2.lua": + "/.local/share/love/blue-revolver-v09/save2.lua": when: - os: linux store: steam - "/Library/Application Support//blue-revolver-final/save2.lua": + "/Library/Application Support/blue-revolver-final/save2.lua": when: - os: mac store: steam - "/Library/Application Support//blue-revolver-v09/save2.lua": + "/Library/Application Support/blue-revolver-v09/save2.lua": when: - os: mac store: steam - "//blue-revolver-final/save2.lua": + "/blue-revolver-final/save2.lua": when: - os: windows store: steam - "//blue-revolver-v09/save2.lua": + "/blue-revolver-v09/save2.lua": when: - os: windows store: steam @@ -80881,14 +80847,14 @@ Body Discovery: id: 1063070 Body of Evidence: files: - "/.config/unity3d//Empyrean/Body of Evidence/crimescene.sav": + "/.config/unity3d/Empyrean/Body of Evidence/crimescene.sav": when: - os: linux store: steam "/AppData/LocalLow/Empyrean/Body of Evidence/crimescene.sav": when: - store: steam - "/Library/Application Support//Empyrean/Body of Evidence/crimescene.sav": + "/Library/Application Support/Empyrean/Body of Evidence/crimescene.sav": when: - os: mac store: steam @@ -82032,7 +81998,7 @@ Bondage Girl: id: 1186260 Bonds: files: - "/Game.app/Contents/Resources/app.nw/save/*": + "/Game.app/Contents/Resources/app.nw/save": when: - os: mac store: steam @@ -82975,10 +82941,6 @@ Boomer Rampage: when: - os: windows store: steam - "/Boomer_Rampage/*": - when: - - os: windows - store: steam installDir: Boomer Rampage: {} launch: @@ -83366,7 +83328,7 @@ Border Patrol: id: 874440 Border of her Heart: files: - "//*.sav": + "/*.sav": when: - store: steam installDir: @@ -83746,11 +83708,11 @@ Boring Man - Online Tactical Stickman Combat: id: 346120 Born Punk: files: - "/.local/Share/Insert Disk 22/Born Punk/Savegames/*": + "/.local/Share/Insert Disk 22/Born Punk/Savegames": when: - os: linux store: steam - "/Library/Application Support/Insert Disk 22/Born Punk/Savegames/*": + "/Library/Application Support/Insert Disk 22/Born Punk/Savegames": when: - os: mac store: steam @@ -84620,13 +84582,11 @@ Bouncing Hero: Bouncing Odyssey: files: "/.godot/app_userdata/Bouncing Odyssey/savegame.bin": - when: - - os: linux - store: steam - "//.godot/app_userdata/Bouncing Odyssey/savegame.bin": when: - os: mac store: steam + - os: linux + store: steam "/Godot/app_userdata/Bouncing Odyssey/savegame.bin": when: - store: steam @@ -86001,14 +85961,14 @@ Brainy Joy: id: 1623940 BrambleLash: files: - "/.config/unity3d/Bytesprite/BrambleLash/*": + "/.config/unity3d/Bytesprite/BrambleLash": when: - os: linux store: steam "/AppData/LocalLow/Bytesprite/BrambleLash": when: - store: steam - "/Library/Application Support/Bytesprite/BrambleLash/*": + "/Library/Application Support/Bytesprite/BrambleLash": when: - os: mac store: steam @@ -86283,11 +86243,11 @@ Brave Knight Runner: id: 1037540 Brave Path: files: - "/.local/share/BravePath/*": + "/.local/share/BravePath": when: - os: linux store: steam - "/Library/Application Support/BravePath/*": + "/Library/Application Support/BravePath": when: - os: mac store: steam @@ -86723,7 +86683,7 @@ Brazilian Adventure: "/Library/Application Support/What day is it Games/Brazilian Adventure/**/options.xml": when: - store: steam - "/What Day Is It Games/Brazilian Adventure//options.xml": + "/What Day Is It Games/Brazilian Adventure/options.xml": when: - os: windows store: steam @@ -86905,7 +86865,7 @@ Breach of Contract Reloaded: id: 1166840 Breached: files: - "/Breached.app/Contents/UE4//Breached/SaveData/SaveGames/State.sav": + "/Breached.app/Contents/UE4/Breached/SaveData/SaveGames/State.sav": when: - os: mac store: steam @@ -88175,14 +88135,14 @@ Bridge Constructor Portal: id: 684410 Bridge Constructor Stunts: files: - "/.config/unity3d/ClockStone Software GmbH/Bridge Constructor Stunts/*": + "/.config/unity3d/ClockStone Software GmbH/Bridge Constructor Stunts": when: - os: linux store: steam "/AppData/LocalLow/ClockStone Software GmbH/Bridge Constructor Stunts": when: - store: steam - "/Library/Application Support/com.headupgames.bridgeconstructorstunts-mac/*": + "/Library/Application Support/com.headupgames.bridgeconstructorstunts-mac": when: - os: mac store: steam @@ -88675,7 +88635,7 @@ Bright Paw: "/AppData/LocalLow/Radical Forge Ltd/Bright Paw/SAVES": when: - store: steam - "/Library/Application Support/Radical Forge Ltd/Bright Paw Definitive Edition/SAVES/*": + "/Library/Application Support/Radical Forge Ltd/Bright Paw Definitive Edition/SAVES": when: - os: mac store: steam @@ -90133,7 +90093,7 @@ Brutal Inventions: id: 767310 Brutal Japan: files: - "//*.json": + "/*.json": when: - os: windows store: steam @@ -92123,7 +92083,7 @@ Bump Bump Bump: "/AppData/LocalLow/Golden Frog/Bump Bump Bump/bbbSave.txt": when: - store: steam - "/Library/Application Support//Golden Frog/Bump Bump Bump/bbbSave.txt": + "/Library/Application Support/Golden Frog/Bump Bump Bump/bbbSave.txt": when: - os: mac store: steam @@ -92659,10 +92619,6 @@ Buoyant: id: 1085280 "Burak Bahar's Unseen Anchor": files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - os: windows @@ -92700,11 +92656,11 @@ Burden of Command: id: 887490 Burden of Proof: files: - "/Documents/RobProductions/Burden Of Proof/*": + "/Documents/RobProductions/Burden Of Proof": when: - os: mac store: steam - "/RobProductions/Burden Of Proof/*": + "/RobProductions/Burden Of Proof": when: - os: linux store: steam @@ -95893,13 +95849,11 @@ Café International: id: 965210 "Café Stella and the Reapers' Butterflies": files: - "//savedata": - when: - - os: windows - store: steam "/savedata": when: - store: steam + - os: windows + store: steam gog: id: 1944735225 id: @@ -97611,15 +97565,13 @@ Camp Sunshine: id: 457570 Camp W: files: - "/CampW.app/Contents/Resources/Data/StreamingAssets/saves/*": + "/CampW.app/Contents/Resources/Data/StreamingAssets/saves": when: - os: mac store: steam "/CampW_Data/StreamingAssets/saves": when: - store: steam - "/CampW_Data/StreamingAssets/saves/*": - when: - os: windows store: steam installDir: @@ -98379,15 +98331,15 @@ Cannons Lasers Rockets: id: 617710 Cantata: files: - "/.config/unity3d//afterschool/cantata/saves/*.cprogress": + "/.config/unity3d/afterschool/cantata/saves/*.cprogress": when: - os: linux store: steam - "/.config/unity3d//afterschool/cantata/saves/*.csave": + "/.config/unity3d/afterschool/cantata/saves/*.csave": when: - os: linux store: steam - "/.config/unity3d//afterschool/cantata/scenarios/*.cscenario": + "/.config/unity3d/afterschool/cantata/scenarios/*.cscenario": when: - os: linux store: steam @@ -101474,7 +101426,7 @@ Cartoon Strike: id: 856380 Cartoony Cars 2: files: - "/.config/unity3d/SpeedFrame Games/Cartoony Cars 2/*": + "/.config/unity3d/SpeedFrame Games/Cartoony Cars 2": when: - os: linux store: steam @@ -101482,7 +101434,7 @@ Cartoony Cars 2: when: - os: windows store: steam - "/Library/Application Support/SpeedFrame Games/Cartoony Cars 2/*": + "/Library/Application Support/SpeedFrame Games/Cartoony Cars 2": when: - os: mac store: steam @@ -101944,7 +101896,7 @@ Castle Adventure: id: 765820 Castle Agony: files: - "/Saved Games/%USERPROFILE%/Saved Games/Agony": + "/Saved Games//Saved Games/Agony": when: - os: windows store: steam @@ -102377,7 +102329,7 @@ Castle of Shikigami: id: 582980 Castle of Shikigami 2: files: - "//config.dat": + "/config.dat": when: - store: steam installDir: @@ -103623,7 +103575,7 @@ Catch the Head: id: 717760 "Catch'em": files: - "//*.dat": + "/*.dat": when: - os: windows store: steam @@ -108550,11 +108502,11 @@ Chess Cubed: "/AppData/LocalLow/DefaultSoftware/Chess Cubed/": when: - store: steam - "/Library/Application Support/DefaultSoftware/Chess Cubed//*": + "/Library/Application Support/DefaultSoftware/Chess Cubed/": when: - os: mac store: steam - "/DefaultSoftware/Chess Cubed//*": + "/DefaultSoftware/Chess Cubed/": when: - os: linux store: steam @@ -109796,14 +109748,14 @@ Chime: id: 62100 Chime Sharp: files: - "//*.sav": + "/*.sav": when: - store: steam - "/ChimeSharp.app/Contents///*.sav": + "/ChimeSharp.app/Contents/*.sav": when: - os: mac store: steam - "/ChimeSharp_Data///*.sav": + "/ChimeSharp_Data/*.sav": when: - os: windows store: steam @@ -110322,7 +110274,7 @@ Chipmonk!: "/AppData/LocalLow/Niemi Bros Entertainment/Chipmonk!/Steam//**/*.xml": when: - store: steam - "/Library/Application Support//Niemi Bros Entertainment/Chipmonk!/Steam//**/*.xml": + "/Library/Application Support/Niemi Bros Entertainment/Chipmonk!/Steam//**/*.xml": when: - os: mac store: steam @@ -111661,7 +111613,7 @@ Chorus: id: 1153640 Chosen 2: files: - "//*.rvdata2": + "/*.rvdata2": when: - store: steam installDir: @@ -113250,14 +113202,14 @@ Churchgoers: id: 1067390 Churn Vector: files: - "/.config/unity3d/ArchivalEugeneNaelstrof/ChurnVector//*": + "/.config/unity3d/ArchivalEugeneNaelstrof/ChurnVector/": when: - os: linux store: steam "/AppData/LocalLow/ArchivalEugeneNaelstrof/ChurnVector/": when: - store: steam - "/Library/Application Support/ArchivalEugeneNaelstrof/ChurnVector//*": + "/Library/Application Support/ArchivalEugeneNaelstrof/ChurnVector/": when: - os: mac store: steam @@ -114601,14 +114553,14 @@ Citizens of Space: id: 1016760 "Citizens: Far Lands": files: - "/.config/unity3d/Redkar Limited/Citizes/Saves/*": + "/.config/unity3d/Redkar Limited/Citizes/Saves": when: - os: linux store: steam "/AppData/LocalLow/Redkar Limited/Citizens/Saves": when: - store: steam - "/Library/Application Support/Redkar Limited/Citizens/Saves/*": + "/Library/Application Support/Redkar Limited/Citizens/Saves": when: - os: mac store: steam @@ -118326,7 +118278,7 @@ Clouds & Sheep 2: "/AppData/LocalLow/HandyGames/Clouds and Sheep 2/*.xml": when: - store: steam - "/Library/Application Support//HandyGames/Clouds and Sheep 2/*.xml": + "/Library/Application Support/HandyGames/Clouds and Sheep 2/*.xml": when: - os: mac store: steam @@ -118904,11 +118856,11 @@ Co-Co Corn Mafia: id: 604160 Co-op Snek Online: files: - "/.config/Co-opSNEKOnline/Default/IndexedDB/*": + "/.config/Co-opSNEKOnline/Default/IndexedDB": when: - os: linux store: steam - "/Library/Application Support/Co-opSNEKOnline/Default/IndexedDB/*": + "/Library/Application Support/Co-opSNEKOnline/Default/IndexedDB": when: - os: mac store: steam @@ -121222,18 +121174,10 @@ Collisions: id: 390910 Colloc: files: - "/AppData/LocalLow//Pazolab/Colloc/*.es3": - when: - - os: windows - store: steam "/AppData/LocalLow/Pazolab/Colloc/*.es3": when: - os: windows store: steam - "/Library/Application Support//Pazolab/Colloc/*.es3": - when: - - os: mac - store: steam "/Library/Application Support/Pazolab/Colloc/*.es3": when: - os: mac @@ -123151,14 +123095,14 @@ CometStriker: alias: CometStriker DX CometStriker DX: files: - "/Library/Application Support/CometStrikerDX/SaveData/AllPlayers//save0.bin": + "/Library/Application Support/CometStrikerDX/SaveData/AllPlayers/save0.bin": when: - os: mac store: steam "/SavedGames/CometStrikerDX/SaveData/AllPlayers/save0.bin": when: - store: steam - "/CometStrikerDX/SaveData/AllPlayers//save0.bin": + "/CometStrikerDX/SaveData/AllPlayers/save0.bin": when: - os: linux store: steam @@ -125067,7 +125011,7 @@ Con Amore: when: - os: linux store: steam - "//Library/RenPy/Con Amore/*.save": + "/Library/RenPy/Con Amore/*.save": when: - os: mac store: steam @@ -128199,14 +128143,14 @@ Core Decay: id: 1260940 Core Defense: files: - "/Library/Application Support//core-defense/*.sav": + "/Library/Application Support/core-defense/*.sav": when: - os: mac store: steam "/core-defense/*.sav": when: - store: steam - "//core-defense/*.sav": + "/core-defense/*.sav": when: - os: linux store: steam @@ -131014,14 +130958,14 @@ Cowpocalypse - Episode 1: id: 1075430 Cows VS Vikings: files: - "/.config/unity3d//Redox Entertainment Inc/CowsAndVikings/**/*.save": + "/.config/unity3d/Redox Entertainment Inc/CowsAndVikings/**/*.save": when: - os: linux store: steam "/AppData/LocalLow/Redox Entertainment Inc/CowsAndVikings/**/*.save": when: - store: steam - "/Library/Application Support//Redox Entertainment Inc/CowsAndVikings/**/*.save": + "/Library/Application Support/Redox Entertainment Inc/CowsAndVikings/**/*.save": when: - os: mac store: steam @@ -131400,10 +131344,6 @@ Craft the World: id: 248390 "Craft: Work VR Shop": files: - "//Work VR Shop_Data/Resources/Config/**/File.txt": - when: - - os: windows - store: steam "/Work VR Shop_Data/Resources/Config/**/File.txt": when: - os: windows @@ -133299,7 +133239,7 @@ Creativerse: id: 280790 CreatorCrate: files: - "/.config/unity3d//Pantsyfancy/CreatorCrate/saveGames": + "/.config/unity3d/Pantsyfancy/CreatorCrate/saveGames": when: - os: linux store: steam @@ -134444,13 +134384,11 @@ Crimson Keep: when: - store: steam "/.Crimson Keep/./save*.json": - when: - - os: linux - store: steam - "//.Crimson Keep/./save*.json": when: - os: mac store: steam + - os: linux + store: steam "/Crimson Keep/./save*.json": when: - os: windows @@ -136997,11 +136935,11 @@ Crush Online: id: 475630 Crush Your Enemies: files: - "//Crush Your Enemies": + "/Crush Your Enemies": when: - os: linux store: steam - "/Documents//Crush Your Enemies": + "/Documents/Crush Your Enemies": when: - os: mac store: steam @@ -139538,14 +139476,6 @@ Cubic Complex: id: 500100 Cubic Factory: files: - "//Saves": - when: - - os: windows - store: steam - "//WorldSaves": - when: - - os: windows - store: steam "/Saves": when: - os: windows @@ -140985,7 +140915,7 @@ Cursed Lands: id: 758320 Cursed Mansion: files: - "//*.rvdata2": + "/*.rvdata2": when: - store: steam "/RPGMaker/Games/CursedMansion/**/*.rvdata2": @@ -141047,7 +140977,7 @@ Cursed Pagoda: id: 892480 Cursed Roots: files: - "/Library/Application Support//MastroBros/Cursed Roots/*.sol": + "/Library/Application Support/MastroBros/Cursed Roots/*.sol": when: - os: mac store: steam @@ -142621,14 +142551,14 @@ Cycle: id: 663060 Cycle 28: files: - "/.config/unity3d/Pill Bug Interactive Ltd/Cycle 28//*": + "/.config/unity3d/Pill Bug Interactive Ltd/Cycle 28": when: - os: linux store: steam "/AppData/LocalLow/Pill Bug Interactive Ltd/Cycle 28": when: - store: steam - "/Library/Application Support/com.PillBugInteractive.Cycle28/*": + "/Library/Application Support/com.PillBugInteractive.Cycle28": when: - os: mac store: steam @@ -143924,7 +143854,7 @@ DOOMTANK: id: 1087310 DOTOKOI / 像素男友: files: - "//*.sav": + "/*.sav": when: - store: steam installDir: @@ -148559,14 +148489,14 @@ Dark War: id: 547370 Dark Wish: files: - "/Library/Application Support//LOVE/DW/save": + "/Library/Application Support/LOVE/DW/save": when: - os: mac store: steam "/LOVE/DW/save": when: - store: steam - "/love/DW/save/*": + "/love/DW/save": when: - os: linux store: steam @@ -152263,7 +152193,7 @@ Dead Dreams: "/www/save/*.rpgsave": when: - store: steam - "/Saved Games//www/save/*.rpgsave": + "/Saved Games/www/save/*.rpgsave": when: - os: windows store: steam @@ -157659,20 +157589,16 @@ Ded Inside: id: 1120240 Deep 8: files: - "//save/*.dyn": - when: - - os: windows - store: steam - "//save/*.lsd": - when: - - os: windows - store: steam "/save/*.dyn": when: - store: steam + - os: windows + store: steam "/save/*.lsd": when: - store: steam + - os: windows + store: steam installDir: DEEP 8: {} launch: @@ -158454,13 +158380,13 @@ DeeperRed2028-WeAreEscape-: id: 1215120 Deepest Chamber: files: - "//deepest_chamber_saves//**/*.bss": - when: - - os: linux - store: steam "/Saved Games/deepest_chamber_saves//**/*.bss": when: - store: steam + "/deepest_chamber_saves//**/*.bss": + when: + - os: linux + store: steam id: steamExtra: - 1558960 @@ -158845,11 +158771,11 @@ Defend the Cake: "/AppData/LocalLow/Defend The Cake LLC/Defend The Cake/progress.dat": when: - store: steam - "/Library/Application Support/Defend The Cake LLC/Defend The Cake/ReplaySaves/*": + "/Library/Application Support/Defend The Cake LLC/Defend The Cake/ReplaySaves": when: - os: mac store: steam - "/Library/Application Support/Defend The Cake LLC/Defend The Cake/ResumeSaves/*": + "/Library/Application Support/Defend The Cake LLC/Defend The Cake/ResumeSaves": when: - os: mac store: steam @@ -159564,10 +159490,10 @@ Deficis: id: 377220 Definitely Sneaky but Not Sneaky: files: - "//levels_editor_local.txt": + "/levels_editor_local.txt": when: - store: steam - "//save.json": + "/save.json": when: - store: steam installDir: @@ -159729,11 +159655,11 @@ Degauss: "/Library/Application Support/Degauss/sync": when: - store: steam - "//Degauss/sync": + "/Degauss/sync": when: - os: windows store: steam - "//Degauss/sync": + "/Degauss/sync": when: - os: linux store: steam @@ -161006,7 +160932,7 @@ Demigods: id: 409130 Demise of Nations: files: - "/app_main.app/Contents/Resources/app//user/sav/*.donw": + "/app_main.app/Contents/Resources/app/user/sav/*.donw": when: - os: mac store: steam @@ -161951,7 +161877,7 @@ Demons Age: "/AppData/LocalLow/BigmoonStudios/DemonsAge": when: - store: steam - "/Library/Application Support/BigMoonStudios/DemonsAge/*": + "/Library/Application Support/BigMoonStudios/DemonsAge": when: - os: mac store: steam @@ -163420,7 +163346,7 @@ Desert of Doitjma: id: 1225910 Desert of Vice: files: - "/Library/Application Support//Desert of Vice/Documents/desertofvicesavefile": + "/Library/Application Support/Desert of Vice/Documents/desertofvicesavefile": when: - os: mac store: steam @@ -164448,7 +164374,7 @@ Destroyer (2016): id: 678240 "Destroyer: The U-Boat Hunter": files: - "/.config/unity3d//Daedalic Entertainment GmbH/Destroyer The U-Boat Hunter/*.dat": + "/.config/unity3d/Daedalic Entertainment GmbH/Destroyer The U-Boat Hunter/*.dat": when: - os: linux store: steam @@ -164456,7 +164382,7 @@ Destroyer (2016): when: - os: windows store: steam - "/Library/Application Support//Daedalic Entertainment GmbH/Destroyer The U-Boat Hunter/*.dat": + "/Library/Application Support/Daedalic Entertainment GmbH/Destroyer The U-Boat Hunter/*.dat": when: - os: mac store: steam @@ -167344,7 +167270,7 @@ Die Drachen von Laas: - os: dos Die Drei ??? - Geheimnis der Schattenhelden: files: - "/Library/Application Support//USM/DDF3/*.yaml": + "/Library/Application Support/USM/DDF3/*.yaml": when: - os: mac store: steam @@ -167483,7 +167409,7 @@ Die by the Sword: id: 1207658647 Die drei ??? - Rätsel aus der Geisterwelt: files: - "/Library/Application Support//USM/DDF2/*.yaml": + "/Library/Application Support/USM/DDF2/*.yaml": when: - os: mac store: steam @@ -167505,7 +167431,7 @@ Die drei ??? - Rätsel aus der Geisterwelt: id: 793320 Die drei ??? und der Riesenkrake: files: - "/Library/Application Support//USM/DDF1/*.yaml": + "/Library/Application Support/USM/DDF1/*.yaml": when: - os: mac store: steam @@ -168831,7 +168757,7 @@ DinoBlaster: "/AppData/LocalLow/Shastabolicious/DinoBlaster": when: - store: steam - "/Library/Application Support/Shastabolicious/DinoBlaster/*": + "/Library/Application Support/Shastabolicious/DinoBlaster": when: - os: windows store: steam @@ -169341,14 +169267,14 @@ Dirty Jobs Simulator: id: 1090750 Dis Pontibus: files: - "/.config/unity3d/Ideario Games/Dis Pontibus/saves/*": + "/.config/unity3d/Ideario Games/Dis Pontibus/saves": when: - os: linux store: steam "/AppData/LocalLow/Ideario Games/Dis Pontibus/saves": when: - store: steam - "/Library/Application Support/unity.Ideario Games.Dis Pontibus/saves/*": + "/Library/Application Support/unity.Ideario Games.Dis Pontibus/saves": when: - os: mac store: steam @@ -169818,22 +169744,18 @@ Discontinue: id: 1061220 Discouraged Workers: files: - "/Discouraged-Workers.app/Contents/Resources/autorun/Discouraged-Workers.app/Contents/Resources/autorun/game/saves/*": + "/Discouraged-Workers.app/Contents/Resources/autorun/Discouraged-Workers.app/Contents/Resources/autorun/game/saves": when: - os: mac store: steam "/Discouraged-Workers.app/Contents/Resources/autorun/game/saves": when: - store: steam - "/Discouraged-Workers.app/Contents/Resources/autorun/game/saves/*": - when: - os: mac store: steam "/game/saves": when: - store: steam - "/game/saves/*": - when: - os: windows store: steam - os: linux @@ -172505,7 +172427,7 @@ Doctor Flow: "/AppData/LocalLow/Grendel Games/Doctor Flow/data": when: - store: steam - "/Library/Application Support/Grendel Games/Doctor Flow/data/*": + "/Library/Application Support/Grendel Games/Doctor Flow/data": when: - os: mac store: steam @@ -172874,14 +172796,14 @@ Dog Barley-Break: id: 970390 Dog Duty: files: - "/.config/unity3d/ZanardiLiza/Dog Duty/*": + "/.config/unity3d/ZanardiLiza/Dog Duty": when: - os: linux store: steam "/AppData/LocalLow/ZanardiLiza/Dog Duty": when: - store: steam - "/Library/Application Support/ZanardiLiza/Dog Duty/*": + "/Library/Application Support/ZanardiLiza/Dog Duty": when: - os: mac store: steam @@ -173585,7 +173507,7 @@ Dolmenjord - Viking Islands: "/AppData/LocalLow/Mens Sana Interactive/Dolmenjord/SavesDir//*.sav": when: - store: steam - "/Library/Application Support//Mens Sana Interactive/Dolmenjord/SavesDir//*.sav": + "/Library/Application Support/Mens Sana Interactive/Dolmenjord/SavesDir//*.sav": when: - os: mac store: steam @@ -173659,14 +173581,12 @@ Dolphin Swim: id: 1047720 Dolphin Up: files: - "//**/.monkeystate": + "/**/.monkeystate": when: - store: steam - "///**/.monkeystate": - when: - os: linux store: steam - "/DolphinUp.app/Contents/Resources//**/.monkeystate": + "/DolphinUp.app/Contents/Resources/**/.monkeystate": when: - os: mac store: steam @@ -173802,10 +173722,6 @@ DomiCard: id: 886330 DomiDo: files: - "//DomiDO/Content/Paks/*.pak": - when: - - os: windows - store: steam "/DomiDO/Content/Paks/*.pak": when: - os: windows @@ -174013,10 +173929,6 @@ Domino: id: 724580 Domino Craft VR: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - os: windows @@ -174261,7 +174173,7 @@ Don Bradman Cricket 17: id: 533170 "Don't Crawl": files: - "//.config/GhostCroquet/*": + "/.config/GhostCroquet": when: - os: linux store: steam @@ -174682,10 +174594,6 @@ Don Bradman Cricket 17: id: 519030 "Don't Look Back": files: - "//Binaries/Win64/PreSave": - when: - - os: windows - store: steam "/Binaries/Win64/PreSave": when: - os: windows @@ -176215,13 +176123,13 @@ Doomsday Ark: id: 552230 Doomsday Vault: files: - "//Library/Application Support/Flightless/Doomsday Vault/Steam//savedata.dat": - when: - - os: mac - store: steam "/AppData/LocalLow/Flightless/Doomsday Vault/Steam//savedata.dat": when: - store: steam + "/Library/Application Support/Flightless/Doomsday Vault/Steam//savedata.dat": + when: + - os: mac + store: steam installDir: Doomsday Vault: {} launch: @@ -177336,7 +177244,7 @@ Doug and Lily: "/AppData/LocalLow/Hero Concept/DoughlingsArcade": when: - store: steam - "/Library/Application Support/doughlingsarcade.heroconcept/*": + "/Library/Application Support/doughlingsarcade.heroconcept": when: - os: mac store: steam @@ -177441,15 +177349,15 @@ Down to Hell: "/AppData/LocalLow/RedDevStudio/DownToHell/databaseSlot3.json": when: - store: steam - "/Library/Application Support//RedDevStudio/DownToHell/databaseSlot1.json": + "/Library/Application Support/RedDevStudio/DownToHell/databaseSlot1.json": when: - os: mac store: steam - "/Library/Application Support//RedDevStudio/DownToHell/databaseSlot2.json": + "/Library/Application Support/RedDevStudio/DownToHell/databaseSlot2.json": when: - os: mac store: steam - "/Library/Application Support//RedDevStudio/DownToHell/databaseSlot3.json": + "/Library/Application Support/RedDevStudio/DownToHell/databaseSlot3.json": when: - os: mac store: steam @@ -178049,14 +177957,14 @@ Dr. Pills: id: 970240 Dr. Spacezoo: files: - "/.config/unity3d/SmashRiot LLC/Dr Spacezoo/*": + "/.config/unity3d/SmashRiot LLC/Dr Spacezoo": when: - os: linux store: steam "/AppData/LocalLow/SmashRiot LLC/Dr Spacezoo": when: - store: steam - "/Library/Application Support/SmashRiot LLC/Dr Spacezoo/*": + "/Library/Application Support/SmashRiot LLC/Dr Spacezoo": when: - os: mac store: steam @@ -182367,10 +182275,6 @@ Dreamflight VR: id: 1468400 Dreamily: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - os: windows @@ -182501,11 +182405,11 @@ Dreamo VR: id: 1138220 Dreams in the Witch House: files: - "/.local/share/ags/Dreams in the Witch House/*": + "/.local/share/ags/Dreams in the Witch House": when: - os: linux store: steam - "/Library/Application Support/Dreams in the Witch House/*": + "/Library/Application Support/Dreams in the Witch House": when: - os: mac store: steam @@ -183042,7 +182946,7 @@ Drift Of The Hill: id: 1145660 Drift Stage: files: - "/Library/Application Support//Drift Stage//Settings": + "/Library/Application Support/Drift Stage//Settings": when: - os: mac store: steam @@ -183053,7 +182957,7 @@ Drift Stage: when: - os: windows store: steam - "//Drift Stage//Settings": + "/Drift Stage//Settings": when: - os: linux store: steam @@ -183455,14 +183359,14 @@ Drink Inc.: id: 821230 Drink More Glurp: files: - "/.config/unity3d/CATASTROPHIC_OVERLOAD/Drink More Glurp/Prefs/*": + "/.config/unity3d/CATASTROPHIC_OVERLOAD/Drink More Glurp/Prefs": when: - os: linux store: steam "/AppData/LocalLow/CATASTROPHIC_OVERLOAD/Drink More Glurp/Prefs": when: - store: steam - "/Library/Application Support/com.CatastrophicOverload.DrinkMoreGlurp/Prefs/*": + "/Library/Application Support/com.CatastrophicOverload.DrinkMoreGlurp/Prefs": when: - os: mac store: steam @@ -184008,7 +183912,7 @@ Drone Racer: "/AppData/LocalLow/RedForce Games/Drone Racer Canyons": when: - store: steam - "/Library/Application Support/unity.RedForce Games.Drone Racer Canyons/*": + "/Library/Application Support/unity.RedForce Games.Drone Racer Canyons": when: - os: mac store: steam @@ -184473,7 +184377,7 @@ Drox Operative: id: 274480 Drox Operative 2: files: - "/.local/share//DroxOperative2/User/chars": + "/.local/share/DroxOperative2/User/chars": when: - os: linux store: steam @@ -184558,11 +184462,11 @@ Drugs to Bee: id: 880570 Druid: files: - "/Druid.app/Contents//Resources/Data.sav": + "/Druid.app/Contents/Resources/Data.sav": when: - os: mac store: steam - "/Druid_Data//Resources/Data.sav": + "/Druid_Data/Resources/Data.sav": when: - os: windows store: steam @@ -185279,13 +185183,11 @@ Duck Hunt Challenge: id: 934550 Duck Hunting: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: DH_v01: {} launch: @@ -185372,11 +185274,11 @@ Duck Simulator 2: "/AppData/LocalLow/Orius Games/Duck Simulator 2/*.sav": when: - store: steam - "/Library/Application Support//Orius Games/Duck Simulator 2/*.sav": + "/Library/Application Support/Orius Games/Duck Simulator 2/*.sav": when: - os: mac store: steam - "/unity3d//Orius Games/Duck Simulator 2/*.sav": + "/unity3d/Orius Games/Duck Simulator 2/*.sav": when: - os: linux store: steam @@ -188705,7 +188607,7 @@ Dungeons Are Random: id: 431330 Dungeons Forever: files: - "//*.HAT": + "/*.HAT": when: - store: steam installDir: @@ -188736,14 +188638,11 @@ Dungeons and Dinners: id: 939250 Dungeons of Aether: files: - "/": - when: - - store: steam - "/Library/Application Support/com.aetherstudios.dungeonsofaether/": + "/Library/Application Support/com.aetherstudios.dungeonsofaether": when: - os: mac store: steam - "/Dungeons/": + "/Dungeons": when: - os: windows store: steam @@ -189435,13 +189334,13 @@ Dust On Wheels: id: 877400 Dust and Salt: files: - "//Library/Application Support//PrimeGames/Dust and Salt/*.sav": - when: - - os: mac - store: steam "/AppData/LocalLow/PrimeGames/Dust and Salt/*.sav": when: - store: steam + "/Library/Application Support/PrimeGames/Dust and Salt/*.sav": + when: + - os: mac + store: steam installDir: Dust and Salt: {} launch: @@ -189457,13 +189356,13 @@ Dust and Salt: id: 766630 "Dust and Salt: The Battle for Murk": files: - "//Library/Application Support//PrimeGames/Battle for Murk/*.sav": - when: - - os: mac - store: steam "/AppData/LocalLow/PrimeGames/Battle for Murk/*.sav": when: - store: steam + "/Library/Application Support/PrimeGames/Battle for Murk/*.sav": + when: + - os: mac + store: steam installDir: The Battle for Murk: {} launch: @@ -189994,23 +189893,23 @@ Dwarven Defender: id: 1121630 Dwarven Skykeep: files: - "/Library/Application Support//Godot/app_userdata/DS/achievements.cfg": + "/Library/Application Support/Godot/app_userdata/DS/achievements.cfg": when: - os: mac store: steam - "/Library/Application Support//Godot/app_userdata/DS/dwarfopedia.cfg": + "/Library/Application Support/Godot/app_userdata/DS/dwarfopedia.cfg": when: - os: mac store: steam - "/Library/Application Support//Godot/app_userdata/DS/game-completed.txt": + "/Library/Application Support/Godot/app_userdata/DS/game-completed.txt": when: - os: mac store: steam - "/Library/Application Support//Godot/app_userdata/DS/meta_progress.json": + "/Library/Application Support/Godot/app_userdata/DS/meta_progress.json": when: - os: mac store: steam - "/Library/Application Support//Godot/app_userdata/DS/save/*.json": + "/Library/Application Support/Godot/app_userdata/DS/save/*.json": when: - os: mac store: steam @@ -192000,13 +191899,11 @@ ERI: id: 883900 ERISLE: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: ERISLE: {} launch: @@ -192151,27 +192048,27 @@ ESail Sailing Simulator: "/AppData/LocalLow/VRActive/eSail/User_5_Data": when: - store: steam - "/Library/Application Support//VRActive/eSail/Data": + "/Library/Application Support/VRActive/eSail/Data": when: - os: mac store: steam - "/Library/Application Support//VRActive/eSail/User_1_Data": + "/Library/Application Support/VRActive/eSail/User_1_Data": when: - os: mac store: steam - "/Library/Application Support//VRActive/eSail/User_2_Data": + "/Library/Application Support/VRActive/eSail/User_2_Data": when: - os: mac store: steam - "/Library/Application Support//VRActive/eSail/User_3_Data": + "/Library/Application Support/VRActive/eSail/User_3_Data": when: - os: mac store: steam - "/Library/Application Support//VRActive/eSail/User_4_Data": + "/Library/Application Support/VRActive/eSail/User_4_Data": when: - os: mac store: steam - "/Library/Application Support//VRActive/eSail/User_5_Data": + "/Library/Application Support/VRActive/eSail/User_5_Data": when: - os: mac store: steam @@ -192212,23 +192109,23 @@ ESports Club: id: 656200 ESports Life: files: - "//U-Play online/Esports Life/*.mlp": - when: - - os: mac - store: steam - - os: linux - store: steam - "//U-Play online/Esports Life/Saves/*.mlp": - when: - - os: linux - store: steam "/AppData/LocalLow/U-Play online/Esports Life/*.mlp": when: - store: steam - "/Documents//U-Play online/Esports Life/Saves/*.mlp": + "/Documents/U-Play online/Esports Life/Saves/*.mlp": when: - os: mac store: steam + "/U-Play online/Esports Life/*.mlp": + when: + - os: mac + store: steam + - os: linux + store: steam + "/U-Play online/Esports Life/Saves/*.mlp": + when: + - os: linux + store: steam "/U-Play online/Esports Life/Saves/*.mlp": when: - store: steam @@ -196554,49 +196451,29 @@ Elden Ring: id: 1245620 "Elden: Path of the Forgotten": files: - "/AppData/LocalLow//Onerat Games/Elden Path of the Forgotten/Save": - when: - - os: windows - store: steam - "/AppData/LocalLow//Onerat Games/Elden Path of the Forgotten/Setting": - when: - - os: windows - store: steam "/AppData/LocalLow/Onerat Games/Elden Path of the Forgotten/Save": when: - store: steam - "/AppData/LocalLow/Onerat Games/Elden Path of the Forgotten/Save/*": - when: - os: windows store: steam "/AppData/LocalLow/Onerat Games/Elden Path of the Forgotten/Setting": when: - store: steam - "/AppData/LocalLow/ubuty3d/Onerat Games/Elden Path of the Forgotten/Setting/*": + - os: windows + store: steam + "/AppData/LocalLow/ubuty3d/Onerat Games/Elden Path of the Forgotten/Setting": when: - os: windows store: steam - "/Library/Application Support//Onerat Games/Elden Path of the Forgotten/Save": - when: - - os: mac - store: steam - "/Library/Application Support//Onerat Games/Elden Path of the Forgotten/Setting": - when: - - os: mac - store: steam "/Library/Application Support/Onerat Games/Elden Path of the Forgotten/Save": when: - os: mac store: steam - "/Library/Application Support/Onerat Games/Elden Path of the Forgotten/Save/*": - when: - - os: mac - store: steam "/Library/Application Support/Onerat Games/Elden Path of the Forgotten/Setting": when: - os: mac store: steam - "/Library/Application Support/ubuty3d/Onerat Games/Elden Path of the Forgotten/Setting/*": + "/Library/Application Support/ubuty3d/Onerat Games/Elden Path of the Forgotten/Setting": when: - os: mac store: steam @@ -196608,11 +196485,11 @@ Elden Ring: when: - os: linux store: steam - "/unity3d//Onerat Games/Elden Path of the Forgotten/Save": + "/unity3d/Onerat Games/Elden Path of the Forgotten/Save": when: - os: linux store: steam - "/unity3d//Onerat Games/Elden Path of the Forgotten/Setting": + "/unity3d/Onerat Games/Elden Path of the Forgotten/Setting": when: - os: linux store: steam @@ -199057,11 +198934,11 @@ Embers of Mirrim: id: 596080 Embers of War: files: - "/EmbersOfWar/Saved/*": + "/EmbersOfWar/Saved": when: - os: windows store: steam - "/Library/Application Support/EmbersOfWar.Saved/*": + "/Library/Application Support/EmbersOfWar.Saved": when: - os: windows store: steam @@ -201628,10 +201505,6 @@ Endless Treasure Hunt: when: - os: windows store: steam - "/Endless_Treasure_Hunt/*": - when: - - os: windows - store: steam installDir: Endless Treasure Hunt: {} launch: @@ -204044,7 +203917,7 @@ Epitaph: id: 582460 Epitasis: files: - "//Library/Application Support/Epic/DistantWorldsCode/Saved/SaveGames/*.sav": + "/Library/Application Support/Epic/DistantWorldsCode/Saved/SaveGames/*.sav": when: - os: mac store: steam @@ -204099,7 +203972,7 @@ Epoch (2016): id: 467910 Eponymous: files: - "/Library/Application Support/Minor Key Games/Eponymous/Saves/*": + "/Library/Application Support/Minor Key Games/Eponymous/Saves": when: - os: mac store: steam @@ -204107,7 +203980,7 @@ Eponymous: when: - os: windows store: steam - "/Minor Key Games/Eponymous/Saves/*": + "/Minor Key Games/Eponymous/Saves": when: - os: linux store: steam @@ -205622,7 +205495,7 @@ Escape Velocity: id: 944450 Escape Zolstar: files: - "/Library/Application Support//Stencyl/Escape Zolstar/*.sol": + "/Library/Application Support/Stencyl/Escape Zolstar/*.sol": when: - os: mac store: steam @@ -206594,21 +206467,21 @@ Esports Legend: id: 907270 Esports Life Tycoon: files: - "//U-Play online/Esports Life Tycoon/**/*.elt": - when: - - os: mac - store: steam - - os: linux - store: steam - "//U-Play online/Esports Life Tycoon/Saves/**/*.elt": - when: - - os: mac - store: steam - - os: linux - store: steam "/AppData/LocalLow/U-Play online/Esports Life Tycoon/**/*.elt": when: - store: steam + "/U-Play online/Esports Life Tycoon/**/*.elt": + when: + - os: mac + store: steam + - os: linux + store: steam + "/U-Play online/Esports Life Tycoon/Saves/**/*.elt": + when: + - os: mac + store: steam + - os: linux + store: steam "/U-Play online/Esports Life Tycoon/Saves/**/*.elt": when: - store: steam @@ -209938,11 +209811,11 @@ Evil Orbs: "/GoBit Games/EvilOrbs/Steam/users//*.dat": when: - store: steam - "/Library/Application Support//GoBit Games/EvilOrbs/Steam/users//*.dat": + "/Library/Application Support/GoBit Games/EvilOrbs/Steam/users//*.dat": when: - os: mac store: steam - "//GoBit Games/EvilOrbs/Steam/users//*.dat": + "/GoBit Games/EvilOrbs/Steam/users//*.dat": when: - os: windows store: steam @@ -210927,13 +210800,11 @@ Exatron Quest 2: id: 669410 Excellent Expectations: files: - "//SaveData": - when: - - os: windows - store: steam "/SaveData": when: - store: steam + - os: windows + store: steam installDir: qcsj_ee: {} launch: @@ -212519,7 +212390,7 @@ Express Raider: id: 1549000 Exsys: files: - "/.config/unity3d/Peakware/Exsys/data//gamedata/*": + "/.config/unity3d/Peakware/Exsys/data//gamedata": when: - os: linux store: steam @@ -212686,7 +212557,7 @@ ExtraGalactica: id: 1012410 Extraneum: files: - "//*.sav": + "/*.sav": when: - store: steam "/.config/unity3d/David Jalbert/Extraneum/*.sav": @@ -213093,7 +212964,7 @@ Eye of the Temple: "/AppData/LocalLow/Rune Skovbo Johansen/Eye of the Temple/savedata*.txt": when: - store: steam - "/Library/Application Support//Rune Skovbo Johansen/Eye of the Temple/savedata*.txt": + "/Library/Application Support/Rune Skovbo Johansen/Eye of the Temple/savedata*.txt": when: - os: mac store: steam @@ -215984,14 +215855,14 @@ Faerie Solitaire: id: 38600 Faerie Solitaire Dire: files: - "/Library/Application Support//Faerie Solitaire Dire": + "/Library/Application Support/Faerie Solitaire Dire": when: - os: mac store: steam "/Faerie Solitaire Dire": when: - store: steam - "//Faerie Solitaire Dire": + "/Faerie Solitaire Dire": when: - os: linux store: steam @@ -216016,14 +215887,14 @@ Faerie Solitaire Dire: id: 556530 Faerie Solitaire Harvest: files: - "/Library/Application Support//Faerie Solitaire Harvest Defold": + "/Library/Application Support/Faerie Solitaire Harvest Defold": when: - os: mac store: steam "/Faerie Solitaire Harvest Defold": when: - store: steam - "//Faerie Solitaire Harvest Defold": + "/Faerie Solitaire Harvest Defold": when: - os: linux store: steam @@ -217183,10 +217054,6 @@ Fallback: id: 864540 Fallen: files: - "//`.`/*.sav": - when: - - os: windows - store: steam "/`.`/*.sav": when: - os: windows @@ -217504,10 +217371,6 @@ Fallen Threats: Fallen Times: files: "/FallenTimes.app/Contents/Resources/Data/StreamingAssets": - when: - - os: mac - store: steam - "/FallenTimes.app/Contents/Resources/Data/StreamingAssets/*": when: - os: windows store: steam @@ -217521,12 +217384,6 @@ Fallen Times: store: steam - os: linux store: steam - "/FallenTimes_Data/StreamingAssets/*": - when: - - os: windows - store: steam - - os: linux - store: steam installDir: FallenTimes: {} launch: @@ -217673,7 +217530,7 @@ Falling Frontier: id: 1280190 Falling Plus: files: - "//Library/Preferences//FallingPlus/*.sav": + "/Library/Preferences/FallingPlus/*.sav": when: - os: mac store: steam @@ -218687,7 +218544,7 @@ Fantasy Fairways: id: 552690 "Fantasy Farming: Orange Season": files: - "//.config/unity3d/Soedesco/Orange Season/save/*": + "/.config/unity3d/Soedesco/Orange Season/save": when: - os: linux store: steam @@ -219469,25 +219326,21 @@ Fantasy of Eden: id: 735010 Fantasy of Expedition: files: - "/AppData/LocalLow//LWCore/Fantasy of Expedition/*.dat": - when: - - os: windows - store: steam - "/AppData/LocalLow//LWCore/Fantasy of Expedition/*.sav": - when: - - os: windows - store: steam "/AppData/LocalLow/LWCore/Fantasy of Expedition/*.dat": when: - store: steam + - os: windows + store: steam "/AppData/LocalLow/LWCore/Fantasy of Expedition/*.sav": when: - store: steam - "/Library/Application Support//LWCore/Fantasy of Expedition/*.dat": + - os: windows + store: steam + "/Library/Application Support/LWCore/Fantasy of Expedition/*.dat": when: - os: mac store: steam - "/Library/Application Support//LWCore/Fantasy of Expedition/*.sav": + "/Library/Application Support/LWCore/Fantasy of Expedition/*.sav": when: - os: mac store: steam @@ -222113,13 +221966,11 @@ Fateline(命运线): id: 1123460 Fates 8 Stories (F8S): files: - "//save/*.rpgsave": - when: - - os: windows - store: steam "/save/*.rpgsave": when: - store: steam + - os: windows + store: steam - os: mac store: steam installDir: @@ -223078,7 +222929,7 @@ Feelings Adrift: id: 424260 Feels: files: - "//*.bin": + "/*.bin": when: - store: steam "/saves/*.bin": @@ -227354,18 +227205,6 @@ Fire Pro Wrestling World: id: 564230 Fire Shark: files: - "//SavedGames//Fire Shark/": - when: - - os: mac - store: steam - "//SavedGames//SameSameSame 1P/": - when: - - os: mac - store: steam - "//SavedGames//SameSameSame Co-Op/": - when: - - os: mac - store: steam "/Saved Games/Fire Shark/": when: - store: steam @@ -227375,16 +227214,22 @@ Fire Shark: "/Saved Games/SameSameSame Co-Op/": when: - store: steam - "/SavedGames//Fire Shark/": + "/SavedGames/Fire Shark/": when: + - os: mac + store: steam - os: linux store: steam - "/SavedGames//SameSameSame 1P/": + "/SavedGames/SameSameSame 1P/": when: + - os: mac + store: steam - os: linux store: steam - "/SavedGames//SameSameSame Co-Op/": + "/SavedGames/SameSameSame Co-Op/": when: + - os: mac + store: steam - os: linux store: steam installDir: @@ -229191,7 +229036,7 @@ Flag couple🚩: id: 960430 Flagsplosion: files: - "/.godot/app_userdata/Flagsplosion/*": + "/.godot/app_userdata/Flagsplosion": when: - os: mac store: steam @@ -229328,27 +229173,21 @@ Flamebreak: "/config_cloud": when: - store: steam - "/Library/Application Support//NimblyGames/Flamebreak/config_cloud": - when: - - os: mac - store: steam "/Library/Application Support/NimblyGames/Flamebreak/config_cloud": when: - store: steam - "//NimblyGames/Flamebreak/config_cloud": - when: - - os: windows + - os: mac store: steam "/NimblyGames/Flamebreak/config_cloud": when: - store: steam - "//NimblyGames/Flamebreak/config_cloud": - when: - - os: linux + - os: windows store: steam "/NimblyGames/Flamebreak/config_cloud": when: - store: steam + - os: linux + store: steam installDir: Flamebreak: {} launch: @@ -229485,7 +229324,7 @@ Flappatron Episode 1: when: - os: linux store: steam - "/Library/Application Support//flappatron/*.ini": + "/Library/Application Support/flappatron/*.ini": when: - os: mac store: steam @@ -230142,7 +229981,7 @@ Flatspace: id: 1210780 Flatspace IIk: files: - "//Bank.txt": + "/Bank.txt": when: - os: windows store: steam @@ -230164,7 +230003,7 @@ Flatwaters: "/Flatwaters": when: - store: steam - "/Flatwaters/*": + "/Flatwaters": when: - os: linux store: steam @@ -232499,18 +232338,6 @@ Flying Salvager: id: 752310 Flying Shark: files: - "//SavedGames//Flying Shark/": - when: - - os: mac - store: steam - "//SavedGames//Hishou Zame/": - when: - - os: mac - store: steam - "//SavedGames//Sky Shark/": - when: - - os: mac - store: steam "/Saved Games/Flying Shark/": when: - store: steam @@ -232520,16 +232347,22 @@ Flying Shark: "/Saved Games/Sky Shark/": when: - store: steam - "/SavedGames//Flying Shark/": + "/SavedGames/Flying Shark/": when: + - os: mac + store: steam - os: linux store: steam - "/SavedGames//Hishou Zame/": + "/SavedGames/Hishou Zame/": when: + - os: mac + store: steam - os: linux store: steam - "/SavedGames//Sky Shark/": + "/SavedGames/Sky Shark/": when: + - os: mac + store: steam - os: linux store: steam installDir: @@ -233547,39 +233380,39 @@ Football Manager 2018: id: 624090 Football Manager 2019: files: - "/Library/Application Support//Sports Interactive/Football Manager 2019/cloud/filters/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019/cloud/filters/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019/cloud/games/*.fm": + "/Library/Application Support/Sports Interactive/Football Manager 2019/cloud/games/*.fm": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019/cloud/match plans/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019/cloud/match plans/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019/cloud/profiles/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019/cloud/profiles/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019/cloud/schedules/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019/cloud/schedules/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019/cloud/set pieces/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019/cloud/set pieces/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019/cloud/shortlists/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019/cloud/shortlists/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019/cloud/tactical_styles/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019/cloud/tactical_styles/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019/cloud/tactics/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019/cloud/tactics/*.fmf": when: - os: mac store: steam @@ -233703,43 +233536,43 @@ Football Manager 2020 Touch: id: 1100620 Football Manager 2021: files: - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/filters/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/filters/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/games/*.fm": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/games/*.fm": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/match plans/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/match plans/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/player instructions/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/player instructions/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/profiles/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/profiles/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/schedules/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/schedules/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/set pieces/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/set pieces/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/shortlists/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/shortlists/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/tactical_styles/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/tactical_styles/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021/cloud/tactics/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021/cloud/tactics/*.fmf": when: - os: mac store: steam @@ -233792,43 +233625,43 @@ Football Manager 2021: id: 1263850 Football Manager 2021 Touch: files: - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/filters/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/filters/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/games/*.fmt": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/games/*.fmt": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/games/*.fmv": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/games/*.fmv": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/match plans/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/match plans/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/player instructions/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/player instructions/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/set pieces/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/set pieces/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/shortlists/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/shortlists/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/tactical_styles/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/tactical_styles/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/tactics/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/tactics/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2021 Touch/cloud/views/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2021 Touch/cloud/views/*.fmf": when: - os: mac store: steam @@ -233878,43 +233711,43 @@ Football Manager 2021 Touch: id: 1263860 Football Manager 2022: files: - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/filters/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/filters/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/games/*.fm": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/games/*.fm": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/match plans/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/match plans/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/player instructions/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/player instructions/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/profiles/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/profiles/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/schedules/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/schedules/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/set pieces/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/set pieces/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/shortlists/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/shortlists/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/tactical_styles/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/tactical_styles/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2022/cloud/tactics/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2022/cloud/tactics/*.fmf": when: - os: mac store: steam @@ -234057,11 +233890,11 @@ Football Manager Touch 2016: id: 392790 Football Manager Touch 2017: files: - "/Library/Application Support//Sports Interactive/Football Manager Touch 2017/cloud/games/*.fmt": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2017/cloud/games/*.fmt": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager Touch 2017/cloud/games/*.fmv": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2017/cloud/games/*.fmv": when: - os: mac store: steam @@ -234071,11 +233904,11 @@ Football Manager Touch 2017: "/Sports Interactive/Football Manager Touch 2017/cloud/games/*.fmv": when: - store: steam - "//Sports Interactive/Football Manager Touch 2017/cloud/games/*.fmt": + "/Sports Interactive/Football Manager Touch 2017/cloud/games/*.fmt": when: - os: linux store: steam - "//Sports Interactive/Football Manager Touch 2017/cloud/games/*.fmv": + "/Sports Interactive/Football Manager Touch 2017/cloud/games/*.fmv": when: - os: linux store: steam @@ -234098,35 +233931,35 @@ Football Manager Touch 2017: id: 482750 Football Manager Touch 2018: files: - "/Library/Application Support//Sports Interactive/Football Manager Touch 2018/cloud/filters/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2018/cloud/filters/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager Touch 2018/cloud/games/*.fmt": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2018/cloud/games/*.fmt": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager Touch 2018/cloud/games/*.fmv": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2018/cloud/games/*.fmv": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager Touch 2018/cloud/match plans/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2018/cloud/match plans/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager Touch 2018/cloud/set pieces/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2018/cloud/set pieces/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager Touch 2018/cloud/shortlists/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2018/cloud/shortlists/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager Touch 2018/cloud/tactics/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2018/cloud/tactics/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager Touch 2018/cloud/views/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager Touch 2018/cloud/views/*.fmf": when: - os: mac store: steam @@ -234154,35 +233987,35 @@ Football Manager Touch 2018: "/Sports Interactive/Football Manager Touch 2018/cloud/views/*.fmf": when: - store: steam - "//Sports Interactive/Football Manager Touch 2018/cloud/filters/*.fmf": + "/Sports Interactive/Football Manager Touch 2018/cloud/filters/*.fmf": when: - os: linux store: steam - "//Sports Interactive/Football Manager Touch 2018/cloud/games/*.fmt": + "/Sports Interactive/Football Manager Touch 2018/cloud/games/*.fmt": when: - os: linux store: steam - "//Sports Interactive/Football Manager Touch 2018/cloud/games/*.fmv": + "/Sports Interactive/Football Manager Touch 2018/cloud/games/*.fmv": when: - os: linux store: steam - "//Sports Interactive/Football Manager Touch 2018/cloud/match plans/*.fmf": + "/Sports Interactive/Football Manager Touch 2018/cloud/match plans/*.fmf": when: - os: linux store: steam - "//Sports Interactive/Football Manager Touch 2018/cloud/set pieces/*.fmf": + "/Sports Interactive/Football Manager Touch 2018/cloud/set pieces/*.fmf": when: - os: linux store: steam - "//Sports Interactive/Football Manager Touch 2018/cloud/shortlists/*.fmf": + "/Sports Interactive/Football Manager Touch 2018/cloud/shortlists/*.fmf": when: - os: linux store: steam - "//Sports Interactive/Football Manager Touch 2018/cloud/tactics/*.fmf": + "/Sports Interactive/Football Manager Touch 2018/cloud/tactics/*.fmf": when: - os: linux store: steam - "//Sports Interactive/Football Manager Touch 2018/cloud/views/*.fmf": + "/Sports Interactive/Football Manager Touch 2018/cloud/views/*.fmf": when: - os: linux store: steam @@ -234205,39 +234038,39 @@ Football Manager Touch 2018: id: 624120 Football Manager Touch 2019: files: - "/Library/Application Support//Sports Interactive/Football Manager 2019 Touch/cloud/filters/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019 Touch/cloud/filters/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019 Touch/cloud/games/*.fmt": + "/Library/Application Support/Sports Interactive/Football Manager 2019 Touch/cloud/games/*.fmt": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019 Touch/cloud/games/*.fmv": + "/Library/Application Support/Sports Interactive/Football Manager 2019 Touch/cloud/games/*.fmv": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019 Touch/cloud/match plans/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019 Touch/cloud/match plans/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019 Touch/cloud/set pieces/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019 Touch/cloud/set pieces/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019 Touch/cloud/shortlists/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019 Touch/cloud/shortlists/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019 Touch/cloud/tactical_styles/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019 Touch/cloud/tactical_styles/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019 Touch/cloud/tactics/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019 Touch/cloud/tactics/*.fmf": when: - os: mac store: steam - "/Library/Application Support//Sports Interactive/Football Manager 2019 Touch/cloud/views/*.fmf": + "/Library/Application Support/Sports Interactive/Football Manager 2019 Touch/cloud/views/*.fmf": when: - os: mac store: steam @@ -234292,10 +234125,6 @@ Football Mogul 15: id: 514010 Football Mogul 18: files: - "//CloudSave/*.mog": - when: - - os: windows - store: steam "/CloudSave/*.mog": when: - os: windows @@ -235170,11 +234999,11 @@ Foreskin Fury: "/ForeskinFury/Saved/SaveGames/**/*.sav": when: - store: steam - "//ForeskinFury/Saved/SaveGames/**/*.sav": + "/ForeskinFury/Saved/SaveGames/**/*.sav": when: - os: windows store: steam - "/Epic//ForeskinFury/Saved/SaveGames/**/*.sav": + "/Epic/ForeskinFury/Saved/SaveGames/**/*.sav": when: - os: linux store: steam @@ -235694,14 +235523,14 @@ Forge of Gods (RPG): id: 461910 Forged Adventure: files: - "/.config/unity3d//Artees/Forged Adventure/": + "/.config/unity3d/Artees/Forged Adventure/": when: - os: linux store: steam "/AppData/LocalLow/Artees/Forged Adventure/": when: - store: steam - "/Library/Application Support//Artees/Forged Adventure/": + "/Library/Application Support/Artees/Forged Adventure/": when: - os: mac store: steam @@ -235976,7 +235805,7 @@ Forgotten Heroes: id: 510220 Forgotten Hill Disillusion: files: - "/Library/Application Support//Stencyl/Forgotten Hill Disillusion/*.sol": + "/Library/Application Support/Stencyl/Forgotten Hill Disillusion/*.sol": when: - os: mac store: steam @@ -236431,11 +236260,11 @@ Forma.8: "/AppData/LocalLow/MixedBag Srl/forma_8": when: - store: steam - "/Library/Application Support/unity.MixedBag Srl.forma.8/*": + "/Library/Application Support/unity.MixedBag Srl.forma.8": when: - os: mac store: steam - "/MixedBag Srl/forma_8/*": + "/MixedBag Srl/forma_8": when: - os: linux store: steam @@ -238336,14 +238165,14 @@ Fractal Space: id: 61310 Fractalis: files: - "/.config/unity3d/Revolutionary Interactive/Fractalis/slot_1/*": + "/.config/unity3d/Revolutionary Interactive/Fractalis/slot_1": when: - os: linux store: steam "/AppData/LocalLow/Revolutionary Interactive/Fractalis/slot_1": when: - store: steam - "/Library/Application Support/Revolutionary Interactive/Fractalis/slot_1/*": + "/Library/Application Support/Revolutionary Interactive/Fractalis/slot_1": when: - os: mac store: steam @@ -240480,7 +240309,7 @@ Freshly Frosted: "/AppData/LocalLow/The Quantum Astrophysicists Guild/Freshly Frosted/*saveFile.json": when: - store: steam - "/Library/Application Support//The Quantum Astrophysicists Guild/Freshly Frosted/*saveFile.json": + "/Library/Application Support/The Quantum Astrophysicists Guild/Freshly Frosted/*saveFile.json": when: - os: mac store: steam @@ -242910,7 +242739,7 @@ Full Pitch: id: 1025330 Full Spectrum Warrior: files: - "//Profiles-Settings": + "/Profiles-Settings": when: - store: steam "/Saves/Replay-*": @@ -243053,14 +242882,12 @@ Full Tilt! Pinball: - save Full Void: files: - "//data/*.dat": - when: - - os: linux - store: steam "/data/*.dat": when: - store: steam - "/Library/Application Support/com.outofthebit.fullvoid//data/*.dat": + - os: linux + store: steam + "/Library/Application Support/com.outofthebit.fullvoid/data/*.dat": when: - os: mac store: steam @@ -244318,7 +244145,7 @@ Future Perfect: id: 282370 Future Pool: files: - "//Bank.txt": + "/Bank.txt": when: - os: windows store: steam @@ -244355,7 +244182,7 @@ Future Simulation World: id: 1159350 Future Snooker: files: - "//Bank.txt": + "/Bank.txt": when: - os: windows store: steam @@ -244436,18 +244263,10 @@ Futuretech Space Combat Academy: id: 863300 Futuridium EP Deluxe: files: - "/AppData/LocalLow//MixedBag Srl/Futuridium EP Deluxe/AdvancedPlayerPrefs.txt": - when: - - os: windows - store: steam "/AppData/LocalLow/MixedBag Srl/Futuridium EP Deluxe/AdvancedPlayerPrefs.txt": when: - os: windows store: steam - "/Library/Application Support//MixedBag Srl/Futuridium EP Deluxe/AdvancedPlayerPrefs.txt": - when: - - os: mac - store: steam "/Library/Application Support/MixedBag Srl/Futuridium EP Deluxe/AdvancedPlayerPrefs.txt": when: - os: mac @@ -244964,11 +244783,11 @@ GIBZ: "/AppData/LocalLow/Ginever Entertainment/GIF HD/savedata//*.sav": when: - store: steam - "/Library/Application Support//Ginever Entertainment/GIF HD/savedata//*.sav": + "/Library/Application Support/Ginever Entertainment/GIF HD/savedata//*.sav": when: - os: mac store: steam - "/unity3d//Ginever Entertainment/GIF HD/savedata//*.sav": + "/unity3d/Ginever Entertainment/GIF HD/savedata//*.sav": when: - os: linux store: steam @@ -245831,13 +245650,11 @@ Gabbuchi: id: 1069970 Gabe Newell Simulator 2.0: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam id: steamExtra: - 480580 @@ -248293,7 +248110,7 @@ Game Tycoon 1.5: id: 273770 Game Tycoon 2: files: - "//*.gt2s": + "/*.gt2s": when: - store: steam installDir: @@ -248674,7 +248491,7 @@ Gamepad Massage: "/saves": when: - store: steam - "/AppData/Roaming/cyan_potion_saves/GamepadMassageGui/*": + "/AppData/Roaming/cyan_potion_saves/GamepadMassageGui": when: - os: linux store: steam @@ -249057,7 +248874,7 @@ Gangsta Woman: id: 1108620 Gangsters 1920: files: - "//*.xml": + "/*.xml": when: - os: windows store: steam @@ -250366,7 +250183,7 @@ Gaze At Maze: id: 861210 Gazillionaire: files: - "/Library/Preferences/Gazillionaire/Local/ Store//#SharedObjects/Gazillionaire.swf/**/*.sol": + "/Library/Preferences/Gazillionaire/Local/ Store/#SharedObjects/Gazillionaire.swf/**/*.sol": when: - os: mac store: steam @@ -250452,11 +250269,11 @@ Gear Gauntlet: id: 486890 Gear Path: files: - "/.local/share/GearPath/*": + "/.local/share/GearPath": when: - os: linux store: steam - "/Library/Application Support/GearPath/*": + "/Library/Application Support/GearPath": when: - os: mac store: steam @@ -251285,7 +251102,7 @@ Gems of the Aztecs: id: 429280 Gemstone Keeper: files: - "//*.dat": + "/*.dat": when: - store: steam installDir: @@ -255651,7 +255468,7 @@ Gladiator School: id: 556860 Gladiator Trainer: files: - "//*.rvdata2": + "/*.rvdata2": when: - store: steam installDir: @@ -256168,14 +255985,14 @@ Glitch Simulator 2018: id: 610250 Glitchangels: files: - "/Library/Application Support/Glitchangels/*": + "/Library/Application Support/Glitchangels": when: - os: mac store: steam "/SavedGames/Glitchangels": when: - store: steam - "/Glitchangels/*": + "/Glitchangels": when: - os: linux store: steam @@ -256239,7 +256056,7 @@ Glitchbuster: "/AppData/LocalLow/Silverstring Media/Glitchhikers The Spaces Between/*.txt": when: - store: steam - "/Library/Application Support//Silverstring Media/Glitchhikers The Spaces Between/*.txt": + "/Library/Application Support/Silverstring Media/Glitchhikers The Spaces Between/*.txt": when: - os: mac store: steam @@ -256589,7 +256406,7 @@ Globesweeper: "/AppData/LocalLow/IncandescentGames/Globesweeper/*.dat": when: - store: steam - "/Library/Application Support//IncandescentGames/Globesweeper/*.dat": + "/Library/Application Support/IncandescentGames/Globesweeper/*.dat": when: - os: mac store: steam @@ -258175,11 +257992,11 @@ Goblin and Coins: id: 551580 Goblin and Coins II: files: - "/.config//gnc2/./breadcrumb.264": + "/.config/gnc2/./breadcrumb.264": when: - os: linux store: steam - "/.config//gnc2/./settings.ini": + "/.config/gnc2/./settings.ini": when: - os: linux store: steam @@ -259122,21 +258939,17 @@ Godus Wars: id: 422420 Godzilla Voxel Wars: files: - "/AppData/LocalLow//nukenin/voxelgodzilla/*.sav": - when: - - os: windows - store: steam "/AppData/LocalLow/nukenin/voxelgodzilla/*.sav": when: - store: steam - "/Library/Application Support//nukenin/voxelgodzilla/*.sav": - when: - - os: mac + - os: windows store: steam "/Library/Application Support/nukenin/voxelgodzilla/*.sav": when: - store: steam - "//nukenin/voxelgodzilla/*.sav": + - os: mac + store: steam + "/nukenin/voxelgodzilla/*.sav": when: - os: linux store: steam @@ -260676,14 +260489,14 @@ Gonner: id: 437570 Gonner2: files: - "//Art in Heart/GONNER2/**/*.sav": - when: - - os: linux - store: steam "/AppData/LocalLow/Art in Heart/GONNER2/**/*.sav": when: - store: steam - "/Library/Application Support//Art in Heart/GONNER2/**/*.sav": + "/Art in Heart/GONNER2/**/*.sav": + when: + - os: linux + store: steam + "/Library/Application Support/Art in Heart/GONNER2/**/*.sav": when: - os: mac store: steam @@ -263885,7 +263698,7 @@ Gravitas: id: 275290 Graviton: files: - "/Library/Application Support//Stencyl/Graviton/*.sol": + "/Library/Application Support/Stencyl/Graviton/*.sol": when: - os: mac store: steam @@ -263945,7 +263758,7 @@ Gravity Ace: "/.local/share/godot/app_userdata/Gravity": when: - store: steam - "/Godot/app_userdata/Gravity/*": + "/Godot/app_userdata/Gravity": when: - os: windows store: steam @@ -264609,14 +264422,12 @@ Grayland: id: 297190 "Graywalkers: Purgatory": files: - "/.local/share//Dreamlords Digital/GwP/SavedGames": - when: - - os: linux - store: steam - "//.local/share//Dreamlords Digital/GwP/SavedGames": + "/.local/share/Dreamlords Digital/GwP/SavedGames": when: - os: mac store: steam + - os: linux + store: steam "/Dreamlords Digital/GwP/SavedGames": when: - store: steam @@ -265643,7 +265454,7 @@ Grey Zone: id: 1146360 Greyfox: files: - "//*.rvdata2": + "/*.rvdata2": when: - store: steam installDir: @@ -267431,7 +267242,7 @@ Growing Pains: id: 291610 Growing Up: files: - "/Library/Application Support/Vile Monarch/Growing Up/Save/*": + "/Library/Application Support/Vile Monarch/Growing Up/Save": when: - os: mac store: steam @@ -267906,13 +267717,11 @@ Guardians of Graxia: id: 90500 Guardians of Hyelore: files: - "/AppData/LocalLow//Megaglope Studios/GoH/*.es3": - when: - - os: windows - store: steam "/AppData/LocalLow/Megaglope Studios/GoH/*.es3": when: - store: steam + - os: windows + store: steam id: steamExtra: - 1588020 @@ -268506,14 +268315,6 @@ Guilty Parade: when: - os: linux store: steam - "/.renpy/GuiltyParade/*": - when: - - os: linux - store: steam - "//Library/RenPy/GuiltyParade/*": - when: - - os: mac - store: steam "/Library/RenPy/GuiltyParade": when: - os: mac @@ -269503,7 +269304,7 @@ Gunman Tales: id: 760320 Gunmetal Arcadia: files: - "/Library/Application Support/Minor Key Games/Gunmetal Arcadia/Saves/*": + "/Library/Application Support/Minor Key Games/Gunmetal Arcadia/Saves": when: - os: mac store: steam @@ -269511,7 +269312,7 @@ Gunmetal Arcadia: when: - os: windows store: steam - "/Minor Key Games/Gunmetal Arcadia/Saves/*": + "/Minor Key Games/Gunmetal Arcadia/Saves": when: - os: linux store: steam @@ -270987,13 +270788,11 @@ HARP Vefa: id: 646430 "HBDIE: The Nonce 2": files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam id: steamExtra: - 2097560 @@ -271548,7 +271347,7 @@ HYPERFIGHT Max Battle: when: - os: linux store: steam - "/Library/Application Support//My Games/Hypernova/SaveGames/*.save": + "/Library/Application Support/My Games/Hypernova/SaveGames/*.save": when: - os: mac store: steam @@ -272643,18 +272442,10 @@ Half Dead 2: id: 914260 Half Past Disaster: files: - "/AppData/LocalLow//GoldenAgeCreative/**/*.dat": - when: - - os: windows - store: steam "/AppData/LocalLow/GoldenAgeCreative/**/*.dat": when: - os: windows store: steam - "/Library/Application Support//GoldenAgeCreative/**/*.dat": - when: - - os: mac - store: steam "/Library/Application Support/GoldenAgeCreative/**/*.dat": when: - os: mac @@ -273689,7 +273480,7 @@ Hallucination - 幻觉: "/AppData/LocalLow/ScorchedHeaven/hallucination": when: - store: steam - "/Library/Application Support/unity.ScorchedHeaven.hallucination/*": + "/Library/Application Support/unity.ScorchedHeaven.hallucination": when: - os: mac store: steam @@ -276011,7 +275802,7 @@ Hardware Engineers: id: 485900 Hardway Party: files: - "//progress": + "/progress": when: - store: steam installDir: @@ -278642,22 +278433,22 @@ Heart&Slash: when: - os: windows store: steam - "//.config/unity3d/aheartfulofgames/heartnslash/**/*.brw": + "/.config/unity3d/aheartfulofgames/heartnslash/**/*.brw": when: - os: linux store: steam - "//aheartfulofgames/HeartnSlash/**/*.brw": + "/AppData/LocalLow/.config/unity3d/aheartfulofgames/heartnslash/**/*.brw": + when: + - os: windows + store: steam + "/AppData/LocalLow/aheartfulofgames/HeartnSlash/**/*.brw": + when: + - os: windows + store: steam + "/aheartfulofgames/HeartnSlash/**/*.brw": when: - os: linux store: steam - "/AppData/LocalLow//.config/unity3d/aheartfulofgames/heartnslash/**/*.brw": - when: - - os: windows - store: steam - "/AppData/LocalLow//aheartfulofgames/HeartnSlash/**/*.brw": - when: - - os: windows - store: steam id: steamExtra: - 469740 @@ -278778,21 +278569,19 @@ Heart. Papers. Border.: id: 604110 "HeartZ: Co-Hope Puzzles": files: - "/.config/unity3d//Upper Byte/HeartZ/Slot*": + "/.config/unity3d/Upper Byte/HeartZ/Slot*": when: - os: linux store: steam - "/Library/Application Support//Upper Byte/HeartZ/Slot*": + "/Library/Application Support/Upper Byte/HeartZ/Slot*": when: - os: mac store: steam - "//Upper Byte/HeartZ/Slot*": - when: - - os: windows - store: steam "/Upper Byte/HeartZ/Slot*": when: - store: steam + - os: windows + store: steam installDir: HeartZ: {} launch: @@ -279609,7 +279398,7 @@ Heavy Burger: "/AppData/LocalLow/Flying Tiger Entertainment/Heavy Burger/*.save": when: - store: steam - "/Library/Application Support/Flying Tiger Entertainment/Heavy Burger//*.save": + "/Library/Application Support/Flying Tiger Entertainment/Heavy Burger/*.save": when: - os: mac store: steam @@ -281336,26 +281125,22 @@ Hellenica: id: 540690 Hellfire: files: - "//SavedGames//Hellfire 2P/": - when: - - os: mac - store: steam - "//SavedGames//Hellfire/": - when: - - os: mac - store: steam "/Saved Games/Hellfire 2P/": when: - store: steam "/Saved Games/Hellfire/": when: - store: steam - "/SavedGames//Hellfire 2P/": + "/SavedGames/Hellfire 2P/": when: + - os: mac + store: steam - os: linux store: steam - "/SavedGames//Hellfire/": + "/SavedGames/Hellfire/": when: + - os: mac + store: steam - os: linux store: steam installDir: @@ -282607,11 +282392,11 @@ Hentai Girl Betty: "/HentaiGirlBetty_Data/Save": when: - store: steam - "/HentaiGirlHime.app/Contents/Save/*": + "/HentaiGirlHime.app/Contents/Save": when: - os: mac store: steam - "/HentaiGirlHime_Data/Save/*": + "/HentaiGirlHime_Data/Save": when: - os: windows store: steam @@ -283088,10 +282873,6 @@ Hentai Neighbors: id: 946090 Hentai Nekogirl: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - os: windows @@ -283277,10 +283058,6 @@ Hentai Sexy Girl: id: 1000270 Hentai Shiri: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - os: windows @@ -287027,7 +286804,7 @@ Hexelectric: "/AppData/LocalLow/WayWay/Hexelectric/*.pgs": when: - store: steam - "/Library/Application Support/WayWay/Hexelectric//*.pgs": + "/Library/Application Support/WayWay/Hexelectric/*.pgs": when: - os: mac store: steam @@ -287475,15 +287252,13 @@ HiPanda: id: 804560 Hibi Kake Iro no Kiseki: files: - "/Game.app/Contents/Resources/app.nw/save//*": + "/Game.app/Contents/Resources/app.nw/save": when: - os: mac store: steam "/www/save": when: - store: steam - "/www/save/*": - when: - os: windows store: steam - os: linux @@ -288271,7 +288046,7 @@ Hidden through Time: id: 352580 Hide & Hold Out - H2o: files: - "//*.json": + "/*.json": when: - store: steam installDir: @@ -291305,7 +291080,7 @@ Hocus 2: "/AppData/LocalLow/gamebrain/hocus2/*.txt": when: - store: steam - "/Library/Application Support//gamebrain/hocus2/*.txt": + "/Library/Application Support/gamebrain/hocus2/*.txt": when: - os: mac store: steam @@ -292253,11 +292028,11 @@ Holy Potatoes! A Weapon Shop?!: id: 505730 Holy Potatoes! What the Hell?!: files: - "/.local/share//Daedalic Entertainment GmbH/HPWTH/*.txt": + "/.local/share/Daedalic Entertainment GmbH/HPWTH/*.txt": when: - os: linux store: steam - "/Library/Application Support//Daedalic Entertainment GmbH/HPWTH/*.txt": + "/Library/Application Support/Daedalic Entertainment GmbH/HPWTH/*.txt": when: - os: mac store: steam @@ -292431,7 +292206,7 @@ Home Darkness - Escape: id: 761640 Home Deco Puzzles: files: - "//*.dat": + "/*.dat": when: - store: steam installDir: @@ -293609,14 +293384,6 @@ Hope is in 23: id: 724950 Hope of Humanity: files: - "//saves/*.json": - when: - - os: windows - store: steam - "//saves/player/*.json": - when: - - os: windows - store: steam "/saves/*.json": when: - os: windows @@ -293643,7 +293410,7 @@ Hope of Humanity: "/SavesDir/*.sav": when: - store: steam - "/.config/unity3d/Green Sauce Games/Hope's Farm//*.sav": + "/.config/unity3d/Green Sauce Games/Hope's Farm/*.sav": when: - os: linux store: steam @@ -296430,7 +296197,7 @@ How To Hack In?: "/How To Hack In_Data/HTHI_UserData": when: - store: steam - "/howtohackin_Data/HTHI_UserData/*": + "/howtohackin_Data/HTHI_UserData": when: - os: linux store: steam @@ -298379,13 +298146,11 @@ Hunted Gods: id: 663970 "Hunted: One Step Too Far": files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: Hunted One Step Too Far: {} launch: @@ -300263,7 +300028,7 @@ Hyphen: id: 346510 Hypnocult: files: - "/Library/Application Support/increpare/hypnocult/*": + "/Library/Application Support/increpare/hypnocult": when: - os: mac store: steam @@ -301743,15 +301508,13 @@ I ♥ You!: id: 920810 "I'm Awesome": files: - "//SavesDir/**/*.sav": + "/SavesDir/**/*.sav": when: + - store: steam - os: windows store: steam - os: mac store: steam - "/SavesDir/**/*.sav": - when: - - store: steam installDir: "I'm Awesome": {} launch: @@ -302200,7 +301963,7 @@ ICE AGENT: "/AppData/LocalLow/Games Of Edan/Icebox/Data/Saves/*.txt": when: - store: steam - "/Library/Application Support//Games Of Edan/Icebox/Data/Saves/*.txt": + "/Library/Application Support/Games Of Edan/Icebox/Data/Saves/*.txt": when: - os: mac store: steam @@ -302622,14 +302385,14 @@ IMM Defense 2: id: 1221510 IMMURE: files: - "/.config/unity3d/Wither Studios LLC/Immure/Profiles/Profiles/*": + "/.config/unity3d/Wither Studios LLC/Immure/Profiles/Profiles": when: - os: linux store: steam "/AppData/LocalLow/Wither Studios LLC/Immure/Profiles": when: - store: steam - "/Library/Application Support/Wither Studios LLC/Immure/Profiles/Profiles/*": + "/Library/Application Support/Wither Studios LLC/Immure/Profiles/Profiles": when: - os: mac store: steam @@ -302685,7 +302448,7 @@ IN GAME: id: 1034830 IN-VERT: files: - "/.config/IN_VERT/*": + "/.config/IN_VERT": when: - os: linux store: steam @@ -302716,7 +302479,7 @@ INFECTIS: "/AppData/LocalLow/Aegon Games Ltd/INFECTIS/*.json": when: - store: steam - "/Library/Application Support//Aegon Games Ltd/INFECTIS/*.json": + "/Library/Application Support/Aegon Games Ltd/INFECTIS/*.json": when: - os: mac store: steam @@ -303777,7 +303540,7 @@ Idioctopus: "/./IdioctopusSaveFile.xml": when: - store: steam - "/Idioctopus.app/Contents/Resources//./IdioctopusSaveFile.xml": + "/Idioctopus.app/Contents/Resources/./IdioctopusSaveFile.xml": when: - os: mac store: steam @@ -304005,13 +303768,11 @@ Idle Guardians: id: 1073860 Idle Heist: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: Idle Heist: {} launch: @@ -306806,7 +306567,7 @@ In Passing: id: 1172090 In Retrospect: files: - "//*.dat": + "/*.dat": when: - os: windows store: steam @@ -307795,7 +307556,7 @@ IncrediMarble: id: 1488100 "Incredible Dracula 3: Family Secret": files: - "/Library/Application Support//AlawarEntertainment/New Bridge Games/IncredibleDracula3FamilySecretCE": + "/Library/Application Support/AlawarEntertainment/New Bridge Games/IncredibleDracula3FamilySecretCE": when: - os: mac store: steam @@ -307817,7 +307578,7 @@ IncrediMarble: id: 1087940 "Incredible Dracula 4: Games of Gods": files: - "/Library/Application Support//AlawarEntertainment/New Bridge Games/IncredibleDracula4GamesOfGodsCE": + "/Library/Application Support/AlawarEntertainment/New Bridge Games/IncredibleDracula4GamesOfGodsCE": when: - os: mac store: steam @@ -308531,14 +308292,14 @@ Indoor Rock Climbing VR: id: 767330 Indoorlands: files: - "/.config/unity3d/Pixelsplit/Indoorlands/*": + "/.config/unity3d/Pixelsplit/Indoorlands": when: - os: linux store: steam "/AppData/LocalLow/Pixelsplit/Indoorlands": when: - store: steam - "/Library/Application Support/Pixelsplit/Indoorlands/*": + "/Library/Application Support/Pixelsplit/Indoorlands": when: - os: mac store: steam @@ -309052,7 +308813,7 @@ Infecto: id: 269310 Infektor: files: - "/Library/Application Support//Infektor": + "/Library/Application Support/Infektor": when: - os: mac store: steam @@ -309583,7 +309344,7 @@ InfinitasDM: "/AppData/LocalLow/Atom Switch, Inc_/InfinitasDM/*.db": when: - store: steam - "/Library/Application Support/Atom Switch, Inc_/InfinitasDM//Atom Switch, Inc_/InfinitasDM/*.db": + "/Library/Application Support/Atom Switch, Inc_/InfinitasDM/Atom Switch, Inc_/InfinitasDM/*.db": when: - os: mac store: steam @@ -310859,7 +310620,7 @@ Inmost: id: 905870 Innchanted: files: - "//DragonBear Studios/Innchanted/saves/*.inn": + "/DragonBear Studios/Innchanted/saves/*.inn": when: - os: linux store: steam @@ -311916,7 +311677,7 @@ Instinct (2018): when: - os: mac store: steam - "/%USERPROFILE%/AppData/Roaming/RenPy/Instinct-1523731438/*.save": + "//RenPy/Instinct-1523731438/*.save": when: - os: windows store: steam @@ -312212,7 +311973,7 @@ Intelligence Trader: id: 957930 "Intelligent Design: An Evolutionary Sandbox": files: - "/.config/unity3d/Pill Bug Interactive/Intelligent Design_ An Evolutionary Sandbox/*": + "/.config/unity3d/Pill Bug Interactive/Intelligent Design_ An Evolutionary Sandbox": when: - os: linux store: steam @@ -312222,15 +311983,15 @@ Intelligence Trader: "/AppData/LocalLow/Pill Bug Interactive/intelligentdesign": when: - store: steam - "/Library/Application Support/Pill Bug Interactive/intelligentdesign/*": + "/Library/Application Support/Pill Bug Interactive/intelligentdesign": when: - os: mac store: steam - "/Library/Application Support/unity.PillBugInteractive.IntelligentDesign/*": + "/Library/Application Support/unity.PillBugInteractive.IntelligentDesign": when: - os: mac store: steam - "/Pill Bug Interactive/intelligentdesign/*": + "/Pill Bug Interactive/intelligentdesign": when: - os: linux store: steam @@ -312259,11 +312020,11 @@ Intelligence Trader: id: 627620 Intensive Exposure: files: - "/Library/Application Support//AmJam/**/*.fgd": + "/Library/Application Support/AmJam/**/*.fgd": when: - os: mac store: steam - "/Library/Application Support//AmJam/**/*.sav": + "/Library/Application Support/AmJam/**/*.sav": when: - os: mac store: steam @@ -313165,18 +312926,18 @@ Into Blue Valley: id: 334980 Into Oblivion: files: - "//*.bin": + "/*.bin": when: - store: steam - "/.local/share/godot/app_userdata/Into Oblivion///*.bin": + "/.local/share/godot/app_userdata/Into Oblivion/*.bin": when: - os: linux store: steam - "/Library/Application Support/Godot/app_userdata/Into Oblivion///*.bin": + "/Library/Application Support/Godot/app_userdata/Into Oblivion/*.bin": when: - os: mac store: steam - "/Godot/app_userdata/Into Oblivion//*.bin": + "/Godot/app_userdata/Into Oblivion/*.bin": when: - os: windows store: steam @@ -314244,7 +314005,7 @@ Invisigun Reloaded: store: steam - os: linux store: steam - "/Library/Application Support/Sombr Studio/Invisigun Reloaded/*": + "/Library/Application Support/Sombr Studio/Invisigun Reloaded": when: - os: mac store: steam @@ -314255,7 +314016,7 @@ Invisigun Reloaded: "/Invisigun Reloaded": when: - store: steam - "/unity3d/Sombr Studio/Invisigun Reloaded/*": + "/unity3d/Sombr Studio/Invisigun Reloaded": when: - os: linux store: steam @@ -316364,7 +316125,7 @@ Isonzo: "/AppData/LocalLow/WW1 Game Series/Isonzo/Steam//SaveData_User.dat*": when: - store: steam - "/Library/Application Support//WW1 Game Series/Isonzo/Steam//SaveData_User.dat*": + "/Library/Application Support/WW1 Game Series/Isonzo/Steam//SaveData_User.dat*": when: - os: mac store: steam @@ -316391,7 +316152,7 @@ Isonzo: id: 1556790 Isotiles: files: - "/Library/Application Support//Stencyl/Isotiles/*.sol": + "/Library/Application Support/Stencyl/Isotiles/*.sol": when: - os: mac store: steam @@ -316413,7 +316174,7 @@ Isotiles: id: 654440 Isotiles 2: files: - "/Library/Application Support//Stencyl/Isotiles 2/*.sol": + "/Library/Application Support/Stencyl/Isotiles 2/*.sol": when: - os: mac store: steam @@ -317807,7 +317568,7 @@ Jack: "/AppData/LocalLow/orangutanmatter/Unleaving": when: - store: steam - "/Library/Application Support//orangutanmatter/Unleaving": + "/Library/Application Support/orangutanmatter/Unleaving": when: - os: mac store: steam @@ -317853,7 +317614,7 @@ Jack Axe: id: 985780 Jack B. Nimble: files: - "/Library/Application Support/JackB.Nimble/*": + "/Library/Application Support/JackB.Nimble": when: - os: mac store: steam @@ -319010,7 +318771,7 @@ Jamsouls: when: - os: linux store: steam - "//Library/Containers/com.BitwiseReprise.Jane/Data/Library/Application Support/BitwiseReprise/JaneGame/user/*.*": + "/Library/Containers/com.BitwiseReprise.Jane/Data/Library/Application Support/BitwiseReprise/JaneGame/user/*.*": when: - os: mac store: steam @@ -319383,14 +319144,14 @@ Jarheads: id: 661250 Jars: files: - "/Library/Application Support//Daedalic Entertainment GmbH/Jars/GAMESAVE.json": + "/Library/Application Support/Daedalic Entertainment GmbH/Jars/GAMESAVE.json": when: - os: mac store: steam "/Daedalic Entertainment GmbH/Jars/GAMESAVE.json": when: - store: steam - "//Daedalic Entertainment GmbH/Jars/GAMESAVE.json": + "/Daedalic Entertainment GmbH/Jars/GAMESAVE.json": when: - os: linux store: steam @@ -319723,13 +319484,11 @@ Jelly Bomber: id: 828270 Jelly Escape: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: Jelly Escape: {} launch: @@ -320453,15 +320212,15 @@ Jetstream: when: - os: linux store: steam - "/Library/Application Support//Clockwork Acorn/Jetstream/storage.achievements.sol": + "/Library/Application Support/Clockwork Acorn/Jetstream/storage.achievements.sol": when: - os: mac store: steam - "/Library/Application Support//Clockwork Acorn/Jetstream/storage.progress.sol": + "/Library/Application Support/Clockwork Acorn/Jetstream/storage.progress.sol": when: - os: mac store: steam - "/Library/Application Support//Clockwork Acorn/Jetstream/storage.stats.sol": + "/Library/Application Support/Clockwork Acorn/Jetstream/storage.stats.sol": when: - os: mac store: steam @@ -323276,7 +323035,7 @@ Jumphobia XL: "/Library/Application Support/Wix Games/Jumphobia Homeward Bound": when: - store: steam - "/Packages/Jumphobia Homeward Bound/LocalState/*": + "/Packages/Jumphobia Homeward Bound/LocalState": when: - os: windows store: steam @@ -325605,7 +325364,7 @@ Kakuro: id: 1109740 Kakusankibou: files: - "//*.rxdata": + "/*.rxdata": when: - store: steam installDir: @@ -329283,14 +329042,14 @@ Killer Bean: id: 1597080 Killer Chambers: files: - "//*.kc": + "/*.kc": when: - store: steam - "/.local/share/KillerChambers//*.kc": + "/.local/share/KillerChambers/*.kc": when: - os: linux store: steam - "/KillerChambers//*.kc": + "/KillerChambers/*.kc": when: - os: windows store: steam @@ -329798,7 +329557,7 @@ Kimmy: "/AppData/LocalLow/Cibele Productions LLC/Kimmy/**/*.json": when: - store: steam - "/Library/Application Support//Cibele Productions LLC/Kimmy/**/*.json": + "/Library/Application Support/Cibele Productions LLC/Kimmy/**/*.json": when: - os: mac store: steam @@ -330319,10 +330078,6 @@ King of Bali: id: 517470 King of Crabs: files: - "//SavesDir/**/*.sav": - when: - - os: mac - store: steam "/SavesDir/**/*.sav": when: - store: steam @@ -332903,14 +332658,14 @@ Kitten Life Simulator: id: 829390 Kitten Lost Her Box: files: - "/Library/Application Support//SavedGames/TinyCat/*.sav": + "/Library/Application Support/SavedGames/TinyCat/*.sav": when: - os: mac store: steam "/SavedGames/TinyCat/*.sav": when: - store: steam - "//SavedGames/TinyCat/*.sav": + "/SavedGames/TinyCat/*.sav": when: - os: linux store: steam @@ -333400,14 +333155,14 @@ Knife Only: id: 1053720 Knife Sisters: files: - "/.config/unity3d/Transcenders Media/Knife Sisters/SaveFiles/*": + "/.config/unity3d/Transcenders Media/Knife Sisters/SaveFiles": when: - os: linux store: steam "/AppData/LocalLow/Transcenders Media/Knife Sisters/SaveFiles": when: - store: steam - "/Library/Application Support/Transcenders Media/Knife Sisters/SaveFiles/*": + "/Library/Application Support/Transcenders Media/Knife Sisters/SaveFiles": when: - os: mac store: steam @@ -333887,7 +333642,7 @@ Knights Rubbish: when: - os: linux store: steam - "/Library/Application Support//godot/app_userdata/Knights Rubbish/*.save": + "/Library/Application Support/godot/app_userdata/Knights Rubbish/*.save": when: - os: mac store: steam @@ -334903,7 +334658,7 @@ Koi-Koi Japan: "/_save/KoikoiSavdat.dat": when: - store: steam - "/Library/Application Support/unity.ZooCorporation.Koi-Koi Japan//_save/KoikoiSavdat.dat": + "/Library/Application Support/unity.ZooCorporation.Koi-Koi Japan/_save/KoikoiSavdat.dat": when: - os: mac store: steam @@ -335021,11 +334776,11 @@ Kokomando: - os: windows Kokorogawari: files: - "/.renpy/Kokorogawari/*": + "/.renpy/Kokorogawari": when: - os: linux store: steam - "//Library/RenPy/Kokorogawari/*": + "/Library/RenPy/Kokorogawari": when: - os: mac store: steam @@ -336502,11 +336257,11 @@ Kunai: "/AppData/LocalLow/TurtleBlaze/KUNAI/*.data": when: - store: steam - "/Library/Application Support//TurtleBlaze/KUNAI/*.data": + "/Library/Application Support/TurtleBlaze/KUNAI/*.data": when: - os: mac store: steam - "/unity3d//TurtleBlaze/KUNAI/*.data": + "/unity3d/TurtleBlaze/KUNAI/*.data": when: - os: linux store: steam @@ -336776,17 +336531,15 @@ Kuraburo Kai: id: 500760 Kuro Survival: files: - "//SavesDir/*.sav": + "/SavesDir/*.sav": when: + - store: steam - os: windows store: steam - os: mac store: steam - os: linux store: steam - "/SavesDir/*.sav": - when: - - store: steam installDir: Kuro survival: {} launch: @@ -337246,7 +336999,7 @@ L.A. Street Racing: - os: windows L.S.S: files: - "//*.dll": + "/*.dll": when: - os: windows store: steam @@ -337460,11 +337213,11 @@ LGBT Battlegrounds: id: 874100 "LIT: Lux in Tenebris": files: - "/.config/unity3d//CopperGlass/LIT": + "/.config/unity3d/CopperGlass/LIT": when: - os: linux store: steam - "/.config/unity3d//CopperGlass/LIT/Solutions/*.jpg": + "/.config/unity3d/CopperGlass/LIT/Solutions/*.jpg": when: - os: linux store: steam @@ -337474,11 +337227,11 @@ LGBT Battlegrounds: "/AppData/LocalLow/CopperGlass/LIT/Solutions/*.jpg": when: - store: steam - "/Library/Application Support//CopperGlass/LIT": + "/Library/Application Support/CopperGlass/LIT": when: - os: mac store: steam - "/Library/Application Support//CopperGlass/LIT/Solutions/*.jpg": + "/Library/Application Support/CopperGlass/LIT/Solutions/*.jpg": when: - os: mac store: steam @@ -338565,7 +338318,7 @@ Labyronia: id: 391260 Labyronia 2: files: - "//*.rvdata2": + "/*.rvdata2": when: - store: steam installDir: @@ -338651,7 +338404,7 @@ Lacuna Passage: id: 252090 Ladderhead: files: - "/Library/Application Support//Ladderhead/Documents/save.ladderhead": + "/Library/Application Support/Ladderhead/Documents/save.ladderhead": when: - os: mac store: steam @@ -339545,11 +339298,11 @@ Landmine Larry: id: 535240 Landnama: files: - "/.local/share//landnama/*.bin": + "/.local/share/landnama/*.bin": when: - os: linux store: steam - "/Library/Application Support//landnama/*.bin": + "/Library/Application Support/landnama/*.bin": when: - os: mac store: steam @@ -342180,11 +341933,11 @@ Lazerbait: id: 848740 Lazors: files: - "/.config//Lazors/progress.sav": + "/.config/Lazors/progress.sav": when: - os: linux store: steam - "/Library/Application Support//Lazors/progress.sav": + "/Library/Application Support/Lazors/progress.sav": when: - os: mac store: steam @@ -342639,17 +342392,15 @@ Leap 2: id: 772230 Leap Up no jutsu: files: - "//SavesDir/*.sav": + "/SavesDir/*.sav": when: + - store: steam - os: windows store: steam - os: mac store: steam - os: linux store: steam - "/SavesDir/*.sav": - when: - - store: steam installDir: LeapUp: {} launch: @@ -342751,21 +342502,17 @@ Learn Japanese To Survive! Katakana War: id: 554600 Learn Japanese to Survive! Kanji Combat: files: - "//KanjiCombat.app/Contents/Resources/app.nw/save": - when: - - os: windows - store: steam - "//www/save": - when: - - os: windows - store: steam "/KanjiCombat.app/Contents/Resources/app.nw/save": when: + - os: windows + store: steam - os: mac store: steam "/www/save": when: - store: steam + - os: windows + store: steam installDir: Learn Japanese To Survive! Kanji Combat: {} launch: @@ -343518,7 +343265,7 @@ Legend (1994): id: 412380 Legend Bowl: files: - "/./config/legend_bowl/data/*": + "/./config/legend_bowl/data": when: - os: linux store: steam @@ -343681,11 +343428,11 @@ Legend of Egypt - Pharaohs Garden: id: 715320 Legend of Everything: files: - "/.renpy/LegendofEverything-1555090331/*": + "/.renpy/LegendofEverything-1555090331": when: - os: linux store: steam - "/Library/RenPy/LegendofEverything-1555090331/*": + "/Library/RenPy/LegendofEverything-1555090331": when: - os: mac store: steam @@ -344607,15 +344354,15 @@ Legends of Persia: id: 301220 Legends of Pixelia: files: - "/.config/unity3d/SimaGames/Legends of Pixelia/gamepads/*": + "/.config/unity3d/SimaGames/Legends of Pixelia/gamepads": when: - os: linux store: steam - "/.config/unity3d/SimaGames/Legends of Pixelia/options/*": + "/.config/unity3d/SimaGames/Legends of Pixelia/options": when: - os: linux store: steam - "/.config/unity3d/SimaGames/Legends of Pixelia/save/*": + "/.config/unity3d/SimaGames/Legends of Pixelia/save": when: - os: linux store: steam @@ -344628,15 +344375,15 @@ Legends of Pixelia: "/AppData/LocalLow/SimaGames/Legends of Pixelia/save": when: - store: steam - "/Library/Application Support/unity.SimaGames.Legends of Pixelia/gamepads/*": + "/Library/Application Support/unity.SimaGames.Legends of Pixelia/gamepads": when: - os: mac store: steam - "/Library/Application Support/unity.SimaGames.Legends of Pixelia/options/*": + "/Library/Application Support/unity.SimaGames.Legends of Pixelia/options": when: - os: mac store: steam - "/Library/Application Support/unity.SimaGames.Legends of Pixelia/save/*": + "/Library/Application Support/unity.SimaGames.Legends of Pixelia/save": when: - os: mac store: steam @@ -346478,7 +346225,7 @@ Lemurzin: "/AppData/LocalLow/Flow Studio/Len's Island/Steam/": when: - store: steam - "/Library/Application Support/com.FlowStudio.LensIsland/Steam//*": + "/Library/Application Support/com.FlowStudio.LensIsland/Steam/": when: - os: mac store: steam @@ -347549,13 +347296,11 @@ Lethal Running: id: 951170 Lethal Strike: files: - "//SavesDir/*.sav": - when: - - os: windows - store: steam "/SavesDir/*.sav": when: - store: steam + - os: windows + store: steam installDir: LETHAL STRIKE: {} launch: @@ -348271,7 +348016,7 @@ Liberté: "/AppData/LocalLow/Superstatic/Liberte/Save": when: - store: steam - "/deck/.local/share/Steam/steamapps/compatdata/1590160/pfx/dosdevices/c:/users/steamuser/AppData/LocalLow/Superstatic/Liberte/Save//*": + "/deck/.local/share/Steam/steamapps/compatdata/1590160/pfx/dosdevices/c:/users/steamuser/AppData/LocalLow/Superstatic/Liberte/Save": when: - os: linux store: steam @@ -348400,7 +348145,7 @@ Lichtspeer: "/AppData/LocalLow/Crunching Koalas/LichtspeerDSE/*.dat": when: - store: steam - "/Library/Application Support/Crunching Koalas/LichtspeerDSE//*.dat": + "/Library/Application Support/Crunching Koalas/LichtspeerDSE/*.dat": when: - os: mac store: steam @@ -350438,7 +350183,7 @@ LilPizzaBois: "/AppData/LocalLow/Skullfish/Lila's Tale and the Hidden Forest": when: - store: steam - "/Library/Application Support//Skullfish/Lila's Tale and the Hidden Forest": + "/Library/Application Support/Skullfish/Lila's Tale and the Hidden Forest": when: - os: mac store: steam @@ -354876,7 +354621,7 @@ Looping Bravery: "/AppData/LocalLow/Purisic Games/Looping Bravery": when: - store: steam - "/Library/Application Support/Purisic Games/Looping Bravery/*": + "/Library/Application Support/Purisic Games/Looping Bravery": when: - os: mac store: steam @@ -355009,7 +354754,7 @@ Loot Hound: when: - os: windows store: steam - "/Library/Application Support//Rhizome Games/Loot Hound": + "/Library/Application Support/Rhizome Games/Loot Hound": when: - os: mac store: steam @@ -358787,10 +358532,6 @@ LoveSick Darlings: id: 1151410 Lovecraft Quest - A Comix Game: files: - "%USERPROFILE%/.prefs/*.sav": - when: - - os: windows - store: steam "/.prefs/*.sav": when: - store: steam @@ -358798,6 +358539,10 @@ Lovecraft Quest - A Comix Game: when: - os: linux store: steam + "/.prefs/*.sav": + when: + - os: windows + store: steam installDir: lovecraft-quest-a-comix-game: {} launch: @@ -361159,11 +360904,11 @@ Lunistice: id: 1701800 Lunnye Devitsy: files: - "//save.dat": + "/Bonus/original/save.dat": when: - os: windows store: steam - "/Bonus/original/save.dat": + "/save.dat": when: - os: windows store: steam @@ -362206,10 +361951,10 @@ M1 Tank Platoon: id: 776150 M1 Tank Platoon II: files: - "//*.cfg": + "/*.cfg": when: - store: steam - "//*.dat": + "/*.dat": when: - store: steam gog: @@ -384055,7 +383800,7 @@ Mineirinho Wildtides DC: "/AppData/LocalLow/Meowza Games/Mineko's Night Market": when: - store: steam - "/Library/Application Support/Meowza Games/Mineko's Night Market/*": + "/Library/Application Support/Meowza Games/Mineko's Night Market": when: - os: mac store: steam @@ -526917,19 +526662,17 @@ Slice: id: 840310 Slice & Dice: files: - "///xsrvc.dll": + "/SliceAndDice.app/Contents/Resources/xsrvc.dll": when: + - os: mac + store: steam + "/xsrvc.dll": + when: + - store: steam - os: windows store: steam - os: linux store: steam - "//xsrvc.dll": - when: - - store: steam - "/SliceAndDice.app/Contents/Resources///xsrvc.dll": - when: - - os: mac - store: steam installDir: Slice_n_Dice: {} launch: @@ -624804,15 +624547,13 @@ Tiger Woods PGA Tour 12: - os: windows Tiger-Heli: files: - "//SavedGames//Tiger Heli/": - when: - - os: mac - store: steam "/Saved Games/Tiger Heli/": when: - store: steam - "/SavedGames//Tiger Heli/": + "/SavedGames/Tiger Heli/": when: + - os: mac + store: steam - os: linux store: steam gog: diff --git a/src/main.rs b/src/main.rs index 6c45d419..425fb30f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,7 @@ mod cli; mod manifest; mod missing; +mod path; mod resource; mod schema; mod steam; diff --git a/src/manifest.rs b/src/manifest.rs index babb8d92..70a38611 100644 --- a/src/manifest.rs +++ b/src/manifest.rs @@ -1,6 +1,7 @@ use std::collections::{BTreeMap, BTreeSet}; use crate::{ + path, resource::ResourceFile, steam::{self, SteamCache, SteamCacheEntry}, wiki::{PathKind, WikiCache, WikiCacheEntry}, @@ -8,6 +9,23 @@ use crate::{ }; pub mod placeholder { + pub const ALL: &[&str] = &[ + ROOT, + GAME, + BASE, + HOME, + STORE_USER_ID, + OS_USER_NAME, + WIN_APP_DATA, + WIN_LOCAL_APP_DATA, + WIN_DOCUMENTS, + WIN_PUBLIC, + WIN_PROGRAM_DATA, + WIN_DIR, + XDG_DATA, + XDG_CONFIG, + ]; + pub const ROOT: &str = ""; pub const GAME: &str = ""; pub const BASE: &str = ""; @@ -251,11 +269,10 @@ impl Game { } fn add_file_constraint(&mut self, path: String, constraint: GameFileConstraint) { - let path = path - .replace('\\', "/") - .replace("{64BitSteamID}", placeholder::STORE_USER_ID) - .replace("{Steam3AccountID}", placeholder::STORE_USER_ID); - self.files.entry(path).or_default().when.insert(constraint); + let path = path::normalize(&path); + if path::usable(&path) { + self.files.entry(path).or_default().when.insert(constraint); + } } pub fn integrate_steam(&mut self, cache: &SteamCacheEntry) { diff --git a/src/path.rs b/src/path.rs new file mode 100644 index 00000000..c5c462d6 --- /dev/null +++ b/src/path.rs @@ -0,0 +1,110 @@ +use once_cell::sync::Lazy; +use regex::Regex; + +use crate::manifest::placeholder; + +pub fn normalize(path: &str) -> String { + let mut path = path.trim().trim_end_matches(['/', '\\']).replace('\\', "/"); + + if path == "~" || path.starts_with("~/") { + path = path.replacen('~', placeholder::HOME, 1); + } + + static CONSECUTIVE_SLASHES: Lazy = Lazy::new(|| Regex::new(r"/{2,}").unwrap()); + static UNNECESSARY_DOUBLE_STAR_1: Lazy = Lazy::new(|| Regex::new(r"([^/*])\*{2,}").unwrap()); + static UNNECESSARY_DOUBLE_STAR_2: Lazy = Lazy::new(|| Regex::new(r"\*{2,}([^/*])").unwrap()); + static ENDING_WILDCARD: Lazy = Lazy::new(|| Regex::new(r"(/\*)+$").unwrap()); + static APP_DATA: Lazy = Lazy::new(|| Regex::new(r"(?i)%appdata%").unwrap()); + static APP_DATA_ROAMING: Lazy = Lazy::new(|| Regex::new(r"(?i)%userprofile%/AppData/Roaming").unwrap()); + static APP_DATA_LOCAL: Lazy = Lazy::new(|| Regex::new(r"(?i)%localappdata%").unwrap()); + static APP_DATA_LOCAL_2: Lazy = Lazy::new(|| Regex::new(r"(?i)%userprofile%/AppData/Local/").unwrap()); + static USER_PROFILE: Lazy = Lazy::new(|| Regex::new(r"(?i)%userprofile%").unwrap()); + static DOCUMENTS: Lazy = Lazy::new(|| Regex::new(r"(?i)%userprofile%/Documents").unwrap()); + + for (pattern, replacement) in [ + (&CONSECUTIVE_SLASHES, "/"), + (&UNNECESSARY_DOUBLE_STAR_1, "${1}*"), + (&UNNECESSARY_DOUBLE_STAR_2, "*${1}"), + (&ENDING_WILDCARD, ""), + (&APP_DATA, placeholder::WIN_APP_DATA), + (&APP_DATA_ROAMING, placeholder::WIN_APP_DATA), + (&APP_DATA_LOCAL, placeholder::WIN_LOCAL_APP_DATA), + (&APP_DATA_LOCAL_2, &format!("{}/", placeholder::WIN_LOCAL_APP_DATA)), + (&USER_PROFILE, placeholder::HOME), + (&DOCUMENTS, placeholder::WIN_DOCUMENTS), + ] { + path = pattern.replace_all(&path, replacement).to_string(); + } + + for (pattern, replacement) in [ + ("{64BitSteamID}", placeholder::STORE_USER_ID), + ("{Steam3AccountID}", placeholder::STORE_USER_ID), + ] { + path = path.replace(pattern, replacement); + } + + path +} + +pub fn too_broad(path: &str) -> bool { + use placeholder::{BASE, HOME, ROOT, STORE_USER_ID, WIN_DIR, WIN_DOCUMENTS}; + + for placeholder in placeholder::ALL { + if path == *placeholder { + return true; + } + } + + // These paths are present whether or not the game is installed. + // If possible, they should be narrowed down on the wiki. + let broad = vec![ + format!("{BASE}/{STORE_USER_ID}"), // because `` is handled as `*` + format!("{HOME}/Documents"), + format!("{HOME}/Saved Games"), + format!("{HOME}/AppData"), + format!("{HOME}/AppData/Local"), + format!("{HOME}/AppData/Local/Packages"), + format!("{HOME}/AppData/LocalLow"), + format!("{HOME}/AppData/Roaming"), + format!("{HOME}/Documents/My Games"), + format!("{HOME}/Library/Application Support"), + format!("{HOME}/Library/Preferences"), + format!("{HOME}/Telltale Games"), + format!("{ROOT}/config"), + format!("{WIN_DIR}/win.ini"), + format!("{WIN_DIR}/SysWOW64"), + format!("{WIN_DOCUMENTS}/My Games"), + format!("{WIN_DOCUMENTS}/Telltale Games"), + "C:/Program Files".to_string(), + ]; + if broad.iter().any(|x| *x == path) { + return true; + } + + // Several games/episodes are grouped together here. + if path.starts_with(&format!("{WIN_DOCUMENTS}/Telltale Games/*/")) { + return true; + } + + // Drive letters: + static DRIVES: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z]:$").unwrap()); + if DRIVES.is_match(path) { + return true; + } + + // Root: + if path == "/" { + return true; + } + + // Relative path wildcard: + if path.starts_with('*') { + return true; + } + + false +} + +pub fn usable(path: &str) -> bool { + !path.is_empty() && !path.contains("{{") && !path.starts_with("./") && !path.starts_with("../") && !too_broad(path) +} diff --git a/src/wiki.rs b/src/wiki.rs index 2c2e3c6e..80bbbf8c 100644 --- a/src/wiki.rs +++ b/src/wiki.rs @@ -6,6 +6,7 @@ use wikitext_parser::{Attribute, TextPiece}; use crate::{ manifest::{placeholder, Os, Store, Tag}, + path, resource::ResourceFile, should_cancel, Error, Regularity, State, }; @@ -624,41 +625,12 @@ impl WikiPath { } pub fn normalize(mut self) -> Self { - self.composite = self.composite.trim().trim_end_matches(['/', '\\']).replace('\\', "/"); - - if self.composite == "~" || self.composite.starts_with("~/") { - self.composite = self.composite.replacen('~', placeholder::HOME, 1); - } - - static CONSECUTIVE_SLASHES: Lazy = Lazy::new(|| Regex::new(r"/{2,}").unwrap()); - static UNNECESSARY_DOUBLE_STAR_1: Lazy = Lazy::new(|| Regex::new(r"([^/*])\*{2,}").unwrap()); - static UNNECESSARY_DOUBLE_STAR_2: Lazy = Lazy::new(|| Regex::new(r"\*{2,}([^/*])").unwrap()); - static ENDING_WILDCARD: Lazy = Lazy::new(|| Regex::new(r"(/\*)+$").unwrap()); - static APP_DATA: Lazy = Lazy::new(|| Regex::new(r"(?i)%appdata%").unwrap()); - static APP_DATA_ROAMING: Lazy = Lazy::new(|| Regex::new(r"(?i)%userprofile%/AppData/Roaming").unwrap()); - static APP_DATA_LOCAL: Lazy = Lazy::new(|| Regex::new(r"(?i)%localappdata%").unwrap()); - static APP_DATA_LOCAL_2: Lazy = Lazy::new(|| Regex::new(r"(?i)%userprofile%/AppData/Local/").unwrap()); - static USER_PROFILE: Lazy = Lazy::new(|| Regex::new(r"(?i)%userprofile%").unwrap()); - static DOCUMENTS: Lazy = Lazy::new(|| Regex::new(r"(?i)%userprofile%/Documents").unwrap()); - - for (pattern, replacement) in [ - (&CONSECUTIVE_SLASHES, "/"), - (&UNNECESSARY_DOUBLE_STAR_1, "${1}*"), - (&UNNECESSARY_DOUBLE_STAR_2, "*${1}"), - (&ENDING_WILDCARD, ""), - (&APP_DATA, placeholder::WIN_APP_DATA), - (&APP_DATA_ROAMING, placeholder::WIN_APP_DATA), - (&APP_DATA_LOCAL, placeholder::WIN_LOCAL_APP_DATA), - (&APP_DATA_LOCAL_2, &format!("{}/", placeholder::WIN_LOCAL_APP_DATA)), - (&USER_PROFILE, placeholder::HOME), - (&DOCUMENTS, placeholder::WIN_DOCUMENTS), - ] { - self.composite = pattern.replace_all(&self.composite, replacement).to_string(); - } + self.composite = path::normalize(&self.composite); if self.kind.is_none() { self.kind = Some(PathKind::File); } + self } @@ -711,65 +683,6 @@ impl WikiPath { self } - fn too_broad(&self) -> bool { - use placeholder::{BASE, HOME, ROOT, STORE_USER_ID, WIN_DIR, WIN_DOCUMENTS}; - - let placeholders: Vec<_> = MAPPED_PATHS.values().map(|x| x.manifest).collect(); - if placeholders.iter().any(|x| *x == self.composite) { - return true; - } - - // These paths are present whether or not the game is installed. - // If possible, they should be narrowed down on the wiki. - let broad = vec![ - format!("{BASE}/{STORE_USER_ID}"), // because `` is handled as `*` - format!("{HOME}/Documents"), - format!("{HOME}/Saved Games"), - format!("{HOME}/AppData"), - format!("{HOME}/AppData/Local"), - format!("{HOME}/AppData/Local/Packages"), - format!("{HOME}/AppData/LocalLow"), - format!("{HOME}/AppData/Roaming"), - format!("{HOME}/Documents/My Games"), - format!("{HOME}/Library/Application Support"), - format!("{HOME}/Library/Preferences"), - format!("{HOME}/Telltale Games"), - format!("{ROOT}/config"), - format!("{WIN_DIR}/win.ini"), - format!("{WIN_DOCUMENTS}/My Games"), - format!("{WIN_DOCUMENTS}/Telltale Games"), - ]; - if broad.iter().any(|x| *x == self.composite) { - return true; - } - - // Several games/episodes are grouped together here. - if self - .composite - .starts_with(&format!("{WIN_DOCUMENTS}/Telltale Games/*/")) - { - return true; - } - - // Drive letters: - static DRIVES: Lazy = Lazy::new(|| Regex::new(r"^[a-zA-Z]:$").unwrap()); - if DRIVES.is_match(&self.composite) { - return true; - } - - // Root: - if self.composite == "/" { - return true; - } - - // Relative path wildcard: - if self.composite.starts_with('*') { - return true; - } - - false - } - fn irregular(&self) -> bool { self.regularity == Regularity::Irregular || self.composite.contains("{{") } @@ -779,11 +692,7 @@ impl WikiPath { } pub fn usable(&self) -> bool { - !self.composite.is_empty() - && !self.irregular() - && !self.too_broad() - && !self.composite.starts_with("./") - && !self.composite.starts_with("../") + path::usable(&self.composite) && !self.irregular() } }