From f7973d58b2eb298bffe0ad3f88897e02e0497de8 Mon Sep 17 00:00:00 2001 From: Emil Williams Date: Sun, 1 Feb 2026 11:18:13 +0000 Subject: game_t and example rendering functions --- source/render.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 source/render.c (limited to 'source/render.c') diff --git a/source/render.c b/source/render.c new file mode 100644 index 0000000..3271b99 --- /dev/null +++ b/source/render.c @@ -0,0 +1,30 @@ +#include "all.h" + +void draw_square_grid(game_t * game, size_t frame, int size, Texture * texture, int * array, size_t length) { + (void)texture; + float square_length = size; + size_t square = floor(sqrt(length)); + size_t j, i; + float x = game->frame_x[frame], y = game->frame_y[frame]; + for (i = 0; i < square; ++i) { + for (j = 0; j < square; ++j) { + DrawRectangleV((Vector2){x+i*square_length, y+j*square_length}, + (Vector2){square_length, square_length}, + (Color){80+array[(i*square)+(j)]*18, 0, 0, 255}); + } + } +} + +/* void draw_vertical_bargraph(game_t * game, size_t frame, int size, Color color, int * array, size_t length) { */ +/* } */ + +void draw_centered_text(game_t * game, size_t frame, int font_size, Color color, char * format, ...) { + char buffer[TEXT_BUFFER_LIMIT]; + va_list ap; + va_start(ap, format); + vsnprintf(buffer, TEXT_BUFFER_LIMIT, format, ap); + va_end(ap); + Vector2 v = MeasureTextEx(game->font, buffer, font_size, 1); + float x = game->frame_x[frame], y = game->frame_y[frame]; + DrawTextEx(game->font, buffer, (Vector2){x-v.x/2, y-v.y/2}, font_size, 1, color); +} -- cgit v1.2.3