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: Programmation W32 <-> ORBITER SDK , possible ou pas ?  (Read 13548 times)

0 Members and 1 Guest are viewing this topic.

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
20 July 2010, 03:05:17
Salut à tous !
Nouveau sur le forum , plaisancier sous Orbiter , programmeur amateur , j'ai besoin de votre expérience pour
valider des idées , trouver de nouvelles pistes , etc ... dans le but de créer de nouveaux plugins .
Je sais que la doc est abondante et très détaillée , mais je n'ai pal le temps de tout lire et de tout essayer .
Je vais donc vous proposer de temps en temps des idées , ou vous demanderai votre avis , cela m'évitera quelques nuits
blanches .

Parmi mes intentions :
_ Développer l'idée de mode multijoueur au tour à tour , proposé par TOFITOUF .
_ Inventer de nouveaux GAMEPLAY pour Orbiter .
_ Utiliser l'immense réservoir d'addons que vous avez créé .
_ Faire progresser la création de SIMPITS pour orbiter.
_Utiliser le TextToSpeech SDK de microsoft ( procédures scriptées ? , Pilote automatique ? etc ... ).
REEDIT : TextToSpeech est un SDK qui permet de rendre un texte sous forme de son ( Exellent pour les robots , nul
pour le rendu Humain ( Le travail de DAN est exellent à ce niveau ! ).
_Aprés avoir vu la video de PILOTE334 , penser à inclure des cinématiques
_Et tout ce qui nous viendra à l'Esprit et que nous aurons la volonté d'accomplir .

Ce thread sera pour moi comme un aide mémoire , et un cahier des charges ...

Un don de Tofitouf :
Quote
ensuite je démarre le scenario en lancant orbiter avec l'option '\s' qui permet justement de lancer sans l'interface initiale (merci amrtin pour cette option non documentée mais qui existe depuis le début)

Merci pour votre participation !
;)
Mr Spock , visiteur Vulcain.



Message modifié ( 28-07-2010 15:58 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #1 - 20 July 2010, 03:12:51
tu dors jamais non plus

Quote
MrSpock a écrit:

Parmi mes intentions :
_ Développer l'idée de mode multijoueur au tour à tour , proposé par TOFITOUF .
easy, faut juste du temps et de l'acharnement :)
Quote
_ Inventer de nouveaux GAMEPLAY pour Orbiter .

houla ca c'est chaud mais y'a encore surement plein de chose à inventer,

Quote
_ Utiliser l'immense résevoir d'addons que vous avez créé .
c'est un job à temps plein ca

Quote
_ Faire progresser la création de SIMPITS pour orbiter.
_Utiliser le TextToSpeech SDK de microsoft ( procédures scriptées ? , Pilote automatique ? etc ... ).

???? mais késako, coté script lua viens tout juste d'être intégré à orbiter en natif, ca peux faire des tas de trucs, dont ce que tu cite. donc pourquoi apsser par un autre interpréteur de crosoft


Bienvenue chez nous, ca fait plaisir à lire tant de bouillonnement cérébral


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

PC en rade, codage en panne.... Nom de Zeus

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #2 - 20 July 2010, 03:37:07
Ooops ... J'avais vu Lua qqpart , mais j'savais pas ... Va pour Lua !
Encore un truc à apprendre , le textToSpeech , je l'ai déjà pratiqué ...
:wall:
REEDIT :
Heu ... Je reviens de chez Lua , mais j'ai rien vu qui permette vite fait d'entendre un robot lire un texte ...

Sinon, idée de GAMEPLAY :

Dans le contexte d'un monde persistant :
Durée du challenge Multijoueur : 60 Heures en ligne ( durée d'un trajet jusqu'à la Lune ? ) .
C'est un poto canadien du forum qui me l'a inspiré , à propos du décalage HORAIRE :
Ce serait un mode Coopératif , en temps réel , où des équipes préformées ( inscription au challenge) prendraient
en charge le centre d'Opération par exemple . A l'Heure du dodo , ceux pour qui il est trop tôt , prennent le relai .
Et les lascars qui n'ont pas sommeil , ben ils pourraient être des observateurs ou conseillers !
Le challenge remporté serait une victoire communautaire ! MOi , çà me plait !

Il y en a bien qui font le tour du monde avec Fsimulator , avec controleurs et tout le toutim !
Et si la mayo prend , ben on programme une sortie sur 3 ans ?:bave:
( faudra juste coder quelques pannes , DAN c'est un pro pour çà ! )



Message modifié ( 20-07-2010 04:28 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #3 - 20 July 2010, 04:44:21
GAME PLAY(s) TOUR à TOUR :

 _ 2 équipes font la course sur un objectif , chaque èquipe à le droit de déclencher (x) nombre de pannes durant la partie ,
à n'importe quel moment . Cela suppose que les possibilités de panne soient répertoriées dans le manuel de bord ainsi
que la procédure à suivre . Marrant ,non ? Possibilité de pannes Historiques ...

_2 equipes :
 Les saboteurs
: préparent un script catastrophe via un plugin dédié "KATASTROF" déclenchant des pannes
 conditionnelles ou fixées .
Les Orbinautes : Feront tout pour que leur mission aboutisse !

Et plus si affinité !
:love:



Message modifié ( 20-07-2010 04:51 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #4 - 20 July 2010, 07:57:15
Bon d'accord ...
60 heures , c'est long ...
Il faudrait que nous soyons 60 , et que nous ayons une heure à perdre .
Et si nous n' étions que 2 ou 3 ? Veiller sur la navette comme le lait sur le feu ? Naaaan .
Ce qui serait rigolo , du point de vue d'un programmeur un peu cinglé , ce serait  de faire en sorte que le module ( celui
qui vole ) envoie des  emails pour avertir d'un évenement quelquonque :
- déviation de course
- panne a, b, c ou d ...
- " euh , ya quelqu'un , parce que sinon , je me pose sans vous , et je garantis pas le résultat !" .
Bref , un tamagoshi de l'espace ...qui communique avec tous les " enregistrés " de la mission .
Donc , le nouveau GAMEPLAY , dépendrait du monde persistant , dans lequel nous n'utilisons plus l'accélération temporelle.

Où s'arrête la simulation ?
Spock.
Reedit : ( aprés j'arrête ...)
Non, c'était pour dire , qu'avec l'email , un ptit fichier joint , genre " une capture d'écran " ...



Message modifié ( 20-07-2010 08:11 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #5 - 20 July 2010, 09:28:29
trop d'idée et tout très bonnes, il va falloir choisir, je sais que c'est dur :)


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

PC en rade, codage en panne.... Nom de Zeus

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #6 - 21 July 2010, 00:25:38
Merci Tofitouf pour tes appréciations qui comptent beaucoup pour moi , à cause de ta longue expérience du sujet .
En fait , il n'y a pas de copyright sur ma pensée , et pour l'instant , mes propos sont plus proches  de la sf ( science + fiction ) que de la sr ( science + réalité ) .

Quand j'ai une idée , et que je la propose sur le forum , j'ai ma petite idée de qui elle pourrait interresser .
Pour le moment , je distingue :
_ Des créateurs de PLUGIN .
_ Des créateurs de VESSELS .
_ Des cré&teurs de DECORS .
_Des " costauds " qui font les 3 cités au dessus .

J'ai vu qu'il est arrivé que plusieurs participent à un même projet , c'est ce qui m'emballe .
Ma réflexion , c'est d'abord une intégration de toutes les composantes de la section CREATIVE d'Orbiter française ,
la majorité s'exprimant ici , d'autres bricolant en secret dans leur labo . ( J'connais ..) .
Le projet OrbiterChallenge est le Germe d'une nouvelle génération d'Orbiter , à laquelle il me plait de réfléchir .

 Ce que les habitués d'Orbiter apprécient ne doit pas disparaitre , ( l'espérience solo multiforme ( .scn , dll , etc ) ),
et la manière " Habituelle " d'utiliser Orbiter est la porte d'entrée principale de son Univers .
C'est dans ce "GamePlay" traditionnel que sont formés les jeunes pilotes et apprentis historiens-ingénieurs-mécanos .
C'est , en tant qu'utilisateur actuel , là où je me situe .

En tant que créateur ( avant tout réveur) , Orbiter est un super terrain de jeu !
COmme programmeur , à l'instar de DAN , je trouve Orbiter génial comme support pour apprendre à mettre en oeuvre
des fonctionnalités isolées , que nous n'aurions jamais abordées sinon ( ou dont les utilisateurs " consommateurs" n'auraient jamais pu bénéficier.
 Je distingue cependant la néccéssité : La production de SON ( MERCI DAN ! )dans ORBITER est prioritaire , la production d'EMAILS secondaire .

 Donc , ma part d'objectifs actuels concernant ORBITER est totalement secondaire , et dépend principalement de tout le travail mis en oeuvre en amont .

En conclusion , et pour répondre à ton affirmation , TOFITOUF , concernant la néccessité du choix , je vais étudier
dans mes objectifs , lesquels sont prioritaires et essayer de dresser une liste d'interdépendances .
Une chose est sûre , la plupart de mes futurs travaux dépendent du résultat des tiens ...
Et bravo encore une fois pour le lancement réussi ( cf rubrique Les challenges -Work in progress pour ceux qui ne sont pas encore au courant ! ).
Amitié , Longue vie et prospérité ,  Spock !



Message modifié ( 21-07-2010 01:03 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Fast_toche

  • Legend
  • ******
  • Posts: 1329
  • Country: France fr
  • Karma: 34
  • Time is nothing...
Reply #7 - 21 July 2010, 00:30:29
C'est trés atypique!:badsmile:



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #8 - 21 July 2010, 00:37:05
Salut , bienvenue .
Normal , j'suis Vulcain !
:)
Spock !


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #9 - 21 July 2010, 02:08:12
Salut à tous !
Les progrès de TOFITOUF en matière de branchement d'Orbiter sur une interface web me fascine vraiment !
Et la partie Dialogue entre l'interface WEB  et le plugin interne à Orbiter est un des points névralgiques des optimisations futures que j'imagine.
 Je sais que Tofitouf surveille ce topic , ( salut !) , et pour ne pas encombrer le sien j'émettrais mes idées ici , lui laissant le loisir de prendre ce qui lui plaira .

1-a Introduction

 Bien , j'ai eu l'idée ( originale ?) d'une utilisation particulière d'Orbiter en re re re regardant le bijou video de TEX .
Le fait que vous ( nous puisque moi aussi ... ) soyez une communauté qui se rejoint dans ce forum , crée une ambiance d'association , proche du club . Précisement à ces clubs qui disposent d'un vrai terrain et qui aprés de savants calculs , font décoller leurs maquettes , sous les yeux ébahis des adhérents .

 -b
Orbiter est beau , parfois plus , parfois moins , je m'explique :
Un nouvel utilisateur va installer Orbiter, en suivant plus ou moins les conseils de la communauté .
Ceci fait , il lance Orbiter , et ZUT ! Ce n'est pas aussi beau que chez TEX !
C'est que TEX , comme les "pros" d'Orbiter , a passé des années à peaufiner sa configuration , et qu'il dispose en plus
d'une machine puissante , comparée à d'autres . Où je veux en venir ?

 -c UN ORBITEUR COMMUNAUTAIRE

Le respectable AUTEUR DE ORBITER suggère ( dans sa grande sagesse et équité ) aux créateurs d'addons de penser
aux personnes ne disposant pas des ressources néccessaires pour faire tourner à un frame rate suffisant leur production . Equitable , frustrant pour les " plus chanceux "  et les plus doués qui doivent se résigner à restreindre leur créativité ( mis à part la note de MARTIN S : " a part pour une utilisation exclusive et locale ...).
UNE ALTERNATIVE : UN SERVEUR gonflé à bloc , paramétré ( au niveau des scènes , configuration etc ... ) par un " bureau " de spécialistes ( ils se reconnaitront !) , qui diffuse via le web des images ( dans l'avenir une video) du vol en cours , à la manière d'une retransmission télévisuelle . Les créateurs sont invités à se présenter au bureau qui préparera et annoncera à la communauté le lancement en direct , H -10 J etc ...

NOTE : ENCORE UN NOUVEAU GAMEPLAY .

_ Un utilisateur , ou un groupe , a le controle d'une session , la communauté étant avertie puisque :
Tout vol qui aura lieu sur le serveur sera inscrit sur un tableau du genre CALENDRIER .
_Ceux qui aiment suivre dans le forum les avancées de la construction des fusées et autres modules , auront la
possibilité de suivre "en direct" le premier lancement de " la chose" .
_ Des images assurément fantastiques , puisque bénéficiant de l'espertise des "meilleurs" utilisateurs d'ORBITER .

Ce serait une Version " Club" d'Orbiter , destinée je l'avoue à une catégorie de HARDCORE GAMERS , de ceux qui ont
autant de plaisir à paramètrer des systèmes , observer des situations , plutôt que de se jeter sur un Joystick dans une optique Arcade ( J'aime aussi !!;) )
Cela ne dérangerait en rien les vieilles habitudes ( locales et individuelles) , l'idée est d'en apporter de nouvelles et de créer des liens .

2 EN DETAIL

Le point important techniquement , c'est le STREAMING vidéo , et toutes les possibilités relatives à Orbiter .
Rapidement : Capturer une image à la manière de fraps sans ralentir le framerate ( On s'en fout si le serveur est costaud) , diriger le stream d'images non pas sur un disque dur mais direct dans des sockets .
Pour le son , ben j'ai pas encore regardé le fonctionnement , DAN ...
L'architecture de ce concept est complexe :
Mélangeant le coté multiplayer ( pilote(s) , commandement (s), ..) , et BroadCasting ( diffusion générale ) .
Une autre manière d'envisager la chose , serait un mode " spectateur " bien connu dans le genre "fps" , reproductible
via la commande  "REPLAY"  d'Orbiter ? Mais la question des belles images est zappée !
J'en suis au stade des suppositions , un peu hasardeuses .
Avant d'aller plus loin , je vais me documenter , et SURTOUT , j'ai besoin de VOS AVIS et votre EXPERTISE ,
sans interêt sinon ... club !

Mr Spock , from Vulcain .


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #10 - 21 July 2010, 05:57:47
Dans le MFD de l' ENTERPRISE ...

Quote
------ Build started: Project: MonAddon, Configuration: Debug Win32 ------
Compiling...
clbkConsumeBufferedKey.cpp
clbkPostStep.cpp
clbkSetClassCap.cpp
MesFonctions.cpp
ModelDeVol.cpp
OrbiterSound35.cpp
Rien.cpp
SauveChargeScenario.cpp
Generating Code...
Compiling manifest to resources...
Linking...
   Creating library .\Debug/ShuttlePB.lib and object .\Debug/ShuttlePB.exp
Embedding manifest...
Build log was saved at "file://h:\STUDIO\Program files\ORBITER\Orbitersdk\samples\MonAddon\Debug\BuildLog.htm"
MonAddon - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Sur les traces de l'Homme qui a marché sur la LUNE .
Spock


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #11 - 21 July 2010, 06:46:55
Je n'avais pas lu la doc du SDK d'ORBITERSOUND .
C'est réparé !
Donc les fonctions sont appellées en interne , la dll compilée , c'est plié !
Ce serait stupide de ma part , en matière de capture de son , de créer un plugin supplémentaire a charger dans Orbiter dans le but de copier ou rediriger le son vers un port .
Orbiter Sound étant la crème , j'invente la louche pour la recueillir et la redistribuer .
:lol:

Donc ...
La solution serait de me brancher directement dans le mixer du pc ( SDK Multimedia Win32 ou FMOD.lib de préférence si
elle me le permet ) à partir d'une dll enregistrée comme service ou exécutée depuis un plugin MFD .
Pour la video ( enfin le slideshow pour l'instant ) , le même plugin MFD qui lance la dll externe (Audio/VIdeo) s'occupe
de transmettre chaque frame ( fastBitBlit ?) à qui de droit pour être transformée en flux .
Bon ben , j'ai du boulot !
Trouver les SDK libres qui vont bien ...
A+ , Mr Spock .


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #12 - 21 July 2010, 07:54:19
Non , je ne l'ai pas inventé !
Par contre , quelqu'un a déjà pensé à retransmettre des images d'Orbiter en temps réel via ftp sur une page web !
Trouvé çà en cherchant des SDK gratuits pour le streaming :
streaming d'orbiter ( 1 img ) par 10 secondes

Je cherche encore ....



Message modifié ( 21-07-2010 09:38 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #13 - 21 July 2010, 08:52:11
De DAN :

Quote
//////////////////////////////////////////////////////////////////
// Rien.cpp
// ---------------------------------------------------------------
// Rien à toucher ici, Orbiter ce sert de ceci pour creer des
// instances de votre classe, oubliez ce source la.
//////////////////////////////////////////////////////////////////

#define STRICT
#define ORBITER_MODULE

#include "MaClasseAddon.h"
 
// --------------------------------------------------------------
// Vessel initialisation
// --------------------------------------------------------------
DLLCLBK VESSEL *ovcInit (OBJHANDLE hvessel, int flightmodel)
{
   return new MonAddon (hvessel, flightmodel);
}
// --------------------------------------------------------------
// Vessel cleanup
// --------------------------------------------------------------
DLLCLBK void ovcExit (VESSEL *vessel)
{
   if (vessel) delete (MonAddon*)vessel;
}
Mais où est donc le point d'entrée de la dll invoquée par Orbiter ?
Où est InitModule ?
:wonder:
Tu m'as fait courir Dan ! Genre gros panneau  "RIEN à TOUCHER" que j'ai interprété "RIEN à VOIR" .

En fait, ceci est un extrait de MonAddon , tutorial de DAN exellent par ailleurs pour l'initiation aux dll dans Orbiter .
Habitué aux dll , je les utilise souvent dans mes programmes WIn32 avec BorlandC++ Builder .
Mais là , pas de DllMain ... J'étais au courant , Martin le dit dans le SDK .
Sans la déclaration ORBITER_MODULE ( indique au compilateur de ne pas chercher dllmain ...) , je ne me serais pas arrête sur ce fichier .
D'ailleurs , pour un utilisateur lambda , nul besoin car le projet se compile trés bien et est extrèmement bien commenté ( cours c++ sur les structures intégré , bien vu pour les débutants !) .
Seulement moi , comme le dit FAST-TOCHE , je suis ... Atypique .

Un modèle oui , mais un modèle compris !
 COmme je prévois d'intégrer des dll externes dans mes plugin ( qui les piloteront ), j'ai besoin d'un endroit pour les
déclarer . Ben je pense que ce sera là ... Déconcertant pour moi ce VisualStudio .... Je ne comprends pas bien encore le fonctionnement des inclusions dans ce compilateur .
Sinon , çà va , merci !;)
Pour conclure , ce fichier , je l'aurais appellé ... Main.cpp !:badsmile:
A+ , Spock.



Message modifié ( 21-07-2010 09:27 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #14 - 21 July 2010, 09:16:07
tu avance vite.
si tu as des questions plus précise n'hésite pas je me ferais un plaisir d'y répondre dans la mesure du possible.


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

PC en rade, codage en panne.... Nom de Zeus

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #15 - 21 July 2010, 09:34:20
C'est un vrai plaisir et une grande joie de te sentir si proche !
Ouais , je sais que les vulcains sont moins expréssifs en général , mais ma mère est si terrienne ...
En fait , des questions , j'en ai à faire péter le site ...
Si vraiment je galère trop , j'appelle le doc' !
Spock !


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #16 - 21 July 2010, 12:17:37
D'aprés vous , comment j'ai obtenu un pareil listing ?
:diable:

Quote
CELBODY::CELBODY(class CELBODY const &)
CELBODY::CELBODY(void)
CameraMode::CameraMode(class CameraMode const &)
CameraMode::CameraMode(void)
CameraMode_Cockpit::CameraMode_Cockpit(class CameraMode_Cockpit const &)
CameraMode_Cockpit::CameraMode_Cockpit(void)
CameraMode_Ground::CameraMode_Ground(class CameraMode_Ground const &)
CameraMode_Ground::CameraMode_Ground(void)
CameraMode_Track::CameraMode_Track(class CameraMode_Track const &)
CameraMode_Track::CameraMode_Track(void)
ExternMFD::ExternMFD(struct MFDSPEC const &)
ExternMFD::ExternMFD(class ExternMFD const &)
ExternalCameraControl::ExternalCameraControl(class ExternalCameraControl const &)
ExternalCameraControl::ExternalCameraControl(unsigned long,unsigned long)
GraphMFD::GraphMFD(class GraphMFD const &)
GraphMFD::GraphMFD(unsigned long,unsigned long,class VESSEL *)
LaunchpadItem::LaunchpadItem(class LaunchpadItem const &)
LaunchpadItem::LaunchpadItem(void)
MFD::MFD(class MFD const &)
MFD::MFD(unsigned long,unsigned long,class VESSEL *)
VESSEL2::VESSEL2(class VESSEL2 const &)
VESSEL2::VESSEL2(void *,int)
VESSEL::VESSEL(void *,int)
ExternMFD::~ExternMFD(void)
GraphMFD::~GraphMFD(void)
LaunchpadItem::~LaunchpadItem(void)
MFD::~MFD(void)
class CELBODY & CELBODY::operator=(class CELBODY const &)
class CameraMode & CameraMode::operator=(class CameraMode const &)
class CameraMode_Cockpit & CameraMode_Cockpit::operator=(class CameraMode_Cockpit const &)
class CameraMode_Ground & CameraMode_Ground::operator=(class CameraMode_Ground const &)
class CameraMode_Track & CameraMode_Track::operator=(class CameraMode_Track const &)
class ExternMFD & ExternMFD::operator=(class ExternMFD const &)
class ExternalCameraControl & ExternalCameraControl::operator=(class ExternalCameraControl const &)
class GraphMFD & GraphMFD::operator=(class GraphMFD const &)
class LaunchpadItem & LaunchpadItem::operator=(class LaunchpadItem const &)
class MFD & MFD::operator=(class MFD const &)
class VESSEL2 & VESSEL2::operator=(class VESSEL2 const &)
class VESSEL & VESSEL::operator=(class VESSEL const &)
const CELBODY::`vftable'
const CameraMode::`vftable'
const CameraMode_Cockpit::`vftable'
const CameraMode_Ground::`vftable'
const CameraMode_Track::`vftable'
const ExternMFD::`vftable'
const ExternalCameraControl::`vftable'
const GraphMFD::`vftable'
const LaunchpadItem::`vftable'
const MFD::`vftable'
const VESSEL2::`vftable'
bool VESSEL::ActivateNavmode(int)
bool ExternMFD::Active(void)
bool VESSEL::AddAnimComp(unsigned int,struct ANIMCOMP *)
void * VESSEL::AddAnimationComponent(unsigned int,double,double,class MGROUP_TRANSFORM *,void *)
void VESSEL::AddAttExhaustMode(unsigned int,enum ATTITUDEMODE,int,int)
unsigned int VESSEL::AddAttExhaustRef(union VECTOR3 const &,union VECTOR3 const &,double,double)
void VESSEL::AddBeacon(struct BEACONLIGHTSPEC *)
unsigned int VESSEL::AddExhaust(void *,double,double,void *)
unsigned int VESSEL::AddExhaust(void *,double,double,union VECTOR3 const &,union VECTOR3 const &,void *)
unsigned int VESSEL::AddExhaust(void *,double,double,double,void *)
unsigned int VESSEL::AddExhaustRef(enum EXHAUSTTYPE,union VECTOR3 &,double,double,union VECTOR3 *)
void * VESSEL::AddExhaustStream(void *,union VECTOR3 const &,struct PARTICLESTREAMSPEC *)
void * VESSEL::AddExhaustStream(void *,struct PARTICLESTREAMSPEC *)
void VESSEL::AddForce(union VECTOR3 const &,union VECTOR3 const &)
int GraphMFD::AddGraph(void)
unsigned int VESSEL::AddMesh(void *,union VECTOR3 const *)
unsigned int VESSEL::AddMesh(char const *,union VECTOR3 const *)
void * VESSEL::AddParticleStream(struct PARTICLESTREAMSPEC *,union VECTOR3 const &,union VECTOR3 const &,double *)
void GraphMFD::AddPlot(int,float *,float *,int,int,int *)
void * VESSEL::AddReentryStream(struct PARTICLESTREAMSPEC *)
bool VESSEL::AttachChild(void *,void *,void *)
unsigned long VESSEL::AttachmentCount(bool)
char * MFD::ButtonLabel(int)
int MFD::ButtonMenu(struct MFDBUTTONMENU const * *)
void VESSEL::ClearAirfoilDefinitions(void)
void VESSEL::ClearAttExhaustRefs(void)
void VESSEL::ClearBeacons(void)
void VESSEL::ClearControlSurfaceDefinitions(void)
void VESSEL::ClearDockDefinitions(void)
void VESSEL::ClearExhaustRefs(void)
void VESSEL::ClearMeshes(void)
void VESSEL::ClearMeshes(bool)
void VESSEL::ClearPropellantResources(void)
void VESSEL::ClearThrusterDefinitions(void)
void VESSEL::ClearVariableDragElements(void)
bool MFD::ConsumeButton(int,int)
bool MFD::ConsumeKeyBuffered(unsigned long)
bool MFD::ConsumeKeyImmediate(char *)
class CameraMode * CameraMode::Create(char *)
void * VESSEL::Create(char const *,char const *,struct VESSELSTATUS const &)
void * VESSEL::CreateAirfoil2(enum AIRFOIL_ORIENTATION,union VECTOR3 const &,void (*)(double,double,double,double *,double *,double *),double,double,double)
void * VESSEL::CreateAirfoil3(enum AIRFOIL_ORIENTATION,union VECTOR3 const &,void (*)(class VESSEL *,double,double,double,void *,double *,double *,double *),void *,double,double,double)
void VESSEL::CreateAirfoil(enum AIRFOIL_ORIENTATION,union VECTOR3 const &,void (*)(double,double,double,double *,double *,double *),double,double,double)
unsigned int VESSEL::CreateAnimation(double)
void * VESSEL::CreateAttachment(bool,union VECTOR3 const &,union VECTOR3 const &,union VECTOR3 const &,char const *,bool)
void * VESSEL::CreateControlSurface2(enum AIRCTRL_TYPE,double,double,union VECTOR3 const &,int,unsigned int)
void VESSEL::CreateControlSurface(enum AIRCTRL_TYPE,double,double,union VECTOR3 const &,int,unsigned int)
void * VESSEL::CreateDock(union VECTOR3 const &,union VECTOR3 const &,union VECTOR3 const &)
void * VESSEL::CreatePropellantResource(double,double,double)
void * VESSEL::CreateThruster(union VECTOR3 const &,union VECTOR3 const &,double,void *,double,double,double)
void * VESSEL::CreateThrusterGroup(void * *,int,enum THGROUP_TYPE)
void VESSEL::CreateVariableDragElement(double *,double,union VECTOR3 const &)
int Date2Int(char *)
bool VESSEL::DeactivateNavmode(int)
void VESSEL::DefSetState(struct VESSELSTATUS const *)
void VESSEL::DefSetStateEx(void const *)
bool VESSEL::DelAirfoil(void *)
bool VESSEL::DelAnimation(unsigned int)
bool VESSEL::DelAnimationComponent(unsigned int,void *)
bool VESSEL::DelBeacon(struct BEACONLIGHTSPEC *)
bool VESSEL::DelControlSurface(void *)
bool VESSEL::DelDock(void *)
bool VESSEL::DelExhaust(unsigned int)
void VESSEL::DelExhaustRef(enum EXHAUSTTYPE,unsigned short)
bool VESSEL::DelExhaustStream(void *)
bool VESSEL::DelMesh(unsigned int,bool)
void VESSEL::DelPropellantResource(void * &)
bool VESSEL::DelThruster(void * &)
bool VESSEL::DelThrusterGroup(void * &,enum THGROUP_TYPE,bool)
bool VESSEL::DelThrusterGroup(enum THGROUP_TYPE,bool)
char * LaunchpadItem::Description(void)
bool VESSEL::DetachChild(void *,double)
int VESSEL::Dock(void *,unsigned int,unsigned int,unsigned int)
unsigned int VESSEL::DockCount(void)
unsigned int VESSEL::DockingStatus(unsigned int)
void VESSEL::EditAirfoil(void *,unsigned long,union VECTOR3 const &,void (*)(double,double,double,double *,double *,double *),double,double,double)
void VESSEL::EnableIDS(void *,bool)
void VESSEL::EnableTransponder(bool)
void ExitLib(struct HINSTANCE__ *)
void GraphMFD::FindRange(float *,int,float &,float &)
unsigned long VESSEL::GetADCtrlMode(void)
double VESSEL::GetAOA(void)
double VESSEL::GetAirspeed(void)
double VESSEL::GetAltitude(void)
void VESSEL::GetAngularAcc(union VECTOR3 &)
void VESSEL::GetAngularMoment(union VECTOR3 &)
void VESSEL::GetAngularVel(union VECTOR3 &)
void * VESSEL::GetApDist(double &)
void * VESSEL::GetArgPer(double &)
double VESSEL::GetAtmDensity(void)
double VESSEL::GetAtmPressure(void)
void * VESSEL::GetAtmRef(void)
double VESSEL::GetAtmTemperature(void)
void * VESSEL::GetAttachmentHandle(bool,unsigned long)
char const * VESSEL::GetAttachmentId(void *)
unsigned long VESSEL::GetAttachmentIndex(void *)
void VESSEL::GetAttachmentParams(void *,union VECTOR3 &,union VECTOR3 &,union VECTOR3 &)
void * VESSEL::GetAttachmentStatus(void *)
void VESSEL::GetAttitudeLinLevel(union VECTOR3 &)
int VESSEL::GetAttitudeMode(void)
void VESSEL::GetAttitudeRotLevel(union VECTOR3 &)
double VESSEL::GetBank(void)
double VESSEL::GetBankMomentScale(void)
char const * ExternMFD::GetButtonLabel(int)
double VESSEL::GetCOG_elev(void)
void VESSEL::GetCW(double &,double &,double &,double &)
void VESSEL::GetCameraDefaultDirection(union VECTOR3 &)
unsigned long ExternalCameraControl::GetCameraMode(void)
void VESSEL::GetCameraOffset(union VECTOR3 &)
char * VESSEL::GetClassNameA(void)
double VESSEL::GetClipRadius(void)
double VESSEL::GetControlSurfaceLevel(enum AIRCTRL_TYPE)
void VESSEL::GetCrossSections(union VECTOR3 &)
int VESSEL::GetDamageModel(void)
unsigned long ExternalCameraControl::GetDataMode(void)
void CameraMode_Cockpit::GetDescr(char *,int)
void CameraMode_Ground::GetDescr(char *,int)
void CameraMode_Track::GetDescr(char *,int)
void * ExternMFD::GetDisplaySurface(void)
void * VESSEL::GetDockHandle(unsigned int)
void VESSEL::GetDockParams(void *,union VECTOR3 &,union VECTOR3 &,union VECTOR3 &)
void * VESSEL::GetDockStatus(void *)
double VESSEL::GetDrag(void)
bool VESSEL::GetDragVector(union VECTOR3 &)
double VESSEL::GetDynPressure(void)
bool VESSEL::GetEditorModule(char *)
void * VESSEL::GetElements(struct ELEMENTS &,double &)
bool VESSEL::GetElements(void *,struct ELEMENTS &,struct ORBITPARAM *,double,int)
double VESSEL::GetEmptyMass(void)
bool VESSEL::GetEnableFocus(void)
double VESSEL::GetEngineLevel(enum ENGINETYPE)
void * VESSEL::GetEquPos(double &,double &,double &)
double CameraMode::GetFOV(void)
int VESSEL::GetFlightModel(void)
unsigned long VESSEL::GetFlightStatus(void)
bool VESSEL::GetForceVector(union VECTOR3 &)
double VESSEL::GetFuelMass(void)
double VESSEL::GetFuelRate(void)
void VESSEL::GetGlobalOrientation(union VECTOR3 &)
void VESSEL::GetGlobalPos(union VECTOR3 &)
void VESSEL::GetGlobalVel(union VECTOR3 &)
double VESSEL::GetGravityGradientDamping(void)
void * VESSEL::GetGravityRef(void)
void * VESSEL::GetGroupThruster(void *,unsigned long)
void * VESSEL::GetGroupThruster(enum THGROUP_TYPE,unsigned long)
unsigned long VESSEL::GetGroupThrusterCount(void *)
unsigned long VESSEL::GetGroupThrusterCount(enum THGROUP_TYPE)
void * VESSEL::GetHandle(void)
bool VESSEL::GetHorizonAirspeedVector(union VECTOR3 &)
void * VESSEL::GetIDS(void *)
double VESSEL::GetISP(void)
double VESSEL::GetLift(void)
bool VESSEL::GetLiftVector(union VECTOR3 &)
void VESSEL::GetLinearMoment(union VECTOR3 &)
double VESSEL::GetMachNumber(void)
double * VESSEL::GetMainThrustModPtr(void)
double VESSEL::GetManualControlLevel(enum THGROUP_TYPE,unsigned long,unsigned long)
double VESSEL::GetMass(void)
double VESSEL::GetMaxFuelMass(void)
double VESSEL::GetMaxThrust(enum ENGINETYPE)
void * VESSEL::GetMesh(void *,unsigned int)
enum CameraMode::Mode CameraMode_Cockpit::GetMode(void)
enum CameraMode::Mode CameraMode_Ground::GetMode(void)
enum CameraMode::Mode CameraMode_Track::GetMode(void)
char * VESSEL::GetName(void)
unsigned long VESSEL::GetNavRecv(unsigned long)
float VESSEL::GetNavRecvFreq(unsigned long)
void * VESSEL::GetNavSource(unsigned long)
bool VESSEL::GetNavmodeState(int)
bool VESSEL::GetNosewheelSteering(void)
void CameraMode_Ground::GetOrientation(double *,double *)
void VESSEL::GetPMI(union VECTOR3 &)
void * VESSEL::GetPeDist(double &)
double VESSEL::GetPitch(void)
double VESSEL::GetPitchMomentScale(void)
void CameraMode_Ground::GetPosition(double *,double *,double *,void * *)
void CameraMode_Track::GetPosition(double *,double *,double *)
unsigned long VESSEL::GetPropellantCount(void)
double VESSEL::GetPropellantEfficiency(void *)
double VESSEL::GetPropellantFlowrate(void *)
void * VESSEL::GetPropellantHandleByIndex(unsigned long)
double VESSEL::GetPropellantMass(void *)
double VESSEL::GetPropellantMaxMass(void *)
void * CameraMode_Ground::GetRef(void)
void * CameraMode_Track::GetRef(void)
void VESSEL::GetRelativePos(void *,union VECTOR3 &)
void VESSEL::GetRelativeVel(void *,union VECTOR3 &)
void VESSEL::GetRotDrag(union VECTOR3 &)
void VESSEL::GetRotationMatrix(union MATRIX3 &)
void * VESSEL::GetSMi(double &)
bool VESSEL::GetShipAirspeedVector(union VECTOR3 &)
double VESSEL::GetSize(void)
double VESSEL::GetSlipAngle(void)
void VESSEL::GetStatus(struct VESSELSTATUS &)
void VESSEL::GetStatusEx(void *)
bool VESSEL::GetSuperstructureCG(union VECTOR3 &)
void * VESSEL::GetSurfaceRef(void)
void * CameraMode::GetTarget(void)
bool CameraMode_Ground::GetTgtLock(void)
bool VESSEL::GetThrustVector(union VECTOR3 &)
unsigned long VESSEL::GetThrusterCount(void)
void VESSEL::GetThrusterDir(void *,union VECTOR3 &)
void * VESSEL::GetThrusterGroupHandle(enum THGROUP_TYPE)
double VESSEL::GetThrusterGroupLevel(void *)
double VESSEL::GetThrusterGroupLevel(enum THGROUP_TYPE)
void * VESSEL::GetThrusterHandleByIndex(unsigned long)
double VESSEL::GetThrusterIsp0(void *)
double VESSEL::GetThrusterIsp(void *)
double VESSEL::GetThrusterIsp(void *,double)
double VESSEL::GetThrusterLevel(void *)
double VESSEL::GetThrusterMax0(void *)
double VESSEL::GetThrusterMax(void *)
double VESSEL::GetThrusterMax(void *,double)
void VESSEL::GetThrusterMoment(void *,union VECTOR3 &,union VECTOR3 &)
void VESSEL::GetThrusterRef(void *,union VECTOR3 &)
void * VESSEL::GetThrusterResource(void *)
double VESSEL::GetTotalPropellantFlowrate(void)
double VESSEL::GetTotalPropellantMass(void)
void VESSEL::GetTouchdownPoints(union VECTOR3 &,union VECTOR3 &,union VECTOR3 &)
enum CameraMode_Track::TrackMode CameraMode_Track::GetTrackMode(void)
struct ExternalCameraControl::TrackMode const * ExternalCameraControl::GetTrackMode(void)
void * VESSEL::GetTransponder(void)
double VESSEL::GetTrimScale(void)
unsigned long VESSEL::GetUserThrusterGroupCount(void)
void * VESSEL::GetUserThrusterGroupHandleByIndex(unsigned long)
struct ExternalCameraControl::VCMode const * ExternalCameraControl::GetVCMode(void)
void * ExternMFD::GetVessel(void)
bool VESSEL::GetWeightVector(union VECTOR3 &)
double VESSEL::GetWheelbrakeLevel(int)
double VESSEL::GetWingAspect(void)
double VESSEL::GetWingEffectiveness(void)
void VESSEL::Global2Local(union VECTOR3 const &,union VECTOR3 &)
void VESSEL::GlobalRot(union VECTOR3 const &,union VECTOR3 &)
bool VESSEL::GroundContact(void)
void VESSEL::HorizonInvRot(union VECTOR3 const &,union VECTOR3 &)
void VESSEL::HorizonRot(union VECTOR3 const &,union VECTOR3 &)
unsigned int ExternMFD::Id(void)
void VESSEL::IncEngineLevel(enum ENGINETYPE,double)
void VESSEL::IncThrusterGroupLevel(void *,double)
void VESSEL::IncThrusterGroupLevel(enum THGROUP_TYPE,double)
void VESSEL::IncThrusterGroupLevel_SingleStep(void *,double)
void VESSEL::IncThrusterGroupLevel_SingleStep(enum THGROUP_TYPE,double)
void VESSEL::IncThrusterLevel(void *,double)
void VESSEL::IncThrusterLevel_SingleStep(void *,double)
void CameraMode_Cockpit::Init(char *)
void CameraMode_Ground::Init(char *)
void CameraMode_Track::Init(char *)
void InitLib(struct HINSTANCE__ *)
void VESSEL::InitNavRadios(unsigned long)
unsigned int VESSEL::InsertMesh(void *,unsigned int,union VECTOR3 const *)
unsigned int VESSEL::InsertMesh(char const *,unsigned int,union VECTOR3 const *)
void MFD::InvalidateButtons(void)
void MFD::InvalidateDisplay(void)
void VESSEL::Local2Global(union VECTOR3 const &,union VECTOR3 &)
void VESSEL::Local2Rel(union VECTOR3 const &,union VECTOR3 &)
bool VESSEL::MeshgroupTransform(void *,struct MESHGROUP_TRANSFORM const &)
char * LaunchpadItem::Name(void)
bool VESSEL::NonsphericalGravityEnabled(void)
bool LaunchpadItem::OpenDialog(struct HINSTANCE__ *,struct HWND__ *,int,int (*)(struct HWND__ *,unsigned int,unsigned int,long))
bool ExternMFD::OpenModeHelp(void)
bool VESSEL::OrbitStabilised(void)
void VESSEL::ParseScenarioLine(char *,struct VESSELSTATUS *)
void VESSEL::ParseScenarioLineEx(char *,void *)
bool VESSEL::Playback(void)
void GraphMFD::Plot(struct HDC__ *,int,int,int,char const *)
void CELBODY::Pol2Crt(double *,double *)
bool ExternMFD::ProcessButton(int,int)
void MFD::ReadStatus(void *)
void MFD::RecallStatus(void)
void VESSEL::RecordEvent(char const *,char const *)
bool VESSEL::Recording(void)
unsigned int VESSEL::RegisterAnimSequence(double)
void VESSEL::RegisterAnimation(void)
bool ExternMFD::Resize(struct MFDSPEC const &)
void VESSEL::SaveDefaultState(void *)
struct HFONT__ * MFD::SelectDefaultFont(struct HDC__ *,unsigned long)
struct HPEN__ * MFD::SelectDefaultPen(struct HDC__ *,unsigned long)
bool ExternMFD::SendKey(unsigned long)
void VESSEL::SetADCtrlMode(unsigned long)
void VESSEL::SetAlbedoRGB(union VECTOR3 const &)
void VESSEL::SetAngularVel(union VECTOR3 const &)
bool VESSEL::SetAnimState(unsigned int,double)
bool VESSEL::SetAnimation(unsigned int,double)
void VESSEL::SetAttachmentParams(void *,union VECTOR3 const &,union VECTOR3 const &,union VECTOR3 const &)
void VESSEL::SetAttitudeLinLevel(union VECTOR3 const &)
void VESSEL::SetAttitudeLinLevel(int,double)
bool VESSEL::SetAttitudeMode(int)
void VESSEL::SetAttitudeRotLevel(union VECTOR3 const &)
void VESSEL::SetAttitudeRotLevel(int,double)
void GraphMFD::SetAutoRange(int,int,int)
void GraphMFD::SetAutoTicks(int,int)
void GraphMFD::SetAxisTitle(int,int,char *)
void VESSEL::SetBankMomentScale(double)
void VESSEL::SetCOG_elev(double)
void VESSEL::SetCW(double,double,double,double)
void VESSEL::SetCameraDefaultDirection(union VECTOR3 const &)
void VESSEL::SetCameraDefaultDirection(union VECTOR3 const &,double)
void ExternalCameraControl::SetCameraMode(unsigned long)
void VESSEL::SetCameraMovement(union VECTOR3 const &,double,double,union VECTOR3 const &,double,double,union VECTOR3 const &,double,double)
void VESSEL::SetCameraOffset(union VECTOR3 const &)
void VESSEL::SetCameraRotationRange(double,double,double,double)
void VESSEL::SetCameraShiftRange(union VECTOR3 const &,union VECTOR3 const &,union VECTOR3 const &)
void VESSEL::SetClipRadius(double)
void VESSEL::SetControlSurfaceLevel(enum AIRCTRL_TYPE,double)
void VESSEL::SetCrossSections(union VECTOR3 const &)
void ExternalCameraControl::SetDataMode(unsigned long)
void VESSEL::SetDefaultPropellantResource(void *)
void VESSEL::SetDockParams(union VECTOR3 const &,union VECTOR3 const &,union VECTOR3 const &)
void VESSEL::SetDockParams(void *,union VECTOR3 const &,union VECTOR3 const &,union VECTOR3 const &)
bool VESSEL::SetElements(void *,struct ELEMENTS const &,struct ORBITPARAM *,double,int)
void VESSEL::SetEmptyMass(double)
void VESSEL::SetEnableFocus(bool)
void VESSEL::SetEngineLevel(enum ENGINETYPE,double)
void VESSEL::SetExhaustScales(enum EXHAUSTTYPE,unsigned short,double,double)
void CameraMode::SetFOV(double)
void VESSEL::SetFuelMass(double)
void VESSEL::SetGlobalOrientation(union VECTOR3 const &)
bool VESSEL::SetGravityGradientDamping(double)
bool VESSEL::SetIDSChannel(void *,unsigned long)
void VESSEL::SetISP(double)
void VESSEL::SetLiftCoeffFunc(double (*)(double))
void VESSEL::SetMaxFuelMass(double)
void VESSEL::SetMaxThrust(enum ENGINETYPE,double)
void VESSEL::SetMaxWheelbrakeForce(double)
void VESSEL::SetMeshVisibilityMode(unsigned int,unsigned short)
void VESSEL::SetMeshVisibleInternal(unsigned int,bool)
bool ExternMFD::SetMode(int)
bool VESSEL::SetNavRecv(unsigned long,unsigned long)
void VESSEL::SetNosewheelSteering(bool)
void CameraMode_Ground::SetOrientation(double,double)
void VESSEL::SetPMI(union VECTOR3 const &)
void VESSEL::SetPitchMomentScale(double)
void CameraMode_Ground::SetPosition(double,double,double,void *)
void CameraMode_Track::SetPosition(double,double,double)
void VESSEL::SetPropellantEfficiency(void *,double)
void VESSEL::SetPropellantMass(void *,double)
void VESSEL::SetPropellantMaxMass(void *,double)
void GraphMFD::SetRange(int,int,float,float)
void VESSEL::SetReentryTexture(void *,double,double,double)
void VESSEL::SetRotDrag(union VECTOR3 const &)
void VESSEL::SetRotationMatrix(union MATRIX3 const &)
void VESSEL::SetSize(double)
void VESSEL::SetSurfaceFrictionCoeff(double,double)
void CameraMode::SetTarget(void *)
void VESSEL::SetThrusterDir(void *,union VECTOR3 const &)
void VESSEL::SetThrusterGroupLevel(void *,double)
void VESSEL::SetThrusterGroupLevel(enum THGROUP_TYPE,double)
void VESSEL::SetThrusterIsp(void *,double)
void VESSEL::SetThrusterIsp(void *,double,double,double)
void VESSEL::SetThrusterLevel(void *,double)
void VESSEL::SetThrusterLevel_SingleStep(void *,double)
void VESSEL::SetThrusterMax0(void *,double)
void VESSEL::SetThrusterRef(void *,union VECTOR3 const &)
void VESSEL::SetThrusterResource(void *,void *)
void VESSEL::SetTouchdownPoints(union VECTOR3 const &,union VECTOR3 const &,union VECTOR3 const &)
void CameraMode_Track::SetTrackMode(enum CameraMode_Track::TrackMode,void *)
bool VESSEL::SetTransponderChannel(unsigned long)
void VESSEL::SetTrimScale(double)
void ExternMFD::SetVessel(void *)
void VESSEL::SetVisibilityLimit(double,double)
void VESSEL::SetWheelbrakeLevel(double,int,bool)
void VESSEL::SetWingAspect(double)
void VESSEL::SetWingEffectiveness(double)
void VESSEL::ShiftCG(union VECTOR3 const &)
void VESSEL::ShiftCentreOfMass(union VECTOR3 const &)
bool VESSEL::ShiftMesh(unsigned int,union VECTOR3 const &)
void VESSEL::ShiftMeshes(union VECTOR3 const &)
void CameraMode_Cockpit::Store(char *)
void CameraMode_Ground::Store(char *)
void CameraMode_Track::Store(char *)
void MFD::StoreStatus(void)
bool VESSEL::ThrusterGroupDefined(enum THGROUP_TYPE)
void MFD::Title(struct HDC__ *,char const *)
int VESSEL::ToggleAttitudeMode(void)
bool VESSEL::ToggleNavmode(int)
bool VESSEL::Undock(unsigned int,void * const)
void VESSEL::UnregisterAnimation(void)
int CELBODY::Version(void)
int VESSEL::Version(void)
void WriteScenario_state(void *,char *,class AnimState const &)
void MFD::WriteStatus(void *)
bool CELBODY::bEphemeris(void)
void VESSEL2::clbkADCtrlMode(unsigned long)
void VESSEL2::clbkAnimate(double)
bool CELBODY::clbkAtmParam(double,struct ATMPARAM *)
int VESSEL2::clbkConsumeBufferedKey(unsigned long,bool,char *)
int VESSEL2::clbkConsumeDirectKey(char *)
void VESSEL2::clbkDockEvent(int,void *)
void VESSEL2::clbkDrawHUD(int,struct HUDPAINTSPEC const *,struct HDC__ *)
int CELBODY::clbkEphemeris(double,int,double *)
int CELBODY::clbkFastEphemeris(double,int,double *)
void ExternMFD::clbkFocusChanged(void *)
void VESSEL2::clbkFocusChanged(bool,void *,void *)
void VESSEL2::clbkHUDMode(int)
void CELBODY::clbkInit(void *)
bool VESSEL2::clbkLoadGenericCockpit(void)
bool VESSEL2::clbkLoadPanel(int)
void VESSEL2::clbkLoadStateEx(void *,void *)
bool VESSEL2::clbkLoadVC(int)
void VESSEL2::clbkMFDMode(int,int)
void VESSEL2::clbkNavMode(int,bool)
bool LaunchpadItem::clbkOpen(struct HWND__ *)
bool VESSEL2::clbkPanelMouseEvent(int,int,int,int)
bool VESSEL2::clbkPanelRedrawEvent(int,int,void *)
bool VESSEL2::clbkPlaybackEvent(double,double,char const *,char const *)
void VESSEL2::clbkPostCreation(void)
void VESSEL2::clbkPostStep(double,double,double)
void VESSEL2::clbkPreStep(double,double,double)
void VESSEL2::clbkRCSMode(int)
void ExternMFD::clbkRefreshButtons(void)
void ExternMFD::clbkRefreshDisplay(void *)
void VESSEL2::clbkSaveState(void *)
void VESSEL2::clbkSetClassCaps(void *)
void VESSEL2::clbkSetStateEx(void const *)
void ExternMFD::clbkUpdate(void)
bool VESSEL2::clbkVCMouseEvent(int,int,union VECTOR3 &)
bool VESSEL2::clbkVCRedrawEvent(int,int,void *)
void VESSEL2::clbkVisualCreated(void *,int)
void VESSEL2::clbkVisualDestroyed(void *,int)
int LaunchpadItem::clbkWriteConfig(void)
bool oapiAcceptDelayedKey(char,double)
unsigned long oapiAddMaterial(void *,struct MATERIAL *)
bool oapiAddTitleButton(unsigned long,struct HBITMAP__ *,unsigned long)
void oapiAnnotationSetPos(void *,double,double,double,double)
void oapiAnnotationSetText(void *,char *)
void oapiBlt(void *,void *,int,int,int,int,int,int,unsigned long)
void oapiBlt(void *,void *,struct tagRECT *,struct tagRECT *,unsigned long,unsigned long)
bool oapiBltPanelAreaBackground(int,void *)
int oapiBroadcastMFDMessage(int,int,void *)
double oapiCameraAperture(void)
void oapiCameraAttach(void *,int)
double oapiCameraAzimuth(void)
void oapiCameraGlobalDir(union VECTOR3 *)
void oapiCameraGlobalPos(union VECTOR3 *)
bool oapiCameraInternal(void)
int oapiCameraMode(void)
double oapiCameraPolar(void)
void oapiCameraRotAzimuth(double)
void oapiCameraRotPolar(double)
void oapiCameraScaleDist(double)
void oapiCameraSetAperture(double)
void oapiCameraSetCockpitDir(double,double,bool)
void * oapiCameraTarget(void)
double oapiCameraTargetDist(void)
void oapiClearSurface(void *,unsigned long)
void oapiClearSurfaceColourKey(void *)
void oapiCloseDialog(struct HWND__ *)
void oapiCloseFile(void *,enum FileAccessMode)
int oapiCockpitMode(void)
void oapiColourFill(void *,unsigned long,int,int,int,int)
void * oapiCreateAnnotation(bool,double,union VECTOR3 const &)
void * oapiCreateSurface(int,int)
void * oapiCreateSurface(struct HBITMAP__ *,bool)
void * oapiCreateTextureSurface(int,int)
void * oapiCreateVessel(char const *,char const *,struct VESSELSTATUS const &)
void * oapiCreateVesselEx(char const *,char const *,void const *)
char * oapiDebugString(void)
void oapiDecHUDIntensity(void)
int oapiDefDialogProc(struct HWND__ *,unsigned int,unsigned int,long)
bool oapiDelAnnotation(void *)
bool oapiDeleteMaterial(void *,unsigned long)
void oapiDeleteMesh(void *)
bool oapiDeleteVessel(void *,void *)
void oapiDestroySurface(void *)
void oapiDisableMFDMode(int)
struct HWND__ * oapiFindDialog(struct HINSTANCE__ *,int)
void * oapiFindLaunchpadItem(char const *,void *)
void oapiGelFocusGlobalPos(union VECTOR3 *)
int oapiGetAirspeed(void *,double *)
int oapiGetAirspeedVector(void *,union VECTOR3 *)
int oapiGetAltitude(void *,double *)
void oapiGetAtmPressureDensity(void *,double *,double *)
int oapiGetAttitudeMode(void *)
int oapiGetBank(void *,double *)
void oapiGetBarycentre(void *,union VECTOR3 *)
void * oapiGetBaseByIndex(void *,int)
void * oapiGetBaseByName(void *,char *)
unsigned long oapiGetBaseCount(void *)
void oapiGetBaseEquPos(void *,double *,double *,double *)
unsigned long oapiGetBasePadCount(void *)
bool oapiGetBasePadEquPos(void *,unsigned long,double *,double *,double *)
void * oapiGetBasePadNav(void *,unsigned long)
bool oapiGetBasePadStatus(void *,unsigned long,int *)
class CELBODY * oapiGetCelbodyInterface(void *)
char const * oapiGetCmdLine(void)
unsigned long oapiGetColour(unsigned long,unsigned long,unsigned long)
struct HDC__ * oapiGetDC(void *)
void * oapiGetDialogContext(struct HWND__ *)
void * oapiGetDockHandle(void *,unsigned int)
void * oapiGetDockStatus(void *)
double oapiGetEmptyMass(void *)
void oapiGetEngineStatus(void *,struct ENGINESTATUS *)
int oapiGetEquPos(void *,double *,double *,double *)
int oapiGetFocusAirspeed(double *)
int oapiGetFocusAirspeedVector(union VECTOR3 *)
int oapiGetFocusAltitude(double *)
void oapiGetFocusAtmPressureDensity(double *,double *)
int oapiGetFocusAttitudeMode(void)
int oapiGetFocusBank(double *)
void oapiGetFocusEngineStatus(struct ENGINESTATUS *)
int oapiGetFocusEquPos(double *,double *,double *)
void oapiGetFocusGlobalVel(union VECTOR3 *)
int oapiGetFocusHeading(double *)
class VESSEL * oapiGetFocusInterface(void)
void * oapiGetFocusObject(void)
int oapiGetFocusPitch(double *)
void oapiGetFocusRelativePos(void *,union VECTOR3 *)
void oapiGetFocusRelativeVel(void *,union VECTOR3 *)
int oapiGetFocusShipAirspeedVector(union VECTOR3 *)
double oapiGetFrameRate(void)
double oapiGetFuelMass(void *)
void * oapiGetGbodyByIndex(int)
void * oapiGetGbodyByName(char *)
unsigned long oapiGetGbodyCount(void)
void oapiGetGlobalPos(void *,union VECTOR3 *)
void oapiGetGlobalVel(void *,union VECTOR3 *)
int oapiGetHUDMode(void)
int oapiGetHeading(void *,double *)
double oapiGetInducedDrag(double,double,double)
int oapiGetMFDMode(int)
int oapiGetMFDModeSpec(char *,struct MFDMODESPEC * *)
double oapiGetMass(void *)
double oapiGetMaxFuelMass(void *)
unsigned long oapiGetNavChannel(void *)
int oapiGetNavDescr(void *,char *,int)
float oapiGetNavFreq(void *)
void oapiGetNavPos(void *,union VECTOR3 *)
float oapiGetNavRange(void *)
unsigned long oapiGetNavType(void *)
void * oapiGetObjectByIndex(int)
void * oapiGetObjectByName(char *)
unsigned long oapiGetObjectCount(void)
void oapiGetObjectName(void *,char *,int)
int oapiGetObjectType(void *)
struct HINSTANCE__ * oapiGetOrbiterInstance(void)
int oapiGetOrbiterVersion(void)
bool oapiGetPause(void)
int oapiGetPitch(void *,double *)
struct ATMCONST const * oapiGetPlanetAtmConstants(void *)
void oapiGetPlanetAtmParams(void *,double,struct ATMPARAM *)
double oapiGetPlanetCurrentRotation(void *)
double oapiGetPlanetJCoeff(void *,unsigned long)
unsigned long oapiGetPlanetJCoeffCount(void *)
double oapiGetPlanetObliquity(void *)
void oapiGetPlanetObliquityMatrix(void *,union MATRIX3 *)
double oapiGetPlanetPeriod(void *)
double oapiGetPlanetTheta(void *)
void * oapiGetPropellantHandle(void *,unsigned long)
double oapiGetPropellantMass(void *)
double oapiGetPropellantMaxMass(void *)
void oapiGetRelativePos(void *,void *,union VECTOR3 *)
void oapiGetRelativeVel(void *,void *,union VECTOR3 *)
void oapiGetRotationMatrix(void *,union MATRIX3 *)
int oapiGetShipAirspeedVector(void *,union VECTOR3 *)
bool oapiGetShowGrapplePoints(void)
double oapiGetSimMJD(void)
double oapiGetSimStep(void)
double oapiGetSimTime(void)
double oapiGetSize(void *)
void * oapiGetStationByIndex(int)
void * oapiGetStationByName(char *)
unsigned long oapiGetStationCount(void)
double oapiGetSysMJD(void)
double oapiGetSysStep(void)
double oapiGetSysTime(void)
void * oapiGetTextureHandle(void *,unsigned long)
double oapiGetTimeAcceleration(void)
unsigned long oapiGetTitleButtonState(struct HWND__ *,unsigned long)
void * oapiGetVesselByIndex(int)
void * oapiGetVesselByName(char *)
unsigned long oapiGetVesselCount(void)
class VESSEL * oapiGetVesselInterface(void *)
double oapiGetWaveDrag(double,double,double,double,double)
void oapiIncHUDIntensity(void)
bool oapiIsVessel(void *)
void * oapiLoadMesh(char const *)
void * oapiLoadMeshGlobal(char const *)
void * oapiLoadTexture(char const *,bool)
char const * oapiMFDButtonLabel(int,int)
struct MESHGROUP * oapiMeshGroup(void *,unsigned long)
unsigned long oapiMeshGroupCount(void *)
struct MATERIAL * oapiMeshMaterial(void *,unsigned long)
unsigned long oapiMeshMaterialCount(void *)
bool oapiNavInRange(void *,union VECTOR3 const &)
void * * oapiObjectVisualPtr(void *)
struct HWND__ * oapiOpenDialog(struct HINSTANCE__ *,int,int (*)(struct HWND__ *,unsigned int,unsigned int,long),void *)
struct HWND__ * oapiOpenDialogEx(struct HINSTANCE__ *,int,int (*)(struct HWND__ *,unsigned int,unsigned int,long),unsigned long,void *)
void * oapiOpenFile(char const *,enum FileAccessMode,enum PathRoot)
bool oapiOpenHelp(struct HELPCONTEXT *)
void oapiOpenInputBox(char *,bool (*)(void *,char *,void *),char *,int,void *)
void oapiOpenMFD(int,int)
void oapiParticleSetLevelRef(void *,double *)
bool oapiPlanetHasAtmosphere(void *)
bool oapiProcessMFDButton(int,int,int)
double oapiRand(void)
bool oapiReadItem_bool(void *,char *,bool &)
bool oapiReadItem_float(void *,char *,double &)
bool oapiReadItem_int(void *,char *,int &)
bool oapiReadItem_string(void *,char *,char *)
bool oapiReadItem_vec(void *,char *,union VECTOR3 &)
bool oapiReadScenario_nextline(void *,char * &)
void oapiRefreshMFDButtons(int,void *)
unsigned long oapiRegisterCustomCmd(char *,char *,void (*)(void *),void *)
void * oapiRegisterExhaustTexture(char *)
void oapiRegisterExternMFD(class ExternMFD *,struct MFDSPEC const &)
bool oapiRegisterExternalCameraControl(class ExternalCameraControl *)
void * oapiRegisterLaunchpadItem(class LaunchpadItem *,void *)
void oapiRegisterMFD(int,struct MFDSPEC const &)
void oapiRegisterMFD(int,struct EXTMFDSPEC const *)
int oapiRegisterMFDMode(struct MFDMODESPEC &)
void oapiRegisterPanelArea(int,struct tagRECT const &,int,int,int)
void oapiRegisterPanelBackground(struct HBITMAP__ *,unsigned long,unsigned long)
void * oapiRegisterParticleTexture(char *)
void * oapiRegisterReentryTexture(char *)
void oapiReleaseDC(void *,struct HDC__ *)
bool oapiSaveScenario(char const *,char const *)
int oapiSendMFDKey(int,unsigned long)
bool oapiSetAttitudeMode(void *,int)
void oapiSetDefNavDisplay(int)
void oapiSetDefRCSDisplay(int)
void oapiSetEmptyMass(void *,double)
void oapiSetEngineLevel(void *,enum ENGINETYPE,double)
bool oapiSetFocusAttitudeMode(int)
void * oapiSetFocusObject(void *)
bool oapiSetHUDMode(int)
bool oapiSetMeshProperty(void *,unsigned long,unsigned long)
int oapiSetPanel(int)
void oapiSetPanelNeighbours(int,int,int,int)
void oapiSetPause(bool)
void oapiSetShowGrapplePoints(bool)
bool oapiSetSimMJD(double,int)
void oapiSetSurfaceColourKey(void *,unsigned long)
bool oapiSetTexture(void *,unsigned long,void *)
void oapiSetTimeAcceleration(double)
void oapiSetTimeSteppingDebug(double)
bool oapiSetTitleButtonState(struct HWND__ *,unsigned long,unsigned long)
int oapiSwitchPanel(int)
double oapiTime2MJD(double)
int oapiToggleAttitudeMode(void *)
int oapiToggleFocusAttitudeMode(void)
void oapiToggleHUDColour(void)
void oapiToggleMFD_on(int)
void oapiTriggerPanelRedrawArea(int,int)
void oapiTriggerRedrawArea(int,int,int)
bool oapiUnregisterCustomCmd(int)
bool oapiUnregisterExternMFD(class ExternMFD *)
bool oapiUnregisterExternalCameraControl(void)
bool oapiUnregisterLaunchpadItem(class LaunchpadItem *)
bool oapiUnregisterMFDMode(int)
void oapiVCRegisterArea(int,struct tagRECT const &,int,int,int,void *)
void oapiVCRegisterArea(int,int,int)
void oapiVCRegisterHUD(struct VCHUDSPEC const *)
void oapiVCRegisterMFD(int,struct VCMFDSPEC const *)
void oapiVCSetAreaClickmode_Quadrilateral(int,union VECTOR3 const &,union VECTOR3 const &,union VECTOR3 const &,union VECTOR3 const &)
void oapiVCSetAreaClickmode_Spherical(int,union VECTOR3 const &,double)
void oapiVCSetNeighbours(int,int,int,int)
void oapiVCTriggerRedrawArea(int,int)
void oapiWriteItem_bool(void *,char *,bool)
void oapiWriteItem_float(void *,char *,double)
void oapiWriteItem_int(void *,char *,int)
void oapiWriteItem_string(void *,char *,char *)
void oapiWriteItem_vec(void *,char *,union VECTOR3 const &)
void oapiWriteLine(void *,char *)
void oapiWriteLog(char *)
void oapiWriteScenario_float(void *,char *,double)
void oapiWriteScenario_int(void *,char *,int)
void oapiWriteScenario_string(void *,char *,char *)
void oapiWriteScenario_vec(void *,char *,union VECTOR3 const &)
void sscan_state(char *,class AnimState &)

Si le sujet vous interresse , j'en ferais un autre Topic !
Un indice ? Dependencies ....
Tchao , Spock !
PS : A méditer ( extrait de license Orbiter)

*
Quote
You will not modify any of the binary codes of the Orbiter software in any way. If you publish a library module for Orbiter that uses undocumented features of the orbiter programming interface, or links to the orbiter core in an undocumented way, you must state this in the documentation for the module, and advise users of potential incompatibility of the module with future Orbiter versions.



Message modifié ( 21-07-2010 12:56 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #17 - 21 July 2010, 14:06:56
Easy : ce sont les points d'entrée d'orbiter. en gros l'api brute et mise à plat.

Je sais pas comment tu récupère ca mais orbiterapi.h est plsu lisible :)

,
sinon y'a bien quelques trucs exploités et non documentés (comme ouvrir les ihm de sélection d'objet)
et dans ces cas effectivement les utilisateur ont notifié cela dans la doc.
je pense que leur module ne marche plus avec orbiter 2010.

c'est pour cela que tout ce qui était aps documenté, je l'ai fuit comme la peste.
dans ma carte3d la sélection d'objet se fait à l'intérieur du MFD, j'ai donc réimplémenté à ma sauce....


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

PC en rade, codage en panne.... Nom de Zeus

Offline Fast_toche

  • Legend
  • ******
  • Posts: 1329
  • Country: France fr
  • Karma: 34
  • Time is nothing...
Reply #18 - 22 July 2010, 00:36:26
Ben je suis content de converser avec un 1/2 Extr_terrestre!;)



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #19 - 22 July 2010, 00:39:23
Quote
Je sais pas comment tu récupère ca mais orbiterapi.h est plsu lisible
Mais ce que tu ne sais pas , c'est que lors de mon copier/collé , des valeurs sensibles n'ont pas été collées .Héhé !
C'est le nom ordinal de chaque fonction , pouvant être invoqué avec GetProcAdress(funcname) . Je récupère un pointeur
et Hop ! la fonction est dispo dans mon code .  ... mais ce système est une alternative ( l'idée c'est de shunter ).

C'est vrai que le .h est documenté , j'ai commencé par là moi aussi !
Mais avoir sous les yeux toutes les fonctions , m'inspire ... Tiens ... c'est Kôa çaaaaaa....
J'avais un besoin néfrétique de vérifier une intuition concernant l'API DirectX utilisée par Martin , et sa version.
C'est ptet écrit qqpart , mais j'ai pas trouvé .
Au vu de la mise en forme des appels de fonction concernant les rotations , l'ajout de mesh etc , je pense à du DirectX7
avec comme moteur Graphique l'Interface ID3DRM3 .

Quel intêret ? Si j'obtiens un pointeur sur son Objet D3DRM , je peux le dupliquer voir le jumeller dans un dll externe ,
et récupérer en live toutes les instances crées par  son Objet ( système IUnknown ... ).
Ce qui m'interresse le plus , ce sont les objets DirectDrawSurface7 , crées par l'interface DirectDraw7 , qui dispose des appels et de la mémoire de la carte graphique pour faire le PageFlipping . Pklus rapide que le gdi donc ...
C'est mieux aussi de comprendre comment fonctionne un programme avant de s'y insérer .
Je vais essayer de le débugger , de le tracer , de le scanner , le passer dans mon four à micro-onde etc ...

Ah oui ... Si j'obtiens un pointeur sur D3DRM (s'il existe...) , je te promets de t'envoyer un viewport qui servira de caméra 3d ( utile pour les attérrissages précis ) orientée sous l'appareil . Un système de tracking sur un objet ne serait pas de refus aussi ...:lol:

Pour le listing , je reste aussi légal que microsoft (?) , j'utilise un des outils fournis avec le pack Vs2005 express , à savoir le ... Dependencies Walker ...
Dan utilise
Spoiler  :
DirectXSound8
...
Pour ce qui est de tes problèmes de chaussettes , pense à les laver !:sick:   
Non , sans rire , les ptits gars de photon utilisent une HashTable , qui contient un systeme VECTOR , l'objet
étant soit une classe , une structure , un pointeur quelquonque ... Tu sais , le système push, pop , les fonctions de tri etc. Apparemmment , les objets sont les data qui transitent via les sockets .J'ai survolé la question , leur système est une compilation de plusieurs sources libres bien éprouvées ...donc stable . A vérifier.
Bon courage , Doc' .
Spock .



Message modifié ( 22-07-2010 03:01 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #20 - 22 July 2010, 07:37:01
J'aime beaucoup TOFITOUF ...
Peutêtre parce que j'ai le sentiment qu'il vient d'une autre planète lui-aussi ?
Vous comprendrez-alors pourquoi tous ces efforts ; Pour rentrer chez Nous !

Pour cela, nous avons besoin d'une technologie nouvelle , que nous finirons par trouver !
Je vais donc , entre autre , commencer à étudier le système de PIPES de windows , et voir si cela est la meilleure
manière d'interfacer Orbiter .
Je pense être revenu en plein dans le sujet :
 
Quote
Programmation W32 <->  ORBITER SDK , possible ou pas ?

Ganlhi , situ passes par là ,_
Spoiler  :
Faire progresser la création de SIMPITS pour orbiter.
l'Interfaçage consiste aussi a extraire des données que tu pourras afficher sur
un de tes nombreux écrans ! :applause:

Pour les créateurs de cockpit:
Un truc bien, ce serait que j'arrive à créer un plugin qui récupère un max de données ( genre fsuipc) ,
qui ouvre un Pipe , qui s'occupe de lancer une dll ( que je doterais d'une panneau + plein de cases à cocher pour filtrer ),
qui a son tour lancerais un .exe , qui serait la sortie sous forme de fenêtre windows affichant des MFD Maison !
Et là , graphiquement , ce pourrait être super !
SI vous avez une carte graphique qui supporte le DualView , il n'y aura plus qu'à déplacer la fenêtre sur le deuxième
écran . Je pourrais même prévoir un clik droit qui ouvre un menu et qui fait passer en FULLSCREEN .
Des amateurs ?

A+ , bonne journée ,
Spock !



Message modifié ( 22-07-2010 07:57 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline ganlhi

  • Sr. Member
  • ****
  • Posts: 358
  • Karma: 0
Reply #21 - 22 July 2010, 08:10:34
En fait, il y a déjà un protocole très adapté pour ça : IOCP. C'est le protocole développé par les gars de OpenCockpits,  bien connu des constructeurs de cockpits pour FS.

Si on développe un module pour Orbiter qui fait office de serveur IOCP, c'est à dire qui sait lire et écrire des variables dans Orbiter (en faisant appel à des fonctions de l'API) et les communiquer vers l'extérieur via le protocole IOCP, on peut interagir avec ce module via des circuits électroniques d'OpenCockpits, par programmation en SIOC (le langage de OpenCockpits).

Si j'avais le temps, je me lancerais bien là dedans... Mais vraiment là, ce n'est pas possible. Alors je donne l'idée :)



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #22 - 22 July 2010, 08:20:12
Quote
(en faisant appel à des fonctions de l'API)
C'est noté ...

Oui , je connais de loin OpenCockpits , et la norme qu'ils ont inventé à un SDK ?
Pourquoi pas , si c'est vraiment utile , et s'il y a de la demande ....
Merci pour ta participation !
:beer:
*Spock !


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #23 - 22 July 2010, 08:51:46
Pour continuer sur la lancée de Ganlhi ,je reviens de OpenCockpit .
Ben les gars z'ont bien évolué ! A l'époque , les docs je les lisais en espagnol ou en anglais .
J'comprends mieux le français ...
Bref , leur système repose sur une architecture de sockets et de TCP/IP , chose que précisément j'essaye de contourner.
Non pas que je n'aime pas , mais c'est un peu ce que tout le monde fait .
Il existe tant de solutions , certaines conviennent mieux que d'autres selon les circonstances.

 Mais bon ... Si d'aventure vous étiez plusieurs a vous manifester pour le développement d'un systeme compatible avec
c'est comment déjà ... ah oui ... IOCP .
J'ai vite fait jeté un coup d'oeil sur configSIOC.ini , qui permet de faire tourner la chose , et il prend comme paramètre
un port de serveur IOCP .
N'importe quel serveur TCP ferait l'affaire ? J'essaierais de trouver un SDK , si vous en avez un , faites passer svp !
En attendant , je vais souder des tubes ...
Spoiler  :
Spock !
:siffle:



Message modifié ( 22-07-2010 08:54 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #24 - 22 July 2010, 09:04:37
s'ils ont choisit tcp ip c'est surement pour une bonne raison,
après tout tu peux imaginer une mega config où tes controles sont sur une autre amchine que celle qui fait tourner orbiter.

par exemple si tu as un PC avec écran tactile utilisé juste pour commander ton vaisseau et un autre propriété sur grand écran qui lance le simulateur.

la classe absolue, mais bon ca coute cher comme mode de fonctionnement.


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

PC en rade, codage en panne.... Nom de Zeus