Dan's Orbiter page

Orbiter Francophone => Création Orbiter Francophone => Topic started by: X-20_Dyna-Soar on 20 August 2016, 12:24:30

Title: Créer un vaisseau sur Orbiter
Post by: X-20_Dyna-Soar on 20 August 2016, 12:24:30
Bonjour,

Passionné par Orbiter depuis plusieurs années déjà, j'aimerai savoir comment créer son propre vaisseau spatiale le mieux possible ? J'ai lu le topic créer des addons en C++ mais certains logiciels qui était proposés ne sont plus disponible ? Si vous pouviez m'aider en me dirigeant vers un post plus récent ou alors avec votre expérience je vous en serai reconnaissant...

D-S
Title: Re: Créer un vaisseau sur Orbiter
Post by: jacquesmomo on 20 August 2016, 13:22:38
Pour le C++ je ne peux pas t'aider (je suis moi aussi intéressé pour... plus tard) mais pour le reste, je pourrai t'aider (fichiers cfg, msh, spacecraft...)

(https://smileys.surlatoile.org/repository/Combat/0190.gif) Bienvenue chez les fous qui passent leurs nuits à faire des petites fusées...
Title: Re: Créer un vaisseau sur Orbiter
Post by: Papyref on 20 August 2016, 13:56:50
Il faut être gentil, c'est une dame  ;)
Title: Re: Créer un vaisseau sur Orbiter
Post by: X-20_Dyna-Soar on 20 August 2016, 14:06:32
non, un homme (pardon j'ai fait une fausse manip'). J'accepte volontiers votre aide mais pouvez vous m'expliquer l'utilité de ces fichiers :wonder: car je débute dans la programmation à la rentrée donc je ne suis pas encore au top.

Merci.

D-S
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 20 August 2016, 22:02:15
Bonsoir,

Je profite de ce topique pour dire que je suis aussi intéressé...
Cela fait longtemps que je ne me suis pas connecté ici. Mais je fais souvent un tour ici.
si tu veux nous pouvons travailler ensemble... es tu d'accord?
nous allons installé le logiciel gratuit de Microsoft dernière version ensemble...

belka
Title: Re: Créer un vaisseau sur Orbiter
Post by: SolarLiner on 21 August 2016, 01:13:47
Le logiciel le plus important concernant le développement d'addons est Visual Studio: https://www.visualstudio.com/fr-fr

La version que tu veux utiliser, en assumant que tu veuilles la dernière version, est Visual Studio 2015 Community (https://www.visualstudio.com/vs-2015-product-editions) car elle est gratuite, et destinée aux développeurs indépendants et petites entreprises. Puisque tu tombes justement dans la première catégorie, tu peux donc légalement utiliser VS Community gratuitement. Il est bien plus puissant que ce que tu va utiliser si tu te contentes à la création d'add-ons pour Orbiter.

Maintenant, l'API Orbiter est en C++, ce qui veut dire qu'il faut connaître le langage, et pour connaître C++ il faut avoir des bases en C.

Je te conseille de regarder des tutoriels sur le langage C puis C++ afin d'assimiler les bases. La théorie derrière la POO est la plus importante pour la création d'un add-on selon ma propre expérience.

En suite, il faut préparer Visual Studio pour qu'il sache que tu veuilles créer un addon pour Orbiter et non pas un "simple" programme. Une bonne manière de découvrir les choses est de regarder sous le capot alors allons-y et ouvrons un projet existant - heureusement Orbiter en a quelque-uns: La navette Atlantis, le DeltaGlider, le ShuttlePB, etc.
Le plus simple d'entre eux est bien sur le ShuttlePB, et c'est donc pour de bonnes raisons que c'est le projet que l'on va choisir.
(https://i.gyazo.com/0cd08aaa32de07b50e79ab29fb8b539f.png)

Le projet se trouve dans /Orbitersdk/samples/ShuttlePB. (J'utilise la notation Unix ici parce que c'est plus facile de taper un slash qu'un backslash, mais aussi parce qu'on sait que "/" fait référence au dossier racine du dossier d'Orbiter) Il n'y a pas beaucoup de fichiers à l'intérieur, et c'est tant mieux pour nous.
Ouvres ShuttlePB.sln, ce qui va ouvrir Visual Studio Community (que tu as évidemment installé!). Le logiciel va te demander de confirmer la mise à niveau des projets parce que la solution (=ensemble de projets qui ont un lien direct dans un produit, mot qui ici définit ton add-on au complet, même s'il est gratuit) a été enregistrée avec une vieille version de Visual Studio. Confirme la mise à niveau.
(https://i.gyazo.com/d46b05a5e804897a09458fcf164f1a25.png)

Une page web s'ouvre indicant le résultat de la conversion. Ne t'inquiètes pas s'il y a des avertissements, c'est du à des changements dans la structure interne des solutions.

"Mais où est le code?" - la fenêtre la plus importante dans tout projet dans Visual Studio est l'explorateur de solutions:
(https://i.gyazo.com/8a3e047bd7acef98ddffc2380e56b02a.png)

Développe le projet ShuttlePB, et tu trouves "ShuttlePB.cpp". Un double click ouvre le fichier et tadaa! du code! (quoi, vous êtes pas excités?)
Notez que le fichier code peut-être aussi développé, révélant la structure des classes - simple mais puissant. Pratique pour naviguer de méthode en méthode dans un long fichier. - Bref je m'égare.

(https://i.gyazo.com/c1dee13ec061a6c5d04808a7d4178fea.png)
Des fautes d'orthographe dans du code!?

Oui! Et non. Le surlignage dans les commentaires est du à une extension qui permet de vérifier l'orthographe, mais le surlignage rouge sous le code est dû au fait que Visual Studio montre des erreurs. La première est celle-ci: "#include "orbitersdk.h" "

Elle montre que le fichier n'est pas accessible - parce que nous n'avons pas donné à Visual Studio les moyens de le trouver.
Un clic droit sur le projet "ShuttlePB" (et pas la solution), et sélectionnez "Propriétés" vous apporte la boîte de dialogue suivante:
(https://i.gyazo.com/3bb5be82a44fce6d05382e9cba38d57e.png)

Première chose avant tout, veuillez à ce que la configuration sélectionnée soit "Toutes les configurations". La plateforme n'est à ne pas changer, puisque Orbiter est une application 32-bit seulement.

En suite, allez dans "Répertoires VC++". La deuxième option devrait être "Répertoires Include" et vous permet d'éditer les chemins où trouver les fichiers qu'on spécifie avec #include. Cliquez pour éditer, et en suite cliquez sur la flèche, et enfin "<Modifier>" - elle permet une meilleure modification des paramètres.
(https://i.gyazo.com/79a7d184ea904e847245eaee573ac018.gif)

La fenêtre qui s'ouvre vous permet de renseigner plusieurs dossiers dans lesquels chercher les fichiers: Entrez "/Orbitersdk/include", et confirmez.

Comme par magie, plus aucune erreur! Mais il reste une dernière chose à spécifier: les fichiers de librairie statique. Si vous tentez de générer le projet, Visual Studio vous retournera une erreur disant qu'il lui est impossible d'ouvrir le fichier "orbiter.lib". Il faut donc lui dire aussi où ce trouve ce fichier.
(https://i.gyazo.com/86121d3d8e09d3bbebd7a4ead0526274.png)
Ceci est la liste exhaustive de tous vos problèmes. "Affichage -> Liste d'erreurs" si vous ne l'avez pas.

Ces librairies se trouvent dans "/Orbitersdk/lib". Ouvrez à nouveau la fenêtre des propriétés et ajoutez ce dossier, mais cette fois-ci, à la propriété "Répertoires de bibliothèques".

Vous êtes enfin prêt. Appuyez sur F6, où sélectionnez "Générer -> Générer la solution" pour faire apparaître la magie lancer la build. Si rien ne se passe, c'est que vous n'avez pas la fenêtre de sortie ouverte. C'est là où les messages de progression de génération sont montrés. La fenêtre est à activer si ce ne l'est pas déjà dans "Affichage -> Sortie".
(https://i.gyazo.com/7c3fd55763fb2e35779895cf839b794c.png)

Vous devriez avoir à peu près le même résultat, à quelque couleurs prêt (ici encore, c'est une extension qui ajoute les couleurs).

(https://i.gyazo.com/27f3164039fd0aff23b3c92511484df4.png)

Et bam! Un DLL générée.

Tout ça pour une DLL? ... ouais. Mais une fois mise en place, la configuration reste et on peut en suite s'amuser avec le code!
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 21 August 2016, 07:23:38
merci SolarLiner d'avoir pris le temps de rediger tout ca.
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 21 August 2016, 18:58:25
ca y est je viens d'installer le logiciel j'ai suivi à la lettre mais rencontre deux erreurs.

comment inserer une image sur le forum? cela remplacera 1000 mots...
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 21 August 2016, 19:25:02
j'espere que ca marche!
(http://orbiter.png)
Title: Re: Créer un vaisseau sur Orbiter
Post by: X-20_Dyna-Soar on 21 August 2016, 23:48:22
Merci beaucoup pour ta réponse détaillée et d'avoir pris du temps pour répondre. Je vais appliquer tes conseils et je te dirais si j'arrive à les suivie. Encore merci



D-S
Title: Re: Créer un vaisseau sur Orbiter
Post by: jacquesmomo on 22 August 2016, 00:43:52
comment inserer une image sur le forum? cela remplacera 1000 mots...
Le plus simple (permet d'avoir l'image "en grand" et non pas une vignette) :
1) uploade ton image sur un site comme hostingPics.net (gratuit, il suffit de s'inscrire)
2) copie le lien de cette image uploadée
3) colle le lien sur ton msg dans le forum ici
4) sélectionne cette ligne en entier (donc l'adresse)
5) clique sur le bouton que tu vois en haut (2ème ligne, 3ème icone en partant de la gauche : Mona Lisa) (http://orbiter.dansteph.com/forum/Themes/OrbiterMars/images/bbc/img.gif) (https://smileys.surlatoile.org/repository/Reflexion/recherche-loupe.gif)
ça va te rajouter les balises idoines.

:prof: Voilà.

@SolarLiner : merci pour tes explications... (peut-être' à "scotcher" avec le tuto de Dan ?)
Title: Re: Créer un vaisseau sur Orbiter
Post by: SolarLiner on 22 August 2016, 02:08:48
@SolarLiner : merci pour tes explications... (peut-être' à "scotcher" avec le tuto de Dan ?)

Merci! ;) Je pense que je vais plutôt rédiger ça en PDF et le mettre dans les tutos...

@belka, tu utilises "Blend", pas "Visual Studio". C'est un peu bizzare au début, mais Blend ne te sera d'aucune utilité (c'est un logiciel pour la création d'interfaces WPF). Ré-essaye avec Visual Studio et normalement ça marche.

Cela dit, je note qu'au dessus de l'erreur au niveau du C, il y a un point virgule en fin de ligne après le for() qui ne devrait pas être là...
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 22 August 2016, 07:34:58
j'ai utilisé "Visual Studio 2015 Community" comme expliqué sur ton topic. Je n'ai rien fait de plus.
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 22 August 2016, 10:08:48
Visiblement je n'ai pas pris le bon. Là je viens de generer et tout fonctionne parfaitement bien.
merci solarliner
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 22 August 2016, 20:38:22
je n'arrive pas a trouver shuttlpb.dll dans debug.
il me demande e revoir le chemin de sortie. Ou puis je voir ca?
Title: Re: Créer un vaisseau sur Orbiter
Post by: SolarLiner on 22 August 2016, 21:10:23
Que te dis la fenêtre "Sortie" après avoir généré le projet?
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 23 August 2016, 06:22:57
voila ce qu'elle me dit MSB8012

Gravité   Code   Description   Projet   Fichier   Ligne   État de la suppression
Avertissement   MSB8012   TargetPath(C:\Orbitersdk\samples\ShuttlePB\Debug\ShuttlePB.dll) does not match the Linker's OutputFile property value (c:\source\orbiter\Modules\ShuttlePB.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).   ShuttlePB   C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets   1189   
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 23 August 2016, 07:51:46
je viens de le trouver dans ce repertoire c:\source\orbiter\modules
comment modifier le chemin de sortie?
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 23 August 2016, 08:29:59
Pfiouuu! c’était une galère! En effet comme c'est un ancien projet, le logiciel a du mal à le mettre à jour donc à le compiler "vraiment sans erreur"... donc j'ai refait le projet et celui m'a causé aucun problème lors de la compilation "génération". Par contre il y a un réglage à faire qu'il ne faut surtout pas négliger ce paramètre aussi voir image sinon ça plante tout le temps.
Maintenant que j'ai réglé l’histoire de la compilation, je vais voir le fond du programme le modifier le tester lol
Title: Re: Créer un vaisseau sur Orbiter
Post by: jeanus on 26 August 2016, 15:50:08
Si non pour se faire la main, y'a Spacecraft 4 de Vinka, demande à Jacquesmomo, il m'a bien aidé ... et c'est pas fini !
Un vaisseau-station en cour de finitions avec Exo-squelette pour manipulations de charges lourdes ... c'est la fin des bras robotisés !

D'énormes possibilités avec SPACECRAFT 4, MERCI VINKA et un très grand merci à JacquesMomo, pardon, " Monsieur" JacquesMomo  :wor:
Title: Re: Créer un vaisseau sur Orbiter
Post by: jacquesmomo on 26 August 2016, 18:00:28
Voui, pour Spacecraft, pas d'problème... :why:
(en ce moment je suis un peu moins actif et présent because ma femme est en vacance ( :sage: Papyref comprendra ;)  ) mais si tu as besoin d'aide... n'hésite pas)...

Pour les dll, par contre, ça je n'y connais rien hélas.... :(

Quand je pense que mon fils n'arrête pas de programmer (c'est son métier) mais il a jamais le temps de m'apprendre...    :rant:
Title: Re: Créer un vaisseau sur Orbiter
Post by: belka on 27 August 2016, 05:15:27
je ne sais pas comment ca marche spacecraft de vinka... quelqu'un peut me router?
Title: Re: Créer un vaisseau sur Orbiter
Post by: jeanus on 27 August 2016, 09:31:33
je ne sais pas comment ca marche spacecraft de vinka... quelqu'un peut me router?
Ca marche Super bien ! c'est en gros un "interpréteur" de C++, y'a qu'a télécharger, lire le PDF tout est dedans y compris les exemples, ensuite tu charge les addons de Jacquesmomo (pour ne pas le citer comme référence !)  et tu analyse en profondeur ... c'est géant !
Mais je suppose que notre AMI Jacques va te faire un "topo" plus complet !!!  :beer: :wor:
Title: Re: Créer un vaisseau sur Orbiter
Post by: jacquesmomo on 27 August 2016, 19:09:38
:prof:

comme dit Jeanus, le plus simple c'est de charger un vaisseau déjà fait et regarder...

Dans l'archive Spacecraft4 de Vinka il y a des exemples.
Il suffit de les disséquer et de comprendre.

En résumé :

Dans le scénario il y a au début de la définition du vaisseau un ligne comme cela :
BEGIN_SHIPS
MONVAISSEAU:Spacecraft/Spacecraft4
  STATUS Landed Earth
(etc...)

cette ligne va aller chercher dans le dossier "spacecraft" un fichier se nommant "MONVAISSEAU.ini"

et c'est dans ce fichier que seront déclarés les caractéristiques du vaisseau (masse, poussées, exhaust etc...) ainsi que les animations.

bien sûr il faut bien lire (et étudier) la doc de Vinka, qui semble simpliste... mais il y a tout !!!

Donc il faut un peu bosser avant, mais tout est écris en "texte" dans le fichier ini, ce qui simplifie les choses.

Alors voilà, à toi de jouer !!!

ensuite, si tu sais "coder" rien ne t'empêche de faire des dll, mais avec spacecraft4 de Vinka (et aussi "multistage2015 ne l'oublions pas) c'est assez intuitif.
Donc étudies bien les exemples de Vinka, et tu as aussi un bon exemple avec le DC6 de Tintin.

On peut également compliquer les chose et ajouter un fichier.cfg (en plus du fichier.ini) mais c'est une autre histoire...  :badsmile:

bon courage !!!  ;)
Title: Re: Créer un vaisseau sur Orbiter
Post by: jeanus on 29 August 2016, 08:31:39
On peut également compliquer les chose et ajouter un fichier.cfg (en plus du fichier.ini) mais c'est une autre histoire...
AH BON ? MAIS CA JE VEUX !  :applause:
 VITE, une explication Maître !!!!  :wor:
Title: Re: Créer un vaisseau sur Orbiter
Post by: jacquesmomo on 29 August 2016, 09:26:14
AH BON ? MAIS CA JE VEUX !
Bon... Dès que j'ai le temps  (https://smileys.surlatoile.org/repository/Endormi/fatigue5.gif) je te fais un topo...

ALORS VOICI COMMENT FAIRE : :

Supposons que ton vaisseau se nomme "Antares2".  :doubt:  et pourquoi pas Bételgeuse ???
(il peut s'appeler comme tu le souhaite)

1) Vaisseau "spacecraft" sans fichier cfg (cas général)

fichier scenario :
vous devez définir comme toujours votre vaisseau ainsi que sa position etc...

ex :

Antares2:Spacecraft/Spacecraft4
   STATUS Landed Earth
  POS -52.5647421 5.0567428
  HEADING 354.60
  AFCMODE 7
  PRPLEVEL 0:1.000000
  NAVFREQ 0 0
  CONFIGURATION 0
  CURRENT_PAYLOAD 0
  SEQ 0 2 1.000000
END

Dans ce cas, Orbiter va chercher un fichier "ini" dans le dossier \Spacecraft
Ce fichier doit s'appeler "Antares2.ini".
Et bien sûr dans ce fichier vous devez définir le nom du mesh etc etc  :badsmile:etcetcetcetc

exemple d'un fichier.ini "simple" avec un minimum de choses :

[CONFIG]
MESHNAME="Antares_cequevousvoulez"   ; le fichier mesh (sans l'extension "msh") se trouve dans le dossier \meshes
SIZE = 50
COG=37
VISIBLE=1
CAMERA=(0,-20,1)

;////// à noter que ce vaisseau n'a pas de possibilité de bouger : il faut rajouter les "trust" etc
;/// autre chose : c'est mieux de ranger vos meshes dans un dossier spécifique. :prof: conseil
;/// par exemple dans le dossier \meshes\Antares
;/// dans ce cas il faut écrire MESHNAME="Antares\Antares_cequevousvoulez"
;/// et le fichier mesh s'appelle toujours Antares_cequevousvoulez.msh mais c'est mieux rangé.  :badsmile:

[ANIM_SEQ_0]   ; définition des touches de commandes etc (voir doc de Vinka)
INIT_POS=0
Key=K
DURATION=30
PAUSE=1

[ANIM_COMP_0]   ; définition de l'animation commandée par la touche "K"
SEQ=0      ; renvoi vers  [ANIM_SEQ_0]
GROUPS=52   ; n° du groupe dans le mesh qui va "bouger"
RANGE=(0,1)   ; l'animation se fait de 0 sec à 30 sec (ligne DURATION=30)
TYPE=TRANSLATE ; type de l'animation (ici translation)
SHIFT=(0,2,10)    ; le groupe "52" va se déplacer de 10 m vers l'avant et 2 m vers le haut

Remarque : si on met RANGE=(0,0.5) l'animation (identique) se fait de 0 sec à 15 sec
utile pour des animations "séquentielles"

exemple :

[ANIM_COMP_0]   ; définition de l'animation commandée par la touche "K"
SEQ=0      ; renvoi vers  [ANIM_SEQ_0]
GROUPS=52   ; n° du groupe dans le mesh qui va "bouger"
RANGE=(0,0.5)   ; l'animation se fait de 0 sec à 15 sec (ligne DURATION=30)
TYPE=TRANSLATE ; type de l'animation (ici translation)
SHIFT=(0,2,10)    ; le groupe "52" va se déplacer de 10 m vers l'avant et 2 m vers le haut

[ANIM_COMP_1]   ; définition de l'animation commandée par la touche "K"
SEQ=0      ; renvoi vers  [ANIM_SEQ_0]
GROUPS=52   ; n° du groupe dans le mesh qui va "bouger"
RANGE=(0.7,1)   ; l'animation se fait de T=21 sec à 30 sec (ligne DURATION=30)
TYPE=TRANSLATE ; type de l'animation (ici translation)
SHIFT=(5,0,0)    ; le groupe "52" va se déplacer de 5 m vers la droite (tribord)

Dans ce cas, la piece n°52 va faire le mouvement "_0" de T=0  à T=0.5 (toujours sur base de 30 sec définie)
Puis de T=0.5 à T=0.7 il ne se passe rien
Puis enfin de T=0.7 à T=1 le mouvement "_1" va se faire

ça va vous suivez ???  :sick: rhôôôô


2) Bon maintenant, étudions un vaisseau "spacecraft" mais avec un fichier cfg en plus. (il faut toujours un fichier "ini")

Fichier scenario :
Antares2:Antares2   ;//////// vous voyez la différence ???
  STATUS Landed Earth
  POS -52.5647421 5.0567428
  HEADING 354.60
  AFCMODE 7
  PRPLEVEL 0:1.000000
  NAVFREQ 0 0
  CONFIGURATION 0
  CURRENT_PAYLOAD 0
END

Dans ce cas Orbiter va chercher dans le dossier "\vessels" un fichier "Antares2.cfg" (s'il n'existe pas => CTD !!!)

exemple : fichier "Antares2.cfg"


ClassName = Antares2   ; là, je ne pense pas que le nom soit important (orbiter se base sur le nom du fichier, pas sur cette ligne) mais mettez-le tout de même)
Module = Spacecraft4   ; indique à Orbiter d'aller chercher dans le dossier "\spacecraft" un fichier ini du même nom (si pas de fichier => CTD !!!) et donc Spacecraft4 sera utilisé comme "interface/commande")
EnableFocus = false      ; facultatif : cette ligne empêche de voir le vaisseau en faisant F3 (contraire=true)
EditorCreate=false   ; facultatif : cette ligne empêche de créer ce vaisseau dans l'éditeur de scenario

ImageBmp = Images\Antares2.bmp; facultatif : cette ligne permet de voir l'image du vaisseau dans l'éditeur de scenario (si EditorCreate="true")... et si bien sûr le fichier Antares2.bmp existe dans le dossier \images

Et vous pouvez rajouter d'autres paramètres (masse, points d'attache, points de docking etc...)
ces paramètres serons pris en compte en plus de ceux du fichier ini. (voir liste dans la doc orbiter)

exemple :
BEGIN_ATTACHMENT
C 0 0 0  0 0 1  0 1 0 XS
END_ATTACHMENT

Attention ce point d'attache ne pourra être commandé par les touches de Spacecraft....
(et l'écriture est différente)
Attention à ne pas faire de "doublon"

par exemple
a) si vous avez dans le fichier cfg ceci :
MeshName = Antares\antares_3
Size = 5.0
Mass = 5000; empty mass [kg]
MaxFuel = 0  ; max fuel mass [kg]
Isp = 0        ; fuel specific impulse [m/s]
MaxMainThrust = 0
MaxRetroThrust = 0
MaxHoverThrust = 0
MaxAttitudeThrust = 5e2
COG_OverGround = 2.0
CameraOffset = -.715 .865 -2.5
CW = 10 10 5
LiftFactor = 0.0
CrossSections = 2.45 6.25 2.45

inutile de répéter les choses dans le fichier ini (en fait je n'ai pas testé, il doit y avoir une priorité)

En résumé, j'ajoute un fichier "cfg" pour un vaisseau spacecraft :
- si je ne veux pas qu'il soit affiché dans la fenêtre ouverte par "F3"
- si je veux un point d'attache particulier (non détachable par exemple)
- bref, selon votre désidérata  :badsmile: ou délire...

Il y aura des exemples dans mon futur add-on "ELV zone pour Kourou" mais désolé il n'est pas encore tout à fait terminé, mais c'est pour bientôt.  :eek:

Enfin, il est à noter que Spacecraft 3 et 4 ne fonctionnent bien que avec Orbiter2010P1.
En effet avec la beta, il y a des dysfonctionnements....

Maintenant prenez un cachet d'aspirine, et interro écrite demain !!!

(http://www.emoticones-gratuits.com/malade/14.gif)  (http://www.emoticones-gratuits.com/malade/104.gif) répétez ceci : déhèlehèle-déhèlehèle-déhèlehèle-déhèlehèle-


Title: Re: Créer un vaisseau sur Orbiter
Post by: Milouse on 29 August 2016, 17:49:09
Bonjour,

J'aimerais apporter des précisions sur les explications de Jacquesmomo :beer:, car j'ai le sentiment qu'un raccourci a été fait dans le fonctionnement des fichiers Orbiter et Spacecraft...

[...]
Dans le scénario il y a au début de la définition du vaisseau un ligne comme cela :
BEGIN_SHIPS
MONVAISSEAU:Spacecraft/Spacecraft4
  STATUS Landed Earth
(etc...)

cette ligne va aller chercher dans le dossier "spacecraft" un fichier se nommant "MONVAISSEAU.ini"
[...]

Techniquement, la ligne en rouge renvoie vers le fichier \Config\Spacecraft\Spacecraft4.cfg ; lequel indique, grâce à la fameuse ligne de commande Module = Spacecraft4 qu'il contient, qu'il faut utiliser le fichier \Modules\Spacecraft4.dll, dont les variables sont indiquées dans \Config\Spacecraft\MONVAISSEAU.ini.
Bien sûr, quand on crée un nouveau vaisseau avec Spacecraft4, on se contente d'écrire un nouveau fichier .ini. Mais il ne se suffit pas à lui-même et les fichiers Spacecraft4.cfg/dll sont utilisés pour chaque addon Spacecraft4.

Il y a un intérêt supplémentaire à créer un fichier Antares2.cfg, tel que Jacquesmomo l'a décrit dans le post qui précède ; c'est d'ajouter des paramètres que Spacecraft ne reconnaît pas dans les fichiers .ini, sans qu'ils s'appliquent à tous les vaisseaux Spacecraft installés. :)


Milouse
Title: Re: Créer un vaisseau sur Orbiter
Post by: jacquesmomo on 29 August 2016, 19:29:14
Bien sûr, quand on crée un nouveau vaisseau avec Spacecraft4, on se contente d'écrire un nouveau fichier .ini. Mais il ne se suffit pas à lui-même et les fichiers Spacecraft4.cfg/dll sont utilisés pour chaque addon Spacecraft4.

C'est vrai tu as raison j'avais "occulté" involontairement ce fichier Spacecraft4.cfg....  :arg:

En fait avec l'écriture indiquée (MonVaisseau:Spacecraft/Spacecraft4) Orbiter va demander à monsieur spacecraft4.cfg qui ne fait rien d'autre que de faire comprendre à madame Spacecraft4.dll de trouver un fichier "monVaisseau.ini" que celle-ci saura interpréter. Le fichier "monvaisseau.cfg est dans ce cas inutile.

Sinon il faut déclarer MonVaisseau : Monvaisseau  (ou alors "trucmachin : monVaisseau")
et dans ce cas Orbiter va chercher le fichier MonVaisseau.cfg qui renverra au fichier ini si la ligne "module = spacecraft4" est mise, bien sûr...
:prof: en fait c'est pas vrai, le fichier cfg envoie le monsieur chercher le fichier spacecraft.dll qui est intelligent, lui !!!

Donc merci Milouse pour cette précision utile comme quoi on a toujours besoin de tout le monde ici :wor:
Donc je n'utilise un fichier.cfg avec spacecraft que si je veux un truc en plus non déclaré dans le fichier ini.

Exemple (à venir) :
Dans ELV pour Kourou (à venir) il y a la 4L améliorée et adaptée pour Spacecraft4.
Or, je n'avais pas fait de fichier.cfg et tout marche bien.
Mais comme j'ai voulu rajouter un addon (spotlight2 de Brianj) et que je ne voulais pas que l'on puisse décrocher ce spot (qui illumine la nuit les objets) j'ai créé un fichier cfg pour mettre un point d'attache supplémentaire et donc "non détachable".
Donc du coup la R4 a un fichier cfg + 1 fichier ini, alors que sans spotlight2 elle n'en avait pas besoin. (du fichier cfg)  :trucdeouf:

Et je dois dire que j'ai passé un moment sur cette histoire de ini / cfg avec pleins de tests....  :badfinger: nananèreu...

Voilà...
Title: Re: Créer un vaisseau sur Orbiter
Post by: jeanus on 29 August 2016, 19:48:41
Maintenant prenez un cachet d'aspirine, et interro écrite demain !!!

Tripant !

Désolé mais pour moi ce sera un Naramig ! :arg: