OMSI Plugin Framework IV

Aus OMSIWiki
Version vom 24. November 2012, 20:36 Uhr von Holmexx (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Das OMSI Plugin Framework == :Falls das hier wirklich schon jemand liest: Es ist bereits halb acht abends, aber ich fange trotzdem schon mal an. Morgen (25.11…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

Das OMSI Plugin Framework

Falls das hier wirklich schon jemand liest: Es ist bereits halb acht abends, aber ich fange trotzdem schon mal an. Morgen (25.11.2012) geht es weiter. Versprochen!

Allgemeines

In diesem Kapitel werde ich den Aufbau und die Arbeitsweise des Frameworks detailliert beschreiben. Vielleicht hast Du dich die ganze Zeit schon gefragt, wozu so ein Framework-Dingens überhaupt gut ist. Ganz allgemein gesagt, soll Dich ein Framework von immer wiederkehrenden Standardaufgaben entlasten und Dir eine einheitliche Schnittstelle bieten, mit der Du bestimmte Aufgaben erledigen kannst. Im Falle des OMSI Plugin Frameworks übernimmt es auch noch einen etwas schwierigeren Teil der Programmierung, das sogenannte Multithreading. Was es damit auf sich hat, wird im Abschnitt Arbeitsweise näher erläutert.

Das OMSI Plugin Framework besteht aus einer handvoll C++-Klassen, die Deine Variablen und Trigger übersichtlich organisieren, den Umgang mit den 4 Funktionen der Plugin-Schnittstelle regeln und eine einheitliche Schnittstelle zur Bearbeitung der Variablen und Trigger schaffen. Für diese Klassen gibt es eine ausführliche Online-Dokumentation (in exzellentem Denglisch ;-) verfasst).

Da es kaum möglich ist, von Anfang ein Plugin völlig fehlerfrei zu programmieren (das geht Profis auch nicht anders), gibt es zwei Debug-Hilfen, den OMSI Plugin Log Viewer und das OMSI Plugin Variables Display. Das sind zwei eigenständige Programme, deren Bedienung in einem extra Kapitel erläutert wird.

Außerdem erweitert das OMSI Plugin Framework das Microsoft Visual Studio noch um einen weiteren Compiler. Dieser Compiler hat die Aufgabe, aus einer sehr einfach aufgebauten Textdatei, die die Variablen- und Triggerdeklaration enthält, zum Einen die .opl-Datei für den OMSI zu generieren und zum Anderen zwei weitere Dateien zu erzeugen, die direkt in den Code Deines Plugins einfließen. Diese beiden Dateien enthalten dann Deine Variablen und Trigger in einer für den C++-Compiler nutzbaren Form.

Das ist noch nicht alles. Weiterhin ist eine neue Umgebungsvariable vorbereitet, mit der es besonders einfach ist, nach jeder Compilierung die erzeugte DLL und die dazu passende .opl-Datei automatisch in den plugins-Ordner des OMSI zu kopieren.


[zum Kapitel 3] [zum Inhaltsverzeichnis] [zum Kapitel 5]