diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index f618068a2c..021a613609 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -163,9 +163,9 @@ public class Renderer implements ApplicationListener{ blocks.floor.drawFloor(); - drawAndInterpolate(groundEffectGroup, e -> e instanceof BelowLiquidTrait); - drawAndInterpolate(puddleGroup); - drawAndInterpolate(groundEffectGroup, e -> !(e instanceof BelowLiquidTrait)); + draw(groundEffectGroup, e -> e instanceof BelowLiquidTrait); + draw(puddleGroup); + draw(groundEffectGroup, e -> !(e instanceof BelowLiquidTrait)); blocks.processBlocks(); @@ -189,18 +189,19 @@ public class Renderer implements ApplicationListener{ drawAllTeams(false); - blocks.skipLayer(Layer.turret); - blocks.drawBlocks(Layer.power); + blocks.drawBlocks(Layer.turret); drawFlyerShadows(); + blocks.drawBlocks(Layer.power); + drawAllTeams(true); - drawAndInterpolate(bulletGroup); - drawAndInterpolate(effectGroup); + draw(bulletGroup); + draw(effectGroup); overlays.drawBottom(); - drawAndInterpolate(playerGroup, p -> true, Player::drawBuildRequests); + draw(playerGroup, p -> true, Player::drawBuildRequests); if(Entities.countInBounds(shieldGroup) > 0){ if(settings.getBool("animatedshields")){ @@ -223,7 +224,7 @@ public class Renderer implements ApplicationListener{ overlays.drawTop(); - drawAndInterpolate(playerGroup, p -> !p.isDead() && !p.isLocal, Player::drawName); + draw(playerGroup, p -> !p.isDead() && !p.isLocal, Player::drawName); Draw.color(); Draw.flush(); @@ -240,12 +241,12 @@ public class Renderer implements ApplicationListener{ for(EntityGroup group : unitGroups){ if(!group.isEmpty()){ - drawAndInterpolate(group, unit -> !unit.isDead(), draw::accept); + draw(group, unit -> !unit.isDead(), draw::accept); } } if(!playerGroup.isEmpty()){ - drawAndInterpolate(playerGroup, unit -> !unit.isDead(), draw::accept); + draw(playerGroup, unit -> !unit.isDead(), draw::accept); } Draw.color(); @@ -257,12 +258,12 @@ public class Renderer implements ApplicationListener{ for(EntityGroup group : unitGroups){ if(!group.isEmpty()){ - drawAndInterpolate(group, unit -> unit.isFlying() && !unit.isDead(), baseUnit -> baseUnit.drawShadow(trnsX, trnsY)); + draw(group, unit -> unit.isFlying() && !unit.isDead(), baseUnit -> baseUnit.drawShadow(trnsX, trnsY)); } } if(!playerGroup.isEmpty()){ - drawAndInterpolate(playerGroup, unit -> unit.isFlying() && !unit.isDead(), player -> player.drawShadow(trnsX, trnsY)); + draw(playerGroup, unit -> unit.isFlying() && !unit.isDead(), player -> player.drawShadow(trnsX, trnsY)); } Draw.color(); @@ -275,27 +276,26 @@ public class Renderer implements ApplicationListener{ if(group.count(p -> p.isFlying() == flying) + playerGroup.count(p -> p.isFlying() == flying && p.getTeam() == team) == 0 && flying) continue; - drawAndInterpolate(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawUnder); - drawAndInterpolate(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team && !p.isDead(), Unit::drawUnder); + draw(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawUnder); + draw(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team && !p.isDead(), Unit::drawUnder); - drawAndInterpolate(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawAll); - drawAndInterpolate(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawAll); - blocks.drawTeamBlocks(Layer.turret, team); + draw(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawAll); + draw(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawAll); - drawAndInterpolate(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawOver); - drawAndInterpolate(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawOver); + draw(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawOver); + draw(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawOver); } } - public void drawAndInterpolate(EntityGroup group){ - drawAndInterpolate(group, t -> true, DrawTrait::draw); + public void draw(EntityGroup group){ + draw(group, t -> true, DrawTrait::draw); } - public void drawAndInterpolate(EntityGroup group, Predicate toDraw){ - drawAndInterpolate(group, toDraw, DrawTrait::draw); + public void draw(EntityGroup group, Predicate toDraw){ + draw(group, toDraw, DrawTrait::draw); } - public void drawAndInterpolate(EntityGroup group, Predicate toDraw, Consumer drawer){ + public void draw(EntityGroup group, Predicate toDraw, Consumer drawer){ Entities.draw(group, toDraw, drawer); } diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index 50d904682d..292052479c 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -1,22 +1,16 @@ package io.anuke.mindustry.graphics; -import io.anuke.arc.Core; -import io.anuke.arc.Events; -import io.anuke.arc.collection.Array; -import io.anuke.arc.collection.Sort; +import io.anuke.arc.*; +import io.anuke.arc.collection.*; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.Texture.TextureFilter; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.g2d.Fill; +import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.graphics.glutils.FrameBuffer; -import io.anuke.arc.util.Disposable; -import io.anuke.arc.util.Tmp; +import io.anuke.arc.util.*; import io.anuke.mindustry.content.Blocks; -import io.anuke.mindustry.game.EventType.TileChangeEvent; -import io.anuke.mindustry.game.EventType.WorldLoadEvent; +import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.game.Team; -import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.*; import static io.anuke.arc.Core.camera; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/graphics/Pixelator.java b/core/src/io/anuke/mindustry/graphics/Pixelator.java index e8a9e0d2f3..8cc252eebd 100644 --- a/core/src/io/anuke/mindustry/graphics/Pixelator.java +++ b/core/src/io/anuke/mindustry/graphics/Pixelator.java @@ -55,7 +55,7 @@ public class Pixelator implements Disposable{ Draw.rect(Draw.wrap(buffer.getTexture()), Core.camera.position.x, Core.camera.position.y, Core.camera.width, -Core.camera.height); Draw.blend(); - renderer.drawAndInterpolate(playerGroup, p -> !p.isDead() && !p.isLocal, Player::drawName); + renderer.draw(playerGroup, p -> !p.isDead() && !p.isLocal, Player::drawName); Core.camera.position.set(px, py); Core.settings.put("animatedwater", hadWater); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java index 1d0822d14f..9730320239 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.defense; import io.anuke.arc.graphics.Blending; import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.*; import io.anuke.arc.util.Time; @@ -35,7 +35,7 @@ public class DeflectorWall extends Wall{ Draw.color(Color.WHITE); Draw.alpha(entity.hit * 0.5f); Draw.blend(Blending.additive); - Draw.rect("blank", tile.drawx(), tile.drawy(), tilesize * size, tilesize * size); + Fill.rect(tile.drawx(), tile.drawy(), tilesize * size, tilesize * size); Draw.blend(); Draw.reset(); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java index 2afb132878..887762ba9b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java @@ -2,25 +2,20 @@ package io.anuke.mindustry.world.blocks.defense; import io.anuke.arc.Core; import io.anuke.arc.collection.IntSet; -import io.anuke.arc.graphics.Blending; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Time; -import io.anuke.arc.util.Tmp; +import io.anuke.arc.util.*; import io.anuke.mindustry.content.Fx; import io.anuke.mindustry.entities.Effects; import io.anuke.mindustry.entities.type.TileEntity; import io.anuke.mindustry.graphics.Pal; -import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.mindustry.world.meta.StatUnit; +import io.anuke.mindustry.world.*; +import io.anuke.mindustry.world.meta.*; import java.io.*; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Vars.*; public class MendProjector extends Block{ private static Color color = Color.valueOf("84f491"); @@ -130,13 +125,13 @@ public class MendProjector extends Block{ Draw.color(color, phase, entity.phaseHeat); Draw.alpha(entity.heat * Mathf.absin(Time.time(), 10f, 1f) * 0.5f); - Draw.blend(Blending.additive); + //Draw.blend(Blending.additive); Draw.rect(topRegion, tile.drawx(), tile.drawy()); - Draw.blend(); + //Draw.blend(); Draw.alpha(1f); Lines.stroke((2f * f + 0.2f) * entity.heat); - Lines.circle(tile.drawx(), tile.drawy(), ((1f - f) * 8f) * size / 2f); + Lines.square(tile.drawx(), tile.drawy(), ((1f - f) * 8f) * size / 2f); Draw.reset(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java index 711a45dc74..ac50305184 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java @@ -2,22 +2,18 @@ package io.anuke.mindustry.world.blocks.defense; import io.anuke.arc.Core; import io.anuke.arc.collection.IntSet; -import io.anuke.arc.graphics.Blending; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Time; import io.anuke.mindustry.entities.type.TileEntity; import io.anuke.mindustry.graphics.Pal; -import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.mindustry.world.meta.StatUnit; +import io.anuke.mindustry.world.*; +import io.anuke.mindustry.world.meta.*; import java.io.*; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Vars.*; public class OverdriveProjector extends Block{ private static Color color = Color.valueOf("feb380"); @@ -130,12 +126,12 @@ public class OverdriveProjector extends Block{ Draw.color(color, phase, entity.phaseHeat); Draw.alpha(entity.heat * Mathf.absin(Time.time(), 10f, 1f) * 0.5f); - Draw.blend(Blending.additive); + //Draw.blend(Blending.additive); Draw.rect(topRegion, tile.drawx(), tile.drawy()); - Draw.blend(); + //Draw.blend(); Draw.alpha(1f); Lines.stroke((2f * f + 0.2f) * entity.heat); - Lines.circle(tile.drawx(), tile.drawy(), (1f - f) * 9f); + Lines.square(tile.drawx(), tile.drawy(), (1f - f) * 8f); Draw.reset(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java index 210f09d3d3..a7497079f4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.distribution; import io.anuke.annotations.Annotations.*; import io.anuke.arc.Core; -import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.Mathf; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.mindustry.entities.type.*; @@ -54,7 +54,7 @@ public class Sorter extends Block{ if(entity.sortItem == null) return; Draw.color(entity.sortItem.color); - Draw.rect("blank", tile.worldx(), tile.worldy(), 4f, 4f); + Draw.rect("center", tile.worldx(), tile.worldy()); Draw.color(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java index 6cce3928d7..2aa7c7fe49 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java @@ -5,8 +5,7 @@ import io.anuke.arc.collection.Array; import io.anuke.arc.collection.ObjectIntMap; import io.anuke.arc.graphics.Blending; import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Strings; import io.anuke.arc.util.Time; @@ -116,7 +115,7 @@ public class Drill extends Block{ if(entity.dominantItem != null && drawMineItem){ Draw.color(entity.dominantItem.color); - Draw.rect("blank", tile.drawx(), tile.drawy(), 2f, 2f); + Fill.square(tile.drawx(), tile.drawy(), 1f); Draw.color(); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java b/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java index ce784a3b7a..2d237a3f39 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/Unloader.java @@ -1,17 +1,14 @@ package io.anuke.mindustry.world.blocks.storage; -import io.anuke.annotations.Annotations.Loc; -import io.anuke.annotations.Annotations.Remote; +import io.anuke.annotations.Annotations.*; import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.*; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.mindustry.entities.type.Player; -import io.anuke.mindustry.entities.type.TileEntity; +import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.type.Item; -import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.blocks.ItemSelection; import java.io.*; @@ -81,7 +78,7 @@ public class Unloader extends Block{ SortedUnloaderEntity entity = tile.entity(); Draw.color(entity.sortItem == null ? Color.CLEAR : entity.sortItem.color); - Draw.rect("blank", tile.worldx(), tile.worldy(), 2f, 2f); + Fill.square(tile.worldx(), tile.worldy(), 1f); Draw.color(); }