From 7886e9fe5211237543a73d314ec129054d4a1793 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 24 Dec 2025 11:53:33 -0500 Subject: [PATCH] AA turret placement overlap fix --- core/src/mindustry/core/Renderer.java | 2 +- core/src/mindustry/game/Schematics.java | 2 +- core/src/mindustry/graphics/BlockRenderer.java | 11 ++++------- core/src/mindustry/graphics/CacheLayer.java | 4 +--- .../defense/turrets/ContinuousLiquidTurret.java | 4 +++- .../world/blocks/defense/turrets/ItemTurret.java | 4 +++- .../world/blocks/defense/turrets/LiquidTurret.java | 4 +++- 7 files changed, 16 insertions(+), 15 deletions(-) diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index d13e3e9d72..4bbb531666 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -588,7 +588,7 @@ public class Renderer implements ApplicationListener{ camera.height = h; camera.position.x = w / 2f + tilesize / 2f; camera.position.y = h / 2f + tilesize / 2f; - buffer.begin(); + buffer.begin(Color.clear); draw(); Draw.flush(); byte[] lines = ScreenUtils.getFrameBufferPixels(0, 0, w, h, true); diff --git a/core/src/mindustry/game/Schematics.java b/core/src/mindustry/game/Schematics.java index 2333f83d45..15159d0b47 100644 --- a/core/src/mindustry/game/Schematics.java +++ b/core/src/mindustry/game/Schematics.java @@ -172,7 +172,7 @@ public class Schematics implements Loadable{ public void savePreview(Schematic schematic, Fi file){ FrameBuffer buffer = getBuffer(schematic); Draw.flush(); - buffer.begin(); + buffer.begin(Color.clear); Pixmap pixmap = ScreenUtils.getFrameBufferPixmap(0, 0, buffer.getWidth(), buffer.getHeight()); file.writePng(pixmap); buffer.end(); diff --git a/core/src/mindustry/graphics/BlockRenderer.java b/core/src/mindustry/graphics/BlockRenderer.java index 66a0835455..d39cfd9797 100644 --- a/core/src/mindustry/graphics/BlockRenderer.java +++ b/core/src/mindustry/graphics/BlockRenderer.java @@ -125,8 +125,7 @@ public class BlockRenderer{ shadows.getTexture().setFilter(TextureFilter.linear, TextureFilter.linear); shadows.resize(world.width(), world.height()); - shadows.begin(); - Core.graphics.clear(Color.white); + shadows.begin(Color.white); Draw.proj().setOrtho(0, 0, shadows.getWidth(), shadows.getHeight()); Draw.color(blendShadowColor); @@ -161,8 +160,7 @@ public class BlockRenderer{ public void updateShadows(boolean ignoreBuildings, boolean ignoreTerrain){ shadows.getTexture().setFilter(TextureFilter.linear, TextureFilter.linear); shadows.resize(world.width(), world.height()); - shadows.begin(); - Core.graphics.clear(Color.white); + shadows.begin(Color.white); Draw.proj().setOrtho(0, 0, shadows.getWidth(), shadows.getHeight()); Draw.color(blendShadowColor); @@ -182,10 +180,9 @@ public class BlockRenderer{ darkEvents.clear(); dark.getTexture().setFilter(TextureFilter.linear); dark.resize(world.width(), world.height()); - dark.begin(); - //fill darkness with black when map area is limited - Core.graphics.clear(state.rules.limitMapArea ? Color.black : Color.white); + dark.begin(state.rules.limitMapArea ? Color.black : Color.white); + Draw.proj().setOrtho(0, 0, dark.getWidth(), dark.getHeight()); //clear out initial starting area diff --git a/core/src/mindustry/graphics/CacheLayer.java b/core/src/mindustry/graphics/CacheLayer.java index fff6b5f332..83e5e76651 100644 --- a/core/src/mindustry/graphics/CacheLayer.java +++ b/core/src/mindustry/graphics/CacheLayer.java @@ -1,6 +1,5 @@ package mindustry.graphics; -import arc.*; import arc.graphics.*; import arc.graphics.gl.*; import arc.math.*; @@ -99,8 +98,7 @@ public class CacheLayer{ public void begin(){ if(!renderer.animateWater) return; - renderer.effectBuffer.begin(); - Core.graphics.clear(Color.clear); + renderer.effectBuffer.begin(Color.clear); renderer.blocks.floor.beginDraw(); } diff --git a/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java index 2246899879..b54ce468fa 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java @@ -54,7 +54,9 @@ public class ContinuousLiquidTurret extends ContinuousTurret{ } }); - ammoTypes.each((item, type) -> placeOverlapRange = Math.max(placeOverlapRange, range + type.rangeChange + placeOverlapMargin)); + if(targetGround){ + ammoTypes.each((item, type) -> placeOverlapRange = Math.max(placeOverlapRange, range + type.rangeChange + placeOverlapMargin)); + } super.init(); } diff --git a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java index 684e5deeb4..66eea92543 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java @@ -91,7 +91,9 @@ public class ItemTurret extends Turret{ } }); - ammoTypes.each((item, type) -> placeOverlapRange = Math.max(placeOverlapRange, range + type.rangeChange + placeOverlapMargin)); + if(targetGround){ + ammoTypes.each((item, type) -> placeOverlapRange = Math.max(placeOverlapRange, range + type.rangeChange + placeOverlapMargin)); + } super.init(); } diff --git a/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java b/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java index 1eb915dbf5..a2f5566d69 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/LiquidTurret.java @@ -54,7 +54,9 @@ public class LiquidTurret extends Turret{ } }); - ammoTypes.each((item, type) -> placeOverlapRange = Math.max(placeOverlapRange, range + type.rangeChange + placeOverlapMargin)); + if(targetGround){ + ammoTypes.each((item, type) -> placeOverlapRange = Math.max(placeOverlapRange, range + type.rangeChange + placeOverlapMargin)); + } super.init(); }