#pragma once #include "collision.h" extern struct tilemap { void *tileset; void *wang_tileset; struct { unsigned char r, g, b, a; } backdrop; unsigned width; unsigned height; unsigned layers; unsigned middleground; struct parallax { float x, y; } *parallax; collision_T *collision; void **tilemaps; size_t input_bytes; } *tilemap, *next_tilemap; // render the fore/back ground of the tilemap to `renderer` void tilemap_background(struct tilemap *tilemap, int x, int y, int w, int h); void tilemap_foreground(struct tilemap *tilemap, int x, int y, int w, int h); void tilemap_free(struct tilemap *tilemap); struct tilemap *tilemap_load(void *data, size_t size);