Bonjour qu'arrive t'il à ma variable déclarée dans ma fonction lorsque je fait ceci S = ChargerImages(); ? Cette fonction retourne un pointeur qui défini ma nouvelle variable S mais du coup, es que j'ai bien 2 variables qui pointent sur une seule texture en mémoire ? Es que j'ai tord de libérer qu'une seule texture à la fin de mon programme ? (le principe est plus ou moins le même avec Glut sauf que j'utilise GlDeleteTexture(1,...) ).
fonction 1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Sprites* ChargerImages()
{
    Sprites* S;
    int i;
 
    S = malloc(NbSprites*sizeof(Sprites));
 
    S[0].sprite = IMG_Load("images/sky.png");
..
    return S;
}
fonction 2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
void LibererMap(Map* m, Sprites* S)
{
    SDL_FreeSurface(S[0].sprite);
..
    free(S);
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
void game()
{
    Sprites* S;
    S = ChargerImages();
    LibererMap(m,S);
}