-
-
Notifications
You must be signed in to change notification settings - Fork 480
[Feat] Add support for Amazon Games #2831
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
[Feat] Add support for Amazon Games #2831
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
49054f6
to
e5e6e66
Compare
Currently this appears to not detect if a user has already logged in manually via the CLI. Otherwise seems to work fine for me (on Windows). |
@derrod this is due to sandboxed config of Nile. Same we do with legendary now |
The config file is migrated still, so Nile was logged in when running from Heroic. But it still showed as logged out and clicking the login button just did nothing. Also noteworthy that even deleting the Nile config didn't work as it would then copy the global one again, thus getting into a bad state again. |
Ah yes. I encountered same issue. Heroic doesn't detect that Nile is logged in already |
This has been resolved now EDIT: If you've previously tested this PR the fix won't take effect as it only loads the user into the cache store when copying the global config directory. If you already have a local config directory for Heroic, it won't follow that branch. This is not an issue for users opening Heroic for the first time with the changes from the latest commit |
That is pretty cool. Thanks for that. I will test as soon as possible on all platforms. |
I'm happy to contribute
Is this something you want me to do on this PR, or would it be more relevant in a separate PR after this? |
76920e6
to
59cc217
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing here.
One thing that can be improved:
if there are only windows games on Prime, then we could hide the OS filter. Right now it disables macOS but keeps the browser button, Browser should actually only show when OTHER is selected.
Clicking on it while the amazon is selected does nothing.
@@ -96,7 +98,7 @@ export interface ExtraInfo { | |||
export type GameConfigVersion = 'auto' | 'v0' | 'v0.1' | |||
|
|||
export interface GameInfo { | |||
runner: 'legendary' | 'gog' | 'sideload' | |||
runner: 'legendary' | 'gog' | 'sideload' | 'nile' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should use Runner
here at some point.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested here on macOS and works pretty well. Was able to log in, install, uninstall, play, etc.
That's a pretty good job. Ofc it will have bugs but I think it is ready for the next release :)
@Gustash |
e4dc93a
to
07a661e
Compare
@flavioislima I've fixed the merge conflicts. I'm just waiting on Linguin fixing subprocess reaping in nile for Windows and macOS, as it currently doesn't work for killing games from Heroic. EDIT: As mentioned on Discord, this can be merged as is. We'll try to figure out subprocess termination on Windows/macOS in Nile. When that's fixed, a binary update should be all that's needed |
Force stopping games is now working properly for Linux and macOS. On Windows it still doesn't work, but I found that gogdl also doesn't force stop the game on Windows. Since Nile shares pretty much a 1-to-1 mechanism for subprocesses as gogdl, this is not an isolated issue and has probably existed on Windows for a while. I say we get this PR merged and deal with gogdl and nile not stopping games on Windows in a separate PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left small comment, but overall it looks good to me.
Amazing work ⚔️
Amazon Games Support
This PR adds support for Amazon Games.
It uses Nile to interface with your Amazon Games library.
I have tested on Linux, macOS and Windows. All the basic features have been seen as working, as noted in the TODO list below.
EDIT:
Also tested the .flatpak artifact on the Steam Deck, all features are working there too.
TODO:
Use the following Checklist if you have changed something on the Backend or Frontend: