Sprite::Sprite(const char *file, SDL_Renderer *renderer) { SDL_Surface *surface = SDL_LoadPNG(file); if (surface == NULL) { SDL_Log("SDL_LoadPNG failed: %s", SDL_GetError()); exit(1); } texture = SDL_CreateTextureFromSurface(renderer, surface); if (texture == NULL) { SDL_Log("CreateTextureFromSurface failed: %s", SDL_GetError()); exit(1); } SDL_DestroySurface(surface); surface = NULL; }