From 39100e7292d3ee12d387fddfa0f0d7b712e31e1c Mon Sep 17 00:00:00 2001 From: quou Date: Sun, 30 Jun 2024 18:24:01 +1000 Subject: initial commit. --- 3de.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 3de.c (limited to '3de.c') diff --git a/3de.c b/3de.c new file mode 100644 index 0000000..1b88ae3 --- /dev/null +++ b/3de.c @@ -0,0 +1,45 @@ +#include "config.h" +#include "memory.h" +#include "plat.h" +#include "render.h" + +#include + +int entrypoint(int argc, const char** argv, Arena* a) { + App* app; + Renderer r; + Heap h; + FPS f; + char buf[32]; + Colour blue = make_aliceblue(); + (void)argc; + (void)argv; + init_heap( + &h, + arena_alloc(a, app_memory_size), + app_memory_size + ); + app = new_app(&h, 640, 480, "3D Engine"); + if (!app) return app->err; + init_fps(&f, 20); + while (app->o) { + fps_begin(&f); + while (f.now >= f.next) { + app_begin(app); + ren_begin(&r, app->fb, app->w, app->h); + ren_clear(&r); + sprintf(buf, "FPS: %d", app->fps); + ren_text(&r, blue, 3, 3, buf); + sprintf(buf, "CAP: %d", f.fps); + ren_text(&r, blue, 3, 13, buf); + sprintf(buf, "MOUSE: %d, %d", app->mx, app->my); + ren_text(&r, blue, 3, 23, buf); + ren_end(&r); + app_end(app); + fps_update(&f); + } + fps_end(&f); + } + deinit_app(app); + return 0; +} -- cgit v1.2.3-54-g00ecf