Dan's Orbiter page
Orbiter Francophone => Création Orbiter Francophone => Topic started by: laserpithium on 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 )
-
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 )
-
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).
-
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 )
-
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ù...
-
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
-
mouahaha le pilote d'essai qui oublie de faire le plein :ptdr:
pas mal :D
edit : rah, steuplé Dan
: ) ---> (http://forum-images.hardware.fr/icones/smile.gif)
: D ---> :)
Message modifié ( 13-11-2006 19:57 )
-
Schimz a écrit:
mouahaha le pilote d'essai qui oublie de faire le plein :ptdr:
pas mal :D
Ah ben c'est malin ! :)
-
maintenant que ta fait le plein oublie pas les vitres :)
Dan
-
Bon, je viens de faire remonter le problème à Martin, il verra ce qu'il en fait !
-
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...?
-
Momo a écrit:
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 !