diff --git a/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston-icon.png b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston-icon.png new file mode 100644 index 0000000000..72343d5294 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston-icon.png differ diff --git a/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston-icon.png b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston-icon.png new file mode 100644 index 0000000000..b3ae59668c Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston-icon.png differ diff --git a/core/assets-raw/sprites/blocks/production/spore-press-piston-icon.png b/core/assets-raw/sprites/blocks/production/spore-press-piston-icon.png new file mode 100644 index 0000000000..921a96ef36 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/spore-press-piston-icon.png differ diff --git a/core/src/mindustry/world/draw/DrawPistons.java b/core/src/mindustry/world/draw/DrawPistons.java index bdf6faca0b..d6e5c6d028 100644 --- a/core/src/mindustry/world/draw/DrawPistons.java +++ b/core/src/mindustry/world/draw/DrawPistons.java @@ -9,14 +9,14 @@ import mindustry.gen.*; import mindustry.world.*; public class DrawPistons extends DrawBlock{ - public float sinMag = 4f, sinScl = 6f, sinOffset = 50f, sideOffset = 0f, lenOffset = -1f, angleOffset = 0f; + public float sinMag = 4f, sinScl = 6f, sinOffset = 50f, sideOffset = 0f, lenOffset = -1f, horiOffset = 0f, angleOffset = 0f; public int sides = 4; public String suffix = "-piston"; - public TextureRegion region1, region2, regiont; + public TextureRegion region1, region2, regiont, iconRegion; @Override public void drawPlan(Block block, BuildPlan plan, Eachable list){ - + Draw.rect(iconRegion, plan.drawx(), plan.drawy()); } @Override @@ -32,7 +32,8 @@ public class DrawPistons extends DrawBlock{ Draw.yscl = -1f; } - Draw.rect(reg, build.x + Angles.trnsx(angle, len), build.y + Angles.trnsy(angle, len), angle); + Tmp.v1.trns(angle, len, -horiOffset); + Draw.rect(reg, build.x + Tmp.v1.x, build.y + Tmp.v1.y, angle); Draw.yscl = 1f; } @@ -45,5 +46,11 @@ public class DrawPistons extends DrawBlock{ region1 = Core.atlas.find(block.name + suffix + "0", block.name + suffix); region2 = Core.atlas.find(block.name + suffix + "1", block.name + suffix); regiont = Core.atlas.find(block.name + suffix + "-t"); + iconRegion = Core.atlas.find(block.name + suffix + "-icon"); + } + + @Override + public TextureRegion[] icons(Block block){ + return new TextureRegion[]{iconRegion}; } }