vendredi 21 février 2020

Tacview, DCS World et Linux

Il ne m'a pas fallu beaucoup de temps à faire du combat air/air dans DCS World pour comprendre l'intérêt de l'outil Tacview. En effet, lorsque l'on commence à comprendre les tactiques d'approche et d'évitement, on aimerait bien comprendre comment on a pu se faire dégommer par ce missile venu de nulle part. L'approche de Tacview est de fournir un petit plugin à DCS World (et X-Plane, et de nombreux autres softs de simu aérienne) qui enregistre les paramètres du vol, et qui permet de les rejouer dans leur interface, et donc d'observer manœuvres, départ (et arrivée !) de missiles, et ainsi de suite.

Maintenant, Tacview, c'est Windows-only. Mais de nos jours, Windows-only, c'est tout relatif. Alors, je n'avais pas spécialement envie de me lancer dans une complexe configuration de Wine, mais heureusement, Tacview est disponible directement dans Steam, et on peut donc laisser Steamplay faire sa magie (qui consiste, comme nous le verrons plus tard, à créer pour chaque application une espèce de chroot Windows minimal avec ses dépendances).

Tacview ayant démarré comme un grand, reste encore à enregistrer ses vols DCS World. Normalement, l'installeur trouve DCS World et copie les scripts au bon endroit, mais là, il est dans sa petite chroot Windows. Il faut donc copier manuellement les scripts. C'est expliqué sur le site Tacview, il faut donc l'adapter à ProtonDB. Il suffit de faire ceci, depuis la racine de son répertoire home (en supposant que c'est là qu'est le répertoire .steam qui contient les jeux) :

cp ~/.steam/steam/steamapps/common/Tacview/DCS/* ~/steam/steamapps/compatdata/223750/pfx/drive_c/users/steamuser/Saved\ Games/DCS/

Alors, qu'est ce que ça fait ? Ça copie le plugin DCS dans la chroot Windows (certains parlent de préfixe) de DCS World, le numéro magique, 223750, étant l'ID de l'application DCS World. Et là, en démarrant DCS World, on voit bien le plugin dans les options spéciales. Tout va bien !

Après un petit vol, on peut vérifier l'existence d'un fichier .acmi dans le répertoire "~/.steam/steam/steamapps/compatdata/223750/pfx/drive_c/users/steamuser/My Documents/Tacview", qui est donc dans le "My documents" du préfixe de DCS World. Sauf que forcément, depuis Tacview, on ne voit rien (puisque lui est dans son propre préfixe. Faut suive !). Une solution simple consiste simplement à faire un lien symbolique Tacview. Par exemple:

cd "~/.steam/steam/steamapps/compatdata/1174860/pfx/drive_c/users/steamuser/My Documents/Tacview"

ln -n "~/.steam/steam/steamapps/compatdata/223750/pfx/drive_c/users/steamuser/My Documents/Tacview" DCS

Et là, depuis Tacview, l'on peut charger un fichier, aller dans "My documents", puis dans le répertoire Tacview, puis dans le répertoire DCS, et hop, les vols sont là !