LINUXMAINE

Accueil > Fourre-tout > Outils > Simulateur de vol FlightGear, avoir la dernière version + script de (...)

Simulateur de vol FlightGear, avoir la dernière version + script de lancement

mercredi 28 juin 2017, par bertrandperrier

FlightGear

-# 1. compilation

cd « votre répertoire de travail pour compiler flightgear »
wget -O download_and_compile.sh http://sourceforge.net/p/flightgear/fgmeta/ci/next/tree/download_and_compile.sh?format=raw
chmod +x download_and_compile.sh
mkdir -p stable
cd stable
../download_and_compile.sh -s

-# 2. script de lancement
normalement il faut lancer FlightGear en indiquant :
- l’oaci
- le chemin d’installation de vos avion
- l’adresse du server pour jouer onLine
- l’heure de jeux
- désactiver l’intelligence artificiel pour le trafic
- désactiver l’affichage d’objet aléatoire car demande beaucoup de ressource (ram et proc)
- activer la mise à jour des cartes
- le nom de l’avion
tout ceci se fait par le script, il suffira juste d’indiquer le nom de l’avion et l’aoci de l’aéroport, le script vous placera sur le premier parking trouvé dans la base de donnée.

Installation
se placer dans le dossier
cd /home/$USER/
télécharger le fichier
wget -O fgfs.sh  http://www.bertrandperrier.fr/linux/fgfs.sh
lancement
lancer le script avec ./fgfs_ac_oaci_onoffline_shac.sh suivi des arguments suivant
nom de l’avion, nom de l’oaci, puis on si l’on veux se connecter en ligne .
Par exemple ./fgfs_ac_oaci_onoffline_shac.sh dr400-dauphin lfrm off
pour commencer avec un Robin Dauphin dr400, sur l’aérodrome du Mans, hors ligne

Code source

#!/bin/bash

## Script réalisé par Bertrand Perrier
# Ce script lance flightgear en plaçant l'avion sur un parking
# 04/03/17 : création
# 09/03/17 : maj


pathTS="/home/$USER/.fgfs/TerraSync"
pathRunFG="/home/$USER/fgfs/stable"
pathAircraft="/home/$USER/flightgear/aircraft"
pathScenery="/home/$USER/flightgear/Le_Mans/"
CallSign="MonNom"


if [ -z "$1" ];
then
        echo "Utilisation : $BASH_SOURCE aircraft airport online(off/on) [OPTIONS] [verbose]"
              echo "exemple : $BASH_SOURCE 777-200er LFPC off verbose"
              echo "exemple : $BASH_SOURCE ls_ac to list aircraft"
fi

if [ "$1" = "ls_ac" ];
then
        echo "liste des avions installés"
        echo "----------------"
       $pathRunFG/run_fgfs.sh --fg-aircraft=$pathAircraft --show-aircraft
fi

if [ -n "$1" ] && [ "$1" != "ls_ac" ];
then
        if [ -z "$2" ];
        then
                echo "précisez l'OACI"
                echo "---------------"
        else
               
                aoci=`echo "$2" | tr '[:lower:]' '[:upper:]'`
                aoci1=`echo ${aoci:0:1}`
                aoci2=`echo ${aoci:1:1}`
                aoci3=`echo ${aoci:2:1}`
                result=`cat $pathTS/Airports/$aoci1/$aoci2/$aoci3/$aoci.groundnet.xml | grep index=\"0\"`
                heading=`echo $heading | sed 's/heading=\"//' | sed 's/\"//'`

                lat1=`echo $result | awk -F" " '{ print $5}'`
                lat2=`echo $result | awk -F" " '{ print $6}'`
                lon1=`echo $result | awk -F" " '{ print $7}'`
                lon2=`echo $result | awk -F" " '{ print $8}'`
                heading=`echo $result | awk -F" " '{ print $9}'`
                lat1=`echo $lat1 | sed 's/\lat="N//'`
                lat1=`echo $lat1 | sed 's/\lat="S//'`
                lon1=`echo $lon1 | sed 's/\lon="E//'`
                lon1=`echo $lon1 | sed 's/\lon="O//'`
                lon2=`echo $lon2 | sed 's/\"//'`
                lat2=`echo $lat2 | sed 's/\"//'`

                #convertir lat et lon   N43 39.362820" lon="E7 12.151500"
                #                        x + y /60
                #                         43,656047     7,202525
                lat=$(bc <<< "scale = 6; $lat1+($lat2/60)")
                lon=$(bc <<< "scale = 6; $lon1+($lon2/60)")

                # verbose
                if [ -n "$4" ]; then
                        echo ""
                        echo "aoci   : $aoci"
                        echo "parsed : $aoci1$aoci2$aoci3"
                        echo ""
                        echo "result"
                        echo "------"
                        echo $result
                        echo "lat1 : $lat1"
                        echo "lat2 : $lat2"
                        echo "lon1 : $lon1"
                        echo "lon2 : $lon2 "
                        echo "heading : $heading"
                        echo ""
                        echo "decimal"
                        echo "-------"
                        echo "lat : $lat"
                        echo "lon : $lon"
                fi
                echo "lancement de FlightGear"
                echo "-----------------------"
                if [ "$3" = "on" ];
                then
                        echo "mode online"
                               $pathRunFG/run_fgfs.sh --fg-aircraft=$pathAircraft --fg-scenery=$pathScenery --callsign=$CallSign --multiplay=out,10,mpserver01.flightgear.org,5000 --timeofday=noon --disable-ai-traffic --disable-random-objects --enable-terrasync --aircraft=$1 --lat=$lat --lon=$lon --heading=$heading
                else
                        echo "mode offline"
                               $pathRunFG/run_fgfs.sh --fg-aircraft=$pathAircraft --fg-scenery=$pathScenery --callsign=$CallSign --timeofday=noon --disable-ai-traffic --disable-random-objects --enable-terrasync --aircraft=$1 --lat=$lat --lon=$lon --heading=$heading
                fi
        fi
fi

Voir en ligne : le script