summaryrefslogtreecommitdiff
path: root/src/tileset.c
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-01-31 00:33:53 +0500
committerilotterytea <iltsu@alright.party>2025-01-31 00:33:53 +0500
commita15f24294d5113fec767fb9007d906f534dc0485 (patch)
tree20c869d1444a91256a10d4dfe0376f2f72ab4021 /src/tileset.c
parent2ca545f754acc9c8a00b5ce8c0b3ca1175c74a3a (diff)
upd: moved some editor logic to tileset and floor files
Diffstat (limited to 'src/tileset.c')
-rw-r--r--src/tileset.c38
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