From d1370b955f9a86c82f92d7368237ed96318de330 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sat, 19 Jul 2025 09:29:12 -0700 Subject: Allocate data from a stack allocator --- src/asset.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/asset.c (limited to 'src/asset.c') diff --git a/src/asset.c b/src/asset.c new file mode 100644 index 0000000..98ca083 --- /dev/null +++ b/src/asset.c @@ -0,0 +1,34 @@ +#include + +bool ts_validate_tileset(const Ts_TileSet* tileset) { + assert(tileset); + + for (uint16_t i = 0; i < tileset->num_tiles; ++i) { + const Ts_Tile* tile = ts_tileset_get_tile(tileset, i); + // Tile should be non-empty. + if (tile->width == 0) { + return false; + } + if (tile->height == 0) { + return false; + } + } + return true; +} + +bool tm_validate_map(const Tm_Map* map, const Ts_TileSet* tileset) { + assert(map); + assert(tileset); + + for (uint16_t t = 0; t < tileset->num_tiles; ++t) { + const Ts_Tile* tile = ts_tileset_get_tile(tileset, t); + // Tile dimensions should be a multiple of the base tile size. + if ((tile->width % map->base_tile_width) != 0) { + return false; + } + if ((tile->height % map->base_tile_height) != 0) { + return false; + } + } + return true; +} -- cgit v1.2.3