Bonjour a tous !

Je suis actuellement en train de développer un jeu en C++ avec la SDL.

Afin d'optimiser le programme, je désire réaliser une fonction pour optimiser le chargement des images. Cette fonction, vous l'aurez compris utilise SDL_DisplayFormat().

Mon programme compile mais plante avant même que la fenêtre SDL ne s'ouvre.

Je vous met uniquement le code nécessaire, n’hésitez pas si vous avez besoin de plus d’éléments.

Player.h:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class CPlayer {
private:
    //Private members
    SDL_Surface *samus;
protected:
 
public:
    //Constructor & destructor
    CPlayer();
    ~CPlayer();
 
    //Functions
    void    *optimizeImage(string imagePath);
};
Player.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//Constructor & destructor
CPlayer::CPlayer(){
    string imagePath = "Fusion-Samus.gif";
    optimizeImage(imagePath);
}
 
//Functions
void *CPlayer::optimizeImage(string imagePath){
 
    SDL_Surface *imageToOptimize;
    imageToOptimize = IMG_Load(imagePath.c_str());
 
    samus = SDL_DisplayFormat(imageToOptimize); // Cette ligne qui fait planter
 
    SDL_FreeSurface(imageToOptimize);
}
Je compile avec MinGW, c'est surement un segfault (je suppose) mais pas facile a trouver du coup ...

Si quelqu'un a une idée

Vous remerciant par avance.