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?