diff --git a/constants.h b/constants.h new file mode 100644 index 0000000..4d6d85f --- /dev/null +++ b/constants.h @@ -0,0 +1,4 @@ +#pragma once + +#define SCREEN_WIDTH 960 +#define SCREEN_HEIGHT 640 \ No newline at end of file diff --git a/level.c b/level.c index f699b9f..d8805aa 100644 --- a/level.c +++ b/level.c @@ -1,9 +1,21 @@ -#include -#include #include "level.h" +#include +#include +#include "constants.h" + //prepares the level to be in a playable state -void level_init(Level* level) {} +void level_init(Level* level) { + // initialize ball + level->ball.pos.x = SCREEN_WIDTH / 2; + level->ball.pos.y = SCREEN_HEIGHT / 2; + level->ball.radius = 1; + + // initialize bouncer + level->bouncer.pos.x = SCREEN_HEIGHT / 2; + level->bouncer.pos.y = 5; + level->bouncer.width = 20; +} //updates the level void level_update(Level* level, bool* keys) {} diff --git a/level.h b/level.h index 2246b3d..abf2d93 100644 --- a/level.h +++ b/level.h @@ -8,8 +8,15 @@ typedef struct { } Position; typedef struct { - Position ball_pos; - Position bouncer_pos; + struct { + unsigned radius; + Position pos; + } ball; + + struct { + unsigned width; + Position pos; + } bouncer; } Level; diff --git a/renderer.c b/renderer.c index f778c19..1a8f213 100644 --- a/renderer.c +++ b/renderer.c @@ -2,12 +2,9 @@ #include #include - #include "error_codes.h" #include "level.h" - -#define SCREEN_WIDTH 960 -#define SCREEN_HEIGHT 640 +#include "constants.h" // initializes the window and renderer int renderer_init(SDL_Window** window, SDL_Renderer** renderer) { @@ -37,14 +34,15 @@ int renderer_init(SDL_Window** window, SDL_Renderer** renderer) { // renders the screen void renderer_update(RenderData* render_data) { - int success = 0x0; - success | SDL_SetRenderDrawColor(render_data->renderer, 0x00, 0x00, 0x00, 0xFF); - success | SDL_RenderClear(render_data->renderer); - SDL_RenderPresent(render_data->renderer); + // render background + (void)SDL_SetRenderDrawColor(render_data->renderer, 0x00, 0x00, 0x00, 0xFF); + (void)SDL_RenderClear(render_data->renderer); - if (success != 0) { - printf("something went wrong during the render update! -> %d", success); - } + //TODO: render ball as a circle at render_data->level->ball.pos + //TODO: render bouncer as a bar at render_data->level->bouncer.pos + + // present the result to the renderer + SDL_RenderPresent(render_data->renderer); } void renderer_destroy(SDL_Window* window, SDL_Renderer* renderer) {