diff options
Diffstat (limited to 'src/tileset.c')
| -rw-r--r-- | src/tileset.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/tileset.c b/src/tileset.c new file mode 100644 index 0000000..d3cd9c8 --- /dev/null +++ b/src/tileset.c @@ -0,0 +1,38 @@ +#include "tileset.h" + +#include "stdlib.h" + +Tileset *SE_CreateTileset() { + Tileset *set = malloc(sizeof(Tileset) * 100); + set->tileCount = 0; + return set; +} + +TilesetTile *SE_AddTilesetTile(Tileset *set, Texture2D texture, + TilesetTileType type) { + TilesetTile *tile = + malloc(sizeof(TilesetTile) + texture.width * texture.height); + + tile->id = set->tileCount; + tile->texture = texture; + tile->type = type; + + set->tileCount++; + set->tiles[tile->id] = tile; + + return tile; +} + +void SE_UnloadTilesetTile(TilesetTile *tile) { + UnloadTexture(tile->texture); + free(tile); +} + +void SE_UnloadTileset(Tileset *set) { + for (int i = 0; i < set->tileCount; i++) { + TilesetTile *tile = set->tiles[i]; + SE_UnloadTilesetTile(tile); + } + + free(set); +}
\ No newline at end of file |
