summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/engine/engine.c16
-rw-r--r--src/main/engine/engine.h2
-rw-r--r--src/main/game/game.c12
-rw-r--r--src/main/game/game.h2
-rw-r--r--src/main/main.c2
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) {