summaryrefslogtreecommitdiff
path: root/src/tiledmap.c
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2023-07-23 16:55:16 +0200
committerdavidovski <david@davidovski.xyz>2023-07-23 16:55:16 +0200
commitdada8de750b19abf450befbc0563f5853a3bbff2 (patch)
treecf64765efa1457044635bc667dd1c5b7bb9ce314 /src/tiledmap.c
parentc726acd0467906afee74afb7051bb2e705e26565 (diff)
removed negative chunks
Diffstat (limited to 'src/tiledmap.c')
-rw-r--r--src/tiledmap.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/tiledmap.c b/src/tiledmap.c
index 6d33463..ea587cc 100644
--- a/src/tiledmap.c
+++ b/src/tiledmap.c
@@ -127,6 +127,11 @@ void commitChunk(TiledMap * tiledMap, CachedChunk * cached) {
}
void unloadChunk(TiledMap * tiledMap, CachedChunk * cached) {
+
+ // do not cache an unloaded chunk
+ if (cached->chunk == NULL)
+ return;
+
// commit a chunk before unloading
commitChunk(tiledMap, cached);
@@ -191,6 +196,9 @@ Tile getChunkedTile(TiledMap *tiledMap, int x, int y) {
int chunkX = (x - inChunkX) / tiledMap->chunkWidth;
int chunkY = (y - inChunkY) / tiledMap->chunkHeight;
+ if (x < 0 || y < 0)
+ return 0;
+
CachedChunk * cached = loadChunk(tiledMap, chunkX, chunkY);
if (cached == NULL)
return 0;