Skip to content

Commit f0573dd

Browse files
committed
something i should have done a long time ago
1 parent 2ab4e8f commit f0573dd

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

assets/levels/tutorial-lasers.json

+11-1
Original file line numberDiff line numberDiff line change
@@ -1248,7 +1248,17 @@
12481248
"propertytype":"biome",
12491249
"type":"string",
12501250
"value":"metal"
1251-
}],
1251+
},
1252+
{
1253+
"name":"canDash",
1254+
"type":"bool",
1255+
"value":true
1256+
},
1257+
{
1258+
"name":"canSwitch",
1259+
"type":"bool",
1260+
"value":false
1261+
}],
12521262
"renderorder":"right-down",
12531263
"tiledversion":"1.10.1",
12541264
"tileheight":1024,

core/src/edu/cornell/gdiac/game/object/Tiles.java

+14-8
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,21 @@ public void draw(GameCanvas canvas){
5454
int i = 0;
5555
for (float y = levelHeight - 1; y >= 0; y--){
5656
for (float x = 0; x < levelWidth; x++){
57-
if (levelTiles[i] > 0) {
58-
TextureRegion tileTexture = tileset[levelTiles[i] - fid];
59-
if (tileSize == 512) {
60-
canvas.draw(tileTexture, Color.WHITE, 0, 0, (x+offset.x) * 128 * textureScale.x,
61-
(y+offset.y) * 128 * textureScale.y, 0, textureScale.x, textureScale.y);
62-
} else {
63-
canvas.draw(tileTexture, Color.WHITE, 0, 0, (x+offset.x) * tileSize * textureScale.x,
64-
(y+offset.y) * tileSize * textureScale.y, 0, textureScale.x, textureScale.y);
57+
try {
58+
if (levelTiles[i] > 0) {
59+
TextureRegion tileTexture = tileset[levelTiles[i] - fid];
60+
if (tileSize == 512) {
61+
canvas.draw(tileTexture, Color.WHITE, 0, 0, (x + offset.x) * 128 * textureScale.x,
62+
(y + offset.y) * 128 * textureScale.y, 0, textureScale.x, textureScale.y);
63+
} else {
64+
canvas.draw(tileTexture, Color.WHITE, 0, 0, (x + offset.x) * tileSize * textureScale.x,
65+
(y + offset.y) * tileSize * textureScale.y, 0, textureScale.x, textureScale.y);
66+
}
6567
}
68+
} catch (ArrayIndexOutOfBoundsException e) {
69+
System.err.println("WARNING: tile " + i + " at (" + x +", " + y + ") has invalid id " +
70+
levelTiles[i] + ". (fid is " + fid + ", tileset size is " + tileset.length + ").");
71+
levelTiles[i] = 0;
6672
}
6773
i++;
6874
}

0 commit comments

Comments
 (0)