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: [Je ne balance plus le PC par la fenêtre] Aide sur définition thruster  (Read 2739 times)

0 Members and 1 Guest are viewing this topic.

Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
13 November 2006, 17:27:03
J'en ai marre, mais alors j'en ai marre !

J'ai commencé à faire les animations, c'est pas ce qu'il y a de plus simple, mais ça marche nickel !
Par contre, IMPOSSIBLE de faire fonctionner ces p..t... de thrusters !

Le code fait pourtant 2 pauvres lignes :

void Exploreur::clbkSetClassCaps (FILEHANDLE cfg)
{
hmain=CreatePropellantResource(FUEL_DENSITY*(TANK1_CAPACITY+TANK2_CAPACITY+TANK3_CAPACITY+TANK4_CAPACITY));
th_main[0] = CreateThruster(_V(-1.4,0,-22.3),_V(0,0,1),MAX_MAIN_THRUST,hmain,MAIN_ISP);
th_main[1] = CreateThruster(_V(+1.4,0,-22.3),_V(0,0,1),MAX_MAIN_THRUST,hmain,MAIN_ISP);
thg_main = CreateThrusterGroup (th_main, 2, THGROUP_MAIN);
AddExhaust (th_main[0], 20, 2.6);
AddExhaust (th_main[1], 20, 2.6);
}

Et rien ne marche ! Quand je bouge le joystick rien, et la quantité de carburant affichée dans le glass-cockpit reste à 0,
alors que quand je fais du GetPropellantMass(hmain) j'obtiens bien quelque chose... C'est pourtant du copié-collé de ce qu'il
y a dans les exemples de la SDK !!!

Brèf, je craque, aidez moi !



Message modifié ( 13-11-2006 19:43 )


La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 13 November 2006, 17:28:45
hmain est bien une variable de ta classe ou une static ?

si c'est une locale ou une globale  ca peut faire ce probleme...

Dan



Message modifié ( 13-11-2006 17:29 )


Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #2 - 13 November 2006, 17:34:31
Quote
DanSteph a écrit:
hmain est bien une variable de ta classe ou une static ?
si c'est une locale ou une globale  ca peut faire ce probleme...
Dan
Non, c'est une variable de ma classe, publique (définition dans le .h).



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #3 - 13 November 2006, 17:44:23
t'a essayé un hmain=CreatePropellantResource(10000); pour etre sure ?
Passe dessus en debug pas a pas pour voir que le handles sont valides sinon...

Dan



Message modifié ( 13-11-2006 17:45 )


Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #4 - 13 November 2006, 18:16:08
Quote
DanSteph a écrit:
t'a essayé un hmain=CreatePropellantResource(10000); pour etre sure ?
Passe dessus en debug pas a pas pour voir que le handles sont valides sinon...
Dan
Oui, j'ai vérifié, c'est valide.
Si je fais un SetPropellantMass(hmain, 1000) et après un GetPropellantMass(hmain), j'obtiens bien 1000.
En remplaçant les #define par les valeurs numériques directement, ça ne donne rien de plus.
Et dans opcPostStep, si je vais un SetThrusterGroupLevel sur thg_main, il ne se passe rien (même pas de CTD, rien du tout).

Je retélécharge la SDK, ou cas où...



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #5 - 13 November 2006, 19:43:05
J'AI TROUVE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

C'est vicieux, mais alors vicieux !!!!!

Alors solution si un jour quelqu'un se retrouve dans la même situation que moi:
Tout vient d'une erreur (oui M. Martin, une erreur !!!) dans la doc de la sdk.
En effet, la doc précise pour la fonction CreatePropellantResource() que le 1° paramètre est la masse max de fuel, et que le
2°, optionnel, est la quantité présente réellement. Et la sdk de préciser que si ce 2° paramètre est absent ou est négatif,
alors le réservoir est considéré comme plein. En pratique, il est vide !
Et même en donnant une valeur à ce 2° paramètre, on obtient toujours des réservoirs vides en chargeant le scénario.

Solution: il faut ajouter dans le scénario que l'on charge le niveau des réservoirs (commande PRPLEVEL, par exemple
PRPLEVEL 0:1 1:1) pour avoir les 2 premiers réservoirs pleins.
Et là ça marche, on a bien du carbu, et tout fonctionne.

Remarque : il n'y a pas besoin d'overloader la fonction clbkLoadStateEx() pour que Orbiter lise ce mot clé en parsant le
scénario, il le fait tout seul.

Voilà, je vais pouvoir dormir cette nuit !

++ les amis,
Laserpithium



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline Schimz

  • Legend
  • ******
  • Posts: 1598
  • Karma: 1
Reply #6 - 13 November 2006, 19:55:51
mouahaha le pilote d'essai qui oublie de faire le plein :ptdr:

pas mal :D

edit : rah, steuplé Dan

: ) --->
: D ---> :)



Message modifié ( 13-11-2006 19:57 )


Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #7 - 13 November 2006, 20:09:30
Quote
Schimz a écrit:
mouahaha le pilote d'essai qui oublie de faire le plein :ptdr:
pas mal :D

Ah ben c'est malin ! :)



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #8 - 13 November 2006, 20:20:29
maintenant que ta fait le plein oublie pas les vitres :)

Dan


Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #9 - 13 November 2006, 20:22:47
Bon, je viens de faire remonter le problème à Martin, il verra ce qu'il en fait !



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #10 - 13 November 2006, 22:48:01
Quote
laserpithium a écrit:
Bon, je viens de faire remonter le problème à Martin,...

Heum... ta le bras long!
sinon ta 1-2 photos pour nous... ou faut etre Dr...?


Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #11 - 14 November 2006, 10:38:14
Quote
Momo a écrit:
Quote
laserpithium a écrit:
Bon, je viens de faire remonter le problème à Martin,...
sinon ta 1-2 photos pour nous... ou faut etre Dr...?
Ce soir !
Mais c'est encore très moche, il n'y a pas de texture, rien !


« Last Edit: 14 November 2006, 10:38:14 by laserpithium »

La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !