DDorf 1981 - B-Wagen Entwicklerinformationen

  • Entwicklerinformationen zum B-Wagen aus dem Düsseldorf 1981 AddOn.

    1 Modulslots und Module

    Folgende Modulslots werden angeboten:


    Modul-Klasse Beschreibung Mitgleieferte Module
    Zahltisch Klasse wird zu einem späteren Zeitpunkt noch umbenannt, siehe Infos unten.
    Zahltisch Düsseldorf
    Frontdisplay_B-Wagen Frontanzeigen
    Frontrollband Typ Düsseldorf
    Sidedisplay_B-Wagen Seitenanzeigen (4x)
    Seitenrollband Typ Düsseldorf
    IBIS_GT6N[ref][/ref] IBIS/Boardrechner IBIS Typ Düsseldorf (Von Julian)
    TICKETSTAMPER Entwerter Entwerter Düsseldorf
    ZUGSI_Bedien Bediengerät zur Linie/Kurs/Ziel bestimmung der Zugsicherung
    Indusi-Bediengerät
    LZB-Bediengerät
    ZUGSI_Fahrsperre Fahrsperrenbediengerät der Zugsicherung
    Indusi-Fahrsperrenbediengerät
    EXTRASIGN Steckschilder (1.Slot Fahrerplatz A, 2.Slot A außen, 3.Slot Fahrerplatz A, 4.Slot B außen)
    Steckschilder Düsseldorf
    DRIVERSEAT Fahrersitz Fahrersitz Düsseldorf Camouflage
    Fahrersitz Düsseldorf Blau
    (Fahrersitz Düsseldorf Weiß) folgt
    BATTERYLAMP Batterielampe Batterielampe Düsseldorf Alt
    (Batterielampe Düsseldorf Neu) folgt
    Faultdisplay_B-Wagen Störmeldetafel im Fahrerstand
    Störmeldetafel Düsseldorf Alt
    (Störmeldetafel Düsseldorf Neu) folgt


    Weitere Modulslots und auch einige weitere Module werden folgen.


    Die Beschreibungen für nicht unten aufgeführte Modulslots mit speziellen Eigenschaften werden nachgereicht.

    1.1 IBIS / Bordrechner

    1.1.1 Geometrie

    1.1.2 Slot-Information

    Als Modul-Klasse ist "IBIS_GT6N" verwendet worden, da die Abmessungen des Slots sehr identisch sind.

    1.1.3 Script-Kommunikation

    Der Slot erhält folgende explizite Messages (kein Broadcast!):

    • MAINSWITCH (integer): Value = 0 schaltet das Gerät aus, Value = 1 schaltet es ein.
    • FAHRZEUGTYP (integer): Value = 1 dies dient der Anpassung des GT8S/SU IBIS.

    Broadcasts die für den Slot relevant sind:

    • Bus GEN
      • LIGHT (single): Value = 0...1 steuert das Licht.

    1.2 Zahltische

    1.2.1 Geometrie

    1.2.2 Slot-Information

    Als Modul-Klasse ist "Zahltisch" verwendet worden. (Ändert sich ggf. noch, der Slot wird freigeben, sobald Slots in Slots möglich sind, da dann der Ticketdrucker vom Zahltisch getrennt werden kann)

    1.2.3 Script-Kommunikation

    Der Slot kann folgende explizite Message (kein Broadcast!) erhalten:

    • Verschiebung (integer): Value = 1 erziehlt Drehung und Verschiebung des Ticketdruckers an eine andere Position, so wie sie im GT8S/SU verwendet wird.

    1.3 Rollbandanzeigen

    1.3.1 Geometrie


    1.3.2 Slot-Information

    Als Modul-Klassen sind "Frontdisplay_B-Wagen" für die Frontanzeige und "Sidedisplay_B-Wagen" für die Seitenanzeige verwendet worden.

    Die jeweiligen Frontanzeigen werden per Index = 0 dem A-Kopf bzw. mit Index = 1 dem B-Kopf zugeordnet.
    Da der B-Wagen unterschiedliche Seitenanzeigen hat (Linie oder Ziel) wird Scriptseitig den Anzeigen mitgeteilt welchen Modus sie nutzen sollen.

    Somit muss es nur ein Seitenanzeigen Modul und nicht zwei geben.


    Script-Kommunikation


    Der Slot erhält folgende explizite Messages (kein Broadcast!):

    • RLB_Seite_Modus (integer): Value = 0 Linie, Value = 1 Ziel. Zuweisung des Modus.
    • RLB_Initialize (integer): Value = 0 A-Kopf, Value = 1 B-Kopf, dDient dem Initialisierungsprozess der Master-Anzeige. Diese teilt dann den Slaveanzeigen alles weitere mit. (Scripttechnisch nicht im normalen Init-Prozess möglich)
    • RLB_Pos_Linie (integer): Direktansteuerung des Linienbands auf die Position die per Value übergeben wird.
    • RLB_Pos_Ziel (integer): Direktansteuerung des Zielbands auf die Position die per Value übergeben wird.

    Broadcasts die für den Slot relevant sind:

    • Bus GEN
      • LIGHT (single): Value = 0...1 steuert das Licht.
    • Bus PIS
      • LINE (integer): Übergabe der Liniennummer per Value ohne Sonderzeichen o.ä..
      • ROUTE_LISTINDEX (integer): Übergabe des Routelistindex per Value.
      • TERMINUS_LISTINDEX (integer): Übergabe des Terminuslistindex per Value.
    • Bus B80D RLB
      • RLB_Pos_Linie (integer): Direktansteuerung des Linienbands auf die Position die per Value übergeben wird.
      • RLB_Pos_Ziel (integer): Direktansteuerung des Zielbands auf die Position die per Value übergeben wird.

    2 Repaints erstellen

    In folgendem Abschnitt soll auf die Repainterstellung näher eingegangen werden.


    Grundsätzlicher Hinweis: Das Template ist nicht fertiggestellt, es kann im Laufe des EA dazu kommen, dass einige Teile der Textur bzw. des Templates ausgetauscht, bearbeitet oder ergänzt werden! Es können bereits jetzt Repaints erstellt werden, diese werden allerdings bei möglichen Änderungen angepasst werden müssen.

    2.1 Repaint erstellen

    2.2 Hier wird es zum nächsten Update noch einige Anpassungen im Bezug auf die 10-Türer Variante geben

    Der Ordner Repaint Template enthält eine .pdn welche mit Hilfe des Programms Paint.net bearbeitet werden kann. Diese Vorlage ist in mehrere Ebenen unterteilt, alle Ebenen sind auch als .png im Ordner Einzelbilder vorhanden und können somit mit jedem Bildbearbeitungsprogramm verändert und angepasst werden.


    Die Ebenen bzw. Einzelbilder sind wie folgt aufgeteilt:



    Die Ebene Hintergrund beinhaltet eine UV-Übersicht aus Blender, um die eigentliche Abmessung des Fahrzeugs besser überblicken zu können, diese Ebene ist nur als Hilfe gedacht und sollte beim Speichern wieder ausgeblendet werden.


    In der Ebene Sitzpolster und Weiteres befinden sich die Sitzpolster, Anbauteile, Tür- und Fenstergummis usw., diese Ebenen werden für die korrekte Darstellung auf jeden Fall benötigt.

    Gleiches gilt für die Ebene Weiteres_2, in dieser befinden sich die Lüftungsschlitze, welche auf den Grundlack oder die Folierung multipliziert werden sollten, um ein schönes Ergebnis zu erzielen.


    Sollten weiße Türinnenseiten verwendet werden so kann die Ebene Weiteres ausgeblendet und die Ebene Weiteres_weiß eingeblendet werden.


    Unter Aufkleber befinden sich die Anhebepunkte und Unternehmensschriftzüge.


    Die Ebene Lack stellt den eigentlichen Lack dar, diese kann nach Belieben verändert werden.


    Zusätzlich befindet sich eine weitere Ebene Namens Werbung über der Lack-Ebene, diese ist leer und dient nur als Platzhalter, falls man eine Folierung/Teilfolierung vornehmen will.



    Der Bereich der Innenseiten der Trittstufenkästen befindet sich oben rechts. Die genaue Position kann dem UV-Layer entnommen werden.


    Zu diesen Flächen sei gesagt, dass auch diese sich in der Position und Größe noch verändern können, um evtl. unterschiedliche und hochauflösende Innenseiten zu ermöglichen.


    Hinweise für Nutzer anderer Bildbearbeitungsprogramme als Paint.net

    • Alle Ebenen sind als Einzelbilder vorhanden
    • Die Reihenfolge ist dem oben gezeigten Bild zu entnehmen
    • Das Bild Weiteres_2 muss zwingendermaßen mit dem Lack bzw. der Werbung multipliziert werden, um ein schönes Ergebnis zu erzielen

    2.3 Das Repaint in LOTUS einbinden

    Mit Hilfe des Content Tools (Mods -> Texturtausch) können die vorher als eigenständig geladene Texturen dem B80D zugeordnet werden.


    Wenn die Lackierung auf dem A-Kopf identisch mit dem auf dem B-Kopf sein soll, reicht eine neue Wechseltextur. Dazu Haupt_Stahl.dds auswählen und austauschen.


    Soll auf dem B-Kopf eine abweichende Lackierung vorhanden sein, so muss Haupt_Stahl_B.dds ebenfalls ausgetauscht werden. Bitte beachten: Da noch keine Repaintvariablen möglich sind, müssen bei Repaints mit abweichendem B-Kopf beim Laden des B80D unter den Fahrzeugkosntanten die Checkbox „Abw. Repaint B-Kopf“ siehe Bild unten ausgewählt werden.




    Im nächsten Update kann der Abweichende B-Kopf per Repaint fest eingestellt werden, die Fahrzeug-Konstante enfällt somit.

    Dazu muss im CT unter Variablen folgendes eingefügt werden:


    Code
    1. Texture_Change_B
    2. 1


    Für die 10-Türer Version ist unter den Variablen folgendes einzufügen: (Ebenfalls erst im nächsten Update möglich)

    Code
    1. Doors_10
    2. 1


    Die Varibalen können auch kombiniert werden, dazu diese einfach untereinander schreiben.


    Folgende Textur-Tausche sollten in der .lxc Datei hinzugefügt werden, um den Innenraum in Weiß zu erhalten:



    Die bereits vorbereiteten Austausch-Texturen lassen sich nur finden, wenn der Hacken „Nur meine Texturen bzw. die des Teams anzeigen“ deaktiviert ist.


    Um die Türinnenseiten ebenfalls in Weiß zu lackieren muss bei der Repainterstellung die Ebene bzw. Bilddatei Weiteres_weiß statt Weiteres verwendet werden.

    3 Rollbandsatz erstellen

    3.1 Vorbereitung/Erstellung der Bilddateien

    Zur besseren Sortierung den Ordner Mapnamen ins Arbeitsverzeichnis kopieren und den Namen austauschen.

    Die folgenden Unterordner sind in die jeweiligen Bänder aufgeteilt:



    RLB_L -> Rollband Linie Front


    RLB_LS -> Rollband Linie Seite


    RLB_Z -> Rollband Ziel Front


    RLB_ZS -> Rollband Ziel Seite


    In jedem Ordner befindet sich eine Vorlage für Paint.net (Einzelne Vorlagenbilder im extra Unterordner folgen)


    Die Vorlagen sind sehr groß, die resultierenden Bänder sollten auf jeweils die Hälfte verkleinert werden, siehe jeweilige 00 Datei. Lediglich die RLB_LS benötigen durch den Linienverlauf eine höhere Auflösung.


    In jeder Vorlage sind unterschiedliche Hintergründe vorhanden, welche Verwendet werden können, zusätzlich ist bei den Linienbändern der rote Strich für die E-Linien vorhanden.


    Für einige Bänder gibt es eine Begrenzung, welche beachtet werden muss.


    Eine Besonderheit bilden die Rollbänder LS und ZS, da es sich dabei um Seitenbänder handelt.


    Klassischerweise befindet sich beim LS (Linie Seite) oben die Liniennummer, welche draußen angezeigt werden soll und unten der Linienverlauf der jeweiligen Linie.


    Bei den Zielbändern für die Seite befindet sich das Ziel doppelt, einmal für draußen, einmal für innen.


    Bei den Seitenbändern ist zu beachten, dass der obere Teil richtig herum und der untere Teil über die Mittelachse um 180° gedreht gespeichert werden muss. Die passenden Begrenzungen finden sich in der Vorlage, ein Beispielband liegt bei. ACHTUNG: Hier wird es noch eine Änderung geben, die in Zukunft die originale Darstellung ermöglicht. Die alten Rollbänder werden davon nicht betroffen sein.


    Die Anzahl der Linienbände für die Front und die Seite muss immer gleich sein, dasselbe gilt für die Anzahl der Zielbänder der Front und der Seite.

    3.2 Import der Bänder

    Die Bänder können entweder alle händisch einzeln geladen werden oder per Texturlisten Import.


    Ein kleines Tutorial zum Import befindet sich unter Tutorial: Rollbandanzeige Punkt 1.5.


    Damit die Rollbänder später vom Script richtig geladen werden können müssen wir uns an eine Konvention halten.


    Für jeden Rollband Typ (Linie Front, Ziel Front, usw.) sollte es einen eigenen Nummernkreis geben, von welchem aus hochgezählt wird.


    Ich habe z.B. die ID’S wie folgt verwendet: (12 Linienbänder und 13 Zielbänder)


    20000…20011 -> Linie Front


    21000…21012 -> Ziel Front


    22000…22011 -> Linie Seite


    23000…23012 -> Ziel Seite


    Sprich das erste Linienband für die Front hat die ID 20000 das zweite die ID 20001 usw., die letzte ID wäre 20011.


    Bitte bedenkt, die ID‘s können unter eurer UserID nur einmal vergeben werden, somit benötigt ihr für jeden neuen Rollbandsatz auch wieder ein neues Nummernschema.

    3.3 Spezielle FIS Datei anlegen

    Für jeden Rollbandsatz wird auch eine Spezielle FIS benötigt, dazu das Content Tool öffnen -> Zus. Karten-Content -> FIS-Gruppen (Speziell)


    Diese spezielle FIS kann zusammen mit den eigentlichen Rollbändern in einen Container gepackt werden. Jede spezielle FIS-Gruppe benötigt eine Basis-FIS-Gruppe, welche ausgewählt werden muss.


    Mehr zum Thema FIS-Gruppen findet ihr unter: FIS - Fahrgastinformationssysteme



    1. Beliebiger Name der Speziellen FIS

    2. Hier muss B80D_RLB angegeben werden

    3. Zusätzliche Strings die sich wie folgt aufbauen:


    UserID

    Erste ContentID des Linienbands für die Front (aus meinem Beispiel: 20000)

    Erste ContentID des Zielbands für die Front (aus meinem Beispiel: 21000)

    Erste ContentID des Linienbands für die Seite (aus meinem Beispiel: 22000)

    Erste ContentID des Zielbands für die Seite (aus meinem Beispiel: 23000)

    Letztes Stück der letzten ContentID der Linienbänder (aus meinem Beispiel: 11)*

    Letztes Stück der letzten ContentID der Zielbänder (aus meinem Beispiel: 12)*


    4. Positionsnummer des Zielbands, des ausgewählten Ziels (Achtung im Beispiel 0 basiert!)

    5. Positionsnummer des Linienbands, der ausgewählten Route (Achtung im Beispiel 0 basiert!)


    *Hierbei ist zu beachten, dass nicht 20011 sondern 11 als letztes Stück der ID angegeben wird. Das Script ergänzt durch Addition automatisch die ersten Ziffern.


    ACHTUNG: Hier wird es noch eine Änderung geben, die in Zukunft die originale Darstellung und weitere Eigenschaften ermöglicht. Die alten Rollbänder bzw. FIS werden davon nicht betroffen sein, allerdings wird die Entwicklung nicht weitergeführt.