helpsystem — la barre d’aide
Les 32 icônes de boutons, une par une.
La barre en bas de l’écran qui rappelle à quoi servent les boutons. 38 propriétés : six de mise en forme, et 32 icônes.
Recalbox choisit lui-même ce que la barre annonce, écran par écran, et traduit chaque libellé. Votre thème ne règle que la forme : le placement, la police, les couleurs, et l’image de chaque pictogramme.
<helpsystem name="help">
<pos>0.02 0.955</pos>
<fontPath>${root}/data/fonts/Exo2.otf</fontPath>
<fontSize>0.025</fontSize>
<textColor>C6CBD8</textColor>
<iconColor>FFFFFF</iconColor>
<iconA>${root}/data/arts/boutons/a.svg</iconA>
<iconB>${root}/data/arts/boutons/b.svg</iconB>
</helpsystem>
Mise en forme
| Propriété | Rôle |
|---|---|
pos size | placement |
textColor | la couleur des libellés |
iconColor | la teinte des icônes — fournissez-les en blanc |
fontPath fontSize | la police |
Les 32 icônes
Remplacer une icône est facultatif : Recalbox fournit les siennes. Vous ne redéfinissez que celles que vous voulez.
Directions — iconUpDown, iconLeftRight, iconUpDownLeftRight
Boutons — iconA, iconB, iconX, iconY
Gâchettes — iconL, iconR, iconL2, iconR2, iconL3, iconR3, iconLR, iconL2R2, iconL3R3
Système — iconStart, iconSelect, iconHotkey
Combinaisons avec Hotkey — iconHkA, iconHkB, iconHkX, iconHkY, iconHkL, iconHkR, iconHkLeftRight
Joysticks — iconJ1UpDown, iconJ1LeftRight, iconJ1UpDownLeftRight, iconJ2UpDown, iconJ2LeftRight, iconJ2UpDownLeftRight
Une combinaison, c’est deux pictogrammes
Quand l’aide porte sur une combinaison, Recalbox dessine iconHotkey, puis la touche.
[HK] [A] Lancer le jeu
iconHkA est donc l’image du bouton A employé en combinaison — pas un dessin de « HK + A ». Fournissez-y un simple bouton : le raccourci est déjà devant.
iconHotkeycompte double : il apparaît devant chaque combinaison de la barre. C’est l’icône à soigner en premier si votre thème en affiche.
Le nom est imposé : help
Recalbox va chercher le composant nommé help, et lui seul. <helpsystem name="barre"> existera dans votre fichier sans jamais rien piloter.
La barre se règle vue par vue
Recalbox relit le <helpsystem> de la vue à chaque changement d’écran, et repart de ses propres icônes. Ce qu’une vue ne déclare pas revient donc au défaut de Recalbox — jamais à ce qu’une autre vue avait posé.
Deux manières de faire :
- le même jeu partout — déclarez la barre dans une vue qui couvre tout :
<view name="system, detailed, menu">; - une barre différente par écran — un
<helpsystem>dans chaque vue, avec ses propres images.
Fournissez des icônes blanches et servez-vous de
iconColor: un seul jeu de fichiers suffit alors pour toutes les variantes de couleur de votre thème.
Proposer plusieurs jeux d’icônes
C’est ce que font les grands thèmes : un jeu SNES, un jeu Xbox, un jeu PlayStation… et l’utilisateur choisit dans Menu → Interface → Thème.
Chaque jeu est un fichier qui ne contient que le <helpsystem> et ses images :
<!-- ./options/icones-snes.xml -->
<theme>
<view name="system, detailed, menu">
<helpsystem name="help">
<iconA>${root}/data/icones/snes/a.svg</iconA>
<iconB>${root}/data/icones/snes/b.svg</iconB>
</helpsystem>
</view>
</theme>
Et vous les proposez ainsi, sans rien déclarer d’autre :
<include subset="iconset" name="1 - SNES">${root}/options/icones-snes.xml</include>
<include subset="iconset" name="2 - Xbox">${root}/options/icones-xbox.xml</include>
iconsetest un nom réservé : Recalbox affiche « SELECT THEME’S ICONSET », traduit dans la langue de la machine. Pas besoin de balise<subset>pour le nommer.