diff options
| author | ilotterytea <iltsu@alright.party> | 2025-01-18 02:36:11 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-01-18 02:36:54 +0500 |
| commit | d740ead06e758a637908de709d0114840890f9f3 (patch) | |
| tree | ddc951de9de98b65c9d29045cb1435ba22a0107c /src/level.c | |
| parent | 5b7597c41e9b7a9b25f23516b4b532e078620ffc (diff) | |
feat: side and point structs
Diffstat (limited to 'src/level.c')
| -rw-r--r-- | src/level.c | 30 |
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); } |
