Bonjour, Je me mets d'écrire ce mail en français, car celui-ci est adressé aux développeurs, qui sont quasiment tous français, et que je préfere utiliser cette langue pour pouvoir décrire plus facilement le projet que je propose.
Ainsi que ceux qui fréquentent #wormux-fr, je suis développeur du jeu Men Are Ants, qui utilise également SDL, programmé en C++. Il se trouve que ce projet a les mêmes besoins que Wormux, c'est à dire des classes équivalentes pour les surfaces, les sprites, les fontes, la GUI, etc. Je dois d'ailleurs avouer avoir repris vos font.cpp/h, ainsi que le listbox et quelques fonctions touchant les Surfaces. Malgré ça, bon la gestion des widgets restent différentes que la votre, et mes classes Image et Sprite sont assez médiocre comparé aux votres. Il faut avouer que je suis sur mon projet seul, et depuis un an seulement, alors que le votre hérite de développements de plusieurs années, avec une dizaine de programmeurs actifs et de nombreuses contributions. Alors en fait ce que je propose, ça serait de créer une librairie commune qui contiendrait donc tous les outils relatis à la SDL, c'est à dire la GUI, les classes de gestion des graphiques, des effets, de la fonte, du son, etc. Ceci peut être utile pour nos deux projets (développement ensemble d'une même base), ainsi que pour d'éventuels autres projets naissants utilisant SDL qui n'auraient pas à réinventer la roue. Je pense que cela pourrait être très intéressant pour nos deux projets. Après avoir discuté avec Laurent Defert (alias lodesi), la dépendance avec la libxml peut être plus ou moins gênante (et vous gênerait, selon lui, actuellement). J'ai développé pour mes besoins une petite librairie, LibConfig, qui me servait à faire mes configurations sur différents projets, dans un format ressemblant à celui-ci : section { variable = valeur variable2 = valeur2 subsection { variable = valeur variable2 = valeur2 } } Avec également des sections "clones" (des sections d'un "type" qui peut être définis plusieurs fois, et dont une variable membre permet de définir un mot clef unique (ou pas) pour retrouver la section) : clone { nom = clone1 variable1 = valeur1 } clone { nom = clone2 variable1 = valeur2 } etc. L'avantage de cette librairie est de se libérer la dépendance à libxml, avec une certaine lisibilité à la lecture. Le défaut est qu'avec une seule variable par ligne, on perd l'effet "compact" du XML (qui permet de mettre plusieurs variables sur la même ligne). Voilà donc pour ça je sais pas ce que vous en pensez, lodesi avait l'air intéressé, je m'en sers pour les configurations, mais ça peut très bien être utilisé pour remplacer tous vos fichiers XML. Après pour l'aspect API des Surfaces/Sprites, je pense que garder la votre est très bien dans le sens où la mienne est pas terrible. Et pour les widgets, il faut faire des compromis je pense car moi j'aime bien la mienne :). De manière générale, je trouve que l'idée peut être très intéressante, mais ça nécessiterait en tous cas un certain travail de réécriture dans nos deux projets, ainsi que pour la constitution de cette librairie. Voilà, maintenant je vous demande votre avis, vous développeurs de Wormux, êtes-vous favorables ou non à la création d'une telle librairie ? Cordialement, -- Romain Bignon - http://progs.coderz.info _______________________________________________ Wormux-dev mailing list Wormux-dev@gna.org https://mail.gna.org/listinfo/wormux-dev