1. Allgemeines
Konfigurationsdateien im Sinne von OMSI sind reine Textdateien, die das Zusammenspiel aus Modell (3D-Dateien, oft auch Mesh genannt), Texturen und Skripts definieren. Sie können schon mit handelsüblichen Texteditoren geöffnet werden, bewährt hat sich hier Notepad++ (kostenlos). Grundlegend lässt sich sagen: Alle die Informationen, die in Klartext konvertiert werden können (ausgenommen Skripts), sind in Konfigurationsdateien definiert.
Die Dateiendung (vgl. Dateiformate) von Konfigurationsdateien variiert, die "klassischen" Endungen sind cfg, sco, sli, bus und ovh.
2. Schlüsselwörter
Ähnlich wie bei Programmiersprachen gibt es in Konfigurationsdateien Schlüsselwörter, die je nach Dateityp verschieden sind. Pro Datei können (gemäß erwartetem Format) beliebig viele verschiedene Schlüsselwörter auftreten. Nahezu alle Schlüsselwörter stehen in eckigen Klammern (Ausnahmen z.B. in der Hofdatei). Alles, was außerhalb von Schlüsselwörtern bzw. Blöcken, die zu Schlüsselwörtern gehören, steht, wird von OMSI ignoriert (vgl. Auskommentieren).
OMSI erkennt Schlüsselwörter case-sensitive, das bedeutet, dass auch Groß- und Kleinschreibung der Schlüsselwörter exakt passen muss!
Als allgemeine Konvention hat sich etabliert, vor und nach Schlüsselwörtern immer mindestens eine Zeile freizulassen, um deutlich zu machen, welche Blöcke zusammengehören:
Folgende Typen von Schlüsselwörtern gibt es:
2.1. Alleinstehend
Sie treten alleine für sich auf und benötigen keine weiteren Angaben.
Ein alleinstehendes Schlüsselwort:
[nocollision]
Ein anderes alleinstehendes Schlüsselwort:
[onlyeditor]
2.2. Feste Anzahl an Parametern
Schlüsselwörter, die zusätzliche Angaben brauchen, zum Beispiel Dateinamen, Werte, etc. Solche Parameter können Zeichen, Zeichenketten und/oder Gleitkommazahlen (mit Dezimalpunkt!) sein. Die Anzahl ist dabei pro Schlüsselwort immer fest. Strenggenommen sind alleinstehende Schlüsselwörter ein Spezialfall dieser Art (0 Parameter).
Ein Schlüsselwort mit einem String-Parameter:
[mesh]
MeinMesh.o3d
Ein Schlüsselwort mit 4 Gleitkomma-Parametern:
[profilepnt]
1.5
0.1
1
-0.1
Ein Schlüsselwort mit 4 Parametern unterschiedlichen Typs:
[char]
A
242
262
0
Alles anzeigen
2.3. Variable Anzahl an Parametern
Bei bestimmten Schlüsselwörtern ist die Länge des Blocks dynamisch. In diesem Fall bestimmt der erste Parameter des Schlüsselworts die Anzahl der folgenden Einträge.
Ein Schlüsselwort, dem 3 Parameter folgen:
[stringvarnamelist]
3
script\IBIS_stringvarlist.txt
script\Rollband_stringvarlist.txt
script\cockpit_stringvarlist.txt
In seltenen Fällen kann es auch nötig sein, dem Schlüsselwort gar keine Parameter zu übergeben:
[global_strings]
0
2.4. Expliziter END-Befehl
Bei Schlüsselwörtern, die längeren Text beinhalten (z.B. Beschreibungen für den Spieler), ist die zuvor genannte Methode wenig sinnvoll. Hier wird das Ende eines Blocks mit einem expliziten [end] gekennzeichnet.
[description]
Technische Daten:
Länge: 11.490 mm
Breite: 2500 mm
Höhe 4060 mm
Motor: MAN D2566MUH, 141 kW bei 2100 U/min
Getriebe: Voith D851
Höchstgeschwindigkeit: 75 km/h
Leergewicht: 10700 kg
Zulässiges Gesamtgewicht: 16.000 kg
Sitzplätze Oberdeck: 47
Sitzplätze Unterdeck: 34
Stehplätze: 8
[end]
Alles anzeigen
3. Aufbau
Es gilt immer: Das Schlüsselwort muss alleine in einer Zeile stehen. So darf vor und nach dem Schlüsselwort kein Leerzeichen oder andere Zeichen stehen. Wenn dies jedoch getan wurde, gilt der Befehl als auskommentiert und ist somit ohne Bedeutung (s. Auskommentieren). Kommentare können vor, zwischen oder nach den Schlüsselwörtern geschrieben werden.
In diesem Beispiel:
- [Schlüsselwort]: 3 weitere Zeilen werden ausgelesen
- [absheight]: 0 weitere Zeilen werden ausgelesen
- [description]: bis zum Befehl [end]
- [script]: eine weitere Zeile. Diese Zahl bestimmt dann, wie viele weitere Zahlen ausgelesen werden
Das ist ein Kommentar
Das ist ein Kommentar
[Schlüsselwort]
0.1
envmap.bmp
3
Diese Zeile ist wieder ein Kommentar, da von dem Schlüsselwort an nur 3 weitere Zeilen ausgelesen werden
Kommentar
[absheight]
Dies ist ein Kommentar, da das Schlüsselwort alleinstehend ist.
[description]
Dieser Bus ist... und kann ...
Länge: ...
Höhe: ...
...
Hier ist KEIN Kommentar, da noch kein [end]-Befehl folgte.
[end]
Hier gibt es wieder Kommentarzeilen
[absheight]
^ Das ist kein gültiges Schlüsselwort, da die Zeile mit einem Tab startet.
[Schlüsselwort]
^ Das ist auch kein Schlüsselwort, da die Zeile mit einem Leerzeichen startet. Somit werden auch die folgenden drei Zeilen ignoriert.
Alles anzeigen
4. Verwendung von Konfigurationsdateien
Konfigurationsdateien werden für folgendes benutzt:
- AI-Listen
- global.cfg-Dateien für Karten
- Signalrouten
- Timeline-Dateien für Karten
- Geldkonfigurationen
- Texturkonfigurationen
- model-Dateien
- Sitzplatzkonfigurationen
- Pfadkonfigurationen
- Wolkenkonfigurationen
- envir.cfg
- Optionen
Diese Liste ist keinesfalls vollständig. Wie zuvor beschrieben, gelten in OMSI nahezu alle Daten, die weder Skripts (.osc), Modell-Dateien (.x, .o3d) noch Bild-/Sounddateien sind, als Konfigurationsdaten.