From dec5577857ae3b848b9ced907f46049f2812d1e6 Mon Sep 17 00:00:00 2001 From: Sven Balzer <4653051+Kyuusokuna@users.noreply.github.com> Date: Sat, 8 Aug 2026 11:41:08 +0200 Subject: [PATCH] make static and water collision grid the right size Fixes: #19 --- src/main.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 71fa5c3..d114e0f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -486,8 +486,8 @@ static Uint32 find_matching_tile(Uint32 corner_info) { static void recalculate_static_collision_grid(Map *world) { if (world->static_collision_grid) SDL_free(world->static_collision_grid); - world->static_collision_grid = (Uint8 *)SDL_calloc((world->size.x - 2) * (world->size.y - 2), sizeof(*world->static_collision_grid)); - + world->static_collision_grid = (Uint8 *)SDL_calloc((world->size.x - 1) * (world->size.y - 1), sizeof(*world->static_collision_grid)); + for (int i = 0; i < world->num_placeables; i++) { u32vec2 pos = world->placeables[i].pos; world->static_collision_grid[pos.y * (world->size.x - 2) + pos.x] = 1; @@ -496,8 +496,8 @@ static void recalculate_static_collision_grid(Map *world) { static void recalculate_water_collision_grid(Map *world) { if (world->water_collision_grid) SDL_free(world->water_collision_grid); - world->water_collision_grid = (Uint8 *)SDL_calloc((world->size.x - 2) * (world->size.y - 2), sizeof(*world->water_collision_grid)); - + world->water_collision_grid = (Uint8 *)SDL_calloc((world->size.x - 1) * (world->size.y - 1), sizeof(*world->water_collision_grid)); + for (Sint32 y = 0; y < world->size.y - 2; y++){ for (Sint32 x = 0; x < world->size.x - 2; x++) { Uint32 grid_corner_info =