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

Répondre à