-
Notifications
You must be signed in to change notification settings - Fork 42
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
Support the new cover format #57
Conversation
This allows to remove overlays, fixes boppreh#51 and the applied overlay counter.
SteamGridDB has implemented the required api calls. Since this still hasn't been merged or received comments I have merged SteamGridDB and IGDB support into this PR. You can optionally provide your api keys (SteamGridDB, IGDB) like this:
|
This doesn't work for "Non-Steam-Games". Seems the new cover-files for non-steam-games are named different than the old ones. Example (GOG Version of the Witcher 3): |
Steam refused to set a custom image for my added games. (nothing happens when I set a custom artwork) Lines 114 to 120 in eac4d3f
When comparing with my file I spotted some differences in my actual file: - (?i)appname\x00(.+?)\x00\x01exe\x00(.+?)\x00\x01.+?\x00tags\x00(.*?)\x08\x08
+ (?i)\x00\x01appname\x00(.+?)\x00\x01exe\x00(.+?)\x00\x01.+?\x00tags\x00\x01(.*?)\x08\x08 |
Call me crazy, but I still cannot find this new cover format used anywhere on Steam. Is this is an Open Beta UI kind of thing? |
The filename for the new ui covers is what the operation at line 119 generates. For my example "The Witcher 3 - Wild Hunt": fmt.Println(top)
fmt.Println(gameID)
image-files in ".../config/grid/": 3127296488p.jpg |
Thanks @strzlee! While I'm still unable to set them manually through steam this worked: |
Setting the hero image and the logo is now possible too, yet I'm still unable to set them here so I'd appreciate if someone can tell me if the naming scheme is somehow similar. |
According to my previous example:
|
Are you sure about that grid image? Thanks! |
With "Grid" I refer to the classic format for "non-Beta-Clients" respectively the "Big-Picture-Mode". |
downloads disabled for now until stemgriddb is ready
Apngs are now supported but there are still some issues I have to figure out while sticking the overlay on top. |
@Logerfo APNGs are working now. I advise to not use an overlay with something half transparent as that'll get darker over time. |
Sometimes I encounter timeouts and errors from the SteamGridDB-API requests. Maybe some sort of rate-limiting?! Reducing (or slowing down) the calls would perhaps help. E.g.: For non-steam-games you call a GET request with the steam ID (which always fails), |
@Lucki I think it would be very useful to have a filter that only looks for animated covers. I want animated covers for my games, but I have a lot of games in my library, so it would take a very long time to search for animated covers for all of them. |
@Logerfo |
@Lucki, what's the current status of this PR? Is it ready to merge, do you want to add more stuff, do you need help fixing anything? |
@boppreh
So I think this is ready? Couldn't find any problem in my test runs. There aren't any remaining problems mentioned from @strzlee and @PoorPocketsMcNewHold , although I'm unsure about the timeout issue. While a lot of options are added the fire and forget design remained intact. |
I tested the branch in his current state on several windows and linux machines with different configurations and stepped through a couple of debug sessions with "delve". I only encountered some inexplicable results when querying the steamgriddb-api for banner with the "dimensions" parameter. But that's probably a server-side issue. Edit: from the steamgriddb-api documentation
|
Since nothing's going on here or at steamgriddb I've uploaded prebuild binaries: https://github.com/Lucki/steamgrid/releases/tag/v3.0.0 |
Hey thanks for adding builds, I tried it on windows and it works but for some reason it ignores non steam games, not sure what the issue is. |
Please have a look into your
|
Can't locate STEAMPATH |
I haven't changed anything substantial in the steam detection. Did it work for you with the old version? |
That worked. |
// LogoLQ: 640 x 360 | ||
// LogoHQ: 1280 x 720 | ||
// artStyle: ["idExtension", "nameExtension", steamExtension, dimXHQ, dimYHQ, dimXLQ, dimYLQ] | ||
"Banner": []string{"", ".banner", "header.jpg", "920", "430", "460", "215"}, |
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.
Should probably use a record/struct value instead of an array of strings, so that accesses are clearer.
* Add the extension `.cover`/`p` before the image extension for cover art: `Psychonauts.cover.png`, `3830p.png` | ||
* Add the extension `.hero`/`_hero` before the image extension for hero art `Psychonauts.hero.png`, `3830_hero.png` | ||
* Add the extension `.logo`/`_hero` before the image extension for logo art `Psychonauts.logo.png`, `3830_logo.png` | ||
4. *(optional)* Generate a some API Keys to enhance the automatic search: |
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.
4. *(optional)* Generate a some API Keys to enhance the automatic search: | |
4. *(optional)* Generate some API Keys to enhance the automatic search: |
Looks stable enough and also passed my tests. That was an amazing tour de force. Thank you very much for this contribution, from the large parts (cover format, new APIs) to the small (more reliable parsing of steam files). Will be releasing a new version ASAP. |
New release! My superficial tests worked, but please let me know if you run into any problems or have further suggestions. Unfortunately I don't have a lot of spare time to dedicate to this tool, but I'm glad it's still helping people. |
Thank you to everyone who made this happen! |
Today's Steam Beta update fixed this issue:
|
This adds support for the new library format (600x900).
Google search is disabled because of the really bad results. We should add some additional sources like IGDB or SteamGridDB but this will need an api key as user input/parameter/config.
Apng gets preserved if no overlay is applied.
I've never done something in GO before so let me know if there's something to improve.
Fix #54