Debug-Modus

Bald ist es soweit: Unsere nächste Leitstellenfahrt findet statt. Weitere Informationen findet ihr hier.

  • Mit dem Debug-Modus von OMSI können Entwickler ihre Modifikationen unter anderem mit Zeitraffer, Zeitlupe oder weiteren nützlichen Funktionen testen.

    1. Debugging

    Unter einem Debugger / Debugging versteht man einen Prozess, in dem man Fehler (Bug) findet und / oder behebt. Ursprünglich kommt es von aus dem Programmierwesen, der Begriff wird allgemein auch als Synonym zu "Fehlersuche" verwendet.

    2. Debug-Modus aufrufen

    OMSI stellt neben dem Hauptspiel und dem Editor auch noch einen Debug-Modus zur Verfügung. Nur damit funktionieren die Debug-Tools, die sich im Tab "Debug" finden. Man ruft den Modus genau so wie den Karteneditor auf - bloß mit einem anderen Parameter.

    Hier findet sich eine Anleitung, wie man diesen (und weitere Modi) aufruft. Für den Debug-Modus muss der Parameter -debug gewählt werden.


    Der Debug-Modus der Anwendung hängt sich öfters auf und hat verhältnismäßig viele Nachladeprobleme. Jedoch kann der Modus zu einigem ganz nützlich sein, zum Beispiel zum Testen der Fußgänger- und Fahrzeugpfade auf eigens erstellten Straßenzügen.

    Bei einigen Funktionen ist jedoch unklar, ob diese funktionieren, da diese weder reproduziert wurden konnten noch irgendwo dokumentiert sind. Es kann davon ausgegangen werden, dass sich der Debug-Modus seitens der Entwicker (MR-Software) noch in einem sehr frühen Zustand befindet und es daher noch viele Funktionen gibt, die nicht vollständig oder gar nicht implementiert sind.

    3. Aufbau des Debug-Modus

    Auf den ersten Blick ist der Debug-Modus eine Mischung zwischen dem Hauptspiel und dem Editor.


    Nach dem Öffnen des Debug-Modus erscheint vor der Oberfläche des Editors der typische Startbildschirm, wie man ihn aus dem Hauptspiel kennt. Dort wählt man die Karte aus, welche man laden möchte (auch über die Karteneditor-Menüleiste oben möglich). Hat man auf "Start!" gedrückt, so wird die Karte geladen. Es scheint zuerst so, als wenn nichts passiert. Man muss jedoch eine Weile warten, erst danach macht sich das Laden bemerkbar.

    Nach dem Laden des Umgebungsverkehrs erscheint jedes Mal die Fehlermeldung "Gleitkommadivision durch Null.":


    Diese kann jedoch einfach mit "OK" bestätigt werden, da Meldung immer beim Laden einer Karte im Debug-Modus erscheint. Ist die Karte vollständig geladen, so sollte das Editor-Layout mit dem inGame-Menü unten rechts erscheinen.


    Im Debug-Modus sind folgende Funktionen möglich:

    • Testen / Debugging (Tab "Debug")
    • Umgebungseinstellungen (Tab "Envir")
    • Sämtliche Funktionen des inGame-Menüs (via ALT aufrufbar)

    Es können auch Fahrzeuge platziert und gefahren werden. Dies ist jedoch nicht empfehlenswert (außer man möchte ein Fahrzeug testen), da der Debug-Modus öfters hängt.

    4. Debug-Funktionen

    Um zu den Debug-Funktionen zu gelangen, muss man zum folgenden Tab namens "Debug" wechseln:


    Nun findet man folgende Optionen:


    Im folgenden werden alle Funktionen, soweit möglich, erklärt.

    4.1. AI-Scripts

    Diese Funktion aktiviert dem Namen nach die AI-Scripts. Diese Scripts werden normalerweise nur ausgeführt, sofern das jeweilige Fahrzeug nicht sichtbar ist. Mutmaßlich funktionslos.

    4.2. Infomeldung bei Crash

    Bei dieser Funktion soll eine Infomeldung bei einem Crash, also einer Kollision mit einen Szenerieobjekt, Fahrzeug oder sonstigem, erscheinen. Findet jedoch eine Kollision statt und diese Funktion ist aktivert, so stürzt die Anwendung ab. Daher wird davon abgeraten, diese Option zu verwenden.

    4.3. Benchmark Depth

    Damit kann die Tiefe der (unfertigen) Funktion des Benchmark Tests einstellen. Dieser Benchmark-Test findet sich in der Menüleiste des Editors (und dem Debug-Modus). Jedoch funktioniert er nicht richtig und nirgends wurde festgehalten, was bei welcher Tiefe getestet wird.

    4.4. Zeitraffer

    Mit dieser Funktion wird alles in Zeitraffer wiedergegeben - Autos, Menschen, Zeit und auch die Bewegung und Weichheit der Kamera, wenn man sich z.B. in der F4-Ansicht bewegt.

    4.5. Zeitlupe

    Diese Funktion ist das Gegenteil des Zeitraffers, alles wird langsamer (und mit weniger FPS (Bildern pro Sekunde)) dargestellt. Kombiniert man Zeitraffer und Zeitlupe, so kommt eine Wiedergabe (x1.0) mit wenigen FPS zustande.

    4.6. Peds fast walking

    Ist der Haken gesetzt, so bewegen sich nur die KI-Menschen schneller. Kombiniert man diese Funktion mit dem Zeitraffer, so laufen die KI-Menschen ungefähr vier mal so schnell.

    4.7. Render joinobject

    Funktionslos.

    4.8. Gelenkbus-Debugfenster

    Mit einem Klick auf diesen Button öffnet sich ein Dialog, den man unabhängig von dem Hauptfenster verschieben und steuern kann. In diesem Fenster findet man Anzeigen zum debuggen von Fahrzeugen mit Gelenken.

    4.8.1. Release Link

    Mit dieser Funktion kann bei Gelenkbussen das Hinterteil vom Vorderteil getrennt werden. Bei erneutem Klick wird dieses wieder ruckartig zusammengefügt. Während der Teilung kann man sich mit dem Fahrzeug nur schlecht bzw. gar nicht fortbewegen.

    Beispielvideo:

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    4.8.2. LKW Mode

    Funktionslos.

    4.9. Set

    Funktionslos.

    4.10. Unload all Tex.

    Das drücken dieses Buttons bewirkt, dass alle Texturen neu geladen werden. Das ist das Äquivalent zum Drücken von WINDOWS + L, gefolgt vom erneuten anmelden.

    Dies funktioniert auch im Editor und ist für Entwicker durchaus ein effizientes Mittel, wenn es um das schnelle Bearbeiten und Anpassen von Texturen geht.

    4.11. Control Humans direct

    Setzt man diesen Haken, passiert nichts anderes, als dass sich OMSI aufhängt und man die Anwendung nur noch über den Task-Manager beenden kann.

    4.12. Controls

    Mit einem Klick auf diesen Button öffnet sich ein Fenster einer wohl unfertigen Funktion - das manuelle kontrollieren der KI-Menschen. Diese Funktion funktioniert jedoch nicht.

    4.13. Reverb

    Dieser Haken aktiviert / deaktiviert Hall, den man z.B. unter Brücken oder in großen Hallen vorfindet, sofern er am Szenerieobjekt definiert wurde.

    4.14. Sel. Station

    Funktionslos.

    4.15. Refresh Humans @ Busstops

    Hiermit können die KI-Menschen in den Personenobjekten an den Haltestellen neu gesetzt werden. Je nachdem, wie viele Fahrgäste bei den Haltestellenwürfeln eingestellt wurden, werden entsprechend viele zufällig neu gesetzt.

    4.16. Full

    Ist dieser Haken gesetzt, so werden beim Neuladen der KI-Menschen an den Haltestellen (s. Kapitel 4.15) alle Fahrgastplätze belegt. Diese Funktion funktioniert aber auch nur bedingt, da nicht wirklich alle Plätze belegt werden.

Teilen

CC BY-SA 4.0

Sämtliche Inhalte unseres OMSI-Wiki sind unter Creative Commons Namensnennung & Weitergabe unter gleichen Bedingungen (CC BY-SA 4.0) lizensiert.