# 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).
