Beiträge von Morpheus

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!

    Any fix for your excellent current mod?

    I did not change the HVAC script in the Volvo as far as I know. I may look into it, but it has a very low priority at this time.


    ############################


    Mal eine Auflistung, was in den kommenden Projekten alles geändert wurde:


    Solaris:

    - VDV komplett überarbeitet

    - Neuer Sound von A-Z

    - Inkludierung des MAN-motorisierten BVG GN05 samt passenden Sound (vielen Dank geht an Homery)

    - Motor/Getriebe-Scripts wurden auf den neuesten Stand gebracht

    - Solovariante ist neutral gehalten und erhält ein Paar modernere Features (Drucker, Innenanzeige, LED-Matrix, zuschaltbares Autokneeling)


    O530 E2/E3:

    - VDV-Display überarbeitet

    - OM906HLA Euro 3 Voith/ZF

    - Sounds generell überarbeitet inklusive neuer Abmischung für Front und Heck

    - Separate Sounds für den OM457LA Euro 2

    - Neuer Sound für den OM457HLA Euro 3

    - Diverse Scripts erhalten Updates


    O530 Facelift:

    - VDV-Display überarbeitet

    - Neuer Sound für den OM457HLA ZF

    - Sounds generell überarbeitet inklusive neuer Abmischung für Front und Heck

    - Separater Sound für den OM457LA

    - Diverse Scripts erhalten Updates

    Das Relevante im Script sieht so aus:


    Jeweils die 2. und 3. Zahlenreihe ist hier wichtig, denn das sind die X/Y-Koordinaten. Die Bildschirmhintergrundtextur ist 800*600 (ungünstiges Format, ich weiß - sollte aber nicht allzu stören). In einem Bildprogramm kann man die X/Y-Positionen bestimmen. Meist mit Hilfe des Maus-Cursors. Dann brauchst du die Koordinaten nur noch abändern.

    Aktuell nutzbar sind: Zeit, Liniennummer, Ziel, aktuelle HST sowie die 4 nächst folgenden HST. Was nicht gebraucht wird, kann einfach gelöscht werden.

    Richtig, wie Chrizzly schon angemerkt hat, Scripttexturen wurden in erster Linie hauptsächlich für die Umsetzung von Vollmatrizen gedacht.

    Der MAN DL aus dem BRT-Addon hat dies auch auf das VDV-Display umgemünzt - Credit geht für die Idee deshalb auch an SchulterSack.

    Der große Vorteil ist eben, dass man sich die ganzen separaten o3d's spart und man vollkommen ohne Blender auskommt und trotzdem noch pixelgenau arbeiten kann. Man könnte auf diese Weise sogar die Displays von verschlüsselten Bus-Addons problemlos bearbeiten.

    Im Grunde ist es gar nicht so kompliziert. Die meiste Arbeit wird das Erstellen der Schriftart sein.

    Dies hier ist der Schriftsatz für die Piktogramme. Hat einige Stunden verschlungen:

    Jedes Piktogramm erhält ein Schriftzeichen zur Identifikation. Hier wird einfach ganz klassisch ein OMSI-Font erstellt.


    Nun zur Model.cfg


    Scripttexturen werden direkt unter den Texttexturen eingetragen:


    ###################

    Script-Texturen:

    ###################


    0: VDV-Display <------ Hier wird auch gleich der Ident festgelegt, der später für das Script relevant sein wird. In dem Fall "0" als Beispiel.

    [scripttexture]

    164 <--------- Pixel-Breite

    132 <--------- Pixel-Höhe


    Und nun die Objekte für das Display:


    ##############

    Background Texture

    ##############


    [mesh]

    Dashboard\VDV\Facelift\Display_Tausch.o3d


    [matl]

    SU_II_VDV_Display.dds

    0


    [matl_freetex]

    SU_II_VDV_Display.dds

    vdv_display_light <--------- Hier wird die grüne Hintergrundtextur festgelegt.


    ##############

    Pixel-layer

    ##############


    [mesh]

    Dashboard\VDV\Facelift\Display_Tausch.o3d


    [matl]

    SU_II_VDV_Display.dds

    0


    [matl_freetex]

    SU_II_VDV_Display.dds

    vdv_display_pixel <------ Hier wird die Textur der Pixel definiert


    [matl_transmap]

    \S:0 <---------- Hier wird der Scripttextur-Ident angegeben


    [matl_alpha]

    2


    Nun zum Script:


    Um das ganze einfacher zu machen, erstellt man sich vorher eine Schablone. Man platziert die Piktogramme mit ihrer exakten Größe aus dem Schriftsatz

    auf die Schablone. Die Schablone muss die exakte Pixelbreite und Höhe haben, wie die Scripttextur - in dem Fall 164*132.

    Sollte dann nach getaner Arbeit so aussehen:

    Ich habe die X/Y-Koordinaten rot markiert, dass man sie besser erkennen kann. Diese Koordinaten bestimmen nun die exakte Position der Piktogramme. Deshalb ist die Schablone sehr Sinnvoll und macht das ganze viel einfacher.


    Im Script passiert nun folgendes:


    0 (M.V.STLock) <--------- Die "0" ist der Scripttextur-Ident.

    Dieser Befehl hebt den Schreibschutz der Textur auf. Sie kann nun beschrieben werden.


    0 (M.V.STNewTex)

    Dieser Befehl erstellt die Textur neu. Alles was vorher auf der Textur war, wird ausradiert.


    0 <---------- Scripttextur-Ident

    255 <---------- Alpha

    0 <---------- R

    0 <---------- G

    0 <---------- B

    (M.V.STSetColor)

    Dieser Block erstellt die Attribute der Textur. Farbe und Alpha.


    Jetzt kommt der eigentliche Schreibprozess:


    "Morpheus_VDV_Bus" (M.V.GetFontIndex) s0 <--- Generiert den OMSI-Font-Index.

    Hier gibt man an, welche OMSI-Schriftart man verwendet.


    0 <---- Scripttextur-Ident

    9 <---- X-Koordinate

    6 <---- Y-Koordinate

    l0 <---- OMSI-Font-Index

    0

    0

    "A" <---- Schriftzeichen, welches das Piktogramm Identifiziert

    (M.V.STTextOut)

    Dieser Block schreibt nun das Piktogramm mit Hilfe der Koordinaten auf die Textur.


    0 (M.V.STUnlock)

    Dieser Befehl sperrt nun die Textur, setzt einen Schreibschutz und teilt OMSI mit, dass die Textur gerendert werden soll.

    Hiermit wird sie in OMSI sichtbar.


    0 (M.V.STFilter)

    Hiermit können noch MipMaps erstellt werden.


    Das war's auch schon.

    Das ist bei dem Interface mit den vielen verschieden großen Schriften wohl eher suboptimal

    Nicht unbedingt, du kannst für jeden Textblock individuell eine andere Schriftart angeben. Du musst halt lediglich unterschiedlich große OMSI-Fonts erstellen. Dank diverser Tools, ist das kein großer Aufwand mehr.

    Dieses PVS-Gerät im eCitaro kontrolliert jedoch nur über GetHumanCountOnPath (?)… fungiert also eher als Lichtschranke. Das wäre bei dem eTicket nicht gerade die beste Lösung…

    Das ist auch mit aller Wahrscheinlichkeit die einzige Möglichkeit. Anders wüsste ich jetzt auch nicht.

    Bislang 55. Man könne bei einigen Modi die Textfelder auch zusammenfassen und mit "@" arbeiten... muss ich mal schauen.

    Dazu empfehle ich dir die Nutzung von Scripttexturen. Das bringt auch einige Vorteile. Du kannst damit die Texte pixelgenau platzieren. Es müssen keine modelseitigen Textfelder mehr erstellt werden. Und damit fällt das lästige Bestimmen von Höhe und Breite der Schrift weg. Im Grunde kannst du mit einer einzigen Scripttextur den gesamten sichtbaren Text darstellen. Komplizierte Umbrüche mit "@" oder irgendwelche Begrenzungen sind nicht mehr nötig.

    Kann ich nur empfehlen!

    So, das Solaris-Projekt nähert sich dem Ende. Die Solovariante bekommt nun die erweiterten Displayfunktionen:

    Alle gezeigten Verbrauchswerte sind auch plausibel. Man startet nun auch nicht mehr bei 0, sondern anhand des Tankinhaltes wird eine Tageskilometerlaufleistung errechnet. Anhand dessen ergeben sich Durchschnittsverbrauch und Restreichweite. Lediglich die Durschnittsgeschwindigkeit wird per Zufall generiert, da man sie aus nicht vorhandenen Daten nicht errechnen kann.


    wird der Fehler Störung Heizung/Lüftung bleiben ?

    Im Moment ist auch dieser entfernt. Eventuell kommt es aber wieder rein, da es wohl tatsächlich recht häufig anzutreffen ist.


    ################


    Noch etwas anderes: weiß jemand die bestimmte Meldung, die erscheint, wenn Stromverbraucher noch eingeschaltet sind, aber die Elektrik schon abgeschaltet ist? Ich benötige die Meldung von Mercedes, falls sie existiert.

    Solaris hat ja "Achtung Stromabnahme vor Zündschloss", MAN " Verbraucher aktiv", Neoplan "Verbraucher eingeschaltet ohne Zündung"

    Bekommt der Solaris die Innenanzeige aus dem Solaris II oder die wie im Citaro?

    Die bleibt wie sie ist.


    ########################


    Display ist nun weitestgehend im O530 Facelift eingepflegt. Der E2/E3 Citaro folgt.

    Die Lösung über eine Scripttextur spart ungemein Arbeit. Es müssen nun keine dutzende Grafiken erstellt werden oder zich o3d- und Texttextur-Einträge vollzogen werden. Das Script selbst ist quasi im die Hälfte geschrumpft. Allerdings habe ich die meisten Fehlermeldungen wieder rausgelöscht und lediglich die Fehler gelassen, welche von Haus aus möglich sind (Federspeicher, Motor/Getriebetemperaturen, Öldruck, Nothähne, Tankinhalt). Ich denke, das reicht.