Making a Recalbox theme

45 pages · 8 sections
FRENESDE Show everything Create my theme

The detailed view — the games

The list, the game's sheet, and its thirty reserved components.

The list of a system's games, with the sheet of the hovered game.

This is the view of all game lists: the basic view is never requested by the engine, and the arcade view reuses detailed.

The list and the media

NameTypeRole
gamelisttextlistthe game list
logoimagethe system's logo
md_imageimagethe cover art
default_image_pathimagethe fallback image when the game has no cover
md_videovideothe preview video
md_region1md_region4imagethe game's four region flags

On md_image, the path written in the theme is ignored: the image comes from the game. On the md_region*, only pos, size, zIndex and path are read.

The game's information

NameType
md_descriptiontext, markdown or scrolltext — your choice
md_folder_nametext
md_ratingrating
md_releasedate, md_lastplayeddatetime
md_developer, md_publisher, md_genre, md_players, md_playcount, md_favoritetext

The labels

md_lbl_rating, md_lbl_releasedate, md_lbl_developer, md_lbl_publisher, md_lbl_genre, md_lbl_players, md_lbl_lastplayed, md_lbl_playcount, md_lbl_favorite

⚠️ Their text is imposed. Recalbox writes “Rating:”, “Released:”, “Developer:”… translated into the machine's language, after applying the theme. A text= in the theme is overwritten. You set their formatting, never their content.

Likewise, the md_* values accept every property except text: their content comes from the game.

The list's colors

gamelist uses five colors, of which three are not themable:

LineColor
a gameprimaryColor
a foldersecondaryColor
a faded gamecomputed: primaryColor with the opacity halved
a faded foldercomputed the same way
the background of a sort headerimposed

Components present but inert

template_flag, template_genre and template_players are read by the engine but never used: the decorations' colors are not themable. Do not waste time on them.