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 - Sommaire1-Installer VC Express et compiler des modules C++2-Comment ma DLL marche dans Orbiter ?3-Peu de mémoire beaucoup de méthode4-Comment debugger pas à pas sa DLL ?5-Compiler une DLL avec un panel 2D6-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 docks9-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'utilisationUn code coloré pour la lisibilité !Programmer à la "soviétique" pour éviter les bugsVoici 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 SDKMessage modifié ( 13-07-2012 02:35 )