itchio-opengamepadui-artpro.../README.md

38 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

# OpenGamepadUI itch.io Art Provider
Box art provider for itch.io games in [OpenGamepadUI](https://github.com/ShadowBlip/OpenGamepadUI).
Fetches cover art and screenshots from itch.io game pages. Works alongside the
itch.io library plugin to provide per-layout artwork: the cover for portrait/logo,
full-res screenshots for landscape/banner.
Enriches game metadata by scraping the itch.io page HTML for screenshots (the
itch.io API does not expose them), caches the result, and uses OGPU's
`HTTPImageFetcher` for async image downloads.
## Requirements
See the [OpenGamepadUI requirements](https://github.com/ShadowBlip/OpenGamepadUI#requirements).
## Building
```bash
make help
make build
make install
```
## How it works
The provider registers with OGPU's `BoxArtManager` as `"itch"`. When a menu
requests artwork for a game, it checks the library item's launch items for one
with `_provider_id == "itch"` and reads the itch.io game dict from its metadata
(`coverUrl`, `stillCoverUrl`, `url`). It then:
1. Looks up cached screenshots for the game (or scrapes the itch.io page).
2. Picks the right URL for each layout:
- **portrait / logo**: cover image
- **landscape**: first screenshot (or cover if none)
- **banner**: second screenshot (or first, or cover)
3. Fetches the image via `HTTPImageFetcher` (with OGPU's `Cache` system).