summaryrefslogtreecommitdiff
path: root/game.c
diff options
context:
space:
mode:
Diffstat (limited to 'game.c')
-rw-r--r--game.c16
1 files changed, 6 insertions, 10 deletions
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, &currentlevel ); // 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, &currentlevel, surf_screen );
+ level_state = play_level(renderer, &currentlevel);
}
// 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