I’m a bit confused how i pass my SDL_Surface to my function so that i can setup my screen in SDL.
This is my error:
No operator "=" matches these operands
My function is this:
void SDL_Start(SDL_Surface screen){
Uint32 videoflags = SDL_SWSURFACE | SDL_DOUBLEBUF | SDL_ANYFORMAT;// | SDL_FULLSCREEN;
// Initialize the SDL library
if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
fprintf(stderr, "Couldn't initialize SDL: %s\n",
SDL_GetError());
exit(500);
}
//get player's screen info
const SDL_VideoInfo* myScreen = SDL_GetVideoInfo();
//SDL screen
int reso_x = myScreen->current_w;
int reso_y = myScreen->current_h;
Uint8 video_bpp = 32;
//setup Screen [Error on the line below]
screen = SDL_SetVideoMode(reso_x, reso_y, video_bpp, videoflags|SDL_FULLSCREEN);
}
This function is called in my main function like so :
SDL_Surface *screen;
SDL_Start(*screen);
Any ideas what the mistake is ?
SDL_SetVideoModereturns aSDL_Surface*(pointer type) but you’re assigning it to aSDL_Surface(non pointer).EDIT: this is probably what you want then. Return a pointer to the new surface.