Effectivement, SDL n´est pas buggé, l´erreur semble provenir de la fonction Blit ( et pas SDL_Blit) au moment de créer la surface S.
Pour la 1ère colonne, x2=x1, donc le paramètre sera -1, et là, ca bugge.
Pareil pour la 1ère ligne, avec y2=y1.
___________________________
void Blit(SDL_Surface* source,int x1,int y1,int x2,int y2,SDL_Surface* dest,int x3,int y3)
{
SDL_Rect S=Rect(x1,y1,x2-x1+1,y2-y1+1);
SDL_Rect D=Rect(x3,y3,0,0);
SDL_Rect* pS=&
if ( x1 == 16) S=Rect(x1,y1,-1,y2-y1+1);
if ( y1 == 16) S=Rect(x1,y1,x2-x1+1,-1);
if ( x1==16 && y1==16) S=Rect(x1,y1,-1,-1);
if ( x1<0)
pS=NULL;
SDL_BlitSurface(source,pS,dest,&);
}
__________________
Une facon débile de corriger ca en partie a été de faire des if ( comme vous le voyez dans le code, à la fin)
Mais après, on essaye de plancher pour trouver la vraie solution.