This commit is contained in:
asrael 2025-09-28 13:10:29 -05:00
parent 9f96626ea7
commit 6a02b24ae6
29 changed files with 653 additions and 583 deletions

View file

@ -5,16 +5,6 @@
#include <stdlib.h>
#include <string.h>
pxl8_result pxl8_tilesheet_init(pxl8_tilesheet* tilesheet, u32 tile_size) {
if (!tilesheet) return PXL8_ERROR_NULL_POINTER;
memset(tilesheet, 0, sizeof(pxl8_tilesheet));
tilesheet->tile_size = tile_size ? tile_size : PXL8_TILE_SIZE;
tilesheet->ref_count = 1;
return PXL8_OK;
}
void pxl8_tilesheet_free(pxl8_tilesheet* tilesheet) {
if (!tilesheet) return;
@ -186,28 +176,6 @@ bool pxl8_tilesheet_is_tile_valid(const pxl8_tilesheet* tilesheet, u16 tile_id)
return tilesheet->tile_valid ? tilesheet->tile_valid[tile_id] : true;
}
pxl8_tilesheet* pxl8_tilesheet_new(u32 tile_size) {
pxl8_tilesheet* tilesheet = calloc(1, sizeof(pxl8_tilesheet));
if (!tilesheet) {
pxl8_error("Failed to allocate tilesheet");
return NULL;
}
pxl8_result result = pxl8_tilesheet_init(tilesheet, tile_size);
if (result != PXL8_OK) {
pxl8_error("Failed to initialize tilesheet");
free(tilesheet);
return NULL;
}
return tilesheet;
}
void pxl8_tilesheet_destroy(pxl8_tilesheet* tilesheet) {
if (!tilesheet) return;
pxl8_tilesheet_unref(tilesheet);
}
void pxl8_tilesheet_ref(pxl8_tilesheet* tilesheet) {
if (!tilesheet) return;
tilesheet->ref_count++;
@ -218,7 +186,6 @@ void pxl8_tilesheet_unref(pxl8_tilesheet* tilesheet) {
if (--tilesheet->ref_count == 0) {
pxl8_tilesheet_free(tilesheet);
free(tilesheet);
}
}