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: Selon vous, es-ce possible  (Read 9695 times)

0 Members and 2 Guests are viewing this topic.

Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
23 October 2007, 20:07:44
Es-ce possible d'afficher le contenu d'un fichier TXT à l'écran (pendant la simulation d'un add-on).

Comme dans le cas des MMU,  on peut afficher du texte. Toutefois, il ne provient pas probablement d'un fichier TXT.

En utilisant par exemple clbkConsumeDirectKey et le touche 'H' et SHIFT et CTRL j'afficherais ce texte.

Merci pour toutes vos éventuelles réponses.



Message modifié ( 23-10-2007 20:09 )

Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 23 October 2007, 20:41:43
Quote
Coussini a écrit:
Comme dans le cas des MMU, on peut afficher du texte. Toutefois, il ne provient pas probablement d'un fichier TXT..

Perdu ! il provient d'un fichier texte justement... :badsmile:
"Meshes/Ummu/UMmuInGameHelp1.txt" et suivant

On peut mais ca doit etre codé (prévu) dans la DLL,
donc non à moins que l'addon le prevoie.

Dan


Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #2 - 23 October 2007, 22:31:20
Wow... c'est en plein ce que je veux. Es-ce que le UMMU fait partis de tes turoriaux concernant le C++, à ce
moment là je pourrais voir comment tu fais ?.

MERCI, c'est très encourageant.


Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #3 - 23 October 2007, 23:00:58
Parmis les tutos, ce n'est pas expliqué mais en survolant l'api, pour la lecture ou l'écriture dans un fichier j'ai remarqué
oapiOpenFile (voir API_Reference.pdf page 216)
Tu as aussi oapiReadItem_string, oapiReadItem_float, oapiReadItem_int, oapiReadItem_bool, oapiReadItem_vec
pour faire des choses.

Il faudra choisir la meilleure méthode, par le HUD, par des annotations grâce à oapiCreateAnnotation ou
encore un bout de panel 2d réservé à l'affichage du message (là çà dépend de ton addon etc...).

A mon avis, on ne peut pas afficher directement dans le clbkConsumexx mais plutôt par exemple y passer une valeur
int de 0 à 1 et ensuite dans ton clbkDrawHud ou clbkLoadPanel(?) déclarer que lorsque ta valeur est à 1 le texte est
affiché.
Pour les annotations, je n'ai jamais utilisé et je ne sais pas trop comment çà fonctionne peut être que tu peux
employer çà directement dans clbkConsumeBuffered(ou Direct)key.

Bon, voilà tout ce que j'ose dire. je pense que Dan t'en dira plus et de façon plus concrète car je n'ai jamais affiché à
partir d'un fichier texte.



Message modifié ( 23-10-2007 23:02 )

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

no matter.

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #4 - 24 October 2007, 01:15:51
Le fichier texte c'est rien, juste du fopen et fget, on lis les lignes, on enleve le NULL a la fin
et on affiche.
Après faut tripoter le HUD pour affciher ces lignes, c'est pas grand chose non plus.

Si tu te mets a la prog coussini je te filerais du code si tu veux...

A++

Dan


Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #5 - 24 October 2007, 02:48:40
Merci à vous deux. Pour pouvoir programmer, il faudrais connaître l'infrastructure.

Je que je pense. c'est que l'environnement Visual C++ est structuré.

Chaque entité est classé selon une méthodologie, une façon... et possiblement, personnel à chaque individu, à savoir
qu'il peuvent se doter de standard particulier pour leur environnement, leur DLL, leurs variables...

Mais je présume. Je dois connaître l'environnement avant. Je sais comment compiler, je comprend un peu le code,
mais la structure et l'ordre des éléments m'est inconu. Peut être que je m'en fait pour rien et que c'est très simple.

Il faudrais que je puisse savoir comment faire cela, possiblement comme résultat un DLL qui pourra être utilisable. Je
présume qu'un DLL est un fonction autonome qui gère quelque chose. Ce DLL est accessible mais comment.... Bien
des questions. C'est loin du BASIC ou autre programmes simple. La seul chose que je connais de l'orienté objet, c'est
que les parties réutilisables du code sont isolé dans des entités précis.

Comme dans le cas d'ordres SQL comme exemple, les commandes sont bien isolé et peuvent être réutilisé par divers
programmes. Un peut comme A = B + C. Tous les programmes peuvent utilisé cette formule en passant les
paramètres ABC....

Voilà où j'en suis.

Avant d'utiliser le code, il faut savoir où le mettre et comment cela va influencer les autres programmes.

MERCI!

Idéalement il me faudrais un Livre genre Visual C++ pour les nulls.


Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #6 - 24 October 2007, 03:03:14
Sinon il reste le tuto complet, si tu arrive a tout lire tu aura une idée plus definie ?
(zap les partie techniques, y a aussi des conseils et tips plus "généraux"
sur la prog et les modules Orbiter)

http://orbiter.dansteph.com/forum/index.php?topic=6335.msg95352#msg95352

Dan


Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #7 - 24 October 2007, 03:24:36
Quote
DanSteph a écrit:
Sinon il reste le tuto complet, si tu arrive a tout lire tu aura une idée plus definie ?
(zap les partie techniques, y a aussi des conseils et tips plus "généraux"
sur la prog et les modules Orbiter)

http://orbiter.dansteph.com/forum/index.php?topic=6335.msg95352#msg95352

Dan

Je vais sans doute essayer de me trouver un bon livre sur Visual C++ avant pour comprendre la base de
l'environnement. Le reste, devrais suivre logiquement.

MERCI !


Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #8 - 24 October 2007, 03:43:14
Chacun ca méthode, moi je n'ouvre jamais de bouquins pratiquement...
ils parlent de truc ésotherique et comme c'est souvent loin de la pratique ("print toto" pour un addon?)
ca m'a jamais aidé des masses. En plus après 10 ans de C++ je ne connais pas encore tout
est tu sur de vouloir lire des trucs qui ne te serviront jamais à rien pour un addon ?
Les templates, les héritage ? comment sauras tu que tu est hors sujet ?

Je prefere la methode: on ce met en situation, on regarde à quoi ca ressemble et ce qu'on veux faire,
on tripote vaguement et UNE FOIS qu'on a des vraie questions "pourquoi ce truc la ou ici?" la on
essaie d'y repondre avec des doc, des bouquins des trucs. De la pratique à la théorie, pas l'inverse.

Le patinage c'est la même chose: impossible à apprendre en lisant des bouquins, faut y aller et APRES
on lis des bouquins quand on vois ou les choses ce placent et quelle conaissances il nous manque.

Le C++ comme tout language c'est un ensemble d'instructions qui font certaines taches,
elles sont executée en sequence de haut en bas et de gauche à droite.

Prend la boite bleue
Prend la boite rouge
Prend la boite jaune
Prend la boite Verte
Met la boite verte dans la boite Bleue
Met la boite rouge dans la boite bleue
Met la boite bleue dans la boite Jaune
Retire la boite rouge
Met la boite verte dans la boite rouge

Si tu arrive à me dire ce que contient la boite Jaune tu est mur pour la programation :badsmile:

En bref je suivrais les tuto et téléchargerais le truc... après tu regarde, tu lis les autres tuto qui expliquent ou regarder
et ENSUITE quand tu "vois" a quoi ca ressemble (meme si tu ne comprend rien) tu ouvre des docs, des bouquins  et
pose des questions. LA tu saura ou doivent ce placer les connaissances que tu acquiere.

Je laise la parole a picto qui était bleu il y a 5 mois et qui a
pondu 7500 lignes de C++ depuis, Il va t'expliquer tout ca ;)

Dan


Offline Pagir

  • Legend
  • ******
  • Posts: 4522
  • Karma: 1
Reply #9 - 24 October 2007, 04:23:41
Quote
DanSteph a écrit:
[...]


Si tu arrive à me dire ce que contient la boite Jaune tu est mur pour la programation :badsmile:
Prend la boite bleue
Prend la boite rouge
Prend la boite jaune
Prend la boite Verte
Met la boite verte dans la boite Bleue
Met la boite rouge dans la boite bleue
Met la boite bleue dans la boite Jaune
Retire la boite rouge
Met la boite verte dans la boite rouge
[...]

Dan

Pour ce que j'en comprends de mes lectures des échanges délirants entre toi et Pic, tu vas avoir une erreur à la
compilation:

Prend la boite bleue
Prend la boite rouge
Prend la boite jaune
Prend la boite Verte

Met la boite verte dans la boite bleue
Met la boite rouge dans la boite bleue
Met la boite bleue dans la boite jaune
Retire la boite rouge
Met la boite Verte dans la boite rouge

:)


Pagir

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #10 - 24 October 2007, 05:34:20

Chuis en wakanses ... un peu ....
J'ai rssorti Max et son pote Tochop pour qu'ils s'en ouvrent une petite .... chope.

Sans rire, les choses viennent exactement comme dit Dan. Par exemple, la semaine
dernière je réfléchissais à une classe boutons et sur la forme qu'elle pourrait prendre.

Il y aurait une classe générale boutons ... pour gérer déclaration et affichage par ezamp.
Mais chaque bouton n'a pas le même fonctionnement, y'a çui qui fait zouiiit, çui qui fait cruntch et çui qui fait tic.

On pourrait donc faire des classes enfant héritées de la classe mère  
avec  tous les attributs des boutons pour l'affichage puis des attributs
et fonctions spécifiques au spruiiit par example.

Tout ça pour dire qu'il y a quelques mois, je n'aurais même pas eu la moindre idée de
ce qu'est une classe héritée et que la lecture du concept m'aurait même embrouillé....
Mais maintenant que certaines bases sont là, c'est moins périlleux de prendre
connaissance avec d'autres concepts du C++ ... sans toutefois les appliquer
encore, parce que  .... faut pas exagérer quand même. :)

Enfin bref ... pas de bouquins ... ça va t'épuiser ;)


Pic

Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #11 - 24 October 2007, 15:48:49
Quote
DanSteph a écrit:
Chacun ca méthode, moi je n'ouvre jamais de bouquins pratiquement...
ils parlent de truc ésotherique et comme c'est souvent loin de la pratique ("print toto" pour un addon?)
ca m'a jamais aidé des masses. En plus après 10 ans de C++ je ne connais pas encore tout
est tu sur de vouloir lire des trucs qui ne te serviront jamais à rien pour un addon ?
Les templates, les héritage ? comment sauras tu que tu est hors sujet ?

Je prefere la methode: on ce met en situation, on regarde à quoi ca ressemble et ce qu'on veux faire,
on tripote vaguement et UNE FOIS qu'on a des vraie questions "pourquoi ce truc la ou ici?" la on
essaie d'y repondre avec des doc, des bouquins des trucs. De la pratique à la théorie, pas l'inverse.

Le patinage c'est la même chose: impossible à apprendre en lisant des bouquins, faut y aller et APRES
on lis des bouquins quand on vois ou les choses ce placent et quelle conaissances il nous manque.

Le C++ comme tout language c'est un ensemble d'instructions qui font certaines taches,
elles sont executée en sequence de haut en bas et de gauche à droite.

Prend la boite bleue
Prend la boite rouge
Prend la boite jaune
Prend la boite Verte
Met la boite verte dans la boite Bleue
Met la boite rouge dans la boite bleue
Met la boite bleue dans la boite Jaune
Retire la boite rouge
Met la boite verte dans la boite rouge

Si tu arrive à me dire ce que contient la boite Jaune tu est mur pour la programation :badsmile:

En bref je suivrais les tuto et téléchargerais le truc... après tu regarde, tu lis les autres tuto qui expliquent ou
regarder
et ENSUITE quand tu "vois" a quoi ca ressemble (meme si tu ne comprend rien) tu ouvre des docs, des
bouquins  et
pose des questions. LA tu saura ou doivent ce placer les connaissances que tu acquiere.

Je laise la parole a picto qui était bleu il y a 5 mois et qui a
pondu 7500 lignes de C++ depuis, Il va t'expliquer tout ca ;)

Dan

Voici l'exemple de l'arbe est dans ses feuilles mariton, marilou...

La boite jaune contient la boite Bleu, qui elle continet la boite verte mais le problème c'est que la boite verte est dans
la boite rouge et bleu en même temps ;)

Passons, voici ce que j'ai trouvé sur le langage C++. J'ai toujours programmé dans des langages qui contenais dans le même programme, la définition des variables (déclaration) et ses procédures (instructions).


Pour comprendre l'approche du C++, il faut connaître un peu sa façon d'opérer. Voici ce que j'ai trouvé

Le langage C a été conçu pour l'écriture de systèmes, en particulier le système UNIX. Pour cette raison, ses concepteurs ont fait une séparation nette entre ce qui est purement algorithmique (déclarations, instructions, etc.) et tout ce qui est interaction avec le système (entrées sorties, allocation de mémoire, etc.) qui est réalisé par appel de fonctions se trouvant dans une bibliothèque dite bibliothèque standard. Cette coupure se retrouve dans la norme qui est composée essentiellement de deux grands chapitres, les chapitres << langage >> et << bibliothèque >>.

Voici un lien intéressant sur C++ et ses extensions
http://msdn2.microsoft.com/fr-fr/library/x348zs5c(VS.80).aspx



Message modifié ( 24-10-2007 17:08 )

Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #12 - 24 October 2007, 17:24:08
Quote
Coussini a écrit:
Le langage C a été conçu pour l'écriture de systèmes, en particulier le système UNIX. Pour cette raison, ses
concepteurs ont fait une séparation nette entre ce qui est purement algorithmique (déclarations, instructions, etc.) et
tout ce qui est interaction avec le système (entrées sorties, allocation de mémoire, etc.) qui est réalisé par appel de
fonctions se trouvant dans une bibliothèque dite bibliothèque standard. Cette coupure se retrouve dans la norme qui
est composée essentiellement de deux grands chapitres, les chapitres > et >.
Voici un lien intéressant sur C++ et ses extensions
http://msdn2.microsoft.com/fr-fr/library/x348zs5c(VS.80).aspx

Rien compris ! je vois pas un seul truc utile en pratique la dedans :trucdeouf:
Bon en même temps ca ne fait que 20 ans que je programme dont 10 en C++ :badsmile:

Bon chacun sa methode, je veux pas te forcer mais de grace ne lis pas m'importe quoi
essaie au moins sur google avec "tutorial C++ débutant"
http://www.google.fr/search?hl=fr&q=tutorial+C%2B%2B+d%C3%A9butant&btnG=Recherche+Google&meta=

A++

Dan



Message modifié ( 24-10-2007 17:26 )


Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #13 - 24 October 2007, 18:45:35
Quote
DanSteph a écrit:
:
:
:
Rien compris ! je vois pas un seul truc utile en pratique la dedans :trucdeouf:
Bon en même temps ca ne fait que 20 ans que je programme dont 10 en C++ :badsmile:

Dan

Alors j'aimerais avoir un très petit exemple de bout en bout qui m'aiderais à comprendre. À partir de là, on peut voir ce
qui se passe. On a une création de DLL à la fin et on a compris le cheminement. Rien qu'un petit exemple de 10 lignes
serais suffisant pour faire le tour de Visual studio, le fichier SLN, et c'est pas nécessaire d'avoir un exemple hyper
complexe.

Seulement un très petit exemple qui pourais résumer le principe de création, Comprendre L'IDE et comment on fait
pour spécifier l'endroit où les fichiers résultants du projet (.Sln,.H,.Cpp) seront inscrit lors de la compilation.

J'espère que tu comprens. Il faut se mettre à ma place... c'est un environnement nouveau pour moi, je suis habitué à
programmer en COBOL (pas vraiment la même approche) .

C'est sûrtout le fait que C++ et l'environnement Visual Studio génère de nombreux fichiers et c'est cela qui me
mélange un peu. Le langage, cela me paraît pas sorcier, c'est la façon dont on subdivise les informations du
programme qui m'importe et où l'on doit mettre ces informations.

Donc, un petit exemple serait approprié.

MERCI !


Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #14 - 24 October 2007, 18:59:18
Il faudrais que je sache ou tu en est exactement... tu a téléchargé visual studio ? compilé ton premier exemple ?
lu les tutos ici ? : http://orbiter.dansteph.com/forum/index.php?topic=6335.msg95352#msg95352

Parceque en gros je vais te reexpliquer probablement ce qu'il y a dans les tutos.

Précise donc la question et dis ou tu en est, c'est un peu vague la...

Dan


Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #15 - 24 October 2007, 19:13:21
Quote
DanSteph a écrit:
Il faudrais que je sache ou tu en est exactement... tu a téléchargé visual studio ? compilé ton premier exemple ?
lu les tutos ici ? : http://orbiter.dansteph.com/forum/index.php?topic=6335.msg95352#msg95352

Parceque en gros je vais te reexpliquer probablement ce qu'il y a dans les tutos.

Précise donc la question et dis ou tu en est, c'est un peu vague la...

Dan

J'ai déjà compilé et utilisé un de tes exemples. Mon installation est déjà là il va s'en dire. J'ai même compilé ce qui à
trait à NASSP qui semble très structuré et qui grâce à son fichier SLN, semble conserver le "Path" des fichiers source
et où des fichiers résultant. Un genre d'environnement très structuré.

Mais pour le moment, je suis sur un bon lien (que tu m'a donné) qui m'aide à comprendre.

Un projet c’est l’ensemble de tous les fichiers source du programme. En effet, quand on programme, on sépare
souvent notre code dans plusieurs fichiers différents. Ces fichiers seront ensuite "combinés" par le compilateur qui en
fera un exécutable (un ".exe").


CETTE PHRASE ME PARLE BEAUCOUP. Mais au fait, il faudrais que je relise tes notes sur le DLL, car pour moi, c'est un peu un
exécutable.
En y pensant, nous avons ORBITER qui est l'exécutable (EXE) et les DLL qui seraient des greffons de nouveaux codes
à celui d'origine d'ORBITER. De plus, orbiter se sert de DLL. Je continu mes lectures avant de faire capoter tout le
monde avec mes réflexions d'extraterrestre :lol:

J'ajouterais ici les liens sur lesquels j'apprend ce qu'est C++ et Visual Studio
http://www.siteduzero.com/tuto-3-156-1-ayez-les-bons-outils.html#ss_part_1 (voir plus bas dans ce lien aussi)



Message modifié ( 24-10-2007 19:29 )

Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #16 - 24 October 2007, 19:28:34
Quote
Coussini a écrit:
En y pensant, nous avons ORBITER qui est l'exécutable (EXE) et les DLL qui seraient des greffons de nouveaux codes
à celui d'origine d'ORBITER. De plus, orbiter se sert de DLL. Je continu mes lectures avant de faire capoter tout le
monde avec mes réflexions d'extraterrestre :lol:

A non, c'est pas mal deja...

Les DLL sont chargée par l'executable et contiennent des bout de code qui seront executés par l'executable lui
meme....

Une DLL c'est un ou plusieurs code source C++ traduit en language machine une fois pour toute et assemblés
dans une "DLL".

C'est des "librairie de fonction" qui peuvent etre chargé par n'importe quel executable qui aurait besoin des fonctions
contenues dans la DLL.

Admettons que tu aie besoin d'une fonction qui additionne deux nombres, Au lieu de la mettre dans chaque
executable (la réécrire des centaines de fois) tu la met dans UNE dll et tout les executables qui en auront besoin
pourrons charger cette DLL et executer cette fonction.

DLL= "Dynamique Link Library" = une librairie de fonction dynamique.

Orbiter ne fait pas autre chose que de charger ta DLL et executer des fonctions précise (des callback)
pour ca il faut voir la: http://orbiter.dansteph.com/forum/index.php?topic=6338.msg95374#msg95374

C'est a l'intérieur de ces fonction que s'opere la magie et que les auteurs sont libre de faire ce qu'ils veulent.

Si tu veux modifier NASSP je dirais que tu commence pas par du simple a comprendre.

A++

Dan



Message modifié ( 24-10-2007 19:30 )


Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #17 - 24 October 2007, 19:35:47
Quote
DanSteph a écrit:
Quote
Coussini a écrit:
En y pensant, nous avons ORBITER qui est l'exécutable (EXE) et les DLL qui seraient des greffons de nouveaux codes
à celui d'origine d'ORBITER. De plus, orbiter se sert de DLL. Je continu mes lectures avant de faire capoter tout le
monde avec mes réflexions d'extraterrestre :lol:

A non, c'est pas mal deja...

Les DLL sont chargée par l'executable et contiennent des bout de code qui seront executés par l'executable lui
meme....

Une DLL c'est un ou plusieurs code source C++ traduit en language machine une fois pour toute et assemblés
dans une "DLL".

C'est des "librairie de fonction" qui peuvent etre chargé par n'importe quel executable qui aurait besoin
des fonctions
contenues dans la DLL.

Admettons que tu aie besoin d'une fonction qui additionne deux nombres, Au lieu de la mettre dans chaque
executable (la réécrire des centaines de fois) tu la met dans UNE dll et tout les executables qui en auront besoin
pourrons charger cette DLL et executer cette fonction.

DLL= "Dynamique Link Library" = une librairie de fonction dynamique.

Orbiter ne fait pas autre chose que de charger ta DLL et executer des fonctions précise (des callback)
pour ca il faut voir la: http://orbiter.dansteph.com/forum/index.php?topic=6338.msg95374#msg95374

C'est a l'intérieur de ces fonction que s'opere la magie et que les auteurs sont libre de faire ce qu'ils veulent.

Si tu veux modifier NASSP je dirais que tu commence pas par du simple a comprendre.

A++

Dan

En gros, orbiter se sert de fichier de configuration qui permet de lui dire.... Hé le coquin.... tu as de nouveaux DLL et
tu dois en prendre la charge. C'est ce que je comprend. Au lieu de faire des EXE, nous sommes des créateurs de
programmes réutilisables sous forme de DLL (fonction précise qui peut être utilisé par bien des EXE).

Pour NASSP, rassure toi, je désire créer un petit DLL qui pourra peut-être offrir de l'aide pour les nombreux
bouboutons qu'on y trouve. ;) .... idéalement comme le fait Microsoft Fly Simulator... mais faut pas charier ;)


Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #18 - 24 October 2007, 20:55:33
Quote
Coussini a écrit:
En gros, orbiter se sert de fichier de configuration qui permet de lui dire.... Hé le coquin.... tu as de nouveaux DLL et
tu dois en prendre la charge. C'est ce que je comprend. Au lieu de faire des EXE, nous sommes des créateurs de
programmes réutilisables sous forme de DLL (fonction précise qui peut être utilisé par bien des EXE).

Exactement ca, il va chercher et executer dans notre DLL un certains nombre de fonctions
est notre code tournera dans orbiter... toutefois ces fameuse fonction sont fixée par le
"Standard Orbiter" c'est martin qui a décidé et a documenté cela.. une fonction clbkSetClassCap()
par exemple sera appellée à l'initialisation de ton vaisseau alors que clbkPostStep() sera
appellée chaque image car c'est prévu. Une fonction "MaFonction" elle ne serais pas appellée
directement par Orbiter.

A l'intérieurs de ces fonctions tu est libre de faire ce que tu veux a condition que tu obeisse
à certaine obligations, par exemple le poid de ton vessel ce definis dans clbkSetClassCap()
avec une autre fonction que nous fourni Orbiter "SetMass()"

Quote
Pour NASSP, rassure toi, je désire créer un petit DLL qui pourra peut-être offrir de l'aide pour les nombreux
bouboutons qu'on y trouve.  .... idéalement comme le fait Microsoft Fly Simulator... mais faut pas charier

Le probleme ce n'est pas le chargement des textes mais l'affichage, soit tu fais un MFD (ca existe deja regarde check-
list MFD sur OH) soit tu détourne le HUD et la c'est un poil plus tricky pour quelqu'un qui ne connais pas. Ce n'est pas
que le code soit dur a faire mais comment tout cela va t'il s'interfacer avec NASSP lui même ?
Pour bien  faire le boulot il faudrais bien comprendre le code de NASSP (en tout cas spécifique au HUD) et la pour l'instant il te manque quelques conaissance en C++ et API Orbiter.

mais... "qui ne tente rien..." ;)

A++

Dan



Message modifié ( 24-10-2007 20:56 )


Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #19 - 24 October 2007, 22:05:56
Quote
DanSteph a écrit:
:
:
:
Le probleme ce n'est pas le chargement des textes mais l'affichage, soit tu fais un MFD (ca existe deja regarde check-
list MFD sur OH) soit tu détourne le HUD et la c'est un poil plus tricky pour quelqu'un qui ne connais pas. Ce n'est pas
que le code soit dur a faire mais comment tout cela va t'il s'interfacer avec NASSP lui même ?
Pour bien  faire le boulot il faudrais bien comprendre le code de NASSP (en tout cas spécifique au HUD) et la pour
l'instant il te manque quelques conaissance en C++ et API Orbiter.

mais... "qui ne tente rien..." ;)

A++

Dan

Oui, mais n'est t-il pas possible de faire comme ce qui suit (voir le texte en rouge):



Idéalement, chaque bouton ou cadran aurais un mode d'aide automatique (comme la boite en beige dans l'image). Mais c'est sans doute charier.

Sachant que j'affiche du texte via un DLL, j'espère que cela ne m'empêche pas d'utiliser les boutons de la DGIV en
même temps ou exécuter des manoeuvres.

La couleur du texte serais sans doute offerte en différente couleur pour aider au discernement, peut-être via des clés
du clavier ?



Message modifié ( 24-10-2007 22:07 )

Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #20 - 25 October 2007, 00:15:49
Ca s'appelle des infobulles, je ne crois pas que ce soit possible dans ce cas la... Si il y a une solution à ca ce ne serait
pas simple du tout, genre gros hacking de directX ou tripotage de panel spécifique...(Ouch ! faut tout réecrire le panel
de NASSP)

Je vois pas de soluce simple désolé. Je ne m'y lancerais même pas perso.

Dan


Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #21 - 25 October 2007, 01:29:09
OK.... mais l'autre solution, celle du texte en rouge semble viable.

Je n'ai pas compris si cette solution (texte en rouge) peut déranger l'utilisation des boutons (comme exemple le DGIV)


Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #22 - 25 October 2007, 01:50:11
pourquoi le texte en rouge serait différent ? C'est aussi une "infobulle"... même problème.

Si tu trouve une solution simple sans tout récrire NASSP je suis preneur aussi, ca fait 5 ans
que je suis sur Orbiter mais la je vois pas a part réecrire le panel et faire une zone "special aide"
ou le texte apparait... En plus faut detecter la souris au dessus des zones et patati...

T'est pas sorti à mon avis ;)

T'aurais meilleurs temops de faire des pages html avec les panels consultable "off-line"
la tu peu faire des infosbulles avec la souris c'est facile. Ca reste un gros boulot de
tout referencer les boutons/instruments mais ca pourrit etre pas mal.

Il me semble que quelqu'un avait fais ca sur un addon ?

Dan


Offline Coussini

  • Legend
  • ******
  • Posts: 3207
  • Country: Canada ca
  • Karma: 42
Reply #23 - 25 October 2007, 02:49:21
Non.... ce n'est pas un infobulle, c'est commme le UMMU et son texte d'aide. Tu saisis ?

À ce moment, es-ce que les boutons serais fonctionnel ?


Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 258
  • Hein, quoi !?
    • FsPassengers
Reply #24 - 25 October 2007, 03:02:29
Quote
Coussini a écrit:
Non.... ce n'est pas un infobulle, c'est commme le UMMU et son texte d'aide. Tu saisis ?
À ce moment, es-ce que les boutons serais fonctionnel ?

Non, le MMU affiche le texte sur le HUD, la y a pas de HUD, donc c'est le principe "infobulles". (terme générique)
Sur les panels on peut pas afficher ou on veux, seulement dans des zones définies.

Donc pour chaque panel NASSP il te faudra une zone vide "a toi" ou tu affiche tes textes
comme tu a besoin de place (pour que ce soit lisible) ca va deja etre coton... (vont aimer les gars de NASSP
le gros carré noir au millieux) L'affichage sur les panels c'est déjà pas le truc le plus simple du monde,
mais tu va devoir en plus detecter ou la souris est positionnée et faire jouer ca avec les instruments
(ca variera en fonction de la résolution et du scroll du panel)

Quand tu aura fait tout ca il faudra referencer TOUT les instruments dans une DB et appeller le bon texte.

Enfin bref c'est pas impossible comme ca, juste très difficile avec des problemes insoupconnés
(impossibe de detecter le scrolling d'un panel par exemple, gros bug la)

Il y  a peut etre des solutions detournées je ne me suis pas penché sur le probleme n'y n'ai tout essayé
mais a mon avis ca reste très largement hors de portée du débutant.

Essaie deja simplement de tripoter le ShuttleA et de charger un fichier texte et de l'afficher sur l'ecran, tu aura une
meilleurs idée et le code du ShuttleA est beaucoup plus facile à comprendre que NASSP.

A+

Dan



Message modifié ( 25-10-2007 03:09 )