From c577dcc2d7eb8a24dbf7cf9d9a886b1313e134be Mon Sep 17 00:00:00 2001 From: Michael Chen Date: Tue, 23 Jan 2018 22:17:45 +0100 Subject: [PATCH] Minor bugfix in gameover screen --- breakout.c | 40 ++++++++++++++++++++-------------------- gameover.c | 4 ++++ 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/breakout.c b/breakout.c index 4b800d2..6344b35 100644 --- a/breakout.c +++ b/breakout.c @@ -37,15 +37,15 @@ extern int width, height; float PADDLE_SmoothFactor = 0.1f; int BLOCK_TextureCount = 24; int BALL_TextureCount = 9; -int GAME_CountdownTextureCount = 4; +int BREAKOUT_CountdownTextureCount = 4; int PADDLE_TextureCount = 9; SDL_Texture * BALL_Texture; -SDL_Texture * GAME_CountdownTexture; +SDL_Texture * BREAKOUT_CountdownTexture; SDL_Texture * PADDLE_Texture; SDL_Texture * BLOCK_Texture; -SDL_Texture * GAME_PausedTexture; +SDL_Texture * BREAKOUT_PausedTexture; SDL_Rect * BALL_SourceRects; -SDL_Rect * GAME_CountdownSourceRects; +SDL_Rect * BREAKOUT_CountdownSourceRects; SDL_Rect * PADDLE_SourceRects; SDL_Rect * BLOCK_SourceRects; Uint8 * PADDLE_MoveLeftKeys, * PADDLE_MoveRightKeys; @@ -61,17 +61,17 @@ void BREAKOUT_INITIALIZE(SDL_Renderer * renderer){ BALL_Initialize(renderer); PADDLE_Initialize(renderer); BLOCK_Initialize(renderer); - GAME_CountdownTexture = IMG_LoadTexture(renderer, BRAEKOUT_CountdownTexturePath); - if (!GAME_CountdownTexture) printf("Countdown texture failed to load!\n"); - GAME_PausedTexture = IMG_LoadTexture(renderer, BRAEKOUT_PausedTexturePath); - if (!GAME_PausedTexture) printf("Paused texture failed to load!\n"); - GAME_CountdownTextureCount = 4; - GAME_CountdownSourceRects = (SDL_Rect *)malloc(GAME_CountdownTextureCount * sizeof(SDL_Rect)); - if (!GAME_CountdownSourceRects) printf("FATAL! Memory allocation failed!\n"); - GAME_CountdownSourceRects[0] = (SDL_Rect) {.x = 1, .y = 668, .w = 1000, .h = 732 }; - GAME_CountdownSourceRects[1] = (SDL_Rect) {.x = 1, .y = 1, .w = 242, .h = 665 }; - GAME_CountdownSourceRects[2] = (SDL_Rect) {.x = 245, .y = 1, .w = 443, .h = 665 }; - GAME_CountdownSourceRects[3] = (SDL_Rect) {.x = 690, .y = 1, .w = 443, .h = 665 }; + BREAKOUT_CountdownTexture = IMG_LoadTexture(renderer, BRAEKOUT_CountdownTexturePath); + if (!BREAKOUT_CountdownTexture) printf("Countdown texture failed to load!\n"); + BREAKOUT_PausedTexture = IMG_LoadTexture(renderer, BRAEKOUT_PausedTexturePath); + if (!BREAKOUT_PausedTexture) printf("Paused texture failed to load!\n"); + BREAKOUT_CountdownTextureCount = 4; + BREAKOUT_CountdownSourceRects = (SDL_Rect *)malloc(BREAKOUT_CountdownTextureCount * sizeof(SDL_Rect)); + if (!BREAKOUT_CountdownSourceRects) printf("FATAL! Memory allocation failed!\n"); + BREAKOUT_CountdownSourceRects[0] = (SDL_Rect) {.x = 1, .y = 668, .w = 1000, .h = 732 }; + BREAKOUT_CountdownSourceRects[1] = (SDL_Rect) {.x = 1, .y = 1, .w = 242, .h = 665 }; + BREAKOUT_CountdownSourceRects[2] = (SDL_Rect) {.x = 245, .y = 1, .w = 443, .h = 665 }; + BREAKOUT_CountdownSourceRects[3] = (SDL_Rect) {.x = 690, .y = 1, .w = 443, .h = 665 }; printf("Game initialized!\n"); BREAKOUT_IsInit = true; } else printf("Game is already initialized!\n"); @@ -174,9 +174,9 @@ void BREAKOUT_Draw(Scenery * scenery, SDL_Renderer * renderer){ SCORE_DrawHUD(renderer, scenery); BREAKOUT_DrawLivesHUD(renderer, scenery); if (scenery->IsPaused) { - TEXTURE_RenderCentered(renderer, GAME_PausedTexture, 0.5f); + TEXTURE_RenderCentered(renderer, BREAKOUT_PausedTexture, 0.5f); } else if ((scenery->StartCountdown) > 0) { // ! Render Z-Layer ! - TEXTURE_RenderCenteredSpriteSheet(renderer, GAME_CountdownTexture, (GAME_CountdownSourceRects + (((scenery->StartCountdown) - 1) / 60)), 1.0f); + TEXTURE_RenderCenteredSpriteSheet(renderer, BREAKOUT_CountdownTexture, (BREAKOUT_CountdownSourceRects + (((scenery->StartCountdown) - 1) / 60)), 1.0f); } } @@ -197,14 +197,14 @@ void BREAKOUT_DrawLivesHUD(SDL_Renderer * renderer, Scenery * scenery){ void BREAKOUT_DEINITIALIZE(){ if (BREAKOUT_IsInit) { printf("De-initializing Game...\n"); - SDL_DestroyTexture(GAME_CountdownTexture); - SDL_DestroyTexture(GAME_PausedTexture); + SDL_DestroyTexture(BREAKOUT_CountdownTexture); + SDL_DestroyTexture(BREAKOUT_PausedTexture); free(PADDLE_MoveLeftKeys); free(PADDLE_MoveRightKeys); free(BALL_SourceRects); free(PADDLE_SourceRects); free(BLOCK_SourceRects); - free(GAME_CountdownSourceRects); + free(BREAKOUT_CountdownSourceRects); BALL_Deinitialize(); PADDLE_Deinitialize(); BLOCK_Deinitialize(); diff --git a/gameover.c b/gameover.c index def2c40..8ece8c7 100644 --- a/gameover.c +++ b/gameover.c @@ -112,6 +112,10 @@ void GAMEOVER_GetDigits(int input, int * digitCount){ GAMEOVER_Digits[(count++)] = (score % 10); score /= 10; } + if (count == 0) { + count = 1; + GAMEOVER_Digits[0] = 0; + } *digitCount = count; }