#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; }