Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to detect manually-installed games? #434

Closed
Terrance opened this issue Dec 21, 2024 · 3 comments
Closed

How to detect manually-installed games? #434

Terrance opened this issue Dec 21, 2024 · 3 comments
Labels
question Further information is requested
Milestone

Comments

@Terrance
Copy link

What's your question?

I have a handful of games installed outside of a game store client and in their own base directory, D:\Windows\Games\Standalone. This path is defined as an "Other" root in Ludusavi, and I can see the immediate child directories being detected as games. However, some of these installations use names that don't match the full game name.

For example, Dr. Robotnik's Ring Racers is currently installed at D:\Windows\Games\Standalone\Ring Racers. My understanding of the alias system is that I can alias Ring Racers to Dr. Robotnik's Ring Racers in order to get this picked up:

Alias for Ring Racers

I assume this is the expected way around, based on the "overrides a manifest entry" hint appearing on the inverse suggesting I'm replacing the real entry, but I've tried it individually both ways around without any success. Am I using this right?

Log snippet
[2024-12-21T18:41:25.013Z] DEBUG [ludusavi::scan::launchers] Scanning launcher info: Other(Other { path: StrictPath { raw: "D:/Windows\\Games\\Standalone", basis: None } })
[2024-12-21T18:41:25.013Z] DEBUG [ludusavi::scan::launchers::generic] ranking installations for root: Other(Other { path: StrictPath { raw: "D:/Windows\\Games\\Standalone", basis: None } })
[2024-12-21T18:41:25.014Z] DEBUG [ludusavi::scan::launchers::generic] actual install folders: ... | Ring Racers | ...
[2024-12-21T18:41:25.088Z] DEBUG [ludusavi::scan::launchers::generic] [...] selecting subdir with score ...
... (not listed here)
[2024-12-21T18:41:25.744Z] DEBUG [ludusavi::scan::launchers] launcher games found (Other(Other { path: StrictPath { raw: "D:/Windows\\Games\\Standalone", basis: None } })): {
    ... (or here)
}
@Terrance Terrance added the question Further information is requested label Dec 21, 2024
@mtkennerly
Copy link
Owner

The alias feature is pretty limited by design. It's really just for interoperation with other tools and for translations. The presence of an alias won't cause any extra paths to be scanned.

With the options that exist today, you could either:

  • Make a custom entry titled Dr. Robotnik's Ring Racers, mark it as "extend" rather than "override", and add the relevant paths.

  • Make a secondary manifest YAML file with this content and then add it on the "other" screen:

    "Dr. Robotnik's Ring Racers":
      installDir:
        Ring Racers: {}

It might make sense for custom games to directly support adding extra installDir entries.

@Terrance
Copy link
Author

Make a custom entry titled Dr. Robotnik's Ring Racers, mark it as "extend" rather than "override", and add the relevant paths.

This is what I have currently, but it requires redefining all the specific paths to save files (which in this case is three individual files, but I've seen worse) and keeping them up-to-date, so you unfortunately don't benefit from extending the manifest entry.

It might make sense for custom games to directly support adding extra installDir entries.

👍 I think this would be pretty useful to have, as standalone paths are somewhat unpredictable, and some Itch-installed games use paths based on the URL slug which don't always line up with the PCGW title. This would presumably also mean being able to use <base> rather than having to write the full path for each target file/directory of fully custom games (i.e. those not extending from the manifest).

Make a secondary manifest YAML file with this content and then add it on the "other" screen

Looks like that does the trick. Would still be nice to have a way of managing custom install paths in the UI though, be it saved here or as part of a custom game entry.

@mtkennerly
Copy link
Owner

This will be available in the next release:

2024-12-21.23-41-08.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants