diff options
-rw-r--r-- | src/main/engine/engine.c | 16 | ||||
-rw-r--r-- | src/main/engine/engine.h | 2 | ||||
-rw-r--r-- | src/main/game/game.c | 12 | ||||
-rw-r--r-- | src/main/game/game.h | 2 | ||||
-rw-r--r-- | src/main/main.c | 2 |
5 files changed, 15 insertions, 19 deletions
diff --git a/src/main/engine/engine.c b/src/main/engine/engine.c index ab595ac..d66c242 100644 --- a/src/main/engine/engine.c +++ b/src/main/engine/engine.c @@ -41,7 +41,7 @@ static int height; static list_t *lines = NULL; typedef struct Line { - int x1, y1, x2, y2; + float x1, y1, x2, y2; } Line; typedef struct Engine { @@ -74,9 +74,6 @@ engine_init(int w, int h) height = h; engine->ui = ui_init(w, h); - xstep = RANGE_GL / (float) w; - ystep = RANGE_GL / (float) h; - lines = list_create(); } @@ -101,7 +98,7 @@ engine_draw_circle(float cx, float cy, float r, int num_segments, int outline) } static Line * -engine_new_line(int x1, int y1, int x2, int y2) +engine_new_line(float x1, float y1, float x2, float y2) { Line *line = malloc(sizeof(Line)); line->x1 = x1; @@ -113,7 +110,7 @@ engine_new_line(int x1, int y1, int x2, int y2) } void -engine_draw_line(int x1, int y1, int x2, int y2) +engine_draw_line(float x1, float y1, float x2, float y2) { if (lines != NULL) { Line *line = engine_new_line(x1, y1, x2, y2); @@ -137,11 +134,8 @@ engine_calculate_fps() static void render_line(Line *line) { - float _x1 = line->x1 * xstep - 1; float _y1 = (height - line->y1) * ystep - 1; - float _x2 = line->x2 * xstep - 1; float _y2 = (height - line->y2) * ystep - 1; - - glVertex2f(_x1, _y1); - glVertex2f(_x2, _y2); + glVertex2f(line->x1, line->y1); + glVertex2f(line->x2, line->y2); } static void diff --git a/src/main/engine/engine.h b/src/main/engine/engine.h index c6b6502..101a9a4 100644 --- a/src/main/engine/engine.h +++ b/src/main/engine/engine.h @@ -25,7 +25,7 @@ enum EngineInput { }; void engine_init(int width, int height); -void engine_draw_line(int x1, int y1, int x2, int y2); +void engine_draw_line(float x1, float y1, float x2, float y2); void engine_loop(void); void engine_input(void (*f_input)(int engine_input)); void engine_on_mouse_pressed(void (*event)()); diff --git a/src/main/game/game.c b/src/main/game/game.c index 4addcf2..117cf45 100644 --- a/src/main/game/game.c +++ b/src/main/game/game.c @@ -20,10 +20,12 @@ #include "../engine/engine.h" void -game_draw_field(int box_size, int x, int y) +game_draw_field(float box_size, float x, float y) { - engine_draw_line(box_size, y, box_size, box_size * 3); - engine_draw_line(box_size * 2, y, box_size * 2, box_size * 3); - engine_draw_line(x, box_size, box_size * 3, box_size); - engine_draw_line(x, box_size * 2, box_size * 3, box_size * 2); + float half_box = box_size / 2; + engine_draw_line(x - half_box, y + half_box * 3, x - half_box, y - half_box * 3); + engine_draw_line(x + half_box, y + half_box * 3, x + half_box, y - half_box * 3); + + engine_draw_line(x - half_box * 3, y + half_box, x + half_box * 3, y + half_box); + engine_draw_line(x - half_box * 3, y - half_box, x + half_box * 3, y - half_box); } diff --git a/src/main/game/game.h b/src/main/game/game.h index 8148645..e98e109 100644 --- a/src/main/game/game.h +++ b/src/main/game/game.h @@ -20,6 +20,6 @@ #ifndef __GAME_H__ #define __GAME_H__ -void game_draw_field(int box_size, int x, int y); +void game_draw_field(float box_size, float x, float y); #endif /* __GAME_H__ */ diff --git a/src/main/main.c b/src/main/main.c index 6a252c0..9014c3a 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -31,7 +31,7 @@ void draw_frame() { - game_draw_field(100, 10, 10); + game_draw_field(0.5, 0, 0); } int main(void) { |