From 514fed1a940d82a812ff2c38564517772ba6ed15 Mon Sep 17 00:00:00 2001 From: Silvan Jegen Date: Sun, 13 Jan 2019 19:32:43 +0100 Subject: Get rid of unneeded surfaces --- game.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'game.c') diff --git a/game.c b/game.c index 9d967d3..e0246b6 100644 --- a/game.c +++ b/game.c @@ -75,7 +75,7 @@ int player_action( signed int xdiff, signed int ydiff, struct level_struct *curr } -int play_level(SDL_Renderer* renderer, struct level_struct *currentlevel, SDL_Texture *surf_screen) +int play_level(SDL_Renderer* renderer, struct level_struct *currentlevel) { // Loop until the user completes the level int player_status = PLAYER_IS_OK; @@ -87,7 +87,7 @@ int play_level(SDL_Renderer* renderer, struct level_struct *currentlevel, SDL_Te // WaitEvent is like PollEvent, but instead we pause the program's // execution until we get input SDL_WaitEvent( &userinput ); - render(renderer, currentlevel, surf_screen); + render(renderer, currentlevel); // Player movement signed int y, x; @@ -146,7 +146,7 @@ int play_level(SDL_Renderer* renderer, struct level_struct *currentlevel, SDL_Te if ( check_echidna_proximity( currentlevel ) == 1 ) player_status = PLAYER_IS_DEAD; // Show a losing screen if applicable - if (player_status == PLAYER_IS_DEAD) render_a_losingscreen(renderer, currentlevel, surf_screen); + if (player_status == PLAYER_IS_DEAD) render_a_losingscreen(renderer, currentlevel); } } @@ -155,7 +155,7 @@ int play_level(SDL_Renderer* renderer, struct level_struct *currentlevel, SDL_Te return player_status; } -void game_loop(SDL_Renderer* renderer, SDL_Texture* surf_screen) +void game_loop(SDL_Renderer* renderer) { struct level_struct currentlevel; level_load_resources(renderer, ¤tlevel ); // load pixmaps @@ -181,7 +181,7 @@ void game_loop(SDL_Renderer* renderer, SDL_Texture* surf_screen) currentlevel.py = currentlevel.sy; // Main game loop - level_state = play_level(renderer, ¤tlevel, surf_screen ); + level_state = play_level(renderer, ¤tlevel); } // When the game loop ends, then the user has successfully completed the level, and we can move on @@ -189,12 +189,8 @@ void game_loop(SDL_Renderer* renderer, SDL_Texture* surf_screen) // The user has now completed all of the game // Show them the winning screen - - SDL_Surface* surf_win_screen = currentlevel.surf_winning_screen; - SDL_UpdateTexture(surf_screen, NULL, surf_win_screen->pixels, surf_win_screen->pitch); - SDL_RenderClear(renderer); - SDL_RenderCopy(renderer, surf_screen, NULL, NULL); + SDL_RenderCopy(renderer, currentlevel.winning_screen, NULL, NULL); SDL_RenderPresent(renderer); SDL_Delay(20 * 1000); // 20 * 1000msecs = 20 seconds -- cgit v1.2.1-18-gbd029