Wall drags at 45° lay slopes; diagonal tubes drawn as one pipe; no side arrow on drag ghosts (t35, t36)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-25 22:20:48 -04:00
co-authored by Claude Opus 5.5
parent f19facbe5c
commit 814b51df46
17 changed files with 172 additions and 65 deletions
+7 -3
View File
@@ -7,10 +7,14 @@ for (let y = fy * BS - 45; y < floor + 8; y++) for (let x = fx * BS - 20; x < (f
setCell(i, y >= floor ? STONE : EMPTY, 20, y >= floor ? F_NAT : 0);
}
for (let x = fx * BS - 20; x < (fx + 25) * BS + 20; x++) surfY[x] = floor;
for (let k = 0; k < 12; k++) {
placeBlock(BP_SLOPE_BL, RBRICK, fx + k, fy + k, true);
placeBlock(BP_SLOPE_BR, RBRICK, fx + 24 - k, fy + k, true);
bot.x = cx; bot.y = fy * BS + 24;
bagAdd(RBRICK, 192, true);
GAME.pieceDir.wall = 0;
for (const [ax, ay, bx, by] of [[fx, fy, fx + 11, fy + 11], [fx + 24, fy, fx + 13, fy + 11]]) {
GAME.drag = { bx: ax, by: ay };
placeBlocks(pieceCode(PIECE_BY_ID.wall, { bx, by }), RBRICK, blockLine(ax, ay, bx, by, true));
}
GAME.drag = null;
for (let y = fy * BS - 28; y < fy * BS - 18; y++) for (let x = cx - 20; x < cx + 20; x++) setCell(y * W + x, SAND, 20, 0);
updateRoof();
window.CAM = [cx, fy * BS + 25];