From f46c66485b758385417431d290e1a2958dececea Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sat, 6 Sep 2025 10:50:07 -0700 Subject: Implement camera clipping for ortho maps --- demos/checkerboard/checkerboard.c | 2 +- demos/isomap/isomap.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'demos') diff --git a/demos/checkerboard/checkerboard.c b/demos/checkerboard/checkerboard.c index 243f7a8..f9631d8 100644 --- a/demos/checkerboard/checkerboard.c +++ b/demos/checkerboard/checkerboard.c @@ -137,7 +137,7 @@ static void render(const GfxApp* app, GfxAppState* state) { Gfx2d* iso = state->gfx; - gfx2d_render(iso); + gfx2d_render(iso, 0, 0); if ((state->xpick != -1) && (state->ypick != -1)) { gfx2d_draw_tile(iso, state->xpick, state->ypick, state->red); diff --git a/demos/isomap/isomap.c b/demos/isomap/isomap.c index 471ef57..e66d14d 100644 --- a/demos/isomap/isomap.c +++ b/demos/isomap/isomap.c @@ -47,7 +47,7 @@ static bool init(GfxApp* app, GfxAppState* state, int argc, const char** argv) { Gfx2d* iso = state->gfx; if (!gfx2d_load_map( - iso, "/home/jeanne/Nextcloud/assets/tilemaps/scrabling1.tm")) { + iso, "/home/jeanne/Nextcloud/assets/tilemaps/desert1.tm")) { return false; } @@ -100,9 +100,9 @@ static void update(GfxApp* app, GfxAppState* state, double t, double dt) { assert(state); state->camera = vec2_add(state->camera, get_camera_movement(app, (R)dt)); + gfx2d_clip_camera(state->gfx, &state->camera.x, &state->camera.y); Gfx2d* iso = state->gfx; - gfx2d_set_camera(iso, (int)state->camera.x, (int)state->camera.y); gfx2d_update(iso, t); } @@ -111,7 +111,7 @@ static void render(const GfxApp* app, GfxAppState* state) { assert(state); Gfx2d* iso = state->gfx; - gfx2d_render(iso); + gfx2d_render(iso, (int)state->camera.x, (int)state->camera.y); gfx2d_backend_render(state->backend, iso); } -- cgit v1.2.3