Vous n'êtes pas identifié(e).
Bonjour,
Si vous avez lu le SDK et si vous vous intéressez à la création ou au portage de scènes, d'avions ou d'objets vers MSFS, il faut comprendre quelques principes.
Les addons Ă MSFS sont fournis sous formes de packages. Qu'est-ce qu'un package?
C'est une arborescence reprenant les arborescences connues de FSX avec certains compléments en plus.
Par exemple pour un avion, on aura systématiquement SimObjects\Airplanes puis l'arborescence de l'avion :
D:\MSFS\Packages\Community>tree FrenchVFR-Mosquito
Structure du dossier pour le volume Donnees
Le numéro de série du volume est B005-8E5E
D:\MSFS\PACKAGES\COMMUNITY\FRENCHVFR-MOSQUITO
SimObjects
Airplanes
Mosquito-75
model
panel
sound
texture
Gauges ...
Effects ...
layout.json et manifest.json
Au même niveau que SimObjects on pourra aussi avoir une arborescence avec Gauges ou Effects comme ce que l'on trouvait sous le répertoire FSX.
On pourra donc déporter des gauges (les fichiers CAB) dans ce répertoire Gauges ou bien les effets dans Effects ... tout le monde suit ?
Pour une scène, je prends un exemple paru de freeware :
F:\Microsoft Flight Simulator\Community>tree Warsawcity
Structure du dossier pour le volume FlightSim
Le numéro de série du volume est CC21-2260
F:\MICROSOFT FLIGHT SIMULATOR\COMMUNITY\WARSAWCITY
ContentInfo
Warsaw ..................... Thumbnail.jpg
MarketplaceData
warsawcity ................. Thumbnail.jpg et Marketplace.json
scenery
global
scenery
texture
world
scenery
.................................... Business.json, layout.json et manifest.json
On y voit l'arborescence Scenery\Global\Scenery ou Scenery\World bien connues des FSXiens ... on suit toujours ?
Donc MSFS s'inspire très largement de ce qui se faisait avec FSX, ce qui permet de ne pas être dépaysés.
Passons dans la partie rajoutée par Microsoft/Asobo.
A ces arborescences, ils ont rajouté des répertoires genre ContentInfo ou MarketplaceData (voir l'exemple de la scène) pour pouvoir gérer ces addons dans leur boutique intégrée au simulateur.
Ils ne sont pas indispensables mais si vous voulez diffuser des payware ce sera peut-être un plus que de le savoir et de le gérer.
Vous aurz aussi remarqué les fichiers json ...
Ces fichiers pour l'instant ne sont pas indispensable pour créer une scène de provenance FSX ou porter un avion simple
Layout.json
Il s'agit d'un fichier texte qui dans un formalisme précis liste l'ensemble des fichiers et répertoires qu'il a à son niveau et en-dessous.
Il comporte pour chaque entité qu'il liste: le chemin, la taille et la date
Cliquez sur la balise Spoiler pour voir le contenu ou bien allez dans votre répertoire Commpunity et ayez un peu de curiosité ... cela n'est pas un défaut mais ne cassez rien !
[Spoiler]
Manifest.json
Il est plus concis car il liste sur une dizaine de lignes les caractéristique du produit, le nom de l'éditeur, le créateur et la version.
{
"dependencies": [],
"content_type": "AIRCRAFT",
"title": "Mosquito",
"manufacturer": "French-VFR",
"creator": "Lagaffe",
"package_version": "0.1.0",
"minimum_game_version": "1.7.12",
"release_notes": {
"neutral": {
"LastUpdate": "",
"OlderHistory": ""
}
}
}
Business.json
{
"PriceInUSD": 0.48999999999999999,
"ThirdPartyShortName": "warsawcity",
"AccountSellerId": "",
"UseFirstAvailableReleaseDate": true
}
Pas besoin d'un dessin pour comprendre son contenu "à caractère financier"
Après avoir brosser l'ensemble des intervenants, je rentre dans le vif du sujet.
Autant le Manifest et le Business sont facile Ă recopier et Ă modifier, autant les layout.json sont plus ... chiants Ă faire, il faut le dire.
Maintenant, vous pouvez ne pas tenir compte de ces fichiers. Pour l'instant ça passe mais dans le futur, Microsoft voulant rajouter des DRM, ne seront-ils pas utilisés et obligatoires ? allez savoir ...
Toujours est-il que pour créer le layout.json, j'ai écrit un petit script en Python (cela sert d'avoir travailler dans l'informatique ) disponible un peu plus bas dans le post qui s'occupera de la création et du remplissage de ces fichiers.
Pour utiliser le script:
A) vous recopier le contenu des balises quotes qui suivent, vous le collez dans un fichier texte que vous créer avec Notepad et ensuite après sauvegarde vous le renommer layout.py par exemple ou build.py.
L'important dans le nom c'est l'extension py.
B) Vous installez la dernière version de Python (un langage de programmation) que l'on trouve ici: https://www.python.org/downloads/release/python-385
C'est par tès gros, environ 10 à 150 Mo dans un répertoire de travail comme vous voulez, de préférence vers la racine d'un disque Z:\Prg\Python38 par exemple chez moi.
C) Pour un avion il faut copier ce build.py d'abord au niveau du répertoire SimObjects et l'exécuter puis au niveau du fichier aircraft.cfg et l'exécuter encore une fois.
D) Pour l'exécuter, vous lancez le raccourci IDLE (Python...) il s'agit de la commande Z:\Prg\Python38\pythonw.exe "Z:\Prg\Python38\Lib\idlelib\idle.pyw"
Vous faites File - Open et vous parcourez vos répertoires jusqu'à trouver votre fichier Build.py Après cela une autre fenêtre apparaît et vous faites Run ... c'est tout.
Le fichier layout.json sera automatiquement créer et rempli.
Vous pourrez donc créer votre ZIP et diffuser votre scène ou vos avions.
En cas d'un manque de clarté dans mes explications et si vous avez déjà installé un ou deux freeware voire un payware, allez jeter un oeil dans l'arborescence et vous comprendrez facilement ce que j'ai pu essayer de vous décrire.
==================================================================================================================
Build.py
import os
import json
import sysdef check_prerequisites():
if sys.version_info[0] < 3 or sys.version_info[1] < 6:
raise Exception("Must be using Python 3.6 or later")def build_layout(project_dir):
layout_entries = []
for root, _, files in os.walk(project_dir):
for filename in files:
filepath = os.path.join(root, filename)if not filepath.endswith(".json") and not filepath.endswith(".py"):
rel_dir = os.path.relpath(root)
rel_file = str(os.path.join(rel_dir, filename))
if rel_file[0] == '.':
rel_file = rel_file[2:]print(" -- Processing " + rel_file)
entry = {}
entry["path"] = rel_file.replace('\\', '/')
entry["size"] = os.path.getsize(filepath)
entry["date"] = "132402817714110148"
layout_entries.append(entry)layout_entries.sort(key=lambda e: e["path"])
return layout_entries
if __name__ == "__main__":
check_prerequisites()cwd = os.getcwd()
layout_content = build_layout(cwd)
layout_json = {
"content": layout_content
}with open("layout.json", "w") as outfile:
json.dump(layout_json, outfile, indent=4)
Dernière modification par Lagaffe (21-10-2024 10:43:16)
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Bonjour,
Beau boulot.
A noter pour ceux qui ne sont pas allergiques à la ligne de commande, qu'on peut lancer le script en se plaçant dans le répertoire où est le fichier build.py et tapant Z:\Prg\Python38\python.exe build.py (ou même juste python build.py si on avait coché Add Python 3.8 to PATH).
Pour les fichiers layout.json et manifest.json dans le cas d'un avion, ils ne devraient pas plutĂ´t ĂŞtre au mĂŞme niveau que le dossier Simobjects ?
C'est le cas quand on regarde un avion par défaut ou le DR400-140 dispo sur msfsaddons.org.
Dernière modification par Loader (28-08-2020 15:10:15)
Hors ligne
et bien rien que de voir je fuit .
Mais c'est bien pour ceux qui s'y plaise a composer ...
AMD Ryzen 9 7900X (4.7 GHz / 5.6 GHz)/ASUS ROG STRIX X670E-E GAMING WIFI / RX 7900 XTX GAMING OC 24G / SSD 980 PRO M.2 PCIe NVMe 500 Go / SSD 980 PRO M.2 PCIe NVMe 2 To / Samsung SSD 870 QVO 2 To / Corsair iCUE 7000X / Seasonic PRIME PX-1300 - Bluestork Grapheme / Acer Nitro XV345CURVbmiphuzx / Acer Nitro XV253QPbmiiprzx -JBL Quantum Duo - MSI MEG CORELIQUID S360
Hors ligne
Pour les fichiers layout.json et manifest.json dans le cas d'un avion, ils ne devraient pas plutĂ´t ĂŞtre au mĂŞme niveau que le dossier Simobjects ?
C'est le cas quand on regarde un avion par défaut ou le DR400-140 dispo sur msfsaddons.org.
Ah bon et qu'est-ce qui est Ă©crit ? il me semble que c'est exactement cela
D:\MSFS\Packages\Community>tree FrenchVFR-Mosquito
Structure du dossier pour le volume Donnees
Le numéro de série du volume est B005-8E5E
D:\MSFS\PACKAGES\COMMUNITY\FRENCHVFR-MOSQUITO
└───SimObjects ..................... layout.json et manifest.json
└───Airplanes
└───Mosquito-75 ........... layout.json
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Ce que tu écris c'est que layout.json et manifest.json sont dans le répertoire SimObjects.
Quand je dis au même niveau que le dossier SimObjects, c'est dans le répertoire de l'avion. Si je reprends ton exemple :
D:\MSFS\PACKAGES\COMMUNITY\FRENCHVFR-MOSQUITO
└───SimObjects
└───Airplanes
└───Mosquito-75 ........... layout.json
└─── .................................... Business.json, layout.json et manifest.json
Hors ligne
Bien, le C-47 de MandFred vient de passer à la moulinette mais il est très très pointilleux !
[img align=c]https://i.postimg.cc/sf7wD2jN/MSFS-C47.jpg[/img]
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
merci Lagaffe pour le boulot et les explications
Autant le Manifest et le Business sont facile Ă recopier et Ă modifier,
peux tu ĂŞtre un peu plus explicite sur le comment faire ?
Merci
Alex
Dernière modification par faf010 (28-08-2020 19:48:36)
Hors ligne
merci Lagaffe pour le boulot et les explications
Autant le Manifest et le Business sont facile Ă recopier et Ă modifier,
peux tu ĂŞtre un peu plus explicite sur le comment faire ?
Merci
Alex
Bonsoir Lagaffe et Alex, bonsoir tout le monde,
Merci Lagaffe pour ce tuto, mais suis comme Alex pas tout pigé
Je veux importer mon DHC-6 300 dans ce MSFS 2020. J'ai donc créer ces layout.json: un qui se trouve dans mon fichier SimObjects de FSX et l'autre dans le fichier DHC-6 300 de FSX .
Lequel des deux dois-je utiliser ?...
Comment créer le manifest.json ?...
Hé oui, c'est ça être béotien en informatique !
Merci d'avance pour Ă©clairer ma lanterne
Jean-Pierre
Hors ligne
Ok, dans le post d'entête, la balise spoiler mettait le souk, donc j'ai inversé les deux balises et cela devrait être plus lisible .
Deuxio, il faut que dans l'explorateur vous cliquiez en haut sur Affichage puis cochez la case Extensions de fichiers (*): dans l'explorateur vous devez voir aircraft.cfg et non aircraft ....
Les lettres de lecteur sont les miennes, et le chemins d'installation de MSFS est aussi le mien, vous modifierez en conséquence. Le reste doit être comme je l'ai indiqué.
Alors reprenons, pour un avion, on aura systématiquement dans Community un répertoire désignant le projet comme FrenchVFR-Mosquito.
Ensuite sous ce répertoire l'arborescence de l'avion SimObjects\Airplanes ce qui donne :
D:\MSFS\COMMUNITY\FrenchVFR-Mosquito
└───SimObjects
└───Airplanes
└───Mosquito-75
├───layout.json
├───model
├───panel
│ └───75
├───sound
└───texture
└───Gauges ...
└───Effects ...
└─── layout.json et manifest.json
Dans le répertoire FrenchVFR-Mosquito, le fichier Manisfest.json peut se créer en ouvrant l'application Notepad puis on copiant/collant le contenu de ce que j'ai indiqué plus haut soit:
{
"dependencies": [],
"content_type": "AIRCRAFT",
"title": "Mosquito",
"manufacturer": "French-VFR",
"creator": "Lagaffe",
"package_version": "0.1.0",
"minimum_game_version": "1.7.12",
"release_notes": {
"neutral": {
"LastUpdate": "",
"OlderHistory": ""
}
}
}
Vous remplacez les informations entre parenthèses qui suivent les labels title, manufacturer, creator, package_version avec vos informations.
Vous sauvegarde en Manifest.txt (vu que vous ĂŞtes dans le Notepad) puis vous renommer le fichier en Manifest.json
Pour le fichier layout.json, c'est un peu plus compliqué, il vous faut télécharger une application : Python 3.8.5 qui est la dernière version stable
Le langage de programmation Python se trouve ici: https://www.python.org/downloads/release/python-385
Vous allez récupérer un exécutable sur lequel vous double-cliquez, vous lui indiquez un nom de répertoire de préférence vers la racine d'un disque Z:\Prg\Python38 par exemple chez moi. C'est par très gros, environ 150 Mo.
Ensuite dans le répertoire FrenchVFR-Mosquito vous ouvrez encore un Notepad et vous recopier le contenu Build.py que j'ai indiqué entre quotes sur le premier post.
Vous sauvegardez en Build.txt et ensuite vous le renommer Build.py. L'important dans le nom c'est l'extension py. Pensez à la remarque faite plus haut et désignée par (*)
Pour l'exécuter, vous lancez le raccourci IDLE (Python...) que vous allez trouver dans Menu Démarrer, Programmes - Python 3.8.5 - IDLE (Python 3.8 64 bits) pour ceux qui sont en 64 bits
Une fenêtre s'ouvre, vous faites File - Open et vous parcourez vos répertoires jusqu'à trouver votre fichier Build.py dans D:\MSFS\COMMUNITY\FrenchVFR-Mosquito par exemple.
Après cela une autre fenêtre apparaît et vous cliquez dana la barre de menu tout en haut de cette fenêtre Run ... c'est tout.
Le fichier layout.json sera automatiquement créer et rempli dans le répertoire FrenchVFR-Mosquito.
Vous pouvez laisser le Build.py pour une prochaine utilisation mais dans ce cas, il faudra en faire une copie sous le nom de l'avion que vous essayerez de porter sous MSFS
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Bonsoir Lagaffe , bonsoir tout le monde,
Ce n'est pas sous le sigle de Modérateur qu'il faut que tu apparaisses dans ce forum, mais sous celui de Professeur !!!!=W
Demain il fait jour, je vais tout reprendre à la lettre . Au moins avec la Simu, ça me fait cogiter et évite que je devienne un vieux c...!
Merci encore
Jean-Pierre
Hors ligne
On migre, on migre ... en attendant une sortie officielle par le créateur.
Des trucs verticaux ou des blocs monolithiques pour agrémenter nos paysages et faciliter les promenades en pur VFR.
Un POI essentiel pour arriver sur Strasbourg par mauvais temps!
Une curiosité en Normandie:
Des antennes, des pylones:
Des petits bateaux:
Et de quoi s'amuser un peu:
Blédina: "Essayer c'est grandir"
Hors ligne
Ouahh , comment tu as fait pour avoir le Château du Haut-Kœnigsbourg
Merci
Olivier
W11 / i9-13900k 5.6 GHZ / 32 GO RAM 3200 MHZ /GTX 4070 TI SUPER 16GO /CM MSI Z690 UDR DDR4/THRUSMASTER BOIENG /SAMSUNG SSD970 ECO PLUS 1T NVM/ECRAN Samsung c49hg90 144hz
Hors ligne
Il faut que l'on garde un certain nombre de petits secrets sinon cela ne serait pas marrant
On vous a donné toutes les informations nécessaires le faire ... à vous de chercher un peu et de trouver
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Ouahh , comment tu as fait pour avoir le Château du Haut-Kœnigsbourg
Rien de bien compliqué, je t'assure
Suffit d'avoir une version FSX du programme d'un célèbre éditeur français (allez, nommons le puisque ça reste installé "at home" et en attendant une version officielle:"Obstacles et Repères VFR".
Suffit d'installer selon la methode mentionnée dans ce fil... vraiment à la portée de tous !
Marc
Hors ligne
Il faut que l'on garde un certain nombre de petits secrets sinon cela ne serait pas marrant
On vous a donné toutes les informations nécessaires le faire ... à vous de chercher un peu et de trouver
Ok , je comprend
Cependant faut'il plutôt chercher avec des scènes FSX ou P3D ? Il me semble que les scènes Fsx sont plus facilement convertible pour Msfs2020 exacte ?
Merci a vous
Olivier
W11 / i9-13900k 5.6 GHZ / 32 GO RAM 3200 MHZ /GTX 4070 TI SUPER 16GO /CM MSI Z690 UDR DDR4/THRUSMASTER BOIENG /SAMSUNG SSD970 ECO PLUS 1T NVM/ECRAN Samsung c49hg90 144hz
Hors ligne
MSFS est basé sur l'architecture FSX, cela a été plusieurs fois rabâché. La structure des MDLs de P3D est différente de celle des MDLs de FSX donc la portabilité ne peut être réalisée.
Toutes les scènes, objets, avions qui peuvent être passés sous MSFS en se basant sur la compatibilité sont de provenance FSX.
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Toulouse acheté fsx utilisé msfs
notre chère occitania, hélas les excludes ne passent pas partout ,meme parfois pas du tout
Idem pour francazal avec des immeubles dans le bon sens
Hélas j'ai partout maintenant des gorges profondes, chère a fsx
pepe
Windows 10 ,Intel (R) Core(TM) i7-6700K CPU 4.00GHz, RAM installée 16.0 GO
NVIDIA geForce GTX 1060/3GB
Hors ligne
MSFS est basé sur l'architecture FSX, cela a été plusieurs fois rabâché. La structure des MDLs de P3D est différente de celle des MDLs de FSX donc la portabilité ne peut être réalisée.
Toutes les scènes, objets, avions qui peuvent être passés sous MSFS en se basant sur la compatibilité sont de provenance FSX.
Merci pour cette mise au point
Olivier
W11 / i9-13900k 5.6 GHZ / 32 GO RAM 3200 MHZ /GTX 4070 TI SUPER 16GO /CM MSI Z690 UDR DDR4/THRUSMASTER BOIENG /SAMSUNG SSD970 ECO PLUS 1T NVM/ECRAN Samsung c49hg90 144hz
Hors ligne
ironman68 a écrit :Ouahh , comment tu as fait pour avoir le Château du Haut-Kœnigsbourg
Rien de bien compliqué, je t'assure
Suffit d'avoir une version FSX du programme d'un célèbre éditeur français (allez, nommons le puisque ça reste installé "at home" et en attendant une version officielle:"Obstacles et Repères VFR".
Suffit d'installer selon la methode mentionnée dans ce fil... vraiment à la portée de tous !http://restauravia.fr/perso/HautK_1
Marc
Merci a toi , j'ai encore cette scène dans mon cloud =8
Olivier
W11 / i9-13900k 5.6 GHZ / 32 GO RAM 3200 MHZ /GTX 4070 TI SUPER 16GO /CM MSI Z690 UDR DDR4/THRUSMASTER BOIENG /SAMSUNG SSD970 ECO PLUS 1T NVM/ECRAN Samsung c49hg90 144hz
Hors ligne
Hors ligne
Allez, carrément un nouveau pays dans MSFS!
La RĂ©publique de Sealand (Wikipedia pour ceux qui ne connaissent pas).
Ca doit etre possible d'y atterrir avec le Zlin Shock Ultra
Hors ligne
Y a pas Ă dire, MSFS il est pas mal tout de mĂŞme...
Pascal
id MSFS : WhiteOurson. Core i7 6700K 4.GHz, RAM 32Go, GeForce GTX 1070 8Go, OS Win10-64b sur SSD 250Go + SSD 1To (simus) + HDD 3To pour le reste / Fibre Optique Bouygues 1Giga / MSFS DVD
Hors ligne
Hors ligne
Anecdote :
Je viens de suivre le pas-Ă -pas de Didier au sujet du fichier build.py !
Le fichier build.py je l'ai mis dans le dossier Documents.
J'ai fait la manip, et j'ai un fichier layout.json ayant tous les fichiers et dossiers dans "Documents" !
La manip marche !
Windows 10 Professional 64 bits - Z490-A PRO (MS-7C75) DDR4 - Intel(R) Core(TM) i3-10100F CPU @ 3.60GHz - CORSAIR Vengeance LPX CMK16GX4M2E3200C 16 Go - NVIDIA GeForce GTX 1060 6GB - Alimentation CORSAIR HX 750 Watt - Boitier BeQuiet! Pure Base 500 DX - Microsoft Flight Simulator 2020 Store
En ligne
Salut Ă tous,
@ Mercure :
A priori, aucune opération aéronavale n'est possible actuellement, et personne n'en parle pour l'avenir ...
J'espère avoir tort, mais je n'ai pas beaucoup d'espoir !
Bons vols
Patrick
AMD Ryzen7 1800X 3.8GHz Gigabyte Aorus AX370 Gaming K5, RAM 32Go G-Skill DDR4 2666, Radeon RX580 8Go GDDR5, Corsair 750W modulaire 80+ Gold, Cooler Master Pro 120; SSD Crucial M4 500Go pour le système, SSD Toshiba Q300 960Go pour P3D et les scenery standard, SSD Samsung 960 EVO 500Go M2 NVMe pour les scenery Photo HD, ...
Hors ligne