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++] une idée que je ne sais pas réaliser  (Read 1708 times)

0 Members and 1 Guest are viewing this topic.

Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
10 September 2008, 00:26:44
Vu que j'utilise plusieurs fois les mêmes ressources avec plusieurs dll pour le même addon, je pense qu'il serait bien
mieux de mettre les ressources dans une et une seule dll qui serait l'intégralité des ressources et où les autres dll
iraient piocher.

Mais je n'ai aucune idée de la démarche à suivre. Est-ce complexe?

Charger à partir du disque n'est pas évident, une floppée de lignes juste pour charger... et ce n'est pas génial de
trainer 20 bitmaps dans une archive! Je préfère éviter finalement.

Merci d'avance si quelqu'un sait faire... je suis prêt à oublier l'idée si trop complexe, manier le panel est déjà assez
cocasse :siffle:

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

no matter.

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 10 September 2008, 00:50:36
LoadBitmap avec MAKEINTRESOURCE prend une instance en entrée et une ID de ressource.
Faut juste chopper l'instance de l'autre dll et hop.

C'est un peu elephantman pour un projet Orbiter mais pourquoi pas, et ca fait un entrainement
pour des trucs plus gros ?

A++

Dan



Message modifié ( 10-09-2008 00:54 )


Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #2 - 10 September 2008, 03:42:13
Quote
LoadBitmap avec MAKEINTRESOURCE prend une instance en entrée et une ID de ressource.
Faut juste chopper l'instance de l'autre dll et hop.
D'accord, je vois par où attaquer. Je pense qu'il faut que je reste raisonnable pour le moment et laisser de coté l'idée,
je n'en suis pas encore à me débattre avec des dll gargantuesques. Mais avec un peu de temps et un projet déjà fini
par exemple... pour le futur ;) merci en tout cas!

Quote
C'est un peu elephantman pour un projet Orbiter mais pourquoi pas, et ca fait un entrainement
pour des trucs plus gros ?
Oui en gros çà me parait être quelque chose pouvant devenir utile. Mais pas de projet concret, seulement une vision
de choses interessantes à ne pas oublier.

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

no matter.

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #3 - 10 September 2008, 04:19:52
Bah c'est pas la mort, t'a une dll ressource, au lieu de mettre le no d'instance de la tienne pour les loadbitmap tu met
celui de cette dll.. Utilité ? Bah, seulement si t'a plusieurs dll... Ca tombe bien ;)

Niveau code c'est vraiment rien, une macro deux trois search replace. (LOADBMP->LOADBMPDLL par exemple?)
Le plus chiant étant de bouger les ressources, mais en magouillant avec le RCS ca doit etre possible sans cagade.

A++

Dan


Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #4 - 15 September 2008, 04:56:34
Ah mais ouééé :eek:

dans le header :
Code: [Select]
HINSTANCE kosmosa_hDLL = LoadLibrary( "OctoberSky\\7K\\T\\Kosmosa.dll" );
#define LOADBMPDLL(id) (LoadBitmap (kosmosa_hDLL, MAKEINTRESOURCE (id)))
puis çà dans le panel (je n'ai mis que les background en 1280x1024 qui sont les seuls gros fichiers dans Kosmosa.dll,
rien à oapiBlter) :
Code: [Select]
HBITMAP hBmp  = LOADBMPDLL(101+id);
if (hBmp == NULL) return 0; // --> n'affiche pas le panel si bitmap pas trouvé

Est-ce honteusement scandaleux (çà m'a paru un peu trop simple.... :wonder: )

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

no matter.

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #5 - 15 September 2008, 05:39:39
Quote
no matter a écrit:
Est-ce honteusement scandaleux (çà m'a paru un peu trop simple.... :wonder: )

Ca nous paie de toutes les fois ou c'est honteusement compliqué. :badsmile:

Je devais trouver la valeur limite des roues, j'avais accès à la structure roue, (j'avais trouvé) mais aucune valeur ne
correspondait (ex: 260 noeud)

Y avais bien une valeur parmis d'autre qui bougait quand on touchais la config mais exponentiellement et bizarrement.
J'ai du trouver au pif la fonction mathematique qui la changait (une sorte d'equation de bernouilli) et trouver l'inverse.
(J'avais pas accès au code de la fonction elle même, donc j'ai du chercher par table excell essai/erreur)

Ca donne:

Code: [Select]
Flight.GearSpeedLimit=sqrt(fPlusGrandeGearSpeedLimit)*17.18394191;
Et je tombe pile sur la bonne valeur... pourquoi racine(x) * 17.18394191 ? :wonder: Ben justement...

6h de boulot pour cette valeur 8o

Dan



Message modifié ( 15-09-2008 05:46 )


Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #6 - 15 September 2008, 19:04:23
Quote
Et je tombe pile sur la bonne valeur... pourquoi racine(x) * 17.18394191 ?
:applause: Avec fsp, tu as du passer des heures à deviner et tester les choses.
Le peu d'expérience que j'ai avec les addons pour FS, m'a toujours fait penser que microsoft avait sans doute du mal
à laisser les gens tripoter leur simulateur et rendait les choses plus compliquées à cause de celà. C'est un peu tiré
par les cheveux mais que dire de plus quand on regarde le SDK de FS2004!


« Last Edit: 15 September 2008, 19:04:23 by no matter »
------------

no matter.