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

Configurable Grid Dimensions #175

Closed
michaelneverwins opened this issue Aug 22, 2023 · 2 comments
Closed

Configurable Grid Dimensions #175

michaelneverwins opened this issue Aug 22, 2023 · 2 comments
Labels
enhancement New feature or request wontfix This will not be worked on

Comments

@michaelneverwins
Copy link

michaelneverwins commented Aug 22, 2023

Is your feature request related to a problem? Please describe.
Yes and no.

Once upon a time, Steam's grid view displayed landscape-oriented (wide) images, and just about every single game on Steam had an image for this view (with dimensions 460x215 if I'm not mistaken). At some point, Steam's grid view was then changed to display portrait-oriented (tall) images with dimensions 600x900 or 300x450, and these import nicely into Cartridges which uses the same aspect ratio (but seems to prefer a size of 200x300). However, to this day, not every game on Steam has a suitable portrait image, as creating these was presumably the responsibility of developers who may not care to provide such support for their old games. For the games lacking portrait images, Steam auto-generates them from the landscape images by padding with blur:

bad-cover-examples

Subjective opinion: I hate it. Naturally, though, these are the images that Cartridges will import by default:

imported-bad-cover

Of course, this particular problem is basically solved (in theory) by using SteamGridDB, which can provide proper 600x900 images (even if their quality may vary). In general, if Steam provides a bad image, it can be replaced.

But this got me thinking. Steam's old grid view wasn't bad. More generally, displaying a grid of wide images can look (subjectively) better on a wide monitor. It would be nice if Cartridges had the option to change the grid dimensions.

Describe the solution you'd like

  • Settings to specify the dimensions of images displayed in Cartridges.
    • This could be presented as two text boxes to specify, individually, the width and height. You would probably want to reject values outside of some reasonable range, so that users don't accidentally make images larger than the screen or too small to see.
    • Alternatively (or additionally), this could be presented as one slider for aspect ratio and another slider for size, although it should still display the resulting width and height (and perhaps allow manual input if the sliders don't allow for sufficiently fine adjustment).
  • Settings to specify how images of other aspect ratios are made to fit, e.g.:
    • stretched (which I personally wouldn't use, but it seems to be what Cartridges currently does when given non-2:3 images);
    • zoomed to fill one dimension (maybe padded with transparency or blur);
    • zoomed to fill both dimensions (i.e. cropped so that aspect ratio is maintained but the chosen dimensions are filled).

Describe alternatives you've considered
If supporting arbitrary image dimensions is impossibly complex, a simpler alternative would be an option to prefer the old Steam grid view's dimensions (for which, I believe, all Steam games still have official images, and images of this shape can be found on SteamGridDB as well).

Additional context
I assume that implementing this feature would be challenging, in that it would probably require completely changing the way that Cartridges handles images. I haven't really looked at the source code, but it seems that every image given to Cartridges is resized to a 320x200 TIFF or GIF, stretching the original image if the dimensions don't match. It can't (or, at least, shouldn't) work this way if image dimensions are allowed to be changed. (If I provide a 460x215 image and Cartridges resizes it to 200x300 on disk, using the hypothetical option to change my grid dimensions to 460x215 isn't going to look right because the raw image is now only 200 pixels wide.) In other words, the optimization for exactly 200x300 would have to go away.

The way images are pulled from SteamGridDB would probably have to change, as well. I don't know how SteamGridDB integration works, so I don't know what's possible, but I assume Cartridges uses the API to search for 900x600 images specifically. Maybe it could instead search for images with dimensions close to the currently configured grid size. Of course, that may change after images are imported, so allowing users to import images again (see also #93) after changing the grid dimensions would be helpful.

I think Playnite had an option to adjust the grid dimensions, but I haven't used Playnite since switching to Linux, so I don't remember exactly how it worked. I don't remember whether it had SteamGridDB integration either, and if it did, I never used it.

@michaelneverwins michaelneverwins added the enhancement New feature or request label Aug 22, 2023
@kra-mo
Copy link
Owner

kra-mo commented Aug 25, 2023

This is massively out of scope.

@kra-mo kra-mo closed this as not planned Won't fix, can't repro, duplicate, stale Aug 25, 2023
@kra-mo kra-mo added the wontfix This will not be worked on label Aug 25, 2023
@michaelneverwins
Copy link
Author

Fair enough. I figured as much. Just wanted to throw the idea out there. Frankly, if I had to implement it myself, I probably wouldn't attempt anything more than a toggle between the portrait (600x900) and landscape (460x215) image styles used by Steam, and even that much isn't worthwhile if 99% of users (for all I know) would prefer the vertical box-art style.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants