diff --git a/data/manifest.yaml b/data/manifest.yaml
index e777eedf..d738f39f 100644
--- a/data/manifest.yaml
+++ b/data/manifest.yaml
@@ -627219,10 +627219,6 @@ The Legend of Crystal Valley:
"/userData":
when:
- store: steam
- "/Library/Application Support/userData":
- when:
- - os: mac
- store: steam
installDir:
The Legend of Crystal Valley: {}
launch:
@@ -631226,6 +631222,10 @@ The Missing Few:
steam:
id: 842910
The Mobius Machine:
+ files:
+ "/Documents/The Mobius Machine/Saves":
+ when:
+ - store: steam
installDir:
The Mobius Machine: {}
launch:
@@ -641284,10 +641284,6 @@ The Technician:
when:
- os: windows
store: steam
- "/Library/Application Support/UserData//**/*.json":
- when:
- - os: mac
- store: steam
installDir:
The Technician: {}
steam:
diff --git a/data/missing.md b/data/missing.md
index 25e176a0..b3575bf6 100644
--- a/data/missing.md
+++ b/data/missing.md
@@ -26011,7 +26011,6 @@
* [The Misfits](https://www.pcgamingwiki.com/wiki/?curid=104797)
* [The Miskatonic](https://www.pcgamingwiki.com/wiki/?curid=100230)
* [The Missing Few](https://www.pcgamingwiki.com/wiki/?curid=157259)
-* [The Mobius Machine](https://www.pcgamingwiki.com/wiki/?curid=189831)
* [The Momo Game](https://www.pcgamingwiki.com/wiki/?curid=121537)
* [The Monster](https://www.pcgamingwiki.com/wiki/?curid=121300)
* [The Monster Breeder](https://www.pcgamingwiki.com/wiki/?curid=154367)
diff --git a/src/path.rs b/src/path.rs
index baa28601..59d2dfb4 100644
--- a/src/path.rs
+++ b/src/path.rs
@@ -55,6 +55,8 @@ pub fn normalize(path: &str) -> String {
fn too_broad(path: &str) -> bool {
use placeholder::{BASE, HOME, ROOT, STORE_USER_ID, WIN_APP_DATA, WIN_DIR, WIN_DOCUMENTS, XDG_CONFIG, XDG_DATA};
+ let path_lower = path.to_lowercase();
+
for item in placeholder::ALL {
if path == *item {
return true;
@@ -80,6 +82,7 @@ fn too_broad(path: &str) -> bool {
format!("{HOME}/AppData/Roaming"),
format!("{HOME}/Documents/My Games"),
format!("{HOME}/Library/Application Support"),
+ format!("{HOME}/Library/Application Support/UserData"),
format!("{HOME}/Library/Preferences"),
format!("{HOME}/.renpy"),
format!("{HOME}/Library/RenPy"),
@@ -95,10 +98,11 @@ fn too_broad(path: &str) -> bool {
"C:/Program Files".to_string(),
"C:/Program Files (x86)".to_string(),
] {
- if path == item
- || path.starts_with(&format!("{item}/*"))
- || path.starts_with(&format!("{item}/{STORE_USER_ID}"))
- || path.starts_with(&format!("{item}/SavesDir"))
+ let item = item.to_lowercase();
+ if path_lower == item
+ || path_lower.starts_with(&format!("{item}/*"))
+ || path_lower.starts_with(&format!("{item}/{}", STORE_USER_ID.to_lowercase()))
+ || path_lower.starts_with(&format!("{item}/savesdir"))
{
return true;
}
diff --git a/src/steam.rs b/src/steam.rs
index d2aabde3..623c147f 100644
--- a/src/steam.rs
+++ b/src/steam.rs
@@ -517,6 +517,7 @@ pub fn parse_root(value: &str) -> Option<&'static str> {
"winappdataroaming" => Some(placeholder::WIN_APP_DATA),
"winappdatalocal" => Some(placeholder::WIN_LOCAL_APP_DATA),
"winappdatalocallow" => Some("/AppData/LocalLow"),
+ "windowshome" => Some(placeholder::HOME),
"winmydocuments" => Some(placeholder::WIN_DOCUMENTS),
"winsavedgames" => Some("/Saved Games"),
_ => {