From 8dfb262a78d612f31a9ee1fc2642fa45c6cd94b9 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Sun, 18 Aug 2024 22:31:57 +0200 Subject: [PATCH] added drawing function --- bin/mamaker | Bin 76824 -> 78352 bytes src/assembly.c | 3 +-- src/base.c | 8 ++++++++ src/base.h | 8 ++++++-- src/consts.h | 9 ++++++--- src/display.c | 27 +++++++++++++++++++++++++++ src/display.h | 4 ++++ 7 files changed, 52 insertions(+), 7 deletions(-) diff --git a/bin/mamaker b/bin/mamaker index 7a449556aff4ab509c783a2065f92bbaaa286128..df62722b9d9e2347be897232e9fe713b76d195f4 100755 GIT binary patch literal 78352 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

A3I`fj_I!{|oiS#v8(s+Sl| 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 = NULL; start->prev_3 = NULL; start->prev_4 = NULL; - start->prev_5 = NULL; start->next_1 = start; start->next_2 = NULL; start->next_3 = NULL; start->next_4 = NULL; - start->next_5 = NULL; start->meta = "start"; } diff --git a/src/base.c b/src/base.c index f9f0905..ae5256c 100644 --- a/src/base.c +++ b/src/base.c @@ -37,6 +37,14 @@ bool is_an_integer(char c) { return ((int)c >= 48 && (int)c <= 57); } +float to_float(int n) { + return (float)n ; +} + +float to_int(float n) { + return (int)n ; +} + imgs import_digits(SDL_Renderer* renderer) { imgs res; res.arr = malloc(sizeof(SDL_Texture*)*10); diff --git a/src/base.h b/src/base.h index 83fd6a3..572e968 100644 --- a/src/base.h +++ b/src/base.h @@ -5,10 +5,14 @@ int ln_baseN(int n, int b); int pw(int x, int n); +bool is_an_integer(char c); + +float to_float(int n); + +float to_int(float n); + imgs import_digits(SDL_Renderer* renderer); void free_digits(imgs dgts); -bool is_an_integer(char c); - #endif \ No newline at end of file diff --git a/src/consts.h b/src/consts.h index 6996a7d..5c14b37 100644 --- a/src/consts.h +++ b/src/consts.h @@ -42,12 +42,10 @@ typedef struct cell { struct cell* prev_2 ; struct cell* prev_3 ; struct cell* prev_4 ; - struct cell* prev_5 ; struct cell* next_1 ; struct cell* next_2 ; struct cell* next_3 ; - struct cell* next_4 ; - struct cell* next_5 ; // I dont wanna deal with free/malloc there pls + struct cell* next_4 ; // I dont wanna deal with free/malloc there pls char* meta ; // mostly for event spaces (also for hidden blocks) } cell ; @@ -100,4 +98,9 @@ static player* players ; static imgs* digits ; // len is always 10 for this +static int __width__ = 1200 ; +static int __height__ = 800 ; + +static int tile_size = 50 ; + #endif \ No newline at end of file diff --git a/src/display.c b/src/display.c index f75e311..41f6e23 100644 --- a/src/display.c +++ b/src/display.c @@ -12,6 +12,7 @@ #include #include "consts.h" +#include "base.h" #include "display.h" void updateRenderer(SDL_Renderer* renderer) { @@ -69,4 +70,30 @@ void drawNumberToRenderer(SDL_Renderer* renderer, imgs data, int n, int X, int Y nIter--; } } +} + +void draw_cell(SDL_Renderer* renderer, int xmin, int xmax, int ymin, int ymax, cell* cl, int draw_id) { + if(cl != NULL && cl->id != draw_id && cl->coord_x - tile_size > xmin && cl->coord_x - tile_size < xmax && cl->coord_y > ymin && cl->coord_y < ymax) { + int nxmin = to_int((to_float(cl->coord_x) - to_float(xmin)) * to_float(__width__)) / (to_float(xmax) - to_float(xmin)) ; + int nymin = to_int((to_float(cl->coord_y) - to_float(ymin)) * to_float(__height__)) / (to_float(ymax) - to_float(ymin)) ; + placeRectToRenderer(renderer, nxmin, nymin, tile_size, tile_size, 255, 255, 255, SDL_ALPHA_OPAQUE); + + cl->id = draw_id ; + + draw_cell(renderer, xmin, xmax, ymin, ymax, cl->prev_1, draw_id); + draw_cell(renderer, xmin, xmax, ymin, ymax, cl->prev_2, draw_id); + draw_cell(renderer, xmin, xmax, ymin, ymax, cl->prev_3, draw_id); + draw_cell(renderer, xmin, xmax, ymin, ymax, cl->prev_4, draw_id); + + draw_cell(renderer, xmin, xmax, ymin, ymax, cl->next_1, draw_id); + draw_cell(renderer, xmin, xmax, ymin, ymax, cl->next_2, draw_id); + draw_cell(renderer, xmin, xmax, ymin, ymax, cl->next_3, draw_id); + draw_cell(renderer, xmin, xmax, ymin, ymax, cl->next_4, draw_id); + } else if(cl != NULL) { + cl->id = draw_id; + } +} + +void draw_board(SDL_Renderer* renderer, int xmin, int xmax, int ymin, int ymax, cell* one_cell) { + draw_cell(renderer, xmin, xmax, ymin, ymax, one_cell, one_cell->id +1); } \ No newline at end of file diff --git a/src/display.h b/src/display.h index 1851690..a5a6dd8 100644 --- a/src/display.h +++ b/src/display.h @@ -13,4 +13,8 @@ void drawDigitToRenderer(SDL_Renderer* renderer, imgs data, int digit, int X, in void drawNumberToRenderer(SDL_Renderer* renderer, imgs data, int n, int X, int Y, int W, int H, int Woffset); +void draw_cell(SDL_Renderer* renderer, int xmin, int xmax, int ymin, int ymax, cell* cl, int draw_id); + +void draw_board(SDL_Renderer* renderer, int xmin, int xmax, int ymin, int ymax, cell* one_cell); + #endif \ No newline at end of file