Hofdatei
Aktuell in Arbeit
Inhaltsverzeichnis
- 1 Hofdateien für Omsi
- 1.1 Was ist eine Hofdatei
- 1.2 Aufbau einer Hofdatei
- 1.2.1 Schreiben von Befehlen und Strings - allgemeine Informationen für Omsi intern
- 1.2.2 Aufbau des ersten Bereiches einer Hofdatei
- 1.2.3 Aufbau des zweiten Bereiches einer Hofdatei - Endstellenliste
- 1.2.4 Aufbau des dritten Bereiches einer Hofdatei - Haltestellenliste
- 1.2.5 Aufbau des vierten Bereiches der Hofdatei - Routenlisten
- 2 Die Universelle Hofdatei.
Hofdateien für Omsi
Was ist eine Hofdatei
Eine Hofdatei ist die Grundlage, um einen Bus auf einer Linie einer Map fahren zu können. Ohne Hofdatei kann der Bus keine Informationen anzeigen (Matrix, Rollbänder) und dadurch steigen keine Fahrkunden ein. Diese beinhaltet die Endhaltestellen einer Karte (alle Endstellen, ob auf der Map vorhanden oder nicht), alle auf der Map vorhandenen Haltestellen und die Routen der einzelnen Linien. Sie dient lediglich der Information der Anzeigen und die Audiowiedergabe der Haltestellen / Endstellen im und am Bus. Die in der Hofdatei eingetragenen Routen geben nicht den Linienverlauf in Omsi vor, dies würd über den Fahrplan im Editor gestellt. Aber die Hofdatei dient der Informationsausgabe für die Zielanzeigen im Bus, die Innenanzeigen im Bus, die Anzeigen im Informationsgerät (IBIS, IBIS 2, EFAD, Atron, INIT usw) und die Texturnamen der Rollbandtexturen. Eine Hofdatei muß im Busordner vorliegen (in keinem Unterordner des Busses) und muß als Endung .hof haben. Diese Datei kann mit einem Editor oder Schreibprogramm erstellt werden, muß aber dann als Textdatei.txt abgespeichert werden. Schlußendlich wird dann der Dateiname .txt gelöscht und durch .hof ersetzt.
Aufbau einer Hofdatei
Man kann reinschreiben was man möchte, solange es nicht am Zeilenanfang steht (einmal TAB drücken) da es sonst zu Fehlermeldungen beim einlesen der Hofdatei kommen kann. Alles was nicht am Zeilenanfang steht, wird von Omsi nicht erkannt und daher nicht beachtet.
Schreiben von Befehlen und Strings - allgemeine Informationen für Omsi intern
In der Hofdatei ist dies ein wiederkehrender Prozess. In eckigen Klammern werden Befehle geschrieben und direkt darunter die Strings. Ein String ist ein Eingabewert der einen Verweis auf Punkte einer Map haben kann, oder einen Informationswert für eine Anzeige. Der Aufbau der einzelnen Befehle erklärt sich später bei den einzelnen Bereichen einer Hofdatei.
Eine Hofdatei gliedert sich in 4 Bereiche
- Teil - Informationen zur Hofdatei
- Teil - Liste der Endhaltestellen
- Teil - Liste der Haltestellen
- Teil - Linienlisten der einzelnen Routen
Aufbau des ersten Bereiches einer Hofdatei
Der erste Bereich enthält Informationen, wo sich bestimmte Ordner befinden, die der Bus später benötigt, wie Rollbandtexturen, Steckschildtexturen oder Ansagen, Anzahl der verwendeten Strings in den Bereiche 2 und 3. Der erste Befehl ist der Name der Hofdatei, so wie diese später im Auswahlmenü angezeigt wird. Der Name sollte passend zur Map sein und, falls die Chronologiefunktion benutzt wurde, auch die Zeit. Bedenke dabei, daß auch andere User die eine Strecke erstellen den gleichen Namen nutzen könnten, wenn deren Strecke zum Beispiel real ist, während die eigene fiktiv erstellt wurde.
[name] Spandau 1990 [servicetrip] Betriebsfahrt
Servicetrip gibt an, wenn ein Bus geschildert hat, wie er auf diese Beschilderung reagiert. Dazu muß Betriebsfahrt später eingetragen werden und als "nicht einsteigen" makiert werden, mit dem Befehl: [addterminus_allexit].
[global_strings] 4 Spandau_old Spandau Spandau_90 3
Mit dem Befehl [Global_Strings] wird angegeben, wie die Ordner heißen, die Informationen zu der Karte haben. Diese Strings sind festgelegt:
4 - sagt an wieviele Strings unter diesem Befehl folgen Spandau_old - Name des Unterordners der die Ansagen der Karte enthält. Dieser Unterordner muß unter Vehicles\Announcements angelegt werden. Diese einzelnen Ansagen der Haltestellen und Endhaltestellen, sollte im Audioformat .wav enthalten sein. Die Dateinamen der Audiofiles sollte einen Bezug zur Haltestelle / Endhaltestelle haben. Spandau - Unterordner im Odner Anzeigen für die Rollbandtexturen Spandau_90 - Unterordner für die zusätzlichen Seitenschildtexturen. 4 - Ibis-Specialcode die auf dieser Map verwendet werden können. Diese Zahl gibt an, welche Liniencodes mit Buchstaben auf speziellen Linien genutzt werden.
4= 900'er-Linien (Anzeige der Linie N.. oder ..N) 5= 800'er-Linien (Anzeige der Linie X) 6= 500'er-Linien (Anzeige der Linie M)
Dieser Bereich ist nur für Omsi 2 wichtig, in Omsi 1 hingegen entfällt dieser Befehl und die Eintragungen, weil sich die entsprechenden Dateien in den Unterordnern des jeweiligen Busses befindet.
Die folgenden Befehle werden nicht in eckigen Klammern geschrieben. Sie enthalten nur die Information, wieviele Strings in den Bereichen 2 und 3 folgen, damit Omsi genau erkennt, wieviele Strings ausgelesen werden sollen. Wichtig ist dies bei Omsi 2, da hier in den Bereichen 2 und 3 der Hauptbefehl nur einmal geschrieben werden muß.
Stringcount_terminus 7 Stringcount_busstop 5
Terminus gibt den Bereich an, der für die Endstellen vorgesehen ist. Und Busstop bleibt damit nur für die Haltestellenliste. Die genaue Anzahl richtet sich nach den geschriebenen Strings. Wichtig wird dies für eine Universelle Hofdatei die für alle verwendeten Anzeigesystem in den Bussen Verwendung finden. Man kann bis 999 Strings verwenden, alles darüber hinaus, wird mit einem Fehler von Omsi quttiert, da normal nicht so viele Strings benötigt werden können. Es richtet sich ja nach den unterschiedlichen Anzeigesystemen der Busse, nicht um jeden einzelnen Bus selbst.
Aufbau des zweiten Bereiches einer Hofdatei - Endstellenliste
In dieser Liste werden die Anzeigen für die Busse geschrieben, wie diese die entsprechenden Endstellen später anzeigen sollen. Wichtig hierbei ist, das die Buchstabenanzahl nicht überschritten wird, weil sonst die Ziele nicht vollständig angezeigt werden. Welche Buchstaben genau angezeigt werden können, entscheidet der Font der Anzeigegeräte. Beinhaltet dieser Font nur Großbuchstaben, muß die Anzeige in Grossbuchstaben gesetzt werden. Das gleiche gilt für Umlaute, Satzzeichen oder Symbole.
Der Aufbau dieses Bereiches kann zwei Formen annehmen. Für Omsi 1 gilt nur eine Form, wobei bei Omsi 2 beide Formen genutzt werden können. Der übersicht wegen, wird hier die alte Schreibform (untereinander gegliedert) gezeigt. Um eine Hofdatei zu erstellen empfielt sich die Verwendung eines Schreibprogrammes wie Office Word. Für die neuere Schreibform wie in Omsi 2 empfiehlt sich ein Tabellenprogramm wie Exel, da hier die Anzeigen nacheinander, getrennt von einem Tabulator gesetzt wird. Jeder gesetzte Abstand des Tabulator's, setzt den nächsten string fest. Aus beiden Programmen, kann man diese Hofdatei als Textdatei abspeichern und die Dateiendung umbenennen.
In dem zweiten Bereich gibt es nur zwei Befehle, die wiederrum das Verhalten der Fahrkunden steuert. [addterminus] bedeutet, daß die Fahrkunden einsteigen könne, spätestens beim erreichen dieser Endstelle den Bus verlassen müssen, [addterminus_allexit] bedeutet, egal was die Anzeige zeigt, es darf nicht eingestiegen werden. Direkt darunter kommen zwei Informationen und darauf folgend die Strings:
addterminus_allexit] 123 Name der Endstelle String 0 String 1 String 2 String 3 String 4 String 5 String 6
Gemäß der Vorgabe im ersten Bereich der Hofdatei unter [stringcount_...] kann man hier die Strings für die Anzeigesysteme schreiben. Die ersten beiden Punkte unter dem Befehl sind fest vorgegeben und beinhalten nichtangezeigte Informationen. Besonders wichtig ist hier die richtige Stringanzahl. Stehen hier mehr Strings als unter "Stringcount_terminus" eingetragen, werden die folgenden Strings nicht beachtet (gelten also als nicht vorhanden). Außerdem ist zu Beachten, daß die Stingzählung bei NULL beginnt und nicht bei Eins. Das bedeutet, daß sieben Strings ausgelesen werden, von String 0 bis String 6.
123 - die 3-stellige Zahl gibt dieses Ziel einen IBIS-Code. Da man im Ibis keine Buchstaben eingeben kann, werden alle Ziele mittels Code identifiziert. Welchen Code ein Ziel bekommt ist dabei egal, solange der Code für ein einziges Ziel eingetragen wird. Das Ziel kann zwar mit dem Code mehrmals in der Liste erscheinen, aber ein bestimmter Zahlencode darf nicht zwei unterschiedliche Ziele beinhalten.
Gefolgt vom Namen der Endstelle. Hierbei erhält jede Endstelle einer Map seinen eigenen Zahlencode für das IBIS. Der Name der Endhaltestelle, der hier eingetragen wurde, muß dem Endstellenwürfel im Editor entsprechen. Sind diese nicht gleich, wird diese Endstelle nicht mit dem Ziel in Verbindung gebracht und ignoriert. Das bedeutet, daß diese Endstelle (im Editor) keinen IBIS-Code besitzt und daher nicht geschildert werden kann. Im Ibis wird eine Endstelle angezeigt, aber diese existiert für Omsi garnicht.
Nun folgen die Strings der einzelnen Anzeigen. Diese Strings werden für die jeweiligen Anzeigegeräten in den Script-Dateien festgelegt. Die Verwendung welcher String für welche Anzeige genutzt wird, ist frei, sollte aber sinnvoll eingetragen werden, damit die Hofdatei für andere Busse genutzt werden kann.
Das folgende Beispel, zeigt die Eintragungen einer ANNAX-Matrix, Rollbandanzeige, IBIS 1 und IBIS 2 Gerät:
[addterminus] 123 Endhaltestelle BHF KIESELSTEIN Bahnhof Kieselstein Bhf. Kieselstein Rollbandtextur.tga Bahnhof Kieselstein
Aufgeschlüsselt bedeuten die Eintragungen (hier am Beispiel eines MAN SD 202) folgende Punkte am Bus:
[addterminus] 123 - Durch Eingabe dieses Zahlencode in das IBIS, Atron, EFAD, etc. bei der Taste Ziel, wird die gewählte Endhaltestelle angezeigt. Endhaltestelle - hier muß der korrekte Name der Endstelle wie im Editor eingetragen werden. BHF KIESELSTEIN - Anzeige für das IBIS 1 (max. 16 Zeichen [incl. Leerzeichen] und nur Großbuchstaben, weil es im Font des IBIS 1 nur Großbuchstaben gibt. Bahnhof - Anzeige der oberen ANNAX-Zeile an der Front des Busses. Hier dürfen ebenfalls nur 16 Zeichen vorhanden sein, und Buchstaben in Groß- und Kleinschrift. Kieselstein - Anzeige der unteren ANNAX-Zeile an der Fahrzeugfront. Hier dürfen ebenfalls nur max. 16 Zeichen erstellt werden. Bhf. Kieselstein - Zielanzeige an der einzeiligen Seitenmatrix (ANNAX-Seite) mit max. 16 Zeichen. Rollbandtextur.tga - Name der Rollbandtextur im Ordner Anzeigen. Wichtig: die Dateiendung muß richtig eingetragen werden. Bahnhof Kieselstein - Anzeige für das IBIS 2-Gerät (Groß- und Kleinschreibung, max. 20 Zeichen).
Die hier gezeigte Schreibweise kann für Omsi 1 und Omsi 2 verwendet werden. Um bei Omsi 1 kurze Namen zu zentrieren, sollte man Leerzeichen verwenden. Für Omsi 2 ist es ratsam, hinter einer Eintragung ein Tabulator zu setzen. Wurden alle Endstellen, die auf der Map vorhanden sind geschrieben, können alle Endstellen geschrieben werden, die nicht auf der Map sind, aber von Linien die auf der Map fahren (KI-Linien) geschrieben werden. Der Präfix "_allexit" hinter dem Befehl addterminus sorgt dafür das keine Fahrkunden einsteigen und eventuell im Bus sitzende Fahrkunden, nach der Eingabe, sofort aussteigen.
Die Reihenfolge der eingetragenen Endstellen, bestimmt später die Reihenfolge der Rollbandtexturen, wenn man diese in einem Bus manuell einstellt (also nicht über das Omsi-Menü).
Aufbau des dritten Bereiches einer Hofdatei - Haltestellenliste
In dieser Liste ändert sich lediglich der Befehl und die Anzeige-Orte im Bus. Es gibt nur ein Befehl der eine weitere Haltestelle hinzufügt. Und es werden nur Haltestellen geschrieben, die vom Spieler bedient werden können (unabhägig, ob diese Haltestellen auf der Map existieren oder nicht).
[addbusstop] Haltestelle BUSPLATZ AM WALD Busplatz Am Wald Busplatz am Wald
Hier wieder die Aufschlüßelung der Eintragungen:
[addbusstop] Haltestelle - Name der Haltestelle wie im Editor und Name der Audiodatei der Ansage (ohne Dateiendung). BUSPLATZ AM WALD - Anzeige für das IBIS 1 Gerät Busplatz - Innenanzeige erste Sicht vor dem Umschalten. Am Wald - Innenanzeige zweite Sicht nach dem Umschalten, die beiden Anzeigen werden im Takt automatisch umgestellt und zentriert. Busplatz am Wald - Name der Haltestelle für das IBIS 2.
Die Reihenfolge der einzelnen Haltestellen ist dabei irrelevant. Die Ausstiegspunkte der Endstellen werden nicht mit eingetragen, aber die Einstiegspunkte, also die alle erste Haltestelle, an der die Fahrkunden einsteigen dürfen.
Damit ist dieser kurze Abschnitt schnell geschafft.
Aufbau des vierten Bereiches der Hofdatei - Routenlisten
Hier werden nun, für jede einzelne Route die Liste in der Reihenfolge der abzufahrenden Haltestellen eingetragen. Die richtige Reihenfolge ist nicht für die Linie entscheidend, sondern der Fahrplan, so wie er im Editor erstellt wurde. Die richtige Reihenfolge wird aber benötigt, wenn die Ansagen der Haltestellen passen sollen und die Anzeigen in den Businternen Informationsgeräten. Schreibfehler oder die falsche Reihenfolge führt bei Bussen mit automatischer Haltestellenweiterschaltung nicht zu Fehlern im Bus, da nur der Bus diese Daten ausließt.
Zur Definition: Eine Route ist der Weg von einer Endstelle zu einer anderen, also der wahre Anfangs- und Endpunkt einer Linie in einer Richtung. Zwei Routen sind nötig um einen Umlauf zu definieren. Bestehend aus der Hintour und der Rücktour. Es wird also lediglich eine Route je Liste geschrieben, kein kompletter Umlauf.
Dieser Bereich teilt die Liste in 2 Gruppen auf. Hier gibt es auch wieder zwei festgelegte Befehle. Im ersten Teil [infosystem_trip] befinden sich die Information, der Linie und Routennummer, wo eine Linie beginnt und wo diese endet sowie den IBIS-Code welches Zeil geschildert werden soll. Das hat zur Folge, das es vollkommen ausreichend ist, wenn man nur die Linie und die Route im IBIS einträgt, daß Ziel und die Linie werden dann bereits bei einer Matrix geschildert. Rollbänder müßen hingegen, manuell oder über das Menü eingestellt werden. In der ersten Gruppe befinden sich also die Informationen für die Route und in der zweiten Gruppe [infosystem_busstop_list] die Liste der Haltestellen.
[infosystem_trip] 901 Busplatz-Kieselstein 123 9 ................ [infosystem_busstop_list] 5 Busplatz Busplatz Am Wald Einsteindorf Krankenhaus Bhf Kieselstein
Dies soll nur eine kurze Liste darstellen die rein fiktiv ist, um zu erklären was wo steht. Hier geht es um die Linie 9 und die erste Route. Nun geht es wieder um die Aufschlüsselung der einzelnen Zeilen:
[infosystem_trip] - Dieser Befehl sagt aus, daß hier Infos zur folgenden Route stehen. 901 - Die Linie und die Routennummer. Also Linie 9 und die erste Route. Diese Zahl "kann" auch 6-stellig sein (also 4-stellig, die Liniennummer und 2-stellig für die Route), während die Route 2-stellig sein "muß". Busplatz-Kieselstein - Diese Zeile wird nicht ausgelesen, sie dient nur der Orientierung, von welche Route jetzt die Liste folgt. 123 - IBIS-Code der Zielendstelle (also in diesem Beispiel "Kieselstein"). 9 - Wiederholung der Liniennummer. ................ [infosystem_busstop_list]- Dieser Befehl sagt aus, das hier die Liste der Haltestellen kommt (inclusive Anfangs- und Endhaltestelle) 5 - Anzahl der Haltestellen insgesamt. Beginnend bei der Zahl 1 (nicht NULL) Busplatz - erste Haltestelle (also die Einstiegshaltestelle) Busplatz Am Wald Einsteindorf Krankenhaus Bhf Kieselstein - Endhaltestelle, wo die Fahrkunden aussteigen sollen.
Dies wird nun für jede, im Editor erstellte Route eingegeben, allerdings nur für die Linien, die auch vom Spieler gefahren werden können. KI-Busse brauchen dies nicht, da KI-Busse keine Ansagen, Innenanzeigen oder sonstige Infos tragen, außer die Außenanzeigen (die aber aus der Endstellenliste ausgelesen werden). Die geschriebene Anzahl der Haltestellen muß mit der tatsächlichen Anzahl der eingetragenen Haltestellen übereinstimmen, sonst werden weitere Haltestellen nicht angezeigt oder angesagt, oder die Fahrkunden steigen alle zu früh aus.
Es müßen nicht alle Linien geschrieben werden. einige gesonderte Linien kommen auch ohne Linienlisten aus. Dann gibt es aber weder eine Anzeige noch Ansagen, was z.B. bei kurzeitigen Linien gedacht ist oder Zielen die zu einer bestimmten Zeit nicht in einer Matrix oder Röllbänder existierten, wie zum Beispiel die Linie E522 in Spandau, zwischen November 1989 und Dezember 1990.
Sonstiges: Wenn ein Ziel, über das Steckschild angezeigt werden soll (nur in Omsi 2)
Wenn es keine Anzeigen im Bus geben soll, sondern die Ziele nur über ein Steckschild angezeigt werden sollen, muß der IBIS-Code über eine 4-stellige Nummer verfügen. 4-stellige IBIS-Codes können nicht im IBIS eingetragen werden. Daher bleibt die Anzeige leer, aber die Linie bleibt erhalten und das Steckschild fungiert als Anzeigen-Ersatz, womit auch die Fahrkunden einsteigen.
Die Universelle Hofdatei.
Dieser Abschnitt richtet sich an alle Personen die einen Bus bauen, Anzeigegeräte erstellen und komplette Add-Ons produzieren.
Was bedeutet "Universelle Hofdatei" ?
Wie der Name schon vermuten läßt, bedeutet Universell = Vielseitig! Also eine einzige Datei die vielseitig eingesetzt werden kann. Diese vielseitigkeit bezieht sich hierbei (in Bezug auf Omsi) für alle Gruppen von Anzeigegeräten, die in den Bussen verbaut wurden. Es wird nie eine einzige hofdatei für alle Map's geben, aber es ist Möglich, eine Hofdatei für jede einzelne Map anzulegen, wenn diese nicht in einem Busordner eingestellt wird, sonder in einen seperaten Ordner, wie die Ansagen (Announcement) oder die Rollbandtexturen (Anzeigen)
Wenn eine "universelle Hofdatei" sinnvoll wäre, hätten M+R Software diese umgesetzt.
M+R Software haben eine universelle Hofdatei mit Omsi 1 eingeführt. Es geht also nicht um etwas neues, sondern vielmehr um die Rückkehr zum Anfang, Back to Basic. Zwei unterschiedliche Anzeigegeräte (Rollband und ANNAX-Matrix) und zwei unterschiedliche Informationssteuergeräte (IBIS 1 und IBIS 2). Wer meint das die beiden IBIS-Geräte nicht unterschiedlich wäre, sollte sich nur mal die Anzeigen ansehen. Wärend das IBIS 1 nur Großbuchstaben anzeigen kann und die Anzeige auf maximal 16 Anzeigestellen begrenzt ist, kann das IBIS 2 Groß- und Kleinbuchstaben anzeigen und 20 Anzeigestellen vorweisen. Dafür wurde beiden Geräten, unterschiedliche String zugewiesen. Neue Busse mit neuartigen Anzeigen haben die Strings benutzt, die für die ANNAX-Anzeige vorgesehen waren und mußten dafür umgeschrieben werden. Andere Busse nutzen die Strings, die bereits für die IBIS-Geräte eingestellt wurden. Dazu wurden die Strings umgeschrieben. Stellt man diese Hofdatei in einem MAN SD 202, erhält man teilweise unerwünschte Anzeigeformen.
Sinn und Zweck einer "universellen Hofdatei".
Seitdem Omsi 2011 erschienen ist, sind viele weiter Busse erschienen. Nicht alle haben eine Rollbandanzeige oder eine ANNAX-Matrix. Neue Anzeigen sind auch nicht erst mit Omsi 2 erschienen, wie die Krüger-Matrix, die BUSE-Vollmatrix, die Busfanat-Vollmatrix oder Flipdot-Anzeige. Auch andere Informationsgeräte im Bus, haben ihren Platz in Omsi gefunden. Alle Anzeige- und Informationsgeräte brauchen die Hofdatei als Informationsquelle. Für fast jede Konfiguration von Anzeige-Geräten & Informationssteuergeräten, muß die Hofdatei angepasst werden. Möchte man nun einen anderen Bus nehmen, der eines der beiden verwendeten Geräte nicht besitzt, muß eine neue Hofdatei angefertig oder die vorhandene Hofdatei umgeschrieben werden.
Das mag insgesamt nicht schwer sein, aber nicht alle User haben dazu Zeit oder die Fähigkeit eine entsprechende Hofdatei zu erstellen. Mit einer universellen Hofdatei kann jeder Bus, unabhängig vom verwendeten Anzeige- und Informationssteuergerät, eine einzige Hofdatei für eine Karte verwenden. Bei einführung eines neuen Anzeigesystems oder eines neuen Informationssteuergerätes braucht jeder User nur noch eine Hofdatei aus einem anderen Bus kopieren, ohne verher nachfragen zu müßen, oder testen zu müßen, welche Hofdatei eigentlich am besten passt. Das ist nichtnur für Buserbauer und Mapersteller sinnvoll, sondern ganz besonders für Paywarehersteller, da somit gewährleistet ist, daß wirklich alle Busse auf jeder Karte einsetzbar sind, ohne zuvor eine Hofdatei erstellen oder im Internet suchen zu müßen.
Vor- & Nachteile einer universellen Hofdatei.
Es gibt für eine universelle Hofdatei, natürlich einige Vorteile, aber leider auch einige Nachteile. Hier sollte man abwägen ob eine Umstellung wirklich sinnvoll ist oder nicht. Bei der Umsetzung einer universellen Hofdatei reicht es nicht aus, einfach die Hofdfatei ansich, zu erweitern. Es müßen auch einige Kleinigkeiten in den jeweiligen Bussen geändert werden.
Vorteile einer universellen Hofdatei:
- Eine Hofdatei passt für alle Busse, unabhängig vom verwendeten Anzeige- & Informationssystem.
- Es werden auch alle verwendeten Informationsgeräte und Anzeigen im Bus unterstützt.
- Bei neuen Bussen mit bisher veröffentlichten Systemen, passt die universelle Hofdatei.
- Eine universelle Hofdatei ist unabhängig vom verwendeten Hofsystem (also für Omsi 1 oder Omsi 2).
- Diese Hofdatei kann bei Bussen mit neuen Systemen leicht angepasst/ erweitert werden.
- Bei neuen Bussen muß der User lediglich die Hofdatei in den Busordner einsetzen.
- Alle Busse werden dadurch leichter für alle Karten kompatibel.
- Ein Ziel kann unterschiedliche Anzeigen erhalten.
- Eine universelle Hofdatei kann durch kopieren/ einfügen schnell ergänzt werden.
- Es muß nichtmehr getestet werden, welche Hofdatei für einen Bus passender ist.
Nachteile einer universellen Hofdatei:
- Einige bereits erstellte Hofdateien werden überflüssig (und auch die haben Arbeit und Zeit gekostet).
- Die Übersichtlichkeit innerhalb einer Hofdatei leidet (besonders beim Hofformat in Omsi 2).
- Bei nichtabsprache, welche Strings verwendeten werden können, kann es zu Problemen/ Streitigkeiten kommen.
Insgesamt bleibt aber die Anzahl der verwendeten Strings, innerhalb eines kleinen und leicht umschaubaren Rahmens.
Wie man eine "universelle Hofdatei" umsetzen kann.
Um eine universelle Hofdatei umzusetzen, muß man lediglich drei Dinge beachten:
- Welche Strings kann ich nutzen, ohne die Anzeige in anderen Geräten oder Anzeige negativ zu beeinflusssen?
- Welche neuen Strings kann ich verwenden, die noch nicht von anderen Geräten ausgelesen werden?
- Wie kann ich neue Geräte auf weitere Strings umsetzen?
Im folgenden geht es um bereits verwendete Strings, neu verwendete Strings und Strings die dadurch bereits vergeben sind und wie man das Auslesen der Strings beeinflußt.
Veränderungen in der Hofdatei.
Welche Strings bereits umgesetzt und ausgelesen werden.
M+R Software haben bereits angefangen, neue Strings zu verwenden, als Omsi 2 eingeführt wurde. Hier wurden lediglich weitere Strings in der Hofdatei umgesetzt und neue Informationsteile auf die neuen Strings eingestellt. Busfanat hat auf bitten einer umsetzung, die von ihm erstellte Busfanat-Vollmatrix, sofort auf andere neue Strings umgesetzt. Auch Perontinus hat die von ihm entworfenen Überlandbusse MAN ÜL 242, 272, 292 und 312, auf bereits neue und erweiterte Strings umgestellt.
Im folgendem, soll es um die Stringsvergabe gehen und um die Anpassung im Bus.
Bereit's verwendete Strings.
Bisher wurden die strings in der Hofdatei, bis zum String 12 erweitert und festgelegt:
[addterminus] 123 Endhaltestelle String 0 - Anzeige IBIS 1 (nur Großbuchstaben, maximal 16 Zeichen) String 1 - Anzeige ANNAX-Matrix obere Zeile (maximal 16-Zeichen) String 2 - Anzeige ANNAX-Matrix untere Zeile (maximal 16-Zeichen) String 3 - Anzeige Seiten-ANNAX-Matrix, wenn diese einzeilig ist (maximal 16-Zeichen) String 4 - Rollbandtextur.tga String 5 - Anzeige IBIS 2 (Groß- & Kleinbuchstaben, maximal 20-Zeichen) String 6 - Texturname für Steckschild (wenn Ziel in Matrix nicht darstellbar ist, oder nicht angezeigt werden soll) String 7 - Texturname für Bildanzeige in Krüger-Matrix (Krüger+) String 8 - Frontanzeige für ANNAX-Matrix (Groß- & Kleinbuchstaben, maximal 15-Zeichen) String 9 - Heckanzeige für ANNAX-Matrix (maximal 4-Zeichen) String 10 - IBIS-Code für Gegenroute für künftige Ikarus-Beschilderung (Ikarus 280.02) String 11 - Anziege für Busfanat's-Vollmatrix obere Zeile (oder Komplettanzeige, Wenn diese Zeile leer ist, wird String 1 ausgelesen) String 12 - Anzeige für Busfanat's-Vollmatrix untere Zeile (falls erforderlich, Wenn diese Zeile leer ist, wird String 2 ausgelesen) String 13 - weitere String wurden noch nicht festgelegt
Hinzufügen und erweitern von zusätzlichen Strings.
Um weitere Strings einzubinden sollte man sich vorher überlegen:
- Wieviele Strings brauche ich für die im Bus verwendete Frontanzeige?
- Benötige ich seperate Strings für eine anders anzeigende Seitenanzeige?
- Soll die Heckanzeige seperat und unabhängig der anderen Anzeigen, Informationen darstellen?
- Brauche ich einen zusätzlichen Strings für ein im Bus verbautes Informationssteuergerät?
- Können einige Anzeigeräte bereits vergebene Strings auslesen ohne das diese Strings angepasst oder geändert werden müßen?
- Wie einigt man sich auf neue zusätzliche Strings.
Man kann im offiziellen Omsi-Forum die künftige Verwendung neuer Strings ankündigen und diese in den Scripten des Fahrzeug's einstellen. Wer ganz sicher gehen möchte, kann sich im offiziellen Omsi-Forum an den User <<Tatra>>, via PN wenden und die verwendung weiterer Strings abklären. Oder via E-Mail an: e_marko@web.de - das gilt für neue und auch bereits erschienende Fahrzeuge.
Veränderungen in den BusScripten
Welche Scripte betroffen sind
Hauptsächlich finden sich die Änderungen, nur in zwei Scripten wieder. Zum einen muß das Auslesen des Zieles in den Scripten der Matrixanzeige stattfinden. Diese Scripte haben im Dateinamen meist den Präfix: Matrix, Rollband`` oder ähnliches und die Dateiendung lautet immer auf osc.
Zum anderen finden sich Änderungen in dem jeweils verbauten Informationssteuergerät wieder. Die Namen der verwendeten Steuergeräte sind noch unterschiedlicher als bei der Matrix. Teilweise sind die Scripte zum Steuern der Informationsanlage mit den Fahrkartendruckern zusammengelegt, da es in einigen Bussen kombinierte IBIS-Fahrkartendrucker gibt, wie dem EFAD, INIT, Atron etc, muß man hier eventuell nach mehreren Präfixen suchen:
- IBIS
- IBIS 2
- EFAD
- Atron
- Ticketprinter
- Printer
Aber auch hier lautet die Dateiändug generell: osc.
Die jeweils in den Bussen verbauten Informationssteuergeräten, steuern alle Informationsgeräte die es im Bus gibt, also nicht nur die äußeren Matrix-Anzeigegeräte, sondern auch die inneren Haltestellenanzeigen. In diesen dazugehörigen Scripten werden auch die jeweils benennten Strings angegeben, welche ausgelesen werden sollen.
Die Befehle zum Auslesen bestimmter Strings.
Zum Auslesen der entsprechenden Strings gibt es zwei Befehle:
- (M.V.GetTerminusString)
Zum Auslesen eines bestimmten Strings aus der Endstellenliste (2.Bereich einer Hofdatei)[addterminus]
- (M.V.GetBusstopString)
Zum Auslesen eines bestimmten Strings aus der Haltestellenliste (3.Bereich einer Hofdatei) [addbusstop]
Nur diese beiden Befehle sind für das Auslesen eines bestimmten Strings zuständig. In diesem Bezug finden sich leider nicht immer die entsprechenden nummerierten String, was das umstellen sehr erschwert.
Einstellen zum Auslesen der Strings.
Als Beispiele sollen hier die Stringeinstellungen im IBIS 1 des MAN SD 200 und des IBIS 2 des SD 202 dienen, sowie die Stringeinstellungen der ANNAX-Matrix.
Das IBIS 1 ließt den String 0 aus der Endstellenliste [addterminus]:
{macro:IBIS_RefreshTerminusText} (L.L.IBIS_TerminusIndex) 0 (M.V.GetTerminusString) (S.$.IBIS_terminus_name) {end}
und den String 0 aus der Haltestellenliste aus:
'Sonst zeige die Bushaltestelle (S.L.IBIS_busstop_index) 0 (M.V.GetBusstopString) (S.$.IBIS_busstop_name)
Die hier eingestellten Ziffern NULL, stehen für den String 0 in beiden Listen.
Für das IBIS 2 Gerät sind es zwei verschiedene Strings die ausgelesen werden. In der Endstellenliste ist es String 5:
{macro:IBIS_RefreshTerminusText} (L.L.IBIS_TerminusIndex) 5 (M.V.GetTerminusString) (S.$.IBIS_terminus_name) {end}
und String 3 in der Haltestellenliste:
'Sonst zeige die Bushaltestelle (L.L.IBIS_busstop_index) 3 (M.V.GetBusstopString) (S.$.IBIS_busstop_name)
Die hier gezeigten Ziffern 5 und 3 weisen auf die Strings hin, die die Information für das IBIS 2 Gerät enthält.
Auch die Innenanzeige des MAN SD 202 (D92) ließt bestimmte Strings aus. Diese findet sich ausschließlich in der Haltestellenliste (3.Bereich) der Hofdatei. Da die Innenanzeige zwei unterschiedliche Informationen anzeigen kann, die im zeitlichen Interval umschaltet, finden sich dort natürlich 2 Strings:
{macro:IBIS_LCD-refresh} 'Formatierung der D92-Innenanzeige (L.L.IBIS_LCD-zeile) 1 = (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString) $length 0 > && {if} (L.L.IBIS_RouteIndex) 0 >= {if} (L.L.IBIS_LCD-zeile) (L.L.IBIS_busstop_index) 2 (M.V.GetBusstopString) (S.$.IBIS_cabindisplay) {endif} {else} (L.L.IBIS_RouteIndex) 0 >= {if} (L.L.IBIS_LCD-zeile) (L.L.IBIS_busstop_index) 1 (M.V.GetBusstopString) (S.$.IBIS_cabindisplay) {endif} {endif} {end}
Hier erkennt man, daß aus der Haltestellenliste zwei unterschiedliche Strings ausgelesen werden sollen. Für die Innenanzeige sind in der Hofdatei die String 1 und 2 vorgesehen.
Für das Rollband gibt es nur einen String der ausgelesen werden soll:
geschrieben von
Tatra 03:04, 7. Sep. 2014 (MEST) Beitrag wird erweitert.