summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2023-07-11 21:08:27 +0100
committerdavidovski <david@davidovski.xyz>2023-07-11 21:08:27 +0100
commitebbb6c8b0302589626a594399ec04e3c4555d5f6 (patch)
tree71a6c489352c58759433f6c1b814a3f3fa63e341 /src
parent625cb961a3b35afdaf6d5c1e8bf4966a522a022a (diff)
do not allow editing tiles outside of the tilemap
Diffstat (limited to 'src')
-rw-r--r--src/editor.c16
-rw-r--r--src/tiled.c4
2 files changed, 12 insertions, 8 deletions
diff --git a/src/editor.c b/src/editor.c
index 2cf2f84..52e653f 100644
--- a/src/editor.c
+++ b/src/editor.c
@@ -24,12 +24,16 @@ void drawOverlay(Tiled tiled) {
}, tiled.zoom/16, GREEN);
}
-void modifyTile(Tiled *tiled, int x) {
- int tile = getTiledMapTile(tiled->tiledMap, selectedTile);
- int tileCount = tiled->tiledMap.atlasSize[0] * tiled->tiledMap.atlasSize[1] + 1;
- tile = (tile + x) % (tileCount);
- setTiledMapTile(tiled->tiledMap, selectedTile, tile);
- renderTilemapTexture(&tiled->tilemapTexture, tiled->tiledMap);
+void modifyTile(Tiled *tiled, int i) {
+ if (selectedTile[0] >= 0 && selectedTile[0] < tiled->tiledMap.width
+ && selectedTile[1] >= 0 && selectedTile[1] < tiled->tiledMap.height) {
+ printf("%d,%d", selectedTile[0], selectedTile[1]);
+ int tile = getTiledMapTile(tiled->tiledMap, selectedTile);
+ int tileCount = tiled->tiledMap.atlasSize[0] * tiled->tiledMap.atlasSize[1] + 1;
+ tile = (tile + i) % (tileCount);
+ setTiledMapTile(tiled->tiledMap, selectedTile, tile);
+ renderTilemapTexture(&tiled->tilemapTexture, tiled->tiledMap);
+ }
}
int launchEditor(TiledMap tiledMap) {
diff --git a/src/tiled.c b/src/tiled.c
index 82b29e0..65b9d1d 100644
--- a/src/tiled.c
+++ b/src/tiled.c
@@ -50,8 +50,8 @@ Tiled initTiled(TiledMap tiledMap) {
tiled.tiledMap = tiledMap;
tiled.offset = (Vector2) {0, 0};
tiled.zoom = 64;
- tiled.mapSize[0] = tiled.tilemapTexture.width;
- tiled.mapSize[1] = tiled.tilemapTexture.height;
+ tiled.mapSize[0] = tiled.tiledMap.width;
+ tiled.mapSize[1] = tiled.tiledMap.height;
tiled.targetTexture = LoadRenderTexture(1, 1);
tiled.atlasSize[0] = tiledMap.atlasSize[0];