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: [tutorial] Créer des addons en C++ pour Orbiter  (Read 14862 times)

0 Members and 1 Guest are viewing this topic.

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
25 June 2007, 18:18:24


Introduction:

Ce post vous donne une série de liens (voir en bas de post) qui vous aideront à installer les outils de développement, compiler des DLL et vous donnera d'autres conseils pour bien démarrer l'écriture de modules pour Orbiter.

Pourquoi créer des modules C++ pour Orbiter ?

Pour créer un vaisseau dans Orbiter il suffit d'un modèle 3d (mesh) et d'une fichier configuration écrit avec notepad,
ceci toutefois ne donnera pas accès aux fonctions avancées que certains vaisseaux ont, pas d'animations, pas de multi
étages, pas de panels etc etc.
Pour pallier ce manque on peux utiliser la SDK MultiStage et spacecraft3 de vinka qui nous permet d'avoir accès à
certaines fonctions en éditant des fichiers configuration mais cette solution trouve vite ces limites pour différentes
raisons.

La meilleure solution est donc de créer une DLL C++, avec ça c'est la souplesse totale et le monde d'Orbiter s'ouvre
à vous: bases animées, vaisseaux avec animations complexes, panel avec des centaines de boutons et de fonctions,
cockpit virtuel, pilote automatique, sons, Ummu, tout est à votre portée sans aucune limite.

Attention: Le C++ est un langage énorme, la plupart des jeux et des OS (comme win XP) sont écrits
en C++, c'est un langage compilé extrêmement rapide. La base est relativement simple à apprendre et certains
nouveau (hein momo?) ont réussi a créer leurs premier addon en quelques semaines mais ça suppose que vous soyez
démerde, têtu, attentif et doué de logique. Si vous pensez qu'en quelques jours, vous
allez créer l'addon de la mort sans trop vous fatiguer passez votre chemin, le DGIV m'a pris presque une année de
temps. (cela dit Momo est arrivé à faire ces premiers addon avec animation et intégration de UMMu en quelques
semaines)

Par contre créer un addon Orbiter vous mettra le pied à l'étrier en C++, vos connaissances pourront vous servir pour
d'autre chose ce ne sera pas perdu. Bien que programmant depuis 20 ans déjà mes addons Orbiter m'ont vraiment
appris énormément et maintenant c'est devenu mon métier (la programmation donc)

C'est quoi une DLL (module pour Orbiter) ?

Une DLL "Dynamic Link Library" (librarie de lien dynamique) est un fichier avec l'extension ""dll" qui contient nombre
de fonctions qui peuvent être appelée par des programmes externe. Des OS comme win XP en comportent des
centaines. Orbiter lui va charger la DLL assignée à votre modèle et appeler un certain nombre de fonctions prédéfinies
dans sa SDK. A l'intérieur de ces fonctions vous faites ce que vous voulez et vous avez toute la souplesse du C++.
La SDK d'Orbiter fourni des centaines de fonctions qui vous permettent d'interagir avec votre vaisseau.


Créer des addons en C++ pour Orbiter - Sommaire

1-Installer VC Express et compiler des modules C++
2-Comment ma DLL marche dans Orbiter ?
3-Peu de mémoire beaucoup de méthode
4-Comment debugger pas à pas sa DLL ?
5-Compiler une DLL avec un panel 2D
6-Note sur la SDK d'OrbiterSound 3.5 - Votre addon vous parle !
7-Sauver les scenarios c'est pas si simple+solution!!!
8-Programmer UMMU avec plusieurs docks
9-Posez vos questions sur les DLL C++
10-Téléchargement: Exemple de projet VC++ pour Orbiter (commenté en francais)


Autre tutos sur C++

Les variables C++: scope d'utilisation
Un code coloré pour la lisibilité !
Programmer à la "soviétique" pour éviter les bugs

Voici un fil ou apparaissent quelques posts explicatifs à propos du C++ et de la SDK: (c'était en quelque sorte l’ancêtre de ce tuto, les explications sont claire avec des exemples pratique) (voir posts "dansteph")
Posts explicatif sur C++ et SDK



Message modifié ( 13-07-2012 02:35 )

« Last Edit: 10 October 2013, 00:13:39 by DanSteph »

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 14991
  • Karma: 165
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 10 October 2013, 02:00:34
10 Octobre 2013

J'ai mis à jour "10-Exemple de projet VC++ pour Orbiter..." Pour la SDK d'Orbiter2010 et OrbiterSound 4.0

Dedans on y trouve maintenant la voix de la belle Alice qui résonne en 3D dans le cockpit en plus :love: