Importer
Covers and backgrounds
How the importer makes a game's cover and background, and how to choose your own on the computer or on the Switch.
On this page
Each game can have two pictures:
| File | Size | Where the loader shows it |
|---|---|---|
cover.jpg | 300×450 (2:3) | The library, in every layout, and the details page |
backdrop.jpg | 640×360 (16:9) | Behind the details page and the Cinematic layout |
Both are baseline JPEGs, because the Switch’s decoder reads no progressive JPEG. They are made with FFmpeg: scaled to fill, cut from the middle, one frame, yuvj420p. Any picture FFmpeg reads works as a source (PNG, JPEG, WebP, BMP).
Automatic pictures
Ren’Py games ship no cover, only 16:9 menu art. The importer takes the game’s main menu art: gui.main_menu_background in gui.rpy when it is a plain string naming an image, else gui/main_menu.png, loose or inside a standard .rpa.
- The background is that art, at 640×360.
- The cover is the middle third of it. It often shows part of a background rather than the game’s title, which is why choosing your own is worth it.
- Nothing found: no pictures, and the report says
Pictures: none. The loader shows a placeholder: a colour from the folder name with the title’s first letter.
Choose your own
A real poster makes a better cover, for example a 600×900 image from SteamGridDB or a Steam capsule.
- Command line:
--cover IMAGEand--backdrop IMAGE. - Window, before export: Change cover… and Change background… on the Import page.
- Window, after export: the same buttons on a game in the Library. The picture is converted and written to the SD card or the Switch at once.
- On the Switch: Change picture on a game’s details turns a screenshot from the Album into either. See Change picture.
The manifest marks chosen pictures with "cover_custom": true and "backdrop_custom": true, and --replace keeps them. The report’s Pictures: line names the files, with (chosen) for chosen ones. A chosen picture FFmpeg cannot read is refused with its error.
note
Games without a manifest.json (copied by hand) cannot have pictures: the manifest is what names them.
What the loader accepts
- Baseline JPEG, normally 300×450 from the importer; other sizes up to 600×900, other aspect ratios cut to their middle.
- A 24-bit BMP, which is what Change picture on the Switch writes.
- A progressive JPEG, a larger picture or an unreadable file gets the placeholder and one line in
loader.log.