Filenames as defines
This commit is contained in:
parent
8dbdf176f3
commit
7e9eaf5861
16
breakout.c
16
breakout.c
@ -10,6 +10,10 @@
|
|||||||
#include "breakout.h"
|
#include "breakout.h"
|
||||||
#include "vector.h"
|
#include "vector.h"
|
||||||
|
|
||||||
|
#define BALL_TexturePath "assets/images/ball.png"
|
||||||
|
#define PADDLE_TexturePath "assets/images/paddle.png"
|
||||||
|
#define BLOCK_TexturePath "assets/images/spritesheet.png"
|
||||||
|
|
||||||
#ifndef __nullptr__
|
#ifndef __nullptr__
|
||||||
#define Nullptr(type) (type *)0
|
#define Nullptr(type) (type *)0
|
||||||
#endif // __nullptr__
|
#endif // __nullptr__
|
||||||
@ -56,10 +60,14 @@ Scenery BREAKOUT_CreateDefault(){
|
|||||||
scenery.blocks[x + index] = BLOCK_CreateDefault();
|
scenery.blocks[x + index] = BLOCK_CreateDefault();
|
||||||
scenery.blocks[x + index].TargetRect = (SDL_Rect) {.x = ((192 * x) + 4), .y = ((96 * y) + 2), .w = 184, .h = 92 };
|
scenery.blocks[x + index].TargetRect = (SDL_Rect) {.x = ((192 * x) + 4), .y = ((96 * y) + 2), .w = 184, .h = 92 };
|
||||||
scenery.blocks[x + index].TextureIndex = y + x + 2;
|
scenery.blocks[x + index].TextureIndex = y + x + 2;
|
||||||
|
// printf("Block created at index: %d\n", (x + index));
|
||||||
|
// printf("Block Target: %d %d %d %d\n", ( scenery.blocks[x + index].TargetRect.x), ( scenery.blocks[x + index].TargetRect.y), ( scenery.blocks[x + index].TargetRect.w), ( scenery.blocks[x + index].TargetRect.h));
|
||||||
|
// printf("Block Texture index: %d\n", scenery.blocks[x + index].TextureIndex);
|
||||||
|
// system("pause");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return scenery;
|
return scenery;
|
||||||
}
|
} /* BREAKOUT_CreateDefault */
|
||||||
|
|
||||||
// This Function is obsolete! Do not use it!
|
// This Function is obsolete! Do not use it!
|
||||||
void BREAKOUT_ChangeSize(int width, int height){
|
void BREAKOUT_ChangeSize(int width, int height){
|
||||||
@ -111,7 +119,7 @@ void BREAKOUT_DestroyObject(Scenery * scenery){
|
|||||||
void BALL_Initialize(SDL_Renderer * renderer){
|
void BALL_Initialize(SDL_Renderer * renderer){
|
||||||
if (!BALL_IsInit) {
|
if (!BALL_IsInit) {
|
||||||
printf("Initializing Ball...\n");
|
printf("Initializing Ball...\n");
|
||||||
BALL_Texture = IMG_LoadTexture(renderer, "assets/images/ball.png");
|
BALL_Texture = IMG_LoadTexture(renderer, BALL_TexturePath);
|
||||||
if (!BALL_Texture) printf("Ball texture failed to load!\n");
|
if (!BALL_Texture) printf("Ball texture failed to load!\n");
|
||||||
BALL_SourceRects = (SDL_Rect *)malloc(1 * sizeof(SDL_Rect));
|
BALL_SourceRects = (SDL_Rect *)malloc(1 * sizeof(SDL_Rect));
|
||||||
if (!BALL_SourceRects) printf("FATAL! Memory allocation failed!\n");
|
if (!BALL_SourceRects) printf("FATAL! Memory allocation failed!\n");
|
||||||
@ -280,7 +288,7 @@ void BALL_Deinitialize(){
|
|||||||
void PADDLE_Initialize(SDL_Renderer * renderer){
|
void PADDLE_Initialize(SDL_Renderer * renderer){
|
||||||
if (!PADDLE_IsInit) {
|
if (!PADDLE_IsInit) {
|
||||||
printf("Initializing Paddle...\n");
|
printf("Initializing Paddle...\n");
|
||||||
PADDLE_Texture = IMG_LoadTexture(renderer, "assets/images/paddle.png");
|
PADDLE_Texture = IMG_LoadTexture(renderer, PADDLE_TexturePath);
|
||||||
if (!PADDLE_Texture) printf("Paddle texture failed to load!\n");
|
if (!PADDLE_Texture) printf("Paddle texture failed to load!\n");
|
||||||
PADDLE_SourceRects = (SDL_Rect *)malloc(1 * sizeof(SDL_Rect));
|
PADDLE_SourceRects = (SDL_Rect *)malloc(1 * sizeof(SDL_Rect));
|
||||||
if (!PADDLE_SourceRects) printf("FATAL! Memory allocation failed!\n");
|
if (!PADDLE_SourceRects) printf("FATAL! Memory allocation failed!\n");
|
||||||
@ -365,7 +373,7 @@ void PADDLE_Deinitialize(){
|
|||||||
void BLOCK_Initialize(SDL_Renderer * renderer){
|
void BLOCK_Initialize(SDL_Renderer * renderer){
|
||||||
if (!BLOCK_IsInit) {
|
if (!BLOCK_IsInit) {
|
||||||
printf("Initializing Block...\n");
|
printf("Initializing Block...\n");
|
||||||
BLOCK_Texture = IMG_LoadTexture(renderer, "assets/images/spritesheet.png");
|
BLOCK_Texture = IMG_LoadTexture(renderer, BLOCK_TexturePath);
|
||||||
if (!BLOCK_Texture) printf("Block texture failed to load!\n");
|
if (!BLOCK_Texture) printf("Block texture failed to load!\n");
|
||||||
BLOCK_SourceRects = (SDL_Rect *)malloc(BLOCK_TextureCount * sizeof(SDL_Rect));
|
BLOCK_SourceRects = (SDL_Rect *)malloc(BLOCK_TextureCount * sizeof(SDL_Rect));
|
||||||
if (!BLOCK_SourceRects) printf("FATAL! Memory allocation failed!\n");
|
if (!BLOCK_SourceRects) printf("FATAL! Memory allocation failed!\n");
|
||||||
|
14
button.h
Normal file
14
button.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#ifndef __button_h__
|
||||||
|
#define __button_h__
|
||||||
|
|
||||||
|
// Structs
|
||||||
|
typedef struct buttonStruct {
|
||||||
|
SDL_Rect TargetRect;
|
||||||
|
void (*OnClick)();
|
||||||
|
};
|
||||||
|
// End Structs
|
||||||
|
|
||||||
|
// Prototypes
|
||||||
|
// End Prototypes
|
||||||
|
|
||||||
|
#endif
|
15
highscores.c
15
highscores.c
@ -8,6 +8,8 @@
|
|||||||
|
|
||||||
#include "highscores.h"
|
#include "highscores.h"
|
||||||
|
|
||||||
|
#define HIGHSCORES_FontFamily "assets/fonts/monofur.ttf"
|
||||||
|
|
||||||
int entriesGot = 0;
|
int entriesGot = 0;
|
||||||
User * ul;
|
User * ul;
|
||||||
SDL_Color White;
|
SDL_Color White;
|
||||||
@ -21,11 +23,10 @@ void HIGHSCORES_Initialize(){
|
|||||||
Message_rect = (SDL_Rect) {.x = 0, .y = 0, .w = 2, .h = 2 };
|
Message_rect = (SDL_Rect) {.x = 0, .y = 0, .w = 2, .h = 2 };
|
||||||
White = (SDL_Color) {255, 255, 255 };
|
White = (SDL_Color) {255, 255, 255 };
|
||||||
ul = malloc(10 * sizeof(User));
|
ul = malloc(10 * sizeof(User));
|
||||||
font = TTF_OpenFont("assets/fonts/monofur.ttf", 48);
|
font = TTF_OpenFont(HIGHSCORES_FontFamily, 48);
|
||||||
if (!font) printf("Font could not initialize! Error: %s\n", TTF_GetError());
|
if (!font) printf("Font could not initialize! Error: %s\n", TTF_GetError());
|
||||||
else printf("Font was successfully initialized!\n");
|
else printf("Font was successfully initialized!\n");
|
||||||
printFontStyle(font);
|
printFontStyle(font);
|
||||||
HIGHSCORES_ReloadList(&entriesGot);
|
|
||||||
printf("Highscores initialized!\n");
|
printf("Highscores initialized!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +53,7 @@ void printFontStyle(TTF_Font * ffont){
|
|||||||
void HIGHSCORES_Draw(SDL_Renderer * renderer){
|
void HIGHSCORES_Draw(SDL_Renderer * renderer){
|
||||||
char * buffer = calloc(100, sizeof(char));
|
char * buffer = calloc(100, sizeof(char));
|
||||||
int count = 0;
|
int count = 0;
|
||||||
char format[20] = "| %-50s | %-10s |";
|
char format[20] = "| %-58s | %-10s |";
|
||||||
|
|
||||||
sprintf(buffer, format, "Username", "Score");
|
sprintf(buffer, format, "Username", "Score");
|
||||||
HIGHSCORES_GenerateTexture(renderer, buffer);
|
HIGHSCORES_GenerateTexture(renderer, buffer);
|
||||||
@ -63,7 +64,7 @@ void HIGHSCORES_Draw(SDL_Renderer * renderer){
|
|||||||
while (count < entriesGot) {
|
while (count < entriesGot) {
|
||||||
sprintf(buffer, format, ul[count].Username, ul[count].Score);
|
sprintf(buffer, format, ul[count].Username, ul[count].Score);
|
||||||
HIGHSCORES_GenerateTexture(renderer, buffer);
|
HIGHSCORES_GenerateTexture(renderer, buffer);
|
||||||
Message_rect.y = ((Message_rect.h + 10) * (count + 1)) + 140;
|
Message_rect.y = ((Message_rect.h + 15) * (count + 1)) + 140;
|
||||||
Message_rect.x = 50;
|
Message_rect.x = 50;
|
||||||
SDL_RenderCopy(renderer, Message, NULL, &Message_rect);
|
SDL_RenderCopy(renderer, Message, NULL, &Message_rect);
|
||||||
SDL_DestroyTexture(Message);
|
SDL_DestroyTexture(Message);
|
||||||
@ -92,12 +93,12 @@ void HIGHSCORES_GenerateTexture(SDL_Renderer * renderer, char * text){
|
|||||||
Message_rect.h = h;
|
Message_rect.h = h;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HIGHSCORES_ReloadList(int * usercount){
|
void HIGHSCORES_ReloadList(){
|
||||||
printf("Call BHI interface:\n");
|
printf("Call BHI interface:\n");
|
||||||
system("bhi top output.txt");
|
system("bhi top output.txt");
|
||||||
printf("BHI interface quit!\nBHI output handling...\n");
|
printf("BHI interface quit!\nBHI output handling...\n");
|
||||||
|
|
||||||
*usercount = 0;
|
entriesGot = 0;
|
||||||
FILE * fp;
|
FILE * fp;
|
||||||
char * line = NULL;
|
char * line = NULL;
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
@ -151,6 +152,6 @@ void HIGHSCORES_ReloadList(int * usercount){
|
|||||||
printf("User: %s -> Score: %s\n", ul[i].Username, ul[i].Score);
|
printf("User: %s -> Score: %s\n", ul[i].Username, ul[i].Score);
|
||||||
}
|
}
|
||||||
|
|
||||||
*usercount = counter;
|
entriesGot = counter;
|
||||||
printf("BHI Interface successfully quit!\n");
|
printf("BHI Interface successfully quit!\n");
|
||||||
} /* main */
|
} /* main */
|
||||||
|
@ -13,7 +13,7 @@ void printFontStyle(TTF_Font * ffont);
|
|||||||
void HIGHSCORES_Draw(SDL_Renderer * renderer);
|
void HIGHSCORES_Draw(SDL_Renderer * renderer);
|
||||||
void HIGHSCORES_Deinitialize();
|
void HIGHSCORES_Deinitialize();
|
||||||
void HIGHSCORES_GenerateTexture(SDL_Renderer * renderer, char * text);
|
void HIGHSCORES_GenerateTexture(SDL_Renderer * renderer, char * text);
|
||||||
void HIGHSCORES_ReloadList(int * usercount);
|
void HIGHSCORES_ReloadList();
|
||||||
// End Prototypes
|
// End Prototypes
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
31
main.c
31
main.c
@ -22,21 +22,24 @@
|
|||||||
#define ue "\201"
|
#define ue "\201"
|
||||||
#define ss "\341"
|
#define ss "\341"
|
||||||
|
|
||||||
void INITIALIZE();
|
// Prototypes
|
||||||
void QUIT();
|
void GAME_ChangeState(GameState state);
|
||||||
void HandleSDLEvents();
|
void HandleSDLEvents();
|
||||||
void DrawBackground(SDL_Renderer * renderer);
|
|
||||||
void printFontStyle(TTF_Font * ffont);
|
|
||||||
void mousePress(SDL_MouseButtonEvent b);
|
void mousePress(SDL_MouseButtonEvent b);
|
||||||
void keyPress(SDL_KeyboardEvent b);
|
void keyPress(SDL_KeyboardEvent b);
|
||||||
void windowChanged(SDL_WindowEvent b);
|
|
||||||
void toggleFullscreen();
|
void toggleFullscreen();
|
||||||
|
void windowChanged(SDL_WindowEvent b);
|
||||||
|
void DrawBackground(SDL_Renderer * renderer);
|
||||||
|
void INITIALIZE();
|
||||||
|
void QUIT();
|
||||||
int readIntFromIO(char * m1, char * m2, char * m3, int min, int max);
|
int readIntFromIO(char * m1, char * m2, char * m3, int min, int max);
|
||||||
|
// End Prototypes
|
||||||
|
|
||||||
|
// Default Render Size (Upscaled for bigger monitors)
|
||||||
const int width = 1920;
|
const int width = 1920;
|
||||||
const int height = 1080;
|
const int height = 1080;
|
||||||
|
|
||||||
float XScale = 1.0f, YScale = 1.0f;
|
float XScale = 1.0f, YScale = 1.0f;
|
||||||
|
// End render properties
|
||||||
|
|
||||||
int numKeys;
|
int numKeys;
|
||||||
const Uint8 * keystate; // TODO: export all this into scenery and enemy waves
|
const Uint8 * keystate; // TODO: export all this into scenery and enemy waves
|
||||||
@ -49,7 +52,7 @@ Scenery scenery;
|
|||||||
|
|
||||||
int main(int argc, char * args[]){
|
int main(int argc, char * args[]){
|
||||||
printf("Spielbereiche\n\t- 1: Hauptmen"ue "\n\t- 2: Spiel\n\t- 3: Level Select\n\t- 4: Settings\n\t- 5: Highscores\n");
|
printf("Spielbereiche\n\t- 1: Hauptmen"ue "\n\t- 2: Spiel\n\t- 3: Level Select\n\t- 4: Settings\n\t- 5: Highscores\n");
|
||||||
gameState = readIntFromIO("W"ae "hle einen Spielbereich aus, den du testen m"oe "chtest:", "Fehlerhafte Eingabe!\n", "%d ist kein g"ue "ltiger Spielbereich!\n", 1, 5);
|
GAME_ChangeState(readIntFromIO("W"ae "hle einen Spielbereich aus, den du testen m"oe "chtest:", "Fehlerhafte Eingabe!\n", "%d ist kein g"ue "ltiger Spielbereich!\n", 1, 5));
|
||||||
INITIALIZE();
|
INITIALIZE();
|
||||||
while (running) { // Gameloop
|
while (running) { // Gameloop
|
||||||
HandleSDLEvents();
|
HandleSDLEvents();
|
||||||
@ -68,6 +71,7 @@ int main(int argc, char * args[]){
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printf("Unknow state was updated: %d\n", gameState);
|
printf("Unknow state was updated: %d\n", gameState);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
// DrawText(renderer, "FICK DICH");
|
// DrawText(renderer, "FICK DICH");
|
||||||
SDL_RenderPresent(renderer);
|
SDL_RenderPresent(renderer);
|
||||||
@ -76,6 +80,19 @@ int main(int argc, char * args[]){
|
|||||||
return 0;
|
return 0;
|
||||||
} /* main */
|
} /* main */
|
||||||
|
|
||||||
|
void GAME_ChangeState(GameState state){
|
||||||
|
gameState = state;
|
||||||
|
switch (gameState) {
|
||||||
|
case Highscores:
|
||||||
|
HIGHSCORES_ReloadList();
|
||||||
|
printf("State was changed to Highscores!\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
printf("State was changed to %d!\n", gameState);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void HandleSDLEvents(){
|
void HandleSDLEvents(){
|
||||||
while (SDL_PollEvent(&event)) {
|
while (SDL_PollEvent(&event)) {
|
||||||
switch (event.type) {
|
switch (event.type) {
|
||||||
|
Loading…
Reference in New Issue
Block a user