Bonjour les gens!

Il m'arrive souvent de passer sur le forum à la recherche de solution pour pas mal de problème de programmation. D'habitude je trouve la solution, mais là, je dois avouer que je suis coincé à cause d'une grosse lacune dans mes connaissances du C. =p

On va attaquer le problème tout de suite : des fuites mémoire... Massive!

Je développe un petit shoot'em up en C à base de SDL. Je travail à taton. J'identifie les problèmes à la conception du jeu, puis je les résous. Le résultat final me servira à éditer mon propre shoot'em up comme j'ai toujours voulus en voir un comme je les aime. =)

Jusqu'ici, ça va, j'ai mon écran qui s'affiche avec un ptit vaisseau qui bouge et qui tire plein de boulette!

Là où ça cloche, c'est lorsque je regarde le gestionnaire de tâche windows : mon processus prend environ 4,4 Mo (Mega Octet) de mémoire supplémentaire par seconde! Autant dire que le petit exécutable qui ne prend que 230ko bouffe à lui seul plusieurs Go de mémoire au bout de 3 4 minutes d'exécution...

Va me falloir donc faire du ménage mais... Comment?

Comment identifier une fuite de mémoire dans mon code ?
Comment la libérer ?
J'ai déjà aperçus des choses sur les free(), mais j'associe instinctivement cette fonction avec les malloc() / realloc() et rien d'autre. (Et je n'utilise explicitement aucun malloc() ou realloc() dans mon code.)

Ci joint le code de mon jeu : testshump.zip

J'ai joint tout les .h et .c du projet, avec un minimum syndicale de commentaire. (J'ai essayé d'utiliser une programmation orientée objet ou ce qui y ressemble avec les structures et des noms relativement clair. C'est pas la perfection, mais ça aide à comprendre.)

Je ne demande pas un nettoyage de mon code hein. ;p Mais j'aimerais qu'on me mette sur la piste, avec un exemple tiré du code (ce qui ne va pas, pourquoi ça ne va pas, un exemple du bout de code sans les fuites), de manière à ce que je puisse faire mon ménage et surtout trouver une habitude et l'appliquer pour la suite de ce développement.

Ouai c'est presque vous demander une petite leçon de mémoire et de pointeur. (C'est pas pour rien que je post chez les débutants!) =p

Si vous avez des questions pour faire avancer le schmilblik, je suis dispo!
Si vous voulez l'exécutable (mais je doute que ça vous serves), je peux le joindre également. :o