
Bevor man mit dem Cheat Editor irgendwas machen kann, braucht man erst einmal ein Grundgerüst und ein Verständnis, wie die XML Datei aufgebaut ist.
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<!-- Dies ist ein Kommentar -->
<FDL>
<CAFD>
<CODE>
<ITEM>
<!-- Hier stände dann der Inhalt des Items wie z.B. ein Menüpunkt -->
</ITEM>
<ITEM>
<!-- Und hier der Inhalt des nächsten Menüpunkts -->
</ITEM>
</CODE>
</CAFD>
</FDL>
Die XML ist immer in einzelnen Blöcken aufgebaut, die mit einem TAG wie z.B. <FDL> beginnen und mit </FDL> aufhören. Also im obigen Beispiel <FDL> und </FDL>, <CAFD> und </CAFD> und so weiter. Wie das Ganze funktioniert wird an diesem Beispiel klar. Das sind die Einstellungen für die automatische Blinker Rückstellung im xBCO.
Code: Alles auswählen
<cafd id="00002A57" name="X_BCO" author="Frostie" series="">
<code description="Automatische Blinker Rückstellung / Komfortblinken" info="Schaltet die automatische Rückstellung der Blinker ein oder aus.">
<item label="Rückstellung ein (Standard)">
<group id="3000">
<function start="163" end="163" mask="00000001b">01</function>
<function start="163" end="163" mask="00000010b">01</function>
</group>
<group id="3005">
<function start="103" end="103" mask="00000001b">01</function>
</group>
</item>
<item label="Rückstellung aus">
<group id="3000">
<function start="163" end="163" mask="00000001b">00</function>
<function start="163" end="163" mask="00000010b">00</function>
</group>
<group id="3005">
<function start="103" end="103" mask="00000001b">00</function>
</group>
</item>
</code>
</cafd>

Gehen wir dieses Beispiel mal der Reihe nach durch.
- <cafd id="00002A57" name="X_BCO" author="Frostie" series=""> </cafd>
- <code description="Automatische Blinker Rückstellung / Komfortblinken" info="Schaltet die automatische Rückstellung der Blinker ein oder aus."> </code>
- <item label="Rückstellung ein (Standard)"> </item>
- <group id="3000"> </group>
Die Einstellungen sind ja in Gruppen aufgeteilt. Da kommen wir später noch zu.

- <function start="163" end="163" mask="00000001b">01 </function>
- <group id="3005"> </group>
- <function start="103" end="103" mask="00000001b">01 </function>
Für die Blinker Rückstellung stehen zwei Werte in Gruppe 3000 und eine Einstellung in Gruppe 3005. Deswegen müssen beide Gruppen definiert werden.
Und so setzt sich das fort. Sind alle Menüpunkte mit den jeweiligen Einstellungen definiert, wird mit </code> diese Einstellung geschlossen und man kann die nächste mit <code> beginnen.
Hat man alle Einstellungen für dieses Steuergerät definiert, wird dieser Block mit </cafd> beendet.
Und dann kommt vielleicht der nächste Block für ein anderes Steuergerät.
Jetzt kommt natürlich die Frage, wo man die Werte für <cafd id="00002A57"> und <function start="163" end="163" mask="00000001b">01 herbekommt. Und da hilft jetzt der Cheat Editor.
Als erstes speichert man die NCD Datei für das Steuergerät, für welche man Cheats erstellen will, irgendwo auf der Platte ab. Entweder aus dem Ordner \files\ncd kopieren oder einfach ein Backup des gewünschten Steuergerätes machen.
Im Cheat Editor klickt man dann rechts unten auf CAFD File, dann oben auf den Ordner und öffnet die NCD Datei. Am Ende sieht es so aus wie der normale FDL Editor. Jetzt sucht man die Einstellung, für die man einen Cheat erstellen will und klickt rechts daneben auf das +. Damit wird diese Einstellung dem Cheat zugefügt.
Hier zum Beispiel in xBCO die Einstellung tns_comfortindicator

Das macht man mit allen Einstellungen die man ändern will, bis es z.B. so aussieht.
Achtung:
Die Anzeige rechts filtert nach dem, was man oben in der Suchzeile stehen hat. Steht da oben noch z.B. tns_comfort, dann werden in dem Function Fenster die Werte für DistDepend und TimeDepend nicht angezeigt.

Jetzt stellt man die Werte hier so ein, wie sie z.B. für den Menüpunkt "Blinker Rückstellung ein" sein sollen. Hier also alles "active". Und dann sieht man unten rechts den Output, den man einfach kopieren kann.

Das baut man jetzt in das Grundgerüst ein, fügst die Menüpunkt für das DropDown Menü ein und fertig.
Als Beispiel
So kommt die Datei aus dem Cheat Editor.
Code: Alles auswählen
<cafd id="00002A57" name="X_BCO" author="BimmerUtility" series="">
<code description="Enter cheat description here.">
<group id="3000">
<function start="163" end="163" mask="00000001b">01</function>
<function start="163" end="163" mask="00000010b">01</function>
</group>
<group id="3005">
<function start="103" end="103" mask="00000001b">01</function>
</group>
</code>
</cafd>
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<FDL>
<cafd id="00002A57" name="X_BCO" author="BimmerUtility" series="">
<code description="Enter cheat description here.">
<item label="Name des ersten Menüpunkts">
<group id="3000">
<function start="163" end="163" mask="00000001b">01</function>
<function start="163" end="163" mask="00000010b">01</function>
</group>
<group id="3005">
<function start="103" end="103" mask="00000001b">01</function>
</group>
</item>
<!-- Jetzt kopiere ich einfach den oberen ITEM Block nach unten, passe das Label und die Werte an und habe den zweiten Menüpunkt -->
<item label="Name des zweiten Menüpunkts">
<group id="3000">
<function start="163" end="163" mask="00000001b">00</function>
<function start="163" end="163" mask="00000010b">00</function>
</group>
<group id="3005">
<function start="103" end="103" mask="00000001b">00</function>
</group>
</item>
<!-- Am Ende den CODE Block abschließen und fertig ist die Einstellung für die automatische Blinker Rückstellung -->
</code>
<!-- Hier könnte jetzt der nächste CODE Block kommen mit der nächsten Einstellung für dieses Steuergerät -->
</cafd>
<!-- Oder hier kommt der nächste CAFD Block mit den Einstellung für ein anderes Steuergerät -->
</FDL>