From 55b954a3d4f0c8650400d5843d4fa9edd2b38b72 Mon Sep 17 00:00:00 2001 From: Cardillan <122014763+cardillan@users.noreply.github.com> Date: Sun, 4 May 2025 00:54:48 +0200 Subject: [PATCH] Closes Anuken/Mindustry-Suggestions/issues/5540 - accounts for the frame of tileable displays (#10714) --- .../mindustry/world/blocks/logic/TileableLogicDisplay.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java index de77766c9f..03effdfcc4 100644 --- a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java @@ -148,8 +148,8 @@ public class TileableLogicDisplay extends LogicDisplay{ @Override public double sense(LAccess sensor){ return switch(sensor){ - case displayWidth -> tilesWidth * 32f; - case displayHeight -> tilesHeight * 32f; + case displayWidth -> tilesWidth * 32f - 12f; // accounts for display frame (2 * 6 pixels) + case displayHeight -> tilesHeight * 32f - 12f; default -> super.sense(sensor); }; } @@ -238,7 +238,8 @@ public class TileableLogicDisplay extends LogicDisplay{ int rtx = (tile.x - originX), rty = (tile.y - originY); - Tmp.tr1.set(rootDisplay.buffer.getTexture(), rtx * 32, rty * 32, 32, 32); + // Offset the region to account for display frame (6 pixels) + Tmp.tr1.set(rootDisplay.buffer.getTexture(), rtx * 32 - 6, rty * 32 - 6, 32, 32); Draw.rect(Tmp.tr1, x, y, tilesize, -tilesize); } });