summaryrefslogtreecommitdiff
path: root/src/level.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/level.c')
-rw-r--r--src/level.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/src/level.c b/src/level.c
index c805c04..cda6594 100644
--- a/src/level.c
+++ b/src/level.c
@@ -1,5 +1,6 @@
#include "level.h"
+#include <stdio.h>
#include <stdlib.h>
#include "raylib.h"
@@ -7,17 +8,8 @@
Level *SE_CreateLevel(int width, int height) {
Level *level = malloc(sizeof(Level) + sizeof(Vector3) * width * height);
- int i = 0;
-
- for (int x = 0; x < width; x++) {
- for (int y = 0; y < height; y++) {
- Vector3 *v = malloc(sizeof(Vector3));
- v->x = x * 10;
- v->y = y * 10;
- v->z = 0;
- level->vectors[i] = v;
- i++;
- }
+ for (int i = 0; i < width * height; i++) {
+ level->sides[i] = NULL;
}
level->width = width;
@@ -26,19 +18,21 @@ Level *SE_CreateLevel(int width, int height) {
return level;
}
-void SE_RenderLevel(Level *level) {
- int cell_size = 10;
-
+void SE_RenderLevel(Level *level, int zoomScale) {
for (int i = 0; i < level->width * level->height; i++) {
- Vector3 *vector = level->vectors[i];
- DrawRectangle(vector->x, vector->y, 2, 2, BLACK);
+ Side *side = level->sides[i];
+ if (side == NULL) continue;
+
+ DrawLine(side->a.x * zoomScale, side->a.y * zoomScale,
+ side->b.x * zoomScale, side->b.y * zoomScale, RED);
}
}
void SE_FreeLevel(Level *level) {
for (int i = 0; i < level->width * level->height; i++) {
- Vector3 *v = level->vectors[i];
- free(v);
+ Side *side = level->sides[i];
+ if (side == NULL) continue;
+ free(side);
}
free(level);
}