Le tuto ci-dessous est plus un retour de mon installation d'Helios qu'un vrai tutoriel, il y aura probablement des erreurs et des oublis.
J'espère que ça vous sera utile, bonne lecture !
Helios : qu-est-ce-que-quoi ?
Helios est un programme utilisé pour exporter les instruments du cockpit sur d'autres écrans, le tout en interaction avec DCS.
Ca ne fait ni le café, ni les écrans vidéos, ni des trucs louches.
Pour le café et les trucs louches voyez avec votre conjoint(e), pour la vidéo on verra comment utiliser les vues du "MonitorSetup" de DCS pour avoir un export complet qui ressemble à ça:
vth_profil_final.jpg 286,25 Ko 51 Nombre de téléchargements
Je vais partir du principe que vous êtes des gens biens et donc que vous volez sur Gazelle (bon ok c'est surtout que c'est mon install)
Je souhaite donc avoir le cockpit pour la Gazelle et ça tombe bien y'en a un de tout fait par Capt Zeen.
Il n'est pas parfait pour l'utilisation que je souhaite en faire, mais toutes les fonctionnalités de la Gazelle sont présentes et fonctionnelles, donc ca fait une bonne base.
Aussi une fois installé je le modifierais pour le faire correspondre à mes besoin, mais je ferais un autre post avec ma version modifiée au cas ou cela vous intéresserait.
Car oui, les profiles sont "facilement" modifiables avec le logiciel ou même notepad++, mais on verra plus tard.
Helios est aussi capable de recevoir les informations depuis un autre PC, mais dans notre cas il manquerait la vidéo, le nadir, etc. et c'est pas envisageable pour moi, mais si vous utilisez plusieurs écrans secondaires ça peut servir.
J'utiliserais donc Helios en local (sur la même machine que DCS) pour tout le reste de ce document.
Puis je déporterais le 2ème écran avec SpaceDesk sur une tablette pour utiliser le tactile.
Mais pour le moment on va configurer tout ça en local avant de vouloir le mettre sur un autre pc.
2. Pré-requis
- DCS (oui c'est un peu pour lui quand même)
- Winrar, 7zip ou tout autre logiciel capable de décompresser des .rar, .zip et consorts
- Notepad++ (pour l'édition texte, vraiment n'utilisez pas le bloc note ou word...)
- Paint (normalement vous l'avez de base)
"{DCS-Game}"
Le dossier ou est installé votre DCS (contient "run.exe" - idem pour les openbeta et co)
Ex : "E:\Jeux\DCS World OpenBeta\"
"{DCS-SavedGames}"
Le dossier "Parties enregistrées" de DCS
Ex : "C:\Users\%USERNAME%\Saved Games\DCS.openbeta\"
"{Helios-Install}"
La ou vous avez installé Helios
Ex : "E:\Jeux\DCS Tools\Helios\"
"{Helios-Documents}"
Le dossier d'Helios dans votre dossier "documents", il contient les profiles d'Helios et les images associées.
Ex : "C:\Users\%USERNAME%\Documents\Helios\"
3. Téléchargement des éléments requis
Récupérer Helios dans sa dernière version sur le site d'ED.
Allez sur le site de CaptZeen : www.captzeen.com (page "download").
En haut de la page, récupérer le zip "export.lua restructured" qui conviendra normalement à tous sauf aux Su27/31.
Récupérer le Profile Gazelle "Capt_Zeen SA342 v1.o and v1.0b HELIOS PROFILES - 09/Oct/2016 (16:10, 16:9 Users) * Read note above" (ou un autre mais vous me décevez grandement )
Vous pouvez récupérer le profil "nuit", qui nécessite tout de même le précédent, mais je ne vais pas l'inclure pour ne pas alourdir le tuto:
"Chardly38 Gazelle NIGHT HELIOS PROFILE - 10/Jan/2018 (Gazelle original day profile version required)"
Vous devez donc finir avec ces 3 fichiers:
- CaptZeen_SA342.rar
- Helios 1.4.2018.1008.zip
- Helios_new_export_19-JUL-2018.rar
Décompressez le fichier "Helios 1.4.2018.1008.zip" quelque part (sur le bureau par ex)
Installez-le, via le "setup.exe", dans le dossier de votre choix ("{Helios-Install}").
L'emplacement ou vous le mettez n'a pas trop d'importance pour la suite, et normalement il vous fait des icônes sur le bureau.
Lancer "Helios Control Center" pour qu'il créé ses dossiers dans "{Helios-Documents}"
Il vous affiche un message "-No Profiles Available-", c'est normal.
Fermer le programme pour le moment : Cliquer sur l'interrupteur "PWR" à gauche.
Pour qu'Helios récupère les données de DCS il faut que ce dernier les lui exporte.
Décompresser "Helios_new_export_19-JUL-2018.rar"
Aller dans le dossier "{DCS-SavedGames}\Scripts".
Si vous n'avez pas de fichier "export.lua" :
Copier/déplacer "Export.lua" et le dossier "Helios" dans "{DCS-SavedGames}\Scripts".
Si vous en avez un, il vaut mieux l'éditer directement:
Copier/déplacer seulement le dossier "Helios" dans "{DCS-SavedGames}\Scripts".
Editer votre "Export.lua" pour ajouter cette ligne :
dofile(lfs.writedir()..[[Scripts\Helios\HeliosExport.lua]])ATTENTION : SimpleRadio (SRS) doit toujours être en dernier dans le fichier "export.lua" sinon ça foire.
Exemple de mon "Export.lua" qui contient Helios et SRS (j'ai viré des trucs inutiles):
-- Vlyan Export.lua for Helios + SRS -- Helios dofile(lfs.writedir()..[[Scripts\Helios\HeliosExport.lua]]) -- SRS (a la fin) dofile(lfs.writedir()..[[Scripts\DCS-SimpleRadioStandalone.lua]])
5. Installation du profil
Décompresser "CaptZeen_SA342.rar"
(supprimer le dossier "scripts" : il contient une vielle version du "Export.lua" qui est inutile et source d'erreur)
Copier/déplacer le contenu du dossier "Helios" (dossiers "images" et "profiles") dans "{Helios-Documents}".
Lancer le programme "Helios Profile Editor"
Charger le profil souhaité (ici "Gazelle_v1.0b" qui correspond au profil en 16/9)
-> Menu "Profile" -> "Open" -> le fichier en question ("{Helios-Documents}\profiles\Gazelle_v1.0b.hpf")
Effectuez un "Reset Monitors" pour qu'Helios prenne votre configuration en compte.
C'est aussi à ce moment la qu'on peut inverser les écrans et donc décider lequel affiche le profil Helios.
Sur le profil "b", qui m'intéresse, le panel est sur le 1er écran, je dois donc les inverser:
-> Menu "Profile" -> "Reset Monitors"
-> Changer l'ordre des écrans au besoin
vth_hel_reg_monit.jpg 154,54 Ko 13 Nombre de téléchargements
Sauvegarder le profil
-> Menu "Profile" -> "Save"
Vous pouvez fermer l'éditeur.
6. Utilisation
Lancer "Helios Control Center"
Sélectionner le profil "Gazelle_v1.0b", avec les flèches haut et bas.
Executer le profil avec le BT "Start".
Vous devriez voir le profil apparaitre sur votre 2ème écran.
Refaites l'étape du "Reset Monitors" si ce n'est pas le bon écran.
Toujours avec le Helios actif et le profil affiché, lancer DCS.
Une fois dans le pit vérifier que les jauges et autres instruments fonctionnent correctement (il est vivant !).
Si ce n'est pas le cas vous avez probablement un soucis avec le fichier "Export.lua".
vth_profil_ok.jpg 225,44 Ko 22 Nombre de téléchargements
J'ai des trous ! (les trucs en rouge et plus si affinité)
Oui c'est normal, demandez à Viruce il viendra vous les boucher avec grand plaisir...
Le profil est fonctionnel, mais il faut maintenant afficher les écrans qui ne sont pas pris en charge par Helios (NADIR, TV, RWR, etc).
On va demander à DCS de les afficher sur le 2ème écran, le profil viendra les recouvrir.
Vous pouvez quitter DCS et revenir SUR le bureau.
Prenez une pause pour récupérer, la suite va être un poil long (à peine plus qu'un démarrage de M2000)
7. MonitorSetup
On va donc configurer le 2ème écran pour le NADIR, la TV, le RWR, les Radios et l'affichage des Munitions.
Et la, on va voir qui sont les obsédés de l'alignement au "pixel prêt", et pour eux ça va être très long.
Ca sera juste long pour les autres, faut pas rêver non plus, pour que ça tombe au bon endroit il faut bosser un peu.
Copier le contenu du dossier "DCS Monitor configuration" (dossiers "config" et "mods") dans "{DCS-Game}".
Le dossier "mods" contient des modifications sur le cockpit de la gazelle pour exporter les vues des éléments précités.
Le dossier "config" contient lui le fichier de configuration qui permet de savoir ou on va afficher ces vues par un jeu de position.
Ma configuration est un écran principal en 2K (2560*1440, 16/9) et un écran secondaire en FHD (1920*1080, 16/9) à droite du 1er pour Windows.
Le "à droite du 1er pour Windows" est important car on va devoir ajouter la largeur du 1er écran aux positions du profil pour que cela tombe juste.
Si par exemple vous voulez mettre le 2ème écran en dessous du 1er, il faudra lui ajouter la hauteur du 1er écran. C'est juste des additions/soustractions vous devriez vous en sortir !
Autre petit détail, dans les "paramètres d'affichage" de Windows, les deux écrans sont alignés en haut (configuration par défaut).
vth_scr_param.jpg 39,59 Ko 19 Nombre de téléchargements
Je vais donc devoir modifier le paramétrage du ".lua" associé au "MonitorSetup" fournit par le profil de Capt Zeen.
Dans le dossier "{DCS-Game}/Config/MonitorSetup/", je copie le fichier "2_monitors-SA342.lua" et renomme le nouveau fichier en "Vlyan-2K_FHD_169-SA342-tuto.lua" (ou renommer directement le fichier modèle c'est comme vous voulez).
NOTE : Gardez en toujours une copie ailleurs au cas ou DCS réinitialise ce dossier et supprime ce fichier.
Editer le fichier nouvellement créé.
La 1ere partie concerne l'écran qui affichera la vue principale et donc la vue pilote.
Je fait donc correspondre "width" et "height" à la résolution de mon écran.
Pour "aspect", on pourrait mettre "16/9", je préfère mettre "width/height" qui évite de réfléchir, mais ça revient au même.
Le "name" est la phrase affichée dans DCS pour la sélection de l'écran.
J'en profite aussi pour changer la description.
_ = function(p) return p; end; name = _('Vlyan 2K+FHD monitors for SA342 TUTO'); Description = 'Vlyan profil - two 16/9 monitors - 2560*1440 + 1920*1080 for SA342' -- VIEWPORTS Viewports = { Center = { x = 0; y = 0; width = 2560; height = 1440; viewDx = 0; viewDy = 0; aspect = 2560/1440; } }Sauvegarder le fichier et lancer DCS.
Dans "Options" -> "System", pour "Monitors" (ou "Préférences" -> "Système", pour "Écrans" en français).
Sélectionnez le profil "Vlyan 2K+FHD monitors for SA342 TUTO" (le "name") correspondant au fichier utilisé ("Vlyan-2K_FHD_169-SA342-tuto.lua") dans mon cas.
Décocher la case "full screen" (-il me semble que c'est obligatoire, à vérifier-)
Selection dans "Résolution" la résolution totale de vos écrans (pour moi 2560+1920 = 4480)
Sauvegarder (DCS va se fermer et se relancer tout seul).
Lancer une mission pour voir le résultat.
Sauf chance inouïe (jouez vite à l'EuroMillion), ça ne tombe pas ou on veut, mais au moins ça affiche les écrans:
vth_profil_fail.jpg 229,59 Ko 13 Nombre de téléchargements
Faites une capture d'écran avec la touche "impr. écran" tant que vous êtes dans DCS.
Si vous ne voyez rien : Couper le profil Helios (BT "off"), voir ou s'affichent les éléments.
On va donc retourner éditer le fichier "Vlyan-2K_FHD_169-SA342-tuto.lua" pour faire les correspondances.
On va utiliser "Paint" pour voir ou cela tombe (car tout le monde a Paint), mais si vous souhaitez utiliser Gimp ou autre faites donc.
Lancer Paint (Win+R > mspaint)
Coller le résultat dans Paint (Ctrl+V), puis échap pour dé-sélectionner le collage.
Normalement vous avez vos deux écrans sur votre capture, avec le profil affiché sur la droite.
Avec le mulot et l'outil "sélectionner" on va pouvoir avoir les mensurations de tout ça.
Dans Paint en bas en partant de la gauche, vous avez 3 affichages en pixel (horizontal, vertical):
- 1er : La position actuel de votre curseur (en violet ci-dessous).
- 2ème : Visible lorsque vous avez sélectionné quelque chose : La taille de la zone sélectionnée (en orange ci-dessous).
- 3ème : La taille total du document (pas utile ici).
vth_profil_fail_paint_coord.jpg 63,65 Ko 17 Nombre de téléchargements
On va s'en servir pour voir ou tombent les éléments manquants et remplir grassement les variables.
La position (zéro) d'un élément commence en haut à gauche de celui-ci.
On va donc mettre le curseur de la souris à l'endroit présumé d'où on veut que parte cet élément.
Maintenant qu'on as ses coordonnées on va pouvoir aller plus loin et lui remplir ses variables :
- "x" : Position Horizontal de départ (1er chiffre du cadre violet)
- "y" : Position Verticale de départ (2éme chiffre du cadre violet)
- "width" : Largeur de l'élément (1er chiffre du cadre orange)
- "height" : Hauteur de l'élément (2éme chiffre du cadre orange)
Mais, bizarrement c'est pas tout à fait ça non plus, il faudra donc refaire des ajustements ensuite, le gros du travail sera quand même fait.
Dans mon cas le NADIR passe de ça :
NADIR = { x = 1980; -- 1920+60 y = 500; width = 285; height = 156; }
à ça:
NADIR = { x = 2560+160; y = 600; width = 320; height = 160; }J'ai gardé un calcul "2560+x" pour bien montrer ce qu'on a fait et ça ne gène en rien le bon fonctionnement du programme.
Ca permet aussi de facilement :
- Pouvoir déplacer sur le 1er écran au besoin (juste à modifier le "2560+" avec un recherche-replace sur tout le document).
- Modifier la taille du 1er écran au besoin (même méthode)
Mais vous pouvez aussi mettre directement le total si vous préférez.
Par contre je n'ai pas d'explications du pourquoi je dois ajouter "magiquement" 56px en "x" (2664-2560 = 104px, hors je dois lui en mettre 160px).
Si vous en avez une de constructive je prend.
Si vous avez suivi, vous avez vu que j'ai aussi modifié la taille de l'élément et que je n'ai pas gardé le ratio, ca fonctionne quand même.
Petite parenthèse:
Et si j'avais mis le 2ème écran en dessous du 1er (aligné entre eux à gauche) sous Windows ?
Pas de modif à faire pour l'écran principal au niveau du "Viewports" vu qu'il reste le 1er en haut à gauche.
Par contre on vire le décalage vers la droite (donc -2560 en x) et on rajoute sa hauteur (+1440 en y) pour les vues.
Cela ressemblerait à ça (pas testé, mais c'est pour que vous compreniez l'idée):
NADIR = { x = 160; y = 1440+600; width = 320; height = 160; }Fin de la parenthèse.
Bon c'est pas tout ça mais maintenant, il faut tester !
La ou ça devient "drôle" c'est qu'il faut lancer DCS à chaque fois car la configuration n'est lue qu'au lancement de celui-ci.
Essayez donc de faire tous les écrans par session (DCS -> Screen -> Alt+Tab -> Paint -> Alt+Tab -> DCS -> etc), vous gagnerez un peu de temps.
Je vous laisse faire les autres blocs, je vais me refaire l'intégrale des Douze Royaumes en attendant.
C'est bon, vous avez fini ?
Vous avez trouvé la subtilité pour la radio FM (SA342_FM) ?
Non ? Essayez les radios sur la "M" puis la "L"...
IMPORTANT : Penser à faire des copies de votre fichier "MonitorSetup", ça vous évitera de tout refaire (les sauvegardes c'est bon, mangez-en).
Je vous colle le mien pour l'exemple :
_ = function(p) return p; end; name = _('Vlyan 2K+FHD monitors for SA342 TUTO'); Description = 'Vlyan profil - two 16/9 monitors - 2560*1440 + 1920*1080 for SA342' -- VIEWPORTS Viewports = { Center = { x = 0; y = 0; width = 2560; height = 1440; viewDx = 0; viewDy = 0; aspect = 2560/1440; } } -- NADIR NADIR = { x = 2560+160; y = 600; width = 320; height = 160; } -- RWR SA342_RWR = { x = 2560+616; y = 38; width = 198; height = 198; } -- TV SA342_TV = { x = 2560+128; y = 0; width = 430; height = 356; } -- Weapons SA342_WP1 = { x = 2560+234; y = 542; width = 190; height = 30; } -- Radio FM (a regler sur la L car "M" = "L + 31px") SA342_FM = { x = 2560+303; y = 462; width = 180; height = 30; } -- Radio UHF SA342_UHF = { x = 2560+240; y = 726; width = 146; height = 26; } UIMainView = Viewports.Center
Normalement si vous êtes arrivé la c'est que tout va bien et que tout fonctionne.
vth_profil_final.jpg 286,25 Ko 51 Nombre de téléchargements
Tout ?
Et non, il reste un irréductible Kneeboard... ce s'est mis sur le 2ème écran en DESSOUS du profil.
Il se retrouve caché par le profil et à moitié tronqué du fait qu'il parte d'en bas à droite et que le 2ème écran affiche moins.
Il va falloir le déplacer.
8. Dompter le Kneeboard pour qu'il arrête de jouer à cache-cache
Alors j'ai essayé "Kneeboard Builder" qui a l'air super, mais ça me fait un cockpit vide ce qui est moyennement satisfaisant niveau gameplay...
Du coup j'ai bourriné et fait un edit "sale" du fichier "ViewportHandling.lua" qui se trouve:
"{DCS-Game}\Scripts\Aircrafts\_Common\Cockpit\ViewportHandling.lua"
J'ajoute au tout début du fichier:
-- Vly Edit for a custom KneeBoard local kneePosX = 10 -- position horizontal à partir du coin haut-gauche local kneePosY = 300 -- position vertical toujours à partir du coin haut-gauche local kneeHeight = 800 -- hauteur local kneeWidth = 550 -- largeur
et dans la methode "update_screenspace_diplacement()" je remplace la ligne (n°33 du fichier original, ou 39 avec les ajouts précédents):
dedicated_viewport = {default_x,default_y,default_width,default_height}
Par:
dedicated_viewport = {kneePosX,kneePosY,kneeWidth,kneeHeight}
Maintenant il s'affiche sur la gauche du 1er écran
Non mais...
vth_knee.jpg 252,63 Ko 8 Nombre de téléchargements
9. Les MAJ de DCS et la magie du nettoyage
Ces manipulations modifiants des fichiers dans le répertoire de DCS ("{DCS-Game}"), ils vont sautés à chaque patch.
Faites donc un zip ayant ces fichiers pour vous faciliter le travail (et puis les sauvegardes c'est bien ! Je vous en ai déjà parlé ?).
Ensuite vous pourrez les déployer à la main ou avec un gestionnaire de mod du style OvGME ( github.com/jweisner/ovgme )
Les fichiers à zippés sont ceux du "DCS Monitor configuration" de l'archive de CaptZeen, plus votre config "MonitorSetup", plus la modif du Kneeboard:
/Config/MonitorSetup/Vlyan-2K_FHD_169-SA342-tuto.lua /Mods/aircraft/*/Cockpit/* /Scripts/Aircrafts/_Common/Cockpit/ViewportHandling.luaGardez bien la structure des répertoires.
Les fichiers dans "{DCS-SavedGames}" eux n'ont pas ce problème.
10. SpaceDesk : Ou comment déporter un écran sur un autre PC
Dans mon cas je souhaite utiliser une tablette (Surface Pro, sous Windows 10) pour afficher le 2ème écran et ainsi pouvoir utiliser le tactile.
Je vais utiliser "SpaceDesk" (www.spacedesk.net) pour ce faire.
Pour l'instant il est gratuit, à voir comment il évolue car pour le "Touchscreen" j'ai l'impression que ca va devenir payant et le soft a une date d'expiration.
Mon Pc principal (DCS et Helios) sera le Serveur, je lui installe donc le "spacedesk driver software".
Sur la 2ème machine, le Client, je lui installe le "spacedesk viewer software" qui recevra la vidéo et enverra les commandes en TouchScreen.
La configuration est très simple:
Sur le Serveur, j'ai juste à activer ou non le logiciel dans la barre des tâches : on/off
vth_sd1.jpg 8,85 Ko 2 Nombre de téléchargements
Pour le Client, je le configure comme suit :
Menu "Functionality" :
- [x] Display (affichage)
- [x] Keyboard
- [ ] Mouse : Le mode "souris" me fait plusieurs clic lorsque je touche l'écran, en mode "clavier" ça fonctionne comme attendu.
- [x] Touchscreen (absolute touch).
- [ ] Touchpad (relative touch).
- [ ] Touch off
Menu "Settings" :
- ___ Automatic connect (to hostname) : le nom d'hôte du "Server" et l "auto reconnect" à on
- [x] Full screen upon Connect : Passe en plein écran à la connexion
- [x] Keep monitor active : Garde l'écran allumé (psa de mode veille)
- ___ Compression quality : j'ai laissé par défaut (on / low /30fps)
- ___ Résolution :
-- Écran principal "natif" : décoché (inutile ici).
-- Écran secondaire FHD / 30 images par secondes (on va éviter de bouffer trop de ressources).
vth_sd2.jpg 35,18 Ko 0 Nombre de téléchargements
Je lance la connexion sur le Client.
Dans le panel Windows du Serveur, je réassigne ce nouvel écran entre mes deux écrans fixes (1-3-2):
vth_sd3.jpg 29,03 Ko 0 Nombre de téléchargements
Cette configuration me permet :
- D'utiliser facilement le 2ème écran fixe quand je n'utilise pas la tablette (Windows garde l'ordre 1-2 et repasse en 1-3-2 quand je connecte la tablette).
- D'avoir qu'un seul profil "MonitorSetup", les deux écrans ayant la même résolution de configurée.
- Et de ne pas trop bouffer en perf, la tablette à un écran 2K pour du 12" c'est pas sérieux.
A noter que ça ne fonctionne pas en le wifi, le flux est trop important même à 30 images/sec pour cette résolution.
C'est enfin fini, vous pouvez retourner à une activité normale