Merci pour ta réponse, j'ai réussis à mettre des SDL_mutex autour des SDL_FreeSurface qui posaient problème et.. Après environ 5 minutes de jeux, j'ai eu cette fois-ci un point d'arrêt sur une ligne d'allocation de mémoire. C'est à dire ceci :
SDL_Surface* gameOverImage = IMG_Load("IMAGES/gameOver.jpg"), *pointsSurface, *imageAsteroide, *lifeBar = IMG_Load("IMAGES/lifeBar.png"), *imageTextLife, *bombe = IMG_Load("IMAGES/bombe.png"), *carreBlanc, *iconBombe;
J'ai pu faire continuer, et là certaines de mes images étaient "inversé" c'est à dire que par exemple au lieu d'avoir l'image d'une bombe j'avais mes points qui apparaissaient. Mais il n'a pas fallu longtemps avant que mon programme ne s'arrête de nouveau sur ces lignes :
1 2 3 4
|
asteroideRef = IMG_Load("IMAGES/asteroid.png");
asteroideDetruitRef = SDL_LoadBMP("IMAGES/asteroideDetruit.bmp");
SDL_SetColorKey(asteroideDetruitRef, SDL_SRCCOLORKEY, SDL_MapRGB(asteroideDetruitRef->format, 128, 5, 31)); |
Et j'ai cette ligne qui se rajoute dans mes erreurs :
HEAP[Vaisseau.exe]: HEAP: Free Heap block 02971F50 modified at 02971F84 after it was freed
Alors je ne comprends vraiment plus rien, j'ai l'impression que mon programme fait des siennes..
Partager