See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: [Addon] Collaboration projet genesis by brianJ - dispo sur avsim !!  (Read 19848 times)

0 Members and 1 Guest are viewing this topic.

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #75 - 22 May 2008, 07:44:08
Ca tient en quelques lignes :) En gros, pour attraper en vol, l'astuce est de mesurer en permanence la différence
longitude et latitude. Puis quand j'ai une différence de 0.000001 sur les 2 valeurs, j'attache l'attachment du
parapente sur celui du grappin.

Dans clbkPostStep() :

Quote
OBJHANDLE hVGEN = oapiGetVesselByName ("Genesis_SRC_Parafoil");

if (hVGEN != NULL)
         {
         VESSEL *v = oapiGetVesselInterface (hVGEN);

         v->GetEquPos(lonGEN, latGEN, radiusGEN);
         altGEN = v->GetAltitude();
      
         GetEquPos(lon, lat, radius);
         alt = GetAltitude();
         
         if (!isCatch && fabs(lon - lonGEN) <= 0.000001 && fabs(lat - latGEN) <= 0.000001 &&
(alt - altGEN) <= 18 && (alt - altGEN) >= 14 && altGEN > 20)
            attach();
         }

Et la fameuse méthode d'attache :

Quote
void as350::attach()
   {
   OBJHANDLE hVGEN = oapiGetVesselByName ("Genesis_SRC_Parafoil");
   if (hVGEN != NULL)
      {
      VESSEL *v = oapiGetVesselInterface (hVGEN);
      ATTACHMENTHANDLE hatt = v->GetAttachmentHandle(true,0);
      AttachChild(hVGEN,grappin_attach,hatt);
      isCatch = true;
      }
   }

Rien d'autre à faire ! ;)



Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #76 - 22 May 2008, 17:47:56
Ok, c'est donc un attachment et d'après le code n'importe quel objet respectant le nom "Genesis_SRC_Parafoil" peut
être accroché. De quoi étendre le potentiel de l'hélico ^^

J'ai fais un peu la même chose avec le petit satellite probaCTV, sauf que je n'ai pas utilisé les coordonnées, dans
l'espace çà aurait été maladroit ^^, j'utilise la distance entre cible et source et la récup n'est pas automatisée, faut
ouvrir le hatch faire une eva etc...

Je commence à racler le fond de mes poches pour récupérer quelques deniers et aller me chercher un joy.
Par contre, je ne sais pas quoi acheter, il me faut absolument un vrai levier de gaz et pas un petit ersatz ridicule à la
microsoft sidewinder....


------------

no matter.

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #77 - 22 May 2008, 18:17:00
bon, j'ai fait le bourrin niveau code, mais on aurait pu imaginer stocker le nom du vessel dans le scn ;) Et le récupérer
dans le code (voir mieux, faire une fenetre et sélectionner le vessel, mais bon, sais po faire ... ;))
Sinon, oui, j'y avais penser aussi, récupérer les distances sur x, y et z et en déduire la distance entre les 2 objets ;)
Sauf que pour ma part, il fallait que je sois au dessus de la sonde, et pas n'importe où à distance équivalente !
Donc, l'idéal était forcément les coordonnées GPS et altitude. De plus, pour trouver le cap à suivre pour trouver la
sonde (45 kms, c'est loin :)), ça m'a bien aider !
D'ailleurs, si le code du calcul du cap intéresse qq, pas de soucis ;)



Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #78 - 22 May 2008, 18:48:24
Quote
(voir mieux, faire une fenetre et sélectionner le vessel, mais bon, sais po faire ... )
J'ai réussi (thanks Computerex ;) ) à le faire pour le lander LTV. Ouvrir une boite de dialogue est vraiment très simple,
mais pour indiquer que l'entrée récupérée est la cible du vaisseau c'est effectivement un peu plus tricky:
Quote
// ==================================
// TARGET INPUT
// ==================================
bool GetTargetName(void *id, char *str, void *data)
{
OBJHANDLE obj = oapiGetObjectByName(str);
if (obj == NULL)
{
LTV * p = (LTV*)data;
p->SetTarget("Unknown"; )
return false;
}
else
{
LTV * p=(LTV*)data;
p->SetTarget(str);
return true;
}
return false;
}



Message modifié ( 22-05-2008 18:49 )

------------

no matter.

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #79 - 22 May 2008, 22:16:04
Niquel ! Mais pour ouvrir la fenêtre c'est là tout le mystère pour moi ... je potasserais ça un jour à l'occasion ...



Offline Jekka

  • Legend
  • ******
  • Posts: 1172
  • Country: Switzerland ch
  • Karma: 3
Reply #80 - 08 September 2009, 19:31:55
Hop, petit déterrement de topic, mais celui là est mérité :

Comme dit dans un autre post récent (cf. pires addons), j'ai fait la mission Genesis de BrianJ et Brainstorm en entier, de A
à Z avec la doc, la totale. Je sais ça m'arrive pas souvent, mais il faut avoir du temps et absolument rien d'autre à faire,
ce qui est par chance le cas pour moi ces jours !

Alors voilà, je voulais juste manifester mon émerveillement devant cet addon qui est à mon sens l'une des missions les plus
originales et les mieux réalisées qui puissent y avoir sous Orbiter.

Tout y est : - Lancement avec un lanceur cool (ah, quand les delta II seront au placard... :( )
                   - Un petit coup de IMFD pour viser et visualiser la cible.
                   - Un objectif original : L1, vraiment marrant de voir cette orbite sur IMFD et la manière de la tenir. :)
                   - Un GenesisMFD pédagogiquement absolument bestial : si j'avais une idée du phénomène, grâce à ce MFD
                     j'ai pu visualiser et comprendre cette "orbite" autour du point de Lagrange :prof:
                   - Un réentrée en automatique absolument parfaite avec les indications de la doc :top:
                   - Une phase de récupération de la capsule tout à fait géniale, avec un hélicoptère très bien pensé niveau
                     commandes et un système d'indication de la cible juste parfait : j'ai réussi à apprendre à manier
                      l'engin et à attraper la capsule du premier coup ! :hot:
                   - Et avec tout ça une réalisation graphique et technique exemplaire pour une immersion totale...

Grâce aux indications de la doc, j'ai réussi la mission du premier coup, sans jamais reprendre l'un des pourtant nombreux
quicksave, le tout en manuel !  Le seul bémol était une inclinaison de l'orbite de environ 13° au lieu des 28.5°, mais
ça n'a pas changé grand chose au succès de la mission.

Bref, BrianJ et Brainstorm : MERCI! pour ce fabuleux addon qui est pour moi l'une de mes meilleures
expériences avec Orbiter... :wor:


Pour BrianJ, si tu passes par là ces jours : Comment as tu fait pour trouver le moyen d'atteindre L1, sachant qu'aucun MFD ne
le permet à l'heure actuelle ? As tu juste visé le point "au pif" puis en ajustant ou as tu fais de savants calculs pour y
arriver ? Simple curiosité... ;)



Offline BrianJ

  • Full Member
  • ***
  • Posts: 168
  • Karma: 3
Reply #81 - 09 September 2009, 18:20:38
Hi Jekka :-)
Quote
Jekka a écrit:
j'ai réussi la mission du premier coup, sans jamais reprendre l'un des pourtant nombreux
quicksave, le tout en manuel !
:top: Super-cool 8)

Quote
Jekka a écrit:
Pour BrianJ, si tu passes par là ces jours : Comment as tu fait pour trouver le moyen d'atteindre L1, sachant qu'aucun
MFD ne
le permet à l'heure actuelle ? As tu juste visé le point "au pif" puis en ajustant ou as tu fais de savants
calculs pour y
arriver ? Simple curiosité... ;)

Pas de calculs :)
Pour le lancement de DeltaII, je copie la trajectoire par NASA.

Pour l'ajustement final (après le 3ème etage de DeltaII est finis) j'emploie IMFD"Map" et recherchez la forme
caractéristique de la trajectoire:


Je pense qu'il est possible de faire un MFD pour le lancement à L1 ou à L2 (il peut montrer la temps du lancement,
inclination, LAN, etc.)

Peut-être c'est un projet intéressant (quand j'ai plus de temps!)

Cheers,
Brian


Offline Jekka

  • Legend
  • ******
  • Posts: 1172
  • Country: Switzerland ch
  • Karma: 3
Reply #82 - 09 September 2009, 19:55:27
Oui, j'avais compris la technique, visualiser le ballon de rugby et corriger de temps à autre pour maintenir la forme.

Mais donc d'après ce que tu dis, la 1ère fois que tu as cherché L1 lors de la création de cet addon, tu as utilisé les
données de la NASA en espérant que ça marcherait dans orbiter si j'ai bien compris ? Et ça a été le cas ? ;)

Un "LagrangeMFD" serait sympa, mais Jarmonik ne projetait pas à un temps d'inclure cette fonction dans IMFD ?

EDIT: En fait, je viens de voir qu'il existe un LagrangeMFD, mais je ne l'ai pas encore essayé.



Message modifié ( 09-09-2009 22:23 )

« Last Edit: 09 September 2009, 21:43:55 by Jekka »

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #83 - 09 September 2009, 21:43:55
Merci beaucoup du compliment, ça me touche beaucoup ;) Et j'imagine que brian par la même occasion ;)

Au risque de me répéter, ça a été un réel plaisir de bosser avec Brian, qui je le rappelle est l'initiateur du projet et le
réalisateur de la plus grande partie.

Une modeste contribution de ma part en somme, mais content en tout cas que ça ait donné un petit "plus" à l'addon,
ou dans sa popularité ;)


« Last Edit: 09 September 2009, 21:43:55 by brainstorm »