Merci pour ta réponse Xfennec.
je suis d'accord avec toi concernant la documentation à l'extérieur des sources. Il faudrait réaliser en effet une petite moulinette qui va chercher les informations dans le source par exemple, mais cela représente une souplesse en moins pour la rédaction du manuel.
Je ne sais pas trop comment évolue le moteur alors je ne saurais préconiser un système d'automatisation de la documentation. J'ai peur d'alourdir trop le code si on met ce genre de commentaire... remarque cela permettrait de savoir exactement qui fait quoi, quels sont précisément les paramètres en entrées, leurs bornes, les codes d'erreurs... Mais bon, cela signifie modifier tout le code. Et ça je voulais éviter puisqu'à l'heure actuelle, on ne sait pas trop comment bosser à plusieurs. Reste que si les fonctions évoluent, la compatibilité ascendante est toujours bonne comme tu me l'avais confirmé par mail, donc si la doc a un peu de retard, c'est peut-être pas si grave.
Il faudrait peser le pour et le contre... un débat en perspective. Et comme tu l'as bien dit, 500 fonctions à documenter, c'est énorme.
Tu parles du script de génération, peux-tu m'en dire d'avantage ? Serait-ce Doxygen ou un script équivalent que tu utilises ? Que permet-il ?
test6 est super, c'est pas ce que je voulais faire passer comme message. Tu l'as bien compris, mon but, c'est l'évolution du moteur et pas forcément son application.
"manque d'homogénéité dans son code source, manque de rigueur dans sa gestion des variables" : Oui, cela va du simple raydium_sound_verify à raydium_sound_VerifySources, problèmes de casse tout simple à des variables non documentées dont le type n'est pas explicite. Il est important d'établir des règles de codage, qui spécifieront une syntaxe précise et homogène pour diminuer le risque de bug et une meilleure lisibilité.
Voir
http://www.gnu.org/prep/standards.html
L'identation du code ne semble pas respectée, mais c'est peut-être dû au passage vers windows. Utilises-tu GNU Indent ?
Encore une fois, je ne te blâme pas pour cela car y-a plein de projets que j'ai fait bille en tête et qui suivent les mêmes principes. Mais au bout d'un moment, si on veut rendre la solution péreine, surtout lorsqu'on bosse à plusieurs, il faut utiliser des règles d'encodage des variables, ... Mais l'approche objet est ici respectée. Cependant, par exemple, une variable globale ne se déclare jamais dans un include, mais seulement référencée de façon externe, puis déclarée dans le fichier .C qui l'utilise principalement.
Chaque fichier .C fait appel à tous les includes dont il a besoin mais pas plus. Cette solution du four-tout Common.H pose trop de problèmes pour l'édition de librairies et en plus on recompile presque tout dès qu'on le modifie. Globaliser oui, mais par fichier .C sinon on pourra pas bosser à plusieurs en même temps.
Mettre subversion en place pour résoudre ce problème : cela me semble une très bonne idée. Si je peux t'aider en quoi que ce soit, n'hésite pas à me demander.
En tous cas, ne t'y méprends pas : je suis admiratif du travail qui a été effectué. Je constate juste que tu as du quasiment tout faire seul, même si tu as été épaulé moralement par toute une équipe et je cela est très important. Je ne voudrais pas faire la mouche sur le gateau. C'est juste que de mon coté, j'ai hâte d'avancer là dessus, même si comme vous, ce n'est qu'un hobby car je développe des logiciels d'IA pour vivre. J'espère qu'on pourra faire un bout de chemin ensemble...