From aa2be58cd30d5b9f1eb274454a9cca7a9739d62d Mon Sep 17 00:00:00 2001 From: orangerot Date: Mon, 13 Oct 2025 21:18:09 +0200 Subject: feat: factor out game code --- main.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 9a65e6e..d092082 100644 --- a/main.c +++ b/main.c @@ -4,16 +4,16 @@ #include #include #include +#include + +#include "game.h" unsigned int SCR_WIDTH = 800; unsigned int SCR_HEIGHT = 600; -typedef struct decoded_image { - size_t width; - size_t height; - uint32_t *buf; - ssize_t buf_size; -} decoded_image; +extern void character_callback(GLFWwindow* window, unsigned int codepoint); +extern void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods); +extern void draw_image(decoded_image img); struct decoded_image canvas = { .width = 256, @@ -63,7 +63,6 @@ const uint32_t COLOR_RGBA = 0xFF21FF00; int main(int argc, const char *argv[]) { canvas.buf = malloc(canvas.buf_size * sizeof(int)); - for (int i = 0; i < canvas.buf_size; i++) canvas.buf[i] = i; glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); @@ -180,6 +179,8 @@ int main(int argc, const char *argv[]) { glClearColor(0.2f, 0.3f, 0.3f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); + draw_image(canvas); + // bind textures on corresponding texture units glActiveTexture(GL_TEXTURE); glBindTexture(GL_TEXTURE_2D, texture); -- cgit v1.2.3