#ifndef BREEZE_TILESET_H #define BREEZE_TILESET_H #include "../defines.h" #include typedef struct BzTilesetDesc { const char *path; const char *texturePath; } BzTilesetDesc; typedef enum BzTileColliderType { BZ_TILE_COLLIDER_NONE, BZ_TILE_COLLIDER_RECT, BZ_TILE_COLLIDER_ELLIPSE } BzTileColliderType; typedef struct BzTileCollider { BzTileColliderType type; u8 x; u8 y; u8 sizeX; u8 sizeY; } BzTileCollider; typedef struct BzTileset { Texture2D tiles; i32 tileCount; BzTileCollider *tileColliders; i32 startID; i32 tileWidth; i32 tileHeight; i32 width; i32 height; i32 offsetX; i32 offsetY; bool isValid; } BzTileset; extern BzTileset BZ_TILESET_INVALID; BzTileset bzTilesetCreate(const BzTilesetDesc *desc); Rectangle bzTilesetGetTileRegion(BzTileset *tileset, int tileID); BzTileCollider bzTilesetGetTileCollider(BzTileset *tileset, int tileID); void bzTilesetDestroy(BzTileset *tileset); #endif //BREEZE_TILESET_H