summaryrefslogtreecommitdiff
path: root/level.c
diff options
context:
space:
mode:
authorSilvan Jegen <s.jegen@gmail.com>2019-01-13 19:32:43 +0100
committerSilvan Jegen <s.jegen@gmail.com>2019-01-13 19:32:43 +0100
commit514fed1a940d82a812ff2c38564517772ba6ed15 (patch)
treeea27609ebd16c1f30e573c52b09993d21965556f /level.c
parentfcd09fafc54849557def0a4e22c93dc4fc7dd892 (diff)
Get rid of unneeded surfaces
Diffstat (limited to 'level.c')
-rw-r--r--level.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/level.c b/level.c
index 4fd4277..d8a82e4 100644
--- a/level.c
+++ b/level.c
@@ -66,14 +66,14 @@ struct level_struct
int sx, sy; // Player X and Y starting positions
// Resources
- SDL_Texture * surf_entities;
- SDL_Texture * surf_tiles;
+ SDL_Texture * entities;
+ SDL_Texture * tiles;
// A various selection of losing screens
- SDL_Surface * surf_losingscreens[5];
+ SDL_Texture * losingscreens[5];
// The screen to display when the game ends
- SDL_Surface * surf_winning_screen;
+ SDL_Texture * winning_screen;
// Up to ten echidnas
struct echidna echidnas[10];
@@ -102,20 +102,24 @@ void level_load_resources(SDL_Renderer* renderer, struct level_struct *level )
{
// Load the images for things into their own 'surfaces'
SDL_Surface* surf_entities = IMG_Load("entities.png");
- level->surf_entities = SDL_CreateTextureFromSurface(renderer,
+ level->entities = SDL_CreateTextureFromSurface(renderer,
surf_entities);
+ SDL_FreeSurface(surf_entities);
SDL_Surface* surf_tiles = IMG_Load("tiles.png");
- level->surf_tiles = SDL_CreateTextureFromSurface(renderer,
+ level->tiles = SDL_CreateTextureFromSurface(renderer,
surf_tiles);
+ SDL_FreeSurface(surf_tiles);
SDL_Surface* surf_losing = IMG_Load("failscreen_01.png");
- level->surf_losingscreens[0] = SDL_ConvertSurfaceFormat(surf_losing,
- SDL_PIXELFORMAT_ARGB8888, 0);
+ level->losingscreens[0] = SDL_CreateTextureFromSurface(renderer,
+ surf_losing);
+ SDL_FreeSurface(surf_losing);
SDL_Surface* surf_win = IMG_Load("winningscreen.png");
- level->surf_winning_screen = SDL_ConvertSurfaceFormat(surf_win,
- SDL_PIXELFORMAT_ARGB8888, 0);
+ level->winning_screen = SDL_CreateTextureFromSurface(renderer,
+ surf_win);
+ SDL_FreeSurface(surf_win);
}