Initial commit: itch.io box art provider for OpenGamepadUI
All checks were successful
Build plugin / build (push) Successful in 1m10s
All checks were successful
Build plugin / build (push) Successful in 1m10s
This commit is contained in:
commit
cb26d9931c
11 changed files with 1115 additions and 0 deletions
37
README.md
Normal file
37
README.md
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# 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).
|
||||
Loading…
Add table
Add a link
Reference in a new issue