To make themes more dynamic, there are some variables you can use. These variables can be used anywhere in the tags.
Apart from the $system
, $language
and $country
variables, all other variables have been present since Recalbox 9.2.
$system
The $system
variable is used to make the system name dynamic.
Example:
<include>
./$system/custom.xml
</include>
$language
The $language
variable allows you to use the code of the language chosen by the user.
Example:
<include>
./data/$language/texts.xml
</include>
$country
The $country
variable allows you to use the country chosen by the user.
Example:
<include>
./data/$country/logo.svg
</include>
$fullname
The $fullname
variable uses the full name of the current system.
Example:
<text name=“systemCurrent” text=“$fullname”></text>
$type
The $type
variable allows you to use the type of system from this list:
Example:
<text name=“systemGameName” text=“$type”></text>
$pad
The $pad
variable indicates whether a pad or joystick is required to take advantage of this system from this list:
Example:
<image>
<path path=“./data/assets/pad-$pad.svg”></path>
</image>
$keyboard
The $keyboard
variable indicates the level of need for a keyboard to take advantage of this system among this list:
<image>
<path path=“./data/assets/keyboard-$keyboard.svg”></path>
</image>
$mouse
The $mouse
variable indicates the level of need for a mouse to take advantage of this system from this list:
<image>
<path path=“./data/assets/mouse-$mouse.svg”></path>
</image>
$releaseyear
The $releaseyear
variable indicates the year the system was released.
Example:
<text name=“date” extra=“true”>
<text>System release date: $releaseyear</text>
</text>
$netplay
The $netplay
variable indicates by yes
or no
whether the system is Netplay-compatible or not.
Example:
<text name=“netplay” extra=“true”>
<text>Netplay available for system: $netplay</text>
</text>
$lightgun
The $lightgun
variable indicates by yes
or no
whether the system has lightgun-playable games.
<text name=“lightgun” extra=“true”>
<text>Lightgun game: $lightgun</text>
</text>
$crt
The $crt
variable indicates by yes
or no
whether a CRT adapter is active or not.
<text name=“crt” extra=“true”>
<text>CRT active: $crt</text>
</text>
$jamma
The $jamma
variable indicates by yes
or no
whether a Jamma adapter is active or not.
<text name=“jamma” extra=“true”>
<text>Jamma active: $jamma</text>
</text>
$tate
The $tate
variable indicates by yes
or no
whether the screen is flipped to 90° or -90°.
<text name=“tate” extra=“true”>
<text>Active tate: $tate</text>
</text>
$overscan
The $overscan
variable indicates by yes
or no
whether a CRT adapter without a Jamma adapter is active or not.
<text name=“overscan” extra=“true”>
<text>Overscan active: $overscan</text>
</text>
$resolution
The $resolution
variable is used to hold information for a certain screen resolution.
List of values:
qvga
: less than or equal to 288 pixels in height.vga
: less than or equal to 576 pixels in height.hd
: less than or equal to 920 pixels in height.fhd
: greater than 920 pixels in height.<text name=“resolution” extra=“true”>
<text>Resolution: $resolution</text>
</text>