helpsystem — die Hilfeleiste
Die 32 Button-Symbole, eines nach dem anderen.
Die Leiste unten am Bildschirm, die daran erinnert, wozu die Buttons dienen. 38 Eigenschaften: sechs für die Formatierung, und 32 Symbole.
Recalbox entscheidet selbst, was die Leiste ankündigt, Bildschirm für Bildschirm, und übersetzt jede Beschriftung. Dein Theme legt nur die Form fest: die Platzierung, die Schrift, die Farben, und das Bild jedes Piktogramms.
<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>
Die Formatierung
| Eigenschaft | Aufgabe |
|---|---|
pos size | Platzierung |
textColor | die Farbe der Beschriftungen |
iconColor | die Einfärbung der Symbole — liefere sie in Weiß |
fontPath fontSize | die Schrift |
Die 32 Symbole
Ein Symbol zu ersetzen ist optional: Recalbox bringt seine eigenen mit. Du definierst nur die neu, die du willst.
Richtungen — iconUpDown, iconLeftRight, iconUpDownLeftRight
Buttons — iconA, iconB, iconX, iconY
Schultertasten — iconL, iconR, iconL2, iconR2, iconL3, iconR3, iconLR, iconL2R2, iconL3R3
System — iconStart, iconSelect, iconHotkey
Hotkey-Kombinationen — iconHkA, iconHkB, iconHkX, iconHkY, iconHkL, iconHkR, iconHkLeftRight
Joysticks — iconJ1UpDown, iconJ1LeftRight, iconJ1UpDownLeftRight, iconJ2UpDown, iconJ2LeftRight, iconJ2UpDownLeftRight
Eine Kombination sind zwei Piktogramme
Wenn die Hilfe eine Kombination betrifft, zeichnet Recalbox iconHotkey, dann die Taste.
[HK] [A] Spiel starten
iconHkA ist also das Bild des A-Buttons in einer Kombination — keine Zeichnung von „HK + A“. Setze dort einen schlichten Button hin: das Kürzel steht schon davor.
iconHotkeyzählt doppelt: es erscheint vor jeder Kombination der Leiste. Es ist das Symbol, das du zuerst polieren solltest, wenn dein Theme welche zeigt.
Der Name ist vorgegeben: help
Recalbox sucht das Bauteil namens help, und nur dieses. <helpsystem name="barre"> wird in deiner Datei existieren, ohne je etwas zu steuern.
Die Leiste wird Ansicht für Ansicht eingerichtet
Recalbox liest das <helpsystem> der Ansicht bei jedem Bildschirmwechsel neu, und beginnt wieder bei seinen eigenen Symbolen. Was eine Ansicht nicht deklariert, fällt daher auf Recalbox' Standard zurück — nie auf das, was eine andere Ansicht eingestellt hatte.
Zwei Wege:
- überall derselbe Satz — die Leiste in einer Ansicht deklarieren, die alles abdeckt:
<view name="system, detailed, menu">; - eine andere Leiste pro Bildschirm — ein
<helpsystem>in jeder Ansicht, mit eigenen Bildern.
Liefere weiße Symbole und nutze
iconColor: ein einziger Dateisatz genügt dann für alle Farbvarianten deines Themes.
Mehrere Symbolsätze anbieten
Das machen die großen Themes: ein SNES-Satz, ein Xbox-Satz, ein PlayStation-Satz… und der Benutzer wählt in Menü → Oberfläche → Theme.
Jeder Satz ist eine Datei, die nur das <helpsystem> und seine Bilder enthält:
<!-- ./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>
Und angeboten werden sie so, ohne irgendetwas anderes zu deklarieren:
<include subset="iconset" name="1 - SNES">${root}/options/icones-snes.xml</include>
<include subset="iconset" name="2 - Xbox">${root}/options/icones-xbox.xml</include>
iconsetist ein reservierter Name: Recalbox zeigt „SELECT THEME'S ICONSET“, übersetzt in die Sprache der Maschine. Kein<subset>-Tag ist nötig, um ihn zu benennen.