La funcion con la funcion de SDL comentada es:
- Código: Seleccionar todo
SDL_Surface * cargar_imagen(const char *nombre_archivo){
SDL_Surface *r, *t;
t= IMG_Load(nombre_archivo);
if(t != NULL){
/*r= SDL_DisplayFormat(t);
SDL_FreeSurface(t);*/
SDL_SetColorKey(t, SDL_SRCCOLORKEY|SDL_RLEACCEL, SDL_MapRGB(t->format, 255, 0, 255));
r= t;
}else{
r= NULL;
}
return r;
}
Y sin la funcion SDL comentada:
- Código: Seleccionar todo
SDL_Surface * cargar_imagen(const char *nombre_archivo){
SDL_Surface *r, *t;
t= IMG_Load(nombre_archivo);
if(t != NULL){
r= SDL_DisplayFormat(t);
SDL_FreeSurface(t);
SDL_SetColorKey(r, SDL_SRCCOLORKEY|SDL_RLEACCEL, SDL_MapRGB(r->format, 255, 0, 255));
}else{
r= NULL;
}
return r;
}
Lo que me extraña es que esta funcion me funcionaba bien en un principio, fue cuando la use en otra funcion cuando me dio un error en otra funcion del programa que no tenia nada que ver con esta, y al solucionar el error en la otra funcion el error se paso a esta. Cuando esta funcion no la usaba en la que ahora la uso, no daba problemas al usarla. He estado pasando el debugger una y otra vez y no entiendo el motivo del fallo. y menos de como funciona y derepente deja de funcionar.