sinkrate 2.0: ein inGame-Toolbar-Panel für den Microsoft Flugsimulator MSFS 2020
Als InGame-Panel zeigt "Sinkrate 2.0" 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 die Start-Geschwindigkeiten.
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.
"Sinkrate 2.0" ist geschrieben in php, javascript, html und css.
Dadurch können alle Strukturen (Flugzeugdaten, Einträge, Defaults, Funktionen) selbst 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.
Das Web-Frontend benutzt javascript-Funktionalitäten.
Die Schriftgrößen können bei Bedarf an den verwendeten Monitor angepasst werden (siehe Testen.
Voraussetzung
Für die einzelnen Elemente (PHP, Sinkrate 2.0 etc.) lege ich ein Verzeichnis c:\tools
an.
Vorausgesetzt wird eine "Installation" der Programmiersprache PHP.
Es reicht aus, den Download einer php-Version in irgendein Verzeichnis (z.B. c:\tools\php
) auszupacken.
Das ist keine Installation im eigentlichen Sinn, denn das Windows-System wird dadurch nicht verändert.
Es liegen lediglich einige Dateien in einem Verzeichnis, das auf Wunsch auch wieder problemlos gelöscht werden kann.
Für alle hier beschriebenen Software-Elemente gilt:
Es werden keine Einstellungen in Windows oder dem Flugsimulator vorgenommen oder benötigt.
Download
Der Download besteht aus 2 Teilen: der Sinkrate-2.0-Webseite und dem InGame-Panel für den MSFS 2020.
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-0.zip:
- Legen Sie einen Ordner an für die Webseiten-Daten, z.B.
c:\tools\sinkrate
. - In diesen Ordner kopieren Sie die in sinkrate-2-0.zip enthaltenen Dateien.
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-sinkrate
in Ihr community-Verzeichnis.
Übrigens: Die Namen der community-Unterverzeichnisse können nach Belieben geändert werden.
Den Ordner-Namen "panel-sinkrate" habe ich gewählt, damit andere Panels im Dateimanager zusammenhängend gelistet werden.
Webserver
PHP bringt 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.0" auf lokale Dateien des Flugsimulators zugreifen, was ein externer Webserver nicht kann.
Der Start des lokalen PHP-Webservers gelingt nach dem Schema:
c:\tools\php\php -S 127.0.0.1:80 -t PFAD-ZU-SINKRATE-2.0
.
-S
startet php als Webserver (erreichbar unter der angegebenen IP-Adresse und Port).
-t
nennt den Pfad zum Wurzelverzeichnis des lokalen Webservers.
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
.
Testen
Nach dem Starten einer PHP-Server-Instanz
(siehe das allgemeine Beispiel: c:\tools\php\php -S 127.0.0.1:80 -t c:\tools\sinkrate
)
können Sie in einem Webbrowser die Adresse 127.0.0.1
aufrufen.
Dort sollte das Info-Panel angezeigt werden.
Nach dem Starten des Flugsimulators und Laden eines beliebigen Flugs sollte in der Toolbar ein "i"-Piktogramm zu sehen sein.
Klicken Sie auf das "i"-Piktogramm und passen Sie die Fenstergröße an.
Die Schriftgrößen können bei Bedarf 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*1080px-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. - Die berechenbaren 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
- 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 die korrespondierenden 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" ruft einen lokalen Webserver auf.
Den starte und beende ich praktischer Weise zusammen mit dem Flugsimulator.
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.