diff --git a/html/js/render/assetPacks.js b/html/js/render/assetPacks.js
index e6dc403..cdc7085 100644
--- a/html/js/render/assetPacks.js
+++ b/html/js/render/assetPacks.js
@@ -256,10 +256,20 @@
avatar: 'char-villager',
tile: { w: 84, h: 42, imageW: 92, imageH: 184 },
tiles: {
- floor: 'assets/kenney/iso-dungeon/tiles/planks_S.png',
- wall: 'assets/kenney/iso-dungeon/tiles/stoneWallHalf_S.png',
- bar: 'assets/kenney/iso-dungeon/tiles/barrelsStacked_S.png',
- table: 'assets/kenney/iso-dungeon/tiles/chestClosed_S.png',
+ floor: 'assets/kenney/iso-dungeon/tiles/planks_S.png',
+ floor2: 'assets/kenney/iso-dungeon/tiles/stone_S.png',
+ wall: 'assets/kenney/iso-dungeon/tiles/stoneWallHalf_S.png', // half walls keep the interior visible
+ window: 'assets/kenney/iso-dungeon/tiles/stoneWallHalf_S.png', // no iso window art — reuse the half wall
+ rug: 'assets/kenney/iso-dungeon/tiles/planks_S.png',
+ door: 'assets/kenney/iso-dungeon/tiles/planks_S.png',
+ // Furniture props (drawn over a floor base):
+ bar: 'assets/kenney/iso-dungeon/tiles/barrelsStacked_S.png', // stacked kegs = the bar
+ keg: 'assets/kenney/iso-dungeon/tiles/barrelsStacked_S.png',
+ barrel: 'assets/kenney/iso-dungeon/tiles/barrelsStacked_S.png',
+ shelf: 'assets/kenney/iso-dungeon/tiles/chestClosed_S.png',
+ table: 'assets/kenney/iso-dungeon/tiles/chestClosed_S.png',
+ crate: 'assets/kenney/iso-dungeon/tiles/chestClosed_S.png',
+ chair: 'assets/kenney/iso-dungeon/tiles/chair_S.png',
fallback: 'assets/kenney/iso-dungeon/tiles/planks_S.png'
},
// The Kenney files named Male_0..Male_7 are directional renders of the same body,
diff --git a/html/js/render/isoRenderer.js b/html/js/render/isoRenderer.js
index 9948196..398c502 100644
--- a/html/js/render/isoRenderer.js
+++ b/html/js/render/isoRenderer.js
@@ -181,13 +181,16 @@
ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
ctx.imageSmoothingEnabled = true;
+ // Furniture kinds draw a floor tile as the base + the prop sprite on top (same idea as the
+ // tiled renderer's `over` compositing). Everything else is a plain ground/wall tile.
+ var PROP = { bar: 1, table: 1, chair: 1, keg: 1, shelf: 1, barrel: 1, crate: 1 };
var items = [], x, y, kind, p;
for (y = 0; y < scene.rows; y++) {
for (x = 0; x < scene.cols; x++) {
kind = scene.grid[y][x];
p = this._project(x, y, originX, originY);
items.push({ type: 'tile', kind: kind, x: x, y: y, sx: p.x, sy: p.y, depth: x + y });
- if (kind === 'bar' || kind === 'table') {
+ if (PROP[kind]) {
items.push({ type: 'prop', kind: kind, x: x, y: y, sx: p.x, sy: p.y, depth: x + y + 0.25 });
}
}
@@ -203,7 +206,7 @@
for (i = 0; i < items.length; i++) {
var it = items[i];
if (it.type === 'tile') {
- var tileKind = (it.kind === 'bar' || it.kind === 'table') ? 'floor' : it.kind;
+ var tileKind = PROP[it.kind] ? 'floor' : it.kind;
var rec = this._load(this._tileUrl(tileKind));
if (rec && rec.ready) this._drawImage(rec.img, it.sx, it.sy + this.tileH, this.imageW, this.imageH);
} else if (it.type === 'prop') {