mtkennerly / ludusavi

Backup tool for PC game saves
MIT License
2.78k stars 61 forks source link

Game saves not being detected because of smart apostrophe #282

Closed darklinkpower closed 5 months ago

darklinkpower commented 12 months ago

Ludusavi version

v0.21.0

Operating system

Windows

Installation method

Standalone

Description

Ludusavi is not detecting game saves for game The Witch's Love Diary on GOG and I'm not sure why. I could add a manual configuration but I think it would be better to identify the underlying issue causing this.

From PCGW page:

image

Configured roots in Ludusavi:

image

Game saves location:

image

Ludusavi Playnite notification when trying to backup:

image

Also not found on Ludusavi itself:

image

Logs

No response

mtkennerly commented 12 months ago

That's weird - I don't have the game myself, but when I add the folder for it, it's detected. If G: is Google Drive, I wonder if that has anything to do with it.

Could you run this and give me the log files? (example using Command Prompt)

set RUST_LOG=ludusavi=trace
ludusavi backup --force "The Witch's Love Diary"
darklinkpower commented 12 months ago

Thanks for the swift response! Here are the logs:

ludusavi_rCURRENT.log

The weird thing is that the directory exists according to the logs but it's not seeing it for some reason:

[2023-11-23T06:32:11.565Z] TRACE [ludusavi::scan::launchers] launcher games found (Epic - G:/Games\PC\Epic Games): {}
[2023-11-23T06:32:11.566Z] DEBUG [ludusavi::scan::launchers::generic] ranking installations for GogGalaxy: G:/Games\PC\GOG Galaxy
[2023-11-23T06:32:11.566Z] DEBUG [ludusavi::scan::launchers::generic] actual install folders: A Space for the Unbound | Amatsutsumi | CHAOS HEAD NOAH | CHAOS HEAD NOAH Downloads | Control | Dungeon Siege III | Full Metal Daemon Muramasa | Grim Fandango Remastererd | Mirror's Edge | Spelunky | The Witch’s Love Diary
[2023-11-23T06:32:11.566Z] TRACE [ludusavi::scan::launchers::generic] [The Witch's Love Diary] looking for install dir: The Witch's Love Diary
[2023-11-23T06:32:11.566Z] TRACE [ludusavi::scan::launchers::generic] [The Witch's Love Diary] looking for install dir: The Witch's Love Diary
[2023-11-23T06:32:11.566Z] TRACE [ludusavi::scan::launchers] launcher games found (GogGalaxy - G:/Games\PC\GOG Galaxy): {}
[2023-11-23T06:32:11.566Z] DEBUG [ludusavi::scan::launchers::generic] ranking installations for Other: G:/Games\PC\itch.io\downloads
darklinkpower commented 12 months ago

I see the issue. It's the apostrophe being different.

The install folder is The Witch’s Love Diary with image

But It is looking for The Witch's Love Diary with an ' character. What do you think the best solution would be? That install folder is the default Gog Galaxy installed to and the name of the game is this one, on both Steam and GOG. I understand that it could be manually fixed but I wonder if an automatic solution would be possible, also considering that other games may suffer from this. I've noticed that GOG installers have certain limitations regarding the games install paths and a general solution could benefit other games. Other examples that I remember is GOG installers having trouble with the ; character.

Steam uses The Witch's Love Diary as the install directory so it won't have this issue.

mtkennerly commented 12 months ago

Ah, that's a tricky one. For now, I've added an override in the manifest: https://github.com/mtkennerly/ludusavi-manifest/commit/b5392a4ae38f02babc93279a5c9afba43de96a0c . Long-term, maybe Ludusavi should convert smart apostrophes/quotes to normal ones when looking for a match.

darklinkpower commented 12 months ago

Thank you, that fixed the issue! I see how that can be tricky to solve, specially considering that they may be cases where the apostrophe changes and some that it doesn't. I don't know if the issue should be closed or not to serve as a tracker for this so I won't do it but you can close it if that would be appropriate.

mtkennerly commented 5 months ago

I think I'll close this for now since there are very few manifest entries with smart apostrophes/quotes. If we find more cases that are incorrect like this one, we can adjust it in the manifest directly.