Hace mucho que no me pasaba por aqui pero tocaba antes intentar aprender como funciona SDL xD
Tengo un problema que creo que es de punteros (aunque no estoy muy seguro ya que voy aprendiendo todo sobre la marcha)
El error que me da al compilar es:
- Código: Seleccionar todo
- error: no se puede convertir 'SDL_SUrface**' a 'SDL_Surface*' para el argumento '1' para 'void imprimirBaldosas(SDL_Surface *, SDL_Surface *, Uint8, Uint8, Uint8, Uint8)'
Y aqui parte del codigo relacionado:
- Código: Seleccionar todo
- void cargarImagenes(SDL_Surface ** imagen, const char *ruta);
 void imprimirBaldosas(SDL_Surface *pantalla, SDL_Surface *title, Uint8 mapaColumna, Uint8 mapaFila, Uint8 titleColumna, Uint8 titleFila);
 int main() {
 SDL_Surface *pantalla; // Definimos una superficie
 SDL_Surface *baldosasSuelo;
 cargarImagenes(&baldosasSuelo, "imagenes/tiles/modificado.png");
 SDL_Surface *baldosasSueloAmpliada;
 baldosasSueloAmpliada=rotozoomSurface(baldosasSuelo,BALDOSA_ROTAR,BALDOSA_AMPLIAR,1);
 int i, j;
 for(i=0;i<BALDOSA_AREA_ALTO;i++)
 {
 for(j=0;j<BALDOSA_AREA_ANCHO;j++)
 {
 // imprimir mapa en el buffer
 imprimirBaldosas(&pantalla, &baldosasSueloAmpliada, j, i, 0, 1); // <--- la linea del error es esta
 }
 }
 }
 // funciones
 void cargarImagenes(SDL_Surface ** imagen, const char * ruta)
 {
 *imagen = IMG_Load(ruta);
 if (*imagen == NULL)
 {
 error(3);
 }
 }
 void imprimirBaldosas(SDL_Surface *pantalla, SDL_Surface *title, Uint8 mapaColumna, Uint8 mapaFila, Uint8 titleColumna, Uint8 titleFila)
 {
 // establezco el cuadrado donde se pegara la baldosa
 SDL_Rect posicionEnPantalla;
 posicionEnPantalla.x = mapaColumna * BALDOSA_ANCHO;
 posicionEnPantalla.y = mapaFila * BALDOSA_ALTO;
 posicionEnPantalla.w = VENTANA_ANCHO;
 posicionEnPantalla.h = VENTANA_ALTO;
 
 
 // establezco el trozo de la imagen que se vera
 SDL_Rect trozoImagen;
 trozoImagen.x = BALDOSA_ANCHO * titleColumna; // 4 +
 trozoImagen.y = BALDOSA_ALTO * titleFila;
 trozoImagen.w = BALDOSA_ANCHO;
 trozoImagen.h = BALDOSA_ALTO;
 
 // Copiamos la imagen en la superficie principal
 SDL_BlitSurface(title, &trozoImagen, pantalla, &posicionEnPantalla);
 }
Si compilo comentando la linea de error
- Código: Seleccionar todo
- imprimirBaldosas(&pantalla, &baldosasSueloAmpliada, j, i, 0, 1); // <--- la linea del error es esta
¿Alguna ayuda para que esa funcion deje de tirar error?



