Ein Recalbox-Theme erstellen

45 Seiten · 8 Abschnitte
FRENESDE Alles anzeigen Mein Theme erstellen

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

EigenschaftAufgabe
pos sizePlatzierung
textColordie Farbe der Beschriftungen
iconColordie Einfärbung der Symbole — liefere sie in Weiß
fontPath fontSizedie Schrift

Die 32 Symbole

Ein Symbol zu ersetzen ist optional: Recalbox bringt seine eigenen mit. Du definierst nur die neu, die du willst.

RichtungeniconUpDown, iconLeftRight, iconUpDownLeftRight

ButtonsiconA, iconB, iconX, iconY

SchultertasteniconL, iconR, iconL2, iconR2, iconL3, iconR3, iconLR, iconL2R2, iconL3R3

SystemiconStart, iconSelect, iconHotkey

Hotkey-KombinationeniconHkA, iconHkB, iconHkX, iconHkY, iconHkL, iconHkR, iconHkLeftRight

JoysticksiconJ1UpDown, 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.

iconHotkey zä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:

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>

iconset ist 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.