From 8b8771fd414a198ed7003d51aef6d1c2c06fe314 Mon Sep 17 00:00:00 2001 From: Michael Chen Date: Thu, 25 Jan 2018 15:27:06 +0100 Subject: [PATCH] Initial save commit contains recent premerge content! --- bin/assets/images/return_button.png | Bin 0 -> 27508 bytes bin/assets/images/skins_button.png | Bin 9368 -> 8211 bytes breakout.c | 1 + gameover.c | 45 +++++++++------------------- gameover.h | 5 ---- settings.c | 27 +++++++++++++---- startmenu.c | 6 ++++ 7 files changed, 43 insertions(+), 41 deletions(-) create mode 100644 bin/assets/images/return_button.png diff --git a/bin/assets/images/return_button.png b/bin/assets/images/return_button.png new file mode 100644 index 0000000000000000000000000000000000000000..373be1ca8c03d878f632e26236973620249f1090 GIT binary patch literal 27508 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ℑ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 literal 0 HcmV?d00001 diff --git a/bin/assets/images/skins_button.png b/bin/assets/images/skins_button.png index 02cb30f1a4c0382020344c19bf662a3d5273c6ba..5ec18739e0ace0832893a25410a251ef61258b6f 100644 GIT binary patch literal 8211 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 Io_*y10EFnpX8-^I literal 9368 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 scenery->StartCountdown = 240; scenery->IsGameOver = false; + scenery->Frames = 0; if (--(scenery->Lives) <= 0) GAME_ChangeState(GameOver); else diff --git a/gameover.c b/gameover.c index 161848c..8ece8c7 100644 --- a/gameover.c +++ b/gameover.c @@ -9,47 +9,47 @@ #include "gameover.h" #include "gamestate.h" -#include "breakout.h" -#include "vector.h" -#include "background.h" #include "main.h" #define GAMEOVER_TexturePath "assets/images/gameover.png" #define GAMEOVER_NumbersTexturePath "assets/images/numbers.png" #define GAMEOVER_ScoreTexturePath "assets/images/yourscore.png" -#define GAMEOVER_UploadTexturePath "assets/images/upload.png" #define GAMEOVER_HUDScale 16.0f #define GAMEOVER_Scale 4.0f -extern int width, height; +#include +#include +#include +#include +#include +#include +#include +#include + +#include "breakout.h" +#include "vector.h" +#include "background.h" int GAMEOVER_HUDMargin = 5; SDL_Texture * GAMEOVER_Texture; SDL_Texture * GAMEOVER_Numbers; SDL_Texture * GAMEOVER_ScoreTexture; -SDL_Texture * GAMEOVER_UploadTexture; SDL_Rect * GAMEOVER_NumberRects; -SDL_Rect * GAMEOVER_UploadRects; SDL_Rect GAMEOVER_TargetRect; SDL_Rect GAMEOVER_ScoreTargetRect; SDL_Rect GAMEOVER_HUDScoreTargetRect; -SDL_Rect GAMEOVER_UploadTargetRect; int * GAMEOVER_Digits; bool GAMEOVER_IsInit = false; -UploadState GAMEOVER_UploadState = Initial; void GAMEOVER_Initialize(SDL_Renderer * renderer){ if (!GAMEOVER_IsInit) { printf("Initializing Gameover...\n"); - GAMEOVER_UploadState = Initial; GAMEOVER_Texture = IMG_LoadTexture(renderer, GAMEOVER_TexturePath); if (!GAMEOVER_Texture) printf("Gameover Texture couldn't be loaded!\n"); GAMEOVER_Numbers = IMG_LoadTexture(renderer, GAMEOVER_NumbersTexturePath); if (!GAMEOVER_Numbers) printf("Gameover Numbers couldn't be loaded!\n"); GAMEOVER_ScoreTexture = IMG_LoadTexture(renderer, GAMEOVER_ScoreTexturePath); if (!GAMEOVER_ScoreTexture) printf("Gameover Score Texture couldn't be loaded!\n"); - GAMEOVER_UploadTexture = IMG_LoadTexture(renderer, GAMEOVER_UploadTexturePath); - if (!GAMEOVER_UploadTexture) printf("Gameover Score Texture couldn't be loaded!\n"); int w, h; SDL_QueryTexture(GAMEOVER_Texture, NULL, NULL, &w, &h); w /= 2; @@ -73,12 +73,6 @@ void GAMEOVER_Initialize(SDL_Renderer * renderer){ GAMEOVER_ScoreTargetRect.y = 450; GAMEOVER_ScoreTargetRect.h = 183; GAMEOVER_ScoreTargetRect.w = 1000; - GAMEOVER_UploadTargetRect = (SDL_Rect) {.x = 0, .y = 600, .w = 1000, .h = 200 }; - GAMEOVER_UploadRects = calloc(3, sizeof(SDL_Rect)); - if (!GAMEOVER_UploadRects) printf("FATAL: Memory Allocation Failed!\n"); - GAMEOVER_UploadRects[0] = (SDL_Rect) {.x = 1, .y = 735, .w = 3981, .h = 734 }; - GAMEOVER_UploadRects[1] = (SDL_Rect) {.x = 1, .y = 1, .w = 4634, .h = 732 }; - GAMEOVER_UploadRects[2] = (SDL_Rect) {.x = 1, .y = 1471, .w = 3024, .h = 666 }; GAMEOVER_HUDScoreTargetRect = (SDL_Rect) {.x = GAMEOVER_HUDMargin, .y = GAMEOVER_HUDMargin, .w = 250, .h = 46 }; GAMEOVER_Digits = malloc(25 * sizeof(int)); printf("Gameover initialized!\n"); @@ -106,18 +100,10 @@ void GAMEOVER_Draw(SDL_Renderer * renderer, Scenery * scenery){ target.h = (int)roundf((float)(GAMEOVER_NumberRects[GAMEOVER_Digits[i]].h) / GAMEOVER_Scale); target.w = (int)roundf((float)(GAMEOVER_NumberRects[GAMEOVER_Digits[i]].w) / GAMEOVER_Scale); SDL_RenderCopy(renderer, GAMEOVER_Numbers, (GAMEOVER_NumberRects + GAMEOVER_Digits[i]), &target); - xOffset += target.w - 1; + xOffset += target.w; } - GAMEOVER_DrawHorizontalCenter(renderer, GAMEOVER_UploadTexture, (GAMEOVER_UploadRects + GAMEOVER_UploadState), &GAMEOVER_UploadTargetRect); } /* GAMEOVER_Draw */ -void GAMEOVER_DrawHorizontalCenter(SDL_Renderer * renderer, SDL_Texture * texture, SDL_Rect * srcRect, SDL_Rect * dstRect){ - SDL_Rect target = *dstRect; - - target.x = ((width - target.x) / 2); - SDL_RenderCopy(renderer, texture, srcRect, &target); -} - void GAMEOVER_GetDigits(int input, int * digitCount){ int score = input; int count = 0; @@ -151,7 +137,7 @@ void SCORE_DrawHUD(SDL_Renderer * renderer, Scenery * scenery){ target.h = (int)roundf((float)(GAMEOVER_NumberRects[GAMEOVER_Digits[i]].h) / GAMEOVER_HUDScale); target.w = (int)roundf((float)(GAMEOVER_NumberRects[GAMEOVER_Digits[i]].w) / GAMEOVER_HUDScale); SDL_RenderCopy(renderer, GAMEOVER_Numbers, (GAMEOVER_NumberRects + GAMEOVER_Digits[i]), &target); - xOffset += target.w - 1; + xOffset += target.w; } } /* SCORE_DrawHUD */ @@ -159,12 +145,9 @@ void GAMEOVER_Deinitialize(){ if (GAMEOVER_IsInit) { printf("De-initializing Gameover...\n"); free(GAMEOVER_Digits); - free(GAMEOVER_NumberRects); - free(GAMEOVER_UploadRects); SDL_DestroyTexture(GAMEOVER_Texture); SDL_DestroyTexture(GAMEOVER_ScoreTexture); SDL_DestroyTexture(GAMEOVER_Numbers); - SDL_DestroyTexture(GAMEOVER_UploadTexture); printf("Gameover de-initialized!\n"); GAMEOVER_IsInit = false; } else diff --git a/gameover.h b/gameover.h index 69c27f0..9180055 100644 --- a/gameover.h +++ b/gameover.h @@ -14,14 +14,9 @@ #include "gamestate.h" #include "main.h" -// Enums -typedef enum uploadStateEnum { Initial = 0, Uploading = 1, Finished = 2 } UploadState; -// Enums - // Prototypes void GAMEOVER_Initialize(SDL_Renderer * renderer); void GAMEOVER_Draw(SDL_Renderer * renderer, Scenery * scenery); -void GAMEOVER_DrawHorizontalCenter(SDL_Renderer * renderer, SDL_Texture * texture, SDL_Rect * srcRect, SDL_Rect * dstRect); void GAMEOVER_GetDigits(int input, int * digitCount); void SCORE_DrawHUD(SDL_Renderer * renderer, Scenery * scenery); void GAMEOVER_Deinitialize(); diff --git a/settings.c b/settings.c index 6e4d55b..106c744 100644 --- a/settings.c +++ b/settings.c @@ -4,6 +4,7 @@ #include #include +#include "breakout.h" #include "settings.h" #define Slider_height 100 @@ -13,9 +14,14 @@ SDL_Texture * Settings_Texture; SDL_Texture * Settings_Ball_Texture; +SDL_Texture * Settings_Skins_Texture; +SDL_Texture * Return_Button_Texture; SDL_Rect Settings_rect; SDL_Rect Settings_Ball_rect; +SDL_Rect Settings_Skins_rect; +SDL_Rect Return_Button_rect; + Slider BV; Slider BS; Slider BT; @@ -25,11 +31,18 @@ bool Settings_IsInit = false; void Settings_Initialize (SDL_Renderer* renderer) { Initialize_Slider(400,300,Scalar_width,Bar_width,Slider_height,1,2,&BV); Initialize_Slider(400,500,Scalar_width,Bar_width,Slider_height,10.0f,20.0f,&BS); - Initialize_Slider(400,700,Scalar_width,Bar_width,Slider_height,0,1,&BT); + Initialize_Slider(400,700,Scalar_width,Bar_width,Slider_height,0,8,&BT); Settings_Texture = IMG_LoadTexture(renderer, "assets/images/settings_title.png"); - Settings_rect = (SDL_Rect){.x = 800, .y = 130, .w=470, .h=150}; - Settings_Ball_Texture = IMG_LoadTexture(renderer, "assets/images/ball.png"); - Settings_Ball_rect = (SDL_Rect){.x = 1200, .y = 300, .w=100, .h=100}; + Settings_rect = (SDL_Rect){.x = 647, .y = 50, .w=626, .h=200}; + + Settings_Ball_rect = (SDL_Rect){.x = 1200, .y = 700, .w=90, .h=90}; + + Settings_Skins_Texture = IMG_LoadTexture(renderer, "assets/images/skins_button.png"); + Settings_Skins_rect = (SDL_Rect){.x = 50, .y = 710, .w=315, .h=70}; + + Return_Button_Texture = IMG_LoadTexture(renderer, "assets/images/return_button.png"); + Return_Button_rect = (SDL_Rect){.x = 30, .y = 30, .w=261, .h=100}; + Settings_IsInit = true; } @@ -38,10 +51,14 @@ void Settings_Draw(SDL_Renderer * renderer, Scenery * scenery) { SDL_RenderCopy(renderer, Settings_Texture, NULL, &Settings_rect); SDL_RenderCopy(renderer, Settings_Ball_Texture, NULL, &Settings_Ball_rect); + SDL_RenderCopy(renderer, Settings_Skins_Texture, NULL, &Settings_Skins_rect); + SDL_RenderCopy(renderer, Return_Button_Texture, NULL, &Return_Button_rect); + Draw_Slider(renderer, &BV); Draw_Slider(renderer, &BS); Draw_Slider(renderer, &BT); - Draw_Ballstate(renderer, scenery); + //Draw_Ballstate(renderer, scenery); + BALL_DrawTexture(renderer, &Settings_Ball_rect, scenery->ball.TextureIndex); mapping(&x, &BS); scenery->ball.Speed = x; mapping(&x, &BT); diff --git a/startmenu.c b/startmenu.c index caf7192..5e21a33 100644 --- a/startmenu.c +++ b/startmenu.c @@ -6,6 +6,7 @@ #include "main.h" extern float XScale, YScale; +extern SDL_Rect Return_Button_rect; SDL_Texture * TITLE_Texture; SDL_Texture * PLAYBUTTON_Texture; @@ -64,4 +65,9 @@ void button_clicked(SDL_MouseButtonEvent b, GameState gameState) { GAME_Escape(); } } + if (gameState == Settings) { + if (clickInRect(b, &Return_Button_rect) == 1) { + GAME_ChangeState(MainMenu); + } + } }