Wormux 0.5
Guide du développeur Wormux (Français)
--------------------------------------

Si vous vous sentez capable de nous aider, veuillez nous écrire par email :

  wormux-dev _AT_ gna.org

Toute contribution bienvenue :
- Code
- Graphisme
- Commentaires
- Rapport de bug (voir BUGS.txt)


* Déverminage
=============

La correction des bugs représente une grosse partie du développement du projet.
De nombreux outils ont été utilisés / écrits pour arriver à débusquer les bugs.

* Messages de débogage
----------------------

Pour le débogage du code source, de nombreux fichiers comportent au début
du code des "#define DEBUG_...". Exemple de obj_physique.cpp :
  #ifdef DEBUG

  //# define DEBUG_CHG_ETAT
  //# define DEBUG_MSG_PHYSIQUE
  [...]
  #endif

En décommentant "#define DEBUG_CHG_ETAT" de nombreux messages de débogages
vont être écrit dans la console. Ceux-ci sont très utiles lorsque quelque
chose ne va pas.

* debug.cpp
-----------

Ce fichier est une aide pour les débogeurs. Elle permet en particulier 
d'afficher des informations mises à jour en temps réel. Editez simplement
Debug::Gestion() pour afficher tout ce que vous voulez.

* GDB
-----

Au plus bas niveau, on trouve l'outil gdb, le débogueur de GNU. Pour la doc,
voyez le site web.

Lorsqu'une assertion échoue, un signal ABORT est émis qui sera attrapé par gdb.
A ce moment là, tapez "backtrace" dans gdb pour voir très simplement où est-ce
que le programme a bloqué.

Si GDB se bloque sur un signal SIGTTOU, c'est sûrement à cause du son. Le
plus simple étant de désactiver l'interception de ces signaux :
  handle SIGTTOU noprint nostop


* Graphisme
===========

Toutes les images doivent être au format PNG, car, contrairement au format GIF,
c'est un format ouvert. Les images doivent être en 24 bits/pixel ou 
32 bits/pixel. Quoique, dans certains cas, le format 256 couleurs est supporté.

Pour lire des coordonnées dans le jeu, décommentez 
"#define AFFICHE_COORD_SOURIS" dans debug.cpp, puis recompilez le programme.
Maintenant les coordonnées de la souris dans l'écran et dans le terrain sont
affichées. Vous pouvez changer de repère (secondes valeurs) simplement avec un
clic droit.
