sinkrate 2: ein inGame-Toolbar-Panel für den Microsoft Flugsimulator MSFS 2020
Als InGame-Panel zeigt "Sinkrate 2" Flugzeug-bezogene Informationen passend zum jeweils aktiven Flugzeug an.
Verschiedene Reiterkarten bieten Flugzeug-bezogene Infos zu Abflug, Reiseflug und Ankunft wie z.B. v-speeds.
So gelingt z.B. mit einem Klick auf "Departure" ein schneller Blick auf Start-Geschwindigkeiten und -Einstellungen.
Komplexe Modelle wie die Douglas DC-3 können spezielle Informationen (z.B. für den Start der Motoren) enthalten.
Nach wie vor gibt es eine schnelle Berechnung von Sinkraten und Steigraten mit Flugzeug-basierten Defaultwerten.
Zusätzlich können Einheiten umgerechnet, angezeigte Flugzeuge gewechselt oder Flugzeug-Eigenschaften gelistet werden.
Bei aktivem Flugplan kann ein Info-Dokument passende Texte und Bilder anzeigen.
Beim Aufruf des Toolbar-Panels wird versucht, automatisch an die richtige Stelle eines Flugplans zu scrollen.
Es können eigene Dokumente in geeigneten Ordnern hinterlegt werden.
"Sinkrate 2" ist geschrieben in php, javascript, html und css.
Alle Strukturen (Flugzeugdaten, Einträge, Defaults, Funktionen) können in einfachen Editoren angepasst werden.
Online-Demo
Hier gibt es ein online-Demo mit Daten der Cessna 172 Skyhawk oder für das komplexere Modell der Douglas DC-3.
Oder ein Flugplaninfo-Dokument, das zum Pleidelsheimer Flugplatz ED63 scrollt (Grafik per Klick vergrößern).
Das Web-Frontend benutzt javascript-Funktionalitäten.
Die Schriftgrößen des InGame-Panels können bei Bedarf an den verwendeten Monitor angepasst werden (siehe Testen).
Voraussetzungen
Für die einzelnen Tools (PHP, Sinkrate 2, continue-flightplan etc.) lege ich ein Verzeichnis c:\tools an.
Für alle hier beschriebenen Software-Tools gilt:
Es werden keine Einstellungen in Windows oder dem Flugsimulator vorgenommen oder benötigt.
Es sind keine Installationen im eigentlichen Sinn, denn das Windows-System wird nicht verändert.
Es liegen lediglich einige Dateien in Verzeichnissen, die auf Wunsch wieder problemlos gelöscht werden können.
PHP
Vorausgesetzt wird eine "Installation" der Programmiersprache PHP (wenn nicht bereits vorhanden).
Es reicht aus, den zip-Download einer PHP-Version in ein Verzeichnis (z.B. c:\tools\php) auszupacken.
Sinkrate 2 und continue-flightplan wurden mit PHP 7 entwickelt und sollten auch mit älteren oder neueren Versionen laufen.
Download
Sinkrate Webseite und InGame-Panel
Sinkrate besteht aus 2 Teilen: der Webseite und dem InGame-Panel für den MSFS 2020.
- Sinkrate-2.4-Webseite 43 kB
- Sinkrate-InGame-Panel 7kB
Beachten Sie bitte die Danksagung zu den zugrundeliegenden Arbeiten von maximus, RoscoHead und Joseph Fusco.
Länder-Unterverzeichnisse
Das Sinkrate-Verzeichnis enthält ein "documents"-Unterverzeichnis, das weitere Länder-Unterverzeichnisse aufnehmen kann.
Installation
Wie bereits gesagt: eine reguläre Installation findet nicht statt.
Es werden lediglich Ordner angelegt, in die Dateien kopiert werden.
Eine Deinstallation gelingt mit dem Löschen dieser Ordner.
sinkrate-2-x.zip
- Legen Sie ein Verzeichnis an, das den Sinkrate-Ordner aufnehmen soll, z.B.
c:\tools. - In diesem Ordner entpacken Sie die in sinkrate-2-x.zip enthaltenen Dateien.
- Die Sinkrate-Dateien befinden sich danach (im Beispiel) in dem Ordner
c:\tools\sinkrate.
Dieser Sinkrate-Ordner enthält ein Unterverzeichnis "documents", das wunschgemäß
- eine Flugplaninfo-Textdatei
- oder Länder-Unterverzeichnisse
enthalten kann.
Beim Abfliegen eines regulären Flugplans wird das Sinkrate-InGame-Panel zuerst diesen Text anzeigen
und versuchen, zur passenden Stelle des Dokuments zu scrollen.
panel-sinkrate.zip
- Öffnen Sie den community-Ordner des Microsoft Flugsimulators 2020 (Wie finde ich den "community-Ordner"?).
- Kopieren Sie den in panel-sinkrate.zip enthaltenen Ordner
panel-sinkratein Ihr community-Verzeichnis.
Übrigens: Die Namen der community-Unterverzeichnisse können nach Belieben geändert werden.
Den Namen "panel-sinkrate" habe ich gewählt, damit andere Panels im Dateimanager zusammenhängend gelistet werden.
Webserver
Das InGame-Panel arbeitet als einfacher Webbrowser und erwartet Daten unter der Adresse http://127.0.0.1/index.php.
PHP bringt praktischer Weise einen lokalen Webserver mit, der sich für das InGame-Toolbar-Panel anbietet.
Durch den lokalen Webserver kann das InGame-Panel ohne iframe-Sicherheitsbeschränkungen angezeigt werden.
Außerdem muss "Sinkrate 2" auf lokale Dateien des Flugsimulators zugreifen, was ein externer Webserver nicht kann.
Der Start des lokalen PHP-Webservers gelingt (automatisch in einer Batch-Datei) nach dem Schema:
c:\tools\php\php -S 127.0.0.1:80 -t PFAD-ZU-SINKRATE-2.
-Sstartet PHP als Webserver (erreichbar unter der angegebenen IP-Adresse und Port).
PHP läuft als lokaler Webserver und ist deswegen von außen nicht erreichbar.-tnennt den Pfad zum Wurzelverzeichnis des lokalen Webservers.
Hier liegen die die sinkrate-Dateien und evtl. Unterverzeichnisse für Flugplan-Infos.
Allgemeines Beispiel: c:\tools\php\php -S 127.0.0.1:80 -t c:\tools\sinkrate
Aufruf in einer Batch-Datei: start /MIN cmd /c c:\tools\php\php -S 127.0.0.1:80 -t c:\tools\sinkrate
Das Beenden des lokalen PHP-Webservers gelingt bei mir mit taskkill /F /IM php.exe (ebenfalls in einer Batch-Datei).
Siehe dazu auch die Infos zum Batch-Betrieb.
Testen
Nach dem
- der Aufruf der Batchdatei develop-web-environment.bat (im Ordner
c:\tools\sinkrate) - startet automatisch eine lokale PHP-Server-Instanz
(im Beispiel:c:\tools\php\php -S 127.0.0.1:80 -t c:\tools\sinkrate) - und ruft in einem Webbrowser die Adresse
127.0.0.1auf.
Dort sollte das Info-Panel angezeigt werden.
In einem beliebigen Flug im Flugsimulator sollte in der Toolbar ein "i"-Piktogramm zu sehen sein.
Klicken Sie auf das "i"-Piktogramm und passen Sie (bei Bedarf) die Größe und Position des Fensters an.
Die Schriftgrößen können an den verwendeten Monitor angepasst werden.
Hierzu wird in der Datei c:\tools\sinkrate\formate.css der Eintrag body { font-size:1.2em; } angepasst.
1.2 em kann für 1920*1080-px-Monitore geeignet sein, für höhere Auflösungen passt evtl. 1.6 em.
Die Änderung wird im Flugsimulator sichtbar nach Minimieren/Wiederherstellen oder Neuladen des Panels.
Benutzung
Das Sinkrate-Info-Panel wird am besten mit der Maus bedient, denn Tastatureingaben können den Simulator beeinflussen.
Reiterkarten
Commons:
- allgemeine Infos zum jeweiligen Flugzeug
- spezifische Anmerkungen (Annotations) zu Besonderheiten
- evtl. Angaben zu besonderen Rahmenbedingungen
Departure:
- benötigte Bahnlänge
- V-Geschwindigkeiten für den Start
- evtl. Angaben zum "short-field"-Start
Cruise:
- V-Geschwindigkeiten für den Reiseflug
- Reiseflughöhe
- Reichweite
Approach:
- Bahnlänge für die Landung
- Besonderheiten
- V-Geschwindigkeiten für die Landung
Calculations:
-
Das Ändern von Werten in der "Calculation"-Reiterkarte gelingt mit der Maus
- durch Anklicken der Scroll-Symbole im rechten Feld-Bereich
- oder durch Anklicken des Feldes und Scrollen mit dem Mausrad. -
4 Felder der "Calculation"-Reiterkarte können jeweils als Ziel der Berechnungen gewählt werden.
Dadurch wirken sich Änderungen in den anderen Feldern auf den gewählten Zielwert aus.
Gleichzeitig werden Steig/Sinkrate in Grad sowie die Zeitdauer mitberechnet. - Berechenbare Felder sind "Entfernung in nm", "Hoehendifferenz in ft", "Ground Speed in kts" und "Steig/Sinkrate in ft/min".
- Die Berechnung z.B. der "Entfernung in nm" versteht sich als Annäherung an eine komplexere Realität.
?:
- Flugzeug-Modellname im Flugsimulator
- Name eines gefundenen (oder aktivierten) Flugplan-Infotextes
- in einem aktiven Flugplan können Sie durch Länder-Verzeichnisse und Dateien navigieren
- und eine vorhandene Textdateien als "aktiv" kennzeichnen
- Umrechnungen von Einheiten
- manuelles Wechseln zu den Infos eines anderen Flugzeugmodells
- Anzeigen diverser Flugzeug-Eigenschaften im Vergleich
aircraft.ini
Sinkrate 2.0 versucht:
- das aktuell im Flugsimulator verwendete Flugzeug-Modell auszulesen
- und dessen Infos im InGame-Panel anzuzeigen.
Dazu werden korrespondierende Einträge in aircraft.ini verwendet.
Diese Datei enthält die benötigten Informationen zu diversen Flugzeugen.
Das Ändern von Werten und Angaben oder das Entfernen und Hinzufügen von Flugzeugen gelingt mit einem einfachen Editor.
Die Datei aircraft.ini enthält weitere Informationen zur Struktur von Sektionen, Abschnitts-Variablen und Variablen-Präfixe.
Änderungen können geprüft werden im
- Browser mit Neuladen der Adresse 127.0.0.1 (bei laufendem PHP-Webserver)
- oder im Flugsimulator z.B. durch Minimieren und Wiederherstellen des Panel-Fensters.
Batch-Betrieb
Das InGame-Toolbar-Panel "Sinkrate 2.0" enthält einen Verweis auf eine lokale Webserver-Adresse.
Den lokalen Webserver starte und beende ich praktischer Weise zusammen mit dem Flugsimulator mittels einer Batch-Datei.
Siehe dazu auch meine Batch-Datei als Vorlage zur freien Bearbeitung.
Danksagung
Das Sinkrate-Info-Panel wurde inspiriert durch den bereinigten Code von RoscoHead basierend auf der Arbeit von maximus.
Das CSS-Layout der javascript-freien Reiterkarten stammt von Joseph Fusco.