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: [C++]question métaphysique  (Read 1710 times)

0 Members and 1 Guest are viewing this topic.

Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
09 September 2008, 21:01:31
:wonder:

Mettons que je mette ceci dans le PostStep:

SetThrusterGroupLevel(THGROUP_ATT_PITCHUP,0);
SetThrusterGroupLevel(THGROUP_ATT_PITCHDOWN,0);
SetThrusterGroupLevel(THGROUP_ATT_YAWLEFT,0);
SetThrusterGroupLevel(THGROUP_ATT_YAWRIGHT,0);
SetThrusterGroupLevel(THGROUP_ATT_BANKLEFT,0);
SetThrusterGroupLevel(THGROUP_ATT_BANKRIGHT,0);
SetThrusterGroupLevel(THGROUP_ATT_RIGHT,0);
SetThrusterGroupLevel(THGROUP_ATT_LEFT,0);
SetThrusterGroupLevel(THGROUP_ATT_UP,0);
SetThrusterGroupLevel(THGROUP_ATT_DOWN,0);
SetThrusterGroupLevel(THGROUP_ATT_FORWARD,0);
SetThrusterGroupLevel(THGROUP_ATT_BACK,0);

On se dit logiquement que c'est fini, aucun rcs ne sera en mesure de fonctionner, et c'est le cas dans une certaine
mesure...
Ces lignes sont royalement ignorées si les RCS sont en mode 1 (rotation) ou 2 (linéaire).
Lorsqu'ils sont en mode0, il est facile de remarquer que les lignes sont bien prises en compte: j'ai lancé Attitude MFD
qui n'a réussi à démarrer aucun thruster alors qu'avec le mode 0, sans les lignes au poststep, ce mfd s'avère tout à fait capable d'utiliser les rcs.

Pourquoi, n'a-t'on pas moyen de faire taire les rcs par ce moyen-là? Je n'ai pas besoin de savoir comment les faire
taire, par un mode0 amélioré c'est réglé, mais il est donc impossible de bypasser les rcs lorsqu'ils se trouvent en
mode 1 ou 2?



Message modifié ( 09-09-2008 21:10 )

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

no matter.

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 09 September 2008, 22:20:41
Tu mets leur poussée à zéro pour ce poststep mais strictement rien ne les empeches de redémarrer.
Colle leurs un reservoir NULL. Ca regle le problème net.

Fais toi une fonction "SetMainThrusterOnOff(BOOL State)"

Code: [Select]
//////////////////////////////////////////////////////////////////////////////
// SetMainThrusterOnOff
//////////////////////////////////////////////////////////////////////////////
void SetMainThrusterOnOff(BOOL State)
{
     if(State==FALSE)
     {
          SetThrusterLevel(th_main[0],0.0f);                     // c'est plus sur
          SetThrusterLevel(th_main[1],0.0f);
          SetThrusterResource (th_main[0],NULL);
          SetThrusterResource (th_main[1],NULL);
     }
     else
     {
          SetThrusterResource (th_main[0],ph_main);
          SetThrusterResource (th_main[1],ph_main);          
     }
}

A++

Dan



Message modifié ( 09-09-2008 22:26 )


Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #2 - 09 September 2008, 22:45:51
Ah oui, d'accord, il rédemarrent dès qu'ils peuvent par derrière.

Je pensais que de-linker le DefaultPropellant ressource était peu sûr car avec les lanceurs lorsqu'on change d'étage,
si on ne prend pas soin de relier clairement une ressource defaut pour les nouveaux thursters, çà plante.

Mais ici, on ne change pas d'étage et on a donc toujours les même thrusters, je peux donc effectivement mettre une
autre ressource sans risquer un ctd! :) merci

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

no matter.

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #3 - 10 September 2008, 04:30:45
Toujours un plaisir ;)

Dan

« Last Edit: 10 September 2008, 04:30:45 by DanSteph »