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: Problèmes divers : dll, 3D...  (Read 1968 times)

0 Members and 1 Guest are viewing this topic.

Offline NLS le pingouin

  • Legend
  • ******
  • Posts: 826
  • Karma: 1
27 March 2010, 14:45:32
Salut les gens,
J'ai un petit problème. Je tatonne pas mal, mais là je me sens bloqué.

Je suis en train de rajouter la définition des propulseurs de mon statellite. J'ai défini la quantité de fuel dont dispose le vaisseau et la puissance des propulseurs, mais ils ne sont pas fonctionnel une fois un scénario lancé : les réservoirs sont vides.
Vu que j'ai pas encore fais grand chose, je vous poste la totalité de mon cade actuel. Vous pourrez me dire ce que vous en pensez.

Le .cpp
http://qtfr.pastebin.com/HCecY3JM

Et le header associé :
http://qtfr.pastebin.com/9abQwm3V

Ce qui m'étonne, c'est que j'ai dû faire :
Code: [Select]
th_mainProp = CreateThrusterGroup (&mainProp, 1, THGROUP_MAIN);La différence se trouve au niveau du premier argument de CreateThrusterGroup. J'ai envoyé l'adresse de mainProp plutôt que mainProp lui-même. Ceci parce que la fonction a besoin de récupérer un pointeur selon l'API Reference. Mais dans l'API Guide, l'exemple donné demande de rentrer :
Code: [Select]
th_mainProp = CreateThrusterGroup (mainProp, 1, THGROUP_MAIN);
Vous arrivez à voir un truc qui va pas?

Merci



Message modifié ( 28-03-2010 21:22 )


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 27 March 2010, 19:11:59
Tu l'as remplis avec un SetFuelLevel ? (ou setmass.. je sais plus) Par défaut il est vide.

Dan


Offline NLS le pingouin

  • Legend
  • ******
  • Posts: 826
  • Karma: 1
Reply #2 - 27 March 2010, 19:24:39
Merci de ta réponse. Je viens de tenter, mais ça ne change rien. D'ailleurs, dans le document API_Guide, on peut lire : By default, the tank is full, with fuel efficiency 1.

Je suis dans l'incompréhension la plus totale. Je viens de compiler l'exemple ShuttlePB donné dans les samples d'orbiterSDK, et j'ai exactement le même problème! Pour vérifié que ma dll est bien prise en compte, j'ai affiché un message de test qui fonctionne parfaitement.
Ca viendrait de la manière dont j'ai règlé mon compilateur? Je ne pense pas, j'aurais dû avoir un message d'erreur dans ce cas. Je pense donc que ça ne viens pas du code. je suis complètement perdu!

Edit : J'ai fais quelques modif. Rien de substanciel, et toujours rien qui marche. Quelqu'un peut compiler ça chez lui pour me dire si ça marche?
http://qtfr.pastebin.com/nDpuXDzJ
http://qtfr.pastebin.com/i9JU1mUk



Message modifié ( 27-03-2010 20:59 )


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #3 - 27 March 2010, 22:09:06
T'as contrôlé avec scenario editor (CTL+F4) que ton tank est bien visible et connecté aux moteurs ?
Remplis les par scn editor et teste les.

Tu

Dan


Offline Papyref

  • Legend
  • ******
  • Posts: 5341
  • Country: France fr
  • Karma: 341
  • Je suis dans la Lune ne pas me déranger
Reply #4 - 28 March 2010, 09:47:07
Dans ton header, tu déclares les constantes de tes moteurs, comme ci desoous par exemple

//========================================================
// CONSTANTES DES PROPULSEURS DU VAISSEAU
//========================================================

const double PB_FUELMASS   = 1e6;
const double PB_ISP         = 2e5;
const double RCS_ISP      = 2e5;
const double PB_MAXMAINTH   = 4e7;
const double PB_MAXHOVERTH   = 4e7;
const double PB_MAXRETROTH   = 4e7;
const double PB_MAXRCSTH   = 7e6;

Dans ton SetClassCap tu définis tes moteurs avec leurs exhausts et fumées comme ci dessous par exemple pour 4 moteurs principaux

                //============================================================
   // DEFINITIONS DES RESERVOIRS ET DU FUEL
   //============================================================

   PROPELLANT_HANDLE hpr = CreatePropellantResource (PB_FUELMASS);


                 //===================================================
   // DEFINITIONS DES FUMEES DES MOTEURS ET DES TEXTURES
   //===================================================
   SURFHANDLE main_exhaust = oapiRegisterExhaustTexture ("exhaust2");    //Texture Main

                 PARTICLESTREAMSPEC fume1 = {
      0, 1.1, 5, 125, 0.15, 2, 7, 1.2, PARTICLESTREAMSPEC::DIFFUSE,
      PARTICLESTREAMSPEC::LVL_PSQRT, 0, 1,
      PARTICLESTREAMSPEC::ATM_PLOG, 1e-5, 1   
   };




                //============================================================
   // DEFINITIONS DES MOTEURS PRINCIPAUX
   //============================================================
   
   THRUSTER_HANDLE  th_main, th_hover, th_retro;
   

   //=== 4 moteurs principaux (centre et directions de poussée, fumées)
   
   th_main = CreateThruster (_V(0,0,-8), _V(0,0,1), PB_MAXMAINTH, hpr, PB_ISP);
   CreateThrusterGroup (&th_main, 1, THGROUP_MAIN);
   
   AddExhaust (th_main, 100 ,4, _V(0,7.4,-50), _V(0,0,-1),main_exhaust);
   AddExhaust (th_main, 100 ,4, _V(0,-7.4,-50), _V(0,0,-1),main_exhaust);
                AddExhaust (th_main, 100 ,4, _V(7.4,0,-50), _V(0,0,-1),main_exhaust);
                AddExhaust (th_main, 100 ,4, _V(-7.4,0,-50), _V(0,0,-1),main_exhaust);

                AddExhaustStream (th_main, _V(0,6.5,-55), &fume1);
                AddExhaustStream (th_main, _V(0,-6.5,-55), &fume1);
                AddExhaustStream (th_main, _V(6.5,0,-55), &fume1);
                AddExhaustStream (th_main, _V(-6.5,0,-55), &fume1);


Et tu n'oublies pas de déclarer du fuel dans ton scénario et ça devrait marcher, en tout cas, pour moi ça fonctionne.

Bonne chance
:sage: Papyref


Offline NLS le pingouin

  • Legend
  • ******
  • Posts: 826
  • Karma: 1
Reply #5 - 28 March 2010, 14:18:42
Ok, merci les p'tit gars. C'était à cause de la définition du fuel dans le scénario. Dans ma tête, les réservoirs étaient chargés à bloc au démarrage. Bon, et bien ça fonctionne. Je sens que je vais jouer avec mon clavier aujourd'hui!

Encore merci! J'espère que cet Addon va aboutir.



Offline NLS le pingouin

  • Legend
  • ******
  • Posts: 826
  • Karma: 1
Reply #6 - 29 March 2010, 08:29:44
Re bonjour les gens, encore un problème. Cette fois, dans la modélisation.

Les panneaux solaires de mon satellites sont fait à partir d'un pavé trés plat constitué de deux grandes faces reliées par ce qu'on appelera le contour du panneau. Je modèlise tout ça sous blender. Les normales à toutes surfaces sont dirigés vers l'extérieur. Sous Orbiter, pourtant, le rendu est étrange.Les normales aux deux faces semblent dirigées vers l'intérieur : vu de dessus, la face supérieur est invisible tandis que la face inférieur l'est (et inversement).
J'ai tenté d'inverser les normales, et là, ça fonctionne. Les normales de mes autres objets (plus gros) réagissent de la manière la plus normale possible. Sauriez-vous m'expliquer d'où ça viens?

Merci



Offline NLS le pingouin

  • Legend
  • ******
  • Posts: 826
  • Karma: 1
Reply #7 - 04 April 2010, 16:33:34
Et hop! une troisième réponse de moi même :
J'ai un petit problème pour compiler l'exemple du ShuttleA. J'ai un seul message d'erreur dans VC++ :
1>LINK : fatal error LNK1104: impossible d'ouvrir le fichier 'msvcirt.lib'
J'ai pourtant demandé d'ignorer msvcirt.lib, mais ce message apparait à chaque fois. Comment faire?
Merci



Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #8 - 04 April 2010, 17:56:46
Si t'a fait l'ignore au bon endroit ça devrait pas. Donc vérifie ce point.

Fait en debug ET release, au bon endroit ? lib séparé par des ";", nom correct ?

Dan

« Last Edit: 04 April 2010, 19:34:51 by DanSteph »

Offline NLS le pingouin

  • Legend
  • ******
  • Posts: 826
  • Karma: 1
Reply #9 - 04 April 2010, 19:34:51
Ah! C'était les ";" que je n'avais pas mis... Merci bien Dan. J'avais suivis la syntaxe de "Dépendance supplémentaires" qui n'en a pas.


« Last Edit: 04 April 2010, 19:34:51 by NLS le pingouin »